1 / 14

WTP Source Editing Open House

WTP Source Editing Open House. David Williams david_williams@us.ibm.com. 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. Committers/Contributors. David Williams (IBM)

corina
Download Presentation

WTP Source Editing Open House

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. WTP Source Editing Open House David Williams david_williams@us.ibm.com

  2. 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. 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. 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. 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. 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. 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. 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. Related Open Source Projects (IP) • Xerces • w3c DTDs and Schemas • w3c DOM Interfaces • J2EE DTDs and Schemas(redistribution/caching being investigated)

  10. 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 • SSEhttp://www.eclipse.org/webtools/wst/components/sse/overview.html • XMLhttp://www.eclipse.org/webtools/wst/components/xml/overview.html • JSPhttp://www.eclipse.org/webtools/jst/components/jsp/overview.html • HTMLhttp://www.eclipse.org/webtools/wst/components/html/overview.html • CSShttp://www.eclipse.org/webtools/wst/components/css/overview.html • JavaScripthttp://www.eclipse.org/webtools/wst/components/javascript/overview.html • DTDhttp://www.eclipse.org/webtools/wst/components/dtd/overview.html

  11. 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. 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. 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. Thank you Questions? Comments?

More Related