- Finalizing for tag v200806161700
- Documentation to be updated in Wiki
- Release Review scheduled for June 26th, 2008
- Asked for IPLog review
Packages as Artifacts
Adding packages as artifacts of the metamodel means:
- Addressing Persistence
- persisted as ".package" in each package directory
- contains a dummy Class without body, we're only interested in the comment so we can re-use parsing/persistence velocity templates in place
- will be hidden from Tigerstripe Explorer
- IPackageArtifact as an extension of IAbstractArtifact
- no additional stuff, but turn off Abstract and others possibly through inheritence
- Add to IModelComponent
Collection<IModelComponent> getContainedComponents() IModelComponent getContainingComponent()
- No major issue
- Maybe a bit of refactoring (extends, e.g.)
- in Explorer
- .package is not visible
- right-click to open in editor
- enhance content provider to show dependencies ends (as well as association ends for other artifacts)
- in Class Diagrams
- Show package on diagram
- Allow to "draw" dependencies
- Dependency Diagrams
- in Explorer
- no specific auditing rule
- Appropriate extension points to checked to allow for validation of explicit dependencies against implicit dependencies.
Note: package dependencies are captured directly through DependencyArtifacts as they currently exist.
The TAF framework supports a few annotations in the .ecore for specifics, but more would be needed. Some of the examples in CVS contain additional rendering (calendar for date, e.g).
Custom Property Rendering
- IN case of dynamic multi-value values, use String and read-in the list of labels.
- Ability to change the rendering of artifacts/relationships labels on diagrams based on annotations.
- Provide extension points to delegate the labels (Stereotype compartment and Name Compartments).
- Warning: associations have 1 single compartments, whereas Artifacts have 2 compartments. We need one single API (extension point).
- If label is delegated thru extension point, need to disable action to hide/show package names.
- Similarly, the "visibility" is handled through label, and would need to be properly implemented by any contributed extension.
Annotation scoping in Facets
- Possibility to filter out Annotations through facet (filtering in the "other dimension").
- Metamodel changes (won't be addressed, use profile to simulate)
- Templates to create new artifacts
- "Custom Domain Modeling"
Custom Domain Modeling
- "Create" (with +)
- "Out of Scope" (greyed out)
- control of additional attributes
- Artifacts = TS M1 Objects
- Template = Artifact + Stereotypes, Metadata (MetadataProvider)
- Create Template Wizard
- Profiles to store templates
- one-to-many relationship between artifacts and templates
- Annotation driven action contibutions (?)
Deliver a profile with some shortcuts
Rendering will be done via an eclipse plugin
- Use extension point to hook-up rendering based on Annotations.
- Use profile to store templates. Each template will use a wizard driven by Annotation/Stereotype values that need to be filled in.
Templating sub-components (attributes, methods, literals)
- Create templates for sub-components based on container (ie. Artifact Template will host sub-component templates in profile).
- Replace "Add" button in Editors, wizard and Diagrams by "drop-down" menu for adding based on sub-component templates.
- Handle clean-up of unused code.
- Wizards/Editor refactoring as appropriate.
- As part of Wizard refactoring, let's get started there for internationalization.
- Tidy-up use of Generics (remove related warnings)
- Tidy-up exported packages properly.
UI Testing Automation
- Basic DnD is in place
- NEEDED: Check sub components are created
- Basic Creation
- from diagram palette is in place
- NEEDED: from Tigerstripe Explorer
- Creation of Associations from diagrams not possible with current version of Instantiations.
- NEEDED: Refactor of Artifacts
- NEEDED: Attributes/methods/literal name changes
- NEEDED: Stereotype changes
- NEEDED: Visibility and multiplicity changes
- NEEDED: Default values changes
- NEEDED: Remove from model/remove from diagram (Including complex AssociationClasses)
- NEEDED: active facet rendering
- NEEDED: Self referencing associations.
(Artifacts from within a package and from outside that package)
- Diagramming tests themselves:
- NEEDED: Hide/Show
Need to create documentation about structure of diagrams as generated by GMF
- 0.3 is only working with Eclipse Europa because we are extending some of the internal API for refactoring.
- Migration to Ganymede should be one of the first tasks for 0.4.
- The annotations framework is ready (different source code base)
- The TS explorer (extending the Java Explorer) should be updated ASAP. At that point all developers should move over.
- 0.4 will only work on Ganymede.
TS Generators as Eclipse plugins