Docstoc

Slide 1 - Kambing

Document Sample
Slide 1 - Kambing Powered By Docstoc
					                     Eclipse WTP Project
                       Common Tools
                         Open House

                Craig Salter/Chuck Bridgham
                        2005.06.02




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




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

2 June 2005                        Eclipse Foundation - www.eclipse.org                                        3
                   Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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)


2 June 2005                               Eclipse Foundation - www.eclipse.org                                        4
                          Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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



2 June 2005                     Eclipse Foundation - www.eclipse.org                                        5
                Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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




2 June 2005                            Eclipse Foundation - www.eclipse.org                                        6
                       Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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)




2 June 2005                        Eclipse Foundation - www.eclipse.org                                        7
                   Content provided under the terms and conditions of the Eclipse Public License Version 1.0
URI Resolver
■   Lots of different artifact ‘types’ have references to other artifacts
     –   HTML <a href=“….”/>
     –   JSP <%@ taglib uri=“…." prefix=“xyz" %>
     –   XML <DOCTYPE systemId=“….”/>
     –   XML Schema <import location=“….” namepace=“xyz” />

■   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?

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




2 June 2005                       Eclipse Foundation - www.eclipse.org                                        9
                  Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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


2 June 2005                       Eclipse Foundation - www.eclipse.org                                        10
                  Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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

2 June 2005                      Eclipse Foundation - www.eclipse.org                                        11
                 Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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.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




2 June 2005                        Eclipse Foundation - www.eclipse.org                                        12
                   Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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.html


2 June 2005                   Eclipse Foundation - www.eclipse.org                                        13
              Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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

2 June 2005                    Eclipse Foundation - www.eclipse.org                                        14
               Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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.
2 June 2005                         Eclipse Foundation - www.eclipse.org                                        15
                    Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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)




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




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



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




2 June 2005                            Eclipse Foundation - www.eclipse.org                                        19
                       Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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


2 June 2005                   Eclipse Foundation - www.eclipse.org                                        20
              Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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/api
    – http://www.eclipse.org/webtools/jst/api

2 June 2005                     Eclipse Foundation - www.eclipse.org                                        21
                Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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



2 June 2005                   Eclipse Foundation - www.eclipse.org                                        22
              Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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
    wst.command: http://www.eclipse.org/webtools/wst/components/command/M5/milestone_plan.html

2 June 2005                          Eclipse Foundation - www.eclipse.org                                        23
                     Content provided under the terms and conditions of the Eclipse Public License Version 1.0
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)



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




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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:10
posted:8/11/2012
language:English
pages:25