blob: 6690beaa6f9bc621c6b95fa82913734bab0f40d7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<title>Eclipse Webtools Project Wiki: Web Tools Requirements</title><link rel="stylesheet" href="http://www.eclipse.org/default_style.css">
<style type="text/css">h3 {font-family: arial, helvetica, geneva; font-size: 10pt; font-weight: bold ; color: #ffffff; background-color: #0080c0; border: 2px solid #0080c0; } </style>
</head>
<body>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody><tr>
<td align="left" width="60%"><font class="indextop">eclipse web tools<br>platform project</font><br><font class="indexsub">Web Tools Requirements</font></td>
<td width="40%">&nbsp;</td>
</tr>
</tbody></table>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody><tr>
<td valign="top">
<h3>Web Tools Project requirements and use cases</h3>
<p>
</p><h4>This is a draft document intended to get community feedback - gathering,
structuring and prioritizing requirements is work in progress! A document
incorporating your feedback and more details on requirements / use cases will be
published here on August, 24th. </h4>
<p>Please provide feedback to this document via the newsgroup:
<a href="news://news.eclipse.org:119/eclipse.webtools">
news://news.eclipse.org/eclipse.webtools</a> </p>
<h4>The listed requirements are centered around three themes that
we plan to concentrate on for the first milestones:</h4>
<p>
<a class="wikipage" href="#StructuredEditor">structuredEditor </a>
</p><p>
<a class="wikipage" href="#ServerTooling">serverTooling </a>
</p><p>
<a class="wikipage" href="#ProjectLayout">projectLayout</a> (a more extensive
document is work in progress and will be published with the next revision of
this document on
August, 24th)</p><p>
</p><h4>Overall goals / requirements from the original project proposal</h4>
<ul>
<li> Seamlessly extend the eclipse user experience
</li>
<li> provide an exstensible framework - not end user tools only</li>
<li> Provide modular design of tools for enabling separate tool deliveries for
various groups of developers</li>
</ul>
<h4>General comments</h4>
<ul>
<li> UI scalability needs some love early on. It feels like the size of
context sensitive menus in the Package explorer doubled in size after I
installed the IBM contribution, even when I'm just doing desktop Java
apps. Many of the plug-ins instantiate themselves at startup time too.
WTP should be there when you need it but out of the way when you don't.
<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01125.html">Ed Burnette</a><!-- Image does not exist. <img class="outlink" src="requirements_files/out.png" alt="" width="6" height="6">-->
</li>
<li> track 3.1 development, "take advantage of every new feature" -
consider that any WTP early adopters and testers are more than likely
going to be 3.1 early adopters and testers too. <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01125.html">Ed Burnette</a><!-- Image does not exist. <img class="outlink" src="requirements_files/out.png" alt="" width="6" height="6">-->
</li>
<li> Pushing down features into the platform: the Internet prefernce
page - that should just replace the setting in Install/Update because
they interfere with each other. Another example would be the new
content type framework. Maybe that nice web browser window too, so
everybody can stop reinventing it. <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01125.html">Ed Burnette</a><!-- Image does not exist. <img class="outlink" src="requirements_files/out.png" alt="" width="6" height="6">-->
</li>
<li> Beginners have problems with configuration issues
</li>
</ul>
<p>
</p><hr>
<p>
</p><h4>Requirements that will become relevant for future milestones</h4>
<a class="wikipage" href="#FutureRequirements">Future Requirements</a>
<p>
</p><h4>Frequently requested requirements / features that are out of scope of this project</h4>
<a class="wikipage" href="#OutOfScope">outOfScope</a>
<hr size="1" noshade="noshade">
</td>
</tr>
</tbody></table>
<h3> S<a name="StructuredEditor">tructured Editor</a></h3>
<p>
</p><h4>Community Input</h4>
<p>
</p><ul>
<li> HTML, XML, and JSP are the top three in importance <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01125.html">Ed Burnette</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> support for JSP 2.0 <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01013.html">Martin Kuhn</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> debug of jsp tags(files) and EL <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01122.html">Rui Figueira</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> Highlighting corrently and content assist will be enough <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> use JDT preferences for syntax highlighting <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> handle file includes of other JSP files (e.g. shared import
statements, multiple includes, as well as useBean statements should not
lead to error markers if they are no real problems) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> xml editor <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01123.html">Haris Peco</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> Content assist for Java scriptlets should be at the same level as the JDT <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> HTML, CSS, JavaScript basic syntax highlighting is a necessity <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> support for jsp-document (xml-syntax) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00825.html">Nicolas Youna</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> let DHTML resources coexist (leading to errors with ibm contribution as they are recognized as xml) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01103.html">David Williams</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> support for Java refactorings (e.g. method rename or signature
changes) should work as if JSPs were Java classes - no need for
additional checks <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01157.html">Richard Nemec</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> recognition and code assist for locally defined (e.g. by custom tags) JavaBeans <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01157.html">Richard Nemec</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><h4>From the proposal</h4>
<ul>
<li> Quick Fixes
</li>
<li> Refactoring support
</li>
<li> Enable hybrid source editing (HTML in Java, SQL in Java)
</li>
<li> Extensibility with visual editors, form based views</li>
<li> Develop Web pages based on JavaScript and CSS</li>
</ul>
<p>
</p><h4>Other</h4>
<p>
</p><ul>
<li> underlying platform shall be extensible for future additions of other languages <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
<li> jsp editor, xml editor to work independently of eclipse project
settings (e.g. with setting tablibs as properties in the project)<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01124.html">Pak, Young-rok</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><ul>
<li> Handy tools for HTML, CSS, and Javascript are nice bonuses. <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><p>
</p><ul>
<li> javascript debugging (maybe a first implementation could wrap the venkman debugger or something like that) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01122.html">Rui Figueira</a><!-- Image does not exist. <img class="outlink" src="structured_editor_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><p>
</p><h4>Comments</h4>
<p>I don't think jsp preview is useful.
<br clear="all">
</p>
<p>&nbsp;</p>
<h3><a name="ServerTooling">Server Tooling</a></h3>
<p>
</p><h4>Community Input</h4>
<p>
</p><ul>
<li> Anything you can do with the old Sysdeo plug-in, you want the
first version of Web Tools to be able to do, only better (frequent
request, take a closer look at sysdeo) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01125.html">Ed Burnette</a><!-- Image does not exist. <img class="outlink" src="server_tooling_files/out.png" alt="" width="6" height="6">-->
</li>
<li> JSP debugging is needed
</li>
<li> debug of jsp tags(files) and EL <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01122.html">Rui Figueira</a><!-- Image does not exist. <img class="outlink" src="server_tooling_files/out.png" alt="" width="6" height="6">-->
</li>
<li> "generic server tooling" like in Lomboz <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00978.html">Gorkem Ercan</a><!-- Image does not exist. <img class="outlink" src="server_tooling_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><h4>From the proposal</h4>
<ul>
<li> Develop and publish a static HTML site
</li>
<li> Deploy an applet on a given HTTP server
</li>
<li> Provide Exemplar Server Tools for open-technology server runtimes such as Apache Tomcat, JOnAS, JBoss, J2EE 1.4 SDK and others
</li>
</ul>
<p>
</p><h4>Comments</h4>
<p>
Server tool is not esential. Most WAS servers provide convenient tool
to deploy, start, stop. And by just using eclipse run setting, that
tools can be used. Priority of this job should be lower. </p><p>
Don't really have a strong interest in this at the moment. Generally
we're fine with using ANT to push our files to our development Tomcat
server for testing, and using the Tomcat provided tools for the
redeploying when necessary, etc. I don't really have a need for Eclipse
support for servers.
<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="server_tooling_files/out.png" alt="" width="6" height="6">-->
</p>
<p>&nbsp;</p>
<h3><a name="ProjectLayout">Project layout</a></h3>
<p>
</p>
<p>
</p><p><b>A more extensive
definition of requirements for the project layout is work in progress and will be published with the next revision of
this document on August, 24th</b></p>
<h4>Community Input</h4>
<p>
</p><ul>
<li> multiple sourcepath <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01124.html">Pak, Young-rok</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
<li> flexible name of web content directory, document files directory, etc.<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01124.html">Pak, Young-rok</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
<li> possibility to divide source path into three parts: src/java for java source, src/conf for resources, src/test for test classes<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01124.html">Pak, Young-rok</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
<li> multiple projects to be assebmled to one J2EE application <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01088.html">Rocky Burt</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
<li> dependencies to standard java projects and automatic packaging for deployment
</li>
<li> clearly separate the project source structure from the build and deploy structure and artifacts. <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00811.html">Gabriele Garuglieri</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
<li> possibility of changing the WebContent src folder name on one
single Web project. (ibm contribution only offers a global action to
rename the WebContent folder name for all web projects in the
workspace) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00964.html">Vijay Bhadriraju</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><p>
</p><ul>
<li> specifying taglibs as a property of project (like jars for java
compiling) would be a very interessting feature (enabling editor to
work with jsp pages without depending on typical web project
structures) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00825.html">Nicolas Youna</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
<li> name with a period (ie demo.war) as the base directory (helps to avoid deploy step on jboss) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00987.html">Tony BenBrahim</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><p>
</p><h4>Example project structures</h4>
<p>
</p><p>
Project
</p><p>
...src<br>
.....packages<br>
...site<br>
.....meta-inf<br>
.....web-inf<br>
.....supt<br>
.......css<br>
.......imgs<br>
.......inc<br>
.......js<br>
</p><p>
<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01127.html">Stephen Duncan Jr</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</p><p>
So for war file:
</p><ul>
<li> project1/src/java/package/goes/Here.java
</li>
<li> project1/src/webapp/index.html
</li>
<li> project1/src/webapp/WEB-INF/web.xml
</li>
</ul>
<p>
For ejb jar file:
</p><ul>
<li> project2/src/java/package/goes/Here.java
</li>
<li> project2/src/ejb/META-INF/ejb-jar.xml
</li>
</ul>
<p>
For J2EE ear packages:
</p><ul>
<li> project3/src/application/META-INF/application.xml
</li>
</ul>
<p>
Note, that ear module is separate from war/ejbjar modules.
It just assembles war/ejbjars created in separate modules.
</p><p>
<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01126.html">Tomasz Pik</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</p><p>
</p><ul>
<li> another suggestion
</li>
</ul>
<p>
/myProjet<br>
.../src : java sources<br>
.../env : environment specific folder<br>
....../env1 : contains env1 environment files<br>
....../env2 : contains env2 environment files<br>
.../etc : other files (.properties .xml ...)<br>
.../web : web root (without a WEB-INF folder)<br>
.../lib : lib required for the project<br>
</p><p>
<a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00827.html">Nicolas Youna</a><!-- Image does not exist. <img class="outlink" src="project_layout_files/out.png" alt="" width="6" height="6">-->
</p>
<p>&nbsp;</p>
<h3><a name="FutureRequirements">Requirements that will become relevant for
future milestones</a></h3>
<p>
</p><h4>From the community</h4>
<p>
</p><ul>
<li> database explorer (better) <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01123.html">Haris Peco</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
<li> java server faces <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01123.html">Haris Peco</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
<li> ant based build files <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00978.html">Gorkem Ercan</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
<li> The tools must allow to export their configured actions as Ant
files that can be saved with projects, run separately and/or reimported
by others developers reobtaining the original configuration. <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00811.html">Gabriele Garuglieri</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
<li> annotations based EJB tools like in Lomboz <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00978.html">Gorkem Ercan</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><ul>
<li> Web Services Explorer implemented in SWT as a regular Eclipse view <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00971.html">Ed Burnette</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
<li> Mac OS X support, JSP debugging on OS X <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg00974.html">Rob Williams</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>
</p><ul>
<li> XSLT Editing and debugging <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01023.html">Igor Malinin</a><!-- Image does not exist. <img class="outlink" src="other_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<h4>From the proposal</h4>
<p>
</p><ul>
<li>Develop SQL statements and generate static Web pages from database queries
</li>
<li>Develop XSD and XSLT for XML based Web pages and Web services </li>
<li>Develop and publish WSDL schema on UDDI registries </li>
<li>Explore UDDI registries and dynamically test Web services via WSDL </li>
<li>Test Web services for WS-I compliance</li>
<li>Develop a J2EE Web Application
<ul>
<li>Develop tag libraries </li>
<li>Develop Servlet Filters </li>
<li>Package the contents of war files </li>
<li>Edit deployment descriptors </li>
</ul>
</li>
<li>Develop an EJB Application
<ul>
<li>Add an EJB </li>
<li>Add methods/fields/relationships/mappings to an EJB </li>
<li>Edit the deployment descriptors </li>
<li>Package the contents of an EJB-JAR
<ul>
<li>Generate necessary classes </li>
<li>Run, Test, Debug EJBs </li>
</ul>
</li>
</ul>
</li>
<li>Develop an Enterprise Application
<ul>
<li>Assemble an enterprise application
<ul>
<li>Add, remove Web Applications, EJBs </li>
<li>Add, remove client applications </li>
</ul>
</li>
<li>Package the contents of an ear </li>
<li>Edit the deployment descriptors </li>
<li>Run, Test, Debug an Enterprise Applications </li>
</ul>
</li>
<li>Import existing Web applications, EJBs, and ears into a project
<ul>
<li>Enhance the &quot;PetStore&quot; blue-print application </li>
</ul>
</li>
<li>Develop Java Web Services
<ul>
<li>Develop a Web Service based on Session Beans </li>
<li>Develop a Web Service based on JavaBeans </li>
<li>Create Web Service Clients </li>
</ul>
</li>
</ul>
<p>&nbsp;</p>
<h3><a name="OutOfScope">Frequently requested features that are out of scope of this project</a></h3>
<p>
</p><ul>
<li> Struts support
</li>
<li> hibernate support <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01123.html">Haris Peco</a><!-- Image does not exist. <img class="outlink" src="outOfScope_files/out.png" alt="" width="6" height="6">-->
</li>
<li> spring support <a class="external" href="http://dev.eclipse.org/newslists/news.eclipse.webtools/msg01123.html">Haris Peco</a><!-- Image does not exist. <img class="outlink" src="outOfScope_files/out.png" alt="" width="6" height="6">-->
</li>
</ul>
<p>For more information about what is &quot;in scope&quot; versus &quot;out of scope&quot; please
see our <a href="http://www.eclipse.org/webtools/project-scope.html">project
scope</a>.</p>
</body></html>