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