<?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'

	#*****************************************************************************
	#
	# template.php
	#
	# Author: 		Denis Roy
	# Date:			2005-06-16
	#
	# Description: Type your page comments here - these are not sent to the browser
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "DLTK Project Plan";
	$pageKeywords	= "dltk, tcl, ruby, python, languages, eclipse, ide";
	$pageAuthor		= "Andrey Platov";
	
	# Add page-specific Nav bars here
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# $Nav->addNavSeparator("My Page Links", 	"downloads.php");
	# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);

	# End: page-specific settings
	# 
		
	include("_sideIncubator.php");		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

<div id="maincontent">
	<div id="midcolumn">
		<h1>$pageTitle</h1>
		<div class="homeitem3col">
			<h3>Project Plans</h3>
			<ul>
				<li><a href="http://wiki.eclipse.org/index.php/DLTK_Project_Plan">DLTK 0.9 Project Plan</a> is targeted to Eclipse 3.3 Platform and will reflect all the features stated in the creation review slides, will inlcude SDK with examples and ISV documentation.
		In addition full-featured TCL, Python, and Ruby IDE will be delivered as a components of the project.</li>
				<li><a href="plan0_7.php">DLTK 0.7 Project Plan</a> is targeted to Eclipse 3.2 Platform and include feature-rich TCL IDE. Probably subsequent version (0.8) would be released on this stream preserving Eclipse 3.2 compatibility. </li>
			</ul>
		</div>
		<hr class="clearer" />
	</div>
	<div id="rightcolumn">
	    <div class="sideitem">
			<h6>Related links</h6>
			<ul>
				<li><a href="/proposals/dltk/">Project proposal</a></li>
				<li><a href="/proposals/dltk/Dynamic%20Languages%20Toolkit%20-%20Creation%20Review%20Slides.pdf">Creation review slides</a></li>
			</ul>
		</div>	    
	    $incubatorSide
	</div>
</div>
<!-- $Id -->

EOHTML;


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