Feature Grid:
Taking David’s suggestion, here is a breakdown of features that are expected for 1st class eclipse integration, I also added the current WTP virtual component support
I added some comments, but also left some blank, if I didn’t have any meaningful thoughts J I highlighted some of the major pain points.
|
Arbitary linking |
Non-java “Source” folders |
Project Filter mapping |
Current WTP Support |
Navigability (Support from existing navigator views) |
Shows “logical” view of resources |
Shows physical view with “hidden” built content |
Shows physical view with filtering |
Shows physical view with “hidden” built content |
Editing experience (Support from core/WTP editors) |
Existing editors remain working on existing runtime
structure |
Editors required to introduce flexibility for source
structure |
Existing editors introduce flexibility to work on source
structure |
Existing editors remain working on existing runtime structure |
Deploy and Run Run in
Server space, Run in workspace |
Resources already in runtime structure – Require servers to use IResource
API |
Resources assembled into runtime structure. Servers point to output folders “as is” |
N/A |
Resources assembled into runtime structure. Servers point to output folders “as is” |
Existing
Platform/JDT preferences/tools integration |
All Supported |
All Supported – If adopted by base... |
All Supported |
Based on Projects – not components |
Classpath setup |
N/A |
Classpath per module supported |
Classpath per module supported |
Multiple components “share” classpath |
Doc Root/Context Refers to a fixed folder location For relative lookup |
IResource would provide proper
“runtime” root for relative links |
Support needed to calculate “runtime” doc root |
Support needed to calculate “runtime” doc root |
Support needed to calculate “runtime” doc root |
Resource Changed Clients which are "resource changed" listeners
need to know not just which Eclipse Project a resource is in, but also which
Web component (etc.) it is in. |
Supports resource changed deltas – no work required |
Supports resource changed deltas – no work required |
Supports resource changed deltas – no work required |
New resource changed listeners
required to map IResource to virtual
resource/component |
Markers Each marker and each use of it, may be a different case ...
but there needs to be some tie-in to the "parent project" ... for
example, in JSP debugging, the breakpoint marker, or more precisely, the
"SourceComputer" needs to know the "context
root" of the project. |
Markers shared between links |
Supported |
N/A |
Support required to map virtual resource to resource |
Scheduling Rules operations need to be able to compute the "smallest"
"resource collection unit" to lock during execution. |
Scheduling rule should be “link” aware possibly causing
wider scope |
Supported as is |
Support required to be “filter” aware – could include
other projects…. |
Scheduling rule should be aware of physical structure
possibly causing wider scope |
Team Support End-users will want to check
out/in and version control "whole web projects" or entire Maven
like layouts. |
Issues with team if linked from different projects |
N/A |
Team Project Sets required |
Works as is |
MetaData Components need shared
"meta data" that needs to be coordinated (e.g. CVS) with rest of web project (even if whole web project in mulitple Eclipse projects). |
N/A |
N/A |
Metadata stored in project root (could cause problems with existing structure) May need alternative directory |
Metadata stored in configured folder per component |
Debug Could use improved support for
JSR45, since "deployed structure" different than "development
structure" (and varies by server target) |
Resources already in runtime structure |
Debug required to introduce flexibility for source structure (Mapping back to source structure) |
Debug required to introduce flexibility for source structure (Mapping back to source structure) |
Debug required to introduce flexibility for source structure (Mapping back to source structure) |
Project Features Current
proposal expanding upon current Nature support |
Module features could be defined |
Module features could be defined |
Module features could be defined |
Would need to be mapped to components |
Profiling/Testing |
Resources already in runtime structure for testing |
Resources assembled into runtime structure – test from assembled location |
Resources assembled into runtime structure – test from assembled location |
Resources assembled into runtime structure – test from assembled location |
ContentType refined definitions of JSP based
on what's in web.xml (e.g
default encoding, acceptable file extensions) |
|
|
|
|
validateEdit |
Listeners should be notified of each linked resource |
Works as is |
Works as is |
Works as is |