Project

General

Profile

ModelChangeWorkflow » History » Version 10

Andreas Müller, 03/07/2019 03:05 PM

1 1 Andreas Müller
2 2 Andreas Müller
3 2 Andreas Müller
4 2 Andreas Müller
5 2 Andreas Müller
# WORKFLOW for Changing CDM Model
6 3 Andreas Müller
7 10 Andreas Müller
* Run all tests in current trunk
8 1 Andreas Müller
9 10 Andreas Müller
* Have other projects (cdm-vaadin, cdmlib-apps) linking to cdmlib in your IDE (as project, not as library so renaming takes automatically place in these projects
10 10 Andreas Müller
11 10 Andreas Müller
* Create (local) branches in cdmlib, cdm-vaadin and cdmlib-apps called cdm-x.x where x.x is the model version
12 10 Andreas Müller
13 10 Andreas Müller
* Run all test in new branches
14 10 Andreas Müller
15 9 Andreas Müller
* Adapt version number and create SchemaUpdater (should be simplified)
16 9 Andreas Müller
    * create new package in cdmlib-persistence/eu.etaxonomy.cdm.database.update for the new version
17 9 Andreas Müller
    * create new SchemaUpdater in this package (compare with older SchemaUpdaters)
18 9 Andreas Müller
    * link method getPreviousUpdater to last used SchemaUpdater, accordingly link last used SchemaUpdater with the new SchemaUpdater
19 3 Andreas Müller
    * in CdmUpdater set getCurrenSchemaUpdater to new SchemaUpdater
20 3 Andreas Müller
    * in new SchemaUpdater set startSchemaVersion with current value in CdmMetaData.dbSchemaVersion
21 1 Andreas Müller
    * in new SchemaUpdater set endSchemaVersion with new value, adapt CdmMetaData.dbSchemaVersion with exact same value (should represent the expected release date)
22 1 Andreas Müller
23 10 Andreas Müller
* Change model
24 1 Andreas Müller
25 10 Andreas Müller
* Adapt changes in cdmlib-test/src/main/resources/dbscripts.001-cdm.h2.sql  (should be automated but was difficult with hibernate envers)
26 3 Andreas Müller
27 10 Andreas Müller
* Adapt changes in cdmlib-test/src/main/resources/eu.etaxonomy.cdm.database.schema.dataset.dtd  (don't know if this can be automated)
28 3 Andreas Müller
29 10 Andreas Müller
* If 
30 3 Andreas Müller
31 3 Andreas Müller
* Check for 
32 3 Andreas Müller
33 3 Andreas Müller
  * hibernate annotations
34 3 Andreas Müller
35 3 Andreas Müller
  * JAXB annotations (on attribute and class level)
36 3 Andreas Müller
37 3 Andreas Müller
  * clone methods
38 3 Andreas Müller
39 3 Andreas Müller
  * other methods
40 3 Andreas Müller
41 3 Andreas Müller
  * write tests (for all layers)
42 3 Andreas Müller
43 7 Andreas Müller
  * write database update (persistence layer), also test that hibernate_sequences is up-to-date after updates
44 3 Andreas Müller
45 3 Andreas Müller
  * adapt testing data (xsd, xml, etc.)
46 3 Andreas Müller
47 3 Andreas Müller
  * run tests for all layers
48 3 Andreas Müller
49 5 Andreas Müller
* test brach with applications (Taxonomic Editor, Data Portals) on local databases, including update script
50 1 Andreas Müller
51 5 Andreas Müller
* test branch with applications (Taxonomic Editor, Data Portals) on developer server, including update script
52 5 Andreas Müller
53 5 Andreas Müller
* integrate into trunk
54 5 Andreas Müller
55 5 Andreas Müller
* test trunk with local database and developer server
56 4 Andreas Müller
57 6 Andreas Müller
* create new milestone, move all open tickets to new milestone, close old milestone
58 6 Andreas Müller
59 4 Andreas Müller
* roll-out Taxonomic Editor and CDM Server at the same time
60 4 Andreas Müller
61 4 Andreas Müller
* update uml model
62 4 Andreas Müller
63 4 Andreas Müller
* update project pages (java doc)
64 4 Andreas Müller
65 4 Andreas Müller
* document on "What has changed" sites
66 4 Andreas Müller
67 3 Andreas Müller
68 3 Andreas Müller
 
Add picture from clipboard (Maximum size: 40 MB)