Jump to: navigation, search

Difference between revisions of "Galileo Capabilities"

(Initial draft of how to add capabilities to Galileo)
 
m
Line 1: Line 1:
 
This page is intended to clarify Galileo requirement bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=252807 252807] regarding the definition of capabilities for participating projects.  General information on defining capabilities can be found in the [http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/workbench_advext_activities.htm Help] and this [http://pookzilla.net/wp/2006/10/context-capability-and-perspective/ article].  Note that the terms '''activities''' and '''capabilities''' are used interchangeably.  
 
This page is intended to clarify Galileo requirement bug [https://bugs.eclipse.org/bugs/show_bug.cgi?id=252807 252807] regarding the definition of capabilities for participating projects.  General information on defining capabilities can be found in the [http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/guide/workbench_advext_activities.htm Help] and this [http://pookzilla.net/wp/2006/10/context-capability-and-perspective/ article].  Note that the terms '''activities''' and '''capabilities''' are used interchangeably.  
  
For projects not having their own capability definitions and categorization, or for those not wanting to include them in their main downloads, the following approach is suggested:
+
For projects not having their own capability definitions and categorization, or for those not wanting to include them in their main downloads, the following approach is suggested.  Using this approach, capability plug-ins will be included in the Galileo product feature.  Categories and default enablements are provided by Galileo itself, as determined by the Planning Council.
  
 
1. Create a new plug-in for your project named org.eclipse.<your-project>.ui.capabilities (or similar) in which you define activities for your UI contributions.  Do not map to categories or specify default enablements in your manifest, just the activities.  Categories and enablements are specified in the Galileo product branding plug-in.  Below is an example definition from the [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gmf/plugins/org.eclipse.gmf.ui.capabilities/plugin.xml?root=Modeling_Project&view=markup org.eclipse.gmf.ui.capabilities] plug-in:
 
1. Create a new plug-in for your project named org.eclipse.<your-project>.ui.capabilities (or similar) in which you define activities for your UI contributions.  Do not map to categories or specify default enablements in your manifest, just the activities.  Categories and enablements are specified in the Galileo product branding plug-in.  Below is an example definition from the [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.gmf/plugins/org.eclipse.gmf.ui.capabilities/plugin.xml?root=Modeling_Project&view=markup org.eclipse.gmf.ui.capabilities] plug-in:
Line 21: Line 21:
 
3. Add your capabilities plug-in to the [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.galileo-feature/feature.xml?root=Callisto&view=log Galileo feature].
 
3. Add your capabilities plug-in to the [http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.galileo-feature/feature.xml?root=Callisto&view=log Galileo feature].
  
4. In the Galileo branding plug-in, add your activity id(s) to the appropriate category.  The Planning Council will determine the appropriate categories and enablements for Galileo.  Currently, the following categories and enablements are defined:
+
4. In the Galileo branding plug-in, add your activity id(s) to the appropriate category.  Currently, the following categories and enablements are defined:
  
 
<pre>
 
<pre>

Revision as of 18:37, 26 January 2009

This page is intended to clarify Galileo requirement bug 252807 regarding the definition of capabilities for participating projects. General information on defining capabilities can be found in the Help and this article. Note that the terms activities and capabilities are used interchangeably.

For projects not having their own capability definitions and categorization, or for those not wanting to include them in their main downloads, the following approach is suggested. Using this approach, capability plug-ins will be included in the Galileo product feature. Categories and default enablements are provided by Galileo itself, as determined by the Planning Council.

1. Create a new plug-in for your project named org.eclipse.<your-project>.ui.capabilities (or similar) in which you define activities for your UI contributions. Do not map to categories or specify default enablements in your manifest, just the activities. Categories and enablements are specified in the Galileo product branding plug-in. Below is an example definition from the org.eclipse.gmf.ui.capabilities plug-in:

<activity
    	  description="%activity.gmf.runtime.desc"
          id="org.eclipse.gmf.runtime.activity"
          name="%activity.gmf.runtime">
    </activity>
    <activityPatternBinding
          activityId="org.eclipse.gmf.runtime.activity"
          pattern="org\.eclipse\.gmf\.runtime\..*/.*">
    </activityPatternBinding>

2. Commit your plug-in and add it to the Galileo map file, indicating the proper tag you would like to have included in Galileo's build. Note that you will need to have access to the /cvsroot/callisto repository in order to complete this and subsequent steps.

3. Add your capabilities plug-in to the Galileo feature.

4. In the Galileo branding plug-in, add your activity id(s) to the appropriate category. Currently, the following categories and enablements are defined:

<!-- General category definitions -->
   <extension
       point="org.eclipse.ui.activities">
       
    <!-- A Modeling category, where EMF, etc. can live -->
    <category
          description="%activity.cat.modeling.desc"
          id="org.eclipse.galileo.modeling.Category"
          name="%activity.cat.modeling">
    </category>
    
    <!-- A Diagramming category where specific diagram types (i.e. UML) and supporting capabilities can live (i.e. GEF/GMF runtime) -->
    <category
          description="%activity.cat.diagramming.desc"
          id="org.eclipse.galileo.diagramming.Category"
          name="%activity.cat.diagramming">
    </category>
    
    <!-- A Model Transformation category, where JET, Xpand, etc. can live -->
    <category
          description="%activity.cat.model.transformation.desc"
          id="org.eclipse.galileo.model.transformation.Category"
          name="%activity.cat.model.transformation">
    </category>
    
   </extension>
    
   <!-- GMF activity bindings to Galileo categories -->
   <extension
       point="org.eclipse.ui.activities">
       
    <!-- GMF Tooling in Development category -->
    <categoryActivityBinding
          activityId="org.eclipse.gmf.tooling.activity"
          categoryId="org.eclipse.categories.developmentCategory">
    </categoryActivityBinding>
    
    <!-- GMF Runtime in general Diagramming category -->
    <categoryActivityBinding
          activityId="org.eclipse.gmf.runtime.activity"
          categoryId="org.eclipse.galileo.diagramming.Category">
    </categoryActivityBinding>
    
    <!-- GMF Xpand in Model Transformation category -->
    <categoryActivityBinding
          activityId="org.eclipse.gmf.xpand.activity"
          categoryId="org.eclipse.galileo.model.transformation.Category">
    </categoryActivityBinding>
    
    <!-- GMF Runtime enabled by default -->
    <defaultEnablement
          id="org.eclipse.gmf.runtime.activity">
    </defaultEnablement>
  </extension>