Jump to: navigation, search

TigerstripeF2F 20080616

Revision as of 14:33, 3 July 2008 by Jistrawn.cisco.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

< To: Tigerstripe Face2Face Meetings

0.3 Release

  • Finalizing for tag v200806161700
  • Documentation to be updated in Wiki
  • Release Review scheduled for June 26th, 2008
  • Asked for IPLog review

Metamodel Changes

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()
  • Editor
    • No major issue
    • Maybe a bit of refactoring (extends, e.g.)
  • Appearance
    • 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
  • Auditor
    • 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.

Whiteboard

TSf2f 200806 ipackage.JPG

Annotation Rendering

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.

Diagram Rendering

  • 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").

Templating

Requirements:

  • Metamodel changes (won't be addressed, use profile to simulate)
  • Templates to create new artifacts
  • "Custom Domain Modeling"

Custom Domain Modeling

MetadataProvider

  • getText
  • Icon
    • "Create" (with +)
    • "Out of Scope" (greyed out)
    • control of additional attributes

Templates

  • 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

SO...

  • 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.

Code Clean-up/Internationalization

  • 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.

Bugzilla Review

UI Testing Automation

New! Tigerstripe Explorer Test Plan

  • 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.
  • Scenarios:
    • 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

Ganymede Build

  • 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

No addressed.