EPrints Technical Mailing List Archive
Message: #00682
< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First
[EP-tech] Re: datacite, DOI
- To: eprints-tech@ecs.soton.ac.uk
- Subject: [EP-tech] Re: datacite, DOI
- From: Tim Brody <tdb2@ecs.soton.ac.uk>
- Date: Wed, 06 Jun 2012 13:01:56 +0100
On Wed, 2012-06-06 at 12:07 +0200, raffaele messuti wrote: > Dears, > i'm thinking of an eprints plugin for automatic mint of DOI > identifiers using the datacite provider. > Datacite[1] offer (for his members) an http api[2] for generation of > DOI identifiers. > > The workflow has two steps: > (a) generate the DOI for an URL[3] > (b) send metadata[4] in xml[5] for the previously generated identifier > > the (a) should be easy, with a synchronous call: > i'm thinking to add a boolean and a text field to eprints. > the boolean fields is showed somewhere in the workflow, if checked > eprints_fields_automatic.pl will trigger the call to the api, and save > the returned > DOI. at this point the identifier is usable and resolvable > (http://dx.doi.org/DOI) > > this code is reusable: > https://github.com/datacite/mds/blob/master/client/perl/mds-suite.pl > > the (b) step, even if is not mandatory, will require to export the > metadata in the datacite schema > and store[4] for the identifier. > This activity could slow the edit interface if made with a synchronous call, > how do you suggest to do? > > the Event plugin could be a solution? > http://wiki.eprints.org/w/API:EPrints/Plugin/Event > > Is yet developed something similar? > > > [1] http://www.datacite.org > [2] https://mds.datacite.org/static/apidoc > [3] https://mds.datacite.org/static/apidoc#tocAnchor-14 > [4] https://mds.datacite.org/static/apidoc#tocAnchor-17 > [5] http://schema.datacite.org/ I suspect you only want to update the DOI metadata for live eprint items and you may want to only create a DOI when the item goes live (eprint_status_changed). Either way, creating an event should be easy: EPrints::DataObj::EventQueue->create_unique( $session, { pluginid => "Event::DataCite", action => "update_metadata", params => [$eprint->internal_uri], } ); Then update_metadata() will be called on your Event::DataCite plugin by the indexer process with the eprint object as its only argument. -- All the best, Tim
Attachment:
signature.asc
Description: This is a digitally signed message part
- References:
- [EP-tech] datacite, DOI
- From: raffaele messuti <raffaele.messuti@gmail.com>
- [EP-tech] datacite, DOI
- Prev by Date: [EP-tech] Re: adding a dark archive
- Next by Date: [EP-tech] Re: datacite, DOI
- Previous by thread: [EP-tech] datacite, DOI
- Next by thread: [EP-tech] Re: datacite, DOI
- Index(es):