<?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 		= "Project Dash Leaders";
	$pageKeywords	= "";
	$pageAuthor		= "";
	
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<div class="homeitem3col">
			<h3>Dash Project Plan</h3>

<h4>M0 (December 2005)</h4>
<ul><li>
Project approval and initial code drop of Eclipse Monkey - <em>Completed</em>
</ul>

<h4>M1 (March 2006)</h4>
<ul>
<li>Dependency meta-data 
<li>Update site compatible DOMs 
<li>DOMFest at <a href="http://www.eclispecon.org/">EclipseCon</a> (BOF for building scripts and DOMs)
</ul>

<h4>M2 (April 2006)</h4>
<ul>
<li>Script gallery website
<li>Framework and one example of scripts triggered by events, e.g., "on resource change"
<li>Example DOM for build-and-release
</ul>

<h4>M3 (May 2006)</h4>
<ul>
<li>Tests embedded in scripts
<li>Scripts view to manage sharing; shows various meta-information about the scripts
</ul>

<h4>M4 (June 2006)</h4>
<ul>
<li>Examples DOMs for one or more of the Callisto projects (yet to be chosen)
</ul>

<h4>R1.0 (July 2006)</h4>
<ul>
<li>Testing against <a href="/projects/callisto.php">Callisto Simultaneous Release</a>
<li>Ramp-down, IP review, and release process
</ul>

<h4>R2.0M1 (July 2006)</h4>
<ul>
<li>Planning for R2.0. Potential features include: 
  <ul>
  <li>Refactor for most efficient use of Monkey in RCP applications
  <li>Extension for plug-ins to participate in defining meta-data
  </ul>
</ul>
	
	</div>
	</div>

EOHTML;

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