<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Web Tools Platform 1.0 M3 News</title>
<link rel="stylesheet"
	href="../../../../../development/news/default_style.css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/ >
<meta name="GENERATOR" content="WTP HTML Source Editor" />
</head>
<body>
<h1>Web Tools Platform 1.0M3 - New and Noteworthy</h1>
<p>This milestone is has been targetted to provide more richer function
in view of using the milestone build for EclipseCon Feb 2005. Effort has
been put in to provide well documented features with JavaDoc. Here are
some noteworthy features to explore in this milestone:</p>
<p></p>
<table border="0" cellpadding="10" cellspacing="0" width="85%">
	<tbody>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<h3>J2EE Models and Tools</h3>
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>Flexible Project
			Structure</b></td>
			<td align="left" valign="top" width="85%">
			<p>New  tooling for creating and deploying resources capsulated by modules across remote and containing projects. Initially, For M3, flexible project support can be created from the Dynamic Web Project Creation wizard (File-&gt;New-&gt;Project-&gt; Web -&gt; Dynamic Web Project):</p>
			<img border="0" src="images/flexiblewiz1.jpg" width="590" height="512" /><BR>
			<BR>
			Users can create and modify flexible module structures by updating the synchronized .wtpModule file. 
			<BR>
			<BR>
			<IMG border="0" src="images/flexiblewtp.jpg" alt="">
		    <BR>
			<BR>Modules can be deployed using the server tooling function.<BR>
			<BR>
			<IMG border="0" src="images/flexiblewtp1.jpg"
				width="915" height="703">
			<BR>
			<BR>Documentation: <TABLE border="1" width="526">
				<BR>
				<TBODY>
					<TR>
						<TD>Design Doc: <A
							href="http://dev.eclipse.org/viewcvs/indexwebtools.cgi/%7Echeckout%7E/jst/components/j2ee/development/design/FlexibleProjectStructureDesignOverview.html"></A></TD>
						<TD><A
							href="http://dev.eclipse.org/viewcvs/indexwebtools.cgi/%7Echeckout%7E/jst/components/j2ee/development/design/FlexibleProjectStructureDesignOverview.html">FlexibleProjectStructureDesignOverview.html</A></TD>
					</TR>
					<TR>
						<TD>API:</TD>
						<TD><A href="http://www.eclipse.org/webtools/wst/api/index.html">Flexible
						Project API</A></TD>
					</TR>
					<TR>
						<TD>Tutorial:</TD>
						<TD><A href="http://www.eclipse.org/webtools/jst/components/j2ee/scenarios/MavenEclipseIntegration.html">Maven Tutorial using Flexible Projects
						</A></TD>
				</TR>
				</TBODY>
			</TABLE>
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>Servlet creation and
			tooling</b></td>
			<td align="left" valign="top" width="85%">
			<p>The tooling now supports two styles of servlet creation within dynamic web projects. 
               The first is  xdoclet annotated servlet creation, where an annotated servlet class is 
               created and and the web app deployment descriptor artifacts are generated during every 
               build. The second is non annotated servlet creation where a plain java servlet class is 
               used and only the specific servlet deployment descriptor information is updated in the 
               web app during creation. The servlet creation wizard is easily found in the Dynamic Web 
               Group in the J2EE project explorer or from the File-&gt;New menu. </p>
			<img border="0" src="images/ServletScenario_Image4.jpg" alt="Servlet Creation Wizard" /></td>
			<!-- separating row -->
		</tr>
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		
		
		<!-- separating row -->

		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>EJB creation</b></td>
			<td align="left" valign="top" width="85%">
			<p>The tooling supports creation of Annotated Session Bean using XDoclet</p>
			<img border="0" src="images/SessionBean.jpg" alt="picture description"
				width="542" height="554" /></td>
			<!-- separating row -->
		</tr>
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		
					<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>Project Explorer</b></td>
			<td align="left" valign="top" width="85%">
			<p>Project Explorer has been redesigned to have the following
			features.</p>
			<ol>
			<li> <i>Content contributed by separate extenstions.</i> The content can be provided by 
			adding the navigatorContent extension point which gives the ability to add multiple content 
			providers for a given element. The example below show the content provided by using navigatorContent
			extension point.
			<br>
			<img border="0" src="images/contentextension.jpg" alt="" />
			</li>
			<li> <i>Resource and Java extensions included.</i> Resource and Java extensions are added to the Project Explorer by 
			adding them using the navigatorContent extension.</li>
			<li> <i>Grouping extensions.</i> The extensions can be grouped and the groups are provided by navigatorGroup extension point. 
			<br><img border="0" src="images/groupedextension.jpg" alt="" />
			</li>
			
			</ol>
			</td>
		</tr>
				<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
	</tbody>
</table>
<TABLE border="0" cellpadding="10" cellspacing="0" width="85%">

	<TBODY>
		<TR>
			<TD align="right" valign="top" width="15%"><B>Jar dependency support</B></TD>
			<TD align="left" valign="top" width="85%">
			<P>A Jar dependency page is added to the property sheet of all J2EE module projects: EJB project, Application Client project, Web project, and Connector project. This page allows you to edit jar dependencies of the selected project.</P>
			<IMG border="0" src="images/jarDependencyPage.JPG" alt=""></TD>
		</TR>
	</TBODY>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		
		<tr>
			<td colspan="2">
			<h3><!-- separating row -->Validation Framework</h3>
			</td>
		</tr>
		<!-- separating row -->
		<tr>
			<td colspan="2">
			<hr />
			</td>
		</tr>
		<!-- new item -->
		<tr>
			<td align="right" valign="top" width="15%"><b>Individual Validation
			Marker support</b></td>
			<td align="left" valign="top" width="85%">
			<p>The Validation framework now supports different Problem marker type for
			each Validator. This allows for more specific filtering of the list
			of Problems based on the Problem type selected in the Problems Filters dialog.</p>
			<img border="0" src="images/CustomMarkers.jpg" alt="" /></td>
		</tr>

</TABLE>
<p align="center"><font color="#808080">Previous</font>&nbsp;&nbsp;&nbsp;&nbsp;<a
	href="../../../../../development/news/1.0M3.html">Up</a>&nbsp;&nbsp;&nbsp;&nbsp;<a
	href="../../../../../wst/components/sse/M3/news/sse-m3.html">Next</a></p>
</body>
</html>

