<?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.2</h3>
			<p>
			This release is tentative planed for January, 31st 2013.
			</p>
			<ul>
			    <li>Apache Tika integration - extracting text from binary content</li>								
				<li>JDBC-Crawler: Splitting functionality for scaling</li>
				<li>Web-Crawling enhancements (robots.txt, boilerpipe integration)</li>
				<li>Cluster setup tutorial</li>																										
			</ul>
			
			<h3>Further plans</h3>			
			<ul>			    										
			    <li>HDFS objectstore</li>
			    <li>Basic MapReduce support</li>				
				<li>Alternative (Scripting) engine for synchronous workflows</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);
?>
