Ticket #7830 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Create DOIs for Mantid releases and add to startup message

Reported by: Nick Draper Owned by: Peter Parker
Priority: critical Milestone: Release 3.0
Component: Framework Keywords:
Cc: Blocked By:
Blocking: Tester: Nick Draper

Description

  1. Talk to Tom Griffin to find out more about how to generate DOIs
  2. Create a simple way (python script) to generate DOIs for test and release purposes
  3. Talk to Martyn / Nick as to how to fit this into the existing release processes
  4. Put the DOI in the version.h file, and have the code read it from there.
  5. Display it in the welcome message and perhaps the help->about dialog.
  6. Think about our needs for landing pages and talk to Nick.

Change History

comment:1 Changed 7 years ago by Peter Parker

There is duplication between this ticket and #1791.

The Citing Mantid wiki page needs to be updated.

comment:2 Changed 7 years ago by Peter Parker

  • Status changed from new to inprogress

Refs #7830 - Add basic DOI test script.

Sends dummy metadata to the DataCite server and then submits the DOI itself.

  • Metadata fields and values have yet to be finalised.
  • Author list creation needs to be implemented.

Changeset: 8a9deb212f521228d022c297ef55e984d77de22a

comment:3 Changed 7 years ago by Peter Parker

Refs #7830 - Add changes to DOI generation.

  • Changes to XML form, including a link from release DOI's to main DOI.
  • Addition of patch version number.
  • Author list now correctly scraped from Git based on version number.
  • Ability to delete ("make inactive") the metadata of a DOI.
  • Rename file.

The translation table and whitelist are now ready for edits from the rest of the Mantid team, and the "description" field of the metadata still has to be finalised.

Changeset: 77fac5ccc4992bcbe925fd078aaad43768af8294

comment:4 Changed 7 years ago by Peter Parker

Refs #7830 - Add names to whitelist.

Changeset: 9dcc609277376d23da7f9507c97316db2be1dbf3

comment:5 Changed 7 years ago by Martyn Gigg

Added middle initial to authors list. Refs #7830

Changeset: 3f930ac9ee08892565ccf88fb0eb67c34b8b94f8

comment:6 Changed 7 years ago by Russell Taylor

Re #7830. Added a middle initial.

Changeset: 4502b51b5abb2a676e7b973b74bfcd2c0bb928bf

comment:7 Changed 7 years ago by Peter Parker

Refs #7830 - Change name to initial.

Changeset: 14eb0a99c5ff79a4b92695b97601f38214fe59f0

comment:8 Changed 7 years ago by Peter Parker

Refs #7830 - Allow consecutive DOIs to be linked together.

  • Use IsNewVersionOf and IsPreviousVersionOf identifiers.
  • Update the metadata of previous DOI's if they exist.
  • Changes to when and how the script talks to Git.
  • Refactor the http requests.

Changeset: 07a080cb3248fdf32ae72eccd2a4429e8367c128

comment:9 Changed 7 years ago by Peter Parker

Refs #7830 - Add extra doc and console messages.

Attempt to make it more clear in the console output what is going on and why.

Changeset: 3d1646d521c4ad74fd4707b739055b422a5cab9a

comment:10 Changed 7 years ago by Peter Parker

Refs #7830 - Check for existance of cURL.

Stop script if we can't use cURL.

Changeset: 695544d6d800b13020eac5a31f55cd4ba6fa839c

comment:11 Changed 7 years ago by Peter Parker

Refs #7830 - Add DOIs to welcome message.

Hopefully it's the right patch number from CMake - need to double check this.

Nick needs to confirm the exact wording of the message, as well as the "desciption" field in the DOI metadata.

Changeset: ad6318cc5f7adbb3369fb4bc4f7e1523fa76e6a5

comment:12 Changed 7 years ago by Peter Parker

Refs #7830 - Simplify release DOI generation.

Being defensive by using lexical_cast is not necessary, and is not even done elsewhere in the file.

Changeset: ce1cde99f9d1613101cd7f7a5c61e1d7260b0f2a

comment:13 Changed 7 years ago by Peter Parker

Refs #7830 - Use simpler test for cURL.

Changeset: 87e08edc787b27404af79e87d99d7c89e2c47a4e

comment:14 Changed 7 years ago by Peter Parker

Refs #7830 - Improve deleting of DOI's.

Changeset: c77ad39dce9b52c9748267dfd70f417489a9973c

comment:15 Changed 7 years ago by Peter Parker

Refs #7830 - Use different Cmake variable.

This takes into account Martyn's changes on #8097, which should be merged into this branch from master once his ticket has passed testing.

Changeset: 864c07e822747d672e3f438a81f7e1b5395e3ed1

comment:16 Changed 7 years ago by Peter Parker

Refs #7830 - Add names to whitelist. Change metadata slightly.

Whitelisted people now appear ONLY in the "main" DOI. Names scraped from Git will be included in both the main DOI and the relevant incremental "release" DOIs.

Changeset: 4f114ab22f9a3049702e37e8e95511884b20b011

comment:17 Changed 7 years ago by Peter Parker

Refs #7830 - Tidy up About window.

Changeset: 32fc744b45cb613f029c5de2a4b48fac0a6e8408

comment:18 Changed 7 years ago by Peter Parker

Refs #7830 - Generate only one DOI.

On a major/minor/patch build the DOI will point to release notes, and on dev builds the DOI will point to the main mantidproject.org web page.

Updated report log to show this single DOI, and added it to the About window too.

Changeset: bede7b66148af61fd3f9f90c3e3182c32e8a4861

comment:19 Changed 7 years ago by Peter Parker

Refs #7830 - Slight change to citation message wording.

Changeset: 6a155f4b983a4f807828c9b3da045deaecd3998a

comment:20 Changed 7 years ago by Peter Parker

  • Status changed from inprogress to verify
  • Resolution set to fixed

Due to issues relating to the proxy server here at RAL, the DOI generation script will only work on site, and it requires cURL accessible on the command line to run. Note that cURL comes with Git Bash for Windows and is available on Linux if you don't have it.

To Test at RAL:

  • Ensure that the DOI citation is mentioned in the welcome message, as well as in the About dialog. In development versions (and so the version you'll be testing) it will point to the "main" DOI. This DOI has already been generated and should be resolved automatically when you follow the hyperlink in the About dialog.
  • Next, try simulating the generation of a future "release" DOI by generating a test DOI for an existing version of Mantid:
python doi.py  --test --major=_ --minor=_ --patch=_ --username=_____ --password=_____

WARNING: Please make sure to use the --test flag so that your generated DOIs go on the DataCite test servers and don't end up going live!

Use a major/minor/patch version that has a corresponding tag in Git, and get the username/password from me.

You should see some printouts to console that look as if the script has been successful. It should also tell you where the generated DOI and accompanying metadata can be viewed. Note that test DOI's can't be resolved -- when you go to https://test.datacite.org/mds/doi/10.5286/Software/Mantid or similar, you should just see a white page displaying the destination of the DOI.

Check inside the metadata to see if everything looks as expected. There should be sensible values for the fields that are provided (which if the tester is Nick should look very familiar...), and the author list should have only pulled in names scraped from Git for that release.

  • Try generating a test DOI for an existing version of Mantid that is adjacent to the one you generated previously. (I.e., if you generated a DOI for 2.4, generate one for 2.5). Inspecting the metadata of both DOI's should show an isPreviousVersionOf/isNextVersionOf relationship between the two.
  • Try breaking the script. Always use the test flag, but changing other things to nonsensical/incorrect/nonexistant values should output an understandable message to the console.

See me if anything is unclear about how the script should work.

comment:21 Changed 7 years ago by Nick Draper

  • Status changed from verify to verifying
  • Tester set to Nick Draper

comment:22 Changed 7 years ago by Nick Draper

  • Status changed from verifying to closed

Protected Information page added to the wiki with u & p, restricted to mediawiki admins

comment:23 Changed 7 years ago by Peter Parker

Merge branch 'feature/7830_doi_messages_on_startup' of github.com:mantidproject/mantid into feature/7830_doi_messages_on_startup

Full changeset: bd03be3d73d50de9714bcca40a01ace7f657f4ea

comment:24 Changed 7 years ago by Peter Parker

Merge branch 'feature/7830_doi_messages_on_startup' of github.com:mantidproject/mantid into feature/7830_doi_messages_on_startup

Full changeset: cf177ce4d67f7b2aaad1f03d254405a30356f676

comment:25 Changed 7 years ago by Nick Draper

Merge remote-tracking branch 'origin/feature/7830_doi_messages_on_startup'

Full changeset: af8f4c2ed8f4b1b9b7091dac858bf3396261c673

comment:26 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 8675

Note: See TracTickets for help on using tickets.