<?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 - Project Plan";
	$pageKeywords	= "SMILA, 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>Project Plan</h1>
		<div class="homeitem3col">
			<h3>SMILA Version 0.5 M1</h3>
			<p>
			This milestone was published on March 23rd 2009.
			</p>
			<ul>
				<li>Basic architecture settled and implemented</li>
				<li>Simple search application available</li>
				<li>Diverse connectors (File System, Web, DB)</li>
				<li>Incremental update</li>
				<li>Conception and implementation of search APIs</li>
				<li>Implementation of the security concept</li>
				<li>Ontology Service (introduction of semantic layer)</li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>SMILA Version 0.5 M2</h3>
			<p>
			This milestone was published on May 29th 2009.
			</p>
			<ul>
				<li>Simple compound management</li>
				<li>More connectors (RSS & Atom)</li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>SMILA Version 0.5 M3</h3>
			<ul>
				<li>Cluster readiness (remote communication between components)</li>
				<li>Web Service API support</li>
				<li>General configuration management</li>
				<li>More connectors (XML, Job file)</li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>SMILA Version 1.0 - Release 1.0</h3>
		</div>
	</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/617" target="_blank">Webinar</a></li>
			</ul>
		</div>
	</div>	

EOHTML;


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