<?xml version="1.0" encoding="UTF-8"?>
<sections title="Dali Java Persistence Tools"
	subtitle="An Eclipse Web Tools Platform Sub-Project">
	<section class="main" name="Dali 3.0 (Indigo) Download">
		<item>
			<a href="http://download.eclipse.org/webtools/downloads/">Dali 3.0</a> is now available for Eclipse 3.7.x/4.1.x and WTP 3.3.x.  
			The easiest way to get Dali 3.0 is to install the Indigo <a href="http://www.eclipse.org/downloads/">Java EE Package</a>. 
			To add Dali to your 3.7/4.1 based SDK, you can use the "Install New Software..." functionality and select the
			Indigo update site: <b>http://download.eclipse.org/releases/indigo/</b>.  Dali is located in the "Web, XML, Java EE and OSGi 
			Enterprise Development" category.
		</item>
	</section>
	<section class="main" name="Dali 2.3 (Helios) Download">
		<item>
			<a href="http://download.eclipse.org/webtools/downloads/">Dali 2.3</a> is now available for Eclipse 3.6.x and WTP 3.2.x.  
			The easiest way to get Dali 2.3 is to install the Helios <a href="http://www.eclipse.org/downloads/">Java EE Package</a>. 
			To add Dali to your 3.6 based SDK, you can use the "Install New Software..." functionality and select the
			WTP update site: <b>http://download.eclipse.org/webtools/updates/</b>.
		</item>
	</section>
	<section class="main" name="Dali 2.2 (Galileo) Download">
		<item>
			<a href="http://download.eclipse.org/webtools/downloads/">Dali 2.2</a> is now available for Eclipse 3.5.x and WTP 3.1.x.  
			The easiest way to get Dali 2.2 is to install the Galileo <a href="http://www.eclipse.org/downloads/">Java EE Package</a>. 
			To add Dali to your 3.5 based SDK, you can use the "Install New Software..." functionality and select the
			WTP update site: <b>http://download.eclipse.org/webtools/updates/</b>.
		</item>
	</section>
	<section class="main" name="Dali 2.1 Download">
		<item>
			<a href="http://download.eclipse.org/webtools/downloads/">Dali 2.1</a> is now available for Eclipse 3.4.x and WTP 3.0.x.  
			The easiest way to get Dali 2.1 is to upgrade your previous Dali 2.0 installation via the "Help->Software Updates..." 
			functionality.  The WTP update site is probably already available in the "Manage Sites..." list, but if not, add the 
			following site:  <b>http://download.eclipse.org/webtools/updates/</b>.
		</item>
	</section>
	<section class="main" name="Dali 2.0 Download">
		<item>
			<a href="http://download.eclipse.org/webtools/downloads/">Dali 2.0</a> for Eclipse 3.4 and (part of WTP 3.0).
			  If you already have WTP 3.0 or the Ganymede Java EE Package, you have Dali.  Otherwise, you need to download WTP.
		</item>
	</section>
	<section class="main" name="Installing Dali 2.x">       
        <item>
           	Dali 2.2 is bundled with WTP 3.1.  The most direct way to get the latest Dali release is to
           	1) Use the Update Manager or 2) Download the the appropriate WTP All-In-One bundle for your
           	platform.  The main download page will always have a link to the latest WTP Release.
		</item>
		<item>
           	Dali 2.1 is available as a stand-alone zip file as linked above, or you can install or
           	update via "Help->Software Updates..." functionality. <B>Make sure you get the latest WTP 3.0.3
           	Java EE Developer Tools when you update or install Dali 2.1</B>.  
		</item>
		<item>
			WebTools Update Site:  <b>http://download.eclipse.org/webtools/updates/</b>
		</item>
		<item>
               That's it! Check out the <a href="gettingstarted.php">Getting 
               Started</a> page to begin developing Java Persistence Entities.  Also check out the new <a href="docs/dali_user_guide_2.2.pdf"> Dali User Guide</a> 
               which is also available in the Eclipse Help.
		</item>
	</section>
	<section class="main" name="Dali 1.0 Download (Archive)">
		<item>
			<a href="http://download.eclipse.org/webtools/downloads/">Dali 1.0.1</a> for Eclipse 3.3 and (part of WTP 2.0.1).  If you already have WTP 2.0, you have Dali.  Otherwise, you need to download WTP.
		</item>
	</section>
	<section class="main" name="Installing Dali 1.0">  
		<description> 
		<ol>        
	        <li>
	           	Dali 1.0.x is bundled with WTP 2.0.x.  The most direct way to get the latest Dali release is to
	           	1) Use the Update Manager or 2) Download the the appropriate WTP All-In-One bundle for your
	           	platform.  The main download page will always have a link to the latest WTP Release.
			</li>
			<li>
	               That's it! Check out the <a href="gettingstarted.php">Getting 
	               Started</a> page to begin developing Java Persistence Entities.  Also check out the new <a href="docs/dali_user_guide_1.0.pdf"> Dali User Guide</a> 
	               which is also available in the Eclipse Help.
			</li>
		</ol>
		</description> 
	</section>
	<section class="main" name="Dali 0.5 Download (Archive)">
		<item>
            <a href="http://download.eclipse.org/webtools/jpa/downloads/drops/R-0.5-200606282232/">0.5</a> - Preview Release 0.5 - Target Platform:  Eclipse 3.2 and WTP 1.5
		</item>
	</section>
	<section class="main" name="Installing Dali 0.5">  
		<description> 
		<ol>        
	        <li>
	           	Download the latest Dali milestone build from the Downloads item above.  All prerequisites are listed
	           	on the download page for the specific Dali build.  For additional instructions, please continue with the following steps.
			</li>
			<li>
	           	Install appropriate 1.5 milestone of Eclipse WebTools and all of its prerequisites. Follow the 
	               WTP <a href="http://www.eclipse.org/webtools/faq/main.html#about_6">installation 
	               instructions</a>.  <stong>Note: Manual installation of WTP is currently required for the 1.5 stream.</stong>
			</li>
			<li>
	               <stong>Remove previous versions of Dali plug-ins from your plug-in 
	               directory. </stong>
			</li>
			<li>
	               Unzip dali-*.zip into your "eclipse" home's <stong>parent</stong> directory.
			</li>
			<li>
	               Launch Eclipse with the -clean option (at least the first time) 
	               to ensure all plugins are detected properly.
			</li>
			<li>
	               That's it! Check out the <a href="gettingstarted-0.5.php">Getting 
	               Started</a> page to begin developing Java Persistence Entities.  Also check out the new <a href="docs/dali_user_guide_0.5.pdf"> Dali User Guide</a> 
	               which is also available in the Eclipse Help.
			</li>
		</ol>
		</description> 
	</section>
</sections>