Jump to: navigation, search

DLTK 0.95 Project Plan

Revision as of 10:45, 26 May 2008 by Andrey.xored.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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.

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.

Project components

DLTK project contains following components:

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)

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:

  • 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).

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
  • 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

Policy by Milestone

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).

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.

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).


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.

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.

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

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.