Presentation is loading. Please wait.

Presentation is loading. Please wait.

Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 1 Eclipse Foundation - www.eclipse.org Craig Salter/Chuck.

Similar presentations


Presentation on theme: "Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 1 Eclipse Foundation - www.eclipse.org Craig Salter/Chuck."— Presentation transcript:

1 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 1 Eclipse Foundation - www.eclipse.org Craig Salter/Chuck Bridgham 2005.06.02 Eclipse WTP Project Common Tools Open House

2 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 2 Eclipse Foundation - www.eclipse.org Contents ■ Contributors ■ Function ■ Plugins ■ API ■ Development ■ Appendices

3 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 3 Eclipse Foundation - www.eclipse.org Contributors ■ Craig Salter (IBM) –Committer / XML Web Services Component lead ■ Chuck Bridgham (IBM) –Committer / J2EE Component lead ■ Vijay Bhadriraju (IBM) –Committer –Validation framework ■ Michael Elder (IBM) –Common Navigator –Flexible Project ■ Jason Sholl (IBM) –Common Datamodel ■ Jeffrey Liu (IBM) –Committer ■ John Lanuti (IBM) –Annotations ■ Naci Dai (Eterations) –Annotations ■ Chris Brealey (IBM) –Committer / Java Web Services Component lead ■ Peter Moogk (IBM) –Environment framework ■ Nitin Dahyabhai (IBM) –Committer –Snippets ■ Many more…

4 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 4 Eclipse Foundation - www.eclipse.org What Is The Common Component? Actually, its three components – wst.common, jst.common, wst.command "The common components contain plugins that provide generic functionality that are applicable in several different contexts. Plugins in the common component should not have dependencies on plugins outside of the Eclipse base.” Some conceptual tests to decide what should go into common… ■ Is it destined for API ? –if it has no API story, its should be moved into a different component specific to those who need it ■ Should it ultimately live in base Eclipse ? –common is often used as a temporary staging ground for generic function that will eventually be absorbed into base Eclipse ■ What are the dependencies? –if the function has dependencies on more than base eclipse, that’s a red flag that it might not be ‘common’ ■ Is it generic? –Is this function generically applicable to multiple domains in practice (not just theory)

5 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 5 Eclipse Foundation - www.eclipse.org Common - Evolution ■ Existing plugins may migrate to base Eclipse (or other projects) –tabbed properties sheet –project navigator ■ Existing plugins may not be ‘common’ enough –in practice function is less ‘common’ than we initial thought … who’s actually using it? We need to collectively scrutinize the ‘common’ components to ensure things lives in the right place

6 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 6 Eclipse Foundation - www.eclipse.org Function – Common Tools ■ Common UI, Tabbed property sheet ■ URI Resolver ■ Snippets ■ Validation Framework * ■ EMF Extensions ■ Datamodel extensible commands/wizards ■ Environment Command/Wizard Framework ■ Flexible Project (Detail in J2EE session) ■ Common Navigator ■ Dependency Checker

7 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 7 Eclipse Foundation - www.eclipse.org Common UI ■ Generic UI components –Tabbed properties sheet (to be moved into Eclipse base) –Extended file selection dialogs, views –Drag and Drop helper classes –‘Navigable’ Table Viewer (table with improved keyboard navigation)

8 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 8 Eclipse Foundation - www.eclipse.org URI Resolver ■ Lots of different artifact ‘types’ have references to other artifacts –HTML –JSP –XML –XML Schema ■ Common –Typically resolution is very similar for all artifact types Resolution should be consistent across artifacts –Different tools user different parsers, models, implementations Resolution should be consistent across tools ■ Extensible –Often tools want to ‘tap into’ the resolution mechanism –i.e. XML Catalog, Internet Cache, Project specific resolution strategies?

9 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 9 Eclipse Foundation - www.eclipse.org URI Resolver (cnt’d) ■ Some clients of the resolver –editors, validators, models –JSP, Taglibs, HTML, DTD, XML, XSD, WSDL

10 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 10 Eclipse Foundation - www.eclipse.org Snippets ■ org.eclipse.wst.common.snippets ■ Adds notion of a template “toolbox” to Eclipse –User can define and manage reusable pieces of source code –Source code snippets can have sections defined as variable using place holding markers –Framework for contributing new snippets with custom drag and drop and double-click insertion behavior ■ Depends on Eclipse & GEF (& SSE currently) ■ API status : provisional –Reasonably well documented, but subject to change before M5 given existing feedback and stated milestone goals

11 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 11 Eclipse Foundation - www.eclipse.org Snippets (cnt’d) ■ Current Work Items –Reworking of drag and drop No longer rely on SSE drop action framework Possibly support non-text editor scenarios –Separate into Core and UI plug-ins Should allow for non-GEF UI (but not to be implemented) –Investigate adopting Eclipse Templates as underlying model –Investigate adopting Template insertion behavior as our own on double-click ■ Want more info? –Brief overview exists on the WTP website at http://eclipse.org/webtools/wst/components/common/overview/snipp ets/overview.html

12 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 12 Eclipse Foundation - www.eclipse.org Validation Framework ■ Component in WST –Validation ■ Functional Overview –The framework provides a means for validators built using the framework to validate resources in a project manually or automatically. ■ Links –http://www.eclipse.org/webtools/wst/components/validation/Validation Overview.htmlhttp://www.eclipse.org/webtools/wst/components/validation/Validation Overview.html ■ API –Currently there are no defined API in the framework and have been defined as provisional internal API for WTP 0.7 release. –A fully defined API for the framework is planned for WTP 1.0

13 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 13 Eclipse Foundation - www.eclipse.org Validation Framework ■ Future Enhancements The enhancements are geared towards performance improvements on running validators built using the framework ► Provide mechanism for individual validators to run asynchronously ► Change Global and Project level validation preferences to give users more control to turn validators on and off on a build and manual validation. ■ Test Scenarios –The overall framework test scenario can be found at –http://www.eclipse.org/webtools/wst/components/validatio n/scenarios/validation_framework_testplan.htmlhttp://www.eclipse.org/webtools/wst/components/validatio n/scenarios/validation_framework_testplan.html

14 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 14 Eclipse Foundation - www.eclipse.org Datamodel Framework ■ Mechanism for tracking related data for operations & wizards (coming soon) –Properties get/set default/valid values validation/enablement –Know how to run themselves using operations –Nesting/Extendable –Wizards (coming soon) DataModels know how to build their wizards Easy to build wizards on top of wizards Extendable

15 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 15 Eclipse Foundation - www.eclipse.org Environment Framework ■ For writing components for multiple environments. Eg: –Eclipse GUI –Eclipse headless –Java command line –Ant task / JUnit / Batch –Web service ■ Aspects –Progress monitoring –Status handling –URI-based resource access –Command stack management ■ Integrates with “the” command framework (today there are three!) ■ Eclipse GUI Environment –Dynamic Wizard Framework for highly non-deterministic wizards –Complete separation from command-pattern based engine code ■ Convergence TBD with DataModel, IUndoableOperation, etc.

16 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 16 Eclipse Foundation - www.eclipse.org Common Navigator ■ Extensible mini-platform for integrated tree viewers ■ Enables tight integration between different kinds of content ■ Will be integrated into Eclipse Platform/UI in 3.2 (so no Official WTP API)

17 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 17 Eclipse Foundation - www.eclipse.org Common Navigator Core

18 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 18 Eclipse Foundation - www.eclipse.org Plugins – WST ■ common –org.eclipse.wst.common.dependencychecker –org.eclipse.wst.common.emf –org.eclipse.wst.common.emfworkbench.integration –org.eclipse.wst.common.frameworks –org.eclipse.wst.common.frameworks.ui –org.eclipse.wst.common.modulecore –org.eclipse.wst.common.navigator.views –org.eclipse.wst.common.navigator.workbench –org.eclipse.wst.common.snippets –org.eclipse.wst.common.ui –org.eclipse.wst.common.ui.properties –org.eclipse.wst.common.uriresolver –org.eclipse.wst.validation –org.eclipse.wst.validation.ui ■ command –org.eclipse.wst.command.env.core –org.eclipse.wst.command.env –org.eclipse.wst.command.env.ui ■ Content –EMF copy utils/XML translators etc.. –Editmodel/Validate edit/etc… –Datamodel/Function group –Datamodel wizard –Flexible project provisional API –Common Navigator Framework –Resource Extension (Groups, Filters) –Snippet framework –Core validation framework –Preference pages –Core environment framework –Eclipse headless environment –Eclipse GUI / wizard environment

