mlibrary/heliotrope

Refactor Persistant URLs

Closed this issue · 2 comments

Right now, for a Monograph we have these fields:

:hdl
:doi

For a FileSet we have:

:doi
:hdl
:book_needs_handles
:use_crossref_xml
:ext_url_doi_or_handle

In the end, we want this:

Monograph

:citable_link
:indentifier (multiple, provided by hyrax basic metadata)

FileSet

:citable_link
:identifer (multiple, provided by hyrax basic metadata
  • Rename doi in both Mongraph and FileSet to citable_link
  • Remove hdl from both Monograph and FileSet
  • Remove book_needs_handles, use_crossref_xml, ext_url_doi_or_handle from FileSet

The logic around all of this is as follows:

  • If there's no citable_link for the monograph or file_set, use the "default" fulcrum handle.
  • If there is a citable_link, use that.
  • All handles, DOIs or other persistant URLs go into the multivalued identifer field. One of those goes into citable_link (or we'll just use the generated "default" handle.)

There are a ton of places in the code where things need to be changed. We'll also need to make sure the Metadata Template and importer are up to date.

Question: I can't remember: are we going to remove book_needs_handles, use_crossref_xml and ext_url_doi_or_handle from the Metadata Template? Just because we're not storing these in Fedora does not mean they don't have value in the Metadata Template to help us figure out workflows.

This ticket is probably an epic.

See 1717

Also: when handles are generated outside of the system, they should be imported back into the system. The handles should be put into the identifier field (per Jeremy). There's no need to put them into the citable_link field unless they differ from the generated "default" fulcrum handle (which hasn't happened so far).