Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

When we are ready to migrate, we need to contact DataCite and set up an hour or so of time where we migrate from their service to our service. The most simple best time to do this would probably be when we migrate stacks.

In Synapse Stack Builder

In elasticbeanstalk-template.json.vpt, set orgmid-week, during working hours, with critical people actively taking part in the process. This way, if the new DOI service does not work/something is broken, we will be ready to quickly fix it.

Detailed Migration Plan

Prior to migration

  1. Set up a branch on web client that will put the new DOI service out of alpha mode.
    1. https://github.com/Sage-Bionetworks/SynapseWebClient/pull/3696
  2. Set up a branch (probably just need to pull into the release build) on stack builder that will change org.sagebionetworks.doi.prefix to be "10.7303"

...

In PLFM

  1. In stack.properties, set "org.sagebionetworks.doi.prefix=10.7303"

  2. In /lib/jdomodels/src/main/java/org/sagebionetworks/repo/model/dbo/dao/DoiUtils.java, change DoiStatus.TEMPORARY to DoiStatus.READY
  3. (Optionally) delete all of the rows in the DOI table where DoiStatus is TEMPORARY
  4. Deprecate the old DOI controller methods so the old API cannot be used. (Give a message indicating that the API has been deprecated, instead of registering a new DOI call)

In SWC 

  1. Remove the old DOI widget from the EntityMetadata page
  2. In the EntityActionController:
    1. Remove the old createDoi method
    2. Remove the alpha flag from the createOrUpdateDoi method

After the dust settles:

  1. (If not done earlier) delete all database entries in the DOI table where DoiStatus is TEMPORARY
  2. Remove all of the unused and deprecated EZID code in PLFM and SWC!(elasticbeanstalk-template.json.vpt)
    1. https://github.com/Sage-Bionetworks/Synapse-Stack-Builder/pull/217
  3. Set up a '-1' build for the portal and repo that uses the artifacts from steps

During 1-hr migration window

  1. Confirm with DataCite that we are ready and they are ready to migrate
  2. Monitor/test the '-1' build to see if we can create a DOI with the new services
    1. This may not succeed until migration is complete
  3. Once a DOI is successfully created in '-1', change the CNAMES to make '-1' go live (Xa)

After migration

  1. Confirm that DOIs can be made on prod (using new system)
  2. Pull in changes that remove dead code.
    1. The above PRs remove dead code in the portal and stack builder 
    2. https://github.com/Sage-Bionetworks/Synapse-Repository-Services/pull/3431

That should conclude migration