<?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		= "Igor Novakovic";

	# 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.2</h3>
			<p>
			This release is tentative planed for October, 31st 2012.
			</p>
			<ul>
				<li>Aperture integration</li>
				<li>Web crawling enhancements</li>
				<li>Cluster setup tutorial</li>							
				<li>Basic MapReduce support</li>
			</ul>
			
			<h3>Further plans</h3>			
			<ul>			    			
				<li>General configuration management</li>
				<li>Concept for debugging of BPEL processes</li>
				<li>Cluster objectstore implementation</li>
			</ul>
		</div>
	</div>
	  
EOHTML;

	include('rightColumn.php');
	$html .= $rightColumn;

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