|  | <html> | 
|  | <head> | 
|  |  | 
|  | <title>Java EE Module Configuration Editors</title> | 
|  | </head> | 
|  |  | 
|  | <style> | 
|  | dt { | 
|  | display: list-item; | 
|  | list-style-position:outside; | 
|  | list-style-image:url(/eclipse.org-common/themes/Phoenix/images/arrow.gif); | 
|  | margin-left:16px; | 
|  | } | 
|  | dd { | 
|  | margin-left:25px; | 
|  | margin-bottom:5px; | 
|  | } | 
|  | </style> | 
|  |  | 
|  | <body> | 
|  | <p>The Java EE Module Configuration Editors project is a proposed open source project under the <a | 
|  | href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jeetools">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="http://www.eclipse.org/forums/index.php?t=thread&frm_id=202">Proposals Forum</a>.</p> | 
|  |  | 
|  | <h2>Background</h2> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <h2>Scope</h2> | 
|  |  | 
|  | <p>Deliver editors for Java EE module configurations.</p> | 
|  |  | 
|  | <h2>Description</h2> | 
|  |  | 
|  | <p>The editors are built using <a href="http://www.eclipse.org/sapphire">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="http://www.eclipse.org/sapphire/releases/0.3/documentation/introduction/index.html">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="http://www.eclipse.org/sapphire/samples/jee/demo-1/">Screencast</a><br/> | 
|  | <a href="http://dev.eclipse.org/viewcvs/viewvc.cgi/org.eclipse.sapphire/plugins/org.eclipse.sapphire.samples.jee/?root=Technology_Project">Source Repository</a></p> | 
|  |  | 
|  | <h2>Committers</h2> | 
|  |  | 
|  | <p>The following individuals are proposed as initial committers to the project:</p> | 
|  |  | 
|  | <dl> | 
|  | <dt>Konstantin Komissarchik, Oracle</dt> | 
|  | <dd>Konstantin is the project lead for the Sapphire project and is a committer on several WTP projects. | 
|  | </dl> | 
|  |  | 
|  | <h2>Mentors</h2> | 
|  |  | 
|  | <p>The following Architecture Council members will mentor this | 
|  | project:</p> | 
|  |  | 
|  | <ul> | 
|  | <li>Chris Aniszczyk</li> | 
|  | <li>Neil Hauge</li> | 
|  | </ul> | 
|  |  | 
|  | <h2>Interested Parties</h2> | 
|  |  | 
|  | <p>The following individuals, organizations, companies and projects have | 
|  | expressed interest in this project:</p> | 
|  |  | 
|  | <ul> | 
|  | <li>Chuck Bridgham (IBM)</li> | 
|  | <li>Kaloyan Raev (SAP)</li> | 
|  | <li>Neil Hauge (Oracle)</li> | 
|  | <li>Jesper Steen Müller</li> | 
|  | <li>Eclipse Java EE Tools Project</li> | 
|  | <li>Oracle (for Enterprise Pack for Eclipse inclusion)</li> | 
|  | </ul> | 
|  |  | 
|  | <h2>Namespace</h2> | 
|  |  | 
|  | <p>org.eclipse.jst.jee.config</p> | 
|  |  | 
|  | <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> | 
|  |  | 
|  | <table> | 
|  | <tr> | 
|  | <th>Date</th> | 
|  | <th>Change</th> | 
|  | </tr> | 
|  | <tr> | 
|  | <td>2011-06-14</td> | 
|  | <td>Document created</td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td>2011-06-16</td> | 
|  | <td>Added "why eclipse" section and revised the "interested parties" section.</td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td>2011-06-17</td> | 
|  | <td>Listed mentors; more entries under interested parties; added screencast.</td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td>2011-06-20</td> | 
|  | <td>One more interested party; wording improvements; screen capture of the editor; link to Sapphire intro.</td> | 
|  | </tr> | 
|  | <tr> | 
|  | <td>2011-06-21</td> | 
|  | <td>More description on Sapphire capabilities.</td> | 
|  | </tr> | 
|  | </table> | 
|  | </body><html><body></body></html> | 
|  | <html><body></body></html> |