© 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams...

14
© 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams [email protected] WTP Source Editing Open House WTP Source Editing Open House

Transcript of © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams...

Page 1: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

© 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

Page 2: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP 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

Page 3: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 4: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 5: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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)

Page 6: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 7: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 8: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 9: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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)

Page 10: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 11: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 12: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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)

Page 13: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

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

Page 14: © 2005 by IBM; made available under the EPL v1.0 | June 9, 2005 David Williams david_williams@us.ibm.com WTP Source Editing Open House.

14 WTP Source Editing Open House | © 2005 by IBM; made available under the EPL v1.0

Thank you

Questions?

Comments?