eclipse web tools platform project Web Tools Requirements |
|
Web Tools Project requirements and use cases
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.
Please provide feedback to this document via the newsgroup:
news://news.eclipse.org/eclipse.webtools
The listed requirements are centered around three themes that
we plan to concentrate on for the first milestones:
structuredEditor
serverTooling
projectLayout (a more extensive
document is work in progress and will be published with the next revision of
this document on
August, 24th)
Overall goals / requirements from the original project proposal
- Seamlessly extend the eclipse user experience
- provide an exstensible framework - not end user tools only
- Provide modular design of tools for enabling separate tool deliveries for
various groups of developers
General comments
- 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.
Ed Burnette
- 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. Ed Burnette
- 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. Ed Burnette
- Beginners have problems with configuration issues
Requirements that will become relevant for future milestones
Future Requirements
Frequently requested requirements / features that are out of scope of this project
outOfScope
|
Community Input
- HTML, XML, and JSP are the top three in importance Ed Burnette
- support for JSP 2.0 Martin Kuhn
- debug of jsp tags(files) and EL Rui Figueira
- Highlighting corrently and content assist will be enough Stephen Duncan Jr
- use JDT preferences for syntax highlighting Stephen Duncan Jr
- 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) Stephen Duncan Jr
- xml editor Haris Peco
- Content assist for Java scriptlets should be at the same level as the JDT Stephen Duncan Jr
- HTML, CSS, JavaScript basic syntax highlighting is a necessity Stephen Duncan Jr
- support for jsp-document (xml-syntax) Nicolas Youna
- let DHTML resources coexist (leading to errors with ibm contribution as they are recognized as xml) David Williams
- support for Java refactorings (e.g. method rename or signature
changes) should work as if JSPs were Java classes - no need for
additional checks Richard Nemec
- recognition and code assist for locally defined (e.g. by custom tags) JavaBeans Richard Nemec
From the proposal
- Quick Fixes
- Refactoring support
- Enable hybrid source editing (HTML in Java, SQL in Java)
- Extensibility with visual editors, form based views
- Develop Web pages based on JavaScript and CSS
Other
- underlying platform shall be extensible for future additions of other languages Stephen Duncan Jr
- jsp editor, xml editor to work independently of eclipse project
settings (e.g. with setting tablibs as properties in the project)Pak, Young-rok
- javascript debugging (maybe a first implementation could wrap the venkman debugger or something like that) Rui Figueira
Comments
I don't think jsp preview is useful.
Community Input
- 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) Ed Burnette
- JSP debugging is needed
- debug of jsp tags(files) and EL Rui Figueira
- "generic server tooling" like in Lomboz Gorkem Ercan
From the proposal
- Develop and publish a static HTML site
- Deploy an applet on a given HTTP server
- Provide Exemplar Server Tools for open-technology server runtimes such as Apache Tomcat, JOnAS, JBoss, J2EE 1.4 SDK and others
Comments
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.
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.
Stephen Duncan Jr
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
Community Input
- multiple sourcepath Pak, Young-rok
- flexible name of web content directory, document files directory, etc.Pak, Young-rok
- possibility to divide source path into three parts: src/java for java source, src/conf for resources, src/test for test classesPak, Young-rok
- multiple projects to be assebmled to one J2EE application Rocky Burt
- dependencies to standard java projects and automatic packaging for deployment
- clearly separate the project source structure from the build and deploy structure and artifacts. Gabriele Garuglieri
- 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) Vijay Bhadriraju
- 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) Nicolas Youna
- name with a period (ie demo.war) as the base directory (helps to avoid deploy step on jboss) Tony BenBrahim
Example project structures
Project
...src
.....packages
...site
.....meta-inf
.....web-inf
.....supt
.......css
.......imgs
.......inc
.......js
Stephen Duncan Jr
So for war file:
- project1/src/java/package/goes/Here.java
- project1/src/webapp/index.html
- project1/src/webapp/WEB-INF/web.xml
For ejb jar file:
- project2/src/java/package/goes/Here.java
- project2/src/ejb/META-INF/ejb-jar.xml
For J2EE ear packages:
- project3/src/application/META-INF/application.xml
Note, that ear module is separate from war/ejbjar modules.
It just assembles war/ejbjars created in separate modules.
Tomasz Pik
/myProjet
.../src : java sources
.../env : environment specific folder
....../env1 : contains env1 environment files
....../env2 : contains env2 environment files
.../etc : other files (.properties .xml ...)
.../web : web root (without a WEB-INF folder)
.../lib : lib required for the project
Nicolas Youna
From the community
- database explorer (better) Haris Peco
- java server faces Haris Peco
- ant based build files Gorkem Ercan
- 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. Gabriele Garuglieri
- annotations based EJB tools like in Lomboz Gorkem Ercan
- Web Services Explorer implemented in SWT as a regular Eclipse view Ed Burnette
- Mac OS X support, JSP debugging on OS X Rob Williams
From the proposal
- Develop SQL statements and generate static Web pages from database queries
- Develop XSD and XSLT for XML based Web pages and Web services
- Develop and publish WSDL schema on UDDI registries
- Explore UDDI registries and dynamically test Web services via WSDL
- Test Web services for WS-I compliance
- Develop a J2EE Web Application
- Develop tag libraries
- Develop Servlet Filters
- Package the contents of war files
- Edit deployment descriptors
- Develop an EJB Application
- Add an EJB
- Add methods/fields/relationships/mappings to an EJB
- Edit the deployment descriptors
- Package the contents of an EJB-JAR
- Generate necessary classes
- Run, Test, Debug EJBs
- Develop an Enterprise Application
- Assemble an enterprise application
- Add, remove Web Applications, EJBs
- Add, remove client applications
- Package the contents of an ear
- Edit the deployment descriptors
- Run, Test, Debug an Enterprise Applications
- Import existing Web applications, EJBs, and ears into a project
- Enhance the "PetStore" blue-print application
- Develop Java Web Services
- Develop a Web Service based on Session Beans
- Develop a Web Service based on JavaBeans
- Create Web Service Clients
For more information about what is "in scope" versus "out of scope" please
see our project
scope.