<?xml version="1.0" encoding="UTF-8"?>
<html>
    <head>
        <title>WTP Incubator</title>
    </head>
    <body>
    <h1>WTP Incubator</h1>
	<h4>Project Overview</h4>
	<p>The WTP Incubator is a generalized incubating project to foster the creation and development of new components of
	WTP subprojects, before they become part of a release.</p>
	<h2>JavaScript Components</h2>
	<h3>VJET Development Tools</h3>
	<p>The <a href="http://eclipse.org/vjet/">VJET JavaScript IDE</a> is an Eclipse plugin that provides a fully integrated development
	 environment for JavaScript - from authoring, to execution/test, and debugging. The project page contains information about the
	  project status, user guides, tutorials, and other useful information.</p>
	<h2>Source Editing Components</h2>
	<h3>XQuery Development Tools</h3>
	<p>The <a href="https://wiki.eclipse.org/XQDT">XQuery Development Tools (XQDT)</a> component provides support for XQuery inside
	Eclipse. Our goal is to have seamless integration with the Eclipse
	platform and the existing XQuery engines but also to create a user
	experience consistent with both XQuery and Eclipse standards. The
	<a href="https://wiki.eclipse.org/XQDT">eclipse wiki</a> page contains information about the project status,
	user guides, tutorials, and other useful information.</p>
	<h3>XML Security Tools</h3>
	<p>The XML Security Tools (XST) component supports signing, verifying as well as en- and decrypting of arbitrary XML documents
	based on the recommendations of the World Wide Web Consortium. See the <a
	href="https://wiki.eclipse.org/XML_Security_Tools_Proposal">proposal</a> and the <a
	href="https://wiki.eclipse.org/WTP/XMLSecurityTools">XML Security Tools Wiki Page</a> for more information
	about this component.</p>
	<h3>Visual XML Editor (VEX)</h3>
	<p>The <a href="https://wiki.eclipse.org/WTP/VisualXMLEditor/Proposal">Visual XML Editor</a> is a set of plugins that
	provide WYSIWYG editing ability for XML files. This can be used regardless of the XML involved, and uses CSS stylesheets
	to provide the formatting for the presentation layer. All that is needed is an stylesheet and an appropriate XML file to
	edit. It hides the XML tags from the user, allow them to have a word processor like experience but store the information
	in the native XML format.</p>
	<h3>Service Interface and Data Types Editors</h3>
	<p>The Service Interface and Data Types editors are Eclipse form-based
	WSDL and XSD editors. They provide easy-to-use, unified user interface
	and facilitating developers with quick and efficient application
	development in all WS and XSD related areas. In order not to restrict
	WSDL and XSD experts to the visual-editing capabilities of the tooling
	they also provide feature rich text-editing capabilities based on the
	WTP Structured Text Editor. See the
	<a href="https://wiki.eclipse.org/WTP/Service_Interface_and_Data_Types_Editors/Proposal">proposal</a>
	and the <a href="https://wiki.eclipse.org/Service_Interface_and_Data_Types_Editors">wiki page</a>
	for more information about this component.</p>
	<h2>JSF Components</h2>
	<h3>JSF Facelets Tools Project</h3>
	<p>The JSF Facelets Tools project will enable the current features of the JSF Tools Project in a dynamic web project
	for Facelets. See the <a href="/webtools/incubator/proposals/JSF Facelets Tools Proposal.html">JSF
	Facelets Tools Project proposal</a> for detailed information on the project. The <a
	    href="https://wiki.eclipse.org/JSF_Facelets_Tools_Project">JSF Facelets Tools Project Wiki</a> has the project status
	and other developer resources.</p>
	<h2>JPT Components</h2>
	<h3>JPA Diagram Editor Project</h3>
	<p>The JPA Diagram Editor project will allow the JPA developer to create, view, and edit her/his JPA model as diagram.
	See the <a href="https://wiki.eclipse.org/WTP/JPA_Diagram_Editor/Proposal">JPA Diagram Editor project proposal</a> 
	for detailed information on the project. The <a
	    href="https://wiki.eclipse.org/JPA_Diagram_Editor_Project">JPA Diagram Editor Project Wiki</a> has the project status
	and other developer resources.</p>	
    </body>
</html>
