<?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, Unified Information Access Architecture, unstructured information management, information logistics, semantic web, framework, platform, eclipse, big data, bigdata";
	$pageAuthor		= "Andreas Weber";

	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<h1>Project Plan</h1>
		<p>
			All previous releases and milestones are documented in the <a href="plan_archive.php">project plan archive</a>.
		</p>
		<div class="homeitem3col">						
					
			<h3>SMILA Version 1.3</h3>
			<p>
			This release is planned for December, 1st 2014.
			</p>
			<ul>			    							
				<li>Solr 4 integration/clustering</li>
				<li>Alternative (Scripting) engine for synchronous workflows</li>
			</ul>
			
			<h3>Further plans</h3>			
			<ul>
			    <li>Scalable Persistence (ObjectStore) based on HDFS / HBase</li>			    			
			    <li>Search API based on REST/JSON</li>										    			    			    						
				<li>MapReduce support</li>
				<li>General configuration management</li>				
			</ul>
		</div>
	</div>
	  
EOHTML;

	include('rightColumn.php');
	$html .= $rightColumn;

	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
