Difference between revisions of "DLTK 0.9 Project Plan"
Latest revision as of 07:52, 26 May 2008
Dynamic Languages Toolkit 0.9 Plan (Draft)
Last revised January 22, 2007
This document lays out the feature and API set for the second release of the Eclipse Dynamic Languages Toolkit Project, version 0.9.0.
DLTK project contains following components:
- DLTK Core (set of extensible frameworks designed to build full featured dynamic language IDEs on top of which).
- DLTK TCL (exemplary TCL IDE)
- DLTK Python (exemplary Python IDE)
- DLTK Ruby (exemplary Ruby IDE)
Each DLTK component deliverables have the same form as is found in most Eclipse projects, namely:
- Source code release, available as versions tagged "R1_0" in the project's CVS repository.
- Software Development Kit (SDK) (includes runtime and tooling components, with sources, examples, and documentation) (downloadable and update site).
- Component runtime binary distribution (downloadable and update site).
- Component tests (downloadable and update site).
Release milestone occurring at roughly 6 week intervals and follow the Platform milestone releases by approximately 1 week; that is, until the final 3.3 release of the Platform, upon which DLTK and other projects will release simultaneously. As DLTK is dependent upon the Platform only, DLTK will deliver its milestones within the following week. It is anticipated that DLTK will synchronize its release milestones with the Europa release schedule.
Ramp Down Policy
DLTK is still an incubator project that has yet to reach its initial release. After RC0 is produced RCs will be produced weekly until the 0.9 release. During this time only bug fixes will be allowed. No new functionality should be accepted into DLTK's source repository. In the RC phase only P1 and P2 bugs will be fixed. APIs will not change except to address critical fixes. Any API additions or changes will be summarized in an email sent to dltk-dev.
Target Operating Environments
DLTK 0.9 will support all operating environments supported by the Eclipse Platform itself. For a list of supported environments, refer to Eclipse Project 3.3 plan for a list of reference platforms.
The Eclipse Platform is designed as the basis for internationalized products. The user interface elements provided by the Eclipse SDK components, including dialogs and error messages, are externalized. The English strings are provided as the default resource bundles. As a result, the Dynamic Languages Toolkit project will provide English strings in its default bundles and be localized to a subset of those locales offered by the Platform. This plan will be updated to indicate which locales will be provided and the timeframe for availability.
Features and Capabilities
A list of project requirements and agreed upon implementation timeframes is found in this document. For the milestones listed in this document, a set of overall themes is used to indicate what major set of functionalities is to be concentrated on for each. These themes are presented below, while the requirements document and associated Bugzilla entries are left to those wanting more detailed information on each.
Plan items reflect new features of the DLTK project, or areas where existing features will be significantly reworked. Plan items are indicated using keyword plan and have a state determined by 'Assigned To' and 'Target Milestone' fields in Bugzilla. Below is a list of possible states and what they mean:
- Committed items - A committed bug is one that we have decided to address for the release.
- Proposed items - A bug item is one that we are considering addressing for the release. Although we are actively investigating it, we are not yet in a position to commit to it, or to say that we won't be able to address it. After due consideration, a proposal will either be committed or deferred.
- Deferred items - A reasonable proposal that will not make it in to this release for some reason is marked as deferred with a brief note as to why it was deferred. Deferred plan items may resurface as committed plan items at a later point.