This page documents the use of admin tools to perform an RF2 release of mapping project data.
Prerequisites
- MySQL database must already exist (e.g. "mappingservicedb").
- MySQL database connection parameters must be defined in the properties file specified by "run.config".
- Create/Update DB mojo must also have already run so that the database schema exists and data is loaded.
- A map project must exist for the specified refset id and have publication ready records.
- IMPORTANT: The Tomcat server must not be running while this is run, otherwise indexes can get corrupted.
Details
There are three stages to the process:
- Begin a release
- Generate a "release QA report"
- Verify all records are through the workflow
- Run validation
- Remove map records for retired/out of scope concepts
- Process a release - iterate over this until perfect
- Create RF2 delta files
- Create "active snapshot" human readable files
- Create a statistics report
- Finish a release
- Mark READY_FOR_PUBLICATION records as PUBLISHED
- Update the "complex map refset members" table to reflect the published/snapshot state (for future comparisons).
Following are some details about the release tooling implementations:
Mojo: ReleaseBeginMojo.java (in admin/mojo/src/main/resources/java/org/ihtsdo/otf/mapping/mojo)
Project: admin/release
Configuration Parameters
- A profile of "BeginRelease" must be specified
- run.config - the standard configuration file specified as a -D parameter
- refset.id - the refset id of the mapping project to release specified as a -D parameter
- A map project with this refset id must exist
- remove.records - a flag indicating whether to remove out of scope map records
Mojo: ReleaseProcessingMojo.java (in admin/mojo/src/main/resources/java/org/ihtsdo/otf/mapping/mojo)
Project: admin/release
Configuration Parameters
- A profile of "Release" must be specified
- run.config - the standard configuration file specified as a -D parameter
- refset.id - the refset id of the mapping project to release specified as a -D parameter
- A map project with this refset id must exist
- output.dir - the output directory specified as a -D parameter
- time - the date to use for the effectiveTime of the RF2 files created
- module.id - the moduleId to use for the RF2 files - this is specific to the individual map project.
Mojo: ReleaseFinishMojo.java (in admin/mojo/src/main/resources/java/org/ihtsdo/otf/mapping/mojo)
Project: admin/release
Configuration Parameters
- A profile of "FinishRelease" must be specified
- run.config - the standard configuration file specified as a -D parameter
- refset.id - the refset id of the mapping project to release specified as a -D parameter
- A map project with this refset id must exist
Samples
Sample command line call of the RF2 release tooling to begin a release for refset 447563008:
% cd ~/code/admin/release % mvn install -Drun.config=/home/ihtsdo/config/config.properties -PBeginRelease -Drefset.id=447563008 -Dremove.records=true
Sample command line call of the RF2 release tooling to process a release for refset 447563008:
% cd ~/code/admin/release % mvn install -Drun.config=/home/ihtsdo/config/config.properties -PRelease -Drefset.id=447563008 -Doutput.dir=/home/ihtsdo/doc/release -Dmodule.id=900000000000207008 -Dtime=20150131
Sample command line call of the RF2 release tooling to finish a release for refset 447563008:
% cd ~/code/admin/release % mvn install -Drun.config=/home/ihtsdo/config/config.properties -PFinishRelease -Drefset.id=447563008
Sample Eclipse run configuration to begin a release for refset 447563008:
Sample Eclipse run configuration to process a release for refset 447563008:
Sample Eclipse run configuration to finish a release for refset 447563008:
Troubleshooting
The most likely issue is that QA errors are discovered in the generated files. This step can be repeatedly re-run until the results look right, including edits along the way to the underlying data (as long as mid-stream workflow states are not created).
Another way to avoid problems is to run the process in a cloned environment (e.g. UAT) which supports the ability to revert to the initial state at any time without interfering with production activities.
References/Links
- n/a