<?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 current (corresponds always to the code in trunk) documentation (together with concepts and specifications) is being 
			completely maintained in our project <a href="http://wiki.eclipse.org/SMILA" target="_blank">wiki</a>. 
		</p>
		<p>
			The current (generated from the code in trunk) JavaDocs are always available 
			<a href="http://build.eclipse.org/rt/smila/javadoc/current/" target="_blank">here</a>. 
		</p>
		<h2>Documentation archive</h2>
		<p>
			SMILA's archived documentation (together with concepts and specifications) is provided as read-only  
			wiki export:
			<ul>
			    <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://build.eclipse.org/rt/smila/javadoc/1.2/" target="_blank">1.2</a> (<a href="http://build.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.2.zip">download</a>)</li>
		    	<li><a href="http://build.eclipse.org/rt/smila/javadoc/1.1/" target="_blank">1.1</a> (<a href="http://build.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.1.zip">download</a>)</li>
				<li><a href="http://build.eclipse.org/rt/smila/javadoc/1.0/" target="_blank">1.0</a> (<a href="http://build.eclipse.org/rt/smila/javadoc/SMILA-javadoc-1.0.zip">download</a>)</li>				
				<li><a href="http://build.eclipse.org/rt/smila/javadoc/0.9/" target="_blank">0.9</a> (<a href="http://build.eclipse.org/rt/smila/javadoc/SMILA-javadoc-0.9.zip">download</a>)</li>				
				<li><a href="http://build.eclipse.org/rt/smila/javadoc/0.8/" target="_blank">0.8</a> (<a href="http://build.eclipse.org/rt/smila/javadoc/SMILA-javadoc-0.8.zip">download</a>)</li>				
				<li><a href="http://build.eclipse.org/rt/smila/javadoc/0.7/" target="_blank">0.7</a> (<a href="http://build.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);
?>