19 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 19 Eclipse Foundation - www.eclipse.org Plugins - JST ■ common –org.eclipse.jst.common.annotations.controller –org.eclipse.jst.common.annotations.core –org.eclipse.jst.common.annotations.ui –org.eclipse.jst.common.frameworks –org.eclipse.jst.common.frameworks.ui –org.eclipse.jst.common.launcher.ant –org.eclipse.jst.common.navigator.java ■ Content…. –TagSet/TagSpec/TagRegistry –Tag comments/EMF adapters –Tag completion/proposal –Java project/Working copy extensions –JavaInsertion/Editor extensions –Ant launcher –Java extensions/Working sets

20 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 20 Eclipse Foundation - www.eclipse.org Plugins - Dependencies ■ Eclipse –Platform JDT,Resource –JEM Java Model (Reflective EMF Model) EMF Extensions (Shared by JEM and WTP) ► Project scoped Resources ► RefResource –EMF Primary metamodel framework EMF.edit

21 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 21 Eclipse Foundation - www.eclipse.org API - Status ■ Provisional API –Flexible Project API –Validation –Data model wizard/commands –Environment framework –Common Navigator ■ Internal frameworks –EMF extensions – base function shared with JEM to be pushed to EMF –Proposed API is relatively young ■ Links –http://www.eclipse.org/webtools/wst/apihttp://www.eclipse.org/webtools/wst/api –http://www.eclipse.org/webtools/jst/api

22 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 22 Eclipse Foundation - www.eclipse.org Bugzilla - Queries –Query for wst.common, wst.validation: https://bugs.eclipse.org/bugs/buglist.cgi?query_format =advanced&product=Web+Tools&component=wst.co mmon&component=wst.validation&bug_status=NEW &bug_status=ASSIGNED&bug_status=REOPENED –Query for wst.command: https://bugs.eclipse.org/bugs/buglist.cgi?query_format =advanced&product=Web+Tools&component=wst.co mmand&bug_status=NEW&bug_status=ASSIGNED &bug_status=REOPENED

23 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 23 Eclipse Foundation - www.eclipse.org Development - WTP 0.7 ■ Stabilization –Bug fixes –Functional requests –JUnit testcase development ■ Provisional frameworks (Continuing to refine API) –Flexible project –Validation –Datamodel –Environment –Common Navigator ■ Details are in various milestone plans (sse,xml,ws,j2ee) wst.ws: http://www.eclipse.org/webtools/wst/components/ws/M5/milestone_plan.html wst.j2ee: http://www.eclipse.org/webtools/jst/components/j2ee/M5/milestone_plan.html wst.xml: http://www.eclipse.org/webtools/wst/components/xml/M5/milestone_plan.html wst.sse: http://www.eclipse.org/webtools/wst/components/sse/M5/milestone_plan.html http://www.eclipse.org/webtools/wst/components/sse/M5/milestone_plan.html wst.command: http://www.eclipse.org/webtools/wst/components/command/M5/milestone_plan.html

24 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 24 Eclipse Foundation - www.eclipse.org Development - WTP 1.0 ■ One of our main goals in the common area is to “Work with the platform” to help integrate existing frameworks delivered by both projects. –Common Navigator (Move down to Platform/UI in 3.2) –Undoable commands (Integrate, and push down requirements) –Converged environment / command / data frameworks –Flexible Projects (Integrate, Drive requirements) –Logical resources (Integrate) –Tabbed properties sheet (Move down)

25 Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 25 Eclipse Foundation - www.eclipse.org Development - Help! ■ Clean up warnings (e.g. use of deprecated symbols) ■ Contribute to online help content ■ Contribute to JavaDoc/API cleanup – Feedback!


Download ppt "Content provided under the terms and conditions of the Eclipse Public License Version 1.0 2 June 2005 1 Eclipse Foundation - www.eclipse.org Craig Salter/Chuck."

Similar presentations


Ads by Google