ModelChangeWorkflow » History » Version 9

« Previous - Version 9/12 (diff) - Next » - Current version
Andreas Müller, 03/07/2019 02:48 PM

WORKFLOW for Changing CDM Model

  • Create branch in cdmlib called cdm-x.x where x.x is the model version

  • Adapt version number and create SchemaUpdater (should be simplified)

    • create new package in cdmlib-persistence/eu.etaxonomy.cdm.database.update for the new version
    • create new SchemaUpdater in this package (compare with older SchemaUpdaters)
    • link method getPreviousUpdater to last used SchemaUpdater, accordingly link last used SchemaUpdater with the new SchemaUpdater
    • in CdmUpdater set getCurrenSchemaUpdater to new SchemaUpdater
    • in new SchemaUpdater set startSchemaVersion with current value in CdmMetaData.dbSchemaVersion
    • in new SchemaUpdater set endSchemaVersion with new value, adapt CdmMetaData.dbSchemaVersion with exact same value (should represent the expected release date)
  • Run all tests in current trunk

  • Create branch for new model

  • Run all test in new branch

  • Change model

  • Check for

    • hibernate annotations
    • JAXB annotations (on attribute and class level)
    • clone methods
    • other methods
    • write tests (for all layers)
    • write database update (persistence layer), also test that hibernate_sequences is up-to-date after updates
    • adapt testing data (xsd, xml, etc.)
    • run tests for all layers
  • test brach with applications (Taxonomic Editor, Data Portals) on local databases, including update script

  • test branch with applications (Taxonomic Editor, Data Portals) on developer server, including update script

  • integrate into trunk

  • test trunk with local database and developer server

  • create new milestone, move all open tickets to new milestone, close old milestone

  • roll-out Taxonomic Editor and CDM Server at the same time

  • update uml model

  • update project pages (java doc)

  • document on "What has changed" sites

Add picture from clipboard (Maximum size: 40 MB)