blob: e494f4ef161ef5d0859ec614546b66ae3ddeed14 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8" />
<title>Eclipse EMF/SDO and XSD - DRAFT 2.1.0 Plan</title>
<link rel="stylesheet" href="http://www.eclipse.org/emf/docs/book.css"
type="text/css" />
</head>
<body lang="EN-US" xml:lang="EN-US">
<script language="javascript">
<!--
function goTo(mile,stat) {
document.location.href='https://bugs.eclipse.org/bugs/colchange.cgi?rememberedquery='+
'product%3DEMF%2CXSD%26'+
(stat=='open'||stat=='all'
? 'bug_status%3DNEW%26'+
'bug_status%3DREOPENED%26'+
'bug_status%3DASSIGNED%26'
: ''
)+
(stat=='closed'||stat=='all'
? 'bug_status%3DUNCONFIRMED%26'+
'bug_status%3DRESOLVED%26'+
'bug_status%3DVERIFIED%26'+
'bug_status%3DCLOSED%26'
: ''
)+
(mile=='all'?'':'target_milestone%3D'+mile+'%26')+
'order%3D'+
'bugs.bug_status%2C'+
'bugs.target_milestone%2C'+
'bugs.bug_id'+
'%26query_format%3Dadvanced'+
'&column_opendate=on'+
'&column_changeddate=on'+
'&column_bug_severity=on'+
'&column_priority=on'+
'&column_rep_platform=on'+
'&column_bug_status=on'+
'&column_product=on'+
'&column_component=on'+
'&column_version=on'+
'&column_target_milestone=on'+
'&column_short_short_desc=on'+
'&splitheader=0';
}
// -->
</script>
<div class="Section1">
<h1>Eclipse EMF/SDO and XSD
<br />
DRAFT 2.1.0 Plan</h1>
<h3>Including XML Schema Infoset Model (XSD)
and Service Data Objects (SDO) frameworks</h3>
<p>Last revised <tt>$Date: 2006/08/23 21:38:22 $</tt> (
<img width="12" height="12" src="images/../../../images/green-box.gif"
border="0" />
marks interesting changes over a previous revision of this
document)
<!-- the
<a href="EMF/SDO and XSD_project_plan_2.1.20041129.html">previous plan
revision</a>
) -->
</p>
<p>
<em>&nbsp;&nbsp;&nbsp; Please send comments about this draft
plan to the</em>
<a href="http://www.eclipse.org/emf/newsgroup-mailing-list.php">
eclipse.tools.emf</a>
or
<a href="http://www.eclipse.org/emf/newsgroup-mailing-list.php">
eclipse.technology.xsd</a>
<em>newsgroup, as applicable.</em>
</p>
<p>This document lays out the feature and API set for the
next feature release of the Eclipse EMF/SDO and XSD projects
after 2.0.1, designated release 2.1.</p>
<ul type="disc">
<li>
<a href="#Deliverables">Release deliverables</a>
</li>
<li>
<a href="#Milestones">Release milestones</a>
</li>
<li>
<a href="#TargetOperatingEnvironments">Target operating
environments</a>
</li>
<li>
<a href="#Compatibility">Compatibility with previous
releases</a>
</li>
<li>
<a href="#Project">EMF, XSD and SDO feature plans</a>
</li>
</ul>
<p>Plans do not materialize out of nowhere, nor are they
entirely static. To ensure the planning process is
transparent and open to the entire Eclipse community, plans
are posted in an embryonic form and then revised from time to
time throughout the release cycle.</p>
<p>The first part of the plan deals with the important
matters of release deliverables, release milestones, target
operating environments, and release-to-release compatibility.
These are all things that need to be clear for any release,
even if no features were to change.&nbsp;</p>
<p>The remainder of the plan consists of plan items for the
projects under the Eclipse EMF/SDO and XSD projects. Each
plan item covers a feature or API that is to be added, or
some aspect that is to be improved. Each plan item has its
own entry in the
<a href="http://bugs.eclipse.org/bugs">Eclipse bugzilla</a>
database, with a title and a concise summary (usually a
single paragraph) that explains the work item at a suitably
high enough level so that everyone can readily understand
what the work item is without having to understand the
nitty-gritty detail.</p>
<p>Not all plan items represent the same amount of work; some
may be quite large, others, quite small. Some plan items may
involve work that is localized to a single subsystem; others
may involve coordinated changes across several projects
within the same top-level project; and others may involve
coordination with other top-level projects. Although some
plan items are for work that is more pressing that others,
the plan items appear in no particular order.</p>
<p>With the previous release as the starting point, this is
the plan for how we will enhance and improve it. Fixing bugs,
improving test coverage, documentation, examples, performance
tuning, usability, etc. are considered routine ongoing
maintenance activities and are not included in this plan
unless they would also involve a significant change to the
API or feature set, or involve a significant amount of work.
The intent of the plan is to account for all interesting
feature work.</p>
<h2>
<a name="Deliverables">
</a>
Release deliverables</h2>
<p>The release deliverables are:</p>
<ul type="disc">
<li>Source code release for Eclipse EMF/SDO and XSD,
available as versions tagged "HEAD" in the eclipse.org
<a href="http://dev.eclipse.org/viewcvs/">CVS
repositories</a>
for
<a
href="http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf/">
EMF</a>
,
<a
href="http://dev.eclipse.org/viewcvs/indextools.cgi/org.eclipse.emf.ecore.sdo/">
SDO</a>
, and
<a
href="http://dev.eclipse.org/viewcvs/indextech.cgi/org.eclipse.xsd">
XSD</a>
.</li>
<li>EMF/SDO and XSD runtime binaries and SDK distributions
(downloadable).</li>
<li>EMF/SDO and XSD runtime binaries and SDK features on
eclipse.org update site (install via Eclipse update
manager).</li>
</ul>
<h2>
<a name="Milestones">
</a>
Release milestones</h2>
<p>EMF/SDO and XSD builds are available weekly as Integration
builds. Occasionally, these builds may be renamed as
Milestone builds, aligned with Eclipse's Milestones.
Eclipse's Release Milestones occur at roughly 6 week
intervals to facilitate coarse-grained planning and staging.
Their milestones are:</p>
<ul type="disc">
<li>Friday Feb. 18, 2005&nbsp; - Milestone 5 (3.1 M5) - stable build</li>
<li>Friday Apr. 1, 2005 - Milestone 6 (3.1 M6) - stable build - API complete
- API freeze</li>
<li>Friday May 13, 2005 - Milestone 7 (3.1 M7) - stable build - feature complete
- development freeze - lock down and testing begins</li>
<li><a href="http://www.eclipse.org/org/councils/PC/platform/eclipse_project_plan_3_1_2005_02_14.html#Milestones">Late June 2005 - 3.1 Release</a></li>
</ul>
<h2>
<a name="TargetOperatingEnvironments">
</a>
Target Operating Environments</h2>
<p>In order to remain current, each release of an Eclipse
project targets reasonably current versions of underlying
operating environments and other Eclipse projects on which it
depends.&nbsp;</p>
<p>Most of Eclipse is "pure" Java
<sup>TM</sup>
code and has no direct dependence on the underlying operating
system. The chief dependence is on the Eclipse Platform, and
on the Java 2 Platform that runs it.</p>
<p>The EMF/SDO and XSD 2.1.0 releases depend on the
following:</p>
<ul type="disc">
<li>Java 2 Platform 1.4</li>
<li>Eclipse Platform 3.1</li>
</ul>
<p>Additionally, if loading or importing models from XML
Schema, the following is required.
<a
href="http://download.eclipse.org/tools/emf/scripts/downloads/install.php">
Click here for an explanation of this additional
requirement.</a>
</p>
<ul type="disc">
<li>Xerces2-J 2.6.2, or</li>
<li>XML4J</li>
</ul>
<p>The 2.1.0 releases of EMF/SDO and XSD are designed to run
on any configuration supporting the above components.</p>
<p>The Eclipse Platform runs in a variety of operating
environments. Testing is focused on a handful of popular
combinations of operating system and Java 2 Platform; these
are our
<em>reference platforms</em>
. Eclipse undoubtedly runs fine in many operating
environments beyond the reference platforms we test. However,
since we do not systematically test them we cannot vouch for
them. Problems encountered when running Eclipse on
non-reference platform that cannot be recreated on any
reference platform will be given lower priority than problems
with running Eclipse on a reference platform.</p>
<p>See the
<a
href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_1.html">
Eclipse Project 3.1 plan</a>
for a list of reference platforms.</p>
<h4>Internationalization</h4>
<p>Eclipse is designed as the basis for internationalized
products. The user interface elements provided by the various
Eclipse projects, including dialogs and error messages, are
externalized. The English strings for EMF/SDO and XSD are
provided as the default resource bundles. Translations are
not provided with this release. However, the plug-in fragment
mechanism provides the means by which translations into any
number of other languages can be incorporated.</p>
<h2>
<a name="Compatibility">
</a>
Compatibility with Previous Releases</h2>
<h3>Compatibility of Release 2.1.0 with 2.0.1</h3>
<p>Eclipse EMF/SDO and XSD 2.1.0 will be compatible with
EMF/SDO and XSD 2.0.1.</p>
<p>
<b>API Contract Compatibility:</b>
EMF/SDO and XSD 2.1.0 will be upwards contract-compatible
with EMF/SDO and XSD 2.0.1 except in those areas noted in the
<a href="#MigrationGuide">
<em>EMF/SDO and XSD 2.1.0 Migration Guide.</em>
</a>
Programs that use affected APIs and extension points will
need to be ported to EMF/SDO and XSD 2.1.0 APIs. Downward
contract compatibility is not supported. There is no
guarantee that compliance with EMF/SDO and XSD 2.1.0 APIs
would ensure compliance with EMF/SDO and XSD 1.x APIs. Refer
to
<em>
<a
href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">
Evolving Java-based APIs</a>
</em>
for a discussion of the kinds of API changes that maintain
contract compatibility.</p>
<p>
<b>Binary (plug-in) Compatibility:</b>
EMF/SDO and XSD 2.1.0 will be upwards binary-compatible with
EMF/SDO and XSD 2.0.1 except in those areas noted in the
<a href="#MigrationGuide">
<em>EMF/SDO and XSD 2.1.0 Migration Guide.</em>
</a>
Downward plug-in compatibility is not supported: plug-ins
compiled against EMF/SDO and XSD 2.1.0 will likely be
unusable with EMF/SDO and XSD 1.x. Refer to
<em>
<a
href="http://www.eclipse.org/eclipse/development/java-api-evolution.html">
Evolving Java-based APIs</a>
</em>
for a discussion of the kinds of API changes that maintain
binary compatibility.</p>
<p>
<b>Source Compatibility:</b>
Source files written to use EMF/SDO and XSD 2.0.1 APIs will
usually compile and run successfully against EMF/SDO and XSD
2.1.0 APIs, although this cannot be guaranteed. In some
cases, it may be necessary to make minor changes to the
source code to disambiguate things like imports or overloaded
method invocations. Downward source compatibility is not
supported. If source files use new APIs, they will not be
usable with earlier versions.</p>
<p>
<b>Workspace Compatibility:</b>
Eclipse EMF/SDO and XSD 2.1.0 will be upwards
workspace-compatible with EMF/SDO and XSD 2.0.1 unless noted.
This means that workspaces and projects created by an Eclipse
with EMF/SDO and XSD 2.0.1 installed can be successfully
opened by an Eclipse with EMF/SDO and XSD 2.1.0 installed.
This includes both hidden metadata, which is localized to a
particular workspace, as well as metadata files found within
a workspace project, which may propagate between workspaces
via file copying or team repositories. User interface session
state may be discarded when a workspace is upgraded. Downward
workspace compatibility is not supported. Metadata files
created (or overwritten) by the newer version will generally
be unusable with older versions.</p>
<p>
<b>Non-compliant usage of API's:</b>
All non-API methods and classes, and certainly everything in
a package with "internal" in its name, are considered
implementation details which may vary between operating
environment and are subject to change without notice. Client
plug-ins that directly depend on anything other than what is
specified in the API are inherently unsupportable and receive
no guarantees about compatibility within a single release
much less with an earlier releases. Refer to
<em>
<a
href="http://www.eclipse.org/articles/Article-API%20use/eclipse-api-usage-rules.html">
How to Use the Eclipse API</a>
</em>
for information about how to write compliant plug-ins.</p>
<h3>
<a name="MigrationGuide">
</a>
EMF/SDO and XSD 2.1.0 Migration Guide</h3>
<p>At this time, there are no known issues migrating from
2.0.1 to 2.1.0. Should this change, this document will be
revised, or a secondary document will be added documenting
any known issues.</p>
<h2>
<a name="Themes">
</a>
Themes</h2>
<p>The changes under consideration for the next release of
Eclipse EMF/SDO and XSD address a few major themes:</p>
<ul type="disc">
<li>
<b>Built To Last</b>
- EMF/SDO and XSD has always been a framework for
delivering integrated modeling tools. With a growing base
of both free and commercial offerings based on EMF/SDO and
XSD, it's critical for continued success to maintain API
stability and ensure that the framework scales well. This
theme includes work to measure and improve the performance
and scalability of EMF/SDO and XSD resources. This theme
also includes consolidation activities where groundwork was
laid in 2.0 but needs to be completed and brought into full
use.</li>
<li>
<b>Simple To Use</b>
- The EMF/SDO and XSD framework needs to not only provide
the features that advanced developers demand, but also be
something that most developers find simple to use. This
theme includes ease-of-use reviews of existing features,
and work that helps make EMF/SDO and XSD-based products
simple to use for developers with widely-varying
backgrounds and skill sets.</li>
<li>
<b>Release Currency</b>
- Tools projects will maintain release currency concurrent
with 3.x releases. For EMF/SDO and XSD 2.1.0, this means
currency with Eclipse 3.1.</li>
<li>
<b>Generator Reusability</b>
- Plans are underway to make the generator even more
generic and reusable so as to be enven more useful to
developers.</li>
<li>
<b>Java 2 Standard Edition 5 Support</b>
- While unclear at time of writing what this will entail,
it is hoped that the next release of EMF/SDO can exploit
the new J2SE version 5 to some extent.</li>
<li>
<b>SDO 1.1 Support</b>
- While unclear at time of writing what this will entail,
it is expected that the next release of EMF/SDO will
support the new SDO 1.1 standard to some extent.</li>
</ul>
<p>Each theme has a number of items; the relevant theme is
identified for each committed, proposed, and deferred plan
items.</p>
<p>The items listed reflect new features or areas where
existing features will be significantly reworked. Numbers in
parentheses link to bugzilla problem reports for that plan
item.</p>
<p>The current status of each plan item is noted:</p>
<ul type="disc">
<li>
<b>Committed</b>
plan item - A committed plan item is one that we have
decided to address for the release.</li>
<li>
<b>Proposed</b>
plan item - A proposed plan 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.</li>
<li>
<b>Deferred</b>
plan item - 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.</li>
</ul>
<h2>
<a name="Project">
</a>
EMF, XSD and SDO feature plans</h2>
<p>Plan items reflect new features of the EMF/SDO and XSD
project, or areas where existing features will be
significantly reworked.
<p><a
href="http://www.eclipse.org/emf/plan/plan-2.1.xml">Here</a> you can also find EMF 2.1 development prioritized plan.
</p>
<!-- (
<img border="0" width="12" height="12" src="images/../../../images/green-check.gif" />
marks completed work). -->
</p>
<p>
<em>
<small>Note that for the links below, you may need to
reset your browser's
<u>bugs.eclipse.org</u>
cookie(s) in order to see all the appropriate
columns.</small>
</em>
</p>
<h4>
<a name="Committed">
</a>
Committed Items (EMF/SDO and XSD project)</h4>
<blockquote>
<p>Bugzillas with a target release or milestone of 2.1 are
committed to that release. For the most current list of
these items, see the following links:</p>
<p>
<a onclick="goTo('2.1','open')"
href="javascript:void(goTo('2.1','open'))">All Open</a>
|
<a onclick="goTo('2.1','closed')"
href="javascript:void(goTo('2.1','closed'))">All Closed</a>
|
<a onclick="goTo('2.1','all')"
href="javascript:void(goTo('2.1','all'))">All Bugs</a>
</p>
</blockquote>
<h4>
<a name="Proposed">
</a>
Proposed Items (EMF/SDO and XSD project)</h4>
<blockquote>
<p>Bugzillas without a specific target release or milestone
are proposed, but not scheduled for a particular release.
For the most current list of these items, see the following
links:</p>
<p>
<a onclick="goTo('---','open')"
href="javascript:void(goTo('---','open'))">All Open</a>
|
<a onclick="goTo('---','closed')"
href="javascript:void(goTo('---','closed'))">All Closed</a>
|
<a onclick="goTo('---','all')"
href="javascript:void(goTo('---','all'))">All Bugs</a>
</p>
</blockquote>
<h4>
<a name="Deferred">
</a>
Deferred Items (EMF/SDO and XSD projects)</h4>
<blockquote>
<p>Bugzillas assigned to the non-specific target of
'Future' are deferred, and not scheduled for a particular
release. For the most current list of these items, see the
following links:</p>
<p>
<a onclick="goTo('Future','open')"
href="javascript:void(goTo('Future','open'))">All Open</a>
|
<a onclick="goTo('Future','closed')"
href="javascript:void(goTo('Future','closed'))">All
Closed</a>
|
<a onclick="goTo('Future','all')"
href="javascript:void(goTo('Future','all'))">All Bugs</a>
</p>
</blockquote>
</div>
</body>
</html>