[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EP-tech] DataCite Doi Plugin



Hi Alfredo,

 May you test this perl script to register your metadata (It's a plugin
code extract)

Replace <YOUR_USER> e <YOUR_PASS> with your real user/pass

I successfully tested the script (exit: HTTP/1.1 201 Created)


#! /usr/bin/perl
use LWP;
use Crypt::SSLeay;
$user_name="<YOUR_USER>";
$user_pw="<YOUR_PASSW>";
$xml= <<EOXML;
<resource xmlns="http://datacite.org/schema/kernel-2.2";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:schemaLocation="http://datacite.org/schema/kernel-2.2
http://schema.datacite.org/meta/kernel-2.2/metadata.xsd";>
<identifier identifierType="DOI">10.5072/UNINA/FEDOA/89</identifier>
<creators>
<creator>
<creatorName>Delle Donne, Roberto</creatorName>
</creator>
</creators>
<titles>
<title>
Autopubblicazione e pubblicazione coordinata di testi storici in formato
digitale
</title>
</titles>
<publisher>UNINA/FEDOA</publisher>
<publicationYear>2006</publicationYear>
<resourceType resourceTypeGeneral="Text">BookSection</resourceType>
<alternateIdentifiers>
<alternateIdentifier
alternateIdentifierType="URL">http://www.fedoa.unina.it/89/</alternateIdentifier>
</alternateIdentifiers>
</resource>
EOXML
$res=datacite_request("POST", "https://mds.datacite.org/metadata";,
$user_name, $user_pw, $xml, "application/xml;charset=UTF-8");
print $res->as_string;
sub datacite_request {
  my ($method, $url, $user_name, $user_pw, $content, $content_type) = @_;
  my $headers = HTTP::Headers->new(
    'Accept'  => 'application/xml',
    'Content-Type' => $content_type
  );
  my $req = HTTP::Request->new(
    $method => $url,
    $headers, $content
  );
  $req->authorization_basic($user_name, $user_pw);
  my $ua = LWP::UserAgent->new;
  my $res = $ua->request($req);
  return $res;
}


Il 22/06/2017 11:32, Alfredo Cosco ha scritto:
> The  number  "is special test prefix 10.5072 available to all
> datacentres." (see https://mds.datacite.org/static/apidoc#tocAnchor-9
> <https://mds.datacite.org/static/apidoc#tocAnchor-9> )
>
> There are some test records registered by a the previous admin,
> probably by hand, and they are handled:
> https://handle.test.datacite.org/10.5072/UNINA/FEDOA/1910?noredirect=on
>
> I also supposed that the slash in repoid was wrong, so i canghed
> with: UNINA-FEDOA
>
> But the result is the same.
> Thanks,
> Alfredo
>
>
>
> 2017-06-21 14:37 GMT+02:00 Enio Carboni <enio.carboni at gmail.com
> <mailto:enio.carboni at gmail.com>>:
>
>     Well, the export is ok, so now:
>
>      are you sure your doi prefix?
>
>     On DataCite APIs i see for metadata "Response code" (
>     https://mds.datacite.org/static/apidoc#tocAnchor-18
>     <https://mds.datacite.org/static/apidoc#tocAnchor-18> ) :
>
>
>                 Response statuses
>
>         |201 Created|- operation successful
>
>         *|400 Bad Request|**- invalid XML, wrong prefi*x
>
>         |401 Unauthorized|- no login
>
>         |403 Forbidden|- login problem, quota exceeded
>
>         |500 Internal Server Error|- server internal error, try later
>         and if problem persists please contact us
>
>     So i check your prefix and i don't found none, you can see at
>     https://search.datacite.org/api <https://search.datacite.org/api> :
>     Es:
>
>       * https://search.datacite.org/api?q=prefix:10.5072
>         <https://search.datacite.org/api?q=prefix:10.5072> or
>       * https://search.datacite.org/api?q=UNINA%20and%20FEDOA
>         <https://search.datacite.org/api?q=UNINA%20and%20FEDOA>
>
>
>
>     Il 21/06/2017 12:43, Alfredo Cosco ha scritto:
>>     <resource xmlns="http://datacite.org/schema/kernel-2.2
>>     <http://datacite.org/schema/kernel-2.2>" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
>>     <http://www.w3.org/2001/XMLSchema-instance>" xsi:schemaLocation="http://datacite.org/schema/kernel-2.2
>>     <http://datacite.org/schema/kernel-2.2>
>>     http://schema.datacite.org/meta/kernel-2.2/metadata.xsd
>>     <http://schema.datacite.org/meta/kernel-2.2/metadata.xsd>">
>>     <identifier identifierType="DOI">10.5072/UNINA/FEDOA/89</identifier>
>>     <creators>
>>     <creator>
>>     <creatorName>Delle Donne, Roberto</creatorName>
>>     </creator>
>>     </creators>
>>     <titles>
>>     <title>
>>     Autopubblicazione e pubblicazione coordinata di testi storici in
>>     formato digitale
>>     </title>
>>     </titles>
>>     <publisher>UNINA/FEDOA</publisher>
>>     <publicationYear>2006</publicationYear>
>>     <resourceType resourceTypeGeneral="Text">BookSection</resourceType>
>>     <alternateIdentifiers>
>>     <alternateIdentifier alternateIdentifierType="URL">http://www.fedoa.unina.it/89/
>>     <http://www.fedoa.unina.it/89/></alternateIdentifier>
>>     </alternateIdentifiers>
>>     </resource>
>>
>>     2017-06-21 12:11 GMT+02:00 Enio Carboni <enio.carboni at gmail.com
>>     <mailto:enio.carboni at gmail.com>>:
>>
>>         Can you check the output of DataCiteXML export plugin on some
>>         of your eprintid?
>>
>>         You can use url like this:
>>
>>         <YOUR_EPRINT_BASE_URL>/cgi/export/eprint/<EPRINT_ID>/DataCiteXML/datacite.xml
>>
>>         The plugin use this export to register metadata first then if
>>         all ok coin doi
>>
>>
>>         Il 21/06/2017 11:39, Alfredo Cosco ha scritto:
>>>         Hello,
>>>         also using production credentials and api url the error is
>>>         the same.
>>>
>>>         Thank you,
>>>         Alfredo
>>>
>>>         2017-06-21 10:24 GMT+02:00 Enio Carboni
>>>         <enio.carboni at gmail.com <mailto:enio.carboni at gmail.com>>:
>>>
>>>             By reviewing the DataCite APIs on
>>>             https://mds.datacite.org/static/apidoc
>>>             <https://mds.datacite.org/static/apidoc> I no longer see
>>>             any mention on their test site
>>>             (https://mds.test.datacite.org/
>>>             <https://mds.test.datacite.org/>) while I see an
>>>             addition of the parameter "testMode=true" directly in
>>>             the POST url for test purposes.
>>>
>>>             Could you try it directly with the DataCite production
>>>             url (https://mds.datacite.org/)?
>>>
>>>
>>>             I will update the code as soon as possible to reflect
>>>             the "testMode" parameter if the rest is still valid
>>>
>>>
>>>             Il 21/06/2017 00:39, Alfredo Cosco ha scritto:
>>>>             I used the default string:
>>>>
>>>>             $c->{datacitedoi}{apiurl} =
>>>>             "https://mds.test.datacite.org/
>>>>             <https://mds.test.datacite.org/>";
>>>>
>>>>             2017-06-20 22:21 GMT+02:00 Enio Carboni
>>>>             <enio.carboni at gmail.com <mailto:enio.carboni at gmail.com>>:
>>>>
>>>>                 What value did you put in
>>>>                 "$c->{datacitedoi}{apiurl}" in
>>>>                 cfg/cgf.d/z_datacitedoi.pl <http://z_datacitedoi.pl>?
>>>>
>>>>                 This URL should end with a '/' otherwise the url
>>>>                 for the coin unfortunately is not done well.
>>>>
>>>>                  Let me know if there are any news
>>>>                   Enio
>>>>
>>>>                 Il 20/06/2017 19:48, Alfredo Cosco ha scritto:
>>>>>                 Hi All, hi Enio,
>>>>>                 I installed your plugin and I'm trying to launch
>>>>>                 the bin script to test it.
>>>>>                 I get this error message from the script:
>>>>>
>>>>>                 Connecting to DB ... done.
>>>>>                 [doi=10.5072/UNINA.FEDOA/1125] Metadata
>>>>>                 registration response from datacite api:
>>>>>                 response_code=400
>>>>>                 [doi=10.5072/UNINA.FEDOA/1125] rescheduling event
>>>>>                 Error HTTP_LOCKED while trying to coin doi for
>>>>>                 eprint 1125
>>>>>                 Ending EPrints Repository.
>>>>>
>>>>>                 Thanks,
>>>>>                 Alfredo
>>>>>
>>>>>                 2017-06-16 17:09 GMT+02:00 Enio Carboni
>>>>>                 <enio.carboni at gmail.com
>>>>>                 <mailto:enio.carboni at gmail.com>>:
>>>>>
>>>>>                     I use my own version last year forked from
>>>>>                     eprints/datasite but with the news of the fork
>>>>>                     in eprintsug
>>>>>
>>>>>                     You may try at
>>>>>                     https://github.com/eniocarboni/datacite
>>>>>                     <https://github.com/eniocarboni/datacite>
>>>>>                     where i also add a manual script to coin in
>>>>>                     bin/datacitecoin so we can test better.
>>>>>
>>>>>                     As I wrote the last edit is November 2016 so I
>>>>>                     hope the plugin can still be fine
>>>>>
>>>>>                       Enio Carboni
>>>>>
>>>>>
>>>>>                     Il 16/06/2017 16:36, Alfredo Cosco ha scritto:
>>>>>>                     Hello,
>>>>>>                     no, I didn't receive any suggestion.
>>>>>>                     But now at least I can read an error log.
>>>>>>                     So, I verified my plugin and is in sync with
>>>>>>                     github repo.
>>>>>>
>>>>>>                     I verified all connection parameters and set
>>>>>>                     up the script to make tests on datacite: 
>>>>>>                     $c->{datacitedoi}{prefix} = "10.5072";
>>>>>>                     $c->{datacitedoi}{apiurl} =
>>>>>>                     "https://mds.test.datacite.org";;
>>>>>>
>>>>>>                     then I restarted the indexer.
>>>>>>
>>>>>>                     Now when I try to coin a DOI the indexer.log
>>>>>>                     add this message
>>>>>>
>>>>>>                     [urn:uuid:86176f74-3e5f-466c-8680-94b13876b8ff]
>>>>>>                     Event::DataCiteEvent::datacite_doi: Error
>>>>>>                     during execution:
>>>>>>                     XML::LibXML::Node::appendChild() -- nNode is
>>>>>>                     not a blessed SV reference at
>>>>>>                     /usr/share/eprints3/archives/sire/cfg/plugins/EPrints/Plugin/Export/DataCiteXML.pm
>>>>>>                     line 73. 
>>>>>>
>>>>>>                     Thanks
>>>>>>                     Alfedo
>>>>>>
>>>>>>
>>>>>>
>>>>>>                     2017-06-13 22:43 GMT+02:00 Tomasz Neugebauer
>>>>>>                     <Tomasz.Neugebauer at concordia.ca
>>>>>>                     <mailto:Tomasz.Neugebauer at concordia.ca>>:
>>>>>>
>>>>>>                         I hope that Alfredo received some help
>>>>>>                         from back in April, I didn?t see it on
>>>>>>                         the list. 
>>>>>>
>>>>>>                         I found installing the DataCite plugin
>>>>>>                         difficult as well. I got it work
>>>>>>                         eventually, but it was not trivial.
>>>>>>
>>>>>>                         I think that the Bazaar plugin is
>>>>>>                         probably out of synch with all the fixes
>>>>>>                         that were applied in the last year or so
>>>>>>                         to the github code.
>>>>>>
>>>>>>                         Here is a couple of points to remember
>>>>>>                         when troubleshooting DataCite plugin
>>>>>>                         (something I was doing today):
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         1)      The indexer does much of the
>>>>>>                         work, so if you make a change to the
>>>>>>                         DataCite Event script, you have to
>>>>>>                         restart the indexer before you see a
>>>>>>                         change.  Today, I had to make a change to
>>>>>>                         accommodate this issue:
>>>>>>                         https://github.com/eprintsug/DataCiteDoi/issues/13
>>>>>>                         <https://github.com/eprintsug/DataCiteDoi/issues/13>
>>>>>>                         for example, since I was minting a DOI
>>>>>>                         for an item with a title in French.
>>>>>>
>>>>>>                         2)      The error/logging for minting
>>>>>>                         seems mostly to be stored with the
>>>>>>                         indexer.log in var folder.
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         Thanks to David for flagging issue 13!  I
>>>>>>                         spent half the day trying to figure this
>>>>>>                         one out before I found the issue post.  
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         Tomasz
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         *From:*eprints-tech-bounces at ecs.soton.ac.uk
>>>>>>                         <mailto:eprints-tech-bounces at ecs.soton.ac.uk>
>>>>>>                         [mailto:eprints-tech-bounces at ecs.soton.ac.uk
>>>>>>                         <mailto:eprints-tech-bounces at ecs.soton.ac.uk>]
>>>>>>                         *On Behalf Of *Alfredo Cosco
>>>>>>                         *Sent:* April-10-17 3:33 AM
>>>>>>                         *To:* eprints-tech at ecs.soton.ac.uk
>>>>>>                         <mailto:eprints-tech at ecs.soton.ac.uk>
>>>>>>                         *Subject:* [EP-tech] DataCite Doi Plugin
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         Hi all,
>>>>>>
>>>>>>                         i'm trying to configure DataCite Doi
>>>>>>                         plugin found on eprintsug github page:
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         https://github.com/eprintsug/DataCiteDoi
>>>>>>                         <https://github.com/eprintsug/DataCiteDoi>
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         The plugin seems correctly installed, the
>>>>>>                         button to coin a DOI appears but seems
>>>>>>                         that it doesn't work.
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         I  set the plugin with the test API address:
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         https://mds.test.datacite.org
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         I set it with my datacite user and pw. 
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         But new DOIs do not appear in the list of
>>>>>>                         generated DOI.
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         Please help me.
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                         Thanks,
>>>>>>
>>>>>>                         Alfredo
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>                          
>>>>>>
>>>>>>
>>>>>>                         *** Options:
>>>>>>                         http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>>>>                         <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>>>>                         *** Archive:
>>>>>>                         http://www.eprints.org/tech.php/
>>>>>>                         <http://www.eprints.org/tech.php/>
>>>>>>                         *** EPrints community wiki:
>>>>>>                         http://wiki.eprints.org/
>>>>>>                         *** EPrints developers Forum:
>>>>>>                         http://forum.eprints.org/
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>                     *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>>>>                     <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>>>>                     *** Archive: http://www.eprints.org/tech.php/
>>>>>>                     <http://www.eprints.org/tech.php/>
>>>>>>                     *** EPrints community wiki: http://wiki.eprints.org/
>>>>>>                     *** EPrints developers Forum: http://forum.eprints.org/
>>>>>
>>>>>
>>>>>                     *** Options:
>>>>>                     http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>>>                     <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>>>                     *** Archive: http://www.eprints.org/tech.php/
>>>>>                     <http://www.eprints.org/tech.php/>
>>>>>                     *** EPrints community wiki:
>>>>>                     http://wiki.eprints.org/
>>>>>                     *** EPrints developers Forum:
>>>>>                     http://forum.eprints.org/
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>                 *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>>>                 <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>>>                 *** Archive: http://www.eprints.org/tech.php/
>>>>>                 <http://www.eprints.org/tech.php/>
>>>>>                 *** EPrints community wiki: http://wiki.eprints.org/
>>>>>                 *** EPrints developers Forum: http://forum.eprints.org/
>>>>
>>>>
>>>>                 *** Options:
>>>>                 http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>>                 <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>>                 *** Archive: http://www.eprints.org/tech.php/
>>>>                 <http://www.eprints.org/tech.php/>
>>>>                 *** EPrints community wiki: http://wiki.eprints.org/
>>>>                 *** EPrints developers Forum: http://forum.eprints.org/
>>>>
>>>>
>>>>
>>>>
>>>>             *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>>             <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>>             *** Archive: http://www.eprints.org/tech.php/
>>>>             <http://www.eprints.org/tech.php/>
>>>>             *** EPrints community wiki: http://wiki.eprints.org/
>>>>             *** EPrints developers Forum: http://forum.eprints.org/
>>>
>>>
>>>             *** Options:
>>>             http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>             <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>             *** Archive: http://www.eprints.org/tech.php/
>>>             <http://www.eprints.org/tech.php/>
>>>             *** EPrints community wiki: http://wiki.eprints.org/
>>>             *** EPrints developers Forum: http://forum.eprints.org/
>>>
>>>
>>>
>>>
>>>         *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>>         <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>>         *** Archive: http://www.eprints.org/tech.php/
>>>         <http://www.eprints.org/tech.php/>
>>>         *** EPrints community wiki: http://wiki.eprints.org/
>>>         *** EPrints developers Forum: http://forum.eprints.org/
>>
>>
>>         *** Options:
>>         http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>         <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>         *** Archive: http://www.eprints.org/tech.php/
>>         <http://www.eprints.org/tech.php/>
>>         *** EPrints community wiki: http://wiki.eprints.org/
>>         *** EPrints developers Forum: http://forum.eprints.org/
>>
>>
>>
>>
>>     *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>>     <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>>     *** Archive: http://www.eprints.org/tech.php/ <http://www.eprints.org/tech.php/>
>>     *** EPrints community wiki: http://wiki.eprints.org/
>>     *** EPrints developers Forum: http://forum.eprints.org/
>
>
>     *** Options:
>     http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>     <http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech>
>     *** Archive: http://www.eprints.org/tech.php/
>     <http://www.eprints.org/tech.php/>
>     *** EPrints community wiki: http://wiki.eprints.org/
>     *** EPrints developers Forum: http://forum.eprints.org/
>
>
>
>
> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: http://www.eprints.org/tech.php/
> *** EPrints community wiki: http://wiki.eprints.org/
> *** EPrints developers Forum: http://forum.eprints.org/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20170622/b0a99f7e/attachment-0001.html