blob: 91b0f6128baef72ba5d74e70a6aea77a4473bb87 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Improving non-Java Web Development</title>
<script language="JavaScript" type="text/JavaScript" src="Res/code/shared.js"></script>
<script language="JavaScript" type="text/JavaScript" src="Res/code/boxController.js"></script>
<script language="JavaScript" type="text/JavaScript" src="Res/code/boxSettings.js"></script>
<link href="Res/styles/shared.css" rel="stylesheet" type="text/css">
<link href="Res/styles/SinglePage.css" rel="stylesheet" type="text/css">
</head>
<body id="page" onload="init()">
<!-- BEGIN PAGE BODY-->
<!-- BEGIN SIDE NAVIGATION WRAPPER-->
<table>
<tr>
<td class="outlineColumn">&nbsp;</td>
<td class="bodyColumn">
<!-- END SIDE NAVIGATION WRAPPER-->
<table id="pageBody">
<col class="main">
<col class="right">
<!-- BEGIN PAGE BODY TOP-->
<!-- needs to be an own HTM modul since I need to call "Page_Body_Item" twice-->
<!-- CENTRAL TOPIC-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic1"></a>
<span class=outlineNumberFirst></span><span class=topicLineFirst>Improving non-Java Web Development</span>
<span class="topicIcons">
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<div class="TOCbody">
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic2">1. The problem</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic3">2. Some solutions</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic4">3. Different User Type</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic5">3.1 More interest and knowledge of client-side</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic6">3.2 Less Server-Centric</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic7">3.2.1 Invisible, ready out of the box.</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic8">3.2.2 Simple HTTP Server (Adapter)</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic9">3.2.3 Multiple, configurable servers</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic10">3.3 Less interest or knowledge of project types</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic11">3.3.1 Simplified web project types</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic12">3.3.2 Interoperability of project types</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic13">4. Ease of Use</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic14">4.1 Capabilities</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic15">4.2 Specialized Perspectives</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic16">4.3 Simplified Wizards</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic17">5. Ease of Install</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic18">5.1 Complex pre-reqs and version dependencies</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic19">5.1.1 Improved Packaging</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic20">5.1.2 Too many requirements of things in wrong places</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic21">5.2 Provide more frequent updates</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic22">6. Footprint</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic23">6.1 JDT pre-req</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic24">6.1.1 Lessen JEM Dependency in WST</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic25">6.1.2 Lessen EMF Dependency in WST</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic26">6.2 Too few optional pre-reqs</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem3">
<a class="topicHyperlink" href="index.html#Topic27">6.2.1 Reduce Drag-In</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic28">6.3 nonSDK vs. SDK</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic29">7. Well (better) integrated Eclipse experience</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic30">7.1 Refactoring</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic31">7.2 Model based Compare</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic32">7.3 Improved Spell Checking</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem1">
<a class="topicHyperlink" href="index.html#Topic33">8. Improved Web support</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic34">8.1 Scripting languages</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<!-- BEGIN SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="TOCcontentItem2">
<a class="topicHyperlink" href="index.html#Topic35">8.2 XSLT</a></div>
<!-- END SINGLE PAGE CONTENTS OUTLINE ITEM WITH CHILDREN-->
<div class="topicDivider">
</div>
</div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!-- END PAGE BODY TOP-->
<!-- ALL OTHER TOPICS-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic2"></a>
<span class=outlineNumberSecond>1. </span><span class=topicLineSecond>The problem</span>
<span class="topicIcons">
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">WTP is a large project. It offers features and
functions for a wide range of web developers, and, some would say,
focuses primarily on Java and JEE aspects of Web Development.</div>
<div align="left"></div>
<div align="left">The WST project of WTP is for non-Java Web
Development. JST, JSF and JPA are, as the 'J' implies, for Java and
JEE Development. But, due to history and the whole Java-centric
nature of Eclipse, WST has not received enough attention in its own
right.</div>
<div align="left"></div>
<div align="left">This was fine for a while, but as WTP matures,
and as Web 2 applications become more popular, then some of the
shortcomings of WST become more apparent.</div>
<div align="left"></div>
<div align="left">This document is to serve as a place to organize
this overall theme of non-Java web development. That is, organize
it with prose, in a way that can not be done by individual bugzilla
entries or individual line items in a plan. Hopefully this document
will evolve, as our understanding and implementations
evolve.&#160;</div>
<div align="left"></div>
<div align="left">I should be explicit about 2 things:</div>
<ul style="margin-top: 0pt; margin-bottom: 0pt">
<li style=
"margin-left: -4mm; margin-right: 0mm; padding-left: 0mm;">This
document in no way constitutes a plan or commitment to implement
any of these ideas ... it's only to organize the concepts around a
theme. Though, volunteers and patches are welcome!</li>
<li style=
"margin-left: -4mm; margin-right: 0mm; padding-left: 0mm;">Many
people have contributed to the good parts of this document, most
notably Robert Goodman and others from the AJAX Tools Project. But,
I take credit for all the bad parts and the wacky ideas. You can
open bugs on this document itself, or send comments to our primary
mailing list, wtp-wst- dev@eclipse.org.</li>
</ul></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic3"></a>
<span class=outlineNumberSecond>2. </span><span class=topicLineSecond>Some solutions</span>
<span class="topicIcons">
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">There are several areas within this theme that
deserve focus.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic4"></a>
<span class=outlineNumberSecond>3. </span><span class=topicLineSecond>Different User Type</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">One distinct aspect of non-java development is
the user is perhaps less technical, or, at least, technical about
different things. Hence, part of the solution is to be aware of
that different type of user, and take that into account in a number
of functional and user interface areas.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic5"></a>
<span class=outlineNumber>3.1 </span><span class=topicLine>More interest and knowledge of client-side</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Non-java web developers have more concern, or
need to know about, browser specific details. For example, they may
want to validate their HTML against strict HTML 4.01 standards to
work in any browser (<a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=126934"><span>bug
126934</span></a><span>), or they may want to maximize some aspect
of their application by writing to, and validate against some
particular version of some particular browser or&#160; perhaps even
add custom tags.&#160;</span></div>
<div align="left"></div>
<div align="left">There are many other features for improved HTML
and CSS editing (such as spell checking, dynamically updating CSS
model, etc).</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic6"></a>
<span class=outlineNumber>3.2 </span><span class=topicLine>Less Server-Centric</span>
<span class="topicIcons">
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Non-java web developers typically do not much
care about what server is being used, nor need to test different
types of servers during development. Our current server UI in WTP
is JEE centric in the sense it gives lots of flexibility and power
in choosing and configuring servers. And, this is good for the
power JEE developer, but is too complicated for the non-Java web
developer.</div>
<div align="left"></div>
<div align="left">There are several levels of server UI that should
be available, depending on the users expertise and goals.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic7"></a>
<span class=outlineNumber>3.2.1 </span><span class=topicLine>Invisible, ready out of the box.</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">At this level, a user pretty much just would have
to say "run" or "preview" and things would run on a server, perhaps
without the user even being aware that it was running on a server.
No setup, no properties to set, etc. For this level, users should
be able to "run" the following sorts of pages. Where "run" means
the content is served up by a server, handling resolution of page
references, etc., as a server would: HTML pages, with CSS,
JavaScript, and simple JSPs and Servlets. There would be no "web
app" per se (or, if there was, it would be some default one that
the user would not even know about). Where server-side debug
exists, such as for JSPs and Servlets, the developer should (still)
be able to debug. See <a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=163100"><span>bug
163100</span></a><span>.</span></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic8"></a>
<span class=outlineNumber>3.2.2 </span><span class=topicLine>Simple HTTP Server (Adapter)</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Here the user wants to simply point to an
existing HTTP server. See <a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=85971"><span>bug
85971</span></a><span>. In this case, any setup of the server is
done entirely outside the development environment, and in many
cases would have already been done. For example, the developer may
have an HTTP server installed on their machine, which has been
enabled to run PHP scripts.</span></div>
<div align="left">Many web development IDEs do this by having the
user simply specify an URL to the base of the server (where pages
are subsequently published to, using FTP or WebDAV).</div>
<div align="left">In Eclipse, if the server is actually on the same
machine, the project/folder can be "linked" to the appropriate
location outside the workspace so any change to the file would be
immediately "visible" on the server.</div>
<div align="left">It would be interesting to investigate use of EFS
for a more invisible method of deployment.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic9"></a>
<span class=outlineNumber>3.2.3 </span><span class=topicLine>Multiple, configurable servers</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">This is already (pretty much) what we have in
WTP. The developer wants to use and test several server, and be
able to configure and integrate those test servers with their
environment (so, for example, the tool knows what the server is
capable of) and developers may need to share this configuration
with teammates.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic10"></a>
<span class=outlineNumber>3.3 </span><span class=topicLine>Less interest or knowledge of project types</span>
<span class="topicIcons">
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">JEE developers usually know a great deal about
WARs, EARs, RARs, Beans, etc., but non-java developers typically
know nothing of these things.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic11"></a>
<span class=outlineNumber>3.3.1 </span><span class=topicLine>Simplified web project types</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Task start"
src="MapMarkers/TaskCompleteIcon-0.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">The concept of "dynamic project" and "static
project" is confusing, especially to this type of non-Java
developer. See <a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=173901"><span>bug
173901</span></a><span>.</span></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic12"></a>
<span class=outlineNumber>3.3.2 </span><span class=topicLine>Interoperability of project types</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Non-Java web development, more so that J2EE
development, needs to work seemlessly with many different types of
projects.</div>
<div align="left"></div>
<div align="left">One good example is if someone has the PHP tools
installed, and are developing a PHP project, then they should be
able to use HTML, CSS, JavaScript in that project as they would in
a web project. (I think that it all currently possible, but we need
to verify). The one thing that is not currently possible, is that
someone should be able to "run on server" from that PHP project ..
preferably without the PHP project doing anything special. Or, if
they do need to do something, we need to work with them to make it
easy ... or, perhaps even contribute a patch? But, ideally, they'd
have to do nothing, since it is not really scalable to require
every possible potential project type to do something special to
publish to a server. For example, someone might want to "run on
server" from a Java project (either a servlet, or perhaps some
random HTML file?).</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic13"></a>
<span class=outlineNumberSecond>4. </span><span class=topicLineSecond>Ease of Use</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">While ease of use is always important, non-Java
web development is an area of opportunity to excel.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic14"></a>
<span class=outlineNumber>4.1 </span><span class=topicLine>Capabilities</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">To be able to hide complexities (until the user
needs it) is one important aspect of Usability that would help
non-Java web developers. In theory, for example, even if JDT was
present in the installed software, perhaps it should not be
"visible" by default, unless the user requested it.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic15"></a>
<span class=outlineNumber>4.2 </span><span class=topicLine>Specialized Perspectives</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 3"
src="MapMarkers/TaskPriorityIcon-3.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">One thing to investigate is if some more
specializied views or perspectives would help the non-Java web
developer. This would especially be true if solutions with
capabilities could not, effectively, remove all the non- required
aspects of the UI.</div>
<div align="left"></div>
<div align="left">For example, if Java is installed, it may be
unlikely they would, by default, disable all the Java UI or
capabilities, just for historical reasons. Or, the user may use
Java occasionally, but prefer to have a perspective that "hid" it
most the time, perhaps emphasizing more JavaScript development, for
example.</div>
<div align="left"></div>
<div align="left">Even if not provided "out of the box", we need to
make sure users can create the types of perspectives they desire
for non-Java web development..</div>
<div align="left"></div>
<div align="left">The other part of the investigation is not just
to investigate what to remove from the J2EE perspective, but what
other types of perspectives non-Java developers might need. for
example, perhaps a JavaScript perspective, perhaps an AJAX
perspective?</div>
<div align="left"></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic16"></a>
<span class=outlineNumber>4.3 </span><span class=topicLine>Simplified Wizards</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Some wizards seem to always have some
complications presented, even if not required, in the case of
non-Java web development.</div>
<div align="left"></div>
<div align="left">For example, a new project wizard, always lists a
"target server" to select, even though, as we've said elsewhere,
the non-Java web developer typically only has one server that
should apply to all cases ... and the "target server" is confusing
to new users, who are accustom to simpler tools.</div>
<div align="left"></div>
<div align="left">Similarly, if there are no facets to add then
that part of the new web-project wizard should not be
displayed.</div>
<div align="left"></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic17"></a>
<span class=outlineNumberSecond>5. </span><span class=topicLineSecond>Ease of Install</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 3"
src="MapMarkers/TaskPriorityIcon-3.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic18"></a>
<span class=outlineNumber>5.1 </span><span class=topicLine>Complex pre-reqs and version dependencies</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Besides having a number of pre-reqs, often the
exact version of pre-reqs is critical. This makes it hard for the
casual user to "click and go", so to speak.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic19"></a>
<span class=outlineNumber>5.1.1 </span><span class=topicLine>Improved Packaging</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left"><font size="2"><span style="font-size:10pt">One
way to improve is to actually 'include', not just 'require' some of
our pre-reqs, in both zips and WTP update sites. See</span></font>
<a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=182340"><font size=
"2"><span style="font-size:10pt">bug
182340</span></font></a><font size="2"><span style=
"font-size:10pt">.</span></font></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic20"></a>
<span class=outlineNumber>5.1.2 </span><span class=topicLine>Too many requirements of things in wrong places</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">There is a number of places where dependencies
can be simplified, eventually.</div>
<div align="left">For example, SSE still depends on the UnDo
functionality that happens to be provided in EMF. This was done
since historically since EMF had it first, but now that the
platform offers one, we should transition to it. (I should say
transition completely, as some of the preliminary work has been
done ... but, a hard part remains).&#160;</div>
<div align="left">Another case, Some of the "utilities" in JEM
should be promoted to EMF (as their purpose is to provide some
enhanced EMF-related function).&#160;</div>
<div align="left">One hard aspect of this line of work is that
there is little pay back for each fix. It will only be when a dozen
or so such simplifications are done that the pay-off would actually
start to show up in simplified dependencies overall.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic21"></a>
<span class=outlineNumber>5.2 </span><span class=topicLine>Provide more frequent updates</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Typically, there is one update site for official
releases. This is required to remain true, since other adopters or
their products require only official releases be available to their
users.</div>
<div align="left"></div>
<div align="left">But, to speed adoption by bleeding edge
end-users, we should have milestone, and even weekly update site
for those users who choose to follow closely.</div>
<div align="left"></div>
<div align="left">This is thought especially important for web
developers since the time scale of web developers is sort of
"compressed" ... they make frequent updates to their environments
and tools.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic22"></a>
<span class=outlineNumberSecond>6. </span><span class=topicLineSecond>Footprint</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">There's a number of problems that cause WST to be
larger than it needs to be.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic23"></a>
<span class=outlineNumber>6.1 </span><span class=topicLine>JDT pre-req</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Technically, JDT is not required by any WST code,
directly, but WST pre-reqs JEM and EMF, and parts of JEM and EMF
pre-req JDT.</div>
<div align="left"></div>
<div align="left">So, for example, if we get rid of the JEM
dependencies in WST, then WST would be smaller, since it would not
only need JEM, it would also not need JDT.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic24"></a>
<span class=outlineNumber>6.1.1 </span><span class=topicLine>Lessen JEM Dependency in WST</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Just for some historical reason, some plugins in
WST use some utilities in JEM. We could package just the
jem.utils&#160; in WST, and the rest of JEM in JST. That would
eliminate one source of JDT requirement in WST. See <a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=182269"><span>bug
182269</span></a><span>.</span></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic25"></a>
<span class=outlineNumber>6.1.2 </span><span class=topicLine>Lessen EMF Dependency in WST</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">WST as a whole, will always need some parts of
EMF (such as the EMF core, and XSD Info set) but, there are other
parts, such as the SDO models, that are only required in JST. While
EMF does not provide exactly that packaging we need, based on
features, there's no reason we can not "repackage" what we need
from EMF into our appropriate features. See <a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=182340"><font size=
"2"><span style="font-size:10pt">bug
182340</span></font></a><font size="2"><span style=
"font-size:10pt">.</span></font></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic26"></a>
<span class=outlineNumber>6.2 </span><span class=topicLine>Too few optional pre-reqs</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">In some cases, there are only minor dependencies
on pre-reqs. In many of these cases, the pre-req should be
optional, and even if there is minor loss of function, at least it
gives more choices and flexibility in trading off footprint for
function. Even if we in WTP still provided everything, at least
there would be more options for others (such as the AJAX Tool
Project) to provide a reduced install).</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic27"></a>
<span class=outlineNumber>6.2.1 </span><span class=topicLine>Reduce Drag-In</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left"><font size="2"><span style="font-size:10pt">In
some cases, using an optional pre-req can prevent large indirect
"drag in" effects, where for example, a tiny dependency requires
the whole JDT. See</span></font> <a href=
"https://bugs.eclipse.org/bugs/show_bug.cgi?id=182274"><font size=
"2"><span style="font-size:10pt">bug
182274</span></font></a><font size="2"><span style=
"font-size:10pt">.</span></font></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic28"></a>
<span class=outlineNumber>6.3 </span><span class=topicLine>nonSDK vs. SDK</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 1"
src="MapMarkers/TaskPriorityIcon-1.gif">
<!-- END SNIPPET ICONS-->
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Half done"
src="MapMarkers/TaskCompleteIcon-4.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">WTP and it's pre-reqs are often judged as "too
big". While there are many ways to make it smaller, once way is to
better provide the proper packaging for end-users. Namely, end-
users, those simply using it to create web apps, need only the non-
sdk versions of WTP (or WST, for this discussion) and it's pre-
reqs, not the SDK versions. This can make an extreme difference in
size. For example, the following table shows the approximate zip
file size comparing SDK vs. runtime for all of WST and its pre-
reqs, in Megabytes.</div>
<div align="left"></div>
<table border="1" bordercolor="#000000" width="70%" cellpadding="5"
style="border-collapse: collapse; border: none">
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 1.00pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">Component</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 0.50pt; border-top:solid 1.00pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">SDK</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 0.50pt; border-top:solid 1.00pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">End-User</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 1.00pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">Percent</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left">Eclipse Platform</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">85</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">39</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">46</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">JDT</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">37</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">21</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">57</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">PDE</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">11</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">8</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">73</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">CVS</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">3</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">2</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">67</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">EMF</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">25</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">3</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">12</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" height="24" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">GEF</div>
</td>
<td valign="top" width="25%" height="24" style=
"border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">6</div>
</td>
<td valign="top" width="25%" height="24" style=
"border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">1</div>
</td>
<td valign="top" width="25%" height="24" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">17</div>
</td>
</tr>
</table>
<table border="1" bordercolor="#000000" width="70%" cellpadding="5"
style="border-collapse: collapse; border: none">
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">JEM</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">3</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">1</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">33</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">WST</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">33</div>
</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">21</div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">64</div>
</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">&#160;</div>
&#160;</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">&#160;</div>
&#160;</td>
<td valign="top" width="25%" style="border: solid 0.50pt;">
<div align="left" class="lastTableNotesDiv">&#160;</div>
&#160;</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 0.50pt">
<div align="left" class="lastTableNotesDiv">&#160;</div>
&#160;</td>
</tr>
<tr>
<td valign="top" width="25%" style=
"border-left:solid 1.00pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 1.00pt">
<div align="left" class="lastTableNotesDiv"><b>Total</b></div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 1.00pt">
<div align="left" class="lastTableNotesDiv"><b>203</b></div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 0.50pt; border-top:solid 0.50pt; border-bottom:solid 1.00pt">
<div align="left" class="lastTableNotesDiv"><b>96</b></div>
</td>
<td valign="top" width="25%" style=
"border-left:solid 0.50pt; border-right:solid 1.00pt; border-top:solid 0.50pt; border-bottom:solid 1.00pt">
<div align="left" class="lastTableNotesDiv"><b>47</b></div>
</td>
</tr>
</table>
<div align="left"></div>
<div align="left">So, at least 50% smaller, just by not packaging
the SDK. It is interesting to note, for comparison, if by chance we
somehow got rid of ALL our pre-reqs (except the Platform), then our
zip file size then would be reduced by about similar amounts (85 +
33 = 118 (SDK)&#160; or 39 + 21 = 60 Meg) ... so, hopefully we can
eventually do a little of both and get down to around 30% of what
we are now.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic29"></a>
<span class=outlineNumberSecond>7. </span><span class=topicLineSecond>Well (better) integrated Eclipse experience</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">One measure of a non-Java component's adequacy,
is it it provides the same sorts of functionality that is available
in the Java IDE. In many cases we do, but there's a few that are
noticeably absent.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic30"></a>
<span class=outlineNumber>7.1 </span><span class=topicLine>Refactoring</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Refactoring means something a little different to
non-Java Web developers. In this case, it is mostly about link
references and link "fix up". For example, if some images files are
moved to another folder, it would be nice to offer the user to "fix
up" any HTML pages that linked to those images.</div>
<div align="left"></div>
<div align="left">While we have put in some refactoring support for
JEE projects and artifacts (still more to do there) we have not
done any such refactoring work for WST only users.</div>
<div align="left"></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic31"></a>
<span class=outlineNumber>7.2 </span><span class=topicLine>Model based Compare</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">We currently provide no model based compare for
XML, HTML, CSS, etc. In a model based compare, things like the
order of attributes in a tag would not show up as a "difference" in
files, since that makes no difference to interpreting that
particular type of data.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic32"></a>
<span class=outlineNumber>7.3 </span><span class=topicLine>Improved Spell Checking</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Perhaps add known or common HTML tags, etc, to
built-in dictionary.</div>
<div align="left"></div>
<div align="left">Perhaps improve spell checking API (to be
sensitive to content types, partition types, etc).</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic33"></a>
<span class=outlineNumberSecond>8. </span><span class=topicLineSecond>Improved Web support</span>
<span class="topicIcons">
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">In general there's a few week spots in WST that
could be improved. They become even more important in the context
of Web 2.0 development.</div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic34"></a>
<span class=outlineNumber>8.1 </span><span class=topicLine>Scripting languages</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">Scripting languages are more important to non-
Java web developers than to their JEE developer counterparts.
JavaScript, PHP, etc.</div>
<div align="left"></div>
<div align="left">The <a href=
"http://wiki.eclipse.org/index.php/JSDT"><span>JSDT</span></a>
<span>is one effort to improve JavaScript in WTP and make it a
first-class development environment, on par with the Java
Development environment. Plus, there are other, similar efforts,
such as in DLTK that we should leverage to the extent
possible.</span></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!--BEGIN PAGE BODY ITEM-->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<table>
<tr class="topicHeader">
<td class="topicImageColumn">
</td>
<td class="topicLineColumn">
<a name="Topic35"></a>
<span class=outlineNumber>8.2 </span><span class=topicLine>XSLT</span>
<span class="topicIcons">
<!-- BEGIN SNIPPET ICONS (Page_Icons,Page_Box_CalloutNotes_Item) -->
<img class="topicIcon" width="16" height="16" alt="Priority 2"
src="MapMarkers/TaskPriorityIcon-2.gif">
<!-- END SNIPPET ICONS-->
</span>
</td>
</tr>
</table>
<div class="topicTextNotes"><div align="left">XSL and XSLT is important in any web development,
and probably more so in non- Java web development. WST currently
has nothing "built in" for XSL or XSLT. While in theory many
"advanced functions" could be in scope of WST, as a practical
matter, just a few simple additions would drastically help web
developers. Some "new file" templates, some basic "launch"
capability.</div>
<div align="left"></div></div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!--END PAGE BODY ITEM-->
<!-- BEGIN TOP BUTTON -->
<tr class="topic">
<td class="main" valign="top" colspan="2">
<div class="body">
<div class="topCommand">
<span class="commands">
<span class="command">
<img src="Res/images/top_button.gif" alt="">
<a href="javascript:scroll(0,0)">
<span class="label">Top</span>
</a>
</span>
</span>
</div>
</div>
</td>
<td class="right" valign="top">
<!--right body column empty-->
</td>
</tr>
<!-- END TOP BUTTON -->
</table>
<!-- BEGIN SIDE NAVIGATION WRAPPER-->
</td>
</tr>
</table>
<!-- END SIDE NAVIGATION WRAPPER-->
<!-- END PAGE BODY-->
</body>
</html>