<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
	$pageTitle 		= "SMILA - Downloads";
	$pageKeywords	= "SMILA, Unified Information Access Architecture, unstructured information management, information logistics, semantic web, framework, platform, eclipse";
	$pageAuthor		= "Igor Novakovic";

	# Paste your HTML content between the EOHTML markers!
	$html = <<<EOHTML

	<div id="midcolumn">
		<h1>Downloads</h1>
		<h2>Releases</h2>
		<h3>0.7</h3>
		<p>
			The release <b>0.7</b> is the latest stable version of SMILA.
			<ul>
				<li>Linux binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/releases/0.7/SMILA-incubation-0.7-linux.gtk.x86.zip">SMILA-incubation-0.7-linux.gtk.x86.zip</a></li>
				<li>Win32 binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/releases/0.7/SMILA-incubation-0.7-win32.win32.x86.zip">SMILA-incubation-0.7-win32.win32.x86.zip</a></li>
			</ul>
		</p>
		<h2>Milestones</h2>
		<h3>0.5 M3</h3>
		<p>
			<ul>
				<li>Linux binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/milestones/0.5-M3/SMILA-incubation-0.5-M3-linux.gtk.x86.zip">SMILA-incubation-0.5-M3-linux.gtk.x86.zip</a></li>
				<li>Win32 binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/milestones/0.5-M3/SMILA-incubation-0.5-M3-win32.win32.x86.zip">SMILA-incubation-0.5-M3-win32.win32.x86.zip</a></li>
			</ul>
		</p>
		<h3>0.5 M2</h3>
		<p>
			<ul>
				<li>Linux binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/milestones/0.5-M2/SMILA-incubation-0.5-M2-linux.gtk.x86.zip">SMILA-incubation-0.5-M2-linux.gtk.x86.zip</a></li>
				<li>Win32 binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/milestones/0.5-M2/SMILA-incubation-0.5-M2-win32.win32.x86.zip">SMILA-incubation-0.5-M2-win32.win32.x86.zip</a></li>
			</ul>
		</p>
		<h3>0.5 M1</h3>
		<p>
			<ul>
				<li>Linux binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/milestones/0.5-M1/SMILA-incubation-0.5-M1-linux.gtk.x86.zip">SMILA-incubation-0.5-M1-linux.gtk.x86.zip</a></li>
				<li>Win32 binaries: <a href="http://www.eclipse.org/downloads/download.php?file=/rt/smila/milestones/0.5-M1/SMILA-incubation-0.5-M1-win32.win32.x86.zip">SMILA-incubation-0.5-M1-win32.win32.x86.zip</a></li>
			</ul>
		</p>
		<h2>Nightly builds</h2>
		<p>
			The nightly builds are provided for now only for Linux and Windows. Please note that these builds
			have not been tested and that they actually reflect the status of the current development branch.
			<ul>
				<li><a href="http://build.eclipse.org/rt/smila/nightly/">SMILA nightly builds</a></li>
			</ul>
		</p>
		<h2>Resources</h2>
		<p>
			If you would like to incorporate SMILA icon (e.g. "powered by SMILA") into your application or your website, here 
			are some icons you can freely use:
			<p>
				<img src="logo/SMILA_Tagline_Large.jpg" alt="SMILA with tagline - large" align="left" width="20%">
				<img src="logo/SMILA.Icon.tagline.jpg" alt="SMILA with tagline" align="left" width="20%">
				<img src="logo/SMILA.powered.gross.jpg" alt="powered by SMILA - large" align="left" width="20%">
				<img src="logo/SMILA_powered_klein.jpg" alt="powered by SMILA" align="left" width="20%">
			</p>
		</p>
		<h2>SMILA Distributions</h2>
		<p>
			Free and Commercial Distributions of SMILA:
			<ul>
				<li>eccenca: <a href="http://www.eccenca.com">Find out more about the different editions of eccenca</a></li>
				<li>eccenca Marketplace: <a href="http://market.eccenca.com">Components to extend the capabilities of your SMILA and eccenca installation</a></li>
			</ul>
		</p>
	</div>

	<div id="rightcolumn">
    	<div class="sideitem">
       		<h6>Incubation</h6><p>
       		<div align="center">
         		<a href="/projects/what-is-incubation.php">
           		<img align="center" src="/images/egg-incubation.png" border="0"/></a>
       		</div>
     	</div>
	  	<div class="sideitem">
			<h6>Links</h6>
			<ul>
				<li><a href="http://wiki.eclipse.org/SMILA" target="_blank">Wiki</a></li>
				<li><a href="http://www.eclipse.org/proposals/eilf/SMILA_Creation_Review.pdf" target="_blank">Creation Review</a></li>
				<li><a href="http://www.eclipse.org/proposals/eilf" target="_blank">Project proposal</a></li>
				<li><a href="http://live.eclipse.org/node/734" target="_blank">EclipseCon 09: SMILA - Make Sense of your Data</a></li>
				<li><a href="http://live.eclipse.org/node/617" target="_blank">Webinar</a></li>
			</ul>
		</div>
	</div>

EOHTML;


	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
