© 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams...
-
Upload
edwin-wilkerson -
Category
Documents
-
view
217 -
download
2
Transcript of © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams...
© 2005 by IBM; made available under the EPL v1.0 | June 9, 2005
David [email protected]
WTP Source Editing Open HouseWTP Source Editing Open House
2 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Agenda
Committers/Contributors End User Features Add-on/Extender Features Components/Plugins APIs (Provisional) Quality To Do for 0.7 To Do for 1.0 Future
3 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Committers/Contributors
David Williams (IBM) Text Models, parsing
Nitin Dahyabhai (IBM) Parsing, Outlines, Properties, Breakpoints, Taglibs, TaskTags
Phil Avery (IBM) Search, Indexing, General Content Assist, Source Validation
Jens Lukowski (Innoopract / Independent) XML Editing Graph View, Examples
Amy Wu (IBM) Hover Info, Preferences, Hyperlinks, Quick Fix, Icons
Ted Carroll (BEA) JSP 2.0 Expression Language editing
Craig Salter (IBM) Schema’s
Plus many many others
4 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
End User Features
Well behaved, well integrated Eclipse editors Seamless user experience Search, refactor, debug
General Introductionhttp://www.eclipse.org/webtools/wst/components/sse/M2/m2.html
The Matrix (re-reloaded)http://www.eclipse.org/webtools/wst/components/sse/M4/milestone_test_plan.xml#matrix
5 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Add-on/Extender Features
Light weight Framework for content based editing Easily embedded in other (multipage) editors
Easy to extend outline view, properties view, source validation for “mark up” languages (content assist?)
Extensible, based on contentType and nested contentType Model Text and DOM APIs
Fault tolerant, incremental parsing
Careful tracking of exact source locations
Translation from one source representation to another
Notification to keep models “in synch”
Possible (post 1.0) Future Framework for Language Providers (ltk - like)
6 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Components/Plugins
JST JSP
org.eclipse.jst.jsp.core org.eclipse.jst.jsp.ui
WST Web Resources
org.eclipse.wst.css.core org.eclipse.wst.css.ui org.eclipse.wst.html.core org.eclipse.wst.html.ui org.eclipse.wst.html.standard.dtds org.eclipse.wst.javascript.core org.eclipse.wst.javascript.ui
7 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Components/Plugins
WST XML (and Schemas and DTDs)
org.eclipse.wst.sse.core org.eclipse.wst.sse.ui org.eclipse.wst.dtd.core org.eclipse.wst.dtd.ui org.eclipse.wst.dtd.validation org.eclipse.wst.xml.catalog org.eclipse.wst.xml.catalog.ui org.eclipse.wst.xml.core org.eclipse.wst.xml.ui org.eclipse.wst.xml.uriresolver org.eclipse.wst.xml.validation org.eclipse.wst.xsd.contentmodel org.eclipse.wst.xsd.ui org.eclipse.wst.xsd.validation
8 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Related Standards
XML 1.0 (not 1.1, that is, no supplementary characters) JSP 1.1, 1.2 JSP 2.0 (mostly, lacking support for some deployment attributes) HTML 4.01 (plus a little) DOM Level 2 Core APIs (mostly, some not implemented) XHTML 1.0, 1.1
Note: Our “DOM Parser” is not a “standard” (per spec) XML Parser, since parses ill-formed input with heuristics
The implication for clients is that it really is for source editing, not parsing in general
Similar for JSPs, we parse them as if DOM, not per spec Future: want to support JSP as CSS too
9 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Related Open Source Projects (IP)
Xerces w3c DTDs and Schemas w3c DOM Interfaces
J2EE DTDs and Schemas(redistribution/caching being investigated)
10 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
API (Provisional)
All “Provisional” in 0.7 Partially Spec’d, some JUnit coverage, some refactoring required
API Categories IDs (editors IDs, content types, partition types) ContentType Properties Some extensions to base API Extension Points (e.g. source page validation)
Note: some extension points we currently have will be remove DOM related Implementation and extended APIs
SSE http://www.eclipse.org/webtools/wst/components/sse/overview.html
XML http://www.eclipse.org/webtools/wst/components/xml/overview.html
JSP http://www.eclipse.org/webtools/jst/components/jsp/overview.html
HTML http://www.eclipse.org/webtools/wst/components/html/overview.html
CSS http://www.eclipse.org/webtools/wst/components/css/overview.html JavaScript http://www.eclipse.org/webtools/wst/components/javascript/overview.html
DTD http://www.eclipse.org/webtools/wst/components/dtd/overview.html
11 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Quality
Initial code contribution was shipped in previous products, received much client use roughly 4 generations of code … but, extensive refactoring in WTP to improve componentization
and make API evolvable … so, some breakage, more to do 1250 JUnit tests (22 “test plugins”) Several performance tests in place We do test for accessibility, National Language enablement 224 bugs currently open
1 critical
8 major 185 fixed
2 blockers
3 critical
32 major
12 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Still To Do For 0.7
Fix Bugs! Fix order-of-notification issues for folding Seek Review of Encoding and IContentDescribers Continue progress on APIs
For 1.0 Provide Platform Quality APIs
(well spec’d, well tested, well reviewed) Examples of use
Less memory use Improve (hide) Common Undo Edit CSS contentType in JSPs Spell Checking (uncommitted) Links Refactoring (uncommitted) Extension Point for Hover Help Contributors (uncommitted) specify custom attribute editors (uncommitted) Participatory Content Assist (uncommitted)
(better understand EJB 3.0 use cases)
13 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
What’s the future hold
Post 1.0 (uncommitted possibilities) Provide “Language Provider” API
Participatory “Quick Fix” (see TPTP Validation)
XML/Schema refactoring
Full spec support (JSP 2.0, XML 1.1?)
Validation targeted to browser/server/level of spec
Integrated with Tag Lib editing
XML Document Editing
14 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0
Thank you
Questions?
Comments?