<?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, Unified Information Access Architecture, 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>Getting started</h1>
		<p>
			This page will give you a quick overview of available resources and help you getting started with SMILA.
		</p>
		<div class="homeitem3col">
			<h3>Download</h3>
			<p>
			To find out how to get SMILA binaries please go to our 
			<a href="http://www.eclipse.org/smila/downloads.php">download page</a>.
			</p> 
		</div>
		<div class="homeitem3col">
			<h3>Installation</h3>
			<p>
			To install SMILA just pick up the latest stable build (a release or a milestone) form the 
			<a href="http://www.eclipse.org/smila/downloads.php">download page</a> for your platform and 
			simply unzip the contents in some arbitrary folder (e.g. "C:\SMILA").
			</p> 
			<p>
			You can now start SMILA by executing either SMILA.exe (Win32) or SMILA (Linux). For configuration
			options please consult the documentation in our <a href="http://wiki.eclipse.org/SMILA" target="_blank">wiki</a>.
			</p> 
		</div>
		<div class="homeitem3col">
			<h3>Documentation</h3>
			<p>
			Full technical documentation as well as specification/concepts together with integration and 
			development guidelines can be found in our <a href="http://wiki.eclipse.org/SMILA" target="_blank">wiki</a>.
			</p> 
		</div>
		<div class="homeitem3col">
			<h3>Source code</h3>
			<p>
			SMILA's source code is being maintained in SVN repository located at:<br> 
			<a href="http://dev.eclipse.org/svnroot/rt/org.eclipse.smila/">http://dev.eclipse.org/svnroot/rt/org.eclipse.smila/</a>
			</p> 
		</div>
	</div>
	  
EOHTML;

	include('rightColumn.php');
	$html .= $rightColumn;

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