<?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 - Getting Started";
	$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>SMILA - SeMantic Information Logistics Architecture</h1>
		<h2>Getting started</h2>
		<p>
			This page will give you a quick overview of available resources and help you getting started with SMILA.
		</p>
		<p>
			To get a brief overview of SMILA you can read our <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> document.
		</p>
		<p>
			<b>NOTE:</b> This page is still under construction, so please check back for future updates.
		</p>

		<div class="homeitem3col">
			<h3>Download</h3>
			<h4>Note:</h4>
			<p>
			We're still quite busy with preparing the publication of our first milestone so there <br> 
			is nothing to download yet.
			</p> 
		</div>
		<div class="homeitem3col">
			<h3>Installation</h3>
			<h4>Note:</h4>
			<p>
			As soon as we release the first milestone you will find some installation guidelines here.
			</p> 
		</div>
		<div class="homeitem3col">
			<h3>Documentation</h3>
			<p>
			Full technical documentation as well as specification/concepts together with integration and <br> 
			development guidelines can be found in our <a href="http://wiki.eclipse.org/SMILA" target="_blank">wiki</a>.
			</p> 
		</div>
	</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>
			</ul>
		</div>
	</div>	

EOHTML;


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