<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="www.eclipse.org/eclipse/development/project-plan-render.xsl"?>
    <!--
        Format is detailed at
        http://wiki.eclipse.org/Development_Resources/Project_Plan
    -->
<!--  Use this to test local rendering -->
<!-- <?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?> -->
<p:plan
    plan-format="1.0"
    xmlns:p="http://www.eclipse.org/project/plan"
    xmlns="http://www.w3.org/1999/xhtml"
    name="WTP Source Editing">
	<p:release projectid="webtools.sourceediting" version="3.6 (Luna)" />
	<p:introduction>
		<p>The Source Editing project is a project under the
			Eclipse WTP top-level Project. Its main goal is to provide source
			editing support for
			typical web languages and the intermixing of them,
			with a focus on making
			the editors extensible and easily reusable.
			This document describes
			the features and the API set in the Source
			Editing project for the
			WTP 3.6 (Luna) release.</p>
	</p:introduction>
	<p:release_deliverables>
		<p>
			<ul>
				<li>Source
					code for deliverables tagged in Git as version tagged
					&quot;R3_6_0&quot;, viewable in the WTP Source Editing
					<a href="http://git.eclipse.org/c/sourceediting/">Git repositories</a>
					.
				</li>
			</ul>
		</p>
	</p:release_deliverables>
	<p:target_environments>
		<p>
			WTP Source Editing will support the platforms certified by the Eclipse Platform project.  For a list of platforms supported, see
			<a
				href="http://www.eclipse.org/projects/project-plan.php?projectid=eclipse#target_environments">Eclipse Target Operating Environments</a>
			.
		</p>
		<p:internationalization>
			<p>Internationalization and Localization will be supported.</p>
		</p:internationalization>
	</p:target_environments>
	<p:compatibility_with_previous_releases />
	<p:themes_and_priorities>
		<p:preamble>
				<p>Themes and their priorities communicate the main objectives of
					the project and their importance. These will be prioritized based
					on the community feedback. New themes could be synthesized from the
					requirements submitted by the community.
				</p>
				<p>
					The sections to follow defines the plan items in the Source
					Editing project. The plan items are grouped under the respective
					themes where applicable. Each plan item corresponds to a new
					feature, API or some aspects of the project that needs to be
					improved. A plan item has an entry in the Eclipse Bugzilla system
					that has a detailed description of the needed improvement. Not all plan
					items
					represent the same amount of work; some may be quite large,
					others,
					quite small. Although some plan items are for work that is
					more
					pressing than others, the plan items appear in no particular
					order.
					See the corresponding bugzilla items for up-to-date status
					information on ongoing work and planned delivery milestones.</p>
				<p>For Luna, Source Editing will primarily be focusing on maintenance
					issues, fixing bugs, and upgrading dependencies.</p>
		</p:preamble>
		<p:theme name="Everything">
			<p:description>
				<p>
					The following are plan items including those not yet
					categorized into a theme.
				</p>
			</p:description>
			<!-- keyword "plan" -->
			<p:committed
				bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;keywords_type=allwords&amp;short_desc=&amp;product=WTP+Source+Editing&amp;target_milestone=3.6+M1&amp;target_milestone=3.6+M2&amp;target_milestone=3.6+M3&amp;target_milestone=3.6+M4&amp;target_milestone=3.6+M5&amp;target_milestone=3.6+M6&amp;target_milestone=3.6+M7&amp;target_milestone=3.6+RC1&amp;target_milestone=3.6+RC2&amp;target_milestone=3.6+RC3&amp;target_milestone=3.6+RC4&amp;keywords=plan&amp;order=target_milestone%2Cpriority%2Cbug_id&amp;cmdtype=doit" />
			<p:proposed
				bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;keywords_type=allwords&amp;short_desc=&amp;product=WTP+Source+Editing&amp;target_milestone=3.6&amp;keywords=plan&amp;order=target_milestone%2Cpriority%2Cbug_id&amp;cmdtype=doit"></p:proposed>
			<p:deferred
				bugzilla="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;keywords_type=allwords&amp;short_desc=&amp;product=WTP+Source+Editing&amp;target_milestone=Future&amp;target_milestone=---&amp;target_milestone=4.0&amp;keywords=plan&amp;order=target_milestone%2Cpriority%2Cbug_id&amp;cmdtype=doit"></p:deferred>
		</p:theme>
	</p:themes_and_priorities>
	<p:appendix name="References">
		<ul>
			<li>
				The general WTP plan can be found
				<a
					href="http://www.eclipse.org/projects/project-plan.php?projectid=webtools">here</a>
				.
			</li>
		</ul>
	</p:appendix>
</p:plan>
