Difference between revisions of "DLTK 0.95 Project Plan"

From Eclipsepedia

Jump to: navigation, search
(New page: Dynamic Languages Toolkit 0.95 Plan (Draft) Last revised May 26, 2008 Please send comments about this draft plan to the [mailto:dltk-dev@eclipse.org dltk-dev@eclipse.org] developer maili...)
 
 
(3 intermediate revisions by one user not shown)
Line 5: Line 5:
 
Please send comments about this draft plan to the [mailto:dltk-dev@eclipse.org dltk-dev@eclipse.org] developer mailing list or [news://news.eclipse.org/eclipse.technology.dltk eclipse.technology.dltk] newsgroup.
 
Please send comments about this draft plan to the [mailto:dltk-dev@eclipse.org dltk-dev@eclipse.org] developer mailing list or [news://news.eclipse.org/eclipse.technology.dltk eclipse.technology.dltk] newsgroup.
  
=== Introduction ===
+
== Introduction ==
This document lays out the feature and API set for the second release of the Eclipse Dynamic Languages Toolkit Project, version 0.9.0.
+
This document lays out the feature and API set for the second release of the Eclipse Dynamic Languages Toolkit Project, version 0.95.0.
 
+
=== Project components ===
+
  
 +
== Project components ==
 
DLTK project contains following components:
 
DLTK project contains following components:
  
* DLTK Core (set of extensible frameworks designed to build full featured dynamic language IDEs on top of which).
+
=== Core components and IDEs ===
* [[DLTK TCL]] (exemplary TCL IDE)
+
* DLTK Python (exemplary Python IDE)
+
* DLTK Ruby (exemplary Ruby IDE)
+
  
=== Release deliverables ===
+
* DLTK Core Frameworks (set of extensible frameworks designed to build full featured dynamic language IDEs on top of which).
 +
* [[DLTK TCL]] (TCL IDE)
 +
* DLTK Ruby (Ruby IDE)
 +
 
 +
=== IDEs in incubating state ===
 +
 
 +
* Python IDE
 +
* JavaScript IDE
 +
 
 +
=== Integration components ===
 +
 
 +
* Mylyn support
 +
* Remote projects support via DSDP TM's RSE
 +
 
 +
== Release deliverables ==
  
 
Each DLTK component deliverables have the same form as is found in most Eclipse projects, namely:
 
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.
+
* Source code release, available as versions tagged "R0_95" in the project's CVS repository.
 
* Software Development Kit (SDK) (includes runtime and tooling components, with sources, examples, and documentation) (downloadable and update site).
 
* 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 runtime binary distribution (downloadable and update site).
 
* Component tests (downloadable and update site).
 
* Component tests (downloadable and update site).
  
=== Release Milestones ===
+
== Release Milestones ==
 +
 
 +
Release milestone occurring at roughly 6 week intervals and follow the Platform milestone releases by approximately 1 week; that is, until the final 3.4 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 [[Ganymede]] release schedule.
 +
 
 +
=== Ramp Down Policy ===
 +
 
 +
When referring to API freeze, we mean public API for the DLTK components only that we contribute Ganymede, and NOT internal API for these plugins, nor for incubating DLTK plugins (not included in Ganymede).
 +
 
 +
==== Components to be contributed to Ganymede ====
 +
DLTK willing to contribute following project components to Ganymede:
 +
* Core Frameworks
 +
** [http://www.eclipse.org/mylyn Mylyn] Integration
 +
** [http://www.eclipse.org/dsdp/tm DSDP TM] RSE Integration
 +
* TCL IDE
 +
** [[XOTcl_Support_Plan | XOTcl]] Support for TCL IDE
 +
** itcl Support for TCL IDE
 +
* Ruby IDE
 +
 
 +
Following components will continue incubation with DLTK project and will '''not''' be contributed to Ganymede:
 +
* JavaScript
 +
* Python
 +
 
 +
==== Policy by Milestone ====
 +
 
 +
=====M7=====
 +
DLTK has it's API freeze at [[Ganymede_Simultaneous_Release#Milestones_and_Release_Candidates | M7+1]].  Beyond M7, until DLTK 1.0.0 is released, no API changes are planned or expected for any DLTK plugins. 
 +
 
 +
If some unexpected API change is required, then this will only be done after a positive vote of the DLTK committers (i.e. majority of +1, no -1).
 +
 
 +
=====RC1=====
 +
DLTK will have it's feature freeze at RC1+1 (May 19).  This will mean no new/additional user-visible features will be planned or expected to be introduced beyond this point. 
  
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 [http://wiki.eclipse.org/index.php/Europa_Simultaneous_Release Europa] release schedule.  
+
If a user-visible feature change must occur to address a major or critical bug, the fix will only be applied after the project lead and 3 other committers have agreed to and then separately tested the fix.
  
==== Ramp Down Policy ====
+
=====RC2 to Release=====
 +
Primary activity will be in testing, reporting, and addressing major or higher bugs.  Documentation additions and changes can and will continue until 3 days before Ganymede Release (June 22). 
  
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.95 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 [mailto:dltk-dev@eclipse.org dltk-dev].
 
  
=== Target Operating Environments ===
+
== Target Operating Environments ==
  
DLTK 0.95 will support all operating environments supported by the Eclipse Platform itself. For a list of supported environments, refer to [http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_3.html#TargetOperatingEnvironments Eclipse Project 3.3 plan] for a list of reference platforms.
+
DLTK 0.95 will support all operating environments supported by the Eclipse Platform '''3.3''' itself. For a list of supported environments, refer to [http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_3.html#TargetOperatingEnvironments Eclipse Project 3.3 plan] for a list of reference platforms.
  
=== Internationalization ===
+
== Internationalization ==
 
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.
 
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 ===
+
== 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.
 
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 ====
+
=== Plan Items ===
 
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:
 
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:
  

Latest revision as of 10:45, 26 May 2008

Dynamic Languages Toolkit 0.95 Plan (Draft)

Last revised May 26, 2008

Please send comments about this draft plan to the dltk-dev@eclipse.org developer mailing list or eclipse.technology.dltk newsgroup.

Contents

[edit] Introduction

This document lays out the feature and API set for the second release of the Eclipse Dynamic Languages Toolkit Project, version 0.95.0.

[edit] Project components

DLTK project contains following components:

[edit] Core components and IDEs

  • DLTK Core Frameworks (set of extensible frameworks designed to build full featured dynamic language IDEs on top of which).
  • DLTK TCL (TCL IDE)
  • DLTK Ruby (Ruby IDE)

[edit] IDEs in incubating state

  • Python IDE
  • JavaScript IDE

[edit] Integration components

  • Mylyn support
  • Remote projects support via DSDP TM's RSE

[edit] Release deliverables

Each DLTK component deliverables have the same form as is found in most Eclipse projects, namely:

  • Source code release, available as versions tagged "R0_95" 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).

[edit] Release Milestones

Release milestone occurring at roughly 6 week intervals and follow the Platform milestone releases by approximately 1 week; that is, until the final 3.4 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 Ganymede release schedule.

[edit] Ramp Down Policy

When referring to API freeze, we mean public API for the DLTK components only that we contribute Ganymede, and NOT internal API for these plugins, nor for incubating DLTK plugins (not included in Ganymede).

[edit] Components to be contributed to Ganymede

DLTK willing to contribute following project components to Ganymede:

  • Core Frameworks
  • TCL IDE
    • XOTcl Support for TCL IDE
    • itcl Support for TCL IDE
  • Ruby IDE

Following components will continue incubation with DLTK project and will not be contributed to Ganymede:

  • JavaScript
  • Python

[edit] Policy by Milestone

[edit] M7

DLTK has it's API freeze at M7+1. Beyond M7, until DLTK 1.0.0 is released, no API changes are planned or expected for any DLTK plugins.

If some unexpected API change is required, then this will only be done after a positive vote of the DLTK committers (i.e. majority of +1, no -1).

[edit] RC1

DLTK will have it's feature freeze at RC1+1 (May 19). This will mean no new/additional user-visible features will be planned or expected to be introduced beyond this point.

If a user-visible feature change must occur to address a major or critical bug, the fix will only be applied after the project lead and 3 other committers have agreed to and then separately tested the fix.

[edit] RC2 to Release

Primary activity will be in testing, reporting, and addressing major or higher bugs. Documentation additions and changes can and will continue until 3 days before Ganymede Release (June 22).


[edit] Target Operating Environments

DLTK 0.95 will support all operating environments supported by the Eclipse Platform 3.3 itself. For a list of supported environments, refer to Eclipse Project 3.3 plan for a list of reference platforms.

[edit] Internationalization

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.

[edit] 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.

[edit] Plan Items

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.