<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="..//default_style.css" type="text/css">
<link rel="stylesheet" href="..//webtools/wtp.css" type="text/css">
<title>News</title>
</head>
<body>
<table width="100%" cellspacing="5" cellpadding="2" border="0">
<tbody>
<tr>
<td width="60%" align="left"><font class="indextop">News</font>
<br>
<font class="indexsub">What&lsquo;s new with the WTP</font></td><td width="40%"><img width="120" hspace="50" height="86" align="middle" src="..//images/Idea.jpg"></td>
</tr>
</tbody>
</table>
<table WIDTH="100%" CELLPADDING="2" CELLSPACING="5" BORDER="0">
<tr>
<td BGCOLOR="#0080C0" COLSPAN="2" VALIGN="TOP" ALIGN="LEFT"><b><font face="Arial,Helvetica" color="#FFFFFF">&nbsp;</font></b></td>
</tr>
</table>
<table border="0">
<tr>
<td valign="top" width="100"><b>Feb. 26, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Feb. 26, 2005" icon="
                {$root}/images/adarrow.gif
              ">
   <a href="http://download.eclipse.org/webtools/downloads/drops/S-1.0M3-200502260707/index.html">WTP Milestone M3</a> available for download! M3 contains Web 
services and ejb tools, and flexible project layouts.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Feb. 23, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Feb. 23, 2005" icon="
                {$root}/images/adarrow.gif
              ">
 	Six new Web service tutorials posted on the <a href="http://www.eclipse.org/webtools/community/community.html#tutorials">community page</a>.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Feb. 22, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Feb. 22, 2005" icon="
                {$root}/images/adarrow.gif
              ">
 	<a href="http://www.bea.com" target="_top"><img src="http://www.eclipse.org/webtools/community/images/bea_logo.gif" border="0"></a>
<br>BEA Joins Eclipse Foundation as a Board Member and Strategic Developer; Elected as Lead for Web Tools Platform Project. <a href="http://www.bea.com/framework.jsp?CNT=pr01421.htm&FP=/content/news_events/press_releases/2005&ref=PR1" target="_top">Read the complete press release here</a>.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b></b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" icon="
                {$root}/images/adarrow.gif
              ">
 	<a href="http://www.eclipse.org/webtools/development/planning/roadmap.html">WTP Roadmap</a> posted.
 	This document outlines the plan for WTP 1.0, WTP 1.1, and beyond.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Feb. 21, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Feb. 21, 2005" icon="
                {$root}/images/adarrow.gif
              ">
 	<a href="http://www.eclipse.org/webtools/testtutorials/developingwtp/DevelopingWTP.html">Developing the WTP with Eclipse</a> tutorial posted.
 	This tutorial provides an introduction to WTP plug-in development using Eclipse.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Feb. 15, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Feb. 15, 2005" icon="
                {$root}/images/adarrow.gif
              ">
 	<a href="http://www.eclipse.org/webtools/development/milestone_plans/reports/help-wanted.html">Help Wanted</a> page posted.
 	If you would like to contribute to the project, read this page to find work items.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Feb. 08, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Feb. 08, 2005" icon="
                {$root}/images/adarrow.gif
              ">
 	<a href="http://www.eclipse.org/webtools/development/apiscanner/apiscanner.html">Eclipse API Scanner</a> posted. 
 	Learn how to describe the API of a component and scan plug-ins for API violations.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Jan. 24, 2005</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Jan. 24, 2005" icon="
                {$root}/images/adarrow.gif
              ">
     <a href="http://www.eclipsecon.org/" target="_blank"><img src="http://www.eclipsecon.org/images/2005/friendbanners/132x38.gif" border="0"></a>
<br>
     The WTP team is presenting three technical sessions, a tutorial, and
     a project sprint at <a href="http://www.eclipsecon.org/" target="_blank">EclipseCon</a>. This is a great opportunity to meet the
     people and learn about the project. Feb 28th-Mar 1st.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b></b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" icon="
                {$root}/images/adarrow.gif
              ">
   <a href="http://www.eclipse.org/webtools/testtutorials/M2/webapptutorial/BuildingAScheduleWebApp.html">Building a Student Schedule Web Application tutorial</a> posted.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b></b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" icon="
                {$root}/images/adarrow.gif
              ">
   XML Schema Editor demo <a href="http://www.eclipse.org/webtools/testtutorials/M2/xml/XSDEditorDemo/XSDEditorDemo_viewlet_swf.html">viewlet</a> posted.
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b></b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" icon="
                {$root}/images/adarrow.gif
              ">
   WTP site updated!
 <br>
<br>
</td>
</tr>
<tr>
<td valign="top" width="100"><b>Dec. 23, 2004</b></td><td valign="top" width="10"><img src="..//images/Adarrow.gif"></td><td valign="top" title="Dec. 23, 2004" icon="
                {$root}/images/adarrow.gif
              ">
   <a href="http://download.eclipse.org/webtools/downloads/drops/S-1.0M2-200412230036/index.html">Milestone M2</a> available for download.
 <br>
<br>
</td>
</tr>
</table>
</body>
</html>
