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.
Tigerstripe Template Design
Revision as of 14:18, 18 July 2008 by Erdillon.cisco.com (Talk | contribs) (New page: __TOC__ == Phases == * The implementation will be delivered in phases: ** Phase I for the Alize Release ** Phase II for the [[Tigerstripe_Bora_Release|Bora R...)
Phases
- The implementation will be delivered in phases:
- Phase I for the Alize Release
- Phase II for the Bora Release
Phase I
- Wizard-based Templates 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.