blob: 89b24d3a566b61b6e99aadb3aa9277e24439e41f [file] [log] [blame]
<title>Java EE Module Configuration Editors</title>
dt {
display: list-item;
dd {
<p>The Java EE Module Configuration Editors project is a proposed open source project under the <a
href="">WTP Java EE Tools</a> project.</p>
<p>This proposal is in the Project Proposal Phase (as defined in the
Eclipse Development Process) and is written to declare its intent and
scope. We solicit additional participation and input from the Eclipse
community. Please send all feedback to the <a href="">Proposals Forum</a>.</p>
<p>Java EE modules are configured via complex XML configuration files and Java annotations. Editing
this configuration is difficult, especially for novice developers and those working on very large
application. A form-based editor that brings together information from XML configuration files
and Java annotations is a useful tool. The content assist and validation provided by such an
editor helps eliminate certain kinds of common bugs.</p>
<p>Deliver editors for Java EE module configurations.</p>
<p>The editors are built using <a href="">Sapphire</a>. Each editor
brings in information from the module's XML configuration file as well as the relevant annotations
into a unified view. A user can edit a setting using the same UI whether it is stored in the XML
configuration file or a Java annotation.</p>
<p>Sapphire provides XML binding and bi-directional synchronization with source view. Using Sapphire
facilities, these editor include validation, browsing for possible values and cross-navigation to
source and other referenced locations.</p>
<p>While the primary goal is to deliver the editors, a semantic model is created as part of
implementing any editor with Sapphire. Whether this model is exposed as public API will depend on
requirements that interested parties bring to the table.</p>
<p>The editors are not currently envisioned as extensible. Their nature is scoped by Java EE specifications.
However, if interested parties bring extensibility scenarios to the table, these will be considered.</p>
<p><a href="">Introduction to Sapphire</a></p>
<h2>Why Eclipse?</h2>
<p>This proposal is a natural extension of WTP Java EE Tools project, that brings functionality needed
by users of that tooling. This functionality is currently only available in commercial products. By being at
Eclipse, this functionality can eventually be included in EPP packages such as Eclipse IDE for Java EE
Developers and due the safety net provided by the Eclipse IP process, this functionality can be more easily
adopted by third party IDE package builders.</p>
<h2>Code Contribution</h2>
<p>The work on these features is currently taking place inside Sapphire project as a sample, where a
partial implementation of the web.xml editor already exists.</p>
<p><img src="screen-capture-1.png"/></p>
<p><a href="">Screencast</a><br/>
<a href="">Source Repository</a></p>
<p>The following individuals are proposed as initial committers to the project:</p>
<dt>Konstantin Komissarchik, Oracle</dt>
<dd>Konstantin is the project lead for the Sapphire project and is a committer on several WTP projects.
<p>The following Architecture Council members will mentor this
<li>Chris Aniszczyk</li>
<li>Neil Hauge</li>
<h2>Interested Parties</h2>
<p>The following individuals, organizations, companies and projects have
expressed interest in this project:</p>
<li>Chuck Bridgham (IBM)</li>
<li>Kaloyan Raev (SAP)</li>
<li>Neil Hauge (Oracle)</li>
<li>Jesper Steen M&uuml;ller</li>
<li>Eclipse Java EE Tools Project</li>
<li>Oracle (for Enterprise Pack for Eclipse inclusion)</li>
<h2>Project Scheduling</h2>
<p>The plan is to deliver editors for Web, EAR and EJB modules in time for Juno release in 2012.</p>
<p>This project will remain in incubation until the editors are sufficiently mature
and Sapphire itself exits incubation. In the meantime, the project will produce
regular releases and join the release trains. After graduation, this project may
merge into the main Java EE Tools project.</p>
<h2>Changes to this Document</h2>
<td>Document created</td>
<td>Added "why eclipse" section and revised the "interested parties" section.</td>
<td>Listed mentors; more entries under interested parties; added screencast.</td>
<td>One more interested party; wording improvements; screen capture of the editor; link to Sapphire intro.</td>
<td>More description on Sapphire capabilities.</td>