<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <title>eclipse webtools milestone content</title>
  <link rel="stylesheet" href="../../../default_style.css" type="text/css">
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b"
 alink="#ff0000">

<table border="0" cellspacing="5" cellpadding="2" width="100%">
  <tbody>
    <tr>
      <td align="left" width="60%">
	<font class="indextop">eclipse webtools milestone content</font><br>
      	<font class="indexsub">the eclipse web tools platform project milestone content</font>
      </td>
      <td width="40%"><img src="../../../images/Idea.jpg" hspace="50" height="86" width="120" align="middle"></td>
    </tr>
  </tbody>
</table>

<table border="0" cellspacing="5" cellpadding="2" width="100%">
  <tbody>
    <tr>
      <td align="left" valign="top" colspan="2" bgcolor="#0080c0">
	<b><font color="#ffffff" face="Arial,Helvetica">Status of this Document</font></b>
      </td>
    </tr>

    <tr>
      <td align="right" valign="top">&nbsp;</td>
      <td>
This is a preliminary plan. It is undergoing review and change. 
It includes initial ideas for the following Milestones:
</td>
    </tr>

    <tr>
      <td align="right" valign="top"><img src="../../../images/Adarrow.gif" width="16" height="16" border="0"></td>
      <td><b><a href="#M0">M0</a></b><br>
Initial CVS module structure, build infrastructure, and Server Tools.</td>
    </tr>
    <tr>
      <td align="right" valign="top"><img src="../../../images/Adarrow.gif" width="16" height="16" border="0"></td>
      <td><b><a href="#M1">M1</a></b><br>
Finalize build infrastructure and Server Tools.</td>
    </tr>
    <tr>
      <td align="right" valign="top"><img src="../../../images/Adarrow.gif" width="16" height="16" border="0"></td>
      <td><a href="#M2"><b>M2</b></a><br>
Flexible project layout. Initial Structured Source Editing and EJB Tools.</td>
    </tr>

    <tr>
      <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica">
	<font color="#ffffff"><a name="M0">M0</a></font></font></b></td>
    </tr>

<tr>
	<td>&nbsp;</td>
	<td>
The goal of M0 is to create the initial CVS module structure and to populate it with the Server Tools.
This allows us to verify our build infrastructure and enables us to begin the creation of
server adapters.
</td>
</tr>

<tr>
	<td>&nbsp;</td>
	<td>
<b>High Priority</b>
<br>
<ul>
<li>Create and commit initial CVS module structure</li>
<li>Commit Server Tools into CVS</li>
<li>Run the first public automatic build</li>
<li>Update website with downloads/what's new links (ala EMF)</li>
</ul>

	</td>
</tr>

    <tr>
      <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica">
	<font color="#ffffff"><a name="M1">M1</a></font></font></b></td>
    </tr>

<tr>
	<td>&nbsp;</td>
	<td>
<b>High Priority</b>
<br>
<ul>
<li>Finalize WTP Build Infrastructure</li>
	<ul>
	<li>Run report automatic builds/tests</li>
	<li>CVS structure</li>
	<li>Updating web site with build info automatically (what's new etc.)</li>
	</ul>
<li>Server Runtime Support for Tomcat</li>
	<ul>
	<li>Launch Server (Start)  (In debug ro run modes)</li>
	<li>Be able to run (and debug) Java Servlet</li>
	<li>Stop Server</li>
	</ul>
</ul>
	</td>
</tr>


<tr>
	<td>&nbsp;</td>
	<td>
<b>Medium  Priority</b>
<br>
<ul>
<li>Integrate Lomboz Generic Server Runtime Support using XML Server Definitions (JBoss, Jonas)</li>
	<ul>
	<li>Launch Server (Start)  (In debug and run modes)</li>
	<li>Stop Server</li>
	</ul>
<li>"Run on server" for Web artifacts (e.g. .html)</li>
	<ul>
	<li>Start server</li>
	<li>Display in IDE browser</li>
	</ul>
 </ul>
	</td>
</tr>

<tr>
	<td>&nbsp;</td>
	<td>

<b>Low Priority</b>
<br>
<ul>
<li>Apache server adapter</li>
	<ul>
	<li>Add/remove Web project to configuration</li>
	<li>Start and stop server</li>
	<li>"Run on server" for Web artifacts (e.g. .html)</li>
	</ul>
</ul>
	</td>
</tr>

    <tr>
      <td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font face="Arial,Helvetica">
	<font color="#ffffff"><a name="M2">M2</a></font></font></b></td>
    </tr>

<tr>
	<td>&nbsp;</td>
	<td>
<b>High Priority</b>
<br>
<ul>
<li>Project Layouts for Web Modules (WARs or Web Project in IBM contributions)</li>
	<ul>
	<li>Simple Web project layouts</li>
	<li>Flexible project layouts, i.e. (One project for many web modules, Maven)</li>
	</ul>
<li>Structured Source Editor</li>
	<ul>
	<li>Simple JSP Editing (which, by implication pulls in some amount of XML, HTML, CSS, JavaScript)</li>
	<li>Set breakpoints</li>
	</ul>
<li>Debug JSP</li>
	<ul>
	<li>JSR 45</li>
	</ul>
<li>Medium Priority Items from M1</li>
	<ul>
	<li>Integrate Lomboz Generic Server Runtime Support using XML Server Definitions (JBoss, Jonas)</li>
	<li>"Run on server" for Web artifacts (e.g. .html)</li>
	</ul>
</ul>
	</td>
</tr>

<tr>
	<td>&nbsp;</td>
	<td>
<b>Medium Priority</b>
<br>
<ul>
<li>EJB Wizards</li>
	<ul>
	<li>Simple EJB Wizards to generate annotated Java Sources from templates</li>
	<li>Session Beans only</li>
	</ul>
</ul>
	</td>
</tr>
</tbody>
</table>
<br>
<p>Please see our <a href="/legal/privacy.html">privacy  policy</a> and website <a href="/legal/termsofuse.html">terms 
  of use</a>. 
For problems with the eclipse.org site, please contact the <a href="mailto:webmaster@eclipse.org">webmaster</a> 
  or read the <a href="/webmaster/index.html">webmaster FAQ</a> for answers to 
  common questions!</p>

</body>
</html>