<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link type="text/css" href="../../default_style.css" rel="stylesheet">
<link type="text/css" href="../../webtools/wtp.css" rel="stylesheet">
</head>
<body>
<table border="0" cellpadding="2" cellspacing="5" width="100%">
<col width="16">
<col width="*">
<tbody>
<tr>
<td align="right" valign="top">&nbsp;</td><td valign="top">
<pre>
			Some of you have complained about the current process for
			updating the milestone and test plans since it involves
			checking out and building the entire Web site, which is now
			too bulky. Also, all Eclipse projects have been asked to
			clean up their sites so that the old plans are not
			cluttering up the Web pages.

			We have been holding off doing a major reorg of the Web site
			because the entire Eclipse Web site is going to be upgraded
			by the Phoenix project. However, we need to update our 1.0
			and 1.5 plans now and can't wait any longer for Phoenix.

			This note proposes a new structure, cooked up by Lawrence
			and me, that will address the build problem and simplify
			cleanup at the end of each release. Please review it and
			respond by Thursday. In the absence of any objections voiced
			at our status call on Thursday, we'll proceed with the plan.

			1. We will keep the 0.7 plans in the current structure to
			avoid broken links. These pages will be moved after Phoenix
			gives us automatic redirection capability.

			2. We will create a new directory structure for all current
			and future plans, as follows:


			/webtools/plans/"release"/"subproject"/"component"/"milestone"/

			The directory will contain only the milestone and test plans
			for that component and milestone. For example,


			/webtools/plans/1.0/wst/server/M8/milestone_plan.xml

			contains the milestone plan for M8 of the server component
			of WST in WTP 1.0.

			3. Each release will be a project and have a build script.
			You'll only have to check out the release portion of the Web
			site from CVS to update your plans. The build script will
			roll up your component plans into the master plans. For
			example, to update the plans for WTP 1.0, check out the
			project:

			/webtools/plans/1.0

			4. Tutorials will go into the community part of the Web site
			and be kept current, i.e. we will not keep tutorials for all
			milestones, just the current one. Users will be expected to
			upgrade to the latest milestone.

			5. There are some very bulky UML models with generated HTML.
			These will stay in the old directory structure. However, the
			source for the model (not the generated HTML) should be
			checked into the development CVS repository, NOT the Web
			site CVS. The HTML for the model will always be up to date,
			i.e we will not have versions of the models for each
			milestone since they are too bulky and are more like Javadoc
			than normal Web pages. If you need an old version of a
			model, get it from the dev CVS.

			6. Design docs will stay in the old directory structure and
			always reflect the current milestone, i.e. we do not have
			per milestone design docs. The source for the design docs
			should be checked in with the Java source code in the dev
			CVS.

			7. The API Javadoc will be removed from the Web site and
			packaged in the Eclipse Online Help system Web site. We will
			add a redirect to the new location.

			8. The top level Web pages will point to the current plans.
			We will also have a page for the archived and future plans.

			The above guidelines will keep the milestone-dependent parts
			of the Web site lean and easy to update.
		</pre>
</td>
</tr>
</tbody>
</table>
</body>
</html>
