<?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 - Documentation";
	$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>Documentation</h1>
		<p>
			SMILA's <a href="http://wiki.eclipse.org/SMILA">current documentation</a> (corresponds always to the code in trunk) together with concepts and specifications is being 
			completely maintained in our <a href="http://wiki.eclipse.org/SMILA" target="_blank">project wiki</a>. 
		</p>
		<p>
			The current (generated from the code in trunk) JavaDocs are always available 
			<a href="http://archive.eclipse.org/rt/smila/javadoc/current/" target="_blank">here</a>. 
		</p>
		<h2>Documentation archive</h2>
		<p>
			SMILA's archived documentation is provided as read-only  
			wiki export:
			<ul>
			    <li><a href="documentation/1.3/wiki.eclipse.org/SMILA.html" target="_blank">1.3</a> (<a href="documentation/wiki.eclipse.org_1.3_15.4.2015.zip">download</a>)</li>
			    <li><a href="documentation/1.2/wiki.eclipse.org/SMILA.html" target="_blank">1.2</a> (<a href="documentation/wiki.eclipse.org_1.2_17.4.2013.zip">download</a>)</li>
			    <li><a href="documentation/1.1/wiki.eclipse.org/SMILA.html" target="_blank">1.1</a> (<a href="documentation/wiki.eclipse.org_1.1_11.7.2012.zip">download</a>)</li>
				<li><a href="documentation/1.0/wiki.eclipse.org/SMILA.html" target="_blank">1.0</a> (<a href="documentation/wiki.eclipse.org_1.0_2.2.2012.zip">download</a>)</li>				
				<li><a href="documentation/0.9/SMILA.html" target="_blank">0.9</a> (<a href="documentation/wiki.eclipse.org_0.9_27.10.2011.zip">download</a>)</li>				
				<li><a href="documentation/0.8/SMILA.html" target="_blank">0.8</a> (<a href="documentation/wiki.eclipse.org_0.8_17.6.2011.zip">download</a>)</li>				
				<li><a href="documentation/0.7/SMILA.html" target="_blank">0.7</a> (<a href="documentation/wiki.eclipse.org_0.7_30.3.2011.zip">download</a>)</li>
                <li><a href="docs/ORDO_D.11.1.1.b_ConceptIntegrationFramework_V1.0.pdf" target="_blank">SMILA in a nutshell (corresponds to the state of 0.5 version)</a>.
			</ul>
		</p>
		<p>
			Archived JavaDocs are also available:
			<ul>								
			    <li><a href="http://archive.eclipse.org/rt/smila/javadoc/1.3/" target="_blank">1.3</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.3.zip">download</a>)</li>
			    <li><a href="http://archive.eclipse.org/rt/smila/javadoc/1.2/" target="_blank">1.2</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.2.zip">download</a>)</li>
		    	<li><a href="http://archive.eclipse.org/rt/smila/javadoc/1.1/" target="_blank">1.1</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.1.zip">download</a>)</li>
				<li><a href="http://archive.eclipse.org/rt/smila/javadoc/1.0/" target="_blank">1.0</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.0.zip">download</a>)</li>				
				<li><a href="http://archive.eclipse.org/rt/smila/javadoc/0.9/" target="_blank">0.9</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-0.9.zip">download</a>)</li>				
				<li><a href="http://archive.eclipse.org/rt/smila/javadoc/0.8/" target="_blank">0.8</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-0.8.zip">download</a>)</li>				
				<li><a href="http://archive.eclipse.org/rt/smila/javadoc/0.7/" target="_blank">0.7</a> (<a href="http://archive.eclipse.org/rt/smila/javadoc/SMILA-javadoc-0.7.zip">download</a>)</li>
			</ul>
		</p>
	</div>
	  
EOHTML;

	include('rightColumn.php');
	$html .= $rightColumn;

	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
