[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[EP-tech] Re: datacite, DOI
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: This is a digitally signed message part
Url : http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20120606/f6695e0d/attachment.bin