<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Project Plan - datatools.modelbase</title><meta name="author" content="Bjorn Freeman-Benson" />
<meta name="keywords" content="" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/small.css" title="small" /><link rel="alternate stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/large.css" title="large" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/visual.css" media="screen" /><link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/layout.css" media="screen" />
<!--[if IE]> 	<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie_style.css" media="screen"/> <![endif]-->
<!--[if IE 6]> 	<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/ie6_style.css" media="screen"/> <![endif]-->
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/print.css" media="print" />
<link rel="stylesheet" type="text/css" href="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/css/header.css" media="screen" />
<script type="text/javascript" src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/styleswitcher.js"></script>
</head>
<body>
<div id="header">
	<div id="header-graphic" class="eclipse-main">
		<a href="http://www.eclipse.org/"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg" alt="" /></a><h1>Eclipse</h1>	
	</div>
	<div id="header-global-holder" class="eclipse-main-global">
		<div id="header-global-links"><ul>
<li><a href="http://www.eclipse.org/org/foundation/contact.php" class="first_one">Contact</a></li><li><a href="http://www.eclipse.org/legal/">Legal</a></li>
			</ul>
		</div>
		<div id="header-icons">
<a href="http://www.youtube.com/user/EclipseFdn" target="_blank"><img src="/eclipse.org-common/themes/Phoenix/images/Icon_Live.png" width="28" height="28" alt="Eclipse YouTube Channel" title="Eclipse YouTube Channel" /></a>
<a href="http://www.eclipseplugincentral.com"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_plugin.png" width="28" height="28" alt="Eclipse Plugin Central" title="Eclipse Plugin Central" /></a>
<a href="http://www.planeteclipse.org"><img src="http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/Icon_planet.png" width="28" height="28" alt="Planet Eclipse" title="Planet Eclipse" /></a>
		</div>
	</div></div><div id="header-menu"><div id="header-nav">
		<ul>
		<li><a class="first_one" href="http://www.eclipse.org/" target="_self">Home</a></li> 
				<li><a  href="http://www.eclipse.org/users/" target="_self">Users</a></li> 
				<li><a  href="http://www.eclipse.org/membership/" target="_self">Members</a></li> 
				<li><a  href="http://www.eclipse.org/committers/" target="_self">Committers</a></li> 
				<li><a  href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li> 
				<li><a  href="http://www.eclipse.org/resources/" target="_self">Resources</a></li> 
				<li><a  href="http://www.eclipse.org/projects/" target="_self">Projects</a></li> 
				<li><a  href="http://www.eclipse.org/org/" target="_self">About Us</a></li> 
				</ul>
	</div>
	<div id="header-utils">
		<form action="http://www.google.com/cse" id="searchbox_017941334893793413703:sqfrdtd112s">
	 	<input type="hidden" name="cx" value="017941334893793413703:sqfrdtd112s" />
  		<input type="text" name="q" size="25" />
  		<input type="submit" name="sa" value="Search" />
		</form>
		<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=searchbox_017941334893793413703%3Asqfrdtd112s&lang=en"></script>		<ul>
						<li class="text_size"><a class="smallText" title="Small Text" href="#" onclick="setActiveStyleSheet('small');return false;">A</a> <a class="largeText" title="Large Text" href="#" onclick="setActiveStyleSheet('large');return false;">A</a></li>
		</ul>
	</div></div><div id="leftcol">
<ul id="leftnav">
<li style="background-image: url(/eclipse.org-common/themes/Phoenix/images/leftnav_fade.jpg); background-repeat: repeat-x; border-style: none;"><br /><br /><br /><br /><br /><br /><br /><br />
</li>
</ul>

</div>
<div id="container"><style>
h2 {
	border-bottom: 2px solid gray;
}
h3 {
	border-bottom: 1px dotted gray;
}
</style>
<div xmlns="http://www.w3.org/1999/xhtml" id="rendered-plan">
  <div id="maincontent">
    <div id="midcolumn">
      <h1><span style="font-size: 140%">Project Plan For
                        <a href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools.modelbase">Model Base</a></span>, version 1.7</h1>
      <div id="toc">
        <p>
          <a name="toc">
            <strong>Table of Contents</strong>
          </a>
        </p>
        <ul>
          <li>
            <a href="#introduction">Introduction</a>
          </li>
          <li>
            <a href="#release_deliverables">
                       Release Deliverables
                    </a>
          </li>
          <li>
            <a href="#release_milestones">
                       Release Milestones
                    </a>
          </li>
          <li>
            <a href="#target_environments">
                        Target Environments
                    </a>
          </li>
          <li>
            <a href="#compatibility">
                        Compatibility with Previous Releases
                    </a>
          </li>
          <li>
            <a href="#themes_and_priorities">
                        Themes and Priorities
                    </a>
          </li>
        </ul>
      </div>
      <h2>
        <a name="introduction">Introduction</a>
      </h2>
      <div>
     <p>"Data Tools" is a vast domain, yet there are a fairly small number of foundational 
     requirements when developing with or managing data-centric systems. A developer is 
     interested in an environment that is easy to configure, one in which the challenges of 
     application development are due to the problem domain, not the complexity of the tools employed. 
     Data management, whether by a developer working on an application, or an administrator maintaining 
     or monitoring a production system, should also provide a consistent, highly usable environment 
     that works well with associated technologies.</p>
     <p>The <a href="http://www.eclipse.org/datatools"><b>Data Tools Platform (DTP)</b></a>
project provides a set of frameworks and basic tools to enable data-centric development in a variety
of data types, including databases (via JDBC) and ODA data sources (for BIRT reporting). The frameworks
are open to allow common interfaces (both API and user interface) across different types of data.</p>
	 <p>DTP is broken into a number of sub-projects. This project plan focuses on the Modelbase subproject, which provides EMF models for managing database and SQL details.</p>
   </div>
      <h2>
        <a name="release_deliverables">Release Deliverables</a>
      </h2>
      <div>
   		DTP provides two main deliverables: one deliverable for developers, which includes 
   		source code, examples, and so on; and a user or runtime deliverable that just provides 
   		the basics for DTP use.  
    </div>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="release_milestones">Release Milestones</a>
      </h2>
      <p>The DTP project delivers a set of components to ease connecting to and working with data sources. Primarily DTP focuses on database (SQL development) work and ODA data sources for BIRT reporting.</p>
      <table border="1" align="center">
        <tr>
          <td>
            <b>M3</b>
          </td>
          <td>11/5/2008</td>
          <td>
            <div><p>
					Release Train M3 +1 Date (M3 GA on 11/19/08)
				</p>
	  		<p>(Note that this will be the DTP 1.6.2 M1 build for now until we branch Galileo sometime the week of November 10th)</p>
	  	</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M4</b>
          </td>
          <td>12/17/2008</td>
          <td>
            <div><p>
					Release Train M4 +1 Date (M4 GA on 1/12/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M5</b>
          </td>
          <td>2/3/2009</td>
          <td>
            <div><p>
					Release Train M5 +1 Date (M5 GA on 2/16/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M6</b>
          </td>
          <td>3/16/2009</td>
          <td>
            <div><p>
					Release Train M6 +1 Date (M6 GA on 3/23/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>M7</b>
          </td>
          <td>5/4/2009</td>
          <td>
            <div><p>
					Release Train M7 +1 Date (M7 GA on 5/11/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC1</b>
          </td>
          <td>5/18/2009</td>
          <td>
            <div><p>
					Release Train RC1 +1 Date (RC1 GA on 5/25/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC2</b>
          </td>
          <td>5/25/2009</td>
          <td>
            <div><p>
					Release Train RC2 +1 Date (RC2 GA on 6/1/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC3</b>
          </td>
          <td>6/1/2009</td>
          <td>
            <div><p>
					Release Train RC3 +1 Date (RC3 GA on 6/8/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC4</b>
          </td>
          <td>6/8/2009</td>
          <td>
            <div><p>
					Release Train RC4 +1 Date (RC4 GA on 6/15/09)
				</p>
			</div>
          </td>
        </tr>
        <tr>
          <td>
            <b>RC5</b>
          </td>
          <td>6/15/2009</td>
          <td>
            <div><p>
					Release Train RC5 +1 Date (Galileo GA on 6/26/09)
				</p>
			</div>
          </td>
        </tr>
      </table>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="target_environments">Target Environments</a>
      </h2>
      <div>
   <p>See the main Datatools plan for target environment details.</p>
    </div>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="compatibility">Compatibility with Previous Releases</a>
      </h2>
      <div>
<p>The goal of this release is to be backward compatible back to DTP 1.6.</p>
    </div>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
      <h2>
        <a name="themes_and_priorities">Themes and Priorities</a>
      </h2>
      <p>The Modelbase sub-project will work on the following themes and priority for the DTP Galileo release.</p>
      <p>(Note that "committed" items have the "plan" keyword in the BZ entry. "Proposed" items do not.)</p>
      <h3>Modelbase Priorities</h3>
      <p>We will focus on the following:</p>
      <ul>
	        	<li>Continue enhancing the dbdefinition model and database vendor docs</li>
		        <li>Respond to requests for proposed model changes</li>
	        </ul>
      <p>
        <a href="#toc">Table of Contents</a>
      </p>
    </div>
  </div>
</div>
<div style="visibility: hidden; float: right; text-align: right"><a href="?projectid=datatools.modelbase&raw=1">view raw xml of project plan</a><br>
<a href="http://www.eclipse.org/projects/dev_process/project-status-infrastructure.php">from project meta-data key "projectplanurl"</a></div>

</div> <!-- midcolumn -->
</div> <!-- maincontent -->
		<script type="text/javascript">
		var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
		document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
		</script>
		<script type="text/javascript">
		var pageTracker = _gat._getTracker("UA-910670-2");
		pageTracker._initData();
		pageTracker._trackPageview();
		</script></div><div id="footer">
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a><a href="http://www.eclipse.org/org/press-release/20081112_termsofuse.php"><img src="http://www.eclipse.org/images/updated.png" align="absmiddle" /></a></li>
</ul>
<p>Copyright &copy; 2008 The Eclipse Foundation. All Rights Reserved</p>
</div></body></html>