<?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 July, 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);
?>
