<?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 
 * 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:
 *    
 *******************************************************************************/

	$pageTitle 		= "Tycho - Documentation";

	$html  = <<<EOHTML
<div id="midcolumn">
<h2>$pageTitle</h2>
<p>The tycho documentation is still work in progress.</p>
<p>Some useful sources of information:
<ul>
  <li><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&id=2049">Tycho tutorial and exercises (EclipseCON 2011)</a></li>
  <li><a href="http://wiki.eclipse.org/Tycho/Demo_Projects">Tycho demo projects</a></li>
  <li><a href="http://wiki.eclipse.org/Tycho/Reference_Card">Tycho reference card</a></li>
  <li><a href="http://mattiasholmqvist.se/2010/02/building-with-tycho-part-1-osgi-bundles/">Blog series "Building with Tycho" by Mattias Holmqvist</a></li>
  <li><a href="http://github.com/sonatype/sonatype-tycho/tree/master/tycho-its/projects/">Tycho integration tests contain many examples you can use as templates</a></li>
  <li><a href="http://dev.eclipse.org/mhonarc/lists/tycho-user/">Search the tycho-user mailing list archive</a></li>
  <li><a href="http://dev.eclipse.org/mhonarc/lists/tycho-dev/">Search the tycho-dev mailing list archive</a></li>
  <li><a href="http://software.2206966.n2.nabble.com/Tycho-Users-f3053503.html">Search the [OLD] sonatype mailing list archive</a></li>
  <li><a href="https://issues.sonatype.org/browse/TYCHO">Search the [OLD] sonatype issue tracker</a></li>
  <li><a href="https://dev.eclipse.org/mailman/listinfo/tycho-user">Ask on the tycho-user@eclipse.org mailing list</a></li>
</ul>
</p>

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