<?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.
			</>
			<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>
			<ul>
				<li>Cluster readiness (remote communication between components)</li>
				<li>Simple compound management</li>
				<li>More connectors (RSS)</li>
			</ul>
		</div>
		<div class="homeitem3col">
			<h3>SMILA Version 0.5 M3</h3>
			<ul>
				<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);
?>
