<?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, unstructured information management, information logistics, semantic web, framework, platform, eclipse";
	$pageAuthor		= "Igor Novakovic";

	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<h1>Documentation</h1>
		<p>
			SMILA's 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>
			For a quick introduction to SMILA you can read  
			<a href="http://www.eclipse.org/smila/docs/ORDO_D.11.1.1.b_ConceptIntegrationFramework_V1.0.pdf" target="_blank">SMILA in a nutshell</a>.
		</p>
	</div>
	  
	<div id="rightcolumn">
    	<div class="sideitem">
       		<h6>Incubation</h6><p>
       		<div align="center">
         		<a href="/projects/what-is-incubation.php">
           		<img align="center" src="/images/egg-incubation.png" border="0"/></a>
       		</div>
     	</div>
	  	<div class="sideitem">
			<h6>Links</h6>
			<ul>
				<li><a href="http://wiki.eclipse.org/SMILA" target="_blank">Project Wiki</a></li>				
				<li><a href="http://www.eclipse.org/proposals/eilf/SMILA_Creation_Review.pdf" target="_blank">Creation Review</a></li>
				<li><a href="http://www.eclipse.org/proposals/eilf" target="_blank">Project proposal</a></li>
				<li><a href="http://live.eclipse.org/node/617" target="_blank">Webinar</a></li>
			</ul>
		</div>
	</div>	

EOHTML;


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