<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../new_and_noteworthy.xsl"?>
<release name="2.0 M6" root="../../..">
	<component name="Server Tools">
		<item title="HTTP Server Support">
			<description>
			   Thanks to a donation from ATF, WTP now supports publishing static web
			   applications to local HTTP servers! You can specify the directory to
			   publish to, which port the HTTP server uses, and any URL prefix that
			   your Apache (or other) HTTP server uses.
			   <br/>
			   <br/>
			   <img src="server/httpServer.gif" alt="HTTP server support"/>
			</description>
		</item>
		<item title="Preview Server">
			<description>
			   Want to compile or run a web application quickly, without waiting to download
			   or install an external server? The new Preview server allows you to do
			   exactly that - it supports static and dynamic web apps and allow you to preview
			   their function on the embedded Jetty server.
			   <br/>
			   Note: Due to bug 181081, support for running dynamic web apps is currently broken. 
			</description>
		</item>
		<item title="Debug Last Launched">
			<description>
			   Have you ever used Run on Server, hit a bug in your application, and then hit F11
			   to test again, only to find out that it tries to start the server again instead?
			   This long standing and annoying bug has been fixed, so you can now use F11
			   (or Ctrl-F11 for debug) to rerun just the last html page or EJB.
			</description>
		</item>
		<item title="Tomcat Publishing Options">
   <description>
      Two new options which affect publishing are now available in the Server Options
      section of the Tomcat server editor. The Tomcat server must be 5.0.x or later
      for these options to be enabled. The <b>Serve modules without publishing</b>
      option does what it says. Web content will be served directly from the "WebContent"
      folder of the Dynamic Web Project. A customized context is used to make the project's
      dependencies available in the Web application's classloader.
      The <b>Publish module contexts to separate XML files</b> option will publish contexts
      using the preferred method of separate XML files under the &quot;conf/Catalina/localhost&quot;
      directory, rather than keeping them in the &quot;server.xml&quot; file.  A couple of
      improvements for this option are noted in Bugs 180931 and 180936.
      <br/>
      <br/>
      <img src="server/tomcatOpts.png" alt="Tomcat publishing options"/>
   </description>
  </item>
  <item title="Tomcat Server Locations UI Improvement">
   <description>
      The UI has been improved in the Server Locations section of the Tomcat server editor.
      Configuration changes made using M5 version of the Server Locations section are
      fully compatible with M6.
      <br/>
      <br/>
      <img src="server/tomcatPaths.png" alt="Tomcat server paths UI improvement"/>
   </description>
  </item>
	</component>
</release>
