<?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'
/*******************************************************************************
 * Copyright (c) 2009 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *
 *    
 *******************************************************************************/
	
	$root = $_SERVER['DOCUMENT_ROOT'];

	require_once($root . "/eclipse.org-common/system/app.class.php");	require_once($root . "/eclipse.org-common/system/nav.class.php"); 	require_once($root . "/eclipse.org-common/system/menu.class.php"); 	  $App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());

	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Papyrus Update Sites";
	$pageKeywords	= "papyrus-rt, dsl, modeling, domain specific language, graphical, uml, sysml, Update Site";
	$pageAuthor		= "Simon Redding";
	
	# Paste your HTML content between the EOHTML markers!
	$html = <<<EOHTML
	
<!-- Middle part -->
<div id="midcolumn">

	<h1>Getting Started</h1>
	
	<ul>
		<li> <a href= "https://wiki.eclipse.org/Papyrus-RT">Papyrus-RT WIKI</a></li>
		<li> <a href= "https://wiki.eclipse.org/Papyrus-RT/User_Guide">Papyrus-RT User Guide</a></li>
		<li> <a href= "https://wiki.eclipse.org/Papyrus-RT/User_Guide/Installation">Papyrus-RT/User Guide/Installation</a></li>
		<li> <a href= "https://wiki.eclipse.org/Papyrus-RT/User_Guide/Tutorials">Papyrus-RT/User Guide/Tutorials</a></li>
	</ul>



</div>
EOHTML;

	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>
