Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Tigerstripe Template Design"

m (Phase I)
Line 7: Line 7:
  
 
===Phase I ===
 
===Phase I ===
* Wizard-based Templates with only 1 single page (no look-ahead into the series of actions for the template)
+
* Template-based wizards with only 1 single page (no look-ahead into the series of actions for the template)
 
* No UI editor for templates. We will rely on an XML file that will be registered through an Extension Point, which will fix the use of templates in the UI
 
* No UI editor for templates. We will rely on an XML file that will be registered through an Extension Point, which will fix the use of templates in the UI
 
* Built-in types to be created thru built-in templates (ie. use the same mechanism throughout)
 
* Built-in types to be created thru built-in templates (ie. use the same mechanism throughout)

Revision as of 16:08, 18 July 2008

Phases

Phase I

  • Template-based wizards with only 1 single page (no look-ahead into the series of actions for the template)
  • No UI editor for templates. We will rely on an XML file that will be registered through an Extension Point, which will fix the use of templates in the UI
  • Built-in types to be created thru built-in templates (ie. use the same mechanism throughout)

Phase II

  • UI for Template creation (i.e. not editing XML file)
  • Ability for users to register/define their own templates unless the Ext. pt (above) is used

High Level Design Notes

  • A TemplateFactory to be driven by the content of an XML file, either stored in the Tigerstripe install of the user or registered through an Ext. pt.
  • "ArtifactTemplates" will apply to an "Artifact" as the top level element (i.e. no "attribute template" by itself, only artifact templates that may contain attributes to be created)
    • "PatternTemplates" may be considered in the future as a composition of ArtifactTemplates
  • ArtifactTemplates have a "plop" method that will lead to a set of "ArtifactRequests" to be passed down to the Artifact Manager.
    • In the case when the Template is used from a Class diagram, the plop(..) method call would only lead to creating the artifact in the model, but wouldn't include it on the diagram. So it should be followed by a "DnD" operation of the newly created artifact on the diagram.
  • Artifact Templates are made of
    • a top level Artifact Creation Request
    • and a set of "other" Requests (set, etc...)
  • All wizards should be replaced by a single generic wizard that would be driven by the content of a template
    • only the necessary info for the initial creation request should be presented by the wizard
  • There are 2 types of Artifact templates:
    • Node Templates (required a name and a package name). (AssociationClasses should be considered a Relationship template as the association ends are required to create it).
    • Relationship Templates (requires all that Node templates require + 2 end types)
  • Template should allow to create Annotations instances as part of them
  • All templates held in the TemplateFactory should be visible from
    • a right-click on the Pacakge Explorer (new->...)
    • as a creation Tool on the Class Diagram Palette.

Back to the top