<?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 was published on April, 17th 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>Remote-Crawling</li>
				<li>Cluster setup tutorial</li>																										
			</ul>
			
			<h3>Further plans</h3>			
			<ul>			    										
			    <li>HDFS objectstore</li>
			    <li>Solr 4 integration/clustering</li>			    			
				<li>Alternative (Scripting) engine for synchronous workflows</li>
				<li>Basic 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);
?>
