Hello,
At Simon Fraser University Library we've developed a module that provides the ability to assign Digital Object Identifiers (DOIs) to Islandora objects. It's available at:
This module and its submodules do not replace or compete with the Islandora DOI module bundled with Islandora Scholar. The Scholar DOI module allows you to add objects to a repository based on a list of DOIs, whereas the Islandora DOI Framework module assigns DOIs to existing objects.
Islandora DOI Framework delegates the creation ("minting") and the saving ("persisting") of DOIs to submodules. This separation of concerns means that extending the Framework to suit new use cases is fairly simple. The Framework module includes submodules to mint a DOI using DataCite and persist the DOI to an objects' MODS datastream, and Alex Garnett has developed a persisting submodule that saves the DOI to an object's
DDI datastream, illustrating the ability to mix and match minting and persisting modules:
Thanks very much to Alex and to Brandon Weigel for pre-release testing and feedback.
A question for the community: We wrote this module to meet our own use case of assigning DOIs to our objects. At last week's conference, I heard people from other Islandora sites mention in presentations that they want to assign ARKs and PURLs instead of DOIs. I'd like to ask sites who want to assign persistent identifiers to their objects, but plan on assigning some other persistent, globally resolvable identifier like ARKs or PURLs (not DOIs)? I am asking because it would not take a huge amount of work to morph the Islandora DOI Framework into something that supports other types of identifiers as well (Islandora URN Framework? Islandora Global ID Framework?). As far as I can tell, the work involved would entail renaming the module, adding a few mechanisms for overriding the hardcoded use of "DOI" in the module now, and writing additional submodules to do the work of minting the ARKs/PURLs/etc. I am happy to consider doing this now, at the initial release of this module, if I hear from sites that can provide real use cases. Otherwise, it will remain DOI-only at its initial release. Let me hear from you if you're one of those sites. If you have use cases, please describe them in the module's
issue queue.
Mark