Issue 16666

Add a DOI field to the dataset object

16666
Reporter: trobertson
Assignee: trobertson
Type: Task
Summary: Add a DOI field to the dataset object
Priority: Major
Resolution: Fixed
Status: Resolved
Created: 2014-11-26 11:37:35.696
Updated: 2014-12-04 14:13:30.65
Resolved: 2014-12-04 14:13:30.626
        
Description: Requires an API change, database change, test coverage, registry console change.
Discuss best format to store DOI. A URN with the doi prefix? - will check doi recommendations for storage and display.
Only keep a single current DOI in the dataset table, but use the generic identifiers extension for additional (historical?) DOIs]]>
    


Author: mdoering@gbif.org
Comment: http://www.doi.org/factsheets/DOIIdentifierSpecs.html
Created: 2014-11-28 10:41:20.674
Updated: 2014-11-28 10:41:20.674


Author: trobertson@gbif.org
Created: 2014-11-28 14:37:03.236
Updated: 2014-11-28 14:37:03.236
        
We agreed to store a DOI in the registry Dataset table as an explicit field.  I propose we have a field defined in SQL as:
{code}ALTER TABLE dataset ADD doi Text;{code}

I propose we use the [DOI name syntax|http://www.doi.org/doi_handbook/2_Numbering.html#2.2] as the single definitive source for defining valid content for this field.

This means that in the DB, we store DOIs as e.g. 10.1234/1ASCDU and can accommodate those created by others up to Text length (which I believe is the only safe way to do so).

It means that we will have to interpret other representations on ingestion, such as:
  http://dx.doi.org/10.1234/1ASCDU
  http://dx.doi.org/doi:10.1234/1ASCDU
  http://doi.org/urn:doi:10.1234/1ASCDU
  http://doi.org/10.1234/1ASCDU
  http://doi.org/doi:10.1234/1ASCDU
  http://dx.doi.org/urn:doi:10.1234/1ASCDU  urn:doi:10.1234/1ASCDU
  doi:10.1234/1ASCDU

All of these have [varying levels of validity|http://www.doi.org/factsheets/DOIIdentifierSpecs.html], but the name definition is, in my opinion, the best definitive source.
    


Author: mdoering@gbif.org
Comment: Why DOIs were never registered properly as a URN scheme: http://en.wikipedia.org/wiki/Uniform_resource_name#Absence_of_DOI_namespace
Created: 2014-11-28 15:17:28.427
Updated: 2014-11-28 15:17:28.427


Author: mdoering@gbif.org
Created: 2014-11-28 17:00:11.495
Updated: 2014-11-28 17:00:11.495
        
DOI class proposal: http://dev.gbif.org/code/cru/CR-GBIFCOM-80

    


Author: mdoering@gbif.org
Created: 2014-11-28 18:50:04.312
Updated: 2014-11-28 18:50:04.312
        
DOI class added: https://github.com/gbif/gbif-api/commit/fd8eb748e5e4142c116e79753e88e9106ca85dc2

    


Author: trobertson@gbif.org
Comment: Including an update of AngularJS to the latest stable, thusly fixing Chrome issues
Created: 2014-12-04 14:13:30.648
Updated: 2014-12-04 14:13:30.648