From 7b7533aa048216017b4deccee5184c94c048a296 Mon Sep 17 00:00:00 2001 From: Timothy Miles-Board Date: Fri, 19 Dec 2014 15:58:10 +0000 Subject: [PATCH 001/107] Fix 2 files appear missing from epmi, checksum for z_datacitedoi.pl out of date --- DataCiteDoi.epmi | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 9d33088..f156a55 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,33 +1,47 @@ - + DataCiteDoi http://eprints/id/epm/DataCiteDoi + + epm/DataCiteDoi/cfg/cfg.d/z_datacite_core.pl + text/plain + 24850ea6a0a61e932aff48de559a9b28 + MD5 + 696 + epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl text/plain - fcb3176e88cf0bccb6c8e000bd1ac0da + 37dcb325580147f795b86d8c18c0556e + MD5 + 2303 + + + plugins/EPrints/Plugin/Event/DataCiteEvent.pm + inode/symlink + a4626d18add344225c4a8063b8da39cf MD5 - 1070 + 2101 plugins/EPrints/Plugin/Export/DataCiteXML.pm - application/x-symlink - 84f4180876ff95bdde9f78a6a4c300e6 + inode/symlink + fbf23f01140ea16fd5e6a322c89f199a MD5 - 3898 + 3906 static/images/epm/datacitedoi.png - application/x-symlink + inode/symlink 14e9e2be0a73f452533488634aaea66e MD5 101504 - application/x-symlink + inode/symlink other
static/images/epm/datacitedoi.png
install @@ -36,7 +50,7 @@ static/images/epm/datacitedoi.png - application/x-symlink + inode/symlink 14e9e2be0a73f452533488634aaea66e MD5 101504 @@ -47,7 +61,7 @@ coverimage
- 0.9.0 + 0.9.1 From af8e62b70bca21b45b74ef773da8bcb448c6f098 Mon Sep 17 00:00:00 2001 From: Timothy Miles-Board Date: Fri, 19 Dec 2014 16:07:16 +0000 Subject: [PATCH 002/107] Fix })}) mashup in z_datacite_core.pl, new epmi --- DataCiteDoi.epmi | 8 ++++---- cfg/cfg.d/z_datacite_core.pl | 37 ++++++++++++++++++------------------ 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index f156a55..8942271 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,16 +1,16 @@ DataCiteDoi - http://eprints/id/epm/DataCiteDoi + http://template.ulcc.ac.uk/id/epm/DataCiteDoi epm/DataCiteDoi/cfg/cfg.d/z_datacite_core.pl text/plain - 24850ea6a0a61e932aff48de559a9b28 + f2dea4bf477b51ec95bd073b0f7b5524 MD5 - 696 + 517 epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl @@ -61,7 +61,7 @@ coverimage - 0.9.1 + 0.9.2 diff --git a/cfg/cfg.d/z_datacite_core.pl b/cfg/cfg.d/z_datacite_core.pl index 576d8e0..b83ab73 100644 --- a/cfg/cfg.d/z_datacite_core.pl +++ b/cfg/cfg.d/z_datacite_core.pl @@ -1,22 +1,21 @@ -# Addes the miniting plugin to the EP_TRIGGER_STATUS_CHANGE +# Adds the minting plugin to the EP_TRIGGER_STATUS_CHANGE $c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { - my ( %params ) = @_; - - my $repository = %params->{repository}; - - return undef if (!defined $repository); - - if (defined %params->{dataobj}) { - my $dataobj = %params->{dataobj}; - my $eprint_id = $dataobj->id; + my ( %params ) = @_; - $repository->dataset( "event_queue" )->create_dataobj({ - pluginid => "Event::DataCiteEvent", - action => "datacite_doi", - params => [$dataobj->internal_uri], - }); - }); - } - + my $repository = %params->{repository}; + + return undef if (!defined $repository); + + if (defined %params->{dataobj}) + { + my $dataobj = %params->{dataobj}; + my $eprint_id = $dataobj->id; + + $repository->dataset( "event_queue" )->create_dataobj({ + pluginid => "Event::DataCiteEvent", + action => "datacite_doi", + params => [$dataobj->internal_uri], + }); + } }); - \ No newline at end of file + From e37c779d5ff34150d87403ecb3c51ac979c9233f Mon Sep 17 00:00:00 2001 From: David McElroy Date: Fri, 19 Dec 2014 16:41:09 +0000 Subject: [PATCH 003/107] Finally fixed the typo in How it works --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 96b6d88..67c4af9 100644 --- a/README.md +++ b/README.md @@ -104,7 +104,7 @@ $c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { }); ``` -Who it works +How it works ------------- /lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm From adbcb2846f177b9e7851d88ba1a69ac6b2fd48d3 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:00:06 +0000 Subject: [PATCH 004/107] code moved to datacitedoi.pl thus taking advantage of config options --- cfg/cfg.d/z_datacite_core.pl | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 cfg/cfg.d/z_datacite_core.pl diff --git a/cfg/cfg.d/z_datacite_core.pl b/cfg/cfg.d/z_datacite_core.pl deleted file mode 100644 index b83ab73..0000000 --- a/cfg/cfg.d/z_datacite_core.pl +++ /dev/null @@ -1,21 +0,0 @@ -# Adds the minting plugin to the EP_TRIGGER_STATUS_CHANGE -$c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { - my ( %params ) = @_; - - my $repository = %params->{repository}; - - return undef if (!defined $repository); - - if (defined %params->{dataobj}) - { - my $dataobj = %params->{dataobj}; - my $eprint_id = $dataobj->id; - - $repository->dataset( "event_queue" )->create_dataobj({ - pluginid => "Event::DataCiteEvent", - action => "datacite_doi", - params => [$dataobj->internal_uri], - }); - } -}); - From af246e68f037e73564e5e1706b437e986e602187 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:00:27 +0000 Subject: [PATCH 005/107] new config options and datacite_core.pl code too --- cfg/cfg.d/z_datacitedoi.pl | 74 +++++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 4e719d9..65bd99c 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -24,6 +24,11 @@ # eg World Data Center for Climate (WDCC); $c->{datacitedoi}{publisher} = "Eprints Repo"; +# Namespace and location for datacite XML schema +# feel free to update, though no guarantees it'll be accepted if you do +$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-2.2"; +$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." ".$c->{datacitedoi}{xmlns}."/metadata.xsd"; + # need to map eprint type (article, dataset etc) to ResourceType # Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf # where v is the ResourceType and a is the resourceTypeGeneral @@ -42,4 +47,71 @@ $c->{datacitedoi}{typemap}{other} = {v=>'Misc',a=>'Collection'}; $c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; $c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; -$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Film'}; \ No newline at end of file +$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Film'}; + +########################### +#### DOI syntax config #### +########################### + +# Set config of DOI delimiters +# Feel free to change, but they must conform to DOI syntax +# If not set will default to prefix/repoid/id the example below gives prefix/repoid.id +$c->{datacitedoi}{delimiters} = ["/","."]; + +# If set, plugin will attempt to register what is found in the EP DOI field ($c->{datacitedoi}{eprintdoifield}) +# Will only work if what is found adheres to DOI syntax rules (obvioulsy) +$c->{datacitedoi}{allow_custom_doi} = 0; + +#Datacite recommend digits of length 8-10 set this param to pad the id to required length +$c->{datacitedoi}{zero_padding} = 8; + +########################################## +### Override which URL gets registered ### +########################################## + +#Only useful for testing from "wrong" domain (eg an unregistered test server) should be undef for normal operation +$c->{datacitedoi}{override_url} = undef; + +########################## +##### When to coin ? ##### +########################## + +#If auto_coin is set DOIs will be minted on Status change (provided all else is well) +$c->{datacitedoi}{auto_coin} = 0; +#If action_coin is set then a button will be displayed under action tab (for staff) to mint DOIs on an adhoc basis +$c->{datacitedoi}{action_coin} = 1; + +# NB setting auto_coin renders action coin redundant as only published items can be registered + +####### Formerly in cfg.d/datacite_core.pl ######### + +# Including datacite_core.pl below as we can make some useful decisions based on the above config. + +## Adds the minting plugin to the EP_TRIGGER_STATUS_CHANGE +if($c->{datacitedoi}{auto_coin}){ + $c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { + my ( %params ) = @_; + + my $repository = %params->{repository}; + + return undef if (!defined $repository); + + if (defined %params->{dataobj}) { + my $dataobj = %params->{dataobj}; + my $eprint_id = $dataobj->id; + $repository->dataset( "event_queue" )->create_dataobj({ + pluginid => "Event::DataCiteEvent", + action => "datacite_doi", + params => [$dataobj->internal_uri], + }); + } + + }); +} + +# Activate an action button, the plugin for whcih is at +# /plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +if($c->{datacitedoi}{action_coin}){ + $c->{plugins}{"Screen::EPrint::Staff::CoinDOI"}{params}{disable} = 0; +} + From dae3b09eee314b6e44a7a7d78516e5afb6e36065 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:00:56 +0000 Subject: [PATCH 006/107] improved event handling plus use of new config options --- .../EPrints/Plugin/Event/DataCiteEvent.pm | 114 +++++++++++++----- 1 file changed, 84 insertions(+), 30 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 270151c..7008437 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -9,50 +9,66 @@ package EPrints::Plugin::Event::DataCiteEvent; use EPrints::Plugin::Event; use LWP; use Crypt::SSLeay; +use HTTP::Headers::Util; @ISA = qw( EPrints::Plugin::Event ); sub datacite_doi { - my( $self, $eprint) = @_; + my( $self, $dataobj) = @_; my $repository = $self->repository(); - - my $thisdoi = $repository->get_conf( "datacitedoi", "prefix")."/". $repository->get_conf( "datacitedoi", "repoid")."/".$eprint->id; - my $eprintdoifield = $repository->get_conf( "datacitedoi", "eprintdoifield"); - - my $task; - - my $shoulddoi = $repository->get_conf( "datacitedoi", "eprintstatus", $eprint->value( "eprint_status" )); - + #Check object status first.... TODO Make work for dataobj == doument (just in case) + my $shoulddoi = $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); #Check Doi Status - if(!$shoulddoi){ return; } - - #check if doi has been set; - if( $eprint->exists_and_set( $eprintdoifield )) { - if( $eprint->value( $eprintdoifield ) ne $thisdoi ){ - #Skipping because its has a diff doi; - return; - } - }else{ - $eprint->set_value($eprintdoifield, $thisdoi); - $eprint->commit(); - } - - - my $xml = $eprint->export( "DataCiteXML" ); + if(!$shoulddoi){ + $repository->log("Attempt to coin DOI for item that is not in the required area (see \$c->{datacitedoi}->{eprintstatus})"); + return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; + } + + my $thisdoi = $self->coin_doi($repository,$dataobj); + #coin_doi may return an event error code if no prefix present assume this is the case + my $prefix = $repository->get_conf( "datacitedoi", "prefix"); + return $thisdoi if($thisdoi !~ /^$prefix/); + + #Pass doi into Export::DataCiteXML... + my $xml = $dataobj->export( "DataCiteXML", doi=>$thisdoi ); + return $xml if($xml =~ /^\d+$/); #just a number? coin_doi has passed back an error code pass it on... + + #print STDERR "XML: $xml\n"; my $url = $repository->get_conf( "datacitedoi", "apiurl"); + $url.="/" if($url !~ /\/$/); #attach slash if config has forgotten my $user_name = $repository->get_conf( "datacitedoi", "user"); my $user_pw = $repository->get_conf( "datacitedoi", "pass"); #register metadata; - $response_code = datacite_request("POST", $url."metadata", $user_name, $user_pw, $xml, "application/xml;charset=UTF-8"); - + my($response_content, $response_code) = datacite_request("POST", $url."metadata", $user_name, $user_pw, $xml, "application/xml;charset=UTF-8"); + if($response_code !~ /20(1|0)/){ + $repository->log("Metadata response from datacite api: $response_code: $response_content"); + $repository->log("BTW the \$doi was:\n$thisdoi"); + return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; + } #register doi - my $doi_reg = "doi=$thisdoi\nurl=".$eprint->uri(); - $response_code = datacite_request("POST", $url."doi", $user_name, $user_pw, $doi_reg, "text/plain;charset=UTF-8"); + my $repo_url =$dataobj->uri(); + #RM special override to allow testing from "wrong" domain + if(defined $repository->get_conf( "datacitedoi", "override_url")){ + $repo_url = $repository->get_conf( "datacitedoi", "override_url"); + $repo_url.= $dataobj->internal_uri; + } + my $doi_reg = "doi=$thisdoi\nurl=".$repo_url; + ($response_content, $response_code)= datacite_request("POST", $url."doi", $user_name, $user_pw, $doi_reg, "text/plain;charset=UTF-8"); + if($response_code !~ /20(1|0)/){ + $repository->log("Registration response from datacite api: $response_code: $response_content"); + $repository->log("BTW the \$doi_reg was:\n$doi_reg"); + return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; + } + #now it is safe to set DOI value. + my $eprintdoifield = $repository->get_conf( "datacitedoi", "eprintdoifield"); + $dataobj->set_value($eprintdoifield, $thisdoi); + $dataobj->commit(); + #success return undef; } @@ -75,10 +91,48 @@ sub datacite_request { my $ua = LWP::UserAgent->new; my $res = $ua->request($req); - return $res->content(); + return ($res->content(),$res->code()); } +#RM lets do the DOI coining somewhere (reasonably) accessible +sub coin_doi { + my( $self, $repository, $dataobj) = @_; + #RM zero padds eprintid as per config + my $z_pad = $repository->get_conf( "datacitedoi", "zero_padding") || 0; + my $id = sprintf("%0".$z_pad."d", $dataobj->id); + #Check for custom delimiters + my ($delim1, $delim2) = @{$repository->get_conf( "datacitedoi", "delimiters")}; + #default to slash + $delim1 = "/" if(!defined $delim1); + #second defaults to first + $delim2 = $delim1 if(!defined $delim2); + #construct the DOI string + my $prefix = $repository->get_conf( "datacitedoi", "prefix"); + my $thisdoi = $prefix.$delim1.$repository->get_conf( "datacitedoi", "repoid").$delim2.$id; -1; \ No newline at end of file + my $eprintdoifield = $repository->get_conf( "datacitedoi", "eprintdoifield"); + + #Custom DOIS + #if DOI field is set attempt to use that if config allows + if($dataobj->exists_and_set( $eprintdoifield) ){ + + #if config does not allow ... bail + if( !$repository->get_conf( "datacitedoi", "allow_custom_doi" ) ){ + $repository->log("DOI is already set and custom overrides are disaallowed by config"); + return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; + } + #we are allowed (check prefix just in case) + $thisdoi = $dataobj->get_value( $eprintdoifield ); + if($thisdoi !~ /^$prefix/){ + $repository->log("Prefix does not match ($prefix) for custom DOI: $thisdoi"); + $dataobj->set_value($eprintdoifield, ""); #unset the bad DOI!! + $dataobj->commit(); + return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; + }#We'll leave Datacite to do any further syntax checking etc... + } + + return $thisdoi; +} +1; From 10c2a39c4522ae1fb2247a524abd0147870b1724 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:03:44 +0000 Subject: [PATCH 007/107] Event::Datacite::coin_doi for consisstency better name handling, use of new config etc --- .../EPrints/Plugin/Export/DataCiteXML.pm | 75 +++++++++++-------- 1 file changed, 45 insertions(+), 30 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 5d0ca0c..67f7e6e 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -5,7 +5,6 @@ EPrints::Plugin::Export::DataCiteXML =cut package EPrints::Plugin::Export::DataCiteXML; - use EPrints::Plugin::Export::Feed; @ISA = ('EPrints::Plugin::Export::Feed'); @@ -23,7 +22,8 @@ sub new $self->{visible} = 'all'; $self->{suffix} = '.xml'; $self->{mimetype} = 'application/xml; charset=utf-8'; - + $self->{arguments}->{doi} = undef; + return $self; } @@ -33,36 +33,49 @@ sub output_dataobj my $repo = $self->{repository}; my $xml = $repo->xml; - - - my $thisdoi = $repo->get_conf( "datacitedoi", "prefix")."/". $repo->get_conf( "datacitedoi", "repoid")."/".$dataobj->id; - - my $entry = $xml->create_element( "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" ); - $entry->appendChild( $xml->create_data_element( "identifier", $dataobj->get_value( $repo->get_conf( "datacitedoi", "eprintdoifield") ) , identifierType=>"DOI" ) ); + #reference the datacite schema from config + my $entry = $xml->create_element( "resource", + xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", + "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); + + #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line + my $thisdoi = $opts{doi}; + #RM coin a DOI if either + # - not come via event or + # - no doi arg passed in via cmd_line + # ie when someone exports DataCiteXML from the Action tab + if(!defined $thisdoi){ + #nick the coining sub from event plugin + my $event = $repo->plugin("Event::DataCiteEvent"); + $thisdoi = $event->coin_doi($repo, $dataobj); + #coin_doi may return an event error code if no prefix present assume this is the case + my $prefix = $repo->get_conf( "datacitedoi", "prefix"); + return $thisdoi if($thisdoi !~ /^$prefix/); + } + + $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); + #RM otherwise we'll leave this alone for now my $creators = $xml->create_element( "creators" ); if( $dataobj->exists_and_set( "creators" ) ) - { + { - my $names = $dataobj->get_value( "creators" ); - foreach my $name ( @$names ) - { - my $author = $xml->create_element( "creator" ); - - my $name_str = EPrints::Utils::make_name_string( $name->{name}); - $author->appendChild( $xml->create_data_element( - "creatorName", - $name_str ) ); - - #$author->appendChild( $xml->create_data_element( - # "email", - # $name->{id} ) ); - - $creators->appendChild( $author ); - } - } + my $names = $dataobj->get_value( "creators" ); + foreach my $name ( @$names ) + { + my $author = $xml->create_element( "creator" ); + + my $name_str = EPrints::Utils::make_name_string( $name->{name}); + $author->appendChild( $xml->create_data_element( + "creatorName", + $name_str ) ); + + $creators->appendChild( $author ); + } + } $entry->appendChild( $creators ); if ($dataobj->exists_and_set( "title" )) { @@ -71,7 +84,7 @@ sub output_dataobj $entry->appendChild( $titles ); } - $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "repoid") ) ); + $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); if ($dataobj->exists_and_set( "datestamp" )) { $dataobj->get_value( "datestamp" ) =~ /^([0-9]{4})/; @@ -96,7 +109,7 @@ sub output_dataobj my $thisresourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); - if($thisresourceType!= undef ){ + if(defined $thisresourceType ){ $entry->appendChild( $xml->create_data_element( "resourceType", $thisresourceType->{'v'}, resourceTypeGeneral=>$thisresourceType->{'a'}) ); } @@ -105,7 +118,9 @@ sub output_dataobj $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); $entry->appendChild( $alternateIdentifiers ); - return ''."\n".$xml->to_string($entry); + + #TODO Seek, identify and include for registration the optional datacite fields + return ''."\n".$xml->to_string($entry); } -1; \ No newline at end of file +1; From 43dfb299b6da2b1f37b022fb295ea98f0aa19376 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:04:00 +0000 Subject: [PATCH 008/107] pharses for action button and related msgs --- lib/lang/en/phrases/coinDOI.xml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lib/lang/en/phrases/coinDOI.xml diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml new file mode 100644 index 0000000..f4c1175 --- /dev/null +++ b/lib/lang/en/phrases/coinDOI.xml @@ -0,0 +1,9 @@ + + + + + This will add a coin-DOI event to the event queue (i.e. Will not happen immediately) + Coin DOI + This item will have a DOI coined when the indexer gets around to it. + + From 7723caf97f0032767f23aac04140254d35f36615 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:04:12 +0000 Subject: [PATCH 009/107] Action button plugin --- .../Plugin/Sreen/EPrint/Staff/CoinDOI.pm | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm diff --git a/lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm new file mode 100644 index 0000000..9e13fbd --- /dev/null +++ b/lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm @@ -0,0 +1,97 @@ +package EPrints::Plugin::Screen::EPrint::Staff::CoinDOI; + +#use EPrints::Plugin::Screen::EPrint; + +@ISA = ( 'EPrints::Plugin::Screen::EPrint' ); + +use strict; + +sub new +{ + my( $class, %params ) = @_; + + my $self = $class->SUPER::new(%params); + + # $self->{priv} = # no specific priv - one per action + + $self->{actions} = [qw/ coindoi /]; + + $self->{appears} = [ { + place => "eprint_editor_actions", + action => "coindoi", + position => 1977, + }, ]; + + return $self; +} + +sub obtain_lock +{ + my( $self ) = @_; + + return $self->could_obtain_eprint_lock; +} + +sub about_to_render +{ + my( $self ) = @_; + + $self->EPrints::Plugin::Screen::EPrint::View::about_to_render; +} + +sub allow_coindoi +{ + my( $self ) = @_; + + return 0 unless $self->could_obtain_eprint_lock; + + my $repository = $self->{repository}; + #TODO a version that works for documents too + my $dataobj = $self->{processor}->{eprint}; + return 0 unless $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); + #TODO don't allow the coinDOI button if a DOI is already registered (may require a db flag for successful reg) + return $self->allow( "eprint/edit:editor" ); +} + +sub action_coindoi +{ + my( $self ) = @_; + + my $repository = $self->{repository}; + + return undef if (!defined $repository); + + my $eprint = $self->{processor}->{eprint}; + + if (defined $eprint) { + my $eprint_id = $eprint->id; + + $repository->dataset( "event_queue" )->create_dataobj({ + pluginid => "Event::DataCiteEvent", + action => "datacite_doi", + params => [$eprint->internal_uri], + }); + + $self->add_result_message( 1 ); + } +} + +sub add_result_message +{ + my( $self, $ok ) = @_; + + if( $ok ) + { + $self->{processor}->add_message( "message", + $self->html_phrase( "coiningdoi" ) ); + } + else + { + # Error? + $self->{processor}->add_message( "error" ); + } + + $self->{processor}->{screenid} = "EPrint::View"; +} + +1; From 53af6d8b113cbb93f8f0898951c012f3d1a63d34 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Jan 2015 13:04:27 +0000 Subject: [PATCH 010/107] updated readme to reflect new features --- README.md | 90 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 68 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 67c4af9..8e0658a 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,6 @@ Installation Install the plugin from the bazaar and edit the following config files. ``` -z_datacite_core.pl z_datacitedoi.pl ``` @@ -52,9 +51,14 @@ $c->{datacitedoi}{pass} = "PASS"; # prints, distributes, releases, issues, or produces the # resource. This property will be used to formulate the # citation, so consider the prominence of the role. -# eg World Data Center for Climate (WDCC); +# eg World Data Center for Climate (WDCC); $c->{datacitedoi}{publisher} = "Eprints Repo"; +# Namespace and location for datacite XML schema +# feel free to update, though no guarantees it'll be accepted if you do +$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-2.2"; +$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." ".$c->{datacitedoi}{xmlns}."/metadata.xsd"; + # need to map eprint type (article, dataset etc) to ResourceType # Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf # where v is the ResourceType and a is the resourceTypeGeneral @@ -74,42 +78,84 @@ $c->{datacitedoi}{typemap}{other} = {v=>'Misc',a=>'Collection'}; $c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; $c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; $c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Film'}; -``` -z_datacite_core.pl +########################### +#### DOI syntax config #### +########################### -Adds the minting plugin, by default it the plugin will run when ever the status (draft,review,deposit,delete) changes. -The plugin will then run asynchronously after the change using the eprints queue so the datacite registration wont affect the users view. +# Set config of DOI delimiters +# Feel free to change, but they must conform to DOI syntax +# If not set will default to prefix/repoid/id the example below gives prefix/repoid.id +$c->{datacitedoi}{delimiters} = ["/","."]; -```perl -# Adds the minting plugin to the EP_TRIGGER_STATUS_CHANGE -$c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { +# If set, plugin will attempt to register what is found in the EP DOI field ($c->{datacitedoi}{eprintdoifield}) +# Will only work if what is found adheres to DOI syntax rules (obvioulsy) +$c->{datacitedoi}{allow_custom_doi} = 0; + +#Datacite recommend digits of length 8-10 set this param to pad the id to required length +$c->{datacitedoi}{zero_padding} = 8; + +########################################## +### Override which URL gets registered ### +########################################## + +#Only useful for testing from "wrong" domain (eg an unregistered test server) should be undef for normal operation +$c->{datacitedoi}{override_url} = undef; + +########################## +##### When to coin ? ##### +########################## + +#If auto_coin is set DOIs will be minted on Status change (provided all else is well) +$c->{datacitedoi}{auto_coin} = 0; +#If action_coin is set then a button will be displayed under action tab (for staff) to mint DOIs on an adhoc basis +$c->{datacitedoi}{action_coin} = 1; + +# NB setting auto_coin renders action coin redundant as only published items can be registered + +####### Formerly in cfg.d/datacite_core.pl ######### + +# Including datacite_core.pl below as we can make some useful decisions based on the above config. + +## Adds the minting plugin to the EP_TRIGGER_STATUS_CHANGE +if($c->{datacitedoi}{auto_coin}){ + $c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { my ( %params ) = @_; - + my $repository = %params->{repository}; return undef if (!defined $repository); - - if (defined %params->{dataobj}) { - my $dataobj = %params->{dataobj}; - my $eprint_id = $dataobj->id; - + + if (defined %params->{dataobj}) { + my $dataobj = %params->{dataobj}; + my $eprint_id = $dataobj->id; $repository->dataset( "event_queue" )->create_dataobj({ - pluginid => "Event::DataCiteEvent", - action => "datacite_doi", - params => [$dataobj->internal_uri], - }); - }); - } + pluginid => "Event::DataCiteEvent", + action => "datacite_doi", + params => [$dataobj->internal_uri], + }); + } -}); + }); +} + +# Activate an action button, the plugin for whcih is at +# /plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +if($c->{datacitedoi}{action_coin}){ + $c->{plugins}{"Screen::EPrint::Staff::CoinDOI"}{params}{disable} = 0; +} + ``` + How it works ------------- /lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm This is added to the queue and actually mints the doi. +lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm +This adds a button to enable staff to choose when to coin the DOI and request registration + /lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm This exports the metadata xml required for minting, this can be used independently and through the user interface. From 67d93266da3a42fe8f55eab7f9e1249c77b75c78 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Fri, 16 Jan 2015 10:26:05 +0000 Subject: [PATCH 011/107] Screen not Sreen!! --- .../EPrints/Plugin/{Sreen => Screen}/EPrint/Staff/CoinDOI.pm | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/plugins/EPrints/Plugin/{Sreen => Screen}/EPrint/Staff/CoinDOI.pm (100%) diff --git a/lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm similarity index 100% rename from lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm rename to lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm From 8c6c49aadb440c9102786549cc810984fec55453 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Fri, 16 Jan 2015 11:48:30 +0000 Subject: [PATCH 012/107] Fixed schemqLocation in config --- cfg/cfg.d/z_datacitedoi.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 65bd99c..509d6cd 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -27,7 +27,7 @@ # Namespace and location for datacite XML schema # feel free to update, though no guarantees it'll be accepted if you do $c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-2.2"; -$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." ".$c->{datacitedoi}{xmlns}."/metadata.xsd"; +$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-2.2/metadata.xsd"; # need to map eprint type (article, dataset etc) to ResourceType # Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf From 4db3b82189af977500c7fc4c4e403b400dd1775f Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Fri, 16 Jan 2015 11:48:43 +0000 Subject: [PATCH 013/107] epmi relates to latest code --- DataCiteDoi.epmi | 2244 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 2212 insertions(+), 32 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 8942271..b428993 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,75 +1,2255 @@ - + DataCiteDoi - http://template.ulcc.ac.uk/id/epm/DataCiteDoi + http://clean.ep.devorkin:8082/id/epm/DataCiteDoi - epm/DataCiteDoi/cfg/cfg.d/z_datacite_core.pl + epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl text/plain - f2dea4bf477b51ec95bd073b0f7b5524 + 0c377ff85542d00cb774d1ec0844a21d MD5 - 517 + 4983 + I0VuYWJsZSB0aGUgcGx1Z2luCiRjLT57cGx1Z2luc317IkV4cG9ydDo6RGF0YUNpdGVYTUwifXtw +YXJhbXN9e2Rpc2FibGV9ID0gMDsKJGMtPntwbHVnaW5zfXsiRXZlbnQ6OkRhdGFDaXRlRXZlbnQi +fXtwYXJhbXN9e2Rpc2FibGV9ID0gMDsKCiN3aGljaCBmaWVsZCBkbyB1c2UgZm9yIHRoZSBkb2kK +JGMtPntkYXRhY2l0ZWRvaX17ZXByaW50ZG9pZmllbGR9ID0gImlkX251bWJlciI7CgojV2hlbiBz +aG91bGQgeW91IHJlZ2lzdGVyL3VwZGF0ZSBkb2kgaW5mby4KJGMtPntkYXRhY2l0ZWRvaX17ZXBy +aW50c3RhdHVzfSA9IHtpbmJveD0+MCxidWZmZXI9PjEsYXJjaGl2ZT0+MSxkZWxldGlvbj0+MH07 +Cgojc2V0IHRoZXNlICh5b3Ugd2lsbCBnZXQgdGhlIGZyb20gZGF0YSBzaXRlKQojIGRvaSA9IHtw +cmVmaXh9L3tyZXBvaWR9L3tlcHJpbnRpZH0KJGMtPntkYXRhY2l0ZWRvaX17cHJlZml4fSA9ICIx +MC41MDcyIjsKJGMtPntkYXRhY2l0ZWRvaX17cmVwb2lkfSA9ICRjLT57aG9zdH07CiRjLT57ZGF0 +YWNpdGVkb2l9e2FwaXVybH0gPSAiaHR0cHM6Ly90ZXN0LmRhdGFjaXRlLm9yZy9tZHMvIjsKJGMt +PntkYXRhY2l0ZWRvaX17dXNlcn0gPSAiVVNFUiI7CiRjLT57ZGF0YWNpdGVkb2l9e3Bhc3N9ID0g +IlBBU1MiOwoKIyBkYXRhY2l0ZSByZXF1aXJlcyBhIFB1Ymxpc2hlciAKIyBUaGUgbmFtZSBvZiB0 +aGUgZW50aXR5IHRoYXQgaG9sZHMsIGFyY2hpdmVzLCBwdWJsaXNoZXMsIAojIHByaW50cywgZGlz +dHJpYnV0ZXMsIHJlbGVhc2VzLCBpc3N1ZXMsIG9yIHByb2R1Y2VzIHRoZSAKIyByZXNvdXJjZS4g +VGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHVzZWQgdG8gZm9ybXVsYXRlIHRoZSAKIyBjaXRhdGlvbiwg +c28gY29uc2lkZXIgdGhlIHByb21pbmVuY2Ugb2YgdGhlIHJvbGUuCiMgZWcgV29ybGQgRGF0YSBD +ZW50ZXIgZm9yIENsaW1hdGUgKFdEQ0MpOyAJCiRjLT57ZGF0YWNpdGVkb2l9e3B1Ymxpc2hlcn0g +PSAiRXByaW50cyBSZXBvIjsKCiMgTmFtZXNwYWNlIGFuZCBsb2NhdGlvbiBmb3IgZGF0YWNpdGUg +WE1MIHNjaGVtYQojIGZlZWwgZnJlZSB0byB1cGRhdGUsIHRob3VnaCBubyBndWFyYW50ZWVzIGl0 +J2xsIGJlIGFjY2VwdGVkIGlmIHlvdSBkbwokYy0+e2RhdGFjaXRlZG9pfXt4bWxuc30gPSAiaHR0 +cDovL2RhdGFjaXRlLm9yZy9zY2hlbWEva2VybmVsLTIuMiI7CiRjLT57ZGF0YWNpdGVkb2l9e3Nj +aGVtYUxvY2F0aW9ufSA9ICRjLT57ZGF0YWNpdGVkb2l9e3htbG5zfS4iIGh0dHA6Ly9zY2hlbWEu +ZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTIuMi9tZXRhZGF0YS54c2QiOwoKIyBuZWVkIHRvIG1h +cCBlcHJpbnQgdHlwZSAoYXJ0aWNsZSwgZGF0YXNldCBldGMpIHRvIFJlc291cmNlVHlwZQojIENv +bnRyb2xlZCBsaXN0IGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTIuMi9k +b2MvRGF0YUNpdGUtTWV0YWRhdGFLZXJuZWxfdjIuMi5wZGYKIyB3aGVyZSB2IGlzIHRoZSBSZXNv +dXJjZVR5cGUgYW5kIGEgaXMgdGhlIHJlc291cmNlVHlwZUdlbmVyYWwKJGMtPntkYXRhY2l0ZWRv +aX17dHlwZW1hcH17YXJ0aWNsZX0gPSB7dj0+J0FydGljbGUnLGE9PidUZXh0J307CiRjLT57ZGF0 +YWNpdGVkb2l9e3R5cGVtYXB9e2Jvb2tfc2VjdGlvbn0gPSB7dj0+J0Jvb2tTZWN0aW9uJyxhPT4n +VGV4dCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXttb25vZ3JhcGh9ID0ge3Y9PidNb25v +Z3JhcGgnLGE9PidUZXh0J307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e3RoZXNpc30gPSB7 +dj0+J1RoZXNpcycsYT0+J1RleHQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17Ym9va30g +PSB7dj0+J0Jvb2snLGE9PidUZXh0J307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e3BhdGVu +dH0gPSB7dj0+J1BhdGVudCcsYT0+J1RleHQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17 +YXJ0ZWZhY3R9ID0ge3Y9PidBcnRlZmFjdCcsYT0+J1BoeXNpY2FsT2JqZWN0J307CiRjLT57ZGF0 +YWNpdGVkb2l9e3R5cGVtYXB9e3BlcmZvcm1hbmNlfSA9IHt2PT4nUGVyZm9ybWFuY2UnLGE9PidF +dmVudCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXtjb21wb3NpdGlvbn0gPSB7dj0+J0Nv +bXBvc2l0aW9uJyxhPT4nU291bmQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17aW1hZ2V9 +ID0ge3Y9PidJbWFnZScsYT0+J0ltYWdlJ307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e2V4 +cGVyaW1lbnR9ID0ge3Y9PidFeHBlcmltZW50JyxhPT4nVGV4dCd9OwokYy0+e2RhdGFjaXRlZG9p +fXt0eXBlbWFwfXt0ZWFjaGluZ19yZXNvdXJjZX0gPSB7dj0+J1RlYWNoaW5nUmVzb3Vyc2UnLGE9 +PidJbnRlcmFjdGl2ZVJlc291cmNlJ307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e290aGVy +fSA9IHt2PT4nTWlzYycsYT0+J0NvbGxlY3Rpb24nfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1h +cH17ZGF0YXNldH0gPSB7dj0+J0RhdGFzZXQnLGE9PidEYXRhc2V0J307CiRjLT57ZGF0YWNpdGVk +b2l9e3R5cGVtYXB9e2F1ZGlvfSA9IHt2PT4nQXVkaW8nLGE9PidTb3VuZCd9OwokYy0+e2RhdGFj +aXRlZG9pfXt0eXBlbWFwfXt2aWRlb30gPSB7dj0+J1ZpZGVvJyxhPT4nRmlsbSd9OwoKIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMgRE9JIHN5bnRheCBjb25maWcgIyMjIwojIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgU2V0IGNvbmZpZyBvZiBET0kgZGVsaW1pdGVycyAKIyBG +ZWVsIGZyZWUgdG8gY2hhbmdlLCBidXQgdGhleSBtdXN0IGNvbmZvcm0gdG8gRE9JIHN5bnRheAoj +IElmIG5vdCBzZXQgd2lsbCBkZWZhdWx0IHRvIHByZWZpeC9yZXBvaWQvaWQgdGhlIGV4YW1wbGUg +YmVsb3cgZ2l2ZXMgcHJlZml4L3JlcG9pZC5pZAokYy0+e2RhdGFjaXRlZG9pfXtkZWxpbWl0ZXJz +fSA9IFsiLyIsIi4iXTsKCiMgSWYgc2V0LCBwbHVnaW4gd2lsbCBhdHRlbXB0IHRvIHJlZ2lzdGVy +IHdoYXQgaXMgZm91bmQgaW4gdGhlIEVQIERPSSBmaWVsZCAoJGMtPntkYXRhY2l0ZWRvaX17ZXBy +aW50ZG9pZmllbGR9KQojIFdpbGwgb25seSB3b3JrIGlmIHdoYXQgaXMgZm91bmQgYWRoZXJlcyB0 +byBET0kgc3ludGF4IHJ1bGVzIChvYnZpb3Vsc3kpCiRjLT57ZGF0YWNpdGVkb2l9e2FsbG93X2N1 +c3RvbV9kb2l9ID0gMDsKCiNEYXRhY2l0ZSByZWNvbW1lbmQgZGlnaXRzIG9mIGxlbmd0aCA4LTEw +IHNldCB0aGlzIHBhcmFtIHRvIHBhZCB0aGUgaWQgdG8gcmVxdWlyZWQgbGVuZ3RoCiRjLT57ZGF0 +YWNpdGVkb2l9e3plcm9fcGFkZGluZ30gPSA4OwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjCiMjIyBPdmVycmlkZSB3aGljaCBVUkwgZ2V0cyByZWdpc3RlcmVkICMj +IwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiNPbmx5IHVzZWZ1 +bCBmb3IgdGVzdGluZyBmcm9tICJ3cm9uZyIgZG9tYWluIChlZyBhbiB1bnJlZ2lzdGVyZWQgdGVz +dCBzZXJ2ZXIpIHNob3VsZCBiZSB1bmRlZiBmb3Igbm9ybWFsIG9wZXJhdGlvbgokYy0+e2RhdGFj +aXRlZG9pfXtvdmVycmlkZV91cmx9ID0gdW5kZWY7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IwojIyMjIyBXaGVuIHRvIGNvaW4gPyAjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK +I0lmIGF1dG9fY29pbiBpcyBzZXQgRE9JcyB3aWxsIGJlIG1pbnRlZCBvbiBTdGF0dXMgY2hhbmdl +IChwcm92aWRlZCBhbGwgZWxzZSBpcyB3ZWxsKQokYy0+e2RhdGFjaXRlZG9pfXthdXRvX2NvaW59 +ID0gMDsKI0lmIGFjdGlvbl9jb2luIGlzIHNldCB0aGVuIGEgYnV0dG9uIHdpbGwgYmUgZGlzcGxh +eWVkIHVuZGVyIGFjdGlvbiB0YWIgKGZvciBzdGFmZikgdG8gbWludCBET0lzIG9uIGFuIGFkaG9j +IGJhc2lzCiRjLT57ZGF0YWNpdGVkb2l9e2FjdGlvbl9jb2lufSA9IDE7CgojIE5CIHNldHRpbmcg +YXV0b19jb2luIHJlbmRlcnMgYWN0aW9uIGNvaW4gcmVkdW5kYW50IGFzIG9ubHkgcHVibGlzaGVk +IGl0ZW1zIGNhbiBiZSByZWdpc3RlcmVkCgojIyMjIyMjIEZvcm1lcmx5IGluIGNmZy5kL2RhdGFj +aXRlX2NvcmUucGwgIyMjIyMjIyMjCgojIEluY2x1ZGluZyBkYXRhY2l0ZV9jb3JlLnBsIGJlbG93 +IGFzIHdlIGNhbiBtYWtlIHNvbWUgdXNlZnVsIGRlY2lzaW9ucyBiYXNlZCBvbiB0aGUgYWJvdmUg +Y29uZmlnLgoKIyMgQWRkcyB0aGUgbWludGluZyBwbHVnaW4gdG8gdGhlIEVQX1RSSUdHRVJfU1RB +VFVTX0NIQU5HRQppZigkYy0+e2RhdGFjaXRlZG9pfXthdXRvX2NvaW59KXsKCSRjLT5hZGRfZGF0 +YXNldF90cmlnZ2VyKCAiZXByaW50IiwgRVBfVFJJR0dFUl9TVEFUVVNfQ0hBTkdFICwgc3ViIHsK +ICAgICAgIG15ICggJXBhcmFtcyApID0gQF87CgogICAgICAgbXkgJHJlcG9zaXRvcnkgPSAlcGFy +YW1zLT57cmVwb3NpdG9yeX07CiAKICAgICAgIHJldHVybiB1bmRlZiBpZiAoIWRlZmluZWQgJHJl +cG9zaXRvcnkpOwoJCgkJaWYgKGRlZmluZWQgJXBhcmFtcy0+e2RhdGFvYmp9KSB7CgkJCW15ICRk +YXRhb2JqID0gJXBhcmFtcy0+e2RhdGFvYmp9OwoJCQlteSAkZXByaW50X2lkID0gJGRhdGFvYmot +PmlkOwoJCQkkcmVwb3NpdG9yeS0+ZGF0YXNldCggImV2ZW50X3F1ZXVlIiApLT5jcmVhdGVfZGF0 +YW9iaih7CgkJCQlwbHVnaW5pZCA9PiAiRXZlbnQ6OkRhdGFDaXRlRXZlbnQiLAoJCQkJYWN0aW9u +ID0+ICJkYXRhY2l0ZV9kb2kiLAoJCQkJcGFyYW1zID0+IFskZGF0YW9iai0+aW50ZXJuYWxfdXJp +XSwKCQkJfSk7CiAgICAgCX0KIAoJfSk7Cn0KCiMgQWN0aXZhdGUgYW4gYWN0aW9uIGJ1dHRvbiwg +dGhlIHBsdWdpbiBmb3Igd2hjaWggaXMgYXQKIyAvcGx1Z2lucy9FUHJpbnRzL1BsdWdpbi9TY3Jl +ZW4vRVByaW50L1N0YWZmL0NvaW5ET0kucG0KaWYoJGMtPntkYXRhY2l0ZWRvaX17YWN0aW9uX2Nv +aW59KXsKIAkkYy0+e3BsdWdpbnN9eyJTY3JlZW46OkVQcmludDo6U3RhZmY6OkNvaW5ET0kifXtw +YXJhbXN9e2Rpc2FibGV9ID0gMDsKfQoK + - epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl - text/plain - 37dcb325580147f795b86d8c18c0556e + lang/en/phrases/coinDOI.xml + application/xml + ea8da6c0e471cea13c5b573d115cbbe8 MD5 - 2303 + 641 + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSIgc3RhbmRhbG9uZT0ibm8i +ID8+CjwhRE9DVFlQRSBwaHJhc2VzIFNZU1RFTSAiZW50aXRpZXMuZHRkIj4KCjxlcHA6cGhyYXNl +cyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6ZXBwPSJodHRwOi8v +ZXByaW50cy5vcmcvZXAzL3BocmFzZSI+CiAgICA8ZXBwOnBocmFzZSBpZD0iUGx1Z2luL1NjcmVl +bi9FUHJpbnQvU3RhZmYvQ29pbkRPSTphY3Rpb246Y29pbmRvaTpkZXNjcmlwdGlvbiI+VGhpcyB3 +aWxsIGFkZCBhIGNvaW4tRE9JIGV2ZW50IHRvIHRoZSBldmVudCBxdWV1ZSAoaS5lLiBXaWxsIG5v +dCBoYXBwZW4gaW1tZWRpYXRlbHkpPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9IlBs +dWdpbi9TY3JlZW4vRVByaW50L1N0YWZmL0NvaW5ET0k6YWN0aW9uOmNvaW5kb2k6dGl0bGUiPkNv +aW4gRE9JPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9IlBsdWdpbi9TY3JlZW4vRVBy +aW50L1N0YWZmL0NvaW5ET0k6Y29pbmluZ2RvaSI+VGhpcyBpdGVtIHdpbGwgaGF2ZSBhIERPSSBj +b2luZWQgd2hlbiB0aGUgaW5kZXhlciBnZXRzIGFyb3VuZCB0byBpdC48L2VwcDpwaHJhc2U+Cgo8 +L2VwcDpwaHJhc2VzPgo= + plugins/EPrints/Plugin/Event/DataCiteEvent.pm - inode/symlink - a4626d18add344225c4a8063b8da39cf + text/plain + 0dad25fd1105d06d4da2560feea39545 MD5 - 2101 + 5220 + PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6RXZlbnQ6OkRhdGFDaXRlRXZlbnQKCj1jdXQK +CnBhY2thZ2UgRVByaW50czo6UGx1Z2luOjpFdmVudDo6RGF0YUNpdGVFdmVudDsKIAp1c2UgRVBy +aW50czo6UGx1Z2luOjpFdmVudDsKdXNlIExXUDsKdXNlIENyeXB0OjpTU0xlYXk7CnVzZSBIVFRQ +OjpIZWFkZXJzOjpVdGlsOwoKQElTQSA9IHF3KCBFUHJpbnRzOjpQbHVnaW46OkV2ZW50ICk7CiAK +c3ViIGRhdGFjaXRlX2RvaQogewogICAgICAgbXkoICRzZWxmLCAkZGF0YW9iaikgPSBAXzsKCgkJ +bXkgJHJlcG9zaXRvcnkgPSAkc2VsZi0+cmVwb3NpdG9yeSgpOwoJCgkJI0NoZWNrIG9iamVjdCBz +dGF0dXMgZmlyc3QuLi4uIFRPRE8gTWFrZSB3b3JrIGZvciBkYXRhb2JqID09IGRvdW1lbnQgKGp1 +c3QgaW4gY2FzZSkKCQlteSAkc2hvdWxkZG9pID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0 +YWNpdGVkb2kiLCAiZXByaW50c3RhdHVzIiwgICRkYXRhb2JqLT52YWx1ZSggImVwcmludF9zdGF0 +dXMiICkpOwkKCQkjQ2hlY2sgRG9pIFN0YXR1cwoJCWlmKCEkc2hvdWxkZG9pKXsgCgkJCSRyZXBv +c2l0b3J5LT5sb2coIkF0dGVtcHQgdG8gY29pbiBET0kgZm9yIGl0ZW0gdGhhdCBpcyBub3QgaW4g +dGhlIHJlcXVpcmVkIGFyZWEgKHNlZSBcJGMtPntkYXRhY2l0ZWRvaX0tPntlcHJpbnRzdGF0dXN9 +KSIpOwoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9S +OwoJCX0JCgoJCW15ICR0aGlzZG9pID0gJHNlbGYtPmNvaW5fZG9pKCRyZXBvc2l0b3J5LCRkYXRh +b2JqKTsKCQkjY29pbl9kb2kgbWF5IHJldHVybiBhbiBldmVudCBlcnJvciBjb2RlIGlmIG5vIHBy +ZWZpeCBwcmVzZW50IGFzc3VtZSB0aGlzIGlzIHRoZSBjYXNlCgkJbXkgJHByZWZpeCA9ICRyZXBv +c2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInByZWZpeCIpOwoJCWlmKCR0aGlzZG9p +ICF+IC9eJHByZWZpeC8pewoJCQkkcmVwb3NpdG9yeS0+bG9nKCJObyBwcmVmaXggZm9yIERPSSBj +b25maWd1cmVkPyIpOwoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJOQUxfU0VS +VkVSX0VSUk9SOwoKCQl9CgoJCSNQYXNzIGRvaSBpbnRvIEV4cG9ydDo6RGF0YUNpdGVYTUwuLi4K +CQlteSAkeG1sID0gJGRhdGFvYmotPmV4cG9ydCggIkRhdGFDaXRlWE1MIiwgZG9pPT4kdGhpc2Rv +aSApOwoJCWlmKCR4bWwgPX4gL15cZCskLyl7ICNqdXN0IGEgbnVtYmVyPyBjb2luX2RvaSBoYXMg +cGFzc2VkIGJhY2sgYW4gZXJyb3IgY29kZSBwYXNzIGl0IG9uLi4uCgkJCSRyZXBvc2l0b3J5LT5s +b2coIkVycm9yIGNvZGUgcmV0dXJuZWQgYnkgRXhwb3J0OjpEYXRhQ2l0ZVhNTDogIi4keG1sKTsK +CQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9 +CgoJCSNwcmludCBTVERFUlIgIlhNTDogJHhtbFxuIjsKCQlteSAkdXJsID0gJHJlcG9zaXRvcnkt +PmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAiYXBpdXJsIik7CgkJJHVybC49Ii8iIGlmKCR1cmwg +IX4gL1wvJC8pOyAjYXR0YWNoIHNsYXNoIGlmIGNvbmZpZyBoYXMgZm9yZ290dGVuCgkJbXkgJHVz +ZXJfbmFtZSA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInVzZXIiKTsK +CQlteSAkdXNlcl9wdyA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInBh +c3MiKTsKCQkKCQkjcmVnaXN0ZXIgbWV0YWRhdGE7CgkJbXkoJHJlc3BvbnNlX2NvbnRlbnQsICRy +ZXNwb25zZV9jb2RlKSA9ICBkYXRhY2l0ZV9yZXF1ZXN0KCJQT1NUIiwgJHVybC4ibWV0YWRhdGEi +LCAkdXNlcl9uYW1lLCAkdXNlcl9wdywgJHhtbCwgImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PVVU +Ri04Iik7CgkJaWYoJHJlc3BvbnNlX2NvZGUgIX4gLzIwKDF8MCkvKXsKCQkJJHJlcG9zaXRvcnkt +PmxvZygiTWV0YWRhdGEgcmVzcG9uc2UgZnJvbSBkYXRhY2l0ZSBhcGk6ICRyZXNwb25zZV9jb2Rl +OiAkcmVzcG9uc2VfY29udGVudCIpOwoJCQkkcmVwb3NpdG9yeS0+bG9nKCJCVFcgdGhlIFwkZG9p +IHdhczpcbiR0aGlzZG9pIik7CQoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJO +QUxfU0VSVkVSX0VSUk9SOwoJCX0KCQkjcmVnaXN0ZXIgZG9pCgkJbXkgJHJlcG9fdXJsID0kZGF0 +YW9iai0+dXJpKCk7CgkJI1JNIHNwZWNpYWwgb3ZlcnJpZGUgdG8gYWxsb3cgdGVzdGluZyBmcm9t +ICJ3cm9uZyIgZG9tYWluCgkJaWYoZGVmaW5lZCAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRh +Y2l0ZWRvaSIsICJvdmVycmlkZV91cmwiKSl7CgkJCSRyZXBvX3VybCA9ICRyZXBvc2l0b3J5LT5n +ZXRfY29uZiggImRhdGFjaXRlZG9pIiwgIm92ZXJyaWRlX3VybCIpOwoJCQkkcmVwb191cmwuPSAk +ZGF0YW9iai0+aW50ZXJuYWxfdXJpOwoJCX0KIAkJbXkgJGRvaV9yZWcgPSAiZG9pPSR0aGlzZG9p +XG51cmw9Ii4kcmVwb191cmw7CgkJKCRyZXNwb25zZV9jb250ZW50LCAkcmVzcG9uc2VfY29kZSk9 +IGRhdGFjaXRlX3JlcXVlc3QoIlBPU1QiLCAkdXJsLiJkb2kiLCAkdXNlcl9uYW1lLCAkdXNlcl9w +dywgJGRvaV9yZWcsICJ0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgiKTsKCQlpZigkcmVzcG9uc2Vf +Y29kZSAgIX4gLzIwKDF8MCkvKXsKCQkJJHJlcG9zaXRvcnktPmxvZygiUmVnaXN0cmF0aW9uIHJl +c3BvbnNlIGZyb20gZGF0YWNpdGUgYXBpOiAkcmVzcG9uc2VfY29kZTogJHJlc3BvbnNlX2NvbnRl +bnQiKTsKCQkJJHJlcG9zaXRvcnktPmxvZygiQlRXIHRoZSBcJGRvaV9yZWcgd2FzOlxuJGRvaV9y +ZWciKTsKCQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJP +UjsKCQl9CgoJCSNub3cgaXQgaXMgc2FmZSB0byBzZXQgRE9JIHZhbHVlLgoJCW15ICRlcHJpbnRk +b2lmaWVsZCA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImVwcmludGRv +aWZpZWxkIik7CgkJJGRhdGFvYmotPnNldF92YWx1ZSgkZXByaW50ZG9pZmllbGQsICR0aGlzZG9p +KTsKCQkkZGF0YW9iai0+Y29tbWl0KCk7CgkJI3N1Y2Nlc3MKCQlyZXR1cm4gdW5kZWY7Cn0KCgpz +dWIgZGF0YWNpdGVfcmVxdWVzdCB7CiAgbXkgKCRtZXRob2QsICR1cmwsICR1c2VyX25hbWUsICR1 +c2VyX3B3LCAkY29udGVudCwgJGNvbnRlbnRfdHlwZSkgPSBAXzsKCiAgIyBidWlsZCByZXF1ZXN0 +CiAgbXkgJGhlYWRlcnMgPSBIVFRQOjpIZWFkZXJzLT5uZXcoCiAgICAnQWNjZXB0JyAgPT4gJ2Fw +cGxpY2F0aW9uL3htbCcsCiAgICAnQ29udGVudC1UeXBlJyA9PiAkY29udGVudF90eXBlCiAgKTsK +ICBteSAkcmVxID0gSFRUUDo6UmVxdWVzdC0+bmV3KAogICAgJG1ldGhvZCA9PiAkdXJsLAogICAg +JGhlYWRlcnMsICRjb250ZW50CiAgKTsKICAkcmVxLT5hdXRob3JpemF0aW9uX2Jhc2ljKCR1c2Vy +X25hbWUsICR1c2VyX3B3KTsKCiAgIyBwYXNzIHJlcXVlc3QgdG8gdGhlIHVzZXIgYWdlbnQgYW5k +IGdldCBhIHJlc3BvbnNlIGJhY2sKICBteSAkdWEgPSBMV1A6OlVzZXJBZ2VudC0+bmV3OwogIG15 +ICRyZXMgPSAkdWEtPnJlcXVlc3QoJHJlcSk7CgogIHJldHVybiAoJHJlcy0+Y29udGVudCgpLCRy +ZXMtPmNvZGUoKSk7Cn0KCiNSTSBsZXRzIGRvIHRoZSBET0kgY29pbmluZyBzb21ld2hlcmUgKHJl +YXNvbmFibHkpIGFjY2Vzc2libGUgCnN1YiBjb2luX2RvaSB7CgogICAgICAgbXkoICRzZWxmLCAk +cmVwb3NpdG9yeSwgJGRhdGFvYmopID0gQF87CgoJI1JNIHplcm8gcGFkZHMgZXByaW50aWQgYXMg +cGVyIGNvbmZpZwoJbXkgJHpfcGFkID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVk +b2kiLCAiemVyb19wYWRkaW5nIikgfHwgMDsKCW15ICRpZCAgPSBzcHJpbnRmKCIlMCIuJHpfcGFk +LiJkIiwgJGRhdGFvYmotPmlkKTsKCSNDaGVjayBmb3IgY3VzdG9tIGRlbGltaXRlcnMKCW15ICgk +ZGVsaW0xLCAkZGVsaW0yKSA9IEB7JHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2ki +LCAiZGVsaW1pdGVycyIpfTsKCSNkZWZhdWx0IHRvIHNsYXNoCgkkZGVsaW0xID0gIi8iIGlmKCFk +ZWZpbmVkICRkZWxpbTEpOwoJI3NlY29uZCBkZWZhdWx0cyB0byBmaXJzdAoJJGRlbGltMiA9ICRk +ZWxpbTEgaWYoIWRlZmluZWQgJGRlbGltMik7CgkjY29uc3RydWN0IHRoZSBET0kgc3RyaW5nCglt +eSAkcHJlZml4ID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAicHJlZml4 +Iik7CglteSAkdGhpc2RvaSA9ICRwcmVmaXguJGRlbGltMS4kcmVwb3NpdG9yeS0+Z2V0X2NvbmYo +ICJkYXRhY2l0ZWRvaSIsICJyZXBvaWQiKS4kZGVsaW0yLiRpZDsKCglteSAkZXByaW50ZG9pZmll +bGQgPSAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJlcHJpbnRkb2lmaWVs +ZCIpOwoJCgkjQ3VzdG9tIERPSVMKCSNpZiBET0kgZmllbGQgaXMgc2V0IGF0dGVtcHQgdG8gdXNl +IHRoYXQgaWYgY29uZmlnIGFsbG93cwoJaWYoJGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCAkZXBy +aW50ZG9pZmllbGQpICl7CgoJCSNpZiBjb25maWcgZG9lcyBub3QgYWxsb3cgLi4uIGJhaWwKCQlp +ZiggISRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImFsbG93X2N1c3RvbV9k +b2kiICkgKXsKCQkJJHJlcG9zaXRvcnktPmxvZygiRE9JIGlzIGFscmVhZHkgc2V0IGFuZCBjdXN0 +b20gb3ZlcnJpZGVzIGFyZSBkaXNhYWxsb3dlZCBieSBjb25maWciKTsKCQkJcmV0dXJuIEVQcmlu +dHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9CgkJI3dlIGFyZSBhbGxv +d2VkIChjaGVjayBwcmVmaXgganVzdCBpbiBjYXNlKQoJCSR0aGlzZG9pID0gJGRhdGFvYmotPmdl +dF92YWx1ZSggJGVwcmludGRvaWZpZWxkICk7CgkJaWYoJHRoaXNkb2kgIX4gL14kcHJlZml4Lyl7 +CgkJCSRyZXBvc2l0b3J5LT5sb2coIlByZWZpeCBkb2VzIG5vdCBtYXRjaCAoJHByZWZpeCkgZm9y +IGN1c3RvbSBET0k6ICR0aGlzZG9pIik7CgkJCSRkYXRhb2JqLT5zZXRfdmFsdWUoJGVwcmludGRv +aWZpZWxkLCAiIik7ICN1bnNldCB0aGUgYmFkIERPSSEhCgkJCSRkYXRhb2JqLT5jb21taXQoKTsK +CQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9 +I1dlJ2xsIGxlYXZlIERhdGFjaXRlIHRvIGRvIGFueSBmdXJ0aGVyIHN5bnRheCBjaGVja2luZyBl +dGMuLi4KCX0KCglyZXR1cm4gJHRoaXNkb2k7Cn0KMTsK + plugins/EPrints/Plugin/Export/DataCiteXML.pm - inode/symlink - fbf23f01140ea16fd5e6a322c89f199a + text/plain + d8736ebaba330e5aca52654ce4ab5f28 MD5 - 3906 + 4129 + PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6RXhwb3J0OjpEYXRhQ2l0ZVhNTAoKPWN1dAoK +cGFja2FnZSBFUHJpbnRzOjpQbHVnaW46OkV4cG9ydDo6RGF0YUNpdGVYTUw7CnVzZSBFUHJpbnRz +OjpQbHVnaW46OkV4cG9ydDo6RmVlZDsKCkBJU0EgPSAoJ0VQcmludHM6OlBsdWdpbjo6RXhwb3J0 +OjpGZWVkJyk7Cgp1c2Ugc3RyaWN0OwoKc3ViIG5ldwp7CiAgICAgICAgbXkgKCRjbGFzcywgJW9w +dHMpID0gQF87CgogICAgICAgIG15ICRzZWxmID0gJGNsYXNzLT5TVVBFUjo6bmV3KCVvcHRzKTsK +CiAgICAgICAgJHNlbGYtPntuYW1lfSA9ICdEYXRhIENpdGUgWE1MJzsKICAgICAgICAkc2VsZi0+ +e2FjY2VwdH0gPSBbICdkYXRhb2JqL2VwcmludCddOwogICAgICAgICRzZWxmLT57dmlzaWJsZX0g +PSAnYWxsJzsKICAgICAgICAkc2VsZi0+e3N1ZmZpeH0gPSAnLnhtbCc7CiAgICAgICAgJHNlbGYt +PnttaW1ldHlwZX0gPSAnYXBwbGljYXRpb24veG1sOyBjaGFyc2V0PXV0Zi04JzsKIAkkc2VsZi0+ +e2FyZ3VtZW50c30tPntkb2l9ID0gdW5kZWY7CiAKICAgICAgcmV0dXJuICRzZWxmOwp9CgpzdWIg +b3V0cHV0X2RhdGFvYmoKewogICAgICAgIG15ICgkc2VsZiwgJGRhdGFvYmosICVvcHRzKSA9IEBf +OwoKIAkJbXkgJHJlcG8gPSAkc2VsZi0+e3JlcG9zaXRvcnl9OwogCQlteSAkeG1sID0gJHJlcG8t +PnhtbDsKCQkKCQkjcmVmZXJlbmNlIHRoZSBkYXRhY2l0ZSBzY2hlbWEgZnJvbSBjb25maWcKCQlt +eSAkZW50cnkgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggInJlc291cmNlIiwgCgkJCXhtbG5zPT4g +JHJlcG8tPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAieG1sbnMiKSwgCgkJCSJ4bWxuczp4c2ki +PT4iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLCAKCQkJInhzaTpz +Y2hlbWFMb2NhdGlvbiIgPT4gJHJlcG8tPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAic2NoZW1h +TG9jYXRpb24iKSk7IAoKCQkjUk0gV2UgcGFzcyBpbiB0aGUgRE9JIGZyb20gRXZlbnQ6OkRhdGFD +aXRlLi4uIG9yIGZyb20gLS1hcmdzIG9uIHRoZSBjbWQgbGluZSAKCQlteSAkdGhpc2RvaSA9ICRv +cHRze2RvaX07CgkJI1JNIGNvaW4gYSBET0kgaWYgZWl0aGVyIAoJCQkjIC0gbm90IGNvbWUgdmlh +IGV2ZW50IG9yIAoJCQkjIC0gbm8gZG9pIGFyZyBwYXNzZWQgaW4gdmlhIGNtZF9saW5lCgkJIyBp +ZSB3aGVuIHNvbWVvbmUgZXhwb3J0cyBEYXRhQ2l0ZVhNTCBmcm9tIHRoZSBBY3Rpb24gdGFiCgkJ +aWYoIWRlZmluZWQgJHRoaXNkb2kpewoJCQkjbmljayB0aGUgY29pbmluZyBzdWIgZnJvbSBldmVu +dCBwbHVnaW4KCQkJbXkgJGV2ZW50ID0gJHJlcG8tPnBsdWdpbigiRXZlbnQ6OkRhdGFDaXRlRXZl +bnQiKTsKCQkJJHRoaXNkb2kgPSAkZXZlbnQtPmNvaW5fZG9pKCRyZXBvLCAkZGF0YW9iaik7CgkJ +CSNjb2luX2RvaSBtYXkgcmV0dXJuIGFuIGV2ZW50IGVycm9yIGNvZGUgaWYgbm8gcHJlZml4IHBy +ZXNlbnQgYXNzdW1lIHRoaXMgaXMgdGhlIGNhc2UKCQkJbXkgJHByZWZpeCA9ICRyZXBvLT5nZXRf +Y29uZiggImRhdGFjaXRlZG9pIiwgInByZWZpeCIpOwoJCQlyZXR1cm4gJHRoaXNkb2kgaWYoJHRo +aXNkb2kgIX4gL14kcHJlZml4Lyk7CgkJfQoKCSAgIAkkZW50cnktPmFwcGVuZENoaWxkKCAkeG1s +LT5jcmVhdGVfZGF0YV9lbGVtZW50KCAiaWRlbnRpZmllciIsICR0aGlzZG9pICwgaWRlbnRpZmll +clR5cGU9PiJET0kiICkgKTsKCQkKCQkjUk0gb3RoZXJ3aXNlIHdlJ2xsIGxlYXZlIHRoaXMgYWxv +bmUgZm9yIG5vdwoKCQlteSAkY3JlYXRvcnMgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImNyZWF0 +b3JzIiApOwoJCWlmKCAkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoICJjcmVhdG9ycyIgKSApCiAg +ICAgICAgCXsKCQoJCQlteSAkbmFtZXMgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiY3JlYXRvcnMi +ICk7CgkJCWZvcmVhY2ggbXkgJG5hbWUgKCBAJG5hbWVzICkKCQkJewoJCQkJbXkgJGF1dGhvciA9 +ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiY3JlYXRvciIgKTsKCgkJCQlteSAkbmFtZV9zdHIgPSBF +UHJpbnRzOjpVdGlsczo6bWFrZV9uYW1lX3N0cmluZyggJG5hbWUtPntuYW1lfSk7CgkJCQkkYXV0 +aG9yLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgKCQkJCQkJCSJjcmVh +dG9yTmFtZSIsCgkJCQkJCQkkbmFtZV9zdHIgKSApOwoKCQkJCSRjcmVhdG9ycy0+YXBwZW5kQ2hp +bGQoICRhdXRob3IgKTsKCQkJfQogICAgICAgIAl9CgkJJGVudHJ5LT5hcHBlbmRDaGlsZCggJGNy +ZWF0b3JzICk7CgoJCWlmICgkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoICJ0aXRsZSIgKSkgewoJ +CQlteSAkdGl0bGVzID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJ0aXRsZXMiICk7CgkJIAkkdGl0 +bGVzLT5hcHBlbmRDaGlsZCggICR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQoICJ0aXRsZSIsICAk +ZGF0YW9iai0+cmVuZGVyX3ZhbHVlKCAidGl0bGUiICkgICkgKTsKCQkJJGVudHJ5LT5hcHBlbmRD +aGlsZCggJHRpdGxlcyApOwoJCX0KCQkKCQkkZW50cnktPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVh +dGVfZGF0YV9lbGVtZW50KCAicHVibGlzaGVyIiwgJHJlcG8tPmdldF9jb25mKCAiZGF0YWNpdGVk +b2kiLCAicHVibGlzaGVyIikgKSApOwoJCgkJaWYgKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgg +ImRhdGVzdGFtcCIgKSkgewoJCSAgICAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiZGF0ZXN0YW1wIiAp +ID1+IC9eKFswLTldezR9KS87CgkJCSRlbnRyeS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9k +YXRhX2VsZW1lbnQoICJwdWJsaWNhdGlvblllYXIiLCAkMSApICkgaWYgJDE7CgkJCgkJfQoKCgkJ +aWYgKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCggInN1YmplY3RzIiApKSB7CgkJCW15ICRzdWJq +ZWN0cyA9ICRkYXRhb2JqLT5nZXRfdmFsdWUoInN1YmplY3RzIik7CgkJCWlmKCBFUHJpbnRzOjpV +dGlsczo6aXNfc2V0KCAkc3ViamVjdHMgKSApewoJCQkJbXkgJHN1YmplY3RzX3RhZyA9ICR4bWwt +PmNyZWF0ZV9lbGVtZW50KCAic3ViamVjdHMiICk7CgkJCQlmb3JlYWNoIG15ICR2YWwgKEAkc3Vi +amVjdHMpewoJCSAgICAgICAgICAgICAgICBteSAkc3ViamVjdCA9IEVQcmludHM6OkRhdGFPYmo6 +OlN1YmplY3QtPm5ldyggJHJlcG8sICR2YWwgKTsKCQkJCSAgICAgICAgICAgbmV4dCB1bmxlc3Mg +ZGVmaW5lZCAkc3ViamVjdDsKCQkJCSAgICAgICAJJHN1YmplY3RzX3RhZy0+YXBwZW5kQ2hpbGQo +ICAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCAic3ViamVjdCIsICAkc3ViamVjdC0+cmVuZGVy +X2Rlc2NyaXB0aW9uICApICk7CgkJCQkKCQkJCX0KCQkJCSRlbnRyeS0+YXBwZW5kQ2hpbGQoICRz +dWJqZWN0c190YWcgKTsKCQkJfQoJCX0KCSAgCgkKCQlteSAkdGhpc3Jlc291cmNlVHlwZSA9ICRy +ZXBvLT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInR5cGVtYXAiLCAkZGF0YW9iai0+Z2V0X3Zh +bHVlKCJ0eXBlIikgKTsgCgkJaWYoZGVmaW5lZCAkdGhpc3Jlc291cmNlVHlwZSApewoJCQkkZW50 +cnktPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCAicmVzb3VyY2VUeXBl +IiwgJHRoaXNyZXNvdXJjZVR5cGUtPnsndid9LCAgcmVzb3VyY2VUeXBlR2VuZXJhbD0+JHRoaXNy +ZXNvdXJjZVR5cGUtPnsnYSd9KSApOwoJCX0KCQkKCQoJCW15ICRhbHRlcm5hdGVJZGVudGlmaWVy +cyA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYWx0ZXJuYXRlSWRlbnRpZmllcnMiICk7CgkJJGFs +dGVybmF0ZUlkZW50aWZpZXJzLT5hcHBlbmRDaGlsZCggICR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1l +bnQoICJhbHRlcm5hdGVJZGVudGlmaWVyIiwgICRkYXRhb2JqLT5nZXRfdXJsKCkgLCBhbHRlcm5h +dGVJZGVudGlmaWVyVHlwZT0+IlVSTCIgKSApOwoJCSRlbnRyeS0+YXBwZW5kQ2hpbGQoICRhbHRl +cm5hdGVJZGVudGlmaWVycyApOwoJCgoJCSNUT0RPIFNlZWssIGlkZW50aWZ5IGFuZCBpbmNsdWRl +IGZvciByZWdpc3RyYXRpb24gdGhlIG9wdGlvbmFsIGRhdGFjaXRlIGZpZWxkcwoJICAgICAgIHJl +dHVybiAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4nLiJcbiIuJHhtbC0+ +dG9fc3RyaW5nKCRlbnRyeSk7Cn0KCjE7Cg== + - static/images/epm/datacitedoi.png - inode/symlink - 14e9e2be0a73f452533488634aaea66e + plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm + text/plain + 0ceae1dd50779c660b2e2a6bb4e4ff27 MD5 - 101504 + 2237 + cGFja2FnZSBFUHJpbnRzOjpQbHVnaW46OlNjcmVlbjo6RVByaW50OjpTdGFmZjo6Q29pbkRPSTsK +CiN1c2UgRVByaW50czo6UGx1Z2luOjpTY3JlZW46OkVQcmludDsKCkBJU0EgPSAoICdFUHJpbnRz +OjpQbHVnaW46OlNjcmVlbjo6RVByaW50JyApOwoKdXNlIHN0cmljdDsKCnN1YiBuZXcKewogICAg +ICAgIG15KCAkY2xhc3MsICVwYXJhbXMgKSA9IEBfOwoKICAgICAgICBteSAkc2VsZiA9ICRjbGFz +cy0+U1VQRVI6Om5ldyglcGFyYW1zKTsKCiAgICAgICAgIyAgICAgICAkc2VsZi0+e3ByaXZ9ID0g +IyBubyBzcGVjaWZpYyBwcml2IC0gb25lIHBlciBhY3Rpb24KCiAgICAgICAgJHNlbGYtPnthY3Rp +b25zfSA9IFtxdy8gY29pbmRvaSAvXTsKCiAgICAgICAgJHNlbGYtPnthcHBlYXJzfSA9IFsgewog +ICAgICAgICAgICAgICAgcGxhY2UgPT4gImVwcmludF9lZGl0b3JfYWN0aW9ucyIsCiAgICAgICAg +ICAgICAgICBhY3Rpb24gPT4gImNvaW5kb2kiLAogICAgICAgICAgICAgICAgcG9zaXRpb24gPT4g +MTk3NywKICAgICAgICB9LCBdOwoKICAgICAgICByZXR1cm4gJHNlbGY7Cn0KCnN1YiBvYnRhaW5f +bG9jawp7CiAgICAgICAgbXkoICRzZWxmICkgPSBAXzsKCiAgICAgICAgcmV0dXJuICRzZWxmLT5j +b3VsZF9vYnRhaW5fZXByaW50X2xvY2s7Cn0KCnN1YiBhYm91dF90b19yZW5kZXIKewogICAgICAg +IG15KCAkc2VsZiApID0gQF87CgogICAgICAgICRzZWxmLT5FUHJpbnRzOjpQbHVnaW46OlNjcmVl +bjo6RVByaW50OjpWaWV3OjphYm91dF90b19yZW5kZXI7Cn0KCnN1YiBhbGxvd19jb2luZG9pCnsK +ICAgICAgICBteSggJHNlbGYgKSA9IEBfOwoKICAgICAgICByZXR1cm4gMCB1bmxlc3MgJHNlbGYt +PmNvdWxkX29idGFpbl9lcHJpbnRfbG9jazsKIAoJbXkgJHJlcG9zaXRvcnkgPSAkc2VsZi0+e3Jl +cG9zaXRvcnl9OwoJI1RPRE8gYSB2ZXJzaW9uIHRoYXQgd29ya3MgZm9yIGRvY3VtZW50cyB0b28K +CW15ICRkYXRhb2JqID0gJHNlbGYtPntwcm9jZXNzb3J9LT57ZXByaW50fTsgCiAgICAgICAgcmV0 +dXJuIDAgdW5sZXNzICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImVwcmlu +dHN0YXR1cyIsICAkZGF0YW9iai0+dmFsdWUoICJlcHJpbnRfc3RhdHVzIiApKTsKCSNUT0RPIGRv +bid0IGFsbG93IHRoZSBjb2luRE9JIGJ1dHRvbiBpZiBhIERPSSBpcyBhbHJlYWR5IHJlZ2lzdGVy +ZWQgKG1heSByZXF1aXJlIGEgZGIgZmxhZyBmb3Igc3VjY2Vzc2Z1bCByZWcpCiAgICAgICAgcmV0 +dXJuICRzZWxmLT5hbGxvdyggImVwcmludC9lZGl0OmVkaXRvciIgKTsKfQoKc3ViIGFjdGlvbl9j +b2luZG9pCnsKCW15KCAkc2VsZiApID0gQF87CiAKICAgICAgIG15ICRyZXBvc2l0b3J5ID0gJHNl +bGYtPntyZXBvc2l0b3J5fTsKIAogICAgICAgcmV0dXJuIHVuZGVmIGlmICghZGVmaW5lZCAkcmVw +b3NpdG9yeSk7CgoJbXkgJGVwcmludCA9ICRzZWxmLT57cHJvY2Vzc29yfS0+e2VwcmludH07CgoJ +aWYgKGRlZmluZWQgJGVwcmludCkgewoJCQlteSAkZXByaW50X2lkID0gJGVwcmludC0+aWQ7CiAg +ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAJICAgICAgICRyZXBvc2l0b3J5LT5k +YXRhc2V0KCAiZXZlbnRfcXVldWUiICktPmNyZWF0ZV9kYXRhb2JqKHsKCQkJCQlwbHVnaW5pZCA9 +PiAiRXZlbnQ6OkRhdGFDaXRlRXZlbnQiLAoJCQkJCWFjdGlvbiA9PiAiZGF0YWNpdGVfZG9pIiwK +CQkJCQlwYXJhbXMgPT4gWyRlcHJpbnQtPmludGVybmFsX3VyaV0sCgkJICAgICAgICB9KTsgCgog +ICAgICAgICAgICAgICAgICAgICAgICAkc2VsZi0+YWRkX3Jlc3VsdF9tZXNzYWdlKCAxICk7CiAg +ICAgICB9Cn0gICAgCgpzdWIgYWRkX3Jlc3VsdF9tZXNzYWdlCnsKICAgICAgICBteSggJHNlbGYs +ICRvayApID0gQF87CgogICAgICAgIGlmKCAkb2sgKQogICAgICAgIHsKICAgICAgICAgICAgICAg +ICRzZWxmLT57cHJvY2Vzc29yfS0+YWRkX21lc3NhZ2UoICJtZXNzYWdlIiwKICAgICAgICAgICAg +ICAgICAgICAgICAgJHNlbGYtPmh0bWxfcGhyYXNlKCAiY29pbmluZ2RvaSIgKSApOwogICAgICAg +IH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAgICAgIyBFcnJvcj8KICAgICAg +ICAgICAgICAgICRzZWxmLT57cHJvY2Vzc29yfS0+YWRkX21lc3NhZ2UoICJlcnJvciIgKTsKICAg +ICAgICB9CgogICAgICAgICRzZWxmLT57cHJvY2Vzc29yfS0+e3NjcmVlbmlkfSA9ICJFUHJpbnQ6 +OlZpZXciOwp9CgoxOwo= + + + + static/images/epm/unknown.png + image/png + 09c09aa0a7bb351d51a06a07db5d4139 + MD5 + 52913 + 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 +MFAtTzkAAAAASUVORK5CYII= + - inode/symlink - other -
static/images/epm/datacitedoi.png
+ image/png + image +
static/images/epm/unknown.png
install
- static/images/epm/datacitedoi.png - inode/symlink - 14e9e2be0a73f452533488634aaea66e + static/images/epm/unknown.png + image/png + 09c09aa0a7bb351d51a06a07db5d4139 MD5 - 101504 + 52913 + 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 +MFAtTzkAAAAASUVORK5CYII= + image -
static/images/epm/datacitedoi.png
+
static/images/epm/unknown.png
coverimage
- 0.9.2 + 1.0.0 - Milsted - Andrew + McNicholl + Rory + repositories@ulcc.ac.uk - Data Cite DOI Registration - images/epm/datacitedoi.png + DataCiteDoi - DataCite DOIs for EPrints + A plugin integrate into the workflow the process of to minting and registering DataCite DOIs + https://github.com/eprintsug/DataCiteDoi + images/epm/unknown.png
From 1683cd6d1441e060dd0cc7d26b5dda6c8fe2151c Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Fri, 12 Aug 2016 15:51:04 +0100 Subject: [PATCH 014/107] Updating plugin code to resolve server error issue --- .../EPrints/Plugin/Event/DataCiteEvent.pm | 36 +++++++------- .../EPrints/Plugin/Export/DataCiteXML.pm | 49 ++++++++++--------- 2 files changed, 45 insertions(+), 40 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 7008437..3e0d210 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -5,27 +5,27 @@ EPrints::Plugin::Event::DataCiteEvent =cut package EPrints::Plugin::Event::DataCiteEvent; - + use EPrints::Plugin::Event; use LWP; -use Crypt::SSLeay; +# use Crypt::SSLeay; use HTTP::Headers::Util; @ISA = qw( EPrints::Plugin::Event ); - + sub datacite_doi { my( $self, $dataobj) = @_; my $repository = $self->repository(); - + #Check object status first.... TODO Make work for dataobj == doument (just in case) - my $shoulddoi = $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); + my $shoulddoi = $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); #Check Doi Status - if(!$shoulddoi){ + if(!$shoulddoi){ $repository->log("Attempt to coin DOI for item that is not in the required area (see \$c->{datacitedoi}->{eprintstatus})"); return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; - } + } my $thisdoi = $self->coin_doi($repository,$dataobj); #coin_doi may return an event error code if no prefix present assume this is the case @@ -41,12 +41,12 @@ sub datacite_doi $url.="/" if($url !~ /\/$/); #attach slash if config has forgotten my $user_name = $repository->get_conf( "datacitedoi", "user"); my $user_pw = $repository->get_conf( "datacitedoi", "pass"); - + #register metadata; my($response_content, $response_code) = datacite_request("POST", $url."metadata", $user_name, $user_pw, $xml, "application/xml;charset=UTF-8"); if($response_code !~ /20(1|0)/){ $repository->log("Metadata response from datacite api: $response_code: $response_content"); - $repository->log("BTW the \$doi was:\n$thisdoi"); + $repository->log("BTW the \$doi was:\n$thisdoi"); return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; } #register doi @@ -94,7 +94,7 @@ sub datacite_request { return ($res->content(),$res->code()); } -#RM lets do the DOI coining somewhere (reasonably) accessible +#RM lets do the DOI coining somewhere (reasonably) accessible sub coin_doi { my( $self, $repository, $dataobj) = @_; @@ -113,7 +113,7 @@ sub coin_doi { my $thisdoi = $prefix.$delim1.$repository->get_conf( "datacitedoi", "repoid").$delim2.$id; my $eprintdoifield = $repository->get_conf( "datacitedoi", "eprintdoifield"); - + #Custom DOIS #if DOI field is set attempt to use that if config allows if($dataobj->exists_and_set( $eprintdoifield) ){ @@ -125,12 +125,14 @@ sub coin_doi { } #we are allowed (check prefix just in case) $thisdoi = $dataobj->get_value( $eprintdoifield ); - if($thisdoi !~ /^$prefix/){ - $repository->log("Prefix does not match ($prefix) for custom DOI: $thisdoi"); - $dataobj->set_value($eprintdoifield, ""); #unset the bad DOI!! - $dataobj->commit(); - return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; - }#We'll leave Datacite to do any further syntax checking etc... + # AH commented out because when there is an existing DOI (e.g. one issued by the publisher) + # the condition is always true and therefore, existing DOI becomes an empty string + # if($thisdoi !~ /^$prefix/){ + # $repository->log("Prefix does not match ($prefix) for custom DOI: $thisdoi"); + # $dataobj->set_value($eprintdoifield, ""); #unset the bad DOI!! + # $dataobj->commit(); + # return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; + # }#We'll leave Datacite to do any further syntax checking etc... } return $thisdoi; diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 67f7e6e..24aea5b 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -23,7 +23,7 @@ sub new $self->{suffix} = '.xml'; $self->{mimetype} = 'application/xml; charset=utf-8'; $self->{arguments}->{doi} = undef; - + return $self; } @@ -33,17 +33,20 @@ sub output_dataobj my $repo = $self->{repository}; my $xml = $repo->xml; - + #reference the datacite schema from config - my $entry = $xml->create_element( "resource", - xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), - "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", - "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); - - #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line - my $thisdoi = $opts{doi}; - #RM coin a DOI if either - # - not come via event or + my $entry = $xml->create_element( "resource", + xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", + "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); + + #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line + # AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists + # Ideally coining should NOT happen in this script but opts{doi} should have it + # but is always blank + my $thisdoi = $dataobj->get_value("id_number"); + #RM coin a DOI if either + # - not come via event or # - no doi arg passed in via cmd_line # ie when someone exports DataCiteXML from the Action tab if(!defined $thisdoi){ @@ -56,13 +59,13 @@ sub output_dataobj } $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - + #RM otherwise we'll leave this alone for now my $creators = $xml->create_element( "creators" ); if( $dataobj->exists_and_set( "creators" ) ) { - + my $names = $dataobj->get_value( "creators" ); foreach my $name ( @$names ) { @@ -83,13 +86,13 @@ sub output_dataobj $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ) ) ); $entry->appendChild( $titles ); } - + $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - + if ($dataobj->exists_and_set( "datestamp" )) { $dataobj->get_value( "datestamp" ) =~ /^([0-9]{4})/; $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; - + } @@ -101,23 +104,23 @@ sub output_dataobj my $subject = EPrints::DataObj::Subject->new( $repo, $val ); next unless defined $subject; $subjects_tag->appendChild( $xml->create_data_element( "subject", $subject->render_description ) ); - + } $entry->appendChild( $subjects_tag ); } } - - - my $thisresourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); + + + my $thisresourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); if(defined $thisresourceType ){ $entry->appendChild( $xml->create_data_element( "resourceType", $thisresourceType->{'v'}, resourceTypeGeneral=>$thisresourceType->{'a'}) ); } - - + + my $alternateIdentifiers = $xml->create_element( "alternateIdentifiers" ); $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); $entry->appendChild( $alternateIdentifiers ); - + #TODO Seek, identify and include for registration the optional datacite fields return ''."\n".$xml->to_string($entry); From 2daef87e01a2a2de0afe49821011c954f2d30ad1 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 31 Aug 2016 16:26:22 +0100 Subject: [PATCH 015/107] updating plugin, to use 4.0 metadata schema --- cfg/cfg.d/z_datacitedoi.pl | 92 ++++- .../EPrints/Plugin/Export/DataCiteXML.pm | 331 +++++++++++++++--- 2 files changed, 370 insertions(+), 53 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 509d6cd..0c10d34 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -16,12 +16,12 @@ $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; -# datacite requires a Publisher -# The name of the entity that holds, archives, publishes, -# prints, distributes, releases, issues, or produces the -# resource. This property will be used to formulate the +# datacite requires a Publisher +# The name of the entity that holds, archives, publishes, +# prints, distributes, releases, issues, or produces the +# resource. This property will be used to formulate the # citation, so consider the prominence of the role. -# eg World Data Center for Climate (WDCC); +# eg World Data Center for Climate (WDCC); $c->{datacitedoi}{publisher} = "Eprints Repo"; # Namespace and location for datacite XML schema @@ -53,7 +53,7 @@ #### DOI syntax config #### ########################### -# Set config of DOI delimiters +# Set config of DOI delimiters # Feel free to change, but they must conform to DOI syntax # If not set will default to prefix/repoid/id the example below gives prefix/repoid.id $c->{datacitedoi}{delimiters} = ["/","."]; @@ -93,9 +93,9 @@ my ( %params ) = @_; my $repository = %params->{repository}; - + return undef if (!defined $repository); - + if (defined %params->{dataobj}) { my $dataobj = %params->{dataobj}; my $eprint_id = $dataobj->id; @@ -105,7 +105,7 @@ params => [$dataobj->internal_uri], }); } - + }); } @@ -115,3 +115,77 @@ $c->{plugins}{"Screen::EPrint::Staff::CoinDOI"}{params}{disable} = 0; } + + + + + +$c->{funderrr} = sub + { + +my ( $xml, $entry, $dataobj ) = @_; + +my $funders = $dataobj->get_value( "funders" ); +# my $grant = $dataobj->get_value( "grant" ); +my $projects = $dataobj->get_value( "projects" ); + if ($dataobj->exists_and_set( "funders" )) { + my $thefunders = $xml->create_element( "funders" ); + foreach my $funder ( @$funders ) + { + my $fund = $funder->{funders}; + my $grant = $funder->{grant}; + + + my $other = $funder->{other}->{funder}; + + foreach my $project ( @$projects ) + { + + my $proj = $project->{name}; + + + # $thefunders->appendChild( $xml->create_data_element( "funderName", $other) ); + $thefunders->appendChild( $xml->create_data_element( "funderName", $fund) ); + $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); + # $thefunders->appendChild( $xml->create_data_element( "awardTitle", $proj) ); +} + # print STDERR Dumper $funder; + +} + + $entry->appendChild( $thefunders ); + +} +}; + + + +$c->{laaanguages} = sub + { + my ( $xml, $entry, $dataobj ) = @_; + # + my $lan = $dataobj->get_value( "language" ); + if ($dataobj->exists_and_set( "language" )) { + foreach my $la ( @$lan ) + { + my $thelanguage = $la->{l}; + $entry->appendChild( $xml->create_data_element( "language", $thelanguage) ); + } + } + } + +# $c->{laaanguages} = sub +# { +# +# my ( $xml, $entry, $dataobj ) = @_; +# +# my $lan = $dataobj->get_value( "language" ); +# if ($dataobj->exists_and_set( "language" )) { +# foreach my $la ( @$lan ) +# { +# my $thelanguage = $la->{l}; +# $entry->appendChild( $xml->create_data_element( "language", $thelanguage) ); +# } +# } +# +# } diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 24aea5b..a71e5d0 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -11,6 +11,7 @@ use EPrints::Plugin::Export::Feed; use strict; +use Data::Dumper; sub new { my ($class, %opts) = @_; @@ -35,7 +36,7 @@ sub output_dataobj my $xml = $repo->xml; #reference the datacite schema from config - my $entry = $xml->create_element( "resource", + our $entry = $xml->create_element( "resource", xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); @@ -62,68 +63,310 @@ sub output_dataobj #RM otherwise we'll leave this alone for now - my $creators = $xml->create_element( "creators" ); - if( $dataobj->exists_and_set( "creators" ) ) - { - - my $names = $dataobj->get_value( "creators" ); - foreach my $name ( @$names ) - { - my $author = $xml->create_element( "creator" ); + # my $creators = $xml->create_element( "creators" ); + if( $dataobj->exists_and_set( "creators" ) ) + { + my $creators = $xml->create_element( "creators" ); + my $names = $dataobj->get_value( "creators" ); + ; + + foreach my $name ( @$names ) + { + my $author = $xml->create_element( "creator" ); + + my $name_str = EPrints::Utils::make_name_string( $name->{name}); + # my $family = EPrints::Utils::make_family_name_string( $name->{family}->{name}); + # my $orcid = $name->get_value("orcid"); + + # my $orc= $dataobj->get_value( "creator_orcid" ); + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; + $author->appendChild( $xml->create_data_element( + "creatorName", + $name_str ) ); + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + + if ($dataobj->exists_and_set( "creators_orcid" )) { + print STDERR Dumper $orcid; + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); +} +# print STDERR Dumper $orcid; + $creators->appendChild( $author ); + } - my $name_str = EPrints::Utils::make_name_string( $name->{name}); - $author->appendChild( $xml->create_data_element( - "creatorName", - $name_str ) ); + $entry->appendChild( $creators ); + } - $creators->appendChild( $author ); - } - } - $entry->appendChild( $creators ); - if ($dataobj->exists_and_set( "title" )) { + if ($dataobj->exists_and_set( "title" )) { my $titles = $xml->create_element( "titles" ); - $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ) ) ); - $entry->appendChild( $titles ); + $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); + # $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us", titleType=>"Subtitle" ) ); + $entry->appendChild( $titles ); } - $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); +$entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - if ($dataobj->exists_and_set( "datestamp" )) { - $dataobj->get_value( "datestamp" ) =~ /^([0-9]{4})/; - $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; +if ($dataobj->exists_and_set( "date" )) { + $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; + $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; - } +} - if ($dataobj->exists_and_set( "subjects" )) { - my $subjects = $dataobj->get_value("subjects"); - if( EPrints::Utils::is_set( $subjects ) ){ - my $subjects_tag = $xml->create_element( "subjects" ); - foreach my $val (@$subjects){ - my $subject = EPrints::DataObj::Subject->new( $repo, $val ); - next unless defined $subject; - $subjects_tag->appendChild( $xml->create_data_element( "subject", $subject->render_description ) ); +# my $sub = $dataobj->get_value( "keywords" ); + if ($dataobj->exists_and_set( "keywords" )) { + my $sub = $dataobj->get_value( "keywords" ); + my $subjects = $xml->create_element( "subjects" ); - } - $entry->appendChild( $subjects_tag ); - } - } + $subjects->appendChild( $xml->create_data_element( "subject", $sub, "xml:lang"=>"en-us") ); + $entry->appendChild( $subjects ); + } - my $thisresourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); - if(defined $thisresourceType ){ - $entry->appendChild( $xml->create_data_element( "resourceType", $thisresourceType->{'v'}, resourceTypeGeneral=>$thisresourceType->{'a'}) ); - } + # my $author = $xml->create_element( "contributors" ); + # my $contributors = $xml->create_element( "contributors" ); + if( $dataobj->exists_and_set( "contributors" ) ) + { + my $contributors = $xml->create_element( "contributors" ); + + my $names = $dataobj->get_value( "contributors" ); + ; + + foreach my $name ( @$names ) + { + my $author = $xml->create_element( "contributor" ); + + my $name_str = EPrints::Utils::make_name_string( $name->{name}); + # my $family = EPrints::Utils::make_family_name_string( $name->{family}->{name}); + # my $orcid = $name->get_value("orcid"); + my $orcid = $name->{orcid}; + #print out the phrase too + # my $type = $name->{type}; + # print STDERR Dumper $name; + my $typee = $name->{type}; + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + # $author->appendChild( $xml->create_data_element("contributor") ); + $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + + + # print STDERR Dumper $typee; + + if ($dataobj->exists_and_set( "contributors_orcid" )) { + my $orcid = $name->{orcid}; + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); + } + if ($dataobj->exists_and_set( "creator_affiliation" )) { + my $affiliation = $dataobj->get_value("creator_affiliation"); + $author->appendChild( $xml->create_data_element("affillation", $affiliation) ); + } + + + # my $rights = $dataobj->get_value( "copyright_holders" ); + # if ($dataobj->exists_and_set( "copyright_holders" )) { + # my $rights = $dataobj->get_value( "copyright_holders" ); + # foreach my $right ( @$rights ) + # { + # $author->appendChild( $xml->create_data_element("contributor", $right, contributorType=>"RightsHolder" ) ); + # # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); + # } + # } + $contributors->appendChild( $author ); + } + + $entry->appendChild( $contributors ); + } + + # my $thisresourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); + # if(defined $thisresourceType ){ + # $entry->appendChild( $xml->create_data_element( "resourceType", $thisresourceType->{'v'}, resourceTypeGeneral=>$thisresourceType->{'a'}) ); + # } + + # my $type = $dataobj->get_value( "data_type" ); + # if ($dataobj->exists_and_set( "data_type" )) { + # my $type = $dataobj->get_value( "data_type" ); + # $entry->appendChild( $xml->create_data_element( "resourceType", $type, resourceTypeGeneral=>"Software") ); + # + # } + + + + + + + + + + + + if( $repo->can_call( "funderrr" ) ) + { + if( defined( $repo->call( "funderrr", $xml, $entry, $dataobj ) ) ) + {} + else { + + my $funders = $dataobj->get_value( "funders" ); + my $grant = $dataobj->get_value( "grant" ); + my $projects = $dataobj->get_value( "projects" ); + if ($dataobj->exists_and_set( "funders" )) { + my $thefunders = $xml->create_element( "funders" ); + foreach my $funder ( @$funders ) + { + # my $fun = $funder->{funders}; + + foreach my $project ( @$projects ) + { + $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); + $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); + # $thefunders->appendChild( $xml->create_data_element( "awardTitle", $project) ); + # print STDERR Dumper $funder; + } + } + $entry->appendChild( $thefunders ); + } + } + } + + + # my $alternateIdentifiers = $xml->create_element( "alternateIdentifiers" ); + # $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); + # $entry->appendChild( $alternateIdentifiers ); + # + # + + if ($dataobj->exists_and_set( "repo_link" )) { + # my $relatedResources = $dataobj->get_value( "related_resources_url" ); + # foreach my $relatedResource ( @$relatedResources ) + # { + + my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); + $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $dataobj->get_url() , relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); + # $relatedIdentifiers->appendChild( $xml->create_data_element("relatedIdentifier", )); + # $relatedIdentifiers->appendChild( $xml->create_data_element("relatedIdentifier", $relatedResource, relatedIdentifierType=>"DOI", relationType=>"IsReferencedBy")); + $entry->appendChild( $relatedIdentifiers ); + } + # } + + # my $abstract = $dataobj->get_value( "abstract" ); + if ($dataobj->exists_and_set( "abstract" )) { + my $abstract = $dataobj->get_value( "abstract" ); + my $discription = $xml->create_element( "descriptions" ); + + + + $discription->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - my $alternateIdentifiers = $xml->create_element( "alternateIdentifiers" ); - $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); - $entry->appendChild( $alternateIdentifiers ); + # if ($dataobj->exists_and_set( "legal_ethical" )) { + # my $legal = $dataobj->get_value( "legal_ethical" ); + # + # $discription->appendChild( $xml->create_data_element( "description", $legal, descriptionType=>"other" ) ); + # } + if ($dataobj->exists_and_set( "collection_method" )) { + my $collection = $dataobj->get_value("collection_method"); + $discription->appendChild( $xml->create_data_element("discrpition", $collection, descriptionType=>"Methods")); + } + + if ($dataobj->exists_and_set( "provenance" )) { + my $processing = $dataobj->get_value("provenance"); + $discription->appendChild( $xml->create_data_element("discrpition", $processing, descriptionType=>"Methods")); + } + $entry->appendChild( $discription ); + } + + + if( $repo->can_call( "laaanguages" ) ) + { + if( defined( $repo->call( "laaanguages", $xml, $entry, $dataobj ) ) ) + {} + else { + # my $lan = $dataobj->get_value( "language" ); + if ($dataobj->exists_and_set( "language" )) { + my $lan = $dataobj->get_value( "language" ); + $entry->appendChild( $xml->create_data_element( "language", $lan) ); + } + } + } + + + # # my ( $xml, $entry, $dataobj ) = @_; + # # + # my $lan = $dataobj->get_value( "language" ); + # if ($dataobj->exists_and_set( "language" )) { + # foreach my $la ( @$lan ) + # { + # my $thelanguage = $la->{l}; + # $entry->appendChild( $xml->create_data_element( "language", $thelanguage) ); + # } + # } + + + if( $dataobj->exists_and_set( "geographic_cover" ) ) + { + my $geo = $xml->create_element( "geoLocations" ); + # my $geo = $xml->create_element( "geoLocations" ); + my $names = $dataobj->get_value( "geographic_cover" ); + + + + my $author = $xml->create_element( "geoLocation" ); + my $bbox = $dataobj->get_value( "bounding_box" ); + print STDERR Dumper $bbox; + # my $name_str = EPrints::Utils::make_name_string( $name->{name}); + # my $family = EPrints::Utils::make_family_name_string( $name->{family}->{name}); + # my $orcid = $name->get_value("orcid"); + # my $orcid = $name->{orcid}; + # + # my $north = $bbox->{north}->{edge}; + my $west = $dataobj->get_value( "bounding_box_west_edge" ); + my $east = $dataobj->get_value( "bounding_box_east_edge" ); + my $south = $dataobj->get_value( "bounding_box_south_edge" ); + my $north = $dataobj->get_value( "bounding_box_north_edge" ); + # my $given = $name->{name}->{given}; + $author->appendChild( $xml->create_data_element("geoLocationPlace", $names ) ); + # $author->appendChild( $xml->create_data_element("geoLocationPoint" ) ); + my $bobox = $xml->create_element( "geoLocationBox" ); + #line below is not finished make sure to take a look back at it + + + + + $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); + $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $east) ); + $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $south) ); + $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $north) ); + print STDERR Dumper $north; + + + # $author->appendChild( $xml->create_data_element("givenName",$given ) ); + # $author->appendChild( $xml->create_data_element("familyName", $family ) ); + # $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); + $author->appendChild( $bobox); + + + $geo->appendChild( $author ); + + + $entry->appendChild( $geo ); +} + + + # my $relatedIdentifiers = $xml->create_element( "alternateIdentifiers" ); + # $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); + # $entry->appendChild( $alternateIdentifiers ); #TODO Seek, identify and include for registration the optional datacite fields return ''."\n".$xml->to_string($entry); } + 1; From 3d1bef30074adb11bbd5fcc75e59d9b08c5773d2 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Thu, 1 Sep 2016 15:33:33 +0100 Subject: [PATCH 016/107] changes to the plugin for the repo link --- cfg/cfg.d/z_datacitedoi.pl | 51 +++---- .../EPrints/Plugin/Export/DataCiteXML.pm | 128 +++++------------- 2 files changed, 55 insertions(+), 124 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 0c10d34..0776816 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -119,51 +119,52 @@ - +#BF sub method for can call for funder $c->{funderrr} = sub { my ( $xml, $entry, $dataobj ) = @_; - my $funders = $dataobj->get_value( "funders" ); -# my $grant = $dataobj->get_value( "grant" ); + my $projects = $dataobj->get_value( "projects" ); if ($dataobj->exists_and_set( "funders" )) { my $thefunders = $xml->create_element( "funders" ); - foreach my $funder ( @$funders ) - { + + foreach my $funder ( @$funders ) + { my $fund = $funder->{funders}; my $grant = $funder->{grant}; + my $others = $dataobj->get_value( "funders_other_funder" ); - - my $other = $funder->{other}->{funder}; + foreach my $other ( @$others ) + { foreach my $project ( @$projects ) { my $proj = $project->{name}; + if ($fund eq "other" ) { + + $thefunders->appendChild( $xml->create_data_element( "funderName", $other) ); + } else { - # $thefunders->appendChild( $xml->create_data_element( "funderName", $other) ); $thefunders->appendChild( $xml->create_data_element( "funderName", $fund) ); - $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - # $thefunders->appendChild( $xml->create_data_element( "awardTitle", $proj) ); } - # print STDERR Dumper $funder; - + $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); + } + } } - - $entry->appendChild( $thefunders ); - + $entry->appendChild( $thefunders ); } }; - +#BF sub method for can call for language $c->{laaanguages} = sub { my ( $xml, $entry, $dataobj ) = @_; - # + my $lan = $dataobj->get_value( "language" ); if ($dataobj->exists_and_set( "language" )) { foreach my $la ( @$lan ) @@ -173,19 +174,3 @@ } } } - -# $c->{laaanguages} = sub -# { -# -# my ( $xml, $entry, $dataobj ) = @_; -# -# my $lan = $dataobj->get_value( "language" ); -# if ($dataobj->exists_and_set( "language" )) { -# foreach my $la ( @$lan ) -# { -# my $thelanguage = $la->{l}; -# $entry->appendChild( $xml->create_data_element( "language", $thelanguage) ); -# } -# } -# -# } diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index a71e5d0..ac392cc 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -63,7 +63,7 @@ sub output_dataobj #RM otherwise we'll leave this alone for now - # my $creators = $xml->create_element( "creators" ); + if( $dataobj->exists_and_set( "creators" ) ) { my $creators = $xml->create_element( "creators" ); @@ -75,10 +75,9 @@ sub output_dataobj my $author = $xml->create_element( "creator" ); my $name_str = EPrints::Utils::make_name_string( $name->{name}); - # my $family = EPrints::Utils::make_family_name_string( $name->{family}->{name}); - # my $orcid = $name->get_value("orcid"); - # my $orc= $dataobj->get_value( "creator_orcid" ); + + my $family = $name->{name}->{family}; my $given = $name->{name}->{given}; my $orcid = $name->{orcid}; @@ -91,9 +90,9 @@ sub output_dataobj if ($dataobj->exists_and_set( "creators_orcid" )) { print STDERR Dumper $orcid; $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); + } -# print STDERR Dumper $orcid; + $creators->appendChild( $author ); } @@ -104,7 +103,7 @@ sub output_dataobj if ($dataobj->exists_and_set( "title" )) { my $titles = $xml->create_element( "titles" ); $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); - # $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us", titleType=>"Subtitle" ) ); + $entry->appendChild( $titles ); } @@ -117,7 +116,7 @@ if ($dataobj->exists_and_set( "date" )) { } -# my $sub = $dataobj->get_value( "keywords" ); + if ($dataobj->exists_and_set( "keywords" )) { my $sub = $dataobj->get_value( "keywords" ); my $subjects = $xml->create_element( "subjects" ); @@ -127,8 +126,7 @@ if ($dataobj->exists_and_set( "date" )) { } - # my $author = $xml->create_element( "contributors" ); - # my $contributors = $xml->create_element( "contributors" ); + if( $dataobj->exists_and_set( "contributors" ) ) { my $contributors = $xml->create_element( "contributors" ); @@ -141,27 +139,24 @@ if ($dataobj->exists_and_set( "date" )) { my $author = $xml->create_element( "contributor" ); my $name_str = EPrints::Utils::make_name_string( $name->{name}); - # my $family = EPrints::Utils::make_family_name_string( $name->{family}->{name}); - # my $orcid = $name->get_value("orcid"); + my $orcid = $name->{orcid}; - #print out the phrase too - # my $type = $name->{type}; - # print STDERR Dumper $name; + my $typee = $name->{type}; my $family = $name->{name}->{family}; my $given = $name->{name}->{given}; - # $author->appendChild( $xml->create_data_element("contributor") ); + $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); $author->appendChild( $xml->create_data_element("givenName",$given ) ); $author->appendChild( $xml->create_data_element("familyName", $family ) ); - # print STDERR Dumper $typee; + if ($dataobj->exists_and_set( "contributors_orcid" )) { my $orcid = $name->{orcid}; $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); + } if ($dataobj->exists_and_set( "creator_affiliation" )) { my $affiliation = $dataobj->get_value("creator_affiliation"); @@ -169,32 +164,13 @@ if ($dataobj->exists_and_set( "date" )) { } - # my $rights = $dataobj->get_value( "copyright_holders" ); - # if ($dataobj->exists_and_set( "copyright_holders" )) { - # my $rights = $dataobj->get_value( "copyright_holders" ); - # foreach my $right ( @$rights ) - # { - # $author->appendChild( $xml->create_data_element("contributor", $right, contributorType=>"RightsHolder" ) ); - # # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); - # } - # } + $contributors->appendChild( $author ); } $entry->appendChild( $contributors ); } - # my $thisresourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); - # if(defined $thisresourceType ){ - # $entry->appendChild( $xml->create_data_element( "resourceType", $thisresourceType->{'v'}, resourceTypeGeneral=>$thisresourceType->{'a'}) ); - # } - - # my $type = $dataobj->get_value( "data_type" ); - # if ($dataobj->exists_and_set( "data_type" )) { - # my $type = $dataobj->get_value( "data_type" ); - # $entry->appendChild( $xml->create_data_element( "resourceType", $type, resourceTypeGeneral=>"Software") ); - # - # } @@ -206,6 +182,7 @@ if ($dataobj->exists_and_set( "date" )) { + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr if( $repo->can_call( "funderrr" ) ) { if( defined( $repo->call( "funderrr", $xml, $entry, $dataobj ) ) ) @@ -219,14 +196,13 @@ if ($dataobj->exists_and_set( "date" )) { my $thefunders = $xml->create_element( "funders" ); foreach my $funder ( @$funders ) { - # my $fun = $funder->{funders}; + foreach my $project ( @$projects ) { $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - # $thefunders->appendChild( $xml->create_data_element( "awardTitle", $project) ); - # print STDERR Dumper $funder; + } } $entry->appendChild( $thefunders ); @@ -235,26 +211,19 @@ if ($dataobj->exists_and_set( "date" )) { } - # my $alternateIdentifiers = $xml->create_element( "alternateIdentifiers" ); - # $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); - # $entry->appendChild( $alternateIdentifiers ); - # - # - if ($dataobj->exists_and_set( "repo_link" )) { - # my $relatedResources = $dataobj->get_value( "related_resources_url" ); - # foreach my $relatedResource ( @$relatedResources ) - # { - my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); - $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $dataobj->get_url() , relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); - # $relatedIdentifiers->appendChild( $xml->create_data_element("relatedIdentifier", )); - # $relatedIdentifiers->appendChild( $xml->create_data_element("relatedIdentifier", $relatedResource, relatedIdentifierType=>"DOI", relationType=>"IsReferencedBy")); - $entry->appendChild( $relatedIdentifiers ); + if ($dataobj->exists_and_set( "repo_link" )) { + my $theurls = $dataobj->get_value( "repo_link" ); + foreach my $theurl ( @$theurls ) + { + my $linkk = $theurl->{link}; + my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); + $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); + $entry->appendChild( $relatedIdentifiers ); + } } - # } - # my $abstract = $dataobj->get_value( "abstract" ); if ($dataobj->exists_and_set( "abstract" )) { my $abstract = $dataobj->get_value( "abstract" ); my $discription = $xml->create_element( "descriptions" ); @@ -264,11 +233,7 @@ if ($dataobj->exists_and_set( "date" )) { $discription->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - # if ($dataobj->exists_and_set( "legal_ethical" )) { - # my $legal = $dataobj->get_value( "legal_ethical" ); - # - # $discription->appendChild( $xml->create_data_element( "description", $legal, descriptionType=>"other" ) ); - # } + if ($dataobj->exists_and_set( "collection_method" )) { my $collection = $dataobj->get_value("collection_method"); $discription->appendChild( $xml->create_data_element("discrpition", $collection, descriptionType=>"Methods")); @@ -281,13 +246,13 @@ if ($dataobj->exists_and_set( "date" )) { $entry->appendChild( $discription ); } - + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages if( $repo->can_call( "laaanguages" ) ) { if( defined( $repo->call( "laaanguages", $xml, $entry, $dataobj ) ) ) {} else { - # my $lan = $dataobj->get_value( "language" ); + if ($dataobj->exists_and_set( "language" )) { my $lan = $dataobj->get_value( "language" ); $entry->appendChild( $xml->create_data_element( "language", $lan) ); @@ -296,22 +261,13 @@ if ($dataobj->exists_and_set( "date" )) { } - # # my ( $xml, $entry, $dataobj ) = @_; - # # - # my $lan = $dataobj->get_value( "language" ); - # if ($dataobj->exists_and_set( "language" )) { - # foreach my $la ( @$lan ) - # { - # my $thelanguage = $la->{l}; - # $entry->appendChild( $xml->create_data_element( "language", $thelanguage) ); - # } - # } + if( $dataobj->exists_and_set( "geographic_cover" ) ) { my $geo = $xml->create_element( "geoLocations" ); - # my $geo = $xml->create_element( "geoLocations" ); + my $names = $dataobj->get_value( "geographic_cover" ); @@ -319,21 +275,16 @@ if ($dataobj->exists_and_set( "date" )) { my $author = $xml->create_element( "geoLocation" ); my $bbox = $dataobj->get_value( "bounding_box" ); print STDERR Dumper $bbox; - # my $name_str = EPrints::Utils::make_name_string( $name->{name}); - # my $family = EPrints::Utils::make_family_name_string( $name->{family}->{name}); - # my $orcid = $name->get_value("orcid"); - # my $orcid = $name->{orcid}; - # - # my $north = $bbox->{north}->{edge}; + my $west = $dataobj->get_value( "bounding_box_west_edge" ); my $east = $dataobj->get_value( "bounding_box_east_edge" ); my $south = $dataobj->get_value( "bounding_box_south_edge" ); my $north = $dataobj->get_value( "bounding_box_north_edge" ); - # my $given = $name->{name}->{given}; + $author->appendChild( $xml->create_data_element("geoLocationPlace", $names ) ); - # $author->appendChild( $xml->create_data_element("geoLocationPoint" ) ); + my $bobox = $xml->create_element( "geoLocationBox" ); - #line below is not finished make sure to take a look back at it + @@ -345,10 +296,7 @@ if ($dataobj->exists_and_set( "date" )) { print STDERR Dumper $north; - # $author->appendChild( $xml->create_data_element("givenName",$given ) ); - # $author->appendChild( $xml->create_data_element("familyName", $family ) ); - # $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - # $author->appendChild( $xml->create_data_element("affillation", $name_str) ); + $author->appendChild( $bobox); @@ -359,9 +307,7 @@ if ($dataobj->exists_and_set( "date" )) { } - # my $relatedIdentifiers = $xml->create_element( "alternateIdentifiers" ); - # $alternateIdentifiers->appendChild( $xml->create_data_element( "alternateIdentifier", $dataobj->get_url() , alternateIdentifierType=>"URL" ) ); - # $entry->appendChild( $alternateIdentifiers ); + #TODO Seek, identify and include for registration the optional datacite fields From 6b80290f22fa2f8c98d444a3c12bf194b2e0cde0 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Fri, 2 Sep 2016 18:05:39 +0100 Subject: [PATCH 017/107] Updating DataCiteEvent.pm to use Crypt::SSLeay module --- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 3e0d210..e09efb9 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -8,7 +8,7 @@ package EPrints::Plugin::Event::DataCiteEvent; use EPrints::Plugin::Event; use LWP; -# use Crypt::SSLeay; +use Crypt::SSLeay; use HTTP::Headers::Util; @ISA = qw( EPrints::Plugin::Event ); From ee2d788dea649456747a63a372989cad2ef402b3 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Wed, 7 Sep 2016 10:15:17 +0100 Subject: [PATCH 018/107] Update z_datacitedoi.pl Added config param to check for DataCiteXML shcema version https://github.com/eprintsug/DataCiteDoi/issues/2 https://github.com/eprintsug/DataCiteDoi/issues/3 (Ideally the event will ask which schema version datacite will use, but for now we can set it in the config) --- cfg/cfg.d/z_datacitedoi.pl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 0776816..bf2af1e 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -5,6 +5,9 @@ #which field do use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; +#which DataCiteXML schema version to use +$c->{datacitedoi}{schemaversion} = "3.1"; #change this when 4.0 is released + #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; From aceb6403be078cc3b6fc72f892984ae76f4188d8 Mon Sep 17 00:00:00 2001 From: BorysFeldman Date: Wed, 7 Sep 2016 10:53:03 +0100 Subject: [PATCH 019/107] Update z_datacitedoi.pl Updating the schema version to 4.0 --- cfg/cfg.d/z_datacitedoi.pl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index bf2af1e..8a24349 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -5,8 +5,7 @@ #which field do use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; -#which DataCiteXML schema version to use -$c->{datacitedoi}{schemaversion} = "3.1"; #change this when 4.0 is released + #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; @@ -29,8 +28,8 @@ # Namespace and location for datacite XML schema # feel free to update, though no guarantees it'll be accepted if you do -$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-2.2"; -$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-2.2/metadata.xsd"; +$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-4.0"; +$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-4.0/metadata.xsd"; # need to map eprint type (article, dataset etc) to ResourceType # Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf From 50233b4b95811d7d9a2b80c2b630c24041a45ede Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Tue, 13 Sep 2016 14:01:44 +0100 Subject: [PATCH 020/107] updates to the datacite plugin --- cfg/cfg.d/z_datacitedoi.pl | 59 ++++---- .../EPrints/Plugin/Export/DataCiteXML.pm | 126 ++++++++++-------- 2 files changed, 98 insertions(+), 87 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 8a24349..753b8ec 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -5,8 +5,6 @@ #which field do use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; - - #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; @@ -122,51 +120,42 @@ #BF sub method for can call for funder -$c->{funderrr} = sub +$c->{datacite_custom_funder} = sub { -my ( $xml, $entry, $dataobj ) = @_; -my $funders = $dataobj->get_value( "funders" ); - -my $projects = $dataobj->get_value( "projects" ); - if ($dataobj->exists_and_set( "funders" )) { - my $thefunders = $xml->create_element( "funders" ); - - foreach my $funder ( @$funders ) - { - my $fund = $funder->{funders}; - my $grant = $funder->{grant}; - my $others = $dataobj->get_value( "funders_other_funder" ); - - foreach my $other ( @$others ) - { + my ( $xml, $entry, $dataobj ) = @_; - foreach my $project ( @$projects ) - { + if ($dataobj->exists_and_set( "funders" )) { + my $funders = $dataobj->get_value( "funders" ); + my $thefunders = $xml->create_element( "funders" ); + foreach my $funder ( @$funders ) + { + my $fund = $funder->{funders}; + my $grant = $funder->{grant}; + my $others = $dataobj->get_value( "funders_other_funder" ); + if($fund eq "other"){ + foreach my $other ( @$others ) + { - my $proj = $project->{name}; + $thefunders->appendChild( $xml->create_data_element( "funderName", $other) ); + }} else { + $thefunders->appendChild( $xml->create_data_element( "funderName", $fund) ); + } - if ($fund eq "other" ) { +$thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - $thefunders->appendChild( $xml->create_data_element( "funderName", $other) ); - } else { - $thefunders->appendChild( $xml->create_data_element( "funderName", $fund) ); -} - $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - } - } -} - $entry->appendChild( $thefunders ); -} -}; + } + $entry->appendChild( $thefunders ); + } + }; #BF sub method for can call for language -$c->{laaanguages} = sub +$c->{datacite_custom_language} = sub { my ( $xml, $entry, $dataobj ) = @_; - + my $lan = $dataobj->get_value( "language" ); if ($dataobj->exists_and_set( "language" )) { foreach my $la ( @$lan ) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index ac392cc..85d0ba9 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -81,23 +81,34 @@ sub output_dataobj my $family = $name->{name}->{family}; my $given = $name->{name}->{given}; my $orcid = $name->{orcid}; - $author->appendChild( $xml->create_data_element( - "creatorName", - $name_str ) ); - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - if ($dataobj->exists_and_set( "creators_orcid" )) { - print STDERR Dumper $orcid; - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - -} - - $creators->appendChild( $author ); - } - - $entry->appendChild( $creators ); - } + if ($family eq '' && $given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); + } + if ($given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + } + if ($family eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + } + if ($dataobj->exists_and_set( "creators_orcid" )) { + if ($orcid eq '') { + $creators->appendChild( $author ); + } + else { + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + } + } + $creators->appendChild( $author ); + } + $entry->appendChild( $creators ); + } if ($dataobj->exists_and_set( "title" )) { @@ -146,30 +157,38 @@ if ($dataobj->exists_and_set( "date" )) { my $family = $name->{name}->{family}; my $given = $name->{name}->{given}; - $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - - - + if ($family eq '' && $given eq ''){ + $contributors->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); + } + if ($given eq '') { + $contributors->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + } + if ($family eq ''){ + $contributors->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + } if ($dataobj->exists_and_set( "contributors_orcid" )) { - my $orcid = $name->{orcid}; - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - - } - if ($dataobj->exists_and_set( "creator_affiliation" )) { - my $affiliation = $dataobj->get_value("creator_affiliation"); - $author->appendChild( $xml->create_data_element("affillation", $affiliation) ); - } - - - - $contributors->appendChild( $author ); - } - - $entry->appendChild( $contributors ); - } + my $orcid = $name->{orcid}; + if ($orcid eq '') { + $contributors->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + } + } + if ($dataobj->exists_and_set( "contributors_affiliation" )) { + my $affiliation = $dataobj->get_value("contributors_affiliation"); + $author->appendChild( $xml->create_data_element("affillation", $affiliation) ); + } + $contributors->appendChild( $author ); + } + $entry->appendChild( $contributors ); + } @@ -183,9 +202,9 @@ if ($dataobj->exists_and_set( "date" )) { #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr - if( $repo->can_call( "funderrr" ) ) + if( $repo->can_call( "datacite_custom_funder" ) ) { - if( defined( $repo->call( "funderrr", $xml, $entry, $dataobj ) ) ) + if( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ) {} else { @@ -214,15 +233,18 @@ if ($dataobj->exists_and_set( "date" )) { if ($dataobj->exists_and_set( "repo_link" )) { - my $theurls = $dataobj->get_value( "repo_link" ); + my $theurls = $dataobj->get_value( "repo_link" ); + my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); foreach my $theurl ( @$theurls ) - { - my $linkk = $theurl->{link}; - my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); - $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); - $entry->appendChild( $relatedIdentifiers ); - } - } + { + my $linkk = $theurl->{link}; + if (!$linkk eq ''){ + $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); + } + $entry->appendChild( $relatedIdentifiers ); + } + } + if ($dataobj->exists_and_set( "abstract" )) { my $abstract = $dataobj->get_value( "abstract" ); @@ -247,9 +269,9 @@ if ($dataobj->exists_and_set( "date" )) { } #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages - if( $repo->can_call( "laaanguages" ) ) + if( $repo->can_call( "datacite_custom_language" ) ) { - if( defined( $repo->call( "laaanguages", $xml, $entry, $dataobj ) ) ) + if( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ) {} else { @@ -274,7 +296,7 @@ if ($dataobj->exists_and_set( "date" )) { my $author = $xml->create_element( "geoLocation" ); my $bbox = $dataobj->get_value( "bounding_box" ); - print STDERR Dumper $bbox; + my $west = $dataobj->get_value( "bounding_box_west_edge" ); my $east = $dataobj->get_value( "bounding_box_east_edge" ); @@ -293,7 +315,7 @@ if ($dataobj->exists_and_set( "date" )) { $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $east) ); $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $south) ); $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $north) ); - print STDERR Dumper $north; + From 5178819be1310fff2c9712420d78ddb1d67cb208 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Thu, 3 Nov 2016 12:12:43 +0000 Subject: [PATCH 021/107] Fixing bug when tag is created --- .../EPrints/Plugin/Export/DataCiteXML.pm | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 85d0ba9..61bc441 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -126,18 +126,27 @@ if ($dataobj->exists_and_set( "date" )) { } - - + # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. + # If the keywords field is a multiple - and therefore, an array ref - then + # iterate through array and make each array element its own element. + # Otherwise, if the keywords field is a single block of text, take the string + # and make it a single element if ($dataobj->exists_and_set( "keywords" )) { - my $sub = $dataobj->get_value( "keywords" ); my $subjects = $xml->create_element( "subjects" ); - - $subjects->appendChild( $xml->create_data_element( "subject", $sub, "xml:lang"=>"en-us") ); - $entry->appendChild( $subjects ); + my $keywords = $dataobj->get_value("keywords"); + if(ref($keywords) eq 'ARRAY') { + foreach my $keyword ( @$keywords ) { + my $subject = $xml->create_element( "subject" ); + $subject->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); + $subjects->appendChild( $subject ); + } + $entry->appendChild( $subjects ); + } else { + $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); + $entry->appendChild( $subjects ); + } } - - if( $dataobj->exists_and_set( "contributors" ) ) { my $contributors = $xml->create_element( "contributors" ); From cfb51f5a1ff2f8b105f578d5bd234f0f395e4125 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Thu, 3 Nov 2016 13:58:51 +0000 Subject: [PATCH 022/107] Fixing minor typo --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 61bc441..e759aba 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -134,7 +134,7 @@ if ($dataobj->exists_and_set( "date" )) { if ($dataobj->exists_and_set( "keywords" )) { my $subjects = $xml->create_element( "subjects" ); my $keywords = $dataobj->get_value("keywords"); - if(ref($keywords) eq 'ARRAY') { + if(ref($keywords) eq "ARRAY") { foreach my $keyword ( @$keywords ) { my $subject = $xml->create_element( "subject" ); $subject->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); From a3354c47df0a514e0dd37fc166264f6681796bc5 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Fri, 4 Nov 2016 12:04:33 +0000 Subject: [PATCH 023/107] Adding resourceType and resourceTypeGeneral attributes to DataCiteXML export --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index e759aba..0623819 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -59,7 +59,19 @@ sub output_dataobj return $thisdoi if($thisdoi !~ /^$prefix/); } - $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); + $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); + + # AH 04/11/2016: adding element as it is required for the + # DataCite 4.0 XML Metadata Schema. For publications repositories, it uses the + # eprint_type value. For data repositories, it uses the eprint_data_type value. + my $pub_resourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); + if(defined $pub_resourceType){ + $entry->appendChild( $xml->create_data_element( "resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}) ); + } + my $data_resourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("data_type") ); + if(defined $data_resourceType){ + $entry->appendChild( $xml->create_data_element( "resourceType", $data_resourceType->{'v'}, resourceTypeGeneral=>$data_resourceType->{'a'}) ); + } #RM otherwise we'll leave this alone for now From 4939f220289acd0ccdeaaa380d66a7c97fc5b66b Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Mon, 7 Nov 2016 15:09:41 +0000 Subject: [PATCH 024/107] Updating rendering of resourceType and subjects elements --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 0623819..802879d 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -64,14 +64,16 @@ sub output_dataobj # AH 04/11/2016: adding element as it is required for the # DataCite 4.0 XML Metadata Schema. For publications repositories, it uses the # eprint_type value. For data repositories, it uses the eprint_data_type value. + my $resourceType_element; my $pub_resourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); if(defined $pub_resourceType){ - $entry->appendChild( $xml->create_data_element( "resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}) ); + $resourceType_element = $xml->create_data_element( "resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}); } - my $data_resourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("data_type") ); - if(defined $data_resourceType){ - $entry->appendChild( $xml->create_data_element( "resourceType", $data_resourceType->{'v'}, resourceTypeGeneral=>$data_resourceType->{'a'}) ); + if( $dataobj->exists_and_set( "data_type" ) ) { + my $data_type = $dataobj->get_value( "data_type" ); + $resourceType_element = $xml->create_data_element( "resourceType", $data_type, resourceTypeGeneral=>$data_type); } + $entry->appendChild( $resourceType_element ); #RM otherwise we'll leave this alone for now @@ -148,9 +150,7 @@ if ($dataobj->exists_and_set( "date" )) { my $keywords = $dataobj->get_value("keywords"); if(ref($keywords) eq "ARRAY") { foreach my $keyword ( @$keywords ) { - my $subject = $xml->create_element( "subject" ); - $subject->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); - $subjects->appendChild( $subject ); + $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); } $entry->appendChild( $subjects ); } else { From 32cc4b0298f26bb998319f25ec4324106fb2b5d1 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Tue, 15 Nov 2016 17:12:32 +0000 Subject: [PATCH 025/107] Fixing minor typos in XML element names --- .../EPrints/Plugin/Export/DataCiteXML.pm | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 802879d..3d5b640 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -266,29 +266,27 @@ if ($dataobj->exists_and_set( "date" )) { } } + if ($dataobj->exists_and_set( "abstract" )) { + + my $abstract = $dataobj->get_value( "abstract" ); + my $description = $xml->create_element( "descriptions" ); - if ($dataobj->exists_and_set( "abstract" )) { - my $abstract = $dataobj->get_value( "abstract" ); - my $discription = $xml->create_element( "descriptions" ); + $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - - - $discription->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - - - - if ($dataobj->exists_and_set( "collection_method" )) { + if ($dataobj->exists_and_set( "collection_method" )) { my $collection = $dataobj->get_value("collection_method"); - $discription->appendChild( $xml->create_data_element("discrpition", $collection, descriptionType=>"Methods")); + $description->appendChild( $xml->create_data_element("description", $collection, descriptionType=>"Methods")); } - if ($dataobj->exists_and_set( "provenance" )) { + if ($dataobj->exists_and_set( "provenance" )) { my $processing = $dataobj->get_value("provenance"); - $discription->appendChild( $xml->create_data_element("discrpition", $processing, descriptionType=>"Methods")); - } - $entry->appendChild( $discription ); + $description->appendChild( $xml->create_data_element("description", $processing, descriptionType=>"Methods")); } + $entry->appendChild( $description ); + + } + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages if( $repo->can_call( "datacite_custom_language" ) ) { From cc5493d7a6f84df2f328a73e53c43f2a68076846 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Wed, 16 Nov 2016 16:18:17 +0000 Subject: [PATCH 026/107] Fixing rendering of geoLocations XML elements --- .../EPrints/Plugin/Export/DataCiteXML.pm | 106 +++++++++--------- 1 file changed, 53 insertions(+), 53 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 3d5b640..0ebe254 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -267,7 +267,7 @@ if ($dataobj->exists_and_set( "date" )) { } if ($dataobj->exists_and_set( "abstract" )) { - + my $abstract = $dataobj->get_value( "abstract" ); my $description = $xml->create_element( "descriptions" ); @@ -301,58 +301,58 @@ if ($dataobj->exists_and_set( "date" )) { } } - - - - - if( $dataobj->exists_and_set( "geographic_cover" ) ) - { - my $geo = $xml->create_element( "geoLocations" ); - - my $names = $dataobj->get_value( "geographic_cover" ); - - - - my $author = $xml->create_element( "geoLocation" ); - my $bbox = $dataobj->get_value( "bounding_box" ); - - - my $west = $dataobj->get_value( "bounding_box_west_edge" ); - my $east = $dataobj->get_value( "bounding_box_east_edge" ); - my $south = $dataobj->get_value( "bounding_box_south_edge" ); - my $north = $dataobj->get_value( "bounding_box_north_edge" ); - - $author->appendChild( $xml->create_data_element("geoLocationPlace", $names ) ); - - my $bobox = $xml->create_element( "geoLocationBox" ); - - - - - - $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); - $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $east) ); - $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $south) ); - $bobox->appendChild( $xml->create_data_element( "westBoundLongitude", $north) ); - - - - - $author->appendChild( $bobox); - - - $geo->appendChild( $author ); - - - $entry->appendChild( $geo ); -} - - - - - - #TODO Seek, identify and include for registration the optional datacite fields - return ''."\n".$xml->to_string($entry); + # AH 16/11/2016: rendering the geoLocations XML elements + # Note: the initial conditional checks to see if the geographic_cover + # metadata field exists and is set. This was done because geographic_cover + # is part of the z_recollect_metadata_profile.pl file within the Recollect + # plugin and many repositories make it a mandatory field in the workflow. + + if( $dataobj->exists_and_set( "geographic_cover" ) ) { + + #Create XML elements + my $geo_locations = $xml->create_element( "geoLocations" ); + my $geo_location = $xml->create_element( "geoLocation" ); + + # Get value of geographic_cover field and append to $geo_location XML element + my $geographic_cover = $dataobj->get_value( "geographic_cover" ); + $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); + + # Get values of bounding box + my $west = $dataobj->get_value( "bounding_box_west_edge" ); + my $east = $dataobj->get_value( "bounding_box_east_edge" ); + my $south = $dataobj->get_value( "bounding_box_south_edge" ); + my $north = $dataobj->get_value( "bounding_box_north_edge" ); + + # Check to see if $north, $south, $east, or $west values are defined + if ($north || $south || $east || $west ) { + # Created $geo_location_box XML element + my $geo_location_box = $xml->create_element( "geoLocationBox" ); + # If $west is defined, created XML element with the appropriate value + if ($west) { + $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); + } + # If $east is defined, created XML element with the appropriate value + if ($east) { + $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); + } + # If $south is defined, created XML element with the appropriate value + if ($south) { + $geo_location_box->appendChild( $xml->create_data_element( "southBoundLongitude", $south) ); + } + # If $north is defined, created XML element with the appropriate value + if ($north) { + $geo_location_box->appendChild( $xml->create_data_element( "northBoundLongitude", $north) ); + } + # Append child $geo_location_box XML element to parent $geo_location XML element + $geo_location->appendChild( $geo_location_box ); + } + # Append child $geo_location XML element to parent $geo_locations XML element + $geo_locations->appendChild( $geo_location ); + # Append $geo_locations XML element to XML document + $entry->appendChild( $geo_locations ); + } + + return ''."\n".$xml->to_string($entry); } From 402886d09c200a7cd006afdb6d3f3acc61e75a53 Mon Sep 17 00:00:00 2001 From: Andrew Hercules Date: Fri, 16 Dec 2016 12:48:04 +0000 Subject: [PATCH 027/107] Commenting out creation of contributors element due to requirements of DataCite 4.0 metadata schema --- .../EPrints/Plugin/Export/DataCiteXML.pm | 123 +++++++++--------- 1 file changed, 61 insertions(+), 62 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 0ebe254..c191cad 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -159,68 +159,67 @@ if ($dataobj->exists_and_set( "date" )) { } } - if( $dataobj->exists_and_set( "contributors" ) ) - { - my $contributors = $xml->create_element( "contributors" ); - - my $names = $dataobj->get_value( "contributors" ); - ; - - foreach my $name ( @$names ) - { - my $author = $xml->create_element( "contributor" ); - - my $name_str = EPrints::Utils::make_name_string( $name->{name}); - - my $orcid = $name->{orcid}; - - my $typee = $name->{type}; - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - - if ($family eq '' && $given eq ''){ - $contributors->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); - } - if ($given eq '') { - $contributors->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - } - if ($family eq ''){ - $contributors->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - } - - if ($dataobj->exists_and_set( "contributors_orcid" )) { - my $orcid = $name->{orcid}; - if ($orcid eq '') { - $contributors->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - } - } - if ($dataobj->exists_and_set( "contributors_affiliation" )) { - my $affiliation = $dataobj->get_value("contributors_affiliation"); - $author->appendChild( $xml->create_data_element("affillation", $affiliation) ); - } - $contributors->appendChild( $author ); - } - $entry->appendChild( $contributors ); - } - - - - - - - - - - - + # AH 16/12/2016: commenting out the creation of the element. This is because the + # DataCite 4.0 Schema requires a contributorType attribute, which needs to be mapped. According to + # https://schema.datacite.org/meta/kernel-4.0/doc/DataCite-MetadataKernel_v4.0.pdf (page 16), there + # is a controlled list of contributorType options and it would be advisable to alter the + # Recollect workflow to make use of this controlled list (e.g. a namedset of approved values) + # and then map the values from this field to the XML found below. + # Note: if you do not supply a contributorType, the coin DOI process will fail + # because the contributorType attribute is mandatory. As such, and because the parent + # element is not mandatory, it will be commented out and not sent to DataCite pending further work from ULCC. + + # if( $dataobj->exists_and_set( "contributors" ) ) + # { + # + # my $contributors = $xml->create_element( "contributors" ); + # + # my $names = $dataobj->get_value( "contributors" ); + # + # foreach my $name ( @$names ) + # { + # my $author = $xml->create_element( "contributor" ); + # + # my $name_str = EPrints::Utils::make_name_string( $name->{name}); + # + # my $orcid = $name->{orcid}; + # + # my $typee = $name->{type}; + # my $family = $name->{name}->{family}; + # my $given = $name->{name}->{given}; + # + # if ($family eq '' && $given eq ''){ + # $contributors->appendChild( $author ); + # } else { + # $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); + # } + # if ($given eq '') { + # $contributors->appendChild( $author ); + # } else { + # $author->appendChild( $xml->create_data_element("givenName",$given ) ); + # } + # if ($family eq ''){ + # $contributors->appendChild( $author ); + # } else { + # $author->appendChild( $xml->create_data_element("familyName", $family ) ); + # } + # + # if ($dataobj->exists_and_set( "contributors_orcid" )) { + # my $orcid = $name->{orcid}; + # if ($orcid eq '') { + # $contributors->appendChild( $author ); + # } else { + # $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + # } + # } + # if ($dataobj->exists_and_set( "contributors_affiliation" )) { + # my $affiliation = $dataobj->get_value("contributors_affiliation"); + # $author->appendChild( $xml->create_data_element("affillation", $affiliation) ); + # } + # $contributors->appendChild( $author ); + # } + # $entry->appendChild( $contributors ); + # } #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr if( $repo->can_call( "datacite_custom_funder" ) ) From 203e85a5718cc7f11f7cccaa7371efc3e89201ff Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Tue, 29 Nov 2016 11:17:38 +0000 Subject: [PATCH 028/107] Fixed hash ref bug, this closes #6 --- cfg/cfg.d/z_datacitedoi.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 753b8ec..a648ad9 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -92,12 +92,12 @@ $c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { my ( %params ) = @_; - my $repository = %params->{repository}; + my $repository = $params{repository}; return undef if (!defined $repository); - if (defined %params->{dataobj}) { - my $dataobj = %params->{dataobj}; + if (defined $params{dataobj}) { + my $dataobj = $params{dataobj}; my $eprint_id = $dataobj->id; $repository->dataset( "event_queue" )->create_dataobj({ pluginid => "Event::DataCiteEvent", From 4fed4d000c6ffff3641fa1952cdc6c6c321a2b20 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 6 Mar 2017 20:21:53 +0000 Subject: [PATCH 029/107] bug fix for creators and orcid, though more to be done, and tidied loopy tabs --- .../EPrints/Plugin/Export/DataCiteXML.pm | 327 ++++++++---------- 1 file changed, 140 insertions(+), 187 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index c191cad..ab03d6a 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -36,16 +36,13 @@ sub output_dataobj my $xml = $repo->xml; #reference the datacite schema from config - our $entry = $xml->create_element( "resource", + our $entry = $xml->create_element( "resource", xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); - #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line - # AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists - # Ideally coining should NOT happen in this script but opts{doi} should have it - # but is always blank - my $thisdoi = $dataobj->get_value("id_number"); + #Existing DOI? + my $thisdoi = $dataobj->get_value($repo->get_conf("datacitedoi","eprintdoifield")); #RM coin a DOI if either # - not come via event or # - no doi arg passed in via cmd_line @@ -75,70 +72,45 @@ sub output_dataobj } $entry->appendChild( $resourceType_element ); - #RM otherwise we'll leave this alone for now + if( $dataobj->exists_and_set( "creators" ) ){ + my $creators = $xml->create_element( "creators" ); + my $names = $dataobj->get_value( "creators" ); + foreach my $name ( @$names ){ + my $author = $xml->create_element( "creator" ); + my $name_str = EPrints::Utils::make_name_string( $name->{name} ); + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; #world of assumptions here! - if( $dataobj->exists_and_set( "creators" ) ) - { - my $creators = $xml->create_element( "creators" ); - my $names = $dataobj->get_value( "creators" ); - ; - - foreach my $name ( @$names ) - { - my $author = $xml->create_element( "creator" ); - - my $name_str = EPrints::Utils::make_name_string( $name->{name}); - - - - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - my $orcid = $name->{orcid}; - - if ($family eq '' && $given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); - } - if ($given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - } - if ($family eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - } - if ($dataobj->exists_and_set( "creators_orcid" )) { - if ($orcid eq '') { + if (defined $name_str && $name_str ne ''){ + $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); + } + if (defined $given && $given ne ''){ + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + } + if (defined $family && $family ne ''){ + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + } + if(defined $orcid && $orcid ne '') { + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + } $creators->appendChild( $author ); - } - else { - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - } } - $creators->appendChild( $author ); - } - $entry->appendChild( $creators ); - } - + $entry->appendChild( $creators ); + } if ($dataobj->exists_and_set( "title" )) { - my $titles = $xml->create_element( "titles" ); - $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); - - $entry->appendChild( $titles ); - } - -$entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - -if ($dataobj->exists_and_set( "date" )) { - $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; - $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; - -} + my $titles = $xml->create_element( "titles" ); + $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); + $entry->appendChild( $titles ); + } + $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); + + if ($dataobj->exists_and_set( "date" )) { + $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; + $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; + } # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. # If the keywords field is a multiple - and therefore, an array ref - then @@ -146,17 +118,17 @@ if ($dataobj->exists_and_set( "date" )) { # Otherwise, if the keywords field is a single block of text, take the string # and make it a single element if ($dataobj->exists_and_set( "keywords" )) { - my $subjects = $xml->create_element( "subjects" ); - my $keywords = $dataobj->get_value("keywords"); - if(ref($keywords) eq "ARRAY") { - foreach my $keyword ( @$keywords ) { - $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); + my $subjects = $xml->create_element( "subjects" ); + my $keywords = $dataobj->get_value("keywords"); + if(ref($keywords) eq "ARRAY") { + foreach my $keyword ( @$keywords ) { + $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); + } + $entry->appendChild( $subjects ); + } else { + $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); + $entry->appendChild( $subjects ); } - $entry->appendChild( $subjects ); - } else { - $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); - $entry->appendChild( $subjects ); - } } # AH 16/12/2016: commenting out the creation of the element. This is because the @@ -221,138 +193,119 @@ if ($dataobj->exists_and_set( "date" )) { # $entry->appendChild( $contributors ); # } - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr - if( $repo->can_call( "datacite_custom_funder" ) ) - { - if( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ) - {} - else { - - my $funders = $dataobj->get_value( "funders" ); - my $grant = $dataobj->get_value( "grant" ); - my $projects = $dataobj->get_value( "projects" ); - if ($dataobj->exists_and_set( "funders" )) { - my $thefunders = $xml->create_element( "funders" ); - foreach my $funder ( @$funders ) - { - - - foreach my $project ( @$projects ) - { - $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); - $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - - } - } - $entry->appendChild( $thefunders ); - } - } + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr + if( $repo->can_call( "datacite_custom_funder" ) ){ + unless( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ){ + + my $funders = $dataobj->get_value( "funders" ); + my $grant = $dataobj->get_value( "grant" ); + my $projects = $dataobj->get_value( "projects" ); + if ($dataobj->exists_and_set( "funders" )) { + my $thefunders = $xml->create_element( "funders" ); + foreach my $funder ( @$funders ){ + foreach my $project ( @$projects ){ + $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); + $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); + } + } + $entry->appendChild( $thefunders ); + } } + } - - - - if ($dataobj->exists_and_set( "repo_link" )) { - my $theurls = $dataobj->get_value( "repo_link" ); - my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); - foreach my $theurl ( @$theurls ) - { + if ($dataobj->exists_and_set( "repo_link" )) { + my $theurls = $dataobj->get_value( "repo_link" ); + my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); + foreach my $theurl ( @$theurls ){ my $linkk = $theurl->{link}; - if (!$linkk eq ''){ + if (!$linkk eq ''){ $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); - } - $entry->appendChild( $relatedIdentifiers ); - } + } + $entry->appendChild( $relatedIdentifiers ); } + } - if ($dataobj->exists_and_set( "abstract" )) { + if ($dataobj->exists_and_set( "abstract" )) { - my $abstract = $dataobj->get_value( "abstract" ); - my $description = $xml->create_element( "descriptions" ); + my $abstract = $dataobj->get_value( "abstract" ); + my $description = $xml->create_element( "descriptions" ); - $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); + $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - if ($dataobj->exists_and_set( "collection_method" )) { + if ($dataobj->exists_and_set( "collection_method" )) { my $collection = $dataobj->get_value("collection_method"); $description->appendChild( $xml->create_data_element("description", $collection, descriptionType=>"Methods")); - } + } - if ($dataobj->exists_and_set( "provenance" )) { + if ($dataobj->exists_and_set( "provenance" )) { my $processing = $dataobj->get_value("provenance"); $description->appendChild( $xml->create_data_element("description", $processing, descriptionType=>"Methods")); - } - - $entry->appendChild( $description ); + } + $entry->appendChild( $description ); + } + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages + if( $repo->can_call( "datacite_custom_language" ) ){ + unless( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ){ + if ($dataobj->exists_and_set( "language" )) { + my $lan = $dataobj->get_value( "language" ); + $entry->appendChild( $xml->create_data_element( "language", $lan) ); + } } + } - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages - if( $repo->can_call( "datacite_custom_language" ) ) - { - if( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ) - {} - else { - - if ($dataobj->exists_and_set( "language" )) { - my $lan = $dataobj->get_value( "language" ); - $entry->appendChild( $xml->create_data_element( "language", $lan) ); - } - } - } - - # AH 16/11/2016: rendering the geoLocations XML elements - # Note: the initial conditional checks to see if the geographic_cover - # metadata field exists and is set. This was done because geographic_cover - # is part of the z_recollect_metadata_profile.pl file within the Recollect - # plugin and many repositories make it a mandatory field in the workflow. - - if( $dataobj->exists_and_set( "geographic_cover" ) ) { - - #Create XML elements - my $geo_locations = $xml->create_element( "geoLocations" ); - my $geo_location = $xml->create_element( "geoLocation" ); - - # Get value of geographic_cover field and append to $geo_location XML element - my $geographic_cover = $dataobj->get_value( "geographic_cover" ); - $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); - - # Get values of bounding box - my $west = $dataobj->get_value( "bounding_box_west_edge" ); - my $east = $dataobj->get_value( "bounding_box_east_edge" ); - my $south = $dataobj->get_value( "bounding_box_south_edge" ); - my $north = $dataobj->get_value( "bounding_box_north_edge" ); - - # Check to see if $north, $south, $east, or $west values are defined - if ($north || $south || $east || $west ) { - # Created $geo_location_box XML element - my $geo_location_box = $xml->create_element( "geoLocationBox" ); - # If $west is defined, created XML element with the appropriate value - if ($west) { - $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); - } - # If $east is defined, created XML element with the appropriate value - if ($east) { - $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); - } - # If $south is defined, created XML element with the appropriate value - if ($south) { - $geo_location_box->appendChild( $xml->create_data_element( "southBoundLongitude", $south) ); - } - # If $north is defined, created XML element with the appropriate value - if ($north) { - $geo_location_box->appendChild( $xml->create_data_element( "northBoundLongitude", $north) ); - } - # Append child $geo_location_box XML element to parent $geo_location XML element - $geo_location->appendChild( $geo_location_box ); - } - # Append child $geo_location XML element to parent $geo_locations XML element - $geo_locations->appendChild( $geo_location ); - # Append $geo_locations XML element to XML document - $entry->appendChild( $geo_locations ); + # AH 16/11/2016: rendering the geoLocations XML elements + # Note: the initial conditional checks to see if the geographic_cover + # metadata field exists and is set. This was done because geographic_cover + # is part of the z_recollect_metadata_profile.pl file within the Recollect + # plugin and many repositories make it a mandatory field in the workflow. + + if( $dataobj->exists_and_set( "geographic_cover" ) ) { + + #Create XML elements + my $geo_locations = $xml->create_element( "geoLocations" ); + my $geo_location = $xml->create_element( "geoLocation" ); + + # Get value of geographic_cover field and append to $geo_location XML element + my $geographic_cover = $dataobj->get_value( "geographic_cover" ); + $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); + + # Get values of bounding box + my $west = $dataobj->get_value( "bounding_box_west_edge" ); + my $east = $dataobj->get_value( "bounding_box_east_edge" ); + my $south = $dataobj->get_value( "bounding_box_south_edge" ); + my $north = $dataobj->get_value( "bounding_box_north_edge" ); + + # Check to see if $north, $south, $east, or $west values are defined + if ($north || $south || $east || $west ) { + # Created $geo_location_box XML element + my $geo_location_box = $xml->create_element( "geoLocationBox" ); + # If $west is defined, created XML element with the appropriate value + if ($west) { + $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); } + # If $east is defined, created XML element with the appropriate value + if ($east) { + $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); + } + # If $south is defined, created XML element with the appropriate value + if ($south) { + $geo_location_box->appendChild( $xml->create_data_element( "southBoundLongitude", $south) ); + } + # If $north is defined, created XML element with the appropriate value + if ($north) { + $geo_location_box->appendChild( $xml->create_data_element( "northBoundLongitude", $north) ); + } + # Append child $geo_location_box XML element to parent $geo_location XML element + $geo_location->appendChild( $geo_location_box ); + } + # Append child $geo_location XML element to parent $geo_locations XML element + $geo_locations->appendChild( $geo_location ); + # Append $geo_locations XML element to XML document + $entry->appendChild( $geo_locations ); + } - return ''."\n".$xml->to_string($entry); + return ''."\n".$xml->to_string($entry); } - 1; From a40fe61bcf5f049a9cc5bc4366ce3734c24d1a5a Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 6 Mar 2017 21:30:05 +0000 Subject: [PATCH 030/107] Added configurable var for lang tags, use EPrints::XML::to_string, Closes #9 --- cfg/cfg.d/z_datacitedoi.pl | 3 +++ lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 12 ++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index a648ad9..08aaa27 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -5,6 +5,9 @@ #which field do use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; +#for xml:lang attributes in XML +$c->{datacitedoi}{defaultlangtag} = "en-GB"; + #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index ab03d6a..5159d7c 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -57,7 +57,7 @@ sub output_dataobj } $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - + my $lang = $repo->get_conf("datacitedoi","defaultlangtag"); # AH 04/11/2016: adding element as it is required for the # DataCite 4.0 XML Metadata Schema. For publications repositories, it uses the # eprint_type value. For data repositories, it uses the eprint_data_type value. @@ -102,7 +102,7 @@ sub output_dataobj if ($dataobj->exists_and_set( "title" )) { my $titles = $xml->create_element( "titles" ); - $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); + $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>$lang ) ); $entry->appendChild( $titles ); } $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); @@ -122,11 +122,11 @@ sub output_dataobj my $keywords = $dataobj->get_value("keywords"); if(ref($keywords) eq "ARRAY") { foreach my $keyword ( @$keywords ) { - $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); + $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>$lang) ); } $entry->appendChild( $subjects ); } else { - $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); + $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>$lang) ); $entry->appendChild( $subjects ); } } @@ -230,7 +230,7 @@ sub output_dataobj my $abstract = $dataobj->get_value( "abstract" ); my $description = $xml->create_element( "descriptions" ); - $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); + $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>$lang, descriptionType=>"Abstract" ) ); if ($dataobj->exists_and_set( "collection_method" )) { my $collection = $dataobj->get_value("collection_method"); @@ -305,7 +305,7 @@ sub output_dataobj $entry->appendChild( $geo_locations ); } - return ''."\n".$xml->to_string($entry); + return ''."\n".EPrints::XML::to_string($entry); } 1; From ec11dcaacf620cfe69ef94749a20bd239f5663c8 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 6 Mar 2017 22:11:42 +0000 Subject: [PATCH 031/107] be more explicit about utf8 --- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index e09efb9..1b988d9 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -57,7 +57,7 @@ sub datacite_doi $repo_url.= $dataobj->internal_uri; } my $doi_reg = "doi=$thisdoi\nurl=".$repo_url; - ($response_content, $response_code)= datacite_request("POST", $url."doi", $user_name, $user_pw, $doi_reg, "text/plain;charset=UTF-8"); + ($response_content, $response_code)= datacite_request("POST", $url."doi", $user_name, $user_pw, $doi_reg, "text/plain; charset=utf8"); if($response_code !~ /20(1|0)/){ $repository->log("Registration response from datacite api: $response_code: $response_content"); $repository->log("BTW the \$doi_reg was:\n$doi_reg"); @@ -81,9 +81,10 @@ sub datacite_request { 'Accept' => 'application/xml', 'Content-Type' => $content_type ); + my $req = HTTP::Request->new( $method => $url, - $headers, $content + $headers, Encode::encode_utf8( $content ) ); $req->authorization_basic($user_name, $user_pw); From d1741dc0cf60005e9754f4f42b2dd3711338e799 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 26 Apr 2017 11:50:16 +0100 Subject: [PATCH 032/107] updates to the dataciteXML --- .../EPrints/Plugin/Export/DataCiteXML.pm | 385 ++++++++++-------- 1 file changed, 219 insertions(+), 166 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 5159d7c..142e245 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -1,5 +1,4 @@ =head1 NAME - EPrints::Plugin::Export::DataCiteXML =cut @@ -23,7 +22,7 @@ sub new $self->{visible} = 'all'; $self->{suffix} = '.xml'; $self->{mimetype} = 'application/xml; charset=utf-8'; - $self->{arguments}->{doi} = undef; + $self->{arguments}->{doi} = undef; return $self; } @@ -32,32 +31,36 @@ sub output_dataobj { my ($self, $dataobj, %opts) = @_; - my $repo = $self->{repository}; - my $xml = $repo->xml; - - #reference the datacite schema from config - our $entry = $xml->create_element( "resource", - xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), - "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", - "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); - - #Existing DOI? - my $thisdoi = $dataobj->get_value($repo->get_conf("datacitedoi","eprintdoifield")); - #RM coin a DOI if either - # - not come via event or - # - no doi arg passed in via cmd_line - # ie when someone exports DataCiteXML from the Action tab - if(!defined $thisdoi){ - #nick the coining sub from event plugin - my $event = $repo->plugin("Event::DataCiteEvent"); - $thisdoi = $event->coin_doi($repo, $dataobj); - #coin_doi may return an event error code if no prefix present assume this is the case - my $prefix = $repo->get_conf( "datacitedoi", "prefix"); - return $thisdoi if($thisdoi !~ /^$prefix/); - } - - $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - my $lang = $repo->get_conf("datacitedoi","defaultlangtag"); + my $repo = $self->{repository}; + my $xml = $repo->xml; + + #reference the datacite schema from config + our $entry = $xml->create_element( "resource", + xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", + "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); + + #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line + +# AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists + # Ideally coining should NOT happen in this script but opts{doi} should have it + # but is always blank + my $thisdoi = $dataobj->get_value("id_number"); + #RM coin a DOI if either + # - not come via event or + # - no doi arg passed in via cmd_line + # ie when someone exports DataCiteXML from the Action tab + if(!defined $thisdoi){ + #nick the coining sub from event plugin + my $event = $repo->plugin("Event::DataCiteEvent"); + $thisdoi = $event->coin_doi($repo, $dataobj); + #coin_doi may return an event error code if no prefix present assume this is the case + my $prefix = $repo->get_conf( "datacitedoi", "prefix"); + return $thisdoi if($thisdoi !~ /^$prefix/); + } + + $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); + # AH 04/11/2016: adding element as it is required for the # DataCite 4.0 XML Metadata Schema. For publications repositories, it uses the # eprint_type value. For data repositories, it uses the eprint_data_type value. @@ -72,45 +75,82 @@ sub output_dataobj } $entry->appendChild( $resourceType_element ); - if( $dataobj->exists_and_set( "creators" ) ){ - my $creators = $xml->create_element( "creators" ); - my $names = $dataobj->get_value( "creators" ); - foreach my $name ( @$names ){ - my $author = $xml->create_element( "creator" ); - my $name_str = EPrints::Utils::make_name_string( $name->{name} ); + #RM otherwise we'll leave this alone for now - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - my $orcid = $name->{orcid}; #world of assumptions here! - if (defined $name_str && $name_str ne ''){ - $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); - } - if (defined $given && $given ne ''){ - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - } - if (defined $family && $family ne ''){ - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - } - if(defined $orcid && $orcid ne '') { - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - } + my $license = undef; + + + if( $repo->can_call( "datacite_license" ) ) + { + $license = $repo->call( "datacite_license", $xml, $entry, $dataobj, $repo ); + + } + + + +if( $dataobj->exists_and_set( "creators" ) ) + { + my $creators = $xml->create_element( "creators" ); + my $names = $dataobj->get_value( "creators" ); + ; + + foreach my $name ( @$names ) + { + my $author = $xml->create_element( "creator" ); + + my $name_str = EPrints::Utils::make_name_string( $name->{name}); + + + + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; + + if ($family eq '' && $given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); + } + if ($given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + } + if ($family eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + } + if ($dataobj->exists_and_set( "creators_orcid" )) { + +if ($orcid eq '') { $creators->appendChild( $author ); + } + else { + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + } + } + $creators->appendChild( $author ); + } + $entry->appendChild( $creators ); } - $entry->appendChild( $creators ); - } + if ($dataobj->exists_and_set( "title" )) { - my $titles = $xml->create_element( "titles" ); - $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>$lang ) ); - $entry->appendChild( $titles ); - } - $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - - if ($dataobj->exists_and_set( "date" )) { - $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; - $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; - } + my $titles = $xml->create_element( "titles" ); + $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); + + $entry->appendChild( $titles ); + } + +$entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); + +if ($dataobj->exists_and_set( "date" )) { + $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; + $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; + +} # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. # If the keywords field is a multiple - and therefore, an array ref - then @@ -118,17 +158,18 @@ sub output_dataobj # Otherwise, if the keywords field is a single block of text, take the string # and make it a single element if ($dataobj->exists_and_set( "keywords" )) { - my $subjects = $xml->create_element( "subjects" ); - my $keywords = $dataobj->get_value("keywords"); - if(ref($keywords) eq "ARRAY") { - foreach my $keyword ( @$keywords ) { - $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>$lang) ); - } - $entry->appendChild( $subjects ); - } else { - $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>$lang) ); - $entry->appendChild( $subjects ); + my $subjects = $xml->create_element( "subjects" ); + my $keywords = $dataobj->get_value("keywords"); + if(ref($keywords) eq "ARRAY") { + foreach my $keyword ( @$keywords ) { + $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); } + + $entry->appendChild( $subjects ); + } else { + $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); + $entry->appendChild( $subjects ); + } } # AH 16/12/2016: commenting out the creation of the element. This is because the @@ -165,7 +206,9 @@ sub output_dataobj # } else { # $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); # } - # if ($given eq '') { + + + # if ($given eq '') { # $contributors->appendChild( $author ); # } else { # $author->appendChild( $xml->create_data_element("givenName",$given ) ); @@ -193,119 +236,129 @@ sub output_dataobj # $entry->appendChild( $contributors ); # } - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr - if( $repo->can_call( "datacite_custom_funder" ) ){ - unless( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ){ - - my $funders = $dataobj->get_value( "funders" ); - my $grant = $dataobj->get_value( "grant" ); - my $projects = $dataobj->get_value( "projects" ); - if ($dataobj->exists_and_set( "funders" )) { - my $thefunders = $xml->create_element( "funders" ); - foreach my $funder ( @$funders ){ - foreach my $project ( @$projects ){ - $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); - $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - } - } - $entry->appendChild( $thefunders ); - } + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr + if( $repo->can_call( "datacite_custom_funder" ) ) + { + if( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ) + {} + else { + + my $funders = $dataobj->get_value( "funders" ); + my $grant = $dataobj->get_value( "grant" ); + my $projects = $dataobj->get_value( "projects" ); + if ($dataobj->exists_and_set( "funders" )) { + my $thefunders = $xml->create_element( "funders" ); + foreach my $funder ( @$funders ) + { + + + foreach my $project ( @$projects ) + { + $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); + $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); + + } + } + $entry->appendChild( $thefunders ); + +} + } } - } - if ($dataobj->exists_and_set( "repo_link" )) { - my $theurls = $dataobj->get_value( "repo_link" ); - my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); - foreach my $theurl ( @$theurls ){ + + + + if ($dataobj->exists_and_set( "repo_link" )) { + my $theurls = $dataobj->get_value( "repo_link" ); + my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); + foreach my $theurl ( @$theurls ) + { my $linkk = $theurl->{link}; - if (!$linkk eq ''){ + if (!$linkk eq ''){ $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); - } - $entry->appendChild( $relatedIdentifiers ); + } + $entry->appendChild( $relatedIdentifiers ); + } } - } - if ($dataobj->exists_and_set( "abstract" )) { + if ($dataobj->exists_and_set( "abstract" )) { - my $abstract = $dataobj->get_value( "abstract" ); - my $description = $xml->create_element( "descriptions" ); + my $abstract = $dataobj->get_value( "abstract" ); + my $description = $xml->create_element( "descriptions" ); - $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>$lang, descriptionType=>"Abstract" ) ); + $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - if ($dataobj->exists_and_set( "collection_method" )) { + if ($dataobj->exists_and_set( "collection_method" )) { my $collection = $dataobj->get_value("collection_method"); $description->appendChild( $xml->create_data_element("description", $collection, descriptionType=>"Methods")); - } + } - if ($dataobj->exists_and_set( "provenance" )) { + if ($dataobj->exists_and_set( "provenance" )) { my $processing = $dataobj->get_value("provenance"); $description->appendChild( $xml->create_data_element("description", $processing, descriptionType=>"Methods")); - } - $entry->appendChild( $description ); - } + } + + $entry->appendChild( $description ); - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages - if( $repo->can_call( "datacite_custom_language" ) ){ - unless( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ){ - if ($dataobj->exists_and_set( "language" )) { - my $lan = $dataobj->get_value( "language" ); - $entry->appendChild( $xml->create_data_element( "language", $lan) ); - } } - } - # AH 16/11/2016: rendering the geoLocations XML elements - # Note: the initial conditional checks to see if the geographic_cover - # metadata field exists and is set. This was done because geographic_cover - # is part of the z_recollect_metadata_profile.pl file within the Recollect - # plugin and many repositories make it a mandatory field in the workflow. - - if( $dataobj->exists_and_set( "geographic_cover" ) ) { - - #Create XML elements - my $geo_locations = $xml->create_element( "geoLocations" ); - my $geo_location = $xml->create_element( "geoLocation" ); - - # Get value of geographic_cover field and append to $geo_location XML element - my $geographic_cover = $dataobj->get_value( "geographic_cover" ); - $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); - - # Get values of bounding box - my $west = $dataobj->get_value( "bounding_box_west_edge" ); - my $east = $dataobj->get_value( "bounding_box_east_edge" ); - my $south = $dataobj->get_value( "bounding_box_south_edge" ); - my $north = $dataobj->get_value( "bounding_box_north_edge" ); - - # Check to see if $north, $south, $east, or $west values are defined - if ($north || $south || $east || $west ) { - # Created $geo_location_box XML element - my $geo_location_box = $xml->create_element( "geoLocationBox" ); - # If $west is defined, created XML element with the appropriate value - if ($west) { - $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); - } - # If $east is defined, created XML element with the appropriate value - if ($east) { - $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); - } - # If $south is defined, created XML element with the appropriate value - if ($south) { - $geo_location_box->appendChild( $xml->create_data_element( "southBoundLongitude", $south) ); - } - # If $north is defined, created XML element with the appropriate value - if ($north) { - $geo_location_box->appendChild( $xml->create_data_element( "northBoundLongitude", $north) ); + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages + if( $repo->can_call( "datacite_custom_language" ) ) + { + if( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ) + {} + else { + + +if ($dataobj->exists_and_set( "language" )) { + my $lan = $dataobj->get_value( "language" ); + $entry->appendChild( $xml->create_data_element( "language", $lan) ); + } + } + } + + # AH 16/11/2016: rendering the geoLocations XML elements + # Note: the initial conditional checks to see if the geographic_cover + # metadata field exists and is set. This was done because geographic_cover + # is part of the z_recollect_metadata_profile.pl file within the Recollect + # plugin and many repositories make it a mandatory field in the workflow. + + if( $dataobj->exists_and_set( "geographic_cover" ) ) { + + #Create XML elements + my $geo_locations = $xml->create_element( "geoLocations" ); + my $geo_location = $xml->create_element( "geoLocation" ); + + # Get value of geographic_cover field and append to $geo_location XML element + my $geographic_cover = $dataobj->get_value( "geographic_cover" ); + $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); + + # Get values of bounding box + my $west = $dataobj->get_value( "bounding_box_west_edge" ); + my $east = $dataobj->get_value( "bounding_box_east_edge" ); + my $south = $dataobj->get_value( "bounding_box_south_edge" ); + my $north = $dataobj->get_value( "bounding_box_north_edge" ); + + # Check to see if $north, $south, $east, or $west values are defined + if (defined $north && defined $south && defined $east && defined $west ) { + # Created $geo_location_box XML element + my $geo_location_box = $xml->create_element( "geoLocationBox" ); + # If $long/lat is defined, created XML element with the appropriate value + $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); + $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); + $geo_location_box->appendChild( $xml->create_data_element( "southBoundLatitude", $south) ); + $geo_location_box->appendChild( $xml->create_data_element( "northBoundLatitude", $north) ); + # Append child $geo_location_box XML element to parent $geo_location XML element + $geo_location->appendChild( $geo_location_box ); + } + # Append child $geo_location XML element to parent $geo_locations XML element + $geo_locations->appendChild( $geo_location ); + # Append $geo_locations XML element to XML document + $entry->appendChild( $geo_locations ); } - # Append child $geo_location_box XML element to parent $geo_location XML element - $geo_location->appendChild( $geo_location_box ); - } - # Append child $geo_location XML element to parent $geo_locations XML element - $geo_locations->appendChild( $geo_location ); - # Append $geo_locations XML element to XML document - $entry->appendChild( $geo_locations ); - } - return ''."\n".EPrints::XML::to_string($entry); + return ''."\n".$xml->to_string($entry); } + 1; From 3ac5bf63f41d8452014090398de60f91cdbffad3 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Tue, 11 Jul 2017 14:33:21 +0100 Subject: [PATCH 033/107] tab tidying and datacite_custom_repo_link --- .../EPrints/Plugin/Export/DataCiteXML.pm | 343 ++++++++---------- 1 file changed, 161 insertions(+), 182 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 142e245..47d90e4 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -29,37 +29,37 @@ sub new sub output_dataobj { - my ($self, $dataobj, %opts) = @_; + my ($self, $dataobj, %opts) = @_; + + my $repo = $self->{repository}; + my $xml = $repo->xml; - my $repo = $self->{repository}; - my $xml = $repo->xml; + #reference the datacite schema from config + our $entry = $xml->create_element( "resource", + xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", + "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); - #reference the datacite schema from config - our $entry = $xml->create_element( "resource", - xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), - "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", - "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); + #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line - #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line - -# AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists + # AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists # Ideally coining should NOT happen in this script but opts{doi} should have it # but is always blank - my $thisdoi = $dataobj->get_value("id_number"); - #RM coin a DOI if either - # - not come via event or - # - no doi arg passed in via cmd_line - # ie when someone exports DataCiteXML from the Action tab - if(!defined $thisdoi){ - #nick the coining sub from event plugin - my $event = $repo->plugin("Event::DataCiteEvent"); - $thisdoi = $event->coin_doi($repo, $dataobj); - #coin_doi may return an event error code if no prefix present assume this is the case - my $prefix = $repo->get_conf( "datacitedoi", "prefix"); - return $thisdoi if($thisdoi !~ /^$prefix/); - } + my $thisdoi = $dataobj->get_value("id_number"); + #RM coin a DOI if either + # - not come via event or + # - no doi arg passed in via cmd_line + # ie when someone exports DataCiteXML from the Action tab + if(!defined $thisdoi){ + #nick the coining sub from event plugin + my $event = $repo->plugin("Event::DataCiteEvent"); + $thisdoi = $event->coin_doi($repo, $dataobj); + #coin_doi may return an event error code if no prefix present assume this is the case + my $prefix = $repo->get_conf( "datacitedoi", "prefix"); + return $thisdoi if($thisdoi !~ /^$prefix/); + } - $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); + $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); # AH 04/11/2016: adding element as it is required for the # DataCite 4.0 XML Metadata Schema. For publications repositories, it uses the @@ -75,82 +75,72 @@ sub output_dataobj } $entry->appendChild( $resourceType_element ); - #RM otherwise we'll leave this alone for now - + #RM otherwise we'll leave this alone for now - my $license = undef; + my $license = undef; - if( $repo->can_call( "datacite_license" ) ) - { + if( $repo->can_call( "datacite_license" ) ){ $license = $repo->call( "datacite_license", $xml, $entry, $dataobj, $repo ); + } - } - - + if( $dataobj->exists_and_set( "creators" ) ){ + my $creators = $xml->create_element( "creators" ); + my $names = $dataobj->get_value( "creators" ); -if( $dataobj->exists_and_set( "creators" ) ) - { - my $creators = $xml->create_element( "creators" ); - my $names = $dataobj->get_value( "creators" ); - ; + foreach my $name ( @$names ){ + my $author = $xml->create_element( "creator" ); - foreach my $name ( @$names ) - { - my $author = $xml->create_element( "creator" ); + my $name_str = EPrints::Utils::make_name_string( $name->{name}); - my $name_str = EPrints::Utils::make_name_string( $name->{name}); + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - my $orcid = $name->{orcid}; + if ($family eq '' && $given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); + } + if ($given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + } + if ($family eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + } + if ($dataobj->exists_and_set( "creators_orcid" )) { - if ($family eq '' && $given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); - } - if ($given eq ''){ + if ($orcid eq '') { $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - } - if ($family eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - } - if ($dataobj->exists_and_set( "creators_orcid" )) { - -if ($orcid eq '') { + } else { + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + } + } + $creators->appendChild( $author ); - } - else { - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - } - } - $creators->appendChild( $author ); - } - $entry->appendChild( $creators ); } + $entry->appendChild( $creators ); + } if ($dataobj->exists_and_set( "title" )) { - my $titles = $xml->create_element( "titles" ); - $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); - - $entry->appendChild( $titles ); - } + my $titles = $xml->create_element( "titles" ); + $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); -$entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - -if ($dataobj->exists_and_set( "date" )) { - $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; - $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; + $entry->appendChild( $titles ); + } + $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); -} + if ($dataobj->exists_and_set( "date" )) { + $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; + $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; + } # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. # If the keywords field is a multiple - and therefore, an array ref - then @@ -165,7 +155,7 @@ if ($dataobj->exists_and_set( "date" )) { $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); } - $entry->appendChild( $subjects ); + $entry->appendChild( $subjects ); } else { $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); $entry->appendChild( $subjects ); @@ -235,127 +225,116 @@ if ($dataobj->exists_and_set( "date" )) { # } # $entry->appendChild( $contributors ); # } - - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr - if( $repo->can_call( "datacite_custom_funder" ) ) - { - if( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ) - {} - else { - - my $funders = $dataobj->get_value( "funders" ); - my $grant = $dataobj->get_value( "grant" ); - my $projects = $dataobj->get_value( "projects" ); - if ($dataobj->exists_and_set( "funders" )) { - my $thefunders = $xml->create_element( "funders" ); - foreach my $funder ( @$funders ) - { - - - foreach my $project ( @$projects ) - { - $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); - $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - - } - } - $entry->appendChild( $thefunders ); - -} + + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr + if( $repo->can_call( "datacite_custom_funder" ) ){ + unless( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ){ + my $funders = $dataobj->get_value( "funders" ); + my $grant = $dataobj->get_value( "grant" ); + my $projects = $dataobj->get_value( "projects" ); + if ($dataobj->exists_and_set( "funders" )) { + my $thefunders = $xml->create_element( "funders" ); + foreach my $funder ( @$funders ){ + foreach my $project ( @$projects ){ + $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); + $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); + } + } + $entry->appendChild( $thefunders ); + } } - } - + } + if ($dataobj->exists_and_set( "repo_link" )) { - if ($dataobj->exists_and_set( "repo_link" )) { + #If we have a custom override + if( $repo->can_call( "datacite_custom_repo_link" ) ){ + my $relatedIdentifiers = $repo->call( "datacite_custom_repo_link", $xml, $entry, $dataobj ); + $entry->appendChild( $relatedIdentifiers ) if (defined $relatedIdentifiers); + #default action + }else{ my $theurls = $dataobj->get_value( "repo_link" ); my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); - foreach my $theurl ( @$theurls ) - { - my $linkk = $theurl->{link}; - if (!$linkk eq ''){ - $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); - } + foreach my $theurl ( @$theurls ) { + my $linkk = $theurl->{link}; + if (!$linkk eq ''){ + $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); + } $entry->appendChild( $relatedIdentifiers ); - } + } } + } - if ($dataobj->exists_and_set( "abstract" )) { + if ($dataobj->exists_and_set( "abstract" )) { - my $abstract = $dataobj->get_value( "abstract" ); - my $description = $xml->create_element( "descriptions" ); + my $abstract = $dataobj->get_value( "abstract" ); + my $description = $xml->create_element( "descriptions" ); - $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); + $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - if ($dataobj->exists_and_set( "collection_method" )) { + if ($dataobj->exists_and_set( "collection_method" )) { my $collection = $dataobj->get_value("collection_method"); $description->appendChild( $xml->create_data_element("description", $collection, descriptionType=>"Methods")); - } + } - if ($dataobj->exists_and_set( "provenance" )) { + if ($dataobj->exists_and_set( "provenance" )) { my $processing = $dataobj->get_value("provenance"); $description->appendChild( $xml->create_data_element("description", $processing, descriptionType=>"Methods")); - } - - $entry->appendChild( $description ); - } - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages - if( $repo->can_call( "datacite_custom_language" ) ) - { - if( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ) - {} - else { - + $entry->appendChild( $description ); + } -if ($dataobj->exists_and_set( "language" )) { - my $lan = $dataobj->get_value( "language" ); - $entry->appendChild( $xml->create_data_element( "language", $lan) ); - } - } - } - - # AH 16/11/2016: rendering the geoLocations XML elements - # Note: the initial conditional checks to see if the geographic_cover - # metadata field exists and is set. This was done because geographic_cover - # is part of the z_recollect_metadata_profile.pl file within the Recollect - # plugin and many repositories make it a mandatory field in the workflow. - - if( $dataobj->exists_and_set( "geographic_cover" ) ) { - - #Create XML elements - my $geo_locations = $xml->create_element( "geoLocations" ); - my $geo_location = $xml->create_element( "geoLocation" ); - - # Get value of geographic_cover field and append to $geo_location XML element - my $geographic_cover = $dataobj->get_value( "geographic_cover" ); - $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); - - # Get values of bounding box - my $west = $dataobj->get_value( "bounding_box_west_edge" ); - my $east = $dataobj->get_value( "bounding_box_east_edge" ); - my $south = $dataobj->get_value( "bounding_box_south_edge" ); - my $north = $dataobj->get_value( "bounding_box_north_edge" ); - - # Check to see if $north, $south, $east, or $west values are defined - if (defined $north && defined $south && defined $east && defined $west ) { - # Created $geo_location_box XML element - my $geo_location_box = $xml->create_element( "geoLocationBox" ); - # If $long/lat is defined, created XML element with the appropriate value - $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); - $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); - $geo_location_box->appendChild( $xml->create_data_element( "southBoundLatitude", $south) ); - $geo_location_box->appendChild( $xml->create_data_element( "northBoundLatitude", $north) ); - # Append child $geo_location_box XML element to parent $geo_location XML element - $geo_location->appendChild( $geo_location_box ); - } - # Append child $geo_location XML element to parent $geo_locations XML element - $geo_locations->appendChild( $geo_location ); - # Append $geo_locations XML element to XML document - $entry->appendChild( $geo_locations ); + #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages + if( $repo->can_call( "datacite_custom_language" ) ){ + unless( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ){ + if ($dataobj->exists_and_set( "language" )) { + my $lan = $dataobj->get_value( "language" ); + $entry->appendChild( $xml->create_data_element( "language", $lan) ); } + } + } + + # AH 16/11/2016: rendering the geoLocations XML elements + # Note: the initial conditional checks to see if the geographic_cover + # metadata field exists and is set. This was done because geographic_cover + # is part of the z_recollect_metadata_profile.pl file within the Recollect + # plugin and many repositories make it a mandatory field in the workflow. + + if( $dataobj->exists_and_set( "geographic_cover" ) ) { + + #Create XML elements + my $geo_locations = $xml->create_element( "geoLocations" ); + my $geo_location = $xml->create_element( "geoLocation" ); + + # Get value of geographic_cover field and append to $geo_location XML element + my $geographic_cover = $dataobj->get_value( "geographic_cover" ); + $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); + + # Get values of bounding box + my $west = $dataobj->get_value( "bounding_box_west_edge" ); + my $east = $dataobj->get_value( "bounding_box_east_edge" ); + my $south = $dataobj->get_value( "bounding_box_south_edge" ); + my $north = $dataobj->get_value( "bounding_box_north_edge" ); + + # Check to see if $north, $south, $east, or $west values are defined + if (defined $north && defined $south && defined $east && defined $west ) { + # Created $geo_location_box XML element + my $geo_location_box = $xml->create_element( "geoLocationBox" ); + # If $long/lat is defined, created XML element with the appropriate value + $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); + $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); + $geo_location_box->appendChild( $xml->create_data_element( "southBoundLatitude", $south) ); + $geo_location_box->appendChild( $xml->create_data_element( "northBoundLatitude", $north) ); + # Append child $geo_location_box XML element to parent $geo_location XML element + $geo_location->appendChild( $geo_location_box ); + } + # Append child $geo_location XML element to parent $geo_locations XML element + $geo_locations->appendChild( $geo_location ); + # Append $geo_locations XML element to XML document + $entry->appendChild( $geo_locations ); + } return ''."\n".$xml->to_string($entry); } From be7a6c2eec2aa91cc60cfdac4a29d8896b49d83c Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 13 Jul 2017 04:33:21 +0100 Subject: [PATCH 034/107] remove the relatedIdentifier for now --- .../EPrints/Plugin/Export/DataCiteXML.pm | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 47d90e4..7cc792b 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -247,23 +247,24 @@ sub output_dataobj if ($dataobj->exists_and_set( "repo_link" )) { - - #If we have a custom override - if( $repo->can_call( "datacite_custom_repo_link" ) ){ - my $relatedIdentifiers = $repo->call( "datacite_custom_repo_link", $xml, $entry, $dataobj ); - $entry->appendChild( $relatedIdentifiers ) if (defined $relatedIdentifiers); - #default action - }else{ - my $theurls = $dataobj->get_value( "repo_link" ); - my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); - foreach my $theurl ( @$theurls ) { - my $linkk = $theurl->{link}; - if (!$linkk eq ''){ - $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); - } - $entry->appendChild( $relatedIdentifiers ); - } - } +# RelatedIdentifier should be more careful in identifying the relationType so we will revisit after more input from the DataCite community probably for milestone 1.3 + +# #If we have a custom override +# if( $repo->can_call( "datacite_custom_repo_link" ) ){ +# my $relatedIdentifiers = $repo->call( "datacite_custom_repo_link", $xml, $entry, $dataobj ); +# $entry->appendChild( $relatedIdentifiers ) if (defined $relatedIdentifiers); +# #default action +# }else{ +# my $theurls = $dataobj->get_value( "repo_link" ); +# my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); +# foreach my $theurl ( @$theurls ) { +# my $linkk = $theurl->{link}; +# if (!$linkk eq ''){ +# $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); +# } +# $entry->appendChild( $relatedIdentifiers ); +# } +# } } if ($dataobj->exists_and_set( "abstract" )) { From 336a27ce12191f812f0468a320a1737d992e7a7a Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 21 Aug 2017 17:16:38 +0100 Subject: [PATCH 035/107] reworked Export plugin so that *any* EPrint field can be mapped if a corresponding sub is found in zzz_datacite_mapping --- lib/cfg.d/zzz_datacite_mapping.pl | 83 +++++++++++++++++++ .../EPrints/Plugin/Export/DataCiteXML.pm | 71 +++------------- 2 files changed, 94 insertions(+), 60 deletions(-) create mode 100644 lib/cfg.d/zzz_datacite_mapping.pl diff --git a/lib/cfg.d/zzz_datacite_mapping.pl b/lib/cfg.d/zzz_datacite_mapping.pl new file mode 100644 index 0000000..491c928 --- /dev/null +++ b/lib/cfg.d/zzz_datacite_mapping.pl @@ -0,0 +1,83 @@ +#################################################### +# New architecture for print => datacite mapping +#################################################### + +#These first two both map to resourceType (and resourceTypeGeneral) the first is for pubs repos the second for data (but either can be used for ether f the eprint field is there) +$c->{datacite_mapping_type} = sub { + + my ( $xml, $dataobj, $repo, $value ) = @_; + + my $pub_resourceType = $repo->get_conf( "datacitedoi", "typemap", $value ); + if(defined $pub_resourceType){ + return $xml->create_data_element( "resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}); + } + + return undef; +}; + +$c->{datacite_mapping_data_type} = sub { + + my ( $xml, $dataobj, $repo, $value ) = @_; + + return $xml->create_data_element( "resourceType", $value, resourceTypeGeneral=>$value); +}; + +$c->{datacite_mapping_creators} = sub { + + my ( $xml, $dataobj, $repo, $value ) = @_; + + my $creators = $xml->create_element( "creators" ); + + foreach my $name ( @$value ){ + my $author = $xml->create_element( "creator" ); + + my $name_str = EPrints::Utils::make_name_string( $name->{name}); + + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; + + if ($family eq '' && $given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); + } + if ($given eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("givenName",$given ) ); + } + if ($family eq ''){ + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("familyName", $family ) ); + } + if ($dataobj->exists_and_set( "creators_orcid" )) { + + if ($orcid eq '') { + $creators->appendChild( $author ); + } else { + $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); + } + } + + $creators->appendChild( $author ); + } + return $creators +}; + +=comment + +$c->{datacite_mapping_somefield} = sub { + + + my ( $xml, $dataobj, $repo, $value ) = @_; + + #Do the mapping/validation here.... + + return $xml #of somedescription + + +} + +=cut diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 7cc792b..24eeb02 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -58,75 +58,26 @@ sub output_dataobj my $prefix = $repo->get_conf( "datacitedoi", "prefix"); return $thisdoi if($thisdoi !~ /^$prefix/); } - $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - # AH 04/11/2016: adding element as it is required for the - # DataCite 4.0 XML Metadata Schema. For publications repositories, it uses the - # eprint_type value. For data repositories, it uses the eprint_data_type value. - my $resourceType_element; - my $pub_resourceType = $repo->get_conf( "datacitedoi", "typemap", $dataobj->get_value("type") ); - if(defined $pub_resourceType){ - $resourceType_element = $xml->create_data_element( "resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}); - } - if( $dataobj->exists_and_set( "data_type" ) ) { - my $data_type = $dataobj->get_value( "data_type" ); - $resourceType_element = $xml->create_data_element( "resourceType", $data_type, resourceTypeGeneral=>$data_type); - } - $entry->appendChild( $resourceType_element ); - - #RM otherwise we'll leave this alone for now + foreach my $field ( $dataobj->{dataset}->get_fields ) + { + my $mapping_fn = "datacite_mapping_".$field->get_name; + if($repo->can_call($mapping_fn) && $dataobj->exists_and_set($field->get_name)){ + my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); + $entry->appendChild( $mapped_element ) if(defined $mapped_element); + } + } + #RM extract licens from documents by some means: my $license = undef; - - if( $repo->can_call( "datacite_license" ) ){ $license = $repo->call( "datacite_license", $xml, $entry, $dataobj, $repo ); } - if( $dataobj->exists_and_set( "creators" ) ){ - my $creators = $xml->create_element( "creators" ); - my $names = $dataobj->get_value( "creators" ); - - foreach my $name ( @$names ){ - my $author = $xml->create_element( "creator" ); - - my $name_str = EPrints::Utils::make_name_string( $name->{name}); - - - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - my $orcid = $name->{orcid}; - - if ($family eq '' && $given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); - } - if ($given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - } - if ($family eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - } - if ($dataobj->exists_and_set( "creators_orcid" )) { - - if ($orcid eq '') { - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - } - } - - $creators->appendChild( $author ); - } - $entry->appendChild( $creators ); - } + ########################################################################################################################################################################## + ################################# From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### if ($dataobj->exists_and_set( "title" )) { From 7aab5a07cb8e2425204ab109ef24e4eb6de85cde Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Tue, 19 Sep 2017 18:15:21 +0100 Subject: [PATCH 036/107] rationalisation of field render code --- cfg/cfg.d/z_datacitedoi.pl | 49 --- lib/cfg.d/z_datacite_mapping.pl | 267 ++++++++++++++++ lib/cfg.d/zz_datacite_mapping_overide.pl | 28 ++ .../EPrints/Plugin/Export/DataCiteXML.pm | 296 +----------------- 4 files changed, 296 insertions(+), 344 deletions(-) create mode 100644 lib/cfg.d/z_datacite_mapping.pl create mode 100644 lib/cfg.d/zz_datacite_mapping_overide.pl mode change 100644 => 120000 lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 08aaa27..00f7352 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -119,52 +119,3 @@ } - - - -#BF sub method for can call for funder -$c->{datacite_custom_funder} = sub - { - - my ( $xml, $entry, $dataobj ) = @_; - - if ($dataobj->exists_and_set( "funders" )) { - my $funders = $dataobj->get_value( "funders" ); - my $thefunders = $xml->create_element( "funders" ); - foreach my $funder ( @$funders ) - { - my $fund = $funder->{funders}; - my $grant = $funder->{grant}; - my $others = $dataobj->get_value( "funders_other_funder" ); - if($fund eq "other"){ - foreach my $other ( @$others ) - { - - $thefunders->appendChild( $xml->create_data_element( "funderName", $other) ); - }} else { - $thefunders->appendChild( $xml->create_data_element( "funderName", $fund) ); - } - -$thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - - - } - $entry->appendChild( $thefunders ); - } - }; - - -#BF sub method for can call for language -$c->{datacite_custom_language} = sub - { - my ( $xml, $entry, $dataobj ) = @_; - - my $lan = $dataobj->get_value( "language" ); - if ($dataobj->exists_and_set( "language" )) { - foreach my $la ( @$lan ) - { - my $thelanguage = $la->{l}; - $entry->appendChild( $xml->create_data_element( "language", $thelanguage) ); - } - } - } diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl new file mode 100644 index 0000000..2cd1e01 --- /dev/null +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -0,0 +1,267 @@ +##################################################### +# New architecture +# for print => datacite mapping#################################################### + +# These first two both map to resourceType(and resourceTypeGeneral) the first is +# for pubs repos the second +# for data(but either can be used +# for ether f the eprint field is there) +$c->{datacite_mapping_type} = sub { + + my($xml, $dataobj, $repo, $value) = @_; + + my $pub_resourceType = $repo->get_conf("datacitedoi", "typemap", $value); + if (defined $pub_resourceType) { + return $xml->create_data_element("resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}); + } + + return undef; +}; + +$c->{datacite_mapping_data_type} = sub { + + my($xml, $dataobj, $repo, $value) = @_; + + return $xml->create_data_element("resourceType", $value, resourceTypeGeneral=>$value); +}; + +$c->{datacite_mapping_creators} = sub { + + my($xml, $dataobj, $repo, $value) = @_; + + my $creators = $xml->create_element("creators"); + + foreach my $name(@$value) { + my $author = $xml->create_element("creator"); + + my $name_str = EPrints::Utils::make_name_string($name->{name}); + + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; + + if ($family eq '' && $given eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("creatorName", $name_str)); + } + if ($given eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("givenName", $given)); + } + if ($family eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("familyName", $family)); + } + if ($dataobj->exists_and_set("creators_orcid")) { + + if ($orcid eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("nameIdentifier", $orcid, schemeURI =>"http://orcid.org/", nameIdentifierScheme=>"ORCID")); + } + } + + $creators->appendChild($author); + } + return $creators +}; + + +$c->{datacite_mapping_title} = sub { + my($xml, $dataobj, $repo, $value) = @_; + + + + my $titles = $xml->create_element("titles"); + $titles->appendChild($xml->create_data_element("title", $dataobj->render_value("title"), "xml:lang"=>"en-us")); + + + + + + + return $titles# of somedescription +}; + + + + + + +$c->{datacite_mapping_abstract} = sub { + my($xml, $dataobj, $repo, $value) = @_; + + my $abstract = $dataobj->get_value("abstract"); + my $description = $xml->create_element("descriptions"); + + $description->appendChild($xml->create_data_element("description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract")); + + if ($dataobj->exists_and_set("collection_method")) { + my $collection = $dataobj->get_value("collection_method"); + $description->appendChild($xml->create_data_element("description", $collection, descriptionType =>"Methods")); + } + + if ($dataobj->exists_and_set("provenance")) { + my $processing = $dataobj->get_value("provenance"); + $description->appendChild($xml->create_data_element("description", $processing, descriptionType =>"Methods")); + } + + + + + return $description# of somedescription +}; + + + + + + +$c->{datacite_mapping_date} = sub { + my ( $xml, $dataobj, $repo, $value ) = @_; + $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; + return $xml->create_data_element( "publicationYear", $1 ) if $1; + +}; + + +$c->{datacite_mapping_keywords} = sub { + my($xml, $dataobj, $repo, $value) = @_; + + if ($dataobj->exists_and_set("keywords")) { + my $subjects = $xml->create_element("subjects"); + my $keywords = $dataobj->get_value("keywords"); + if (ref($keywords) eq "ARRAY") { + foreach my $keyword(@$keywords) { + $subjects->appendChild($xml->create_data_element("subject", $keyword, "xml:lang"=>"en-us")); + } + return $subjects + + } else { + $subjects->appendChild($xml->create_data_element("subject", $keywords, "xml:lang"=>"en-us")); + return $subjects + } + } +}; + +$c->{datacite_mapping_geographic_cover} = sub { + my($xml, $dataobj, $repo, $value) = @_; + + my $geo_locations = $xml->create_element("geoLocations"); + my $geo_location = $xml->create_element("geoLocation"); + if ($dataobj->exists_and_set("geographic_cover")) { + + # + #Create XML elements + + # Get value of geographic_cover field and append to $geo_location XML element + my $geographic_cover = $dataobj->get_value("geographic_cover"); + $geo_location->appendChild($xml->create_data_element("geoLocationPlace", $geographic_cover)); + + # + # Get values of bounding box + my $west = $dataobj->get_value("bounding_box_west_edge"); + my $east = $dataobj->get_value("bounding_box_east_edge"); + my $south = $dataobj->get_value("bounding_box_south_edge"); + my $north = $dataobj->get_value("bounding_box_north_edge"); + + # + # Check to see + # if $north, $south, $east, or $west values are defined + if (defined $north && defined $south && defined $east && defined $west) {# + #Created $geo_location_box XML element + my $geo_location_box = $xml->create_element("geoLocationBox");# + #If $long / lat is defined, created XML element with the appropriate value + $geo_location_box->appendChild($xml->create_data_element("westBoundLongitude", $west)); + $geo_location_box->appendChild($xml->create_data_element("eastBoundLongitude", $east)); + $geo_location_box->appendChild($xml->create_data_element("southBoundLatitude", $south)); + $geo_location_box->appendChild($xml->create_data_element("northBoundLatitude", $north));# + #Append child $geo_location_box XML element to parent $geo_location XML element + $geo_location->appendChild($geo_location_box); + } + #Append child $geo_location XML element to parent $geo_locations XML element + $geo_locations->appendChild($geo_location); + #Append $geo_locations XML element to XML document# $entry - > appendChild($geo_locations); + } + + return $geo_locations; +}; + +$c->{datacite_mapping_funders} = sub { + my($xml, $dataobj, $repo, $value) = @_; + + + # + # if ($repo - >can_call("datacite_custom_funder")) {# + # return $repo - > call("datacite_custom_funder", $xml, $dataobj);# + # } + + my $funders = $dataobj->get_value("funders"); + my $grant = $dataobj->get_value("grant"); + my $projects = $dataobj->get_value("projects"); + if ($dataobj->exists_and_set("funders")) { + my $thefunders = $xml->create_element("funders"); + foreach my $funder(@$funders) { + foreach my $project(@$projects) { + $thefunders->appendChild($xml->create_data_element("funderName", $funder)); + $thefunders->appendChild($xml->create_data_element("awardNumber", $grant)); + } + } + return $thefunders; + } +}; + + + +$c->{datacite_mapping_rights} = sub { + my($xml, $dataobj, $repo, $value) = @_; + my $author = $xml->create_element("rightsList"); + + foreach my $doc($dataobj->get_all_documents()) { + + my $license = $doc->get_value("license"); + + if (defined $license && $license ne '') { + + if ($license eq "attached") { + + $author ->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI =>$doc->get_url)); + } else { + + my $licenseuri = $repo->phrase("licenses_uri_$license"); + $author->appendChild($xml->create_data_element("rights", $license, rightsURI =>$licenseuri)); + } + } + + + } + return $author; +}; + + + + + + +$c->{datacite_mapping_repo_link} = sub { + + my($xml, $entry, $dataobj) = @_; + + my $relatedIdentifiers = undef; + #default codein plugin (for reference) + # my $theurls = $dataobj->get_value( "repo_link" ); + # my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); + # foreach my $theurl ( @$theurls ) { + # my $linkk = $theurl->{link}; + # if (!$linkk eq ''){ + # $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); + # } + # } + + + return $relatedIdentifiers; + +}; diff --git a/lib/cfg.d/zz_datacite_mapping_overide.pl b/lib/cfg.d/zz_datacite_mapping_overide.pl new file mode 100644 index 0000000..7572748 --- /dev/null +++ b/lib/cfg.d/zz_datacite_mapping_overide.pl @@ -0,0 +1,28 @@ +$c->{datacite_mapping_funders} = sub { + + my($xml, $dataobj) = @_; + + if ($dataobj->exists_and_set("funders")) { + my $funders = $dataobj->get_value("funders"); + my $thefunders = $xml->create_element("fundingReferences"); + foreach my $funder(@$funders) { + my $author = $xml->create_element("fundingReference"); + my $fund = $funder->{funders}; + my $grant = $funder->{grant}; + my $others = $dataobj->get_value("funders_other_funder"); + if ($fund eq "other") { + foreach my $other(@$others) { + $author->appendChild($xml->create_data_element("funderName", $other)); + } + } else { + $author->appendChild($xml->create_data_element("funderName", $fund)); + } + + $author->appendChild($xml->create_data_element("awardNumber", $grant)); + + $thefunders->appendChild($author); + } + return $thefunders; + } + return undef; +}; diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm deleted file mode 100644 index 24eeb02..0000000 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ /dev/null @@ -1,295 +0,0 @@ -=head1 NAME -EPrints::Plugin::Export::DataCiteXML - -=cut - -package EPrints::Plugin::Export::DataCiteXML; -use EPrints::Plugin::Export::Feed; - -@ISA = ('EPrints::Plugin::Export::Feed'); - -use strict; - -use Data::Dumper; -sub new -{ - my ($class, %opts) = @_; - - my $self = $class->SUPER::new(%opts); - - $self->{name} = 'Data Cite XML'; - $self->{accept} = [ 'dataobj/eprint']; - $self->{visible} = 'all'; - $self->{suffix} = '.xml'; - $self->{mimetype} = 'application/xml; charset=utf-8'; - $self->{arguments}->{doi} = undef; - - return $self; -} - -sub output_dataobj -{ - my ($self, $dataobj, %opts) = @_; - - my $repo = $self->{repository}; - my $xml = $repo->xml; - - #reference the datacite schema from config - our $entry = $xml->create_element( "resource", - xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), - "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", - "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); - - #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line - - # AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists - # Ideally coining should NOT happen in this script but opts{doi} should have it - # but is always blank - my $thisdoi = $dataobj->get_value("id_number"); - #RM coin a DOI if either - # - not come via event or - # - no doi arg passed in via cmd_line - # ie when someone exports DataCiteXML from the Action tab - if(!defined $thisdoi){ - #nick the coining sub from event plugin - my $event = $repo->plugin("Event::DataCiteEvent"); - $thisdoi = $event->coin_doi($repo, $dataobj); - #coin_doi may return an event error code if no prefix present assume this is the case - my $prefix = $repo->get_conf( "datacitedoi", "prefix"); - return $thisdoi if($thisdoi !~ /^$prefix/); - } - $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - - foreach my $field ( $dataobj->{dataset}->get_fields ) - { - my $mapping_fn = "datacite_mapping_".$field->get_name; - if($repo->can_call($mapping_fn) && $dataobj->exists_and_set($field->get_name)){ - my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); - $entry->appendChild( $mapped_element ) if(defined $mapped_element); - } - } - - #RM extract licens from documents by some means: - my $license = undef; - if( $repo->can_call( "datacite_license" ) ){ - $license = $repo->call( "datacite_license", $xml, $entry, $dataobj, $repo ); - } - - - ########################################################################################################################################################################## - ################################# From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### - - - if ($dataobj->exists_and_set( "title" )) { - my $titles = $xml->create_element( "titles" ); - $titles->appendChild( $xml->create_data_element( "title", $dataobj->render_value( "title" ), "xml:lang"=>"en-us" ) ); - - $entry->appendChild( $titles ); - } - $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - - if ($dataobj->exists_and_set( "date" )) { - $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; - $entry->appendChild( $xml->create_data_element( "publicationYear", $1 ) ) if $1; - } - - # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. - # If the keywords field is a multiple - and therefore, an array ref - then - # iterate through array and make each array element its own element. - # Otherwise, if the keywords field is a single block of text, take the string - # and make it a single element - if ($dataobj->exists_and_set( "keywords" )) { - my $subjects = $xml->create_element( "subjects" ); - my $keywords = $dataobj->get_value("keywords"); - if(ref($keywords) eq "ARRAY") { - foreach my $keyword ( @$keywords ) { - $subjects->appendChild( $xml->create_data_element( "subject", $keyword, "xml:lang"=>"en-us") ); - } - - $entry->appendChild( $subjects ); - } else { - $subjects->appendChild( $xml->create_data_element( "subject", $keywords, "xml:lang"=>"en-us") ); - $entry->appendChild( $subjects ); - } - } - - # AH 16/12/2016: commenting out the creation of the element. This is because the - # DataCite 4.0 Schema requires a contributorType attribute, which needs to be mapped. According to - # https://schema.datacite.org/meta/kernel-4.0/doc/DataCite-MetadataKernel_v4.0.pdf (page 16), there - # is a controlled list of contributorType options and it would be advisable to alter the - # Recollect workflow to make use of this controlled list (e.g. a namedset of approved values) - # and then map the values from this field to the XML found below. - # Note: if you do not supply a contributorType, the coin DOI process will fail - # because the contributorType attribute is mandatory. As such, and because the parent - # element is not mandatory, it will be commented out and not sent to DataCite pending further work from ULCC. - - # if( $dataobj->exists_and_set( "contributors" ) ) - # { - # - # my $contributors = $xml->create_element( "contributors" ); - # - # my $names = $dataobj->get_value( "contributors" ); - # - # foreach my $name ( @$names ) - # { - # my $author = $xml->create_element( "contributor" ); - # - # my $name_str = EPrints::Utils::make_name_string( $name->{name}); - # - # my $orcid = $name->{orcid}; - # - # my $typee = $name->{type}; - # my $family = $name->{name}->{family}; - # my $given = $name->{name}->{given}; - # - # if ($family eq '' && $given eq ''){ - # $contributors->appendChild( $author ); - # } else { - # $author->appendChild( $xml->create_data_element("contributorName", $name_str ) ); - # } - - - # if ($given eq '') { - # $contributors->appendChild( $author ); - # } else { - # $author->appendChild( $xml->create_data_element("givenName",$given ) ); - # } - # if ($family eq ''){ - # $contributors->appendChild( $author ); - # } else { - # $author->appendChild( $xml->create_data_element("familyName", $family ) ); - # } - # - # if ($dataobj->exists_and_set( "contributors_orcid" )) { - # my $orcid = $name->{orcid}; - # if ($orcid eq '') { - # $contributors->appendChild( $author ); - # } else { - # $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - # } - # } - # if ($dataobj->exists_and_set( "contributors_affiliation" )) { - # my $affiliation = $dataobj->get_value("contributors_affiliation"); - # $author->appendChild( $xml->create_data_element("affillation", $affiliation) ); - # } - # $contributors->appendChild( $author ); - # } - # $entry->appendChild( $contributors ); - # } - - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called funderrr - if( $repo->can_call( "datacite_custom_funder" ) ){ - unless( defined( $repo->call( "datacite_custom_funder", $xml, $entry, $dataobj ) ) ){ - my $funders = $dataobj->get_value( "funders" ); - my $grant = $dataobj->get_value( "grant" ); - my $projects = $dataobj->get_value( "projects" ); - if ($dataobj->exists_and_set( "funders" )) { - my $thefunders = $xml->create_element( "funders" ); - foreach my $funder ( @$funders ){ - foreach my $project ( @$projects ){ - $thefunders->appendChild( $xml->create_data_element( "funderName", $funder) ); - $thefunders->appendChild( $xml->create_data_element( "awardNumber", $grant) ); - } - } - $entry->appendChild( $thefunders ); - } - } - } - - if ($dataobj->exists_and_set( "repo_link" )) { - -# RelatedIdentifier should be more careful in identifying the relationType so we will revisit after more input from the DataCite community probably for milestone 1.3 - -# #If we have a custom override -# if( $repo->can_call( "datacite_custom_repo_link" ) ){ -# my $relatedIdentifiers = $repo->call( "datacite_custom_repo_link", $xml, $entry, $dataobj ); -# $entry->appendChild( $relatedIdentifiers ) if (defined $relatedIdentifiers); -# #default action -# }else{ -# my $theurls = $dataobj->get_value( "repo_link" ); -# my $relatedIdentifiers = $xml->create_element( "relatedIdentifiers" ); -# foreach my $theurl ( @$theurls ) { -# my $linkk = $theurl->{link}; -# if (!$linkk eq ''){ -# $relatedIdentifiers->appendChild( $xml->create_data_element( "relatedIdentifier", $linkk, relatedIdentifierType=>"URL", relationType=>"IsReferencedBy" ) ); -# } -# $entry->appendChild( $relatedIdentifiers ); -# } -# } - } - - if ($dataobj->exists_and_set( "abstract" )) { - - my $abstract = $dataobj->get_value( "abstract" ); - my $description = $xml->create_element( "descriptions" ); - - $description->appendChild( $xml->create_data_element( "description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract" ) ); - - if ($dataobj->exists_and_set( "collection_method" )) { - my $collection = $dataobj->get_value("collection_method"); - $description->appendChild( $xml->create_data_element("description", $collection, descriptionType=>"Methods")); - } - - if ($dataobj->exists_and_set( "provenance" )) { - my $processing = $dataobj->get_value("provenance"); - $description->appendChild( $xml->create_data_element("description", $processing, descriptionType=>"Methods")); - } - - $entry->appendChild( $description ); - } - - #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages - if( $repo->can_call( "datacite_custom_language" ) ){ - unless( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ){ - if ($dataobj->exists_and_set( "language" )) { - my $lan = $dataobj->get_value( "language" ); - $entry->appendChild( $xml->create_data_element( "language", $lan) ); - } - } - } - - # AH 16/11/2016: rendering the geoLocations XML elements - # Note: the initial conditional checks to see if the geographic_cover - # metadata field exists and is set. This was done because geographic_cover - # is part of the z_recollect_metadata_profile.pl file within the Recollect - # plugin and many repositories make it a mandatory field in the workflow. - - if( $dataobj->exists_and_set( "geographic_cover" ) ) { - - #Create XML elements - my $geo_locations = $xml->create_element( "geoLocations" ); - my $geo_location = $xml->create_element( "geoLocation" ); - - # Get value of geographic_cover field and append to $geo_location XML element - my $geographic_cover = $dataobj->get_value( "geographic_cover" ); - $geo_location->appendChild( $xml->create_data_element("geoLocationPlace", $geographic_cover ) ); - - # Get values of bounding box - my $west = $dataobj->get_value( "bounding_box_west_edge" ); - my $east = $dataobj->get_value( "bounding_box_east_edge" ); - my $south = $dataobj->get_value( "bounding_box_south_edge" ); - my $north = $dataobj->get_value( "bounding_box_north_edge" ); - - # Check to see if $north, $south, $east, or $west values are defined - if (defined $north && defined $south && defined $east && defined $west ) { - # Created $geo_location_box XML element - my $geo_location_box = $xml->create_element( "geoLocationBox" ); - # If $long/lat is defined, created XML element with the appropriate value - $geo_location_box->appendChild( $xml->create_data_element( "westBoundLongitude", $west) ); - $geo_location_box->appendChild( $xml->create_data_element( "eastBoundLongitude", $east) ); - $geo_location_box->appendChild( $xml->create_data_element( "southBoundLatitude", $south) ); - $geo_location_box->appendChild( $xml->create_data_element( "northBoundLatitude", $north) ); - # Append child $geo_location_box XML element to parent $geo_location XML element - $geo_location->appendChild( $geo_location_box ); - } - # Append child $geo_location XML element to parent $geo_locations XML element - $geo_locations->appendChild( $geo_location ); - # Append $geo_locations XML element to XML document - $entry->appendChild( $geo_locations ); - } - - return ''."\n".$xml->to_string($entry); -} - - -1; diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm new file mode 120000 index 0000000..32f29e5 --- /dev/null +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -0,0 +1 @@ +/home/thething/eprints/relrdgdr/eprints3/lib/epm/DataCiteDoi/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm \ No newline at end of file From c5454f766dfaabe92f4c2534c0cf525e82ab2f9a Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Tue, 19 Sep 2017 18:16:31 +0100 Subject: [PATCH 037/107] rationalisation of field render code --- .../EPrints/Plugin/Export/DataCiteXML.pm | 140 +++++++++++++++++- 1 file changed, 139 insertions(+), 1 deletion(-) mode change 120000 => 100644 lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm deleted file mode 120000 index 32f29e5..0000000 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ /dev/null @@ -1 +0,0 @@ -/home/thething/eprints/relrdgdr/eprints3/lib/epm/DataCiteDoi/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm \ No newline at end of file diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm new file mode 100644 index 0000000..a97d420 --- /dev/null +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -0,0 +1,139 @@ +=head1 NAME +EPrints::Plugin::Export::DataCiteXML +=cut + +package EPrints::Plugin::Export::DataCiteXML; +use EPrints::Plugin::Export::Feed; + +@ISA = ('EPrints::Plugin::Export::Feed'); + +use strict; + +use Data::Dumper; +sub new +{ + my ($class, %opts) = @_; + + my $self = $class->SUPER::new(%opts); + + $self->{name} = 'Data Cite XML'; + $self->{accept} = [ 'dataobj/eprint']; + $self->{visible} = 'all'; + $self->{suffix} = '.xml'; + $self->{mimetype} = 'application/xml; charset=utf-8'; + $self->{arguments}->{doi} = undef; + + return $self; +} + +sub output_dataobj +{ + my ($self, $dataobj, %opts) = @_; + + my $repo = $self->{repository}; + my $xml = $repo->xml; + + #reference the datacite schema from config + our $entry = $xml->create_element( "resource", + xmlns=> $repo->get_conf( "datacitedoi", "xmlns"), + "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", + "xsi:schemaLocation" => $repo->get_conf( "datacitedoi", "schemaLocation")); + + #RM We pass in the DOI from Event::DataCite... or from --args on the cmd line + + # AH my $thisdoi = $opts{doi}; always returns undefined, even when DOI exists + # Ideally coining should NOT happen in this script but opts{doi} should have it + # but is always blank + my $thisdoi = $dataobj->get_value("id_number"); + #RM coin a DOI if either + # - not come via event or + # - no doi arg passed in via cmd_line + # ie when someone exports DataCiteXML from the Action tab + if(!defined $thisdoi){ + #nick the coining sub from event plugin + my $event = $repo->plugin("Event::DataCiteEvent"); + $thisdoi = $event->coin_doi($repo, $dataobj); + #coin_doi may return an event error code if no prefix present assume this is the case + my $prefix = $repo->get_conf( "datacitedoi", "prefix"); + return $thisdoi if($thisdoi !~ /^$prefix/); + } + $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); + + foreach my $field ( $dataobj->{dataset}->get_fields ) + { + my $mapping_fn = "datacite_mapping_".$field->get_name; + if($repo->can_call($mapping_fn) && $dataobj->exists_and_set($field->get_name)){ + my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); + print STDERR "MAPPED E: ".$mapped_element."\n"; + $entry->appendChild( $mapped_element ) if(defined $mapped_element); + } + } + + #RM extract licens from documents by some means: + # my $license = undef; + # if( $repo->can_call( "datacite_license" ) ){ + # $license = $repo->call( "datacite_license", $xml, $entry, $dataobj, $repo ); + # } + + + ########################################################################################################################################################################## + ################################# From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### + + + + + # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. + # If the keywords field is a multiple - and therefore, an array ref - then + # iterate through array and make each array element its own element. + # Otherwise, if the keywords field is a single block of text, take the string + # and make it a single element + + + # AH 16/12/2016: commenting out the creation of the element. This is because the + # DataCite 4.0 Schema requires a contributorType attribute, which needs to be mapped. According to + # https://schema.datacite.org/meta/kernel-4.0/doc/DataCite-MetadataKernel_v4.0.pdf (page 16), there + # is a controlled list of contributorType options and it would be advisable to alter the + # Recollect workflow to make use of this controlled list (e.g. a namedset of approved values) + # and then map the values from this field to the XML found below. + # Note: if you do not supply a contributorType, the coin DOI process will fail + # because the contributorType attribute is mandatory. As such, and because the parent + # element is not mandatory, it will be commented out and not sent to DataCite pending further work from ULCC. + + + + + + + + + if ($dataobj->exists_and_set( "repo_link" )) { + + + + } + + + + # #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages + # if( $repo->can_call( "datacite_custom_language" ) ){ + # unless( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ){ + # if ($dataobj->exists_and_set( "language" )) { + # my $lan = $dataobj->get_value( "language" ); + # $entry->appendChild( $xml->create_data_element( "language", $lan) ); + # } + # } + # } + + # AH 16/11/2016: rendering the geoLocations XML elements + # Note: the initial conditional checks to see if the geographic_cover + # metadata field exists and is set. This was done because geographic_cover + # is part of the z_recollect_metadata_profile.pl file within the Recollect + # plugin and many repositories make it a mandatory field in the workflow. + + + + return ''."\n".$xml->to_string($entry); +} + + +1; From 4808185152ec72accfc3cda124cacc3ca297bf61 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Tue, 19 Sep 2017 18:19:14 +0100 Subject: [PATCH 038/107] remove uneeded file --- lib/cfg.d/zzz_datacite_mapping.pl | 83 ------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 lib/cfg.d/zzz_datacite_mapping.pl diff --git a/lib/cfg.d/zzz_datacite_mapping.pl b/lib/cfg.d/zzz_datacite_mapping.pl deleted file mode 100644 index 491c928..0000000 --- a/lib/cfg.d/zzz_datacite_mapping.pl +++ /dev/null @@ -1,83 +0,0 @@ -#################################################### -# New architecture for print => datacite mapping -#################################################### - -#These first two both map to resourceType (and resourceTypeGeneral) the first is for pubs repos the second for data (but either can be used for ether f the eprint field is there) -$c->{datacite_mapping_type} = sub { - - my ( $xml, $dataobj, $repo, $value ) = @_; - - my $pub_resourceType = $repo->get_conf( "datacitedoi", "typemap", $value ); - if(defined $pub_resourceType){ - return $xml->create_data_element( "resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}); - } - - return undef; -}; - -$c->{datacite_mapping_data_type} = sub { - - my ( $xml, $dataobj, $repo, $value ) = @_; - - return $xml->create_data_element( "resourceType", $value, resourceTypeGeneral=>$value); -}; - -$c->{datacite_mapping_creators} = sub { - - my ( $xml, $dataobj, $repo, $value ) = @_; - - my $creators = $xml->create_element( "creators" ); - - foreach my $name ( @$value ){ - my $author = $xml->create_element( "creator" ); - - my $name_str = EPrints::Utils::make_name_string( $name->{name}); - - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - my $orcid = $name->{orcid}; - - if ($family eq '' && $given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("creatorName", $name_str ) ); - } - if ($given eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("givenName",$given ) ); - } - if ($family eq ''){ - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("familyName", $family ) ); - } - if ($dataobj->exists_and_set( "creators_orcid" )) { - - if ($orcid eq '') { - $creators->appendChild( $author ); - } else { - $author->appendChild( $xml->create_data_element("nameIdentifier", $orcid, schemeURI=>"http://orcid.org/", nameIdentifierScheme=>"ORCID" ) ); - } - } - - $creators->appendChild( $author ); - } - return $creators -}; - -=comment - -$c->{datacite_mapping_somefield} = sub { - - - my ( $xml, $dataobj, $repo, $value ) = @_; - - #Do the mapping/validation here.... - - return $xml #of somedescription - - -} - -=cut From 2cb2ba86d3316c5e7e0aef5b4db9feb246a052ee Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Tue, 19 Sep 2017 18:22:42 +0100 Subject: [PATCH 039/107] removing uneeded file --- lib/cfg.d/zz_datacite_mapping_overide.pl | 28 ------------------------ 1 file changed, 28 deletions(-) delete mode 100644 lib/cfg.d/zz_datacite_mapping_overide.pl diff --git a/lib/cfg.d/zz_datacite_mapping_overide.pl b/lib/cfg.d/zz_datacite_mapping_overide.pl deleted file mode 100644 index 7572748..0000000 --- a/lib/cfg.d/zz_datacite_mapping_overide.pl +++ /dev/null @@ -1,28 +0,0 @@ -$c->{datacite_mapping_funders} = sub { - - my($xml, $dataobj) = @_; - - if ($dataobj->exists_and_set("funders")) { - my $funders = $dataobj->get_value("funders"); - my $thefunders = $xml->create_element("fundingReferences"); - foreach my $funder(@$funders) { - my $author = $xml->create_element("fundingReference"); - my $fund = $funder->{funders}; - my $grant = $funder->{grant}; - my $others = $dataobj->get_value("funders_other_funder"); - if ($fund eq "other") { - foreach my $other(@$others) { - $author->appendChild($xml->create_data_element("funderName", $other)); - } - } else { - $author->appendChild($xml->create_data_element("funderName", $fund)); - } - - $author->appendChild($xml->create_data_element("awardNumber", $grant)); - - $thefunders->appendChild($author); - } - return $thefunders; - } - return undef; -}; From d5659f9a0a6e3753881047e722d6ad3f0cd37c78 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Tue, 19 Sep 2017 18:27:08 +0100 Subject: [PATCH 040/107] updating Datacitexml file --- .../EPrints/Plugin/Export/DataCiteXML.pm | 63 +------------------ 1 file changed, 1 insertion(+), 62 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index a97d420..dbf5146 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -64,72 +64,11 @@ sub output_dataobj my $mapping_fn = "datacite_mapping_".$field->get_name; if($repo->can_call($mapping_fn) && $dataobj->exists_and_set($field->get_name)){ my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); - print STDERR "MAPPED E: ".$mapped_element."\n"; $entry->appendChild( $mapped_element ) if(defined $mapped_element); } } - #RM extract licens from documents by some means: - # my $license = undef; - # if( $repo->can_call( "datacite_license" ) ){ - # $license = $repo->call( "datacite_license", $xml, $entry, $dataobj, $repo ); - # } - - - ########################################################################################################################################################################## - ################################# From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### - - - - - # AH 03/11/2016: mapping the data in the EPrints keywords field to a tag. - # If the keywords field is a multiple - and therefore, an array ref - then - # iterate through array and make each array element its own element. - # Otherwise, if the keywords field is a single block of text, take the string - # and make it a single element - - - # AH 16/12/2016: commenting out the creation of the element. This is because the - # DataCite 4.0 Schema requires a contributorType attribute, which needs to be mapped. According to - # https://schema.datacite.org/meta/kernel-4.0/doc/DataCite-MetadataKernel_v4.0.pdf (page 16), there - # is a controlled list of contributorType options and it would be advisable to alter the - # Recollect workflow to make use of this controlled list (e.g. a namedset of approved values) - # and then map the values from this field to the XML found below. - # Note: if you do not supply a contributorType, the coin DOI process will fail - # because the contributorType attribute is mandatory. As such, and because the parent - # element is not mandatory, it will be commented out and not sent to DataCite pending further work from ULCC. - - - - - - - - - if ($dataobj->exists_and_set( "repo_link" )) { - - - - } - - - - # #BF this is a can call which checks and calls for a sub inside the z_datacitedoi called laaanguages - # if( $repo->can_call( "datacite_custom_language" ) ){ - # unless( defined( $repo->call( "datacite_custom_language", $xml, $entry, $dataobj ) ) ){ - # if ($dataobj->exists_and_set( "language" )) { - # my $lan = $dataobj->get_value( "language" ); - # $entry->appendChild( $xml->create_data_element( "language", $lan) ); - # } - # } - # } - - # AH 16/11/2016: rendering the geoLocations XML elements - # Note: the initial conditional checks to see if the geographic_cover - # metadata field exists and is set. This was done because geographic_cover - # is part of the z_recollect_metadata_profile.pl file within the Recollect - # plugin and many repositories make it a mandatory field in the workflow. - +####### From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### return ''."\n".$xml->to_string($entry); From 5a2ab4dbf2230e47256b4578a6ff12a163388179 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Wed, 20 Sep 2017 16:30:10 +0100 Subject: [PATCH 041/107] updated epmi --- DataCiteDoi.epmi | 2236 +--------------------------------------------- 1 file changed, 41 insertions(+), 2195 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index b428993..626d016 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,2244 +1,89 @@ - + DataCiteDoi http://clean.ep.devorkin:8082/id/epm/DataCiteDoi - epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl - text/plain - 0c377ff85542d00cb774d1ec0844a21d - MD5 - 4983 - I0VuYWJsZSB0aGUgcGx1Z2luCiRjLT57cGx1Z2luc317IkV4cG9ydDo6RGF0YUNpdGVYTUwifXtw -YXJhbXN9e2Rpc2FibGV9ID0gMDsKJGMtPntwbHVnaW5zfXsiRXZlbnQ6OkRhdGFDaXRlRXZlbnQi -fXtwYXJhbXN9e2Rpc2FibGV9ID0gMDsKCiN3aGljaCBmaWVsZCBkbyB1c2UgZm9yIHRoZSBkb2kK -JGMtPntkYXRhY2l0ZWRvaX17ZXByaW50ZG9pZmllbGR9ID0gImlkX251bWJlciI7CgojV2hlbiBz -aG91bGQgeW91IHJlZ2lzdGVyL3VwZGF0ZSBkb2kgaW5mby4KJGMtPntkYXRhY2l0ZWRvaX17ZXBy -aW50c3RhdHVzfSA9IHtpbmJveD0+MCxidWZmZXI9PjEsYXJjaGl2ZT0+MSxkZWxldGlvbj0+MH07 -Cgojc2V0IHRoZXNlICh5b3Ugd2lsbCBnZXQgdGhlIGZyb20gZGF0YSBzaXRlKQojIGRvaSA9IHtw -cmVmaXh9L3tyZXBvaWR9L3tlcHJpbnRpZH0KJGMtPntkYXRhY2l0ZWRvaX17cHJlZml4fSA9ICIx -MC41MDcyIjsKJGMtPntkYXRhY2l0ZWRvaX17cmVwb2lkfSA9ICRjLT57aG9zdH07CiRjLT57ZGF0 -YWNpdGVkb2l9e2FwaXVybH0gPSAiaHR0cHM6Ly90ZXN0LmRhdGFjaXRlLm9yZy9tZHMvIjsKJGMt -PntkYXRhY2l0ZWRvaX17dXNlcn0gPSAiVVNFUiI7CiRjLT57ZGF0YWNpdGVkb2l9e3Bhc3N9ID0g -IlBBU1MiOwoKIyBkYXRhY2l0ZSByZXF1aXJlcyBhIFB1Ymxpc2hlciAKIyBUaGUgbmFtZSBvZiB0 -aGUgZW50aXR5IHRoYXQgaG9sZHMsIGFyY2hpdmVzLCBwdWJsaXNoZXMsIAojIHByaW50cywgZGlz -dHJpYnV0ZXMsIHJlbGVhc2VzLCBpc3N1ZXMsIG9yIHByb2R1Y2VzIHRoZSAKIyByZXNvdXJjZS4g -VGhpcyBwcm9wZXJ0eSB3aWxsIGJlIHVzZWQgdG8gZm9ybXVsYXRlIHRoZSAKIyBjaXRhdGlvbiwg -c28gY29uc2lkZXIgdGhlIHByb21pbmVuY2Ugb2YgdGhlIHJvbGUuCiMgZWcgV29ybGQgRGF0YSBD -ZW50ZXIgZm9yIENsaW1hdGUgKFdEQ0MpOyAJCiRjLT57ZGF0YWNpdGVkb2l9e3B1Ymxpc2hlcn0g -PSAiRXByaW50cyBSZXBvIjsKCiMgTmFtZXNwYWNlIGFuZCBsb2NhdGlvbiBmb3IgZGF0YWNpdGUg -WE1MIHNjaGVtYQojIGZlZWwgZnJlZSB0byB1cGRhdGUsIHRob3VnaCBubyBndWFyYW50ZWVzIGl0 -J2xsIGJlIGFjY2VwdGVkIGlmIHlvdSBkbwokYy0+e2RhdGFjaXRlZG9pfXt4bWxuc30gPSAiaHR0 -cDovL2RhdGFjaXRlLm9yZy9zY2hlbWEva2VybmVsLTIuMiI7CiRjLT57ZGF0YWNpdGVkb2l9e3Nj -aGVtYUxvY2F0aW9ufSA9ICRjLT57ZGF0YWNpdGVkb2l9e3htbG5zfS4iIGh0dHA6Ly9zY2hlbWEu -ZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTIuMi9tZXRhZGF0YS54c2QiOwoKIyBuZWVkIHRvIG1h -cCBlcHJpbnQgdHlwZSAoYXJ0aWNsZSwgZGF0YXNldCBldGMpIHRvIFJlc291cmNlVHlwZQojIENv -bnRyb2xlZCBsaXN0IGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTIuMi9k -b2MvRGF0YUNpdGUtTWV0YWRhdGFLZXJuZWxfdjIuMi5wZGYKIyB3aGVyZSB2IGlzIHRoZSBSZXNv -dXJjZVR5cGUgYW5kIGEgaXMgdGhlIHJlc291cmNlVHlwZUdlbmVyYWwKJGMtPntkYXRhY2l0ZWRv -aX17dHlwZW1hcH17YXJ0aWNsZX0gPSB7dj0+J0FydGljbGUnLGE9PidUZXh0J307CiRjLT57ZGF0 -YWNpdGVkb2l9e3R5cGVtYXB9e2Jvb2tfc2VjdGlvbn0gPSB7dj0+J0Jvb2tTZWN0aW9uJyxhPT4n -VGV4dCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXttb25vZ3JhcGh9ID0ge3Y9PidNb25v -Z3JhcGgnLGE9PidUZXh0J307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e3RoZXNpc30gPSB7 -dj0+J1RoZXNpcycsYT0+J1RleHQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17Ym9va30g -PSB7dj0+J0Jvb2snLGE9PidUZXh0J307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e3BhdGVu -dH0gPSB7dj0+J1BhdGVudCcsYT0+J1RleHQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17 -YXJ0ZWZhY3R9ID0ge3Y9PidBcnRlZmFjdCcsYT0+J1BoeXNpY2FsT2JqZWN0J307CiRjLT57ZGF0 -YWNpdGVkb2l9e3R5cGVtYXB9e3BlcmZvcm1hbmNlfSA9IHt2PT4nUGVyZm9ybWFuY2UnLGE9PidF -dmVudCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXtjb21wb3NpdGlvbn0gPSB7dj0+J0Nv -bXBvc2l0aW9uJyxhPT4nU291bmQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17aW1hZ2V9 -ID0ge3Y9PidJbWFnZScsYT0+J0ltYWdlJ307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e2V4 -cGVyaW1lbnR9ID0ge3Y9PidFeHBlcmltZW50JyxhPT4nVGV4dCd9OwokYy0+e2RhdGFjaXRlZG9p -fXt0eXBlbWFwfXt0ZWFjaGluZ19yZXNvdXJjZX0gPSB7dj0+J1RlYWNoaW5nUmVzb3Vyc2UnLGE9 -PidJbnRlcmFjdGl2ZVJlc291cmNlJ307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e290aGVy -fSA9IHt2PT4nTWlzYycsYT0+J0NvbGxlY3Rpb24nfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1h -cH17ZGF0YXNldH0gPSB7dj0+J0RhdGFzZXQnLGE9PidEYXRhc2V0J307CiRjLT57ZGF0YWNpdGVk -b2l9e3R5cGVtYXB9e2F1ZGlvfSA9IHt2PT4nQXVkaW8nLGE9PidTb3VuZCd9OwokYy0+e2RhdGFj -aXRlZG9pfXt0eXBlbWFwfXt2aWRlb30gPSB7dj0+J1ZpZGVvJyxhPT4nRmlsbSd9OwoKIyMjIyMj -IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMjIyMgRE9JIHN5bnRheCBjb25maWcgIyMjIwojIyMjIyMj -IyMjIyMjIyMjIyMjIyMjIyMjIyMKCiMgU2V0IGNvbmZpZyBvZiBET0kgZGVsaW1pdGVycyAKIyBG -ZWVsIGZyZWUgdG8gY2hhbmdlLCBidXQgdGhleSBtdXN0IGNvbmZvcm0gdG8gRE9JIHN5bnRheAoj -IElmIG5vdCBzZXQgd2lsbCBkZWZhdWx0IHRvIHByZWZpeC9yZXBvaWQvaWQgdGhlIGV4YW1wbGUg -YmVsb3cgZ2l2ZXMgcHJlZml4L3JlcG9pZC5pZAokYy0+e2RhdGFjaXRlZG9pfXtkZWxpbWl0ZXJz -fSA9IFsiLyIsIi4iXTsKCiMgSWYgc2V0LCBwbHVnaW4gd2lsbCBhdHRlbXB0IHRvIHJlZ2lzdGVy -IHdoYXQgaXMgZm91bmQgaW4gdGhlIEVQIERPSSBmaWVsZCAoJGMtPntkYXRhY2l0ZWRvaX17ZXBy -aW50ZG9pZmllbGR9KQojIFdpbGwgb25seSB3b3JrIGlmIHdoYXQgaXMgZm91bmQgYWRoZXJlcyB0 -byBET0kgc3ludGF4IHJ1bGVzIChvYnZpb3Vsc3kpCiRjLT57ZGF0YWNpdGVkb2l9e2FsbG93X2N1 -c3RvbV9kb2l9ID0gMDsKCiNEYXRhY2l0ZSByZWNvbW1lbmQgZGlnaXRzIG9mIGxlbmd0aCA4LTEw -IHNldCB0aGlzIHBhcmFtIHRvIHBhZCB0aGUgaWQgdG8gcmVxdWlyZWQgbGVuZ3RoCiRjLT57ZGF0 -YWNpdGVkb2l9e3plcm9fcGFkZGluZ30gPSA4OwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj -IyMjIyMjIyMjIyMjIyMjCiMjIyBPdmVycmlkZSB3aGljaCBVUkwgZ2V0cyByZWdpc3RlcmVkICMj -IwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiNPbmx5IHVzZWZ1 -bCBmb3IgdGVzdGluZyBmcm9tICJ3cm9uZyIgZG9tYWluIChlZyBhbiB1bnJlZ2lzdGVyZWQgdGVz -dCBzZXJ2ZXIpIHNob3VsZCBiZSB1bmRlZiBmb3Igbm9ybWFsIG9wZXJhdGlvbgokYy0+e2RhdGFj -aXRlZG9pfXtvdmVycmlkZV91cmx9ID0gdW5kZWY7CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj -IwojIyMjIyBXaGVuIHRvIGNvaW4gPyAjIyMjIwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK -I0lmIGF1dG9fY29pbiBpcyBzZXQgRE9JcyB3aWxsIGJlIG1pbnRlZCBvbiBTdGF0dXMgY2hhbmdl -IChwcm92aWRlZCBhbGwgZWxzZSBpcyB3ZWxsKQokYy0+e2RhdGFjaXRlZG9pfXthdXRvX2NvaW59 -ID0gMDsKI0lmIGFjdGlvbl9jb2luIGlzIHNldCB0aGVuIGEgYnV0dG9uIHdpbGwgYmUgZGlzcGxh -eWVkIHVuZGVyIGFjdGlvbiB0YWIgKGZvciBzdGFmZikgdG8gbWludCBET0lzIG9uIGFuIGFkaG9j -IGJhc2lzCiRjLT57ZGF0YWNpdGVkb2l9e2FjdGlvbl9jb2lufSA9IDE7CgojIE5CIHNldHRpbmcg -YXV0b19jb2luIHJlbmRlcnMgYWN0aW9uIGNvaW4gcmVkdW5kYW50IGFzIG9ubHkgcHVibGlzaGVk -IGl0ZW1zIGNhbiBiZSByZWdpc3RlcmVkCgojIyMjIyMjIEZvcm1lcmx5IGluIGNmZy5kL2RhdGFj -aXRlX2NvcmUucGwgIyMjIyMjIyMjCgojIEluY2x1ZGluZyBkYXRhY2l0ZV9jb3JlLnBsIGJlbG93 -IGFzIHdlIGNhbiBtYWtlIHNvbWUgdXNlZnVsIGRlY2lzaW9ucyBiYXNlZCBvbiB0aGUgYWJvdmUg -Y29uZmlnLgoKIyMgQWRkcyB0aGUgbWludGluZyBwbHVnaW4gdG8gdGhlIEVQX1RSSUdHRVJfU1RB -VFVTX0NIQU5HRQppZigkYy0+e2RhdGFjaXRlZG9pfXthdXRvX2NvaW59KXsKCSRjLT5hZGRfZGF0 -YXNldF90cmlnZ2VyKCAiZXByaW50IiwgRVBfVFJJR0dFUl9TVEFUVVNfQ0hBTkdFICwgc3ViIHsK -ICAgICAgIG15ICggJXBhcmFtcyApID0gQF87CgogICAgICAgbXkgJHJlcG9zaXRvcnkgPSAlcGFy -YW1zLT57cmVwb3NpdG9yeX07CiAKICAgICAgIHJldHVybiB1bmRlZiBpZiAoIWRlZmluZWQgJHJl -cG9zaXRvcnkpOwoJCgkJaWYgKGRlZmluZWQgJXBhcmFtcy0+e2RhdGFvYmp9KSB7CgkJCW15ICRk -YXRhb2JqID0gJXBhcmFtcy0+e2RhdGFvYmp9OwoJCQlteSAkZXByaW50X2lkID0gJGRhdGFvYmot -PmlkOwoJCQkkcmVwb3NpdG9yeS0+ZGF0YXNldCggImV2ZW50X3F1ZXVlIiApLT5jcmVhdGVfZGF0 -YW9iaih7CgkJCQlwbHVnaW5pZCA9PiAiRXZlbnQ6OkRhdGFDaXRlRXZlbnQiLAoJCQkJYWN0aW9u -ID0+ICJkYXRhY2l0ZV9kb2kiLAoJCQkJcGFyYW1zID0+IFskZGF0YW9iai0+aW50ZXJuYWxfdXJp -XSwKCQkJfSk7CiAgICAgCX0KIAoJfSk7Cn0KCiMgQWN0aXZhdGUgYW4gYWN0aW9uIGJ1dHRvbiwg -dGhlIHBsdWdpbiBmb3Igd2hjaWggaXMgYXQKIyAvcGx1Z2lucy9FUHJpbnRzL1BsdWdpbi9TY3Jl -ZW4vRVByaW50L1N0YWZmL0NvaW5ET0kucG0KaWYoJGMtPntkYXRhY2l0ZWRvaX17YWN0aW9uX2Nv -aW59KXsKIAkkYy0+e3BsdWdpbnN9eyJTY3JlZW46OkVQcmludDo6U3RhZmY6OkNvaW5ET0kifXtw -YXJhbXN9e2Rpc2FibGV9ID0gMDsKfQoK - - - + document lang/en/phrases/coinDOI.xml application/xml ea8da6c0e471cea13c5b573d115cbbe8 MD5 641 - PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSIgc3RhbmRhbG9uZT0ibm8i -ID8+CjwhRE9DVFlQRSBwaHJhc2VzIFNZU1RFTSAiZW50aXRpZXMuZHRkIj4KCjxlcHA6cGhyYXNl -cyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6ZXBwPSJodHRwOi8v -ZXByaW50cy5vcmcvZXAzL3BocmFzZSI+CiAgICA8ZXBwOnBocmFzZSBpZD0iUGx1Z2luL1NjcmVl -bi9FUHJpbnQvU3RhZmYvQ29pbkRPSTphY3Rpb246Y29pbmRvaTpkZXNjcmlwdGlvbiI+VGhpcyB3 -aWxsIGFkZCBhIGNvaW4tRE9JIGV2ZW50IHRvIHRoZSBldmVudCBxdWV1ZSAoaS5lLiBXaWxsIG5v -dCBoYXBwZW4gaW1tZWRpYXRlbHkpPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9IlBs -dWdpbi9TY3JlZW4vRVByaW50L1N0YWZmL0NvaW5ET0k6YWN0aW9uOmNvaW5kb2k6dGl0bGUiPkNv -aW4gRE9JPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9IlBsdWdpbi9TY3JlZW4vRVBy -aW50L1N0YWZmL0NvaW5ET0k6Y29pbmluZ2RvaSI+VGhpcyBpdGVtIHdpbGwgaGF2ZSBhIERPSSBj -b2luZWQgd2hlbiB0aGUgaW5kZXhlciBnZXRzIGFyb3VuZCB0byBpdC48L2VwcDpwaHJhc2U+Cgo8 -L2VwcDpwaHJhc2VzPgo= - + document + static/images/epm/datacitedoi.png + image/png + 14e9e2be0a73f452533488634aaea66e + MD5 + 101504 + + + document plugins/EPrints/Plugin/Event/DataCiteEvent.pm text/plain - 0dad25fd1105d06d4da2560feea39545 + 3fe07ce4a3a6e765b647b16118cc23f2 MD5 - 5220 - PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6RXZlbnQ6OkRhdGFDaXRlRXZlbnQKCj1jdXQK -CnBhY2thZ2UgRVByaW50czo6UGx1Z2luOjpFdmVudDo6RGF0YUNpdGVFdmVudDsKIAp1c2UgRVBy -aW50czo6UGx1Z2luOjpFdmVudDsKdXNlIExXUDsKdXNlIENyeXB0OjpTU0xlYXk7CnVzZSBIVFRQ -OjpIZWFkZXJzOjpVdGlsOwoKQElTQSA9IHF3KCBFUHJpbnRzOjpQbHVnaW46OkV2ZW50ICk7CiAK -c3ViIGRhdGFjaXRlX2RvaQogewogICAgICAgbXkoICRzZWxmLCAkZGF0YW9iaikgPSBAXzsKCgkJ -bXkgJHJlcG9zaXRvcnkgPSAkc2VsZi0+cmVwb3NpdG9yeSgpOwoJCgkJI0NoZWNrIG9iamVjdCBz -dGF0dXMgZmlyc3QuLi4uIFRPRE8gTWFrZSB3b3JrIGZvciBkYXRhb2JqID09IGRvdW1lbnQgKGp1 -c3QgaW4gY2FzZSkKCQlteSAkc2hvdWxkZG9pID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0 -YWNpdGVkb2kiLCAiZXByaW50c3RhdHVzIiwgICRkYXRhb2JqLT52YWx1ZSggImVwcmludF9zdGF0 -dXMiICkpOwkKCQkjQ2hlY2sgRG9pIFN0YXR1cwoJCWlmKCEkc2hvdWxkZG9pKXsgCgkJCSRyZXBv -c2l0b3J5LT5sb2coIkF0dGVtcHQgdG8gY29pbiBET0kgZm9yIGl0ZW0gdGhhdCBpcyBub3QgaW4g -dGhlIHJlcXVpcmVkIGFyZWEgKHNlZSBcJGMtPntkYXRhY2l0ZWRvaX0tPntlcHJpbnRzdGF0dXN9 -KSIpOwoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9S -OwoJCX0JCgoJCW15ICR0aGlzZG9pID0gJHNlbGYtPmNvaW5fZG9pKCRyZXBvc2l0b3J5LCRkYXRh -b2JqKTsKCQkjY29pbl9kb2kgbWF5IHJldHVybiBhbiBldmVudCBlcnJvciBjb2RlIGlmIG5vIHBy -ZWZpeCBwcmVzZW50IGFzc3VtZSB0aGlzIGlzIHRoZSBjYXNlCgkJbXkgJHByZWZpeCA9ICRyZXBv -c2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInByZWZpeCIpOwoJCWlmKCR0aGlzZG9p -ICF+IC9eJHByZWZpeC8pewoJCQkkcmVwb3NpdG9yeS0+bG9nKCJObyBwcmVmaXggZm9yIERPSSBj -b25maWd1cmVkPyIpOwoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJOQUxfU0VS -VkVSX0VSUk9SOwoKCQl9CgoJCSNQYXNzIGRvaSBpbnRvIEV4cG9ydDo6RGF0YUNpdGVYTUwuLi4K -CQlteSAkeG1sID0gJGRhdGFvYmotPmV4cG9ydCggIkRhdGFDaXRlWE1MIiwgZG9pPT4kdGhpc2Rv -aSApOwoJCWlmKCR4bWwgPX4gL15cZCskLyl7ICNqdXN0IGEgbnVtYmVyPyBjb2luX2RvaSBoYXMg -cGFzc2VkIGJhY2sgYW4gZXJyb3IgY29kZSBwYXNzIGl0IG9uLi4uCgkJCSRyZXBvc2l0b3J5LT5s -b2coIkVycm9yIGNvZGUgcmV0dXJuZWQgYnkgRXhwb3J0OjpEYXRhQ2l0ZVhNTDogIi4keG1sKTsK -CQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9 -CgoJCSNwcmludCBTVERFUlIgIlhNTDogJHhtbFxuIjsKCQlteSAkdXJsID0gJHJlcG9zaXRvcnkt -PmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAiYXBpdXJsIik7CgkJJHVybC49Ii8iIGlmKCR1cmwg -IX4gL1wvJC8pOyAjYXR0YWNoIHNsYXNoIGlmIGNvbmZpZyBoYXMgZm9yZ290dGVuCgkJbXkgJHVz -ZXJfbmFtZSA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInVzZXIiKTsK -CQlteSAkdXNlcl9wdyA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInBh -c3MiKTsKCQkKCQkjcmVnaXN0ZXIgbWV0YWRhdGE7CgkJbXkoJHJlc3BvbnNlX2NvbnRlbnQsICRy -ZXNwb25zZV9jb2RlKSA9ICBkYXRhY2l0ZV9yZXF1ZXN0KCJQT1NUIiwgJHVybC4ibWV0YWRhdGEi -LCAkdXNlcl9uYW1lLCAkdXNlcl9wdywgJHhtbCwgImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PVVU -Ri04Iik7CgkJaWYoJHJlc3BvbnNlX2NvZGUgIX4gLzIwKDF8MCkvKXsKCQkJJHJlcG9zaXRvcnkt -PmxvZygiTWV0YWRhdGEgcmVzcG9uc2UgZnJvbSBkYXRhY2l0ZSBhcGk6ICRyZXNwb25zZV9jb2Rl -OiAkcmVzcG9uc2VfY29udGVudCIpOwoJCQkkcmVwb3NpdG9yeS0+bG9nKCJCVFcgdGhlIFwkZG9p -IHdhczpcbiR0aGlzZG9pIik7CQoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJO -QUxfU0VSVkVSX0VSUk9SOwoJCX0KCQkjcmVnaXN0ZXIgZG9pCgkJbXkgJHJlcG9fdXJsID0kZGF0 -YW9iai0+dXJpKCk7CgkJI1JNIHNwZWNpYWwgb3ZlcnJpZGUgdG8gYWxsb3cgdGVzdGluZyBmcm9t -ICJ3cm9uZyIgZG9tYWluCgkJaWYoZGVmaW5lZCAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRh -Y2l0ZWRvaSIsICJvdmVycmlkZV91cmwiKSl7CgkJCSRyZXBvX3VybCA9ICRyZXBvc2l0b3J5LT5n -ZXRfY29uZiggImRhdGFjaXRlZG9pIiwgIm92ZXJyaWRlX3VybCIpOwoJCQkkcmVwb191cmwuPSAk -ZGF0YW9iai0+aW50ZXJuYWxfdXJpOwoJCX0KIAkJbXkgJGRvaV9yZWcgPSAiZG9pPSR0aGlzZG9p -XG51cmw9Ii4kcmVwb191cmw7CgkJKCRyZXNwb25zZV9jb250ZW50LCAkcmVzcG9uc2VfY29kZSk9 -IGRhdGFjaXRlX3JlcXVlc3QoIlBPU1QiLCAkdXJsLiJkb2kiLCAkdXNlcl9uYW1lLCAkdXNlcl9w -dywgJGRvaV9yZWcsICJ0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLTgiKTsKCQlpZigkcmVzcG9uc2Vf -Y29kZSAgIX4gLzIwKDF8MCkvKXsKCQkJJHJlcG9zaXRvcnktPmxvZygiUmVnaXN0cmF0aW9uIHJl -c3BvbnNlIGZyb20gZGF0YWNpdGUgYXBpOiAkcmVzcG9uc2VfY29kZTogJHJlc3BvbnNlX2NvbnRl -bnQiKTsKCQkJJHJlcG9zaXRvcnktPmxvZygiQlRXIHRoZSBcJGRvaV9yZWcgd2FzOlxuJGRvaV9y -ZWciKTsKCQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJP -UjsKCQl9CgoJCSNub3cgaXQgaXMgc2FmZSB0byBzZXQgRE9JIHZhbHVlLgoJCW15ICRlcHJpbnRk -b2lmaWVsZCA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImVwcmludGRv -aWZpZWxkIik7CgkJJGRhdGFvYmotPnNldF92YWx1ZSgkZXByaW50ZG9pZmllbGQsICR0aGlzZG9p -KTsKCQkkZGF0YW9iai0+Y29tbWl0KCk7CgkJI3N1Y2Nlc3MKCQlyZXR1cm4gdW5kZWY7Cn0KCgpz -dWIgZGF0YWNpdGVfcmVxdWVzdCB7CiAgbXkgKCRtZXRob2QsICR1cmwsICR1c2VyX25hbWUsICR1 -c2VyX3B3LCAkY29udGVudCwgJGNvbnRlbnRfdHlwZSkgPSBAXzsKCiAgIyBidWlsZCByZXF1ZXN0 -CiAgbXkgJGhlYWRlcnMgPSBIVFRQOjpIZWFkZXJzLT5uZXcoCiAgICAnQWNjZXB0JyAgPT4gJ2Fw -cGxpY2F0aW9uL3htbCcsCiAgICAnQ29udGVudC1UeXBlJyA9PiAkY29udGVudF90eXBlCiAgKTsK -ICBteSAkcmVxID0gSFRUUDo6UmVxdWVzdC0+bmV3KAogICAgJG1ldGhvZCA9PiAkdXJsLAogICAg -JGhlYWRlcnMsICRjb250ZW50CiAgKTsKICAkcmVxLT5hdXRob3JpemF0aW9uX2Jhc2ljKCR1c2Vy -X25hbWUsICR1c2VyX3B3KTsKCiAgIyBwYXNzIHJlcXVlc3QgdG8gdGhlIHVzZXIgYWdlbnQgYW5k -IGdldCBhIHJlc3BvbnNlIGJhY2sKICBteSAkdWEgPSBMV1A6OlVzZXJBZ2VudC0+bmV3OwogIG15 -ICRyZXMgPSAkdWEtPnJlcXVlc3QoJHJlcSk7CgogIHJldHVybiAoJHJlcy0+Y29udGVudCgpLCRy -ZXMtPmNvZGUoKSk7Cn0KCiNSTSBsZXRzIGRvIHRoZSBET0kgY29pbmluZyBzb21ld2hlcmUgKHJl -YXNvbmFibHkpIGFjY2Vzc2libGUgCnN1YiBjb2luX2RvaSB7CgogICAgICAgbXkoICRzZWxmLCAk -cmVwb3NpdG9yeSwgJGRhdGFvYmopID0gQF87CgoJI1JNIHplcm8gcGFkZHMgZXByaW50aWQgYXMg -cGVyIGNvbmZpZwoJbXkgJHpfcGFkID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVk -b2kiLCAiemVyb19wYWRkaW5nIikgfHwgMDsKCW15ICRpZCAgPSBzcHJpbnRmKCIlMCIuJHpfcGFk -LiJkIiwgJGRhdGFvYmotPmlkKTsKCSNDaGVjayBmb3IgY3VzdG9tIGRlbGltaXRlcnMKCW15ICgk -ZGVsaW0xLCAkZGVsaW0yKSA9IEB7JHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2ki -LCAiZGVsaW1pdGVycyIpfTsKCSNkZWZhdWx0IHRvIHNsYXNoCgkkZGVsaW0xID0gIi8iIGlmKCFk -ZWZpbmVkICRkZWxpbTEpOwoJI3NlY29uZCBkZWZhdWx0cyB0byBmaXJzdAoJJGRlbGltMiA9ICRk -ZWxpbTEgaWYoIWRlZmluZWQgJGRlbGltMik7CgkjY29uc3RydWN0IHRoZSBET0kgc3RyaW5nCglt -eSAkcHJlZml4ID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAicHJlZml4 -Iik7CglteSAkdGhpc2RvaSA9ICRwcmVmaXguJGRlbGltMS4kcmVwb3NpdG9yeS0+Z2V0X2NvbmYo -ICJkYXRhY2l0ZWRvaSIsICJyZXBvaWQiKS4kZGVsaW0yLiRpZDsKCglteSAkZXByaW50ZG9pZmll -bGQgPSAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJlcHJpbnRkb2lmaWVs -ZCIpOwoJCgkjQ3VzdG9tIERPSVMKCSNpZiBET0kgZmllbGQgaXMgc2V0IGF0dGVtcHQgdG8gdXNl -IHRoYXQgaWYgY29uZmlnIGFsbG93cwoJaWYoJGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCAkZXBy -aW50ZG9pZmllbGQpICl7CgoJCSNpZiBjb25maWcgZG9lcyBub3QgYWxsb3cgLi4uIGJhaWwKCQlp -ZiggISRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImFsbG93X2N1c3RvbV9k -b2kiICkgKXsKCQkJJHJlcG9zaXRvcnktPmxvZygiRE9JIGlzIGFscmVhZHkgc2V0IGFuZCBjdXN0 -b20gb3ZlcnJpZGVzIGFyZSBkaXNhYWxsb3dlZCBieSBjb25maWciKTsKCQkJcmV0dXJuIEVQcmlu -dHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9CgkJI3dlIGFyZSBhbGxv -d2VkIChjaGVjayBwcmVmaXgganVzdCBpbiBjYXNlKQoJCSR0aGlzZG9pID0gJGRhdGFvYmotPmdl -dF92YWx1ZSggJGVwcmludGRvaWZpZWxkICk7CgkJaWYoJHRoaXNkb2kgIX4gL14kcHJlZml4Lyl7 -CgkJCSRyZXBvc2l0b3J5LT5sb2coIlByZWZpeCBkb2VzIG5vdCBtYXRjaCAoJHByZWZpeCkgZm9y -IGN1c3RvbSBET0k6ICR0aGlzZG9pIik7CgkJCSRkYXRhb2JqLT5zZXRfdmFsdWUoJGVwcmludGRv -aWZpZWxkLCAiIik7ICN1bnNldCB0aGUgYmFkIERPSSEhCgkJCSRkYXRhb2JqLT5jb21taXQoKTsK -CQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9 -I1dlJ2xsIGxlYXZlIERhdGFjaXRlIHRvIGRvIGFueSBmdXJ0aGVyIHN5bnRheCBjaGVja2luZyBl -dGMuLi4KCX0KCglyZXR1cm4gJHRoaXNkb2k7Cn0KMTsK - + 5213 + document plugins/EPrints/Plugin/Export/DataCiteXML.pm text/plain - d8736ebaba330e5aca52654ce4ab5f28 + 696d1ecb13af35cdf6cba01198219b30 MD5 - 4129 - PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6RXhwb3J0OjpEYXRhQ2l0ZVhNTAoKPWN1dAoK -cGFja2FnZSBFUHJpbnRzOjpQbHVnaW46OkV4cG9ydDo6RGF0YUNpdGVYTUw7CnVzZSBFUHJpbnRz -OjpQbHVnaW46OkV4cG9ydDo6RmVlZDsKCkBJU0EgPSAoJ0VQcmludHM6OlBsdWdpbjo6RXhwb3J0 -OjpGZWVkJyk7Cgp1c2Ugc3RyaWN0OwoKc3ViIG5ldwp7CiAgICAgICAgbXkgKCRjbGFzcywgJW9w -dHMpID0gQF87CgogICAgICAgIG15ICRzZWxmID0gJGNsYXNzLT5TVVBFUjo6bmV3KCVvcHRzKTsK -CiAgICAgICAgJHNlbGYtPntuYW1lfSA9ICdEYXRhIENpdGUgWE1MJzsKICAgICAgICAkc2VsZi0+ -e2FjY2VwdH0gPSBbICdkYXRhb2JqL2VwcmludCddOwogICAgICAgICRzZWxmLT57dmlzaWJsZX0g -PSAnYWxsJzsKICAgICAgICAkc2VsZi0+e3N1ZmZpeH0gPSAnLnhtbCc7CiAgICAgICAgJHNlbGYt -PnttaW1ldHlwZX0gPSAnYXBwbGljYXRpb24veG1sOyBjaGFyc2V0PXV0Zi04JzsKIAkkc2VsZi0+ -e2FyZ3VtZW50c30tPntkb2l9ID0gdW5kZWY7CiAKICAgICAgcmV0dXJuICRzZWxmOwp9CgpzdWIg -b3V0cHV0X2RhdGFvYmoKewogICAgICAgIG15ICgkc2VsZiwgJGRhdGFvYmosICVvcHRzKSA9IEBf -OwoKIAkJbXkgJHJlcG8gPSAkc2VsZi0+e3JlcG9zaXRvcnl9OwogCQlteSAkeG1sID0gJHJlcG8t -PnhtbDsKCQkKCQkjcmVmZXJlbmNlIHRoZSBkYXRhY2l0ZSBzY2hlbWEgZnJvbSBjb25maWcKCQlt -eSAkZW50cnkgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggInJlc291cmNlIiwgCgkJCXhtbG5zPT4g -JHJlcG8tPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAieG1sbnMiKSwgCgkJCSJ4bWxuczp4c2ki -PT4iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLCAKCQkJInhzaTpz -Y2hlbWFMb2NhdGlvbiIgPT4gJHJlcG8tPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAic2NoZW1h -TG9jYXRpb24iKSk7IAoKCQkjUk0gV2UgcGFzcyBpbiB0aGUgRE9JIGZyb20gRXZlbnQ6OkRhdGFD -aXRlLi4uIG9yIGZyb20gLS1hcmdzIG9uIHRoZSBjbWQgbGluZSAKCQlteSAkdGhpc2RvaSA9ICRv -cHRze2RvaX07CgkJI1JNIGNvaW4gYSBET0kgaWYgZWl0aGVyIAoJCQkjIC0gbm90IGNvbWUgdmlh -IGV2ZW50IG9yIAoJCQkjIC0gbm8gZG9pIGFyZyBwYXNzZWQgaW4gdmlhIGNtZF9saW5lCgkJIyBp -ZSB3aGVuIHNvbWVvbmUgZXhwb3J0cyBEYXRhQ2l0ZVhNTCBmcm9tIHRoZSBBY3Rpb24gdGFiCgkJ -aWYoIWRlZmluZWQgJHRoaXNkb2kpewoJCQkjbmljayB0aGUgY29pbmluZyBzdWIgZnJvbSBldmVu -dCBwbHVnaW4KCQkJbXkgJGV2ZW50ID0gJHJlcG8tPnBsdWdpbigiRXZlbnQ6OkRhdGFDaXRlRXZl -bnQiKTsKCQkJJHRoaXNkb2kgPSAkZXZlbnQtPmNvaW5fZG9pKCRyZXBvLCAkZGF0YW9iaik7CgkJ -CSNjb2luX2RvaSBtYXkgcmV0dXJuIGFuIGV2ZW50IGVycm9yIGNvZGUgaWYgbm8gcHJlZml4IHBy -ZXNlbnQgYXNzdW1lIHRoaXMgaXMgdGhlIGNhc2UKCQkJbXkgJHByZWZpeCA9ICRyZXBvLT5nZXRf -Y29uZiggImRhdGFjaXRlZG9pIiwgInByZWZpeCIpOwoJCQlyZXR1cm4gJHRoaXNkb2kgaWYoJHRo -aXNkb2kgIX4gL14kcHJlZml4Lyk7CgkJfQoKCSAgIAkkZW50cnktPmFwcGVuZENoaWxkKCAkeG1s -LT5jcmVhdGVfZGF0YV9lbGVtZW50KCAiaWRlbnRpZmllciIsICR0aGlzZG9pICwgaWRlbnRpZmll -clR5cGU9PiJET0kiICkgKTsKCQkKCQkjUk0gb3RoZXJ3aXNlIHdlJ2xsIGxlYXZlIHRoaXMgYWxv -bmUgZm9yIG5vdwoKCQlteSAkY3JlYXRvcnMgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCggImNyZWF0 -b3JzIiApOwoJCWlmKCAkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoICJjcmVhdG9ycyIgKSApCiAg -ICAgICAgCXsKCQoJCQlteSAkbmFtZXMgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiY3JlYXRvcnMi -ICk7CgkJCWZvcmVhY2ggbXkgJG5hbWUgKCBAJG5hbWVzICkKCQkJewoJCQkJbXkgJGF1dGhvciA9 -ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiY3JlYXRvciIgKTsKCgkJCQlteSAkbmFtZV9zdHIgPSBF -UHJpbnRzOjpVdGlsczo6bWFrZV9uYW1lX3N0cmluZyggJG5hbWUtPntuYW1lfSk7CgkJCQkkYXV0 -aG9yLT5hcHBlbmRDaGlsZCggJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgKCQkJCQkJCSJjcmVh -dG9yTmFtZSIsCgkJCQkJCQkkbmFtZV9zdHIgKSApOwoKCQkJCSRjcmVhdG9ycy0+YXBwZW5kQ2hp -bGQoICRhdXRob3IgKTsKCQkJfQogICAgICAgIAl9CgkJJGVudHJ5LT5hcHBlbmRDaGlsZCggJGNy -ZWF0b3JzICk7CgoJCWlmICgkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoICJ0aXRsZSIgKSkgewoJ -CQlteSAkdGl0bGVzID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJ0aXRsZXMiICk7CgkJIAkkdGl0 -bGVzLT5hcHBlbmRDaGlsZCggICR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQoICJ0aXRsZSIsICAk -ZGF0YW9iai0+cmVuZGVyX3ZhbHVlKCAidGl0bGUiICkgICkgKTsKCQkJJGVudHJ5LT5hcHBlbmRD -aGlsZCggJHRpdGxlcyApOwoJCX0KCQkKCQkkZW50cnktPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVh -dGVfZGF0YV9lbGVtZW50KCAicHVibGlzaGVyIiwgJHJlcG8tPmdldF9jb25mKCAiZGF0YWNpdGVk -b2kiLCAicHVibGlzaGVyIikgKSApOwoJCgkJaWYgKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgg -ImRhdGVzdGFtcCIgKSkgewoJCSAgICAkZGF0YW9iai0+Z2V0X3ZhbHVlKCAiZGF0ZXN0YW1wIiAp -ID1+IC9eKFswLTldezR9KS87CgkJCSRlbnRyeS0+YXBwZW5kQ2hpbGQoICR4bWwtPmNyZWF0ZV9k -YXRhX2VsZW1lbnQoICJwdWJsaWNhdGlvblllYXIiLCAkMSApICkgaWYgJDE7CgkJCgkJfQoKCgkJ -aWYgKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCggInN1YmplY3RzIiApKSB7CgkJCW15ICRzdWJq -ZWN0cyA9ICRkYXRhb2JqLT5nZXRfdmFsdWUoInN1YmplY3RzIik7CgkJCWlmKCBFUHJpbnRzOjpV -dGlsczo6aXNfc2V0KCAkc3ViamVjdHMgKSApewoJCQkJbXkgJHN1YmplY3RzX3RhZyA9ICR4bWwt -PmNyZWF0ZV9lbGVtZW50KCAic3ViamVjdHMiICk7CgkJCQlmb3JlYWNoIG15ICR2YWwgKEAkc3Vi -amVjdHMpewoJCSAgICAgICAgICAgICAgICBteSAkc3ViamVjdCA9IEVQcmludHM6OkRhdGFPYmo6 -OlN1YmplY3QtPm5ldyggJHJlcG8sICR2YWwgKTsKCQkJCSAgICAgICAgICAgbmV4dCB1bmxlc3Mg -ZGVmaW5lZCAkc3ViamVjdDsKCQkJCSAgICAgICAJJHN1YmplY3RzX3RhZy0+YXBwZW5kQ2hpbGQo -ICAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCAic3ViamVjdCIsICAkc3ViamVjdC0+cmVuZGVy -X2Rlc2NyaXB0aW9uICApICk7CgkJCQkKCQkJCX0KCQkJCSRlbnRyeS0+YXBwZW5kQ2hpbGQoICRz -dWJqZWN0c190YWcgKTsKCQkJfQoJCX0KCSAgCgkKCQlteSAkdGhpc3Jlc291cmNlVHlwZSA9ICRy -ZXBvLT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInR5cGVtYXAiLCAkZGF0YW9iai0+Z2V0X3Zh -bHVlKCJ0eXBlIikgKTsgCgkJaWYoZGVmaW5lZCAkdGhpc3Jlc291cmNlVHlwZSApewoJCQkkZW50 -cnktPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCAicmVzb3VyY2VUeXBl -IiwgJHRoaXNyZXNvdXJjZVR5cGUtPnsndid9LCAgcmVzb3VyY2VUeXBlR2VuZXJhbD0+JHRoaXNy -ZXNvdXJjZVR5cGUtPnsnYSd9KSApOwoJCX0KCQkKCQoJCW15ICRhbHRlcm5hdGVJZGVudGlmaWVy -cyA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAiYWx0ZXJuYXRlSWRlbnRpZmllcnMiICk7CgkJJGFs -dGVybmF0ZUlkZW50aWZpZXJzLT5hcHBlbmRDaGlsZCggICR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1l -bnQoICJhbHRlcm5hdGVJZGVudGlmaWVyIiwgICRkYXRhb2JqLT5nZXRfdXJsKCkgLCBhbHRlcm5h -dGVJZGVudGlmaWVyVHlwZT0+IlVSTCIgKSApOwoJCSRlbnRyeS0+YXBwZW5kQ2hpbGQoICRhbHRl -cm5hdGVJZGVudGlmaWVycyApOwoJCgoJCSNUT0RPIFNlZWssIGlkZW50aWZ5IGFuZCBpbmNsdWRl -IGZvciByZWdpc3RyYXRpb24gdGhlIG9wdGlvbmFsIGRhdGFjaXRlIGZpZWxkcwoJICAgICAgIHJl -dHVybiAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4nLiJcbiIuJHhtbC0+ -dG9fc3RyaW5nKCRlbnRyeSk7Cn0KCjE7Cg== - + 2806 + document plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm text/plain 0ceae1dd50779c660b2e2a6bb4e4ff27 MD5 2237 - cGFja2FnZSBFUHJpbnRzOjpQbHVnaW46OlNjcmVlbjo6RVByaW50OjpTdGFmZjo6Q29pbkRPSTsK -CiN1c2UgRVByaW50czo6UGx1Z2luOjpTY3JlZW46OkVQcmludDsKCkBJU0EgPSAoICdFUHJpbnRz -OjpQbHVnaW46OlNjcmVlbjo6RVByaW50JyApOwoKdXNlIHN0cmljdDsKCnN1YiBuZXcKewogICAg -ICAgIG15KCAkY2xhc3MsICVwYXJhbXMgKSA9IEBfOwoKICAgICAgICBteSAkc2VsZiA9ICRjbGFz -cy0+U1VQRVI6Om5ldyglcGFyYW1zKTsKCiAgICAgICAgIyAgICAgICAkc2VsZi0+e3ByaXZ9ID0g -IyBubyBzcGVjaWZpYyBwcml2IC0gb25lIHBlciBhY3Rpb24KCiAgICAgICAgJHNlbGYtPnthY3Rp -b25zfSA9IFtxdy8gY29pbmRvaSAvXTsKCiAgICAgICAgJHNlbGYtPnthcHBlYXJzfSA9IFsgewog -ICAgICAgICAgICAgICAgcGxhY2UgPT4gImVwcmludF9lZGl0b3JfYWN0aW9ucyIsCiAgICAgICAg -ICAgICAgICBhY3Rpb24gPT4gImNvaW5kb2kiLAogICAgICAgICAgICAgICAgcG9zaXRpb24gPT4g -MTk3NywKICAgICAgICB9LCBdOwoKICAgICAgICByZXR1cm4gJHNlbGY7Cn0KCnN1YiBvYnRhaW5f -bG9jawp7CiAgICAgICAgbXkoICRzZWxmICkgPSBAXzsKCiAgICAgICAgcmV0dXJuICRzZWxmLT5j -b3VsZF9vYnRhaW5fZXByaW50X2xvY2s7Cn0KCnN1YiBhYm91dF90b19yZW5kZXIKewogICAgICAg -IG15KCAkc2VsZiApID0gQF87CgogICAgICAgICRzZWxmLT5FUHJpbnRzOjpQbHVnaW46OlNjcmVl -bjo6RVByaW50OjpWaWV3OjphYm91dF90b19yZW5kZXI7Cn0KCnN1YiBhbGxvd19jb2luZG9pCnsK -ICAgICAgICBteSggJHNlbGYgKSA9IEBfOwoKICAgICAgICByZXR1cm4gMCB1bmxlc3MgJHNlbGYt -PmNvdWxkX29idGFpbl9lcHJpbnRfbG9jazsKIAoJbXkgJHJlcG9zaXRvcnkgPSAkc2VsZi0+e3Jl -cG9zaXRvcnl9OwoJI1RPRE8gYSB2ZXJzaW9uIHRoYXQgd29ya3MgZm9yIGRvY3VtZW50cyB0b28K -CW15ICRkYXRhb2JqID0gJHNlbGYtPntwcm9jZXNzb3J9LT57ZXByaW50fTsgCiAgICAgICAgcmV0 -dXJuIDAgdW5sZXNzICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImVwcmlu -dHN0YXR1cyIsICAkZGF0YW9iai0+dmFsdWUoICJlcHJpbnRfc3RhdHVzIiApKTsKCSNUT0RPIGRv -bid0IGFsbG93IHRoZSBjb2luRE9JIGJ1dHRvbiBpZiBhIERPSSBpcyBhbHJlYWR5IHJlZ2lzdGVy -ZWQgKG1heSByZXF1aXJlIGEgZGIgZmxhZyBmb3Igc3VjY2Vzc2Z1bCByZWcpCiAgICAgICAgcmV0 -dXJuICRzZWxmLT5hbGxvdyggImVwcmludC9lZGl0OmVkaXRvciIgKTsKfQoKc3ViIGFjdGlvbl9j -b2luZG9pCnsKCW15KCAkc2VsZiApID0gQF87CiAKICAgICAgIG15ICRyZXBvc2l0b3J5ID0gJHNl -bGYtPntyZXBvc2l0b3J5fTsKIAogICAgICAgcmV0dXJuIHVuZGVmIGlmICghZGVmaW5lZCAkcmVw -b3NpdG9yeSk7CgoJbXkgJGVwcmludCA9ICRzZWxmLT57cHJvY2Vzc29yfS0+e2VwcmludH07CgoJ -aWYgKGRlZmluZWQgJGVwcmludCkgewoJCQlteSAkZXByaW50X2lkID0gJGVwcmludC0+aWQ7CiAg -ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAJICAgICAgICRyZXBvc2l0b3J5LT5k -YXRhc2V0KCAiZXZlbnRfcXVldWUiICktPmNyZWF0ZV9kYXRhb2JqKHsKCQkJCQlwbHVnaW5pZCA9 -PiAiRXZlbnQ6OkRhdGFDaXRlRXZlbnQiLAoJCQkJCWFjdGlvbiA9PiAiZGF0YWNpdGVfZG9pIiwK -CQkJCQlwYXJhbXMgPT4gWyRlcHJpbnQtPmludGVybmFsX3VyaV0sCgkJICAgICAgICB9KTsgCgog -ICAgICAgICAgICAgICAgICAgICAgICAkc2VsZi0+YWRkX3Jlc3VsdF9tZXNzYWdlKCAxICk7CiAg -ICAgICB9Cn0gICAgCgpzdWIgYWRkX3Jlc3VsdF9tZXNzYWdlCnsKICAgICAgICBteSggJHNlbGYs -ICRvayApID0gQF87CgogICAgICAgIGlmKCAkb2sgKQogICAgICAgIHsKICAgICAgICAgICAgICAg -ICRzZWxmLT57cHJvY2Vzc29yfS0+YWRkX21lc3NhZ2UoICJtZXNzYWdlIiwKICAgICAgICAgICAg -ICAgICAgICAgICAgJHNlbGYtPmh0bWxfcGhyYXNlKCAiY29pbmluZ2RvaSIgKSApOwogICAgICAg -IH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAgICAgIyBFcnJvcj8KICAgICAg -ICAgICAgICAgICRzZWxmLT57cHJvY2Vzc29yfS0+YWRkX21lc3NhZ2UoICJlcnJvciIgKTsKICAg -ICAgICB9CgogICAgICAgICRzZWxmLT57cHJvY2Vzc29yfS0+e3NjcmVlbmlkfSA9ICJFUHJpbnQ6 -OlZpZXciOwp9CgoxOwo= - - static/images/epm/unknown.png - image/png - 09c09aa0a7bb351d51a06a07db5d4139 + document + cfg.d/z_datacite_mapping.pl + text/plain + 4f2807b6c4cd8fba51cada676ebf9278 + MD5 + 8691 + + + document + epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl + text/plain + 670a102e25b0b7636091ccf15d200847 MD5 - 52913 - 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 -MFAtTzkAAAAASUVORK5CYII= - + 5046 - image/png - image -
static/images/epm/unknown.png
+ text/plain + text +
epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl
install
- static/images/epm/unknown.png + document + static/images/epm/datacitedoi.png image/png - 09c09aa0a7bb351d51a06a07db5d4139 + 14e9e2be0a73f452533488634aaea66e MD5 - 52913 - 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 -MFAtTzkAAAAASUVORK5CYII= - + 101504 image -
static/images/epm/unknown.png
+
static/images/epm/datacitedoi.png
coverimage
- 1.0.0 + 2.0.0 @@ -2248,8 +93,9 @@ MFAtTzkAAAAASUVORK5CYII= repositories@ulcc.ac.uk + 2017-09-20 15:27:51 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi - images/epm/unknown.png + images/epm/datacitedoi.png
From 83f2fa0a8648d8ad0b68086e4bdabc9e8e8c2e1b Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 27 Sep 2017 13:28:59 +0100 Subject: [PATCH 042/107] updating the license --- lib/cfg.d/z_datacite_mapping.pl | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 2cd1e01..226a03e 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -217,27 +217,29 @@ $c->{datacite_mapping_rights} = sub { - my($xml, $dataobj, $repo, $value) = @_; - my $author = $xml->create_element("rightsList"); - - foreach my $doc($dataobj->get_all_documents()) { + my ( $xml, $dataobj, $repo, $value ) = @_; + my $author = $xml->create_element("rightsList"); + my $previous = {}; + foreach my $doc ( $dataobj->get_all_documents() ) { my $license = $doc->get_value("license"); - if (defined $license && $license ne '') { - - if ($license eq "attached") { - - $author ->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI =>$doc->get_url)); - } else { - - my $licenseuri = $repo->phrase("licenses_uri_$license"); - $author->appendChild($xml->create_data_element("rights", $license, rightsURI =>$licenseuri)); + if ( defined $license && $license ne '' ) { + unless ( defined $previous->{$license} ) { + if ( $license eq "attached" ) { + $author->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI => $doc->get_url)); + } + else { + my $licenseuri = $repo->phrase("licenses_uri_$license"); + $author->appendChild($xml->create_data_element("rights", $license, rightsURI => $licenseuri)); + } } } + $previous->{$license} = "anything really"; - + print STDERR $previous->{$license}, "\n"; } + return $author; }; From b6a4038bd227277143f9b08d44ac26d3c21d865c Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 27 Sep 2017 13:39:32 +0100 Subject: [PATCH 043/107] updating epmi --- DataCiteDoi.epmi | 54 ++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 626d016..76c2a9e 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,25 +1,33 @@ - + DataCiteDoi - http://clean.ep.devorkin:8082/id/epm/DataCiteDoi + http://pok.pok.com/id/epm/DataCiteDoi document - lang/en/phrases/coinDOI.xml - application/xml - ea8da6c0e471cea13c5b573d115cbbe8 + epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl + text/plain + 670a102e25b0b7636091ccf15d200847 MD5 - 641 + 5046 document - static/images/epm/datacitedoi.png - image/png - 14e9e2be0a73f452533488634aaea66e + cfg.d/z_datacite_mapping.pl + text/plain + 4f2807b6c4cd8fba51cada676ebf9278 MD5 - 101504 + 8691 + + + document + lang/en/phrases/coinDOI.xml + application/xml + ea8da6c0e471cea13c5b573d115cbbe8 + MD5 + 641 document @@ -47,24 +55,16 @@ document - cfg.d/z_datacite_mapping.pl - text/plain - 4f2807b6c4cd8fba51cada676ebf9278 - MD5 - 8691 - - - document - epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl - text/plain - 670a102e25b0b7636091ccf15d200847 + static/images/epm/datacitedoi.png + image/png + 14e9e2be0a73f452533488634aaea66e MD5 - 5046 + 101504 - text/plain - text -
epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl
+ image/png + image +
static/images/epm/datacitedoi.png
install
@@ -83,7 +83,7 @@ coverimage
- 2.0.0 + 2.0.1 @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2017-09-20 15:27:51 + 2017-09-27 12:34:23 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi From d7f8a91c8528a9232d90f85a5dcc27247cec5a5a Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 1 Nov 2017 11:35:15 +0000 Subject: [PATCH 044/107] small udate ad bug fix to the plugin --- cfg/cfg.d/z_datacitedoi.pl | 8 +++----- lib/cfg.d/z_datacite_mapping.pl | 16 +++++++++++++++- lib/lang/en/phrases/coinDOI.xml | 4 ++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 00f7352..cd19314 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -29,8 +29,8 @@ # Namespace and location for datacite XML schema # feel free to update, though no guarantees it'll be accepted if you do -$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-4.0"; -$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-4.0/metadata.xsd"; +$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-4"; +$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-4/metadata.xsd"; # need to map eprint type (article, dataset etc) to ResourceType # Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf @@ -51,7 +51,7 @@ $c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; $c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; $c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Film'}; - +$c->{datacitedoi}{typemap}{data_collection} = {v=>'Dataset',a=>'Dataset'}; ########################### #### DOI syntax config #### ########################### @@ -117,5 +117,3 @@ if($c->{datacitedoi}{action_coin}){ $c->{plugins}{"Screen::EPrint::Staff::CoinDOI"}{params}{disable} = 0; } - - diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 226a03e..1bfe039 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -218,21 +218,35 @@ $c->{datacite_mapping_rights} = sub { my ( $xml, $dataobj, $repo, $value ) = @_; + use Data::Dumper; my $author = $xml->create_element("rightsList"); my $previous = {}; foreach my $doc ( $dataobj->get_all_documents() ) { my $license = $doc->get_value("license"); + if ( defined $license && $license ne '' ) { unless ( defined $previous->{$license} ) { if ( $license eq "attached" ) { $author->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI => $doc->get_url)); } else { + my $licenseuri = $repo->phrase("licenses_uri_$license"); - $author->appendChild($xml->create_data_element("rights", $license, rightsURI => $licenseuri)); + + + + my $licensephrase = $repo->phrase("licenses_typename_$license"); + + if($doc->exists_and_set("date_embargo")){ + $licensephrase .= $repo->phrase("embargoed_until", embargo_date=>$doc->value("date_embargo")); + } + + $author->appendChild($xml->create_data_element("rights", $licensephrase, rightsURI => $licenseuri)); + } + } } $previous->{$license} = "anything really"; diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index f4c1175..f13f564 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -1,9 +1,9 @@ - + This will add a coin-DOI event to the event queue (i.e. Will not happen immediately) Coin DOI This item will have a DOI coined when the indexer gets around to it. - + .Embargoed until: From dc3afe92617129b415c2499325801ea9adc124c2 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 8 Nov 2017 10:45:22 +0000 Subject: [PATCH 045/107] adding the licenses and correcting the funders --- lib/cfg.d/z_datacite_mapping.pl | 8 ++- lib/lang/en/phrases/coinDOI.xml | 116 ++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 3 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 1bfe039..5528208 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -203,12 +203,14 @@ my $grant = $dataobj->get_value("grant"); my $projects = $dataobj->get_value("projects"); if ($dataobj->exists_and_set("funders")) { - my $thefunders = $xml->create_element("funders"); + my $thefunders = $xml->create_element("fundingReferences"); + my $author = $xml->create_element("fundingReference"); foreach my $funder(@$funders) { foreach my $project(@$projects) { - $thefunders->appendChild($xml->create_data_element("funderName", $funder)); - $thefunders->appendChild($xml->create_data_element("awardNumber", $grant)); + $author->appendChild($xml->create_data_element("funderName", $funder)); + $author->appendChild($xml->create_data_element("awardNumber", $grant)); } + $thefunders->appendChild($author); } return $thefunders; } diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index f13f564..955a886 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -6,4 +6,120 @@ Coin DOI This item will have a DOI coined when the indexer gets around to it. .Embargoed until: + + + +########license################### + + + + + Creative Commons: Attribution-Noncommercial-No Derivative Works 3.0 + Creative Commons: Attribution 3.0 + Creative Commons: Attribution-Noncommercial-Share Alike 3.0 + Creative Commons: Attribution-Noncommercial 3.0 + Creative Commons: Attribution-No Derivative Works 3.0 + Creative Commons: Attribution-Share Alike 3.0 + + Creative Commons: Attribution-Noncommercial-No Derivative Works 4.0 + Creative Commons: Attribution 4.0 + Creative Commons: Attribution-Noncommercial-Share Alike 4.0 + Creative Commons: Attribution-Noncommercial 4.0 + Creative Commons: Attribution-No Derivative Works 4.0 + Creative Commons: Attribution-Share Alike 4.0 + + Creative Commons: Public Domain Dedication + Software: GNU GPL 3.0 + Software: GNU LGPL 3.0 + Software: MIT + Software: Apache License 2.0 + + Data: Open Database License (ODbL) (Attribution-Share Alike) + Data: Open Data Commons Attribution License (Attribution) + + University of Reading Licence + + GNU General Public License (Software) + GNU Lesser General Public License (Software) + MIT License (MIT) + Apache License, Version 2.0 + University of Reading Licence + Licence document attached + + + + + + Creative Commons: Attribution-No Derivative Works 3.0 + + + + + + + Creative Commons: Attribution-No Derivative Works 4.0 + + + + + + + + + + + + + + + + + + + + Licence document attached to this item + + + Licence document attached + + licenses_typename_cc_zero + + Material Transfer Agreement + + Data Sharing Agreement + + + License unspecified + + + + + +http://creativecommons.org/licenses/by-nc-nd/3.0/ +http://creativecommons.org/licenses/by/3.0/ +http://creativecommons.org/licenses/by-nc-sa/3.0/ +http://creativecommons.org/licenses/by-nc/3.0/ +http://creativecommons.org/licenses/by-nd/3.0/ +http://creativecommons.org/licenses/by-sa/3.0/ + +http://creativecommons.org/licenses/by-nc-nd/4.0/ +http://creativecommons.org/licenses/by/4.0/ +http://creativecommons.org/licenses/by-nc-sa/4.0/ +http://creativecommons.org/licenses/by-nc/4.0/ +http://creativecommons.org/licenses/by-nd/4.0/ +http://creativecommons.org/licenses/by-sa/4.0/ +Licence document attached + +http://creativecommons.org/licenses/publicdomain/ +attached +http://opensource.org/licenses/MIT +http://www.gnu.org/licenses/gpl.html +http://www.gnu.org/licenses/lgpl.html +http://www.apache.org/licenses/LICENSE-2.0 +http://researchdata.reading.ac.uk/licence_restricted_data.html + + + + + From 06d541d3614f6bc4cf28b4edafd10f78dd636f6c Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 8 Nov 2017 11:16:31 +0000 Subject: [PATCH 046/107] corrcting of the comment in the xml file --- lib/lang/en/phrases/coinDOI.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index 955a886..f44881a 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -9,7 +9,7 @@ -########license################### + From c1882f6df2ed7dd2a4ed3634e3e13e86063fdedc Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 8 Nov 2017 11:55:51 +0000 Subject: [PATCH 047/107] correcting the phrase file --- lib/lang/en/phrases/coinDOI.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index f44881a..77363c1 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -6,13 +6,12 @@ Coin DOI This item will have a DOI coined when the indexer gets around to it. .Embargoed until: - + - - - + + Creative Commons: Attribution-Noncommercial-No Derivative Works 3.0 Creative Commons: Attribution 3.0 From 499585b1484bd0f95554c9e18d653889bdd8cbdd Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Wed, 8 Nov 2017 13:03:52 +0000 Subject: [PATCH 048/107] Update z_datacite_mapping.pl --- lib/cfg.d/z_datacite_mapping.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 5528208..1eccbfa 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -223,6 +223,8 @@ use Data::Dumper; my $author = $xml->create_element("rightsList"); my $previous = {}; + my $docs = $dataobj->get_all_documents(); + return undef if(scalar @{$docs} == 0); foreach my $doc ( $dataobj->get_all_documents() ) { my $license = $doc->get_value("license"); From f8a3259e7e2eda70d6e76ba54e6fcc5bd6988c50 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Wed, 8 Nov 2017 13:05:39 +0000 Subject: [PATCH 049/107] We derive rights from document MD so not in loop --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index dbf5146..aa2077d 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -67,6 +67,12 @@ sub output_dataobj $entry->appendChild( $mapped_element ) if(defined $mapped_element); } } + # There is no field for rights at EPrints leve so we derive rights from document + # metadata and as such we need to call our derivation routine outside the above loop + if($repo->can_call("datacite_mapping_rights")){ + my $mapped_element = $repo->call( "datacite_mapping_rights", $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); + $entry->appendChild( $mapped_element ) if(defined $mapped_element); + } ####### From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### From 4e018ab3c8be977a76599034c85a666e087b4fcd Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 8 Nov 2017 13:37:00 +0000 Subject: [PATCH 050/107] changes to a for loop --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index aa2077d..84f16a1 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -66,14 +66,14 @@ sub output_dataobj my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } - } - # There is no field for rights at EPrints leve so we derive rights from document + + # There is no field for rights at EPrints leve so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop if($repo->can_call("datacite_mapping_rights")){ my $mapped_element = $repo->call( "datacite_mapping_rights", $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } - + } ####### From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### From 5fa8843d4daad501e64aae795e146d7ad8f6c59c Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Wed, 8 Nov 2017 14:58:59 +0000 Subject: [PATCH 051/107] removed spurious $value --- lib/cfg.d/z_datacite_mapping.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 1eccbfa..fdce2a1 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -219,7 +219,7 @@ $c->{datacite_mapping_rights} = sub { - my ( $xml, $dataobj, $repo, $value ) = @_; + my ( $xml, $dataobj, $repo ) = @_; use Data::Dumper; my $author = $xml->create_element("rightsList"); my $previous = {}; From 548d743f150da302c48c7e3c7e6b2960bb9a68a2 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Wed, 8 Nov 2017 14:59:55 +0000 Subject: [PATCH 052/107] take rights cl out of loop, stop passing in value --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 84f16a1..63a3909 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -58,22 +58,21 @@ sub output_dataobj return $thisdoi if($thisdoi !~ /^$prefix/); } $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - - foreach my $field ( $dataobj->{dataset}->get_fields ) - { + + foreach my $field ( $dataobj->{dataset}->get_fields ){ my $mapping_fn = "datacite_mapping_".$field->get_name; if($repo->can_call($mapping_fn) && $dataobj->exists_and_set($field->get_name)){ my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } - - # There is no field for rights at EPrints leve so we derive rights from document + } + + # There is no field for rights at EPrints leve so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop if($repo->can_call("datacite_mapping_rights")){ - my $mapped_element = $repo->call( "datacite_mapping_rights", $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); + my $mapped_element = $repo->call( "datacite_mapping_rights", $xml, $dataobj, $repo ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } - } ####### From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### From 21b4e2ad44ae703b07625b7327462ec8f6ff1a97 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Wed, 8 Nov 2017 15:27:46 +0000 Subject: [PATCH 053/107] correccting the rights --- lib/cfg.d/z_datacite_mapping.pl | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 1eccbfa..5528208 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -223,8 +223,6 @@ use Data::Dumper; my $author = $xml->create_element("rightsList"); my $previous = {}; - my $docs = $dataobj->get_all_documents(); - return undef if(scalar @{$docs} == 0); foreach my $doc ( $dataobj->get_all_documents() ) { my $license = $doc->get_value("license"); From 1789ea2182db86368df68b2c48691304f200b009 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Fri, 17 Nov 2017 09:38:16 +0000 Subject: [PATCH 054/107] update epmi --- DataCiteDoi.epmi | 56 ++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 76c2a9e..04eafa9 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,33 +1,25 @@ - + DataCiteDoi - http://pok.pok.com/id/epm/DataCiteDoi + http://localhost/id/epm/DataCiteDoi document - epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl - text/plain - 670a102e25b0b7636091ccf15d200847 - MD5 - 5046 - - - document - cfg.d/z_datacite_mapping.pl - text/plain - 4f2807b6c4cd8fba51cada676ebf9278 + lang/en/phrases/coinDOI.xml + application/xml + 69ff510a2528bed2d3673ff1f740e923 MD5 - 8691 + 11194 document - lang/en/phrases/coinDOI.xml - application/xml - ea8da6c0e471cea13c5b573d115cbbe8 + static/images/epm/datacitedoi.png + image/png + 14e9e2be0a73f452533488634aaea66e MD5 - 641 + 101504 document @@ -41,9 +33,9 @@ document plugins/EPrints/Plugin/Export/DataCiteXML.pm text/plain - 696d1ecb13af35cdf6cba01198219b30 + 22fe5056ead6fa949414339462cc5077 MD5 - 2806 + 3247 document @@ -55,16 +47,24 @@ document - static/images/epm/datacitedoi.png - image/png - 14e9e2be0a73f452533488634aaea66e + cfg.d/z_datacite_mapping.pl + text/plain + 15e694c4c14f209232566baf76f158e9 MD5 - 101504 + 9366 + + + document + epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl + text/plain + 8599e9b6c24462396c8b3e1f884c181d + MD5 + 5114 - image/png - image -
static/images/epm/datacitedoi.png
+ text/plain + text +
epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl
install
@@ -93,7 +93,7 @@ repositories@ulcc.ac.uk
- 2017-09-27 12:34:23 + 2017-11-17 09:37:07 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi From 0f425ff7f1619257a8e4e6efca705566a8f616f0 Mon Sep 17 00:00:00 2001 From: Borys Feldman Date: Fri, 8 Dec 2017 16:10:36 +0000 Subject: [PATCH 055/107] adding publisher --- lib/cfg.d/z_datacite_mapping.pl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index c81e20a..38d9b7b 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -87,7 +87,12 @@ }; +$c->{datacite_mapping_publisher} = sub { + my($xml, $dataobj, $repo, $value) = @_; + +return $xml->create_data_element("publisher", $dataobj->render_value("publisher")); +}; From f34a02f22655a62136e28f71a9c356f423dc1aa2 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Feb 2018 04:30:40 +0000 Subject: [PATCH 056/107] fix situation in which the existance of an eprint.rights field makes the rightsList get appneded twice --- lib/cfg.d/z_datacite_mapping.pl | 2 +- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 38d9b7b..fde3490 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -223,7 +223,7 @@ -$c->{datacite_mapping_rights} = sub { +$c->{datacite_mapping_rights_from_docs} = sub { my ( $xml, $dataobj, $repo ) = @_; use Data::Dumper; my $author = $xml->create_element("rightsList"); diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 63a3909..95ad692 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -69,8 +69,8 @@ sub output_dataobj # There is no field for rights at EPrints leve so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop - if($repo->can_call("datacite_mapping_rights")){ - my $mapped_element = $repo->call( "datacite_mapping_rights", $xml, $dataobj, $repo ); + if($repo->can_call("datacite_mapping_rights_from_docs")){ + my $mapped_element = $repo->call( "datacite_mapping_rights_from_docs", $xml, $dataobj, $repo ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } ####### From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### From 88403aa41af11041bab4ca23031f618ab73558a4 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Feb 2018 04:36:38 +0000 Subject: [PATCH 057/107] correct Noncommercial to NonCommercial --- lib/lang/en/phrases/coinDOI.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index 77363c1..37bbafa 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -13,17 +13,17 @@ - Creative Commons: Attribution-Noncommercial-No Derivative Works 3.0 + Creative Commons: Attribution-NonCommercial-No Derivative Works 3.0 Creative Commons: Attribution 3.0 - Creative Commons: Attribution-Noncommercial-Share Alike 3.0 - Creative Commons: Attribution-Noncommercial 3.0 + Creative Commons: Attribution-NonCommercial-Share Alike 3.0 + Creative Commons: Attribution-NonCommercial 3.0 Creative Commons: Attribution-No Derivative Works 3.0 Creative Commons: Attribution-Share Alike 3.0 - Creative Commons: Attribution-Noncommercial-No Derivative Works 4.0 + Creative Commons: Attribution-NonCommercial-No Derivative Works 4.0 Creative Commons: Attribution 4.0 - Creative Commons: Attribution-Noncommercial-Share Alike 4.0 - Creative Commons: Attribution-Noncommercial 4.0 + Creative Commons: Attribution-NonCommercial-Share Alike 4.0 + Creative Commons: Attribution-NonCommercial 4.0 Creative Commons: Attribution-No Derivative Works 4.0 Creative Commons: Attribution-Share Alike 4.0 @@ -45,17 +45,17 @@ University of Reading Licence Licence document attached - + - - + + Creative Commons: Attribution-No Derivative Works 3.0 - + - - + + Creative Commons: Attribution-No Derivative Works 4.0 From b00ef82f441ec52e028e46830fb47c9477629732 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Feb 2018 04:39:22 +0000 Subject: [PATCH 058/107] update epmi --- DataCiteDoi.epmi | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 04eafa9..797d701 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,7 +1,7 @@ - + DataCiteDoi - http://localhost/id/epm/DataCiteDoi + http://pok.pok.com/id/epm/DataCiteDoi @@ -9,7 +9,7 @@ document lang/en/phrases/coinDOI.xml application/xml - 69ff510a2528bed2d3673ff1f740e923 + 90a2231b25535e2ad2d16702172f5063 MD5 11194 @@ -33,9 +33,9 @@ document plugins/EPrints/Plugin/Export/DataCiteXML.pm text/plain - 22fe5056ead6fa949414339462cc5077 + 0c7770885cd8e8537054d9b84f83d5fa MD5 - 3247 + 3267 document @@ -49,9 +49,9 @@ document cfg.d/z_datacite_mapping.pl text/plain - 15e694c4c14f209232566baf76f158e9 + 357cce784c38478c92a5cd65b1c99b9f MD5 - 9366 + 9549 document @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk
- 2017-11-17 09:37:07 + 2018-02-15 04:37:56 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi From 64956b6d4b461159ac2ae35df14105cff4a86171 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 15 Feb 2018 05:08:35 +0000 Subject: [PATCH 059/107] fix for attached licences --- DataCiteDoi.epmi | 8 +++--- lib/cfg.d/z_datacite_mapping.pl | 43 ++++++++++++++++++--------------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 797d701..7c3fcca 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -1,7 +1,7 @@ DataCiteDoi - http://pok.pok.com/id/epm/DataCiteDoi + http://192.168.23.142/id/epm/DataCiteDoi @@ -49,9 +49,9 @@ document cfg.d/z_datacite_mapping.pl text/plain - 357cce784c38478c92a5cd65b1c99b9f + de6f2cd2b94f1fb9599b52112dd83754 MD5 - 9549 + 9755 document @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2018-02-15 04:37:56 + 2018-02-15 05:07:35 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index fde3490..7a7d859 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -225,43 +225,46 @@ $c->{datacite_mapping_rights_from_docs} = sub { my ( $xml, $dataobj, $repo ) = @_; - use Data::Dumper; - my $author = $xml->create_element("rightsList"); + + my $rightsList = $xml->create_element("rightsList"); my $previous = {}; - foreach my $doc ( $dataobj->get_all_documents() ) { + my $attached_licence = undef; - my $license = $doc->get_value("license"); + for my $doc ( $dataobj->get_all_documents() ) { + my $license = $doc->get_value("license"); + my $content = $doc->get_value("content"); + #This doc is the license (for docs that have licese == attached + if($content eq "licence"){ + $attached_licence = $doc->url; + next; + } - if ( defined $license && $license ne '' ) { - unless ( defined $previous->{$license} ) { - if ( $license eq "attached" ) { - $author->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI => $doc->get_url)); - } - else { + if(EPrints::Utils::is_set($license) && $license ne "attached") { my $licenseuri = $repo->phrase("licenses_uri_$license"); - - - my $licensephrase = $repo->phrase("licenses_typename_$license"); if($doc->exists_and_set("date_embargo")){ $licensephrase .= $repo->phrase("embargoed_until", embargo_date=>$doc->value("date_embargo")); } - $author->appendChild($xml->create_data_element("rights", $licensephrase, rightsURI => $licenseuri)); + $rightsList->appendChild($xml->create_data_element("rights", $licensephrase, rightsURI => $licenseuri)); - } - - } } - $previous->{$license} = "anything really"; + } + + #second pass now that we know what the attached license doc ur is + for my $doc ( $dataobj->get_all_documents() ) { + my $license = $doc->get_value("license"); + if(EPrints::Utils::is_set($license) && $license eq "attached") { + $rightsList->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI => $attached_licence)); + + } - print STDERR $previous->{$license}, "\n"; } - return $author; + return $rightsList; }; From 3bd20bcd151b8f2a9188e85d5ecc72e03411e360 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 22 Aug 2018 10:47:18 +1000 Subject: [PATCH 060/107] Correct typos Fixing a couple of typos in the readme. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8e0658a..00ff613 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ DateCiteDoi - A plugin to mint DataCite DOIs to eprints Requirements ------------- -In order to use the DataCite API the plugin requires the following perl libraries on to of EPrints requirements. +In order to use the DataCite API the plugin requires the following perl libraries on top of EPrints requirements. ``` use LWP; @@ -32,7 +32,7 @@ This config file contains all the configurable settings for the plugin, see comm $c->{plugins}{"Export::DataCiteXML"}{params}{disable} = 0; $c->{plugins}{"Event::DataCiteEvent"}{params}{disable} = 0; -#which field do use for the doi +# which field to use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; #When should you register/update doi info. @@ -153,7 +153,7 @@ How it works /lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm This is added to the queue and actually mints the doi. -lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm +lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm This adds a button to enable staff to choose when to coin the DOI and request registration /lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm From b036ac8e56d48472e5f0882f8d0af705716ab98c Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 22 Aug 2018 10:48:42 +1000 Subject: [PATCH 061/107] Correct typo in comment Noticed this from the README, minor change --- cfg/cfg.d/z_datacitedoi.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index cd19314..06867d6 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -2,7 +2,7 @@ $c->{plugins}{"Export::DataCiteXML"}{params}{disable} = 0; $c->{plugins}{"Event::DataCiteEvent"}{params}{disable} = 0; -#which field do use for the doi +# which field to use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; #for xml:lang attributes in XML From 9791f6d44b7c19cb39dda3d73ee868bc1a5fd401 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 13 Sep 2018 10:43:16 +1000 Subject: [PATCH 062/107] Add section on licence phrases to readme (#24) Our instance had its licence typename but no licence URI. As a result, the following text was being output on every run of the plugin. ``` Undefined phrase: licenses_uri_cc_example (en) at line 238 in (eval 200) anything really ``` This problem also bled directly in to the generated XML with error text where our link should be. ``` University of Tasmania Standard License ``` --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 00ff613..76f1994 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,18 @@ if($c->{datacitedoi}{action_coin}){ ``` + +If using a custom licence you must have phrases for your licences URI and typename (phrases for common licences are supplied in ``lib/lang/en/phrases/coinDOI.xml``). For example in ``archives/REPOID/cfg/lang/en/phrases/copyright.xml`` you might have these entries + +``` +https://example.org/eprints/about/legal/ +University of Example important licence + +``` + +See [EPrints wiki](https://wiki.eprints.org/w/Phrase_Format) for the full phrase file format and note that variables (like ``{$config{http_url}}``) do not appear to be supported in licenses_uri_*. + + How it works ------------- From 2eb6bf3b2b196e871b0d38ecc94db39c18702119 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 13 Sep 2018 10:45:37 +1000 Subject: [PATCH 063/107] Reformat and update How it Works (#25) I've changed the file paths to be quoted so they stand out and wrapped the descriptive text on to the same line to improve flow. All paths now start with lib/ (taking / from two of them) as its likely someone copying these will want the relative nature of the paths preserved. Lastly the schema version for DataCite has been updated, looks like it was missed in the commits which changed the schema - d7f8a91c8528a9232d90f85a5dcc27247cec5a5a and aceb6403be078cc3b6fc72f892984ae76f4188d8 . --- README.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 76f1994..480767c 100644 --- a/README.md +++ b/README.md @@ -162,19 +162,16 @@ See [EPrints wiki](https://wiki.eprints.org/w/Phrase_Format) for the full phrase How it works ------------- -/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm -This is added to the queue and actually mints the doi. +``lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm`` is added to the queue and actually mints the doi. -lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm -This adds a button to enable staff to choose when to coin the DOI and request registration +``lib/plugins/EPrints/Plugin/Sreen/EPrint/Staff/CoinDOI.pm`` adds a button to enable staff to choose when to coin the DOI and request registration. -/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm -This exports the metadata xml required for minting, this can be used independently and through the user interface. +``lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm`` exports the metadata xml required for minting, this can be used independently and through the user interface. -By default the plugin uses the following mapping: +By default the plugin produces the following mapping: ```xml - + [[From Config: $c->{datacitedoi}{prefix}/$c->{datacitedoi}{repoid]]/{{Eprintid}} From 070ec00f93ab1e96050a1a2254c17350db2d52a9 Mon Sep 17 00:00:00 2001 From: Liam Green-Hughes Date: Wed, 15 Nov 2017 15:08:22 +0000 Subject: [PATCH 064/107] Don't show coin doi button if field populated --- lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm index 9e13fbd..b5ee5b1 100644 --- a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +++ b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm @@ -49,8 +49,9 @@ sub allow_coindoi #TODO a version that works for documents too my $dataobj = $self->{processor}->{eprint}; return 0 unless $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); - #TODO don't allow the coinDOI button if a DOI is already registered (may require a db flag for successful reg) - return $self->allow( "eprint/edit:editor" ); + # Don't show coinDOI button if a DOI is already registered + return 0 if $dataobj->is_set("doi"); + return $self->allow( "eprint/edit:editor" ); } sub action_coindoi From dc7961e843f07d6273c9afa1bd2c88a45d29467d Mon Sep 17 00:00:00 2001 From: Liam Green-Hughes Date: Wed, 15 Nov 2017 14:44:02 +0000 Subject: [PATCH 065/107] Output publisher element --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 95ad692..e20c607 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -66,7 +66,10 @@ sub output_dataobj $entry->appendChild( $mapped_element ) if(defined $mapped_element); } } - + + # Add in our publisher from the config + $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); + # There is no field for rights at EPrints leve so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop if($repo->can_call("datacite_mapping_rights_from_docs")){ From ad369bd27006c711711c5bb49309b0b9fa1e2578 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 13 Sep 2018 11:10:56 +1000 Subject: [PATCH 066/107] Update location of test Datacite server Update DataCite test endpoint in line with their documentation. Thanks to @liamgh for the contribution. --- README.md | 2 +- cfg/cfg.d/z_datacitedoi.pl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 480767c..292e940 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; # doi = {prefix}/{repoid}/{eprintid} $c->{datacitedoi}{prefix} = "10.5072"; $c->{datacitedoi}{repoid} = $c->{host}; -$c->{datacitedoi}{apiurl} = "https://test.datacite.org/mds/"; +$c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org"; $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 06867d6..e69b2fd 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -15,7 +15,7 @@ # doi = {prefix}/{repoid}/{eprintid} $c->{datacitedoi}{prefix} = "10.5072"; $c->{datacitedoi}{repoid} = $c->{host}; -$c->{datacitedoi}{apiurl} = "https://test.datacite.org/mds/"; +$c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org"; $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; From 4d276b80a0bb6b50874b3e73fa1fdca33189a580 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 13 Sep 2018 11:15:58 +1000 Subject: [PATCH 067/107] Modify CoinDOI.pm in line with my suggestion in PR #16 Our environment "doi" is not our field name so instead query our configuration for the correct field to use. --- lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm index b5ee5b1..ebf96bb 100644 --- a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +++ b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm @@ -49,8 +49,8 @@ sub allow_coindoi #TODO a version that works for documents too my $dataobj = $self->{processor}->{eprint}; return 0 unless $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); - # Don't show coinDOI button if a DOI is already registered - return 0 if $dataobj->is_set("doi"); + # Don't show coinDOI button if a DOI is already registered + return 0 if $dataobj->is_set($repository->get_conf( "datacitedoi", "eprintdoifield")); return $self->allow( "eprint/edit:editor" ); } From 30a497dacf835f79517b70467c34e6ecb738ea68 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 13 Sep 2018 14:03:40 +0100 Subject: [PATCH 068/107] some additional resrouceType thingies --- cfg/cfg.d/z_datacitedoi.pl | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index e69b2fd..16c501f 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -2,7 +2,7 @@ $c->{plugins}{"Export::DataCiteXML"}{params}{disable} = 0; $c->{plugins}{"Event::DataCiteEvent"}{params}{disable} = 0; -# which field to use for the doi +#which field do use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; #for xml:lang attributes in XML @@ -15,7 +15,7 @@ # doi = {prefix}/{repoid}/{eprintid} $c->{datacitedoi}{prefix} = "10.5072"; $c->{datacitedoi}{repoid} = $c->{host}; -$c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org"; +$c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org/"; $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; @@ -35,23 +35,28 @@ # need to map eprint type (article, dataset etc) to ResourceType # Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf # where v is the ResourceType and a is the resourceTypeGeneral +#$c->{datacitedoi}{typemap}{book_section} = {v=>'BookSection',a=>'Text'}; $c->{datacitedoi}{typemap}{article} = {v=>'Article',a=>'Text'}; -$c->{datacitedoi}{typemap}{book_section} = {v=>'BookSection',a=>'Text'}; $c->{datacitedoi}{typemap}{monograph} = {v=>'Monograph',a=>'Text'}; $c->{datacitedoi}{typemap}{thesis} = {v=>'Thesis',a=>'Text'}; $c->{datacitedoi}{typemap}{book} = {v=>'Book',a=>'Text'}; $c->{datacitedoi}{typemap}{patent} = {v=>'Patent',a=>'Text'}; $c->{datacitedoi}{typemap}{artefact} = {v=>'Artefact',a=>'PhysicalObject'}; -$c->{datacitedoi}{typemap}{performance} = {v=>'Performance',a=>'Event'}; +$c->{datacitedoi}{typemap}{exhibition} = {v=>'Exhibition',a=>'InteractiveResource'}; $c->{datacitedoi}{typemap}{composition} = {v=>'Composition',a=>'Sound'}; +$c->{datacitedoi}{typemap}{performance} = {v=>'Performance',a=>'Event'}; $c->{datacitedoi}{typemap}{image} = {v=>'Image',a=>'Image'}; +$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'AudioVisual'}; +$c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; +$c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; $c->{datacitedoi}{typemap}{experiment} = {v=>'Experiment',a=>'Text'}; $c->{datacitedoi}{typemap}{teaching_resource} = {v=>'TeachingResourse',a=>'InteractiveResource'}; $c->{datacitedoi}{typemap}{other} = {v=>'Misc',a=>'Collection'}; -$c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; -$c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; -$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Film'}; +#For use with recollect $c->{datacitedoi}{typemap}{data_collection} = {v=>'Dataset',a=>'Dataset'}; +$c->{datacitedoi}{typemap}{collection} = {v=>'Collection',a=>'Collection'}; + + ########################### #### DOI syntax config #### ########################### From fd41e34efc7cc00a529c8f45ad22bb2b376d7768 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 13 Sep 2018 14:04:22 +0100 Subject: [PATCH 069/107] significantly better mapping of default eprints data to datacite mandatory fields --- lib/cfg.d/z_datacite_mapping.pl | 463 +++++++++++++++++++++++--------- 1 file changed, 339 insertions(+), 124 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 7a7d859..995c8ab 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -1,227 +1,389 @@ ##################################################### # New architecture -# for print => datacite mapping#################################################### +# for Eprint => datacite mapping +##################################################### -# These first two both map to resourceType(and resourceTypeGeneral) the first is -# for pubs repos the second -# for data(but either can be used -# for ether f the eprint field is there) -$c->{datacite_mapping_type} = sub { +#################################### +# Mandatory fields for Datacite 4.0 +# - identifier +# - resourceType +# - creators +# - titles +# - publisher +# - publicationYear +# ################################# - my($xml, $dataobj, $repo, $value) = @_; +# identifer this is the DOI and is automatically generated see EPrints::Plugin::Event::DataCiteEvent::coin_doi - my $pub_resourceType = $repo->get_conf("datacitedoi", "typemap", $value); - if (defined $pub_resourceType) { - return $xml->create_data_element("resourceType", $pub_resourceType->{'v'}, resourceTypeGeneral=>$pub_resourceType->{'a'}); - } +################################################## +# resourceType this is derived from the eprint.type and the datacitedoi->{typemap} in cfg/cfg.d/z_datacite.pl +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#resourceType - return undef; -}; - -$c->{datacite_mapping_data_type} = sub { - - my($xml, $dataobj, $repo, $value) = @_; +$c->{datacite_mapping_type} = sub { - return $xml->create_data_element("resourceType", $value, resourceTypeGeneral=>$value); + my($xml, $dataobj, $repo) = @_; + + my $resourceTypeGeneral_opts = [ qw/ + Audiovisual + Collection + Dataset + Event + Image + InteractiveResource + Model + PhysicalObject + Service + Software + Sound + Text15 + Workflow + Other + /]; + + my $resourceType = undef; + if($dataobj->exists_and_set("type")){ + my $pub_resourceType = $repo->get_conf("datacitedoi", "typemap", $dataobj->value("type")); + if (defined $pub_resourceType) { + if(grep $pub_resourceType->{'a'} eq $_, @$resourceTypeGeneral_opts){ + $resourceType = $xml->create_data_element("resourceType", $pub_resourceType->{'v'}, + resourceTypeGeneral=>$pub_resourceType->{'a'}); + } + } + } + # We have the recollect plugin in play, so let's use the data_type if set + if(defined $repo->get_conf("recollect") && $dataobj->exists_and_set("data_type")){ + if(grep $dataobj->value("data_type") eq $_, @$resourceTypeGeneral_opts){ + $resourceType = $xml->create_data_element("resourceType", "Dataset", + resourceTypeGeneral=>$dataobj->value("data_type")); + } + } + return $resourceType; }; +############################################################### +# creators this is derived from creators and/or corp_creators +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#creators + $c->{datacite_mapping_creators} = sub { - my($xml, $dataobj, $repo, $value) = @_; + my($xml, $dataobj, $repo) = @_; - my $creators = $xml->create_element("creators"); + my $creators = undef; + + if($dataobj->exists_and_set("creators")){ - foreach my $name(@$value) { - my $author = $xml->create_element("creator"); + $creators = $xml->create_element("creators"); - my $name_str = EPrints::Utils::make_name_string($name->{name}); + foreach my $name(@{$dataobj->value("creators")}) { + my $author = $xml->create_element("creator"); - my $family = $name->{name}->{family}; - my $given = $name->{name}->{given}; - my $orcid = $name->{orcid}; + my $name_str = EPrints::Utils::make_name_string($name->{name}); - if ($family eq '' && $given eq '') { - $creators->appendChild($author); - } else { - $author->appendChild($xml->create_data_element("creatorName", $name_str)); - } - if ($given eq '') { - $creators->appendChild($author); - } else { - $author->appendChild($xml->create_data_element("givenName", $given)); - } - if ($family eq '') { - $creators->appendChild($author); - } else { - $author->appendChild($xml->create_data_element("familyName", $family)); - } - if ($dataobj->exists_and_set("creators_orcid")) { + my $family = $name->{name}->{family}; + my $given = $name->{name}->{given}; + my $orcid = $name->{orcid}; - if ($orcid eq '') { + if ($family eq '' && $given eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("creatorName", $name_str)); + } + if ($given eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("givenName", $given)); + } + if ($family eq '') { $creators->appendChild($author); } else { - $author->appendChild($xml->create_data_element("nameIdentifier", $orcid, schemeURI =>"http://orcid.org/", nameIdentifierScheme=>"ORCID")); + $author->appendChild($xml->create_data_element("familyName", $family)); } + if ($dataobj->exists_and_set("creators_orcid")) { + + if ($orcid eq '') { + $creators->appendChild($author); + } else { + $author->appendChild($xml->create_data_element("nameIdentifier", $orcid, + schemeURI =>"http://orcid.org/", + nameIdentifierScheme=>"ORCID")); + } + } + + $creators->appendChild($author); } + } + if($dataobj->exists_and_set("corp_creators")){ + + $creators = $xml->create_element("creators") if (!defined $creators); + $creators->appendChild(my $creator = $xml->create_element("creator")); + $creator->appendChild($xml->create_data_element("creatorName", $dataobj->value("corp_creators"))); - $creators->appendChild($author); } return $creators }; +################################################## +# titles this is derived from the eprint.title +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#titles $c->{datacite_mapping_title} = sub { - my($xml, $dataobj, $repo, $value) = @_; - + my($xml, $dataobj, $repo) = @_; + my $titles = undef; + if($dataobj->exists_and_set("title")){ + $titles = $xml->create_element("titles"); + $titles->appendChild($xml->create_data_element("title", $dataobj->render_value("title"), + "xml:lang"=>$repo->get_language->get_id)); + } + return $titles +}; - my $titles = $xml->create_element("titles"); - $titles->appendChild($xml->create_data_element("title", $dataobj->render_value("title"), "xml:lang"=>"en-us")); +##################################################### +# publisher this is derived from the eprint.publisher +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#publisher +$c->{datacite_mapping_publisher} = sub { + my($xml, $dataobj, $repo) = @_; + my $publisher = $repo->get_conf("datacitedoi","publisher"); + if($dataobj->exists_and_set("publisher")){ + $publisher = $dataobj->render_value("publisher"); + } + return $xml->create_data_element("publisher", $publisher); +}; +################################################## +# publicationYear this is derived from the eprint.date (this will have the pub date if datesdatesdates is in play) +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#publicationYear +# Year when the data is made publicly available. +# If an embargo period has been in effect, use the date when the embargo period ends. - return $titles# of somedescription -}; +$c->{datacite_mapping_date} = sub { + my ( $xml, $dataobj, $repo ) = @_; -$c->{datacite_mapping_publisher} = sub { - my($xml, $dataobj, $repo, $value) = @_; + my $publicationYear = undef; + my $pub_year = undef; + if($dataobj->exists_and_set("date") && $dataobj->value("date_type") eq "published"){ + $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; + $pub_year = $1; + } + + for my $doc ( $dataobj->get_all_documents() ) { + if($doc->exists_and_set("date_embargo")){ + $doc->get_value( "date_embargo" ) =~ /^([0-9]{4})/; + $pub_year = $1 if $1 > $pub_year; #highest available pub_year value + } + } -return $xml->create_data_element("publisher", $dataobj->render_value("publisher")); + $publicationYear = $xml->create_data_element( "publicationYear", $pub_year ) if defined $pub_year; + return $publicationYear; }; - +################################################################# +# descriptions this is derived from the eprint.abstract +# If recollect is in place from eprint.collection_method, eprint.provenance too +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#descriptions + +##################### +# descriptionTypes: +# +# Abstract +# Methods +# SeriesInformation +# TableOfContents +# TechnicalInfo +# Other +# +##################### $c->{datacite_mapping_abstract} = sub { - my($xml, $dataobj, $repo, $value) = @_; + my($xml, $dataobj, $repo) = @_; - my $abstract = $dataobj->get_value("abstract"); - my $description = $xml->create_element("descriptions"); + my $descriptions = undef; + + if($dataobj->exists_and_set("abstract")){ - $description->appendChild($xml->create_data_element("description", $abstract, "xml:lang"=>"en-us", descriptionType=>"Abstract")); + $descriptions = $xml->create_element("descriptions"); + $descriptions->appendChild($xml->create_data_element("description", $dataobj->get_value("abstract"), + "xml:lang"=>$repo->get_language->get_id, + descriptionType=>"Abstract")); + } if ($dataobj->exists_and_set("collection_method")) { - my $collection = $dataobj->get_value("collection_method"); - $description->appendChild($xml->create_data_element("description", $collection, descriptionType =>"Methods")); + $descriptions = $xml->create_element("descriptions") if(!defined $descriptions); + $descriptions->appendChild($xml->create_data_element("description", $dataobj->get_value("collection_method"), + "xml:lang"=>$repo->get_language->get_id, + descriptionType =>"Methods")); } if ($dataobj->exists_and_set("provenance")) { - my $processing = $dataobj->get_value("provenance"); - $description->appendChild($xml->create_data_element("description", $processing, descriptionType =>"Methods")); + $descriptions = $xml->create_element("descriptions") if(!defined $descriptions); + $descriptions->appendChild($xml->create_data_element("description", $dataobj->get_value("provenance"), + "xml:lang"=>$repo->get_language->get_id, + descriptionType =>"TechnicalInfo")); } - - - - return $description# of somedescription -}; - - - - - - -$c->{datacite_mapping_date} = sub { - my ( $xml, $dataobj, $repo, $value ) = @_; - $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; - return $xml->create_data_element( "publicationYear", $1 ) if $1; - + return $descriptions; }; +################################################################# +# subjects this is derived from the eprint.keywords +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#subjects $c->{datacite_mapping_keywords} = sub { - my($xml, $dataobj, $repo, $value) = @_; + my($xml, $dataobj, $repo) = @_; + my $subjects = undef; if ($dataobj->exists_and_set("keywords")) { my $subjects = $xml->create_element("subjects"); my $keywords = $dataobj->get_value("keywords"); + # keyswords as a multiple field if (ref($keywords) eq "ARRAY") { foreach my $keyword(@$keywords) { - $subjects->appendChild($xml->create_data_element("subject", $keyword, "xml:lang"=>"en-us")); + $subjects->appendChild($xml->create_data_element("subject", $keyword, + "xml:lang"=>$repo->get_language->get_id)); } - return $subjects - - } else { - $subjects->appendChild($xml->create_data_element("subject", $keywords, "xml:lang"=>"en-us")); - return $subjects + #or a block of text + }else{ + $subjects->appendChild($xml->create_data_element("subject", $keywords, + "xml:lang"=>$repo->get_language->get_id)); } } + return $subjects }; +################################################################# +# geoLocations this is derived from the eprint.geographic_cover +# and/or eprint.bounding_box (requires recollect) +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#subjects + $c->{datacite_mapping_geographic_cover} = sub { - my($xml, $dataobj, $repo, $value) = @_; + my($xml, $dataobj, $repo) = @_; - my $geo_locations = $xml->create_element("geoLocations"); - my $geo_location = $xml->create_element("geoLocation"); - if ($dataobj->exists_and_set("geographic_cover")) { + my $geo_locations = undef; - # - #Create XML elements + if ($dataobj->exists_and_set("geographic_cover")) { + $geo_locations = $xml->create_element("geoLocations"); + $geo_locations->appendChild(my $geo_location = $xml->create_element("geoLocation")); # Get value of geographic_cover field and append to $geo_location XML element my $geographic_cover = $dataobj->get_value("geographic_cover"); $geo_location->appendChild($xml->create_data_element("geoLocationPlace", $geographic_cover)); - # + } + + if($dataobj->exists_and_set("bounding_box")){ + if(!defined $geo_locations){ + $geo_locations = $xml->create_element("geoLocations"); + $geo_locations->appendChild(my $geo_location = $xml->create_element("geoLocation")); + } + # Get values of bounding box my $west = $dataobj->get_value("bounding_box_west_edge"); my $east = $dataobj->get_value("bounding_box_east_edge"); my $south = $dataobj->get_value("bounding_box_south_edge"); my $north = $dataobj->get_value("bounding_box_north_edge"); - # # Check to see - # if $north, $south, $east, or $west values are defined - if (defined $north && defined $south && defined $east && defined $west) {# + # if $north, $south, $east, and $west values are defined + if (defined $north && defined $south && defined $east && defined $west) { #Created $geo_location_box XML element - my $geo_location_box = $xml->create_element("geoLocationBox");# + my $geo_location_box = $xml->create_element("geoLocationBox"); #If $long / lat is defined, created XML element with the appropriate value $geo_location_box->appendChild($xml->create_data_element("westBoundLongitude", $west)); $geo_location_box->appendChild($xml->create_data_element("eastBoundLongitude", $east)); $geo_location_box->appendChild($xml->create_data_element("southBoundLatitude", $south)); - $geo_location_box->appendChild($xml->create_data_element("northBoundLatitude", $north));# + $geo_location_box->appendChild($xml->create_data_element("northBoundLatitude", $north)); #Append child $geo_location_box XML element to parent $geo_location XML element + if(!defined $geo_locations){ + $geo_locations = $xml->create_element("geoLocations"); + } + $geo_locations->appendChild(my $geo_location = $xml->create_element("geoLocation")); $geo_location->appendChild($geo_location_box); } - #Append child $geo_location XML element to parent $geo_locations XML element - $geo_locations->appendChild($geo_location); - #Append $geo_locations XML element to XML document# $entry - > appendChild($geo_locations); } return $geo_locations; }; -$c->{datacite_mapping_funders} = sub { - my($xml, $dataobj, $repo, $value) = @_; +################################################################# +# fundingReferences this is derived from the eprint.funders and eprint.projects +# Possibly also eprint.grant (recollect) or a compound eprint.project (rioxx2) +# https://schema.datacite.org/meta/kernel-4.0/metadata.xsd#fundingReferences +$c->{datacite_mapping_funders} = sub { + my($xml, $dataobj, $repo) = @_; + ############################## + # If at all possible we do this: # - # if ($repo - >can_call("datacite_custom_funder")) {# - # return $repo - > call("datacite_custom_funder", $xml, $dataobj);# - # } + # funders => funderName [mandatory] + # projects => awardTitle + # grant -> awardNumber + # funder_id => funderIdentifier + #Funders and projects are default eprints field, both are multiple my $funders = $dataobj->get_value("funders"); - my $grant = $dataobj->get_value("grant"); my $projects = $dataobj->get_value("projects"); + + my $fundingReferences = undef; if ($dataobj->exists_and_set("funders")) { - my $thefunders = $xml->create_element("fundingReferences"); - my $author = $xml->create_element("fundingReference"); - foreach my $funder(@$funders) { - foreach my $project(@$projects) { - $author->appendChild($xml->create_data_element("funderName", $funder)); - $author->appendChild($xml->create_data_element("awardNumber", $grant)); + my $i=0; + $fundingReferences = $xml->create_element("fundingReferences"); + foreach my $funderName(@$funders) { + $fundingReferences->appendChild(my $fundingReference = $xml->create_element("fundingReference")); + $fundingReference->appendChild($xml->create_data_element("funderName", $funderName)); + if($dataobj->exists_and_set("projects")){ + if(ref($projects) =~ /ARRAY/) { + my $project = $projects->[scalar(@$projects)-1]; + if(defined $projects->[$i]){ + $project = $projects->[$i]; + } + $fundingReference->appendChild($xml->create_data_element("awardTitle", $project)); + }else{ + $fundingReference->appendChild($xml->create_data_element("awardTitle", $projects)); + } + } + + #grants is added by recollect if present + if($dataobj->exists_and_set("grant")) { + my $grants = $dataobj->get_value("grant"); + #Just in case it has been configured as multiple + if(ref($grants) =~ /ARRAY/) { + my $grant = $grants->[scalar(@$grants)-1]; + if(defined $grants->[$i]){ + $grant = $grants->[$i]; + } + $fundingReference->appendChild($xml->create_data_element("awardNumber", $grant)); + }else{ + $fundingReference->appendChild($xml->create_data_element("awardNumber", $grants)); + } } - $thefunders->appendChild($author); } - return $thefunders; - } -}; + } + + #If we have the funder data in the ioxx2 format. + #This will be preferred if present (as should have been derived from the thers anyway + #TODO keep grant if present? + if ($dataobj->exists_and_set("rioxx2_project_input")) { + my $i=0; + $fundingReferences = $xml->create_element("fundingReferences"); + foreach my $project(@{$dataobj->value("rioxx2_project_input")}) { + $fundingReferences->appendChild(my $fundingReference = $xml->create_element("fundingReference")); + $fundingReference->appendChild($xml->create_data_element("funderName", $project->{funder_name})); + $fundingReference->appendChild($xml->create_data_element("awardTitle", $project->{project})); + $fundingReference->appendChild($xml->create_data_element("funderId", $project->{funder_id})); + } + } + return $fundingReferences; +}; +# TODO sort this one out too $c->{datacite_mapping_rights_from_docs} = sub { my ( $xml, $dataobj, $repo ) = @_; @@ -234,11 +396,11 @@ my $license = $doc->get_value("license"); my $content = $doc->get_value("content"); - #This doc is the license (for docs that have licese == attached - if($content eq "licence"){ - $attached_licence = $doc->url; - next; - } + #This doc is the license (for docs that have licese == attached + if($content eq "licence"){ + $attached_licence = $doc->url; + next; + } if(EPrints::Utils::is_set($license) && $license ne "attached") { @@ -260,8 +422,7 @@ if(EPrints::Utils::is_set($license) && $license eq "attached") { $rightsList->appendChild($xml->create_data_element("rights", $repo->phrase("licenses_typename_attached"), rightsURI => $attached_licence)); - } - + } } return $rightsList; @@ -291,3 +452,57 @@ return $relatedIdentifiers; }; + + +$c->{validate_datacite} = sub +{ + my( $eprint, $repository ) = @_; + + my $xml = $repository->xml(); + + my @problems = (); + + #NEED CREATORS + if( !$eprint->is_set( "creators" ) && + !$eprint->is_set( "corp_creators" ) ) + { + my $creators = $xml->create_element( "span", class=>"ep_problem_field:creators" ); + my $corp_creators = $xml->create_element( "span", class=>"ep_problem_field:corp_creators" ); + + push @problems, $repository->html_phrase( + "datacite_validate:need_creators_or_corp_creators", + creators=>$creators, + corp_creators=>$corp_creators ); + } + + #NEED CREATORS + if( !$eprint->is_set( "title" ) ) + { + my $title = $xml->create_element( "span", class=>"ep_problem_field:title" ); + + push @problems, $repository->html_phrase( + "datacite_validate:need_title", + title=>$title ); + } + + if( !$eprint->is_set( "publisher" ) ) + { + my $publisher = $xml->create_element( "span", class=>"ep_problem_field:publisher" ); + my $default_publisher = $repository->make_text( $repository->get_conf("datacitedoi","publisher") ); + push @problems, $repository->html_phrase( + "datacite_validate:need_publisher", + publisher=>$publisher, + default_publisher => $default_publisher); + } + + if( !$eprint->is_set( "date" ) && (!$eprint->is_set( "date_type" ) || $eprint->value( "date_type" ) eq "published") ) + { + my $dates = $xml->create_element( "span", class=>"ep_problem_field:dates" ); + + push @problems, $repository->html_phrase( + "datacite_validate:need_published_year", + dates=>$dates ); + } + + return( @problems ); +}; From 27966731e7a94c6b7ac963419afd8a5de1bd85b4 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 13 Sep 2018 14:05:12 +0100 Subject: [PATCH 070/107] change to allow more control in ...mapping.pl file --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index e20c607..76eaaf1 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -61,15 +61,12 @@ sub output_dataobj foreach my $field ( $dataobj->{dataset}->get_fields ){ my $mapping_fn = "datacite_mapping_".$field->get_name; - if($repo->can_call($mapping_fn) && $dataobj->exists_and_set($field->get_name)){ - my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo, $dataobj->value($field->get_name) ); + if($repo->can_call($mapping_fn)){ + my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } } - - # Add in our publisher from the config - $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - + # There is no field for rights at EPrints leve so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop if($repo->can_call("datacite_mapping_rights_from_docs")){ From f4dc3c19e077802da5571ad46579bc3e932f89ca Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 13 Sep 2018 14:05:29 +0100 Subject: [PATCH 071/107] phrases for warnings --- lib/lang/en/phrases/coinDOI.xml | 57 ++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 26 deletions(-) diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index 37bbafa..c58b467 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -93,32 +93,37 @@ - -http://creativecommons.org/licenses/by-nc-nd/3.0/ -http://creativecommons.org/licenses/by/3.0/ -http://creativecommons.org/licenses/by-nc-sa/3.0/ -http://creativecommons.org/licenses/by-nc/3.0/ -http://creativecommons.org/licenses/by-nd/3.0/ -http://creativecommons.org/licenses/by-sa/3.0/ - -http://creativecommons.org/licenses/by-nc-nd/4.0/ -http://creativecommons.org/licenses/by/4.0/ -http://creativecommons.org/licenses/by-nc-sa/4.0/ -http://creativecommons.org/licenses/by-nc/4.0/ -http://creativecommons.org/licenses/by-nd/4.0/ -http://creativecommons.org/licenses/by-sa/4.0/ -Licence document attached - -http://creativecommons.org/licenses/publicdomain/ -attached -http://opensource.org/licenses/MIT -http://www.gnu.org/licenses/gpl.html -http://www.gnu.org/licenses/lgpl.html -http://www.apache.org/licenses/LICENSE-2.0 -http://researchdata.reading.ac.uk/licence_restricted_data.html - - - + + http://creativecommons.org/licenses/by-nc-nd/3.0/ + http://creativecommons.org/licenses/by/3.0/ + http://creativecommons.org/licenses/by-nc-sa/3.0/ + http://creativecommons.org/licenses/by-nc/3.0/ + http://creativecommons.org/licenses/by-nd/3.0/ + http://creativecommons.org/licenses/by-sa/3.0/ + + http://creativecommons.org/licenses/by-nc-nd/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by-nc-sa/4.0/ + http://creativecommons.org/licenses/by-nc/4.0/ + http://creativecommons.org/licenses/by-nd/4.0/ + http://creativecommons.org/licenses/by-sa/4.0/ + Licence document attached + + http://creativecommons.org/licenses/publicdomain/ + attached + http://opensource.org/licenses/MIT + http://www.gnu.org/licenses/gpl.html + http://www.gnu.org/licenses/lgpl.html + http://www.apache.org/licenses/LICENSE-2.0 + http://researchdata.reading.ac.uk/licence_restricted_data.html + + +

There are no suitable values for the mandatory field datacite:Creator. Please supply creators or corp_creators before coining a DOI.

+

There are no suitable values for the mandatory field datacite:Title. Please supply a title before coining a DOI.

+ +

There are no suitable values for the mandatory field datacite:Publisher. Please supply publisher before coining a DOI.

+ +

There are no suitable values for the mandatory field datacite:PublicationYear. Please supply a publication date before coining a DOI.

From 54a5653f5782b02d8a25425e2af9cf7c4ca02713 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Thu, 13 Sep 2018 14:06:04 +0100 Subject: [PATCH 072/107] validation of data and warnings if mandatory fields are not present --- .../Plugin/Screen/EPrint/Staff/CoinDOI.pm | 86 ++++++++++++++----- 1 file changed, 65 insertions(+), 21 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm index ebf96bb..4d3d4fc 100644 --- a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +++ b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm @@ -41,40 +41,64 @@ sub about_to_render sub allow_coindoi { - my( $self ) = @_; + my( $self ) = @_; - return 0 unless $self->could_obtain_eprint_lock; + return 0 unless $self->could_obtain_eprint_lock; my $repository = $self->{repository}; #TODO a version that works for documents too my $dataobj = $self->{processor}->{eprint}; - return 0 unless $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); - # Don't show coinDOI button if a DOI is already registered - return 0 if $dataobj->is_set($repository->get_conf( "datacitedoi", "eprintdoifield")); - return $self->allow( "eprint/edit:editor" ); + return 0 unless $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); + # Don't show coinDOI button if a DOI is already set AND coining of custom doi is disallowed + return 0 if($dataobj->is_set($repository->get_conf( "datacitedoi", "eprintdoifield")) && + !$repository->get_conf("datacitedoi","allow_custom_doi")); + #TODO don't allow the coinDOI button if a DOI is already registered (may require a db flag for successful reg) + # Or maybe check with datacite api to see if a doi is registered + return $self->allow( "eprint/edit:editor" ); } sub action_coindoi { - my( $self ) = @_; - - my $repository = $self->{repository}; + my( $self ) = @_; - return undef if (!defined $repository); + my $repository = $self->{repository}; + + return undef if (!defined $repository); + + $self->{processor}->{redirect} = $self->redirect_to_me_url()."&_current=2"; + + my $eprint = $self->{processor}->{eprint}; + + if (defined $eprint) { + + + my $problems = $self->validate($eprint); + + if( scalar @{$problems} > 0 ) + { + my $dom_problems = $self->{session}->make_element("ul"); + foreach my $problem_xhtml ( @{$problems} ) + { + $dom_problems->appendChild( my $li = $self->{session}->make_element("li")); + $li->appendChild( $problem_xhtml ); + } + $self->workflow->link_problem_xhtml( $dom_problems, "EPrint::Edit" ); + $self->{processor}->add_message( "warning", $dom_problems ); + - my $eprint = $self->{processor}->{eprint}; + }else{ - if (defined $eprint) { - my $eprint_id = $eprint->id; + my $eprint_id = $eprint->id; - $repository->dataset( "event_queue" )->create_dataobj({ - pluginid => "Event::DataCiteEvent", - action => "datacite_doi", - params => [$eprint->internal_uri], - }); - - $self->add_result_message( 1 ); - } + $repository->dataset( "event_queue" )->create_dataobj({ + pluginid => "Event::DataCiteEvent", + action => "datacite_doi", + params => [$eprint->internal_uri], + }); + + $self->add_result_message( 1 ); + } + } } sub add_result_message @@ -95,4 +119,24 @@ sub add_result_message $self->{processor}->{screenid} = "EPrint::View"; } +# Validate this datacite submission this will call validate_datacite in cfg.d/z_datacite.pl +sub validate +{ + my( $self, $eprint ) = @_; + + my @problems; + + my $validate_fn = "validate_datacite"; + if( $self->{session}->can_call( $validate_fn ) ) + { + push @problems, $self->{session}->call( + $validate_fn, + $eprint, + $self->{session} ); + } + + return \@problems; +} + + 1; From 9ff73f12fdfd7102b51c6c26e68bced4748c8749 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 13 Sep 2018 12:46:55 +1000 Subject: [PATCH 073/107] I have replaced the contents of README.md's example configuration with that of the actual configuration file. --- README.md | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 292e940..8ec593e 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,9 @@ $c->{plugins}{"Event::DataCiteEvent"}{params}{disable} = 0; # which field to use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; +#for xml:lang attributes in XML +$c->{datacitedoi}{defaultlangtag} = "en-GB"; + #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; @@ -46,21 +49,23 @@ $c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org"; $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; -# datacite requires a Publisher -# The name of the entity that holds, archives, publishes, -# prints, distributes, releases, issues, or produces the -# resource. This property will be used to formulate the +# DataCite requires a Publisher +# The name of the entity that holds, archives, publishes, +# prints, distributes, releases, issues, or produces the +# resource. This property will be used to formulate the # citation, so consider the prominence of the role. -# eg World Data Center for Climate (WDCC); -$c->{datacitedoi}{publisher} = "Eprints Repo"; +# eg World Data Center for Climate (WDCC); +$c->{datacitedoi}{publisher} = "EPrints Repo"; -# Namespace and location for datacite XML schema +# Namespace and location for DataCite XML schema # feel free to update, though no guarantees it'll be accepted if you do -$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-2.2"; -$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." ".$c->{datacitedoi}{xmlns}."/metadata.xsd"; +$c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-4"; +# Try this instead: +# $c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." ".$c->{datacitedoi}{xmlns}."/metadata.xsd"; +$c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-4/metadata.xsd"; -# need to map eprint type (article, dataset etc) to ResourceType -# Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf +# Need to map eprint type (article, dataset etc) to DOI ResourceType +# Controlled list http://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf # where v is the ResourceType and a is the resourceTypeGeneral $c->{datacitedoi}{typemap}{article} = {v=>'Article',a=>'Text'}; $c->{datacitedoi}{typemap}{book_section} = {v=>'BookSection',a=>'Text'}; @@ -77,19 +82,20 @@ $c->{datacitedoi}{typemap}{teaching_resource} = {v=>'TeachingResourse',a=>'Inter $c->{datacitedoi}{typemap}{other} = {v=>'Misc',a=>'Collection'}; $c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; $c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; -$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Film'}; +$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Audiovisual'}; +$c->{datacitedoi}{typemap}{data_collection} = {v=>'Dataset',a=>'Dataset'}; ########################### #### DOI syntax config #### ########################### -# Set config of DOI delimiters +# Set config of DOI delimiters # Feel free to change, but they must conform to DOI syntax # If not set will default to prefix/repoid/id the example below gives prefix/repoid.id $c->{datacitedoi}{delimiters} = ["/","."]; # If set, plugin will attempt to register what is found in the EP DOI field ($c->{datacitedoi}{eprintdoifield}) -# Will only work if what is found adheres to DOI syntax rules (obvioulsy) +# Will only work if what is found adheres to DOI syntax rules (obviously) $c->{datacitedoi}{allow_custom_doi} = 0; #Datacite recommend digits of length 8-10 set this param to pad the id to required length @@ -122,12 +128,12 @@ if($c->{datacitedoi}{auto_coin}){ $c->add_dataset_trigger( "eprint", EP_TRIGGER_STATUS_CHANGE , sub { my ( %params ) = @_; - my $repository = %params->{repository}; - + my $repository = $params{repository}; + return undef if (!defined $repository); - - if (defined %params->{dataobj}) { - my $dataobj = %params->{dataobj}; + + if (defined $params{dataobj}) { + my $dataobj = $params{dataobj}; my $eprint_id = $dataobj->id; $repository->dataset( "event_queue" )->create_dataobj({ pluginid => "Event::DataCiteEvent", @@ -135,11 +141,11 @@ if($c->{datacitedoi}{auto_coin}){ params => [$dataobj->internal_uri], }); } - + }); } -# Activate an action button, the plugin for whcih is at +# Activate an action button, the plugin for which is at # /plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm if($c->{datacitedoi}{action_coin}){ $c->{plugins}{"Screen::EPrint::Staff::CoinDOI"}{params}{disable} = 0; From f722b2f25733215eadeb0a310e557af7c73c493a Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Tue, 25 Sep 2018 11:17:27 +1000 Subject: [PATCH 074/107] Make DOI minters configurable (#32) Not everyone who can edit should necesarily be allowed to coin a DOI. With this change the permission/role specifying who can mint becomes configurable with its default value being the current setting. --- README.md | 4 ++++ cfg/cfg.d/z_datacitedoi.pl | 4 ++++ lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ec593e..40ae159 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,10 @@ $c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org"; $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; +# Priviledge required to be able to mint DOIs +# See https://wiki.eprints.org/w/User_roles.pl for role and privilege configuration +$c->{datacitedoi}{minters} = "eprint/edit:editor"; + # DataCite requires a Publisher # The name of the entity that holds, archives, publishes, # prints, distributes, releases, issues, or produces the diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 16c501f..ffde194 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -19,6 +19,10 @@ $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; +# Priviledge required to be able to mint DOIs +# See https://wiki.eprints.org/w/User_roles.pl for role and privilege configuration +$c->{datacitedoi}{minters} = "eprint/edit:editor"; + # datacite requires a Publisher # The name of the entity that holds, archives, publishes, # prints, distributes, releases, issues, or produces the diff --git a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm index 4d3d4fc..63c23c6 100644 --- a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +++ b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm @@ -54,7 +54,7 @@ sub allow_coindoi !$repository->get_conf("datacitedoi","allow_custom_doi")); #TODO don't allow the coinDOI button if a DOI is already registered (may require a db flag for successful reg) # Or maybe check with datacite api to see if a doi is registered - return $self->allow( "eprint/edit:editor" ); + return $self->allow( $repository->get_conf( "datacitedoi", "minters") ); } sub action_coindoi From e1ccc5a8ff00891604e40af31eb00e9dbc094c88 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Tue, 25 Sep 2018 11:21:51 +1000 Subject: [PATCH 075/107] WIP: Only permit coining DOIs for certain eprint types (#30) This configuration option allows for altering which types of eprints will display a 'Coin DOI' button on their administration page. We are currently using this functionality so can attest to it having some use testing. --- README.md | 9 +++++++++ cfg/cfg.d/z_datacitedoi.pl | 10 ++++++++++ .../EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm | 4 ++++ 3 files changed, 23 insertions(+) diff --git a/README.md b/README.md index 40ae159..049d50e 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,15 @@ $c->{datacitedoi}{defaultlangtag} = "en-GB"; #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; +# Choose which EPrint types are allowed (or denied) the ability to coin DOIs. Keys must be lower case and be eprints *types* not *type_names*. +# Entries here can be explicitly skipped by setting 0; however those not listed with a 1 are not given a Coin DOI button by default. +# $c->{datacitedoi}{typesallowed} = { +# 'article'=>0, # Article +# 'thesis'=>1, # Thesis +# 'creative_works' => 1, # Creative Works +# 'dataset' => 1, # Dataset +# }; + #set these (you will get the from data site) # doi = {prefix}/{repoid}/{eprintid} $c->{datacitedoi}{prefix} = "10.5072"; diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index ffde194..c2c7c2d 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -11,6 +11,16 @@ #When should you register/update doi info. $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; +# Choose which EPrint types are allowed (or denied) the ability to coin DOIs. Keys must be lower case and be eprints *types* not *type_names*. +# Entries here can be explicitly skipped by setting 0; however those not listed with a 1 are not given a Coin DOI button by default. +# To include the 'Coin DOI' button on all types leave this undefined. +# $c->{datacitedoi}{typesallowed} = { +# 'article'=>0, # Article +# 'thesis'=>1, # Thesis +# 'creative_works' => 1, # Creative Works +# 'dataset' => 1, # Dataset +# }; + #set these (you will get the from data site) # doi = {prefix}/{repoid}/{eprintid} $c->{datacitedoi}{prefix} = "10.5072"; diff --git a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm index 63c23c6..a1c39c4 100644 --- a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +++ b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm @@ -48,6 +48,10 @@ sub allow_coindoi my $repository = $self->{repository}; #TODO a version that works for documents too my $dataobj = $self->{processor}->{eprint}; + if (defined $repository->get_conf( "datacitedoi", "typesallowed")) { + # Is this type of eprint allowed/denied coining? + return 0 unless $repository->get_conf( "datacitedoi", "typesallowed", $dataobj->get_type); + } return 0 unless $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); # Don't show coinDOI button if a DOI is already set AND coining of custom doi is disallowed return 0 if($dataobj->is_set($repository->get_conf( "datacitedoi", "eprintdoifield")) && From 6fa9f2a163ca8686615ea7ff78d4a1b36ec1ab9a Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Tue, 25 Sep 2018 11:25:14 +1000 Subject: [PATCH 076/107] Update the controlled mapping list to schema 4.1 (#27) This updates the URL associated with the schema in z_datacitedoi.pl. The changes happend in 3.0 but 4.1 appears to have the same list as 3.0 was released with. --- cfg/cfg.d/z_datacitedoi.pl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index c2c7c2d..e1b8b0d 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -44,10 +44,12 @@ # Namespace and location for datacite XML schema # feel free to update, though no guarantees it'll be accepted if you do $c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-4"; +# Try this instead: +# $c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." ".$c->{datacitedoi}{xmlns}."/metadata.xsd"; $c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.datacite.org/meta/kernel-4/metadata.xsd"; -# need to map eprint type (article, dataset etc) to ResourceType -# Controled list http://schema.datacite.org/meta/kernel-2.2/doc/DataCite-MetadataKernel_v2.2.pdf +# Need to map eprint type (article, dataset etc) to DOI ResourceType +# Controlled list http://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf # where v is the ResourceType and a is the resourceTypeGeneral #$c->{datacitedoi}{typemap}{book_section} = {v=>'BookSection',a=>'Text'}; $c->{datacitedoi}{typemap}{article} = {v=>'Article',a=>'Text'}; From f930aa4c4eecdf4cf63b50e8881753dff9883b4e Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Tue, 25 Sep 2018 11:31:08 +1000 Subject: [PATCH 077/107] Correct various spelling and whitespace errors (#28) Minor changes, just a collection of issues I noticed while reading through the plugin. --- cfg/cfg.d/z_datacitedoi.pl | 11 ++++++----- lib/cfg.d/z_datacite_mapping.pl | 4 +++- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 2 +- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 9 ++++++--- 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index e1b8b0d..66a39a2 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -29,19 +29,20 @@ $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; + # Priviledge required to be able to mint DOIs # See https://wiki.eprints.org/w/User_roles.pl for role and privilege configuration $c->{datacitedoi}{minters} = "eprint/edit:editor"; -# datacite requires a Publisher +# DataCite requires a Publisher # The name of the entity that holds, archives, publishes, # prints, distributes, releases, issues, or produces the # resource. This property will be used to formulate the # citation, so consider the prominence of the role. # eg World Data Center for Climate (WDCC); -$c->{datacitedoi}{publisher} = "Eprints Repo"; +$c->{datacitedoi}{publisher} = "EPrints Repo"; -# Namespace and location for datacite XML schema +# Namespace and location for DataCite XML schema # feel free to update, though no guarantees it'll be accepted if you do $c->{datacitedoi}{xmlns} = "http://datacite.org/schema/kernel-4"; # Try this instead: @@ -83,7 +84,7 @@ $c->{datacitedoi}{delimiters} = ["/","."]; # If set, plugin will attempt to register what is found in the EP DOI field ($c->{datacitedoi}{eprintdoifield}) -# Will only work if what is found adheres to DOI syntax rules (obvioulsy) +# Will only work if what is found adheres to DOI syntax rules (obviously) $c->{datacitedoi}{allow_custom_doi} = 0; #Datacite recommend digits of length 8-10 set this param to pad the id to required length @@ -133,7 +134,7 @@ }); } -# Activate an action button, the plugin for whcih is at +# Activate an action button, the plugin for which is at # /plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm if($c->{datacitedoi}{action_coin}){ $c->{plugins}{"Screen::EPrint::Staff::CoinDOI"}{params}{disable} = 0; diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 995c8ab..1fac13c 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -160,6 +160,7 @@ # Year when the data is made publicly available. # If an embargo period has been in effect, use the date when the embargo period ends. + $c->{datacite_mapping_date} = sub { my ( $xml, $dataobj, $repo ) = @_; @@ -396,7 +397,8 @@ my $license = $doc->get_value("license"); my $content = $doc->get_value("content"); - #This doc is the license (for docs that have licese == attached + + # This doc is the license (for docs that have license == attached if($content eq "licence"){ $attached_licence = $doc->url; next; diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 1b988d9..9ad68f6 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -19,7 +19,7 @@ sub datacite_doi my $repository = $self->repository(); - #Check object status first.... TODO Make work for dataobj == doument (just in case) + # Check object status first.... TODO: Make work for dataobj == document (just in case) my $shoulddoi = $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); #Check Doi Status if(!$shoulddoi){ diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index 76eaaf1..bcb3114 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -66,14 +66,17 @@ sub output_dataobj $entry->appendChild( $mapped_element ) if(defined $mapped_element); } } - - # There is no field for rights at EPrints leve so we derive rights from document + + # Add in our publisher from the config + $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); + + # There is no field for rights at EPrints level so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop if($repo->can_call("datacite_mapping_rights_from_docs")){ my $mapped_element = $repo->call( "datacite_mapping_rights_from_docs", $xml, $dataobj, $repo ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } -####### From here on in you can redefine datacite_ampping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### +####### From here on in you can redefine datacite_mapping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### return ''."\n".$xml->to_string($entry); From fa34723f2f94ff37d9291612ae2ea91f832c7fed Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 26 Sep 2018 11:27:01 +1000 Subject: [PATCH 078/107] Check doi prefix (#31) Rework hostname check as validation sub routine Based on feedback in #31 I've merged my existing code in to the new 2.1 branch's validate_datacite function. There are a couple of minor updates too: * Update path to validate_datacite ; validate_datacite lives in the mapping file under lib/cfg.d rather than the main configuration file in cfg/cfg.d. * Copy / paste fix in a comment * Now using get_conf instead of $c-> --- README.md | 3 +++ cfg/cfg.d/z_datacitedoi.pl | 3 +++ lib/cfg.d/z_datacite_mapping.pl | 20 ++++++++++++++++++- lib/lang/en/phrases/coinDOI.xml | 2 ++ .../Plugin/Screen/EPrint/Staff/CoinDOI.pm | 2 +- 5 files changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 049d50e..df9983d 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,9 @@ This config file contains all the configurable settings for the plugin, see comm $c->{plugins}{"Export::DataCiteXML"}{params}{disable} = 0; $c->{plugins}{"Event::DataCiteEvent"}{params}{disable} = 0; +# Regex to match pre production servers +# $c->{datacitedoi}{test_host_regex} = 'dev|test|preprod'; + # which field to use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index 66a39a2..e91674a 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -2,6 +2,9 @@ $c->{plugins}{"Export::DataCiteXML"}{params}{disable} = 0; $c->{plugins}{"Event::DataCiteEvent"}{params}{disable} = 0; +# Regex to match pre production servers +# $c->{datacitedoi}{test_host_regex} = 'dev|test|preprod'; + #which field do use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 1fac13c..22d6fe6 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -464,6 +464,23 @@ my @problems = (); + # If this host is not production it should probably use a test endpoint. + # To prevent this check change the test_host_regex regex not to match hostname + # or ensure test_host_regex is undefined (as is the default) + + my $test_regex = $repository->get_conf("datacitedoi", "test_host_regex"); + if (defined $test_regex){ + use Sys::Hostname; + my $doi_prefix = $repository->get_conf("datacitedoi", "prefix"); + + # Does this host match the regex? Is it using the test DOI prefix? + if ((hostname =~ $test_regex) && ("10.5072" != $doi_prefix)) { + push @problems, $repository->html_phrase( + "datacite_validate:doi_prefix_mismatch", + ); + } + } + #NEED CREATORS if( !$eprint->is_set( "creators" ) && !$eprint->is_set( "corp_creators" ) ) @@ -477,7 +494,7 @@ corp_creators=>$corp_creators ); } - #NEED CREATORS + #NEED TITLE if( !$eprint->is_set( "title" ) ) { my $title = $xml->create_element( "span", class=>"ep_problem_field:title" ); @@ -508,3 +525,4 @@ return( @problems ); }; + diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index c58b467..d624dd9 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -125,5 +125,7 @@

There are no suitable values for the mandatory field datacite:PublicationYear. Please supply a publication date before coining a DOI.

+

Your server hostname matches test_host_regex but is not using the test DOI prefix of 10.5072.

+ diff --git a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm index a1c39c4..b25012c 100644 --- a/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm +++ b/lib/plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm @@ -123,7 +123,7 @@ sub add_result_message $self->{processor}->{screenid} = "EPrint::View"; } -# Validate this datacite submission this will call validate_datacite in cfg.d/z_datacite.pl +# Validate this datacite submission - this will call validate_datacite in lib/cfg.d/z_datacite_mapping.pl sub validate { my( $self, $eprint ) = @_; From ea640988e3703deeb025983c4825a2bc3442d058 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 26 Sep 2018 11:33:32 +1000 Subject: [PATCH 079/107] Move from Crypt::SSLeay to LWP::Protocol::https As reported in #14, Crypt::SSLeay is no longer the recommended way of getting HTTPS through LWP. https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&diff=prev&oldid=12408 This is also backed up by Crypt::SSLeay upstream who warn ``` At this point, Crypt::SSLeay is maintained to support existing software that already depends on it. However, it is possible that your software does not really depend on Crypt::SSLeay, only on the ability of LWP::UserAgent class to communicate with sites over SSL/TLS. ``` https://metacpan.org/pod/Crypt::SSLeay#DO-YOU-NEED-Crypt::SSLeay? Closes: #14 Closes: #23 --- README.md | 2 +- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index df9983d..b322f9a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ In order to use the DataCite API the plugin requires the following perl librarie ``` use LWP; -use Crypt::SSLeay; +use LWP::Protocol::https; ``` Installation diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 9ad68f6..092656b 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -8,7 +8,6 @@ package EPrints::Plugin::Event::DataCiteEvent; use EPrints::Plugin::Event; use LWP; -use Crypt::SSLeay; use HTTP::Headers::Util; @ISA = qw( EPrints::Plugin::Event ); From 95e7558feca1a3d8278bfa6bc4663016aeddf190 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 27 Sep 2018 09:57:27 +1000 Subject: [PATCH 080/107] Check $content exists before invocation If a document has no 'content' value $content will be empty and the condition will generate a warning. --- lib/cfg.d/z_datacite_mapping.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 22d6fe6..2e579c0 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -399,7 +399,7 @@ my $content = $doc->get_value("content"); # This doc is the license (for docs that have license == attached - if($content eq "licence"){ + if ((defined $content) && ($content eq "licence")){ $attached_licence = $doc->url; next; } From d92651282fc77ee4e542bb24840279f68d11abc3 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 27 Sep 2018 14:23:28 +1000 Subject: [PATCH 081/107] Include matched regex and DOI prefix in error message I attempted to include this in the original version of the changes but couldn't get it working until I stumbled upon https://wiki.eprints.org/w/index.php?title=My_First_Bazaar_Package and its example Hello.pm. Message now includes the matched regex and doi prefix in the error message, bolded for readability. --- lib/cfg.d/z_datacite_mapping.pl | 2 ++ lib/lang/en/phrases/coinDOI.xml | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 2e579c0..50ab2b3 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -477,6 +477,8 @@ if ((hostname =~ $test_regex) && ("10.5072" != $doi_prefix)) { push @problems, $repository->html_phrase( "datacite_validate:doi_prefix_mismatch", + match_regexp=> $xml->create_text_node("$test_regex"), + configured_doi_prefix=> $xml->create_text_node("$doi_prefix"), ); } } diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index d624dd9..b154f16 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -125,7 +125,8 @@

There are no suitable values for the mandatory field datacite:PublicationYear. Please supply a publication date before coining a DOI.

-

Your server hostname matches test_host_regex but is not using the test DOI prefix of 10.5072.

+

Your server hostname matches the preprod regex but is not using the test DOI prefix - current prefix is .

+ From b77efe503db6111fc660abde1d4e358994b67a43 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 3 Oct 2018 11:50:06 +1000 Subject: [PATCH 082/107] Fix mapping for Text types "Text15" appears to have been copied verbaitum from DataCite-MetadataKernel_v4.0.pdf , where "Text" appears with superscript "15" to indicate a footnote. For anyone playing along at home, in v4.1 the relevant footnote is 18. --- lib/cfg.d/z_datacite_mapping.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 50ab2b3..5567a77 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -35,7 +35,7 @@ Service Software Sound - Text15 + Text Workflow Other /]; From ca572aaf1cec76c2f75ec3ba779fdaae97d08f16 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 3 Oct 2018 16:28:02 +1000 Subject: [PATCH 083/107] Ignore vim temp files --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a8e9c5e..45ecce2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ - +*.sw[po] DataCiteDoi.epm From 50d3eec08d0911be58980250b50ca1bcebb7d121 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 4 Oct 2018 10:09:50 +1000 Subject: [PATCH 084/107] WIP: Libcurl backend (#26) Offer WWW::Curl as an option for API connections The cause of this development was the age of LWP in RHEL6.10 can't handle SNI servers - used by DataCite for their API. For more on the LWP age issue and curl updates which ensure it works see these issues. https://github.com/libwww-perl/LWP-Protocol-https/pull/17 LWP SNI fix from 6.07 https://github.com/curl/curl/issues/700 - Curl updates in RHEL 6.7 and 6.8 This branch/change allows curl to be used opt in, defaulting to LWP, and should not change any existing behaviours (those breaking changes were in #23 and #33). There are also some other changes which have come through as I've tried to keep various files (like configuration and README) in sync. --- README.md | 32 +++++++-- cfg/cfg.d/z_datacitedoi.pl | 4 +- .../EPrints/Plugin/Event/DataCiteEvent.pm | 71 +++++++++++++++++-- 3 files changed, 95 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index b322f9a..98859f8 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,18 @@ use LWP; use LWP::Protocol::https; ``` +For systems who's +[LWP::Protocol::https](https://metacpan.org/release/LWP-Protocol-https) is +older than 6.0.7 and where connections will be made to SNI enabled servers +WWW::Curl should be used instead. + +``` +use WWW::Curl; +``` + +If using WWW::Curl ensure configuration item `$c->{datacitedoi}{use_curl}` is defined. + + Installation ------------- @@ -46,6 +58,7 @@ $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; # Choose which EPrint types are allowed (or denied) the ability to coin DOIs. Keys must be lower case and be eprints *types* not *type_names*. # Entries here can be explicitly skipped by setting 0; however those not listed with a 1 are not given a Coin DOI button by default. +# To include the 'Coin DOI' button on all types leave this undefined. # $c->{datacitedoi}{typesallowed} = { # 'article'=>0, # Article # 'thesis'=>1, # Thesis @@ -57,10 +70,13 @@ $c->{datacitedoi}{eprintstatus} = {inbox=>0,buffer=>1,archive=>1,deletion=>0}; # doi = {prefix}/{repoid}/{eprintid} $c->{datacitedoi}{prefix} = "10.5072"; $c->{datacitedoi}{repoid} = $c->{host}; -$c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org"; +$c->{datacitedoi}{apiurl} = "https://mds.test.datacite.org/"; $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; +# Backend library used for connecting to API; defaults to LWP (configuration item unset) but can also be Curl (configuration item set). +# $c->{datacitedoi}{use_curl} = "yes"; + # Priviledge required to be able to mint DOIs # See https://wiki.eprints.org/w/User_roles.pl for role and privilege configuration $c->{datacitedoi}{minters} = "eprint/edit:editor"; @@ -83,23 +99,27 @@ $c->{datacitedoi}{schemaLocation} = $c->{datacitedoi}{xmlns}." http://schema.dat # Need to map eprint type (article, dataset etc) to DOI ResourceType # Controlled list http://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf # where v is the ResourceType and a is the resourceTypeGeneral +#$c->{datacitedoi}{typemap}{book_section} = {v=>'BookSection',a=>'Text'}; $c->{datacitedoi}{typemap}{article} = {v=>'Article',a=>'Text'}; -$c->{datacitedoi}{typemap}{book_section} = {v=>'BookSection',a=>'Text'}; $c->{datacitedoi}{typemap}{monograph} = {v=>'Monograph',a=>'Text'}; $c->{datacitedoi}{typemap}{thesis} = {v=>'Thesis',a=>'Text'}; $c->{datacitedoi}{typemap}{book} = {v=>'Book',a=>'Text'}; $c->{datacitedoi}{typemap}{patent} = {v=>'Patent',a=>'Text'}; $c->{datacitedoi}{typemap}{artefact} = {v=>'Artefact',a=>'PhysicalObject'}; -$c->{datacitedoi}{typemap}{performance} = {v=>'Performance',a=>'Event'}; +$c->{datacitedoi}{typemap}{exhibition} = {v=>'Exhibition',a=>'InteractiveResource'}; $c->{datacitedoi}{typemap}{composition} = {v=>'Composition',a=>'Sound'}; +$c->{datacitedoi}{typemap}{performance} = {v=>'Performance',a=>'Event'}; $c->{datacitedoi}{typemap}{image} = {v=>'Image',a=>'Image'}; +$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'AudioVisual'}; +$c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; +$c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; $c->{datacitedoi}{typemap}{experiment} = {v=>'Experiment',a=>'Text'}; $c->{datacitedoi}{typemap}{teaching_resource} = {v=>'TeachingResourse',a=>'InteractiveResource'}; $c->{datacitedoi}{typemap}{other} = {v=>'Misc',a=>'Collection'}; -$c->{datacitedoi}{typemap}{dataset} = {v=>'Dataset',a=>'Dataset'}; -$c->{datacitedoi}{typemap}{audio} = {v=>'Audio',a=>'Sound'}; -$c->{datacitedoi}{typemap}{video} = {v=>'Video',a=>'Audiovisual'}; +#For use with recollect $c->{datacitedoi}{typemap}{data_collection} = {v=>'Dataset',a=>'Dataset'}; +$c->{datacitedoi}{typemap}{collection} = {v=>'Collection',a=>'Collection'}; + ########################### #### DOI syntax config #### diff --git a/cfg/cfg.d/z_datacitedoi.pl b/cfg/cfg.d/z_datacitedoi.pl index e91674a..cd394d9 100644 --- a/cfg/cfg.d/z_datacitedoi.pl +++ b/cfg/cfg.d/z_datacitedoi.pl @@ -5,7 +5,7 @@ # Regex to match pre production servers # $c->{datacitedoi}{test_host_regex} = 'dev|test|preprod'; -#which field do use for the doi +# which field to use for the doi $c->{datacitedoi}{eprintdoifield} = "id_number"; #for xml:lang attributes in XML @@ -32,6 +32,8 @@ $c->{datacitedoi}{user} = "USER"; $c->{datacitedoi}{pass} = "PASS"; +# Backend library used for connecting to API; defaults to LWP (configuration item unset) but can also be Curl (configuration item set). +# $c->{datacitedoi}{use_curl} = "yes"; # Priviledge required to be able to mint DOIs # See https://wiki.eprints.org/w/User_roles.pl for role and privilege configuration diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 092656b..f253807 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -7,8 +7,8 @@ EPrints::Plugin::Event::DataCiteEvent package EPrints::Plugin::Event::DataCiteEvent; use EPrints::Plugin::Event; -use LWP; -use HTTP::Headers::Util; + +# Network client libraries included below in datacite_request @ISA = qw( EPrints::Plugin::Event ); @@ -42,7 +42,15 @@ sub datacite_doi my $user_pw = $repository->get_conf( "datacitedoi", "pass"); #register metadata; - my($response_content, $response_code) = datacite_request("POST", $url."metadata", $user_name, $user_pw, $xml, "application/xml;charset=UTF-8"); + my $response_content; + my $response_code; + # Test if we want to be using curl; if we don't run the 'old' LWP code + if (defined $repository->get_conf( "datacitedoi", "get_curl")) { + ($response_content, $response_code) = datacite_request_curl($url."metadata", $user_name, $user_pw, $xml, "application/xml;charset=UTF-8"); + } else { + ($response_content, $response_code) = datacite_request("POST", $url."metadata", $user_name, $user_pw, $xml, "application/xml;charset=UTF-8"); + } + if($response_code !~ /20(1|0)/){ $repository->log("Metadata response from datacite api: $response_code: $response_content"); $repository->log("BTW the \$doi was:\n$thisdoi"); @@ -56,7 +64,12 @@ sub datacite_doi $repo_url.= $dataobj->internal_uri; } my $doi_reg = "doi=$thisdoi\nurl=".$repo_url; - ($response_content, $response_code)= datacite_request("POST", $url."doi", $user_name, $user_pw, $doi_reg, "text/plain; charset=utf8"); + # Test if we want to be using curl; if we don't run the 'old' LWP code + if (defined $repository->get_conf( "datacitedoi", "get_curl")) { + ($response_content, $response_code)= datacite_request_curl($url."doi", $user_name, $user_pw, $doi_reg, "text/plain; charset=utf8"); + } else { + ($response_content, $response_code)= datacite_request("POST", $url."doi", $user_name, $user_pw, $doi_reg, "text/plain; charset=utf8"); + } if($response_code !~ /20(1|0)/){ $repository->log("Registration response from datacite api: $response_code: $response_content"); $repository->log("BTW the \$doi_reg was:\n$doi_reg"); @@ -75,12 +88,15 @@ sub datacite_doi sub datacite_request { my ($method, $url, $user_name, $user_pw, $content, $content_type) = @_; + use LWP; + use HTTP::Headers::Util; + # build request my $headers = HTTP::Headers->new( 'Accept' => 'application/xml', 'Content-Type' => $content_type ); - + my $req = HTTP::Request->new( $method => $url, $headers, Encode::encode_utf8( $content ) @@ -94,6 +110,51 @@ sub datacite_request { return ($res->content(),$res->code()); } + + +sub datacite_request_curl { + my ($url, $user_name, $user_pw, $content, $content_type) = @_; + + # build request + my @myheaders = ( + "Accept: application/xml", + "Content-Type: $content_type" + ); + my $curl = new WWW::Curl::Easy; + + $curl->setopt(CURLOPT_FAILONERROR,1); + # $curl->setopt(CURLOPT_HEADER,1); + # $curl->setopt(CURLOPT_VERBOSE, 1); + $curl->setopt(CURLOPT_POST, 1); + $curl->setopt(CURLOPT_URL, $url); + $curl->setopt(CURLOPT_USERNAME, $user_name); + $curl->setopt(CURLOPT_PASSWORD, $user_pw); + $curl->setopt(CURLOPT_POSTFIELDS, $content); + $curl->setopt(CURLOPT_HTTPHEADER, \@myheaders); + + my $response_body; + open (my $fileb, ">", \$response_body); + $curl->setopt(CURLOPT_WRITEDATA,$fileb); + + + # pass request and get a response back + my $retcode = $curl->perform; + + # Use response to determine HTTP status code + $http_retcode = $curl->getinfo(CURLINFO_HTTP_CODE); + +# # Ensure we return a useful (well, usable) message and error response +# if ($retcode == 0) { +# $content = "Received response: $response_body\n"; +# } else { +# $http_prose = $curl->strerror($retcode); +# $content = "An error happened: $http_prose $http_retcode (Curl error code $retcode)\n"; +# } + + return ($content, $http_retcode); +} + + #RM lets do the DOI coining somewhere (reasonably) accessible sub coin_doi { From 340fdbc588fadc4efa3313b8ad4035fa9b2704ca Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 4 Oct 2018 10:52:38 +1000 Subject: [PATCH 085/107] Import WWW::Curl::Easy Somehow this went missing during my merge, adding back in. --- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index f253807..aac6c9d 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -114,6 +114,7 @@ sub datacite_request { sub datacite_request_curl { my ($url, $user_name, $user_pw, $content, $content_type) = @_; + use WWW::Curl::Easy; # build request my @myheaders = ( From dfe21a1612551c23f114d8bcc26feac405772d69 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 4 Oct 2018 15:43:56 +1000 Subject: [PATCH 086/107] Disable adding publisher to XML for DataCite In #16 (specifically cbf2a2cbf042735089ae817133ebf6c6bb8e8100) the codebase was changed to forcibly add the "Default publisher" value to all submissions as it wasn't being (reliably) added. In the rework for 2.1.0 (I'm looking at fd41e34efc7cc00a529c8f45ad22bb2b376d7768 but its other commits are relevant too) the behaviour changed and now publisher is added if available. This has resulted in the unfortunate situation that: * If you have no publisher, none is added * If you do have a publisher, a second is added Not the situation we want: * If you have no publisher, one is added * If you have a publisher, nothing changes --- lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index bcb3114..f64fe4a 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -67,8 +67,8 @@ sub output_dataobj } } - # Add in our publisher from the config - $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); + # Add in our publisher from the config (Disabled, see #35) + # $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); # There is no field for rights at EPrints level so we derive rights from document # metadata and as such we need to call our derivation routine outside the above loop From 4766bfbc9a3c82e3e750ee6d05c85487b8a2f455 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 4 Oct 2018 15:59:34 +1000 Subject: [PATCH 087/107] eval() module imports Turns out the correct way to conditionally import - use - a module is to eval() them. I've now set up all modules required by DataCiteEvent to eval() in and to print a log message if something is missing. --- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index aac6c9d..cb1db50 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -8,7 +8,12 @@ package EPrints::Plugin::Event::DataCiteEvent; use EPrints::Plugin::Event; -# Network client libraries included below in datacite_request +eval "use LWP; use HTTP::Headers::Util; 1"; +if ( $@ ) { print STDERR "Unable to import LWP or HTTP::Headers::Util.\n"; } + +eval "use WWW::Curl::Easy; 1"; +if ( $@ ) { print STDERR "Unable to import WWW::Curl::Easy.\n"; } + @ISA = qw( EPrints::Plugin::Event ); @@ -88,9 +93,6 @@ sub datacite_doi sub datacite_request { my ($method, $url, $user_name, $user_pw, $content, $content_type) = @_; - use LWP; - use HTTP::Headers::Util; - # build request my $headers = HTTP::Headers->new( 'Accept' => 'application/xml', @@ -114,7 +116,6 @@ sub datacite_request { sub datacite_request_curl { my ($url, $user_name, $user_pw, $content, $content_type) = @_; - use WWW::Curl::Easy; # build request my @myheaders = ( From da742f991e756cc6dd1b828f14ccde692d7227e6 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Sat, 6 Oct 2018 02:42:00 +0100 Subject: [PATCH 088/107] be more forgiving with publisher value from config --- lib/cfg.d/z_datacite_mapping.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 5567a77..134a2af 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -505,8 +505,9 @@ "datacite_validate:need_title", title=>$title ); } - - if( !$eprint->is_set( "publisher" ) ) + #we will accept the publisher set in config... as long as it has been set to something other than the default + if( !$eprint->is_set( "publisher" ) && EPrints::Utils::is_set($repo->get_conf("datacitedoi","publisher")) && + $repo->get_conf("datacitedoi","publisher") ne "EPrints Repo" ) { my $publisher = $xml->create_element( "span", class=>"ep_problem_field:publisher" ); my $default_publisher = $repository->make_text( $repository->get_conf("datacitedoi","publisher") ); From 7de32896317848d68b388487628120b2e7041756 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Tue, 9 Oct 2018 09:15:06 +1100 Subject: [PATCH 089/107] Provide more detailed error log This change allows diagnosing the XML supplied to DataCite by logging the entire lot rather than just mentioning the DOI. Authentication wise this should be safe to do, as the username and password are not included directly in the XML. --- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index cb1db50..1a0533e 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -58,7 +58,7 @@ sub datacite_doi if($response_code !~ /20(1|0)/){ $repository->log("Metadata response from datacite api: $response_code: $response_content"); - $repository->log("BTW the \$doi was:\n$thisdoi"); + $repository->log("XML submitted was:\n$xml"); return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; } #register doi @@ -77,7 +77,7 @@ sub datacite_doi } if($response_code !~ /20(1|0)/){ $repository->log("Registration response from datacite api: $response_code: $response_content"); - $repository->log("BTW the \$doi_reg was:\n$doi_reg"); + $repository->log("XML submitted was:\n$xml"); return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; } From ea4270c0b8d44c5829d522ba5c6ee0a9c51485be Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Tue, 9 Oct 2018 09:24:48 +1100 Subject: [PATCH 090/107] Update version value in DataCiteDoi.epmi This file needs to be regenerated in its entirity but I'm updating its version field as I'm about to tag the release candidate. --- DataCiteDoi.epmi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 7c3fcca..656d0a1 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -83,7 +83,7 @@ coverimage
- 2.0.1 + 2.1.0-rc @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2018-02-15 05:07:35 + 2018-10-09 09:22:00 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi From 7e75287e1adced5260c74fb7c241425d8385b35d Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Sat, 6 Oct 2018 02:46:23 +0100 Subject: [PATCH 091/107] Be more forgiving when publisher set from config --- lib/cfg.d/z_datacite_mapping.pl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 5567a77..9e2b900 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -505,8 +505,9 @@ "datacite_validate:need_title", title=>$title ); } - - if( !$eprint->is_set( "publisher" ) ) + #we will accept the publisher set in config... as long as it has been set to something other than the default + if( !$eprint->is_set( "publisher" ) && EPrints::Utils::is_set($repository->get_conf("datacitedoi","publisher")) && + $repository->get_conf("datacitedoi","publisher") ne "EPrints Repo" ) { my $publisher = $xml->create_element( "span", class=>"ep_problem_field:publisher" ); my $default_publisher = $repository->make_text( $repository->get_conf("datacitedoi","publisher") ); From 4ea7effeac766949f3561258fa1005136390388a Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Sat, 6 Oct 2018 02:50:50 +0100 Subject: [PATCH 092/107] udpate epmi --- DataCiteDoi.epmi | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 656d0a1..bf23722 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -9,9 +9,9 @@ document lang/en/phrases/coinDOI.xml application/xml - 90a2231b25535e2ad2d16702172f5063 + 3cd96f2881df8806ae1c31ad0b8639fa MD5 - 11194 + 13084 document @@ -24,42 +24,42 @@ document plugins/EPrints/Plugin/Event/DataCiteEvent.pm - text/plain - 3fe07ce4a3a6e765b647b16118cc23f2 + text/x-java + 80634af7efc8dddaa065a9d39f048cb6 MD5 - 5213 + 7262 document plugins/EPrints/Plugin/Export/DataCiteXML.pm text/plain - 0c7770885cd8e8537054d9b84f83d5fa + 89c0d8c28939244b869c2c18f7c3a7db MD5 - 3267 + 3373 document plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm text/plain - 0ceae1dd50779c660b2e2a6bb4e4ff27 + 9be56b73b331a5a012466899d8c644f0 MD5 - 2237 + 3894 document cfg.d/z_datacite_mapping.pl text/plain - de6f2cd2b94f1fb9599b52112dd83754 + 40c8fa9f6c2e30916e2fdde204eab115 MD5 - 9755 + 19847 document epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl text/plain - 8599e9b6c24462396c8b3e1f884c181d + 98b5a0b2203a9b6a180ae1b996823d20 MD5 - 5114 + 6522 text/plain @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2018-10-09 09:22:00 + 2018-10-06 01:49:47 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi From e30f081f27b54ab8e4f89aa63ed3b8bec6c8b6e4 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Sat, 6 Oct 2018 02:58:56 +0100 Subject: [PATCH 093/107] fix logic for pu blisher validation --- DataCiteDoi.epmi | 6 +++--- lib/cfg.d/z_datacite_mapping.pl | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index bf23722..3308f23 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -49,9 +49,9 @@ document cfg.d/z_datacite_mapping.pl text/plain - 40c8fa9f6c2e30916e2fdde204eab115 + b9f99f56452c34040849969bea359e79 MD5 - 19847 + 19851 document @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2018-10-06 01:49:47 + 2018-10-06 01:57:58 DataCiteDoi - DataCite DOIs for EPrints A plugin integrate into the workflow the process of to minting and registering DataCite DOIs https://github.com/eprintsug/DataCiteDoi diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 9e2b900..64a18ae 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -506,8 +506,8 @@ title=>$title ); } #we will accept the publisher set in config... as long as it has been set to something other than the default - if( !$eprint->is_set( "publisher" ) && EPrints::Utils::is_set($repository->get_conf("datacitedoi","publisher")) && - $repository->get_conf("datacitedoi","publisher") ne "EPrints Repo" ) + if( !$eprint->is_set( "publisher" ) && (!EPrints::Utils::is_set($repository->get_conf("datacitedoi","publisher")) || + $repository->get_conf("datacitedoi","publisher") eq "EPrints Repo" ) ) { my $publisher = $xml->create_element( "span", class=>"ep_problem_field:publisher" ); my $default_publisher = $repository->make_text( $repository->get_conf("datacitedoi","publisher") ); From 23cf8e58e555c3dd8bc655ac755f821464cbef19 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 10 Oct 2018 09:46:57 +1100 Subject: [PATCH 094/107] Make funders fields optional Unlike other mapping functions, funders assumed that its values were available and required. This change makes checking eprints for funder and project information optional to better reflect the standard and to facilitate a switch from eprint value based attributes to mapping based attributes. --- lib/cfg.d/z_datacite_mapping.pl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 64a18ae..5711e40 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -328,17 +328,19 @@ # funder_id => funderIdentifier #Funders and projects are default eprints field, both are multiple - my $funders = $dataobj->get_value("funders"); - my $projects = $dataobj->get_value("projects"); + my $funders = undef; + my $projects = undef; my $fundingReferences = undef; if ($dataobj->exists_and_set("funders")) { + $funders = $dataobj->get_value("funders"); my $i=0; $fundingReferences = $xml->create_element("fundingReferences"); foreach my $funderName(@$funders) { $fundingReferences->appendChild(my $fundingReference = $xml->create_element("fundingReference")); $fundingReference->appendChild($xml->create_data_element("funderName", $funderName)); if($dataobj->exists_and_set("projects")){ + $projects = $dataobj->get_value("projects"); if(ref($projects) =~ /ARRAY/) { my $project = $projects->[scalar(@$projects)-1]; if(defined $projects->[$i]){ From 0f6c5620d076dd7808d48abd10df5a2802180270 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 10 Oct 2018 09:52:48 +1100 Subject: [PATCH 095/107] Change from iterating eprint fields to mapping functions In essense, this change removes the depencence on specific eprints fields having values when performing the XML export. This expands on the change in 336a27ce12191f812f0468a320a1737d992e7a7a ("reworked Export plugin so that *any* EPrint field can be mapped if corresponding sub is found in zzz_datacite_mapping") and removes the change required in f8a3259e7e2eda70d6e76ba54e6fcc5bd6988c50 becuase now we run all maps. It moves from an 'eprint first' configuration to a 'mapping function first' which permits: - Setting default values (like Publisher) - Choosing the eprint fields data comes from (You have a custom date field? no worries). - Adding new values to output XML by adding a new mapping function - Basically, running arbitrary code. But don't do that. Of course, anyone adding new mappings or overriding existing mappings will need to handle the resulting validation problems themselves... This is the export components work required to complete #35; optional changes to validation would facilitiate the second part but validation can be done via overrides per site. Closes: #35 --- .../EPrints/Plugin/Export/DataCiteXML.pm | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm index f64fe4a..2ee6778 100644 --- a/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm +++ b/lib/plugins/EPrints/Plugin/Export/DataCiteXML.pm @@ -59,23 +59,18 @@ sub output_dataobj } $entry->appendChild( $xml->create_data_element( "identifier", $thisdoi , identifierType=>"DOI" ) ); - foreach my $field ( $dataobj->{dataset}->get_fields ){ - my $mapping_fn = "datacite_mapping_".$field->get_name; + my $conf_hash_reference = $repo->{config}; + foreach my $mapping_fn (keys %$conf_hash_reference){ + # If this is a datacite_mapping configuration item (aka one of our subroutines) + if (index($mapping_fn, 'datacite_mapping_') == 0) { + # Value of $mapping_fn matches datacite_mapping_, so is probably a helper method if($repo->can_call($mapping_fn)){ my $mapped_element = $repo->call( $mapping_fn, $xml, $dataobj, $repo ); $entry->appendChild( $mapped_element ) if(defined $mapped_element); } + } } - # Add in our publisher from the config (Disabled, see #35) - # $entry->appendChild( $xml->create_data_element( "publisher", $repo->get_conf( "datacitedoi", "publisher") ) ); - - # There is no field for rights at EPrints level so we derive rights from document - # metadata and as such we need to call our derivation routine outside the above loop - if($repo->can_call("datacite_mapping_rights_from_docs")){ - my $mapped_element = $repo->call( "datacite_mapping_rights_from_docs", $xml, $dataobj, $repo ); - $entry->appendChild( $mapped_element ) if(defined $mapped_element); - } ####### From here on in you can redefine datacite_mapping_[fieldname] sub routines in lib/cfg.d/zzz_datacite_mapping.pl ####################### From b1e649f673fcaf6035d4ce3e4547d9782bdd57e9 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 10 Oct 2018 10:56:10 +1100 Subject: [PATCH 096/107] Change datacite_mapping_date and date validation Firstly (in terms of execution order) is a change to the date validation to make explicit the intent - that date and date type must be set and date type must equal published. I believe this also resolves a matching bug. Secondly is a relaxing of the date requirements fro datacite_mapping_date to stop checking date_type is published. If date type is was unset this would pass validation then cause an error to be printed due to an empty value being used in string equality testing. Further tightening the check in datacite_mapping_date was a possibility but since validation is run first it seems reasonable that datacite_mapping_date be more trusting (and may even make things more flexibile for those who customise their validation). --- lib/cfg.d/z_datacite_mapping.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 5711e40..5ddda9b 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -167,7 +167,7 @@ my $publicationYear = undef; my $pub_year = undef; - if($dataobj->exists_and_set("date") && $dataobj->value("date_type") eq "published"){ + if($dataobj->exists_and_set("date")) { $dataobj->get_value( "date" ) =~ /^([0-9]{4})/; $pub_year = $1; } @@ -519,7 +519,7 @@ default_publisher => $default_publisher); } - if( !$eprint->is_set( "date" ) && (!$eprint->is_set( "date_type" ) || $eprint->value( "date_type" ) eq "published") ) + if( !$eprint->is_set( "date" ) || !$eprint->is_set( "date_type" ) || ($eprint->value( "date_type" ) ne "published") ) { my $dates = $xml->create_element( "span", class=>"ep_problem_field:dates" ); From cda10dafe76e0ec471481bf08f810746c6240111 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 10 Oct 2018 15:23:21 +1100 Subject: [PATCH 097/107] Fix bug with corporate creators corp_creators is a multi value field but was being treated as a string; its now looped and all corp_creators are added to . --- lib/cfg.d/z_datacite_mapping.pl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 5ddda9b..b7dd841 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -115,10 +115,14 @@ if($dataobj->exists_and_set("corp_creators")){ $creators = $xml->create_element("creators") if (!defined $creators); - $creators->appendChild(my $creator = $xml->create_element("creator")); - $creator->appendChild($xml->create_data_element("creatorName", $dataobj->value("corp_creators"))); - + # Corp creator is a multiple + foreach my $corp ( @{ $dataobj->get_value( 'corp_creators' ) } ) { + my $corp_creator = $xml->create_element('creator'); + $corp_creator->appendChild($xml->create_data_element("creatorName", $corp)); + $creators->appendChild($corp_creator); + } } + return $creators }; From de45ae9ffc6c539db1bad7b6d3402d5738229d5a Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 10 Oct 2018 15:23:47 +1100 Subject: [PATCH 098/107] Add validation for 'type' before minting I've just had a situation where the type of my eprint wasn't known in typemap so things fell over at the api submission stage. I've added some validation in this commit but haven't included the item type - I haven't checked if its site specific yet. --- lib/cfg.d/z_datacite_mapping.pl | 10 ++++++++++ lib/lang/en/phrases/coinDOI.xml | 2 ++ 2 files changed, 12 insertions(+) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index b7dd841..2750ea5 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -532,6 +532,16 @@ dates=>$dates ); } + # If we don't have a type or its not in our mapping, thats bad + if ( !$dataobj->exists_and_set("type") || !$repository->get_conf("datacitedoi", "typemap", $dataobj->value("type"))) + { + my $types = $xml->create_element( "span", class=>"ep_problem_field:type" ); + + push @problems, $repository->html_phrase( + "datacite_validate:need_mapped_type", + types=>$types ); + } + return( @problems ); }; diff --git a/lib/lang/en/phrases/coinDOI.xml b/lib/lang/en/phrases/coinDOI.xml index b154f16..692bc44 100644 --- a/lib/lang/en/phrases/coinDOI.xml +++ b/lib/lang/en/phrases/coinDOI.xml @@ -127,6 +127,8 @@

Your server hostname matches the preprod regex but is not using the test DOI prefix - current prefix is .

+ +

Your eprint is either missing its type or the type has no match in the plugin typemap.

From 34fda23cac7f61863a51f2ca61414520b7b6c113 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 10 Oct 2018 16:11:56 +1100 Subject: [PATCH 099/107] Update plugin description Minor wording change --- DataCiteDoi.epmi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 3308f23..73c4340 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -95,7 +95,7 @@
2018-10-06 01:57:58 DataCiteDoi - DataCite DOIs for EPrints - A plugin integrate into the workflow the process of to minting and registering DataCite DOIs + Integrate minting and registering DataCite DOIs in to EPrints https://github.com/eprintsug/DataCiteDoi images/epm/datacitedoi.png
From e89577726a414b733bdfb81fa602e745264b5175 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Thu, 11 Oct 2018 11:26:45 +1100 Subject: [PATCH 100/107] Correct bug in new mapping validation Somehow this slipped through my transferring from dev to repository - this particular validation routine uses 'eprint' not 'dataobj' as its eprint identifier. --- lib/cfg.d/z_datacite_mapping.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index 2750ea5..cd81cae 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -533,7 +533,7 @@ } # If we don't have a type or its not in our mapping, thats bad - if ( !$dataobj->exists_and_set("type") || !$repository->get_conf("datacitedoi", "typemap", $dataobj->value("type"))) + if ( !$eprint->exists_and_set("type") || !$repository->get_conf("datacitedoi", "typemap", $eprint->value("type"))) { my $types = $xml->create_element( "span", class=>"ep_problem_field:type" ); From 3617ee4d1a3400bf123e4112927a308583e9b8a9 Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Wed, 5 Dec 2018 16:19:10 +1100 Subject: [PATCH 101/107] Enhance error message on submission failure Now mentions the problem EPrint so looking through the submitted XML is no longer required. --- lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index 1a0533e..f842d09 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -57,7 +57,7 @@ sub datacite_doi } if($response_code !~ /20(1|0)/){ - $repository->log("Metadata response from datacite api: $response_code: $response_content"); + $repository->log("Metadata response from datacite api when submitting EPrint $dataobj->id: $response_code: $response_content"); $repository->log("XML submitted was:\n$xml"); return EPrints::Const::HTTP_INTERNAL_SERVER_ERROR; } From 298e0e78e27c39b582c2feb208804157a6209b8f Mon Sep 17 00:00:00 2001 From: Karl Goetz Date: Fri, 14 Dec 2018 10:53:53 +1100 Subject: [PATCH 102/107] Change SSL library imports to reduce verbosity The original warning system meant a warning was generated on every import, even if the relevant libraries weren't intended for use. By importing once we load sub datacite_doi we can check the repository configuration and only warn conditionally based on configuration. --- .../EPrints/Plugin/Event/DataCiteEvent.pm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm index f842d09..45206b2 100644 --- a/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm +++ b/lib/plugins/EPrints/Plugin/Event/DataCiteEvent.pm @@ -8,12 +8,8 @@ package EPrints::Plugin::Event::DataCiteEvent; use EPrints::Plugin::Event; -eval "use LWP; use HTTP::Headers::Util; 1"; -if ( $@ ) { print STDERR "Unable to import LWP or HTTP::Headers::Util.\n"; } - -eval "use WWW::Curl::Easy; 1"; -if ( $@ ) { print STDERR "Unable to import WWW::Curl::Easy.\n"; } - +eval "use LWP; use HTTP::Headers::Util"; +eval "use WWW::Curl::Easy"; @ISA = qw( EPrints::Plugin::Event ); @@ -23,6 +19,15 @@ sub datacite_doi my $repository = $self->repository(); + if (defined $repository->get_conf( "datacitedoi", "get_curl")) { + # Try and import Curl. + if ( eval "use WWW::Curl::Easy" ) { print STDERR "Unable to import WWW::Curl::Easy.\n"; } + } else { + # Fall back to LWP and rely in its library detection. + if ( eval "use LWP" ) { print STDERR "Unable to import LWP.\n"; } + if ( eval "use HTTP::Headers::Util" ) { print STDERR "Unable to import HTTP::Headers::Util.\n"; } + } + # Check object status first.... TODO: Make work for dataobj == document (just in case) my $shoulddoi = $repository->get_conf( "datacitedoi", "eprintstatus", $dataobj->value( "eprint_status" )); #Check Doi Status From 5ba30d6b1d94406bc577472db4bf3ead3752b409 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 12 Nov 2018 12:54:23 +0000 Subject: [PATCH 103/107] update epmi --- DataCiteDoi.epmi | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 73c4340..517ce26 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -9,9 +9,9 @@ document lang/en/phrases/coinDOI.xml application/xml - 3cd96f2881df8806ae1c31ad0b8639fa + 0df177ef1ffd08206156f49996b70c92 MD5 - 13084 + 13340 document @@ -25,17 +25,17 @@ document plugins/EPrints/Plugin/Event/DataCiteEvent.pm text/x-java - 80634af7efc8dddaa065a9d39f048cb6 + 6a29de65f6268314881d1197cb70b74e MD5 - 7262 + 7606 document plugins/EPrints/Plugin/Export/DataCiteXML.pm text/plain - 89c0d8c28939244b869c2c18f7c3a7db + c2cd69eac69b3008b343d916688b95f4 MD5 - 3373 + 2948 document @@ -49,9 +49,9 @@ document cfg.d/z_datacite_mapping.pl text/plain - b9f99f56452c34040849969bea359e79 + 259bcefdcf55f87cabc2d0b002023987 MD5 - 19851 + 20371 document @@ -83,7 +83,7 @@ coverimage - 2.1.0-rc + 2.1.0 @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2018-10-06 01:57:58 + 2018-11-12 12:52:26 DataCiteDoi - DataCite DOIs for EPrints Integrate minting and registering DataCite DOIs in to EPrints https://github.com/eprintsug/DataCiteDoi From c9d6cf5638f5d47f2a612defbc6a28e2e3300b18 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 12 Nov 2018 12:57:05 +0000 Subject: [PATCH 104/107] add an epm --- DataCiteDoi-2.1.0.epm | 4636 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 4636 insertions(+) create mode 100644 DataCiteDoi-2.1.0.epm diff --git a/DataCiteDoi-2.1.0.epm b/DataCiteDoi-2.1.0.epm new file mode 100644 index 0000000..556d972 --- /dev/null +++ b/DataCiteDoi-2.1.0.epm @@ -0,0 +1,4636 @@ + + + DataCiteDoi + http://192.168.23.142/id/epm/DataCiteDoi + + + + + document + lang/en/phrases/coinDOI.xml + application/xml + 0df177ef1ffd08206156f49996b70c92 + MD5 + 13340 + PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSIgc3RhbmRhbG9uZT0ibm8i +ID8+CjwhRE9DVFlQRSBwaHJhc2VzIFNZU1RFTSAiZW50aXRpZXMuZHRkIj4KCjxlcHA6cGhyYXNl +cyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sbnM6ZXBwPSJodHRwOi8v +ZXByaW50cy5vcmcvZXAzL3BocmFzZSIgeG1sbnM6ZXBjPSJodHRwOi8vZXByaW50cy5vcmcvZXAz +L2NvbnRyb2wiPgogICAgPGVwcDpwaHJhc2UgaWQ9IlBsdWdpbi9TY3JlZW4vRVByaW50L1N0YWZm +L0NvaW5ET0k6YWN0aW9uOmNvaW5kb2k6ZGVzY3JpcHRpb24iPlRoaXMgd2lsbCBhZGQgYSBjb2lu +LURPSSBldmVudCB0byB0aGUgZXZlbnQgcXVldWUgKGkuZS4gV2lsbCBub3QgaGFwcGVuIGltbWVk +aWF0ZWx5KTwvZXBwOnBocmFzZT4KICAgIDxlcHA6cGhyYXNlIGlkPSJQbHVnaW4vU2NyZWVuL0VQ +cmludC9TdGFmZi9Db2luRE9JOmFjdGlvbjpjb2luZG9pOnRpdGxlIj5Db2luIERPSTwvZXBwOnBo +cmFzZT4KICAgIDxlcHA6cGhyYXNlIGlkPSJQbHVnaW4vU2NyZWVuL0VQcmludC9TdGFmZi9Db2lu +RE9JOmNvaW5pbmdkb2kiPlRoaXMgaXRlbSB3aWxsIGhhdmUgYSBET0kgY29pbmVkIHdoZW4gdGhl +IGluZGV4ZXIgZ2V0cyBhcm91bmQgdG8gaXQuPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2Ug +aWQ9ImVtYmFyZ29lZF91bnRpbCI+LkVtYmFyZ29lZCB1bnRpbDogPGVwYzpwaW4gbmFtZT0iZW1i +YXJnb19kYXRlIi8+IDwvZXBwOnBocmFzZT4KCgoKPCEtLWxpY2Vuc2UtLT4KCgoKICAgIDxlcHA6 +cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9jY19ieV9uY19uZCI+Q3JlYXRpdmUgQ29tbW9u +czogQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbC1ObyBEZXJpdmF0aXZlIFdvcmtzIDMuMDwvZXBw +OnBocmFzZT4KICAgIDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9jY19ieSI+Q3Jl +YXRpdmUgQ29tbW9uczogQXR0cmlidXRpb24gMy4wPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJh +c2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X25jX3NhIj5DcmVhdGl2ZSBDb21tb25zOiBB +dHRyaWJ1dGlvbi1Ob25Db21tZXJjaWFsLVNoYXJlIEFsaWtlIDMuMDwvZXBwOnBocmFzZT4KICAg +IDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9jY19ieV9uYyI+Q3JlYXRpdmUgQ29t +bW9uczogQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbCAzLjA8L2VwcDpwaHJhc2U+CiAgICA8ZXBw +OnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfY2NfYnlfbmQiPkNyZWF0aXZlIENvbW1vbnM6 +IEF0dHJpYnV0aW9uLU5vIERlcml2YXRpdmUgV29ya3MgMy4wPC9lcHA6cGhyYXNlPgogICAgPGVw +cDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X3NhIj5DcmVhdGl2ZSBDb21tb25z +OiBBdHRyaWJ1dGlvbi1TaGFyZSBBbGlrZSAzLjA8L2VwcDpwaHJhc2U+CgogICAgPGVwcDpwaHJh +c2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X25jX25kXzQiPkNyZWF0aXZlIENvbW1vbnM6 +IEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwtTm8gRGVyaXZhdGl2ZSBXb3JrcyA0LjA8L2VwcDpw +aHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfY2NfYnlfNCI+Q3Jl +YXRpdmUgQ29tbW9uczogQXR0cmlidXRpb24gNC4wPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJh +c2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X25jX3NhXzQiPkNyZWF0aXZlIENvbW1vbnM6 +IEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwtU2hhcmUgQWxpa2UgNC4wPC9lcHA6cGhyYXNlPgog +ICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X25jXzQiPkNyZWF0aXZl +IENvbW1vbnM6IEF0dHJpYnV0aW9uLU5vbkNvbW1lcmNpYWwgNC4wPC9lcHA6cGhyYXNlPgogICAg +PGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X25kXzQiPkNyZWF0aXZlIENv +bW1vbnM6IEF0dHJpYnV0aW9uLU5vIERlcml2YXRpdmUgV29ya3MgNC4wPC9lcHA6cGhyYXNlPgog +ICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X3NhXzQiPkNyZWF0aXZl +IENvbW1vbnM6IEF0dHJpYnV0aW9uLVNoYXJlIEFsaWtlIDQuMDwvZXBwOnBocmFzZT4KCiAgICA8 +ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfY2NfcHVibGljX2RvbWFpbiI+Q3JlYXRp +dmUgQ29tbW9uczogUHVibGljIERvbWFpbiBEZWRpY2F0aW9uPC9lcHA6cGhyYXNlPgogICAgPGVw +cDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2dudV9ncGxfMyI+U29mdHdhcmU6IEdOVSBH +UEwgMy4wPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1l +X2dudV9sZ3BsXzMiPlNvZnR3YXJlOiBHTlUgTEdQTCAzLjA8L2VwcDpwaHJhc2U+CiAgICA8ZXBw +OnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfbWl0Ij5Tb2Z0d2FyZTogTUlUPC9lcHA6cGhy +YXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2FwYWNoZV8yIj5Tb2Z0 +d2FyZTogQXBhY2hlIExpY2Vuc2UgMi4wPC9lcHA6cGhyYXNlPgoKICAgIDxlcHA6cGhyYXNlIGlk +PSJsaWNlbnNlc190eXBlbmFtZV9vZGNfb2RibCI+RGF0YTogT3BlbiBEYXRhYmFzZSBMaWNlbnNl +IChPRGJMKSAoQXR0cmlidXRpb24tU2hhcmUgQWxpa2UpPC9lcHA6cGhyYXNlPgogICAgPGVwcDpw +aHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX29kY19ieSI+RGF0YTogT3BlbiBEYXRhIENvbW1v +bnMgQXR0cmlidXRpb24gTGljZW5zZSAoQXR0cmlidXRpb24pPC9lcHA6cGhyYXNlPgoKICAgIDxl +cHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV91b3IiPlVuaXZlcnNpdHkgb2YgUmVhZGlu +ZyBMaWNlbmNlPC9lcHA6cGhyYXNlPgoKICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfZGVzY3Jp +cHRpb25fZ251X2dwbF8zIj48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3Bs +LTMuMC5odG1sIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoU29mdHdhcmUpPC9hPjwvZXBw +OnBocmFzZT4KICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfZGVzY3JpcHRpb25fZ251X2xncGxf +MyI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xncGwtMy4wLmh0bWwiPkdO +VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoU29mdHdhcmUpPC9hPjwvZXBwOnBocmFz +ZT4KICAgIDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc19kZXNjcmlwdGlvbl9taXQiPjxhIGhyZWY9 +Imh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQiPk1JVCBMaWNlbnNlIChNSVQpPC9h +PjwvZXBwOnBocmFzZT4KICAgIDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc19kZXNjcmlwdGlvbl9h +cGFjaGVfMiI+PGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0Ut +Mi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+PC9lcHA6cGhyYXNlPgogICAgPGVw +cDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX2Rlc2NyaXB0aW9uX3VvciI+VW5pdmVyc2l0eSBvZiBSZWFk +aW5nIExpY2VuY2U8L2VwcDpwaHJhc2U+CiAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX2Rlc2Ny +aXB0aW9uX2F0dGFjaGVkIj5MaWNlbmNlIGRvY3VtZW50IGF0dGFjaGVkPC9lcHA6cGhyYXNlPgoK +ICAgIDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9jY19ieV9uY19uZF9pbWciPjxh +IGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLW5kLzMuMC8i +PjxpbWcgc3JjPSIvaW1hZ2VzL2J5LW5jLW5kLnBuZyIgc3R5bGU9IndpZHRoOiAxMDBweDsiIHRp +dGxlPSJDcmVhdGl2ZSBDb21tb25zOiBBdHRyaWJ1dGlvbi1Ob25Db21tZXJjaWFsLU5vIERlcml2 +YXRpdmUgV29ya3MgMy4wIi8+PC9hPjwvZXBwOnBocmFzZT4KICAgIDxlcHA6cGhyYXNlIGlkPSJs +aWNlbnNlc190eXBlbmFtZV9jY19ieV9pbWciPjxhIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1v +bnMub3JnL2xpY2Vuc2VzL2J5LzMuMC8iPjxpbWcgc3JjPSIvaW1hZ2VzL2J5LnBuZyIgc3R5bGU9 +IndpZHRoOiAxMDBweDsiIHRpdGxlPSJDcmVhdGl2ZSBDb21tb25zOiBBdHRyaWJ1dGlvbiAzLjAi +Lz48L2E+PC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1l +X2NjX2J5X25jX3NhX2ltZyI+PGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGlj +ZW5zZXMvYnktbmMtc2EvMy4wLyI+PGltZyBzcmM9Ii9pbWFnZXMvYnktbmMtc2EucG5nIiBzdHls +ZT0id2lkdGg6IDEwMHB4OyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnM6IEF0dHJpYnV0aW9uLU5v +bkNvbW1lcmNpYWwtU2hhcmUgQWxpa2UgMy4wIi8+PC9hPjwvZXBwOnBocmFzZT4KICAgIDxlcHA6 +cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9jY19ieV9uY19pbWciPjxhIGhyZWY9Imh0dHA6 +Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLzMuMC8iPjxpbWcgc3JjPSIvaW1h +Z2VzL2J5LW5jLnBuZyIgc3R5bGU9IndpZHRoOiAxMDBweDsiIHRpdGxlPSJDcmVhdGl2ZSBDb21t +b25zOiBBdHRyaWJ1dGlvbi1Ob25Db21tZXJjaWFsIDMuMCIvPjwvYT48L2VwcDpwaHJhc2U+CiAg +ICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfY2NfYnlfbmRfaW1nIj48YSBocmVm +PSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uZC8zLjAvIj48aW1nIHNy +Yz0iL2ltYWdlcy9ieS1uZC5wbmciIHN0eWxlPSJ3aWR0aDogMTAwcHg7IiBhbHQ9IkNyZWF0aXZl +IENvbW1vbnM6IEF0dHJpYnV0aW9uLU5vIERlcml2YXRpdmUgV29ya3MgMy4wIiB0aXRsZT0iQ3Jl +YXRpdmUgQ29tbW9uczogQXR0cmlidXRpb24tTm8gRGVyaXZhdGl2ZSBXb3JrcyAzLjAiLz48L2E+ +PC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5 +X3NhX2ltZyI+PGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkt +c2EvMy4wLyI+PGltZyBzcmM9Ii9pbWFnZXMvYnktc2EucG5nIiBzdHlsZT0id2lkdGg6IDEwMHB4 +OyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnM6IEF0dHJpYnV0aW9uLVNoYXJlIEFsaWtlIDMuMCIv +PjwvYT48L2VwcDpwaHJhc2U+CgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1l +X2NjX2J5X25jX25kXzRfaW1nIj48YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9s +aWNlbnNlcy9ieS1uYy1uZC80LjAvIj48aW1nIHNyYz0iL2ltYWdlcy9ieS1uYy1uZC5wbmciIHN0 +eWxlPSJ3aWR0aDogMTAwcHg7IiB0aXRsZT0iQ3JlYXRpdmUgQ29tbW9uczogQXR0cmlidXRpb24t +Tm9uQ29tbWVyY2lhbC1ObyBEZXJpdmF0aXZlIFdvcmtzIDQuMCIvPjwvYT48L2VwcDpwaHJhc2U+ +CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfY2NfYnlfNF9pbWciPjxhIGhy +ZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC8iPjxpbWcgc3Jj +PSIvaW1hZ2VzL2J5LnBuZyIgc3R5bGU9IndpZHRoOiAxMDBweDsiIHRpdGxlPSJDcmVhdGl2ZSBD +b21tb25zOiBBdHRyaWJ1dGlvbiA0LjAiLz48L2E+PC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJh +c2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X25jX3NhXzRfaW1nIj48YSBocmVmPSJodHRw +Oi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy1zYS80LjAvIj48aW1nIHNyYz0i +L2ltYWdlcy9ieS1uYy1zYS5wbmciIHN0eWxlPSJ3aWR0aDogMTAwcHg7IiB0aXRsZT0iQ3JlYXRp +dmUgQ29tbW9uczogQXR0cmlidXRpb24tTm9uQ29tbWVyY2lhbC1TaGFyZSBBbGlrZSA0LjAiLz48 +L2E+PC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2Nj +X2J5X25jXzRfaW1nIj48YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNl +cy9ieS1uYy80LjAvIj48aW1nIHNyYz0iL2ltYWdlcy9ieS1uYy5wbmciIHN0eWxlPSJ3aWR0aDog +MTAwcHg7IiB0aXRsZT0iQ3JlYXRpdmUgQ29tbW9uczogQXR0cmlidXRpb24tTm9uQ29tbWVyY2lh +bCA0LjAiLz48L2E+PC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5 +cGVuYW1lX2NjX2J5X25kXzRfaW1nIj48YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9y +Zy9saWNlbnNlcy9ieS1uZC80LjAvIj48aW1nIHNyYz0iL2ltYWdlcy9ieS1uZC5wbmciIHN0eWxl +PSJ3aWR0aDogMTAwcHg7IiBhbHQ9IkNyZWF0aXZlIENvbW1vbnM6IEF0dHJpYnV0aW9uLU5vIERl +cml2YXRpdmUgV29ya3MgNC4wIiB0aXRsZT0iQ3JlYXRpdmUgQ29tbW9uczogQXR0cmlidXRpb24t +Tm8gRGVyaXZhdGl2ZSBXb3JrcyA0LjAiLz48L2E+PC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJh +c2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX2J5X3NhXzRfaW1nIj48YSBocmVmPSJodHRwOi8v +Y3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS80LjAvIj48aW1nIHNyYz0iL2ltYWdl +cy9ieS1zYS5wbmciIHN0eWxlPSJ3aWR0aDogMTAwcHg7IiB0aXRsZT0iQ3JlYXRpdmUgQ29tbW9u +czogQXR0cmlidXRpb24tU2hhcmUgQWxpa2UgNC4wIi8+PC9hPjwvZXBwOnBocmFzZT4KCgogICAg +PGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2NjX3B1YmxpY19kb21haW5faW1nIj48 +YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9wdWJsaWNkb21haW4v +Ij48aW1nIHNyYz0iL2ltYWdlcy9wdWJsaWNkb21haW4ucG5nIiBzdHlsZT0id2lkdGg6IDEwMHB4 +OyIgdGl0bGU9IkNyZWF0aXZlIENvbW1vbnM6IFB1YmxpYyBEb21haW4gRGVkaWNhdGlvbiIvPjwv +YT48L2VwcDpwaHJhc2U+CgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2du +dV9ncGxfaW1nIj48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwi +PjxlcGM6cGhyYXNlIHJlZj0ibGljZW5zZXNfZGVzY3JpcHRpb25fZ251X2xncGxfMyIvPjwvYT48 +L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfZ251X2xn +cGxfaW1nIj48YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sIj48 +ZXBjOnBocmFzZSByZWY9ImxpY2Vuc2VzX2Rlc2NyaXB0aW9uX2dudV9sZ3BsXzMiLz48L2E+PC9l +cHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2dudV9ncGxf +M19pbWciPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbCI+PGVw +YzpwaHJhc2UgcmVmPSJsaWNlbnNlc19kZXNjcmlwdGlvbl9nbnVfZ3BsXzMiLz48L2E+PC9lcHA6 +cGhyYXNlPgoKICAgIDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9nbnVfbGdwbF8z +X2ltZyI+PGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xncGwuaHRtbCI+PGVw +YzpwaHJhc2UgcmVmPSJsaWNlbnNlc19kZXNjcmlwdGlvbl9nbnVfbGdwbF8zIi8+PC9hPjwvZXBw +OnBocmFzZT4KCiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfbWl0X2ltZyI+ +PGEgaHJlZj0iaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVCI+PGVwYzpwaHJhc2Ug +cmVmPSJsaWNlbnNlc19kZXNjcmlwdGlvbl9taXQiLz48L2E+PC9lcHA6cGhyYXNlPgoKICAgIDxl +cHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV9hcGFjaGVfMl9pbWciPjxhIGhyZWY9Imh0 +dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+PGVwYzpwaHJhc2UgcmVm +PSJsaWNlbnNlc19kZXNjcmlwdGlvbl9hcGFjaGVfMiIvPjwvYT48L2VwcDpwaHJhc2U+CgogICAg +IDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc190eXBlbmFtZV91b3JfaW1nIj48YSBocmVmPSIvdW9y +X2xpY2VuY2UuaHRtbCI+PGVwYzpwaHJhc2UgcmVmPSJsaWNlbnNlc19kZXNjcmlwdGlvbl91b3Ii +Lz48L2E+PC9lcHA6cGhyYXNlPgoKCjwhLS0gICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5 +cGVuYW1lX2F0dGFjaGVkX2ltZyI+PGEgaHJlZj0iIyIgb25jbGljaz0ialF1ZXJ5KCcjZmlsZXNf +Ym94X3JkbGljZW5jZSAmZ3Q7IGRpdiAmZ3Q7IGRpdicpLmZpbmQoJ1tpZCQ9X21ldGFfYmFyXScp +LmZpbmQoJ2EnKS50cmlnZ2VyKCdjbGljaycpOyByZXR1cm4gZmFsc2U7Ij5MaWNlbmNlIGRvY3Vt +ZW50IGF0dGFjaGVkIHRvIHRoaXMgaXRlbTwvYT48L2VwcDpwaHJhc2U+IC0tPgogICAgPGVwcDpw +aHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2F0dGFjaGVkX2ltZyI+PGEgaHJlZj0iIyIgb25j +bGljaz0iY29uc29sZS5sb2coalF1ZXJ5KCcjZmlsZXNfYm94X3JkbGljZW5jZSAmZ3Q7IGRpdiAm +Z3Q7IGRpdiBhLmVwX2JveF9jb2xsYXBzZV9saW5rOmVxKDEpJykubGVuZ3RoKTsgalF1ZXJ5KCcj +ZmlsZXNfYm94X3JkbGljZW5jZSAmZ3Q7IGRpdiAmZ3Q7IGRpdiBhLmVwX2JveF9jb2xsYXBzZV9s +aW5rOmVxKDEpJykudHJpZ2dlcignY2xpY2snKTsgcmV0dXJuIGZhbHNlOyI+TGljZW5jZSBkb2N1 +bWVudCBhdHRhY2hlZCB0byB0aGlzIGl0ZW08L2E+PC9lcHA6cGhyYXNlPgoKCiAgICA8ZXBwOnBo +cmFzZSBpZD0ibGljZW5zZXNfdHlwZW5hbWVfYXR0YWNoZWQiPkxpY2VuY2UgZG9jdW1lbnQgYXR0 +YWNoZWQ8L2VwcDpwaHJhc2U+CgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1l +X2NjX3plcm8iPmxpY2Vuc2VzX3R5cGVuYW1lX2NjX3plcm88L2VwcDpwaHJhc2U+CgogICAgPGVw +cDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX21hdGVyaWFsdHJhbnNmZXJhZ3JlZW1lbnRf +aW1nIj5NYXRlcmlhbCBUcmFuc2ZlciBBZ3JlZW1lbnQ8L2VwcDpwaHJhc2U+CgogICAgPGVwcDpw +aHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX2RhdGFzaGFyaW5nYWdyZWVtZW50X2ltZyI+RGF0 +YSBTaGFyaW5nIEFncmVlbWVudDwvZXBwOnBocmFzZT4KCgk8IS0tIGVtcHR5IGxpY2Vuc2UgaW4g +Y2FzZSBub24gc2V0IC0tPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3R5cGVuYW1lX19p +bWciPkxpY2Vuc2UgdW5zcGVjaWZpZWQ8L2VwcDpwaHJhc2U+CgoKCgogICAgPCEtLWxpY2Vuc2Vz +IGZvciB1cmktLT4KICAgIDxlcHA6cGhyYXNlIGlkPSJsaWNlbnNlc191cmlfY2NfYnlfbmNfbmQi +Pmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLW5kLzMuMC88L2VwcDpw +aHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdXJpX2NjX2J5Ij5odHRwOi8vY3Jl +YXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvPC9lcHA6cGhyYXNlPgogICAgPGVwcDpw +aHJhc2UgaWQ9ImxpY2Vuc2VzX3VyaV9jY19ieV9uY19zYSI+aHR0cDovL2NyZWF0aXZlY29tbW9u +cy5vcmcvbGljZW5zZXMvYnktbmMtc2EvMy4wLzwvZXBwOnBocmFzZT4KICAgIDxlcHA6cGhyYXNl +IGlkPSJsaWNlbnNlc191cmlfY2NfYnlfbmMiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xp +Y2Vuc2VzL2J5LW5jLzMuMC88L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5z +ZXNfdXJpX2NjX2J5X25kIj5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1u +ZC8zLjAvPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3VyaV9jY19i +eV9zYSI+aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLzwvZXBw +OnBocmFzZT4KCiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdXJpX2NjX2J5X25jX25kXzQi +Pmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLW5kLzQuMC88L2VwcDpw +aHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdXJpX2NjX2J5XzQiPmh0dHA6Ly9j +cmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC88L2VwcDpwaHJhc2U+CiAgICA8ZXBw +OnBocmFzZSBpZD0ibGljZW5zZXNfdXJpX2NjX2J5X25jX3NhXzQiPmh0dHA6Ly9jcmVhdGl2ZWNv +bW1vbnMub3JnL2xpY2Vuc2VzL2J5LW5jLXNhLzQuMC88L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBo +cmFzZSBpZD0ibGljZW5zZXNfdXJpX2NjX2J5X25jXzQiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMu +b3JnL2xpY2Vuc2VzL2J5LW5jLzQuMC88L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0i +bGljZW5zZXNfdXJpX2NjX2J5X25kXzQiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vu +c2VzL2J5LW5kLzQuMC88L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNf +dXJpX2NjX2J5X3NhXzQiPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNh +LzQuMC88L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdXJpX2F0dGFj +aGVkIj5MaWNlbmNlIGRvY3VtZW50IGF0dGFjaGVkPC9lcHA6cGhyYXNlPgoKICAgIDxlcHA6cGhy +YXNlIGlkPSJsaWNlbnNlc191cmlfY2NfcHVibGljX2RvbWFpbiI+aHR0cDovL2NyZWF0aXZlY29t +bW9ucy5vcmcvbGljZW5zZXMvcHVibGljZG9tYWluLzwvZXBwOnBocmFzZT4KICAgIDxlcHA6cGhy +YXNlIGlkPSJsaWNlbnNlc191cmlfYXR0YWNoZWQiPmF0dGFjaGVkPC9lcHA6cGhyYXNlPgogICAg +PGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3VyaV9taXQiPmh0dHA6Ly9vcGVuc291cmNlLm9yZy9s +aWNlbnNlcy9NSVQ8L2VwcDpwaHJhc2U+CiAgICA8ZXBwOnBocmFzZSBpZD0ibGljZW5zZXNfdXJp +X2dudV9ncGxfMyI+aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPC9lcHA6cGhy +YXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2VzX3VyaV9nbnVfbGdwbF8zIj5odHRwOi8v +d3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJh +c2UgaWQ9ImxpY2Vuc2VzX3VyaV9hcGFjaGVfMiI+aHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vu +c2VzL0xJQ0VOU0UtMi4wPC9lcHA6cGhyYXNlPgogICAgPGVwcDpwaHJhc2UgaWQ9ImxpY2Vuc2Vz +X3VyaV91b3IiPmh0dHA6Ly9yZXNlYXJjaGRhdGEucmVhZGluZy5hYy51ay9saWNlbmNlX3Jlc3Ry +aWN0ZWRfZGF0YS5odG1sPC9lcHA6cGhyYXNlPgoKCiAgICA8ZXBwOnBocmFzZSBpZD0iZGF0YWNp +dGVfdmFsaWRhdGU6bmVlZF9jcmVhdG9yc19vcl9jb3JwX2NyZWF0b3JzIj48cD5UaGVyZSBhcmUg +bm8gc3VpdGFibGUgdmFsdWVzIGZvciB0aGUgbWFuZGF0b3J5IGZpZWxkIDxzdHJvbmc+ZGF0YWNp +dGU6Q3JlYXRvcjwvc3Ryb25nPi4gUGxlYXNlIHN1cHBseSA8ZXBjOnBpbiBuYW1lPSJjcmVhdG9y +cyI+Y3JlYXRvcnM8L2VwYzpwaW4+IG9yIDxlcGM6cGluIG5hbWU9ImNvcnBfY3JlYXRvcnMiPmNv +cnBfY3JlYXRvcnM8L2VwYzpwaW4+IGJlZm9yZSBjb2luaW5nIGEgRE9JLjwvcD48L2VwcDpwaHJh +c2U+CiAgICA8ZXBwOnBocmFzZSBpZD0iZGF0YWNpdGVfdmFsaWRhdGU6bmVlZF90aXRsZSI+PHA+ +VGhlcmUgYXJlIG5vIHN1aXRhYmxlIHZhbHVlcyBmb3IgdGhlIG1hbmRhdG9yeSBmaWVsZCA8c3Ry +b25nPmRhdGFjaXRlOlRpdGxlPC9zdHJvbmc+LiBQbGVhc2Ugc3VwcGx5IGEgPGVwYzpwaW4gbmFt +ZT0idGl0bGUiPnRpdGxlPC9lcGM6cGluPiBiZWZvcmUgY29pbmluZyBhIERPSS48L3A+PC9lcHA6 +cGhyYXNlPgogICAgPCEtLSAgICA8ZXBwOnBocmFzZSBpZD0iZGF0YWNpdGVfdmFsaWRhdGU6bmVl +ZF9wdWJsaXNoZXIiPjxwPlRoZXJlIGFyZSBubyBzdWl0YWJsZSB2YWx1ZXMgZm9yIHRoZSBtYW5k +YXRvcnkgZmllbGQgPHN0cm9uZz5kYXRhY2l0ZTpQdWJsaXNoZXI8L3N0cm9uZz4uIFdlIHdpbGwg +dXNlIHRoZSBkZWZhdWx0IHB1Ymxpc2hlciBzZXQgaW4gdGhlIGRhdGFjaXRlIGNvbmZpZ3VyYXRp +b24gPHN0cm9uZz4iPGVwYzpwaW4gbmFtZT0iZGVmYXVsdF9wdWJsaXNoZXIiLz4iPC9zdHJvbmc+ +LjwvcD48cD5JZiB5b3Ugd291bGQgcHJlZmVyIG5vdCB0byB1c2UgdGhpcyB0aGVuIHBsZWFlIHN1 +cHBseSBhbiBhbHRlcm5hdGl2ZSA8ZXBjOnBpbiBuYW1lPSJwdWJsaXNoZXIiPnB1Ymxpc2hlcjwv +ZXBjOnBpbj4gYmVmb3JlIGNvaW5pbmcgYSBET0kuPC9wPjwvZXBwOnBocmFzZT4gLS0+CiAgICA8 +ZXBwOnBocmFzZSBpZD0iZGF0YWNpdGVfdmFsaWRhdGU6bmVlZF9wdWJsaXNoZXIiPjxwPlRoZXJl +IGFyZSBubyBzdWl0YWJsZSB2YWx1ZXMgZm9yIHRoZSBtYW5kYXRvcnkgZmllbGQgPHN0cm9uZz5k +YXRhY2l0ZTpQdWJsaXNoZXI8L3N0cm9uZz4uIFBsZWFzZSBzdXBwbHkgPGVwYzpwaW4gbmFtZT0i +cHVibGlzaGVyIj5wdWJsaXNoZXI8L2VwYzpwaW4+IGJlZm9yZSBjb2luaW5nIGEgRE9JLjwvcD48 +L2VwcDpwaHJhc2U+CgogICAgPGVwcDpwaHJhc2UgaWQ9ImRhdGFjaXRlX3ZhbGlkYXRlOm5lZWRf +cHVibGlzaGVkX3llYXIiPjxwPlRoZXJlIGFyZSBubyBzdWl0YWJsZSB2YWx1ZXMgZm9yIHRoZSBt +YW5kYXRvcnkgZmllbGQgPHN0cm9uZz5kYXRhY2l0ZTpQdWJsaWNhdGlvblllYXI8L3N0cm9uZz4u +IFBsZWFzZSBzdXBwbHkgYSA8ZXBjOnBpbiBuYW1lPSJkYXRlcyI+cHVibGljYXRpb24gZGF0ZTwv +ZXBjOnBpbj4gYmVmb3JlIGNvaW5pbmcgYSBET0kuPC9wPjwvZXBwOnBocmFzZT4KCiAgICA8ZXBw +OnBocmFzZSBpZD0iZGF0YWNpdGVfdmFsaWRhdGU6ZG9pX3ByZWZpeF9taXNtYXRjaCI+PHA+WW91 +ciBzZXJ2ZXIgaG9zdG5hbWUgbWF0Y2hlcyB0aGUgcHJlcHJvZCByZWdleCA8c3Ryb25nPjxlcGM6 +cGluIG5hbWU9Im1hdGNoX3JlZ2V4cCIgdGV4dG9ubHk9InllcyIgLz48L3N0cm9uZz4gYnV0IGlz +IG5vdCB1c2luZyB0aGUgdGVzdCBET0kgcHJlZml4IC0gY3VycmVudCBwcmVmaXggaXMgPHN0cm9u +Zz48ZXBjOnBpbiBuYW1lPSJjb25maWd1cmVkX2RvaV9wcmVmaXgiIC8+PC9zdHJvbmc+LjwvcD48 +L2VwcDpwaHJhc2U+CgogICAgPCEtLSBXb3VsZCBiZSBuaWNlIHRvIGhvdGxpbmsgdGhlIHBsdWdp +biB0eXBlbWFwIHRvbyAtLT4KICAgIDxlcHA6cGhyYXNlIGlkPSJkYXRhY2l0ZV92YWxpZGF0ZTpu +ZWVkX21hcHBlZF90eXBlIj48cD5Zb3VyIGVwcmludCBpcyBlaXRoZXIgPGVwYzpwaW4gbmFtZT0i +dHlwZXMiPm1pc3NpbmcgaXRzIHR5cGU8L2VwYzpwaW4+IG9yIHRoZSB0eXBlIGhhcyBubyBtYXRj +aCBpbiB0aGUgcGx1Z2luIHR5cGVtYXAuPC9wPjwvZXBwOnBocmFzZT4KCgo8L2VwcDpwaHJhc2Vz +Pgo= + + + + document + static/images/epm/datacitedoi.png + image/png + 14e9e2be0a73f452533488634aaea66e + MD5 + 101504 + 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 + + + + document + plugins/EPrints/Plugin/Event/DataCiteEvent.pm + text/x-java + 6a29de65f6268314881d1197cb70b74e + MD5 + 7606 + PWhlYWQxIE5BTUUKCkVQcmludHM6OlBsdWdpbjo6RXZlbnQ6OkRhdGFDaXRlRXZlbnQKCj1jdXQK +CnBhY2thZ2UgRVByaW50czo6UGx1Z2luOjpFdmVudDo6RGF0YUNpdGVFdmVudDsKCnVzZSBFUHJp +bnRzOjpQbHVnaW46OkV2ZW50OwoKZXZhbCAidXNlIExXUDsgdXNlIEhUVFA6OkhlYWRlcnM6OlV0 +aWwiOwpldmFsICJ1c2UgV1dXOjpDdXJsOjpFYXN5IjsKCkBJU0EgPSBxdyggRVByaW50czo6UGx1 +Z2luOjpFdmVudCApOwoKc3ViIGRhdGFjaXRlX2RvaQogewogICAgICAgbXkoICRzZWxmLCAkZGF0 +YW9iaikgPSBAXzsKCgkJbXkgJHJlcG9zaXRvcnkgPSAkc2VsZi0+cmVwb3NpdG9yeSgpOwoKCQlp +ZiAoZGVmaW5lZCAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJnZXRfY3Vy +bCIpKSB7CgkJICAgICAgICMgVHJ5IGFuZCBpbXBvcnQgQ3VybC4KCQkgICAgICAgaWYgKCBldmFs +ICJ1c2UgV1dXOjpDdXJsOjpFYXN5IiApIHsgcHJpbnQgU1RERVJSICJVbmFibGUgdG8gaW1wb3J0 +IFdXVzo6Q3VybDo6RWFzeS5cbiI7IH0KCQl9IGVsc2UgewoJCSAgICAgICAjIEZhbGwgYmFjayB0 +byBMV1AgYW5kIHJlbHkgaW4gaXRzIGxpYnJhcnkgZGV0ZWN0aW9uLgoJCSAgICAgICBpZiAoIGV2 +YWwgInVzZSBMV1AiICkgeyBwcmludCBTVERFUlIgIlVuYWJsZSB0byBpbXBvcnQgTFdQLlxuIjsg +fQoJCSAgICAgICBpZiAoIGV2YWwgInVzZSBIVFRQOjpIZWFkZXJzOjpVdGlsIiApIHsgcHJpbnQg +U1RERVJSICJVbmFibGUgdG8gaW1wb3J0IEhUVFA6OkhlYWRlcnM6OlV0aWwuXG4iOyB9CgkJfQoK +CQkjIENoZWNrIG9iamVjdCBzdGF0dXMgZmlyc3QuLi4uIFRPRE86IE1ha2Ugd29yayBmb3IgZGF0 +YW9iaiA9PSBkb2N1bWVudCAoanVzdCBpbiBjYXNlKQoJCW15ICRzaG91bGRkb2kgPSAkcmVwb3Np +dG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJlcHJpbnRzdGF0dXMiLCAgJGRhdGFvYmot +PnZhbHVlKCAiZXByaW50X3N0YXR1cyIgKSk7CgkJI0NoZWNrIERvaSBTdGF0dXMKCQlpZighJHNo +b3VsZGRvaSl7CgkJCSRyZXBvc2l0b3J5LT5sb2coIkF0dGVtcHQgdG8gY29pbiBET0kgZm9yIGl0 +ZW0gdGhhdCBpcyBub3QgaW4gdGhlIHJlcXVpcmVkIGFyZWEgKHNlZSBcJGMtPntkYXRhY2l0ZWRv +aX0tPntlcHJpbnRzdGF0dXN9KSIpOwoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5U +RVJOQUxfU0VSVkVSX0VSUk9SOwoJCX0KCgkJbXkgJHRoaXNkb2kgPSAkc2VsZi0+Y29pbl9kb2ko +JHJlcG9zaXRvcnksJGRhdGFvYmopOwoJCSNjb2luX2RvaSBtYXkgcmV0dXJuIGFuIGV2ZW50IGVy +cm9yIGNvZGUgaWYgbm8gcHJlZml4IHByZXNlbnQgYXNzdW1lIHRoaXMgaXMgdGhlIGNhc2UKCQlt +eSAkcHJlZml4ID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAicHJlZml4 +Iik7CgkJcmV0dXJuICR0aGlzZG9pIGlmKCR0aGlzZG9pICF+IC9eJHByZWZpeC8pOwoKCQkjUGFz +cyBkb2kgaW50byBFeHBvcnQ6OkRhdGFDaXRlWE1MLi4uCgkJbXkgJHhtbCA9ICRkYXRhb2JqLT5l +eHBvcnQoICJEYXRhQ2l0ZVhNTCIsIGRvaT0+JHRoaXNkb2kgKTsKCQlyZXR1cm4gJHhtbCBpZigk +eG1sID1+IC9eXGQrJC8pOyAjanVzdCBhIG51bWJlcj8gY29pbl9kb2kgaGFzIHBhc3NlZCBiYWNr +IGFuIGVycm9yIGNvZGUgcGFzcyBpdCBvbi4uLgoKCQkjcHJpbnQgU1RERVJSICJYTUw6ICR4bWxc +biI7CgkJbXkgJHVybCA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImFw +aXVybCIpOwoJCSR1cmwuPSIvIiBpZigkdXJsICF+IC9cLyQvKTsgI2F0dGFjaCBzbGFzaCBpZiBj +b25maWcgaGFzIGZvcmdvdHRlbgoJCW15ICR1c2VyX25hbWUgPSAkcmVwb3NpdG9yeS0+Z2V0X2Nv +bmYoICJkYXRhY2l0ZWRvaSIsICJ1c2VyIik7CgkJbXkgJHVzZXJfcHcgPSAkcmVwb3NpdG9yeS0+ +Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJwYXNzIik7CgoJCSNyZWdpc3RlciBtZXRhZGF0YTsK +CQlteSAkcmVzcG9uc2VfY29udGVudDsKCQlteSAkcmVzcG9uc2VfY29kZTsKCQkjIFRlc3QgaWYg +d2Ugd2FudCB0byBiZSB1c2luZyBjdXJsOyBpZiB3ZSBkb24ndCBydW4gdGhlICdvbGQnIExXUCBj +b2RlCgkJaWYgKGRlZmluZWQgJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAi +Z2V0X2N1cmwiKSkgewoJCQkoJHJlc3BvbnNlX2NvbnRlbnQsICRyZXNwb25zZV9jb2RlKSA9ICBk +YXRhY2l0ZV9yZXF1ZXN0X2N1cmwoJHVybC4ibWV0YWRhdGEiLCAkdXNlcl9uYW1lLCAkdXNlcl9w +dywgJHhtbCwgImFwcGxpY2F0aW9uL3htbDtjaGFyc2V0PVVURi04Iik7CgkJfSBlbHNlIHsKCQkJ +KCRyZXNwb25zZV9jb250ZW50LCAkcmVzcG9uc2VfY29kZSkgPSAgZGF0YWNpdGVfcmVxdWVzdCgi +UE9TVCIsICR1cmwuIm1ldGFkYXRhIiwgJHVzZXJfbmFtZSwgJHVzZXJfcHcsICR4bWwsICJhcHBs +aWNhdGlvbi94bWw7Y2hhcnNldD1VVEYtOCIpOwoJCX0KCgkJaWYoJHJlc3BvbnNlX2NvZGUgIX4g +LzIwKDF8MCkvKXsKCQkJJHJlcG9zaXRvcnktPmxvZygiTWV0YWRhdGEgcmVzcG9uc2UgZnJvbSBk +YXRhY2l0ZSBhcGkgd2hlbiBzdWJtaXR0aW5nIEVQcmludCAkZGF0YW9iai0+aWQ6ICRyZXNwb25z +ZV9jb2RlOiAkcmVzcG9uc2VfY29udGVudCIpOwoJCQkkcmVwb3NpdG9yeS0+bG9nKCJYTUwgc3Vi +bWl0dGVkIHdhczpcbiR4bWwiKTsKCQkJcmV0dXJuIEVQcmludHM6OkNvbnN0OjpIVFRQX0lOVEVS +TkFMX1NFUlZFUl9FUlJPUjsKCQl9CgkJI3JlZ2lzdGVyIGRvaQoJCW15ICRyZXBvX3VybCA9JGRh +dGFvYmotPnVyaSgpOwoJCSNSTSBzcGVjaWFsIG92ZXJyaWRlIHRvIGFsbG93IHRlc3RpbmcgZnJv +bSAid3JvbmciIGRvbWFpbgoJCWlmKGRlZmluZWQgJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0 +YWNpdGVkb2kiLCAib3ZlcnJpZGVfdXJsIikpewoJCQkkcmVwb191cmwgPSAkcmVwb3NpdG9yeS0+ +Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJvdmVycmlkZV91cmwiKTsKCQkJJHJlcG9fdXJsLj0g +JGRhdGFvYmotPmludGVybmFsX3VyaTsKCQl9CiAJCW15ICRkb2lfcmVnID0gImRvaT0kdGhpc2Rv +aVxudXJsPSIuJHJlcG9fdXJsOwoJCSMgVGVzdCBpZiB3ZSB3YW50IHRvIGJlIHVzaW5nIGN1cmw7 +IGlmIHdlIGRvbid0IHJ1biB0aGUgJ29sZCcgTFdQIGNvZGUKCQlpZiAoZGVmaW5lZCAkcmVwb3Np +dG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJnZXRfY3VybCIpKSB7CgkJCSgkcmVzcG9u +c2VfY29udGVudCwgJHJlc3BvbnNlX2NvZGUpPSBkYXRhY2l0ZV9yZXF1ZXN0X2N1cmwoJHVybC4i +ZG9pIiwgJHVzZXJfbmFtZSwgJHVzZXJfcHcsICRkb2lfcmVnLCAidGV4dC9wbGFpbjsgY2hhcnNl +dD11dGY4Iik7CgkJfSBlbHNlIHsKCQkJKCRyZXNwb25zZV9jb250ZW50LCAkcmVzcG9uc2VfY29k +ZSk9IGRhdGFjaXRlX3JlcXVlc3QoIlBPU1QiLCAkdXJsLiJkb2kiLCAkdXNlcl9uYW1lLCAkdXNl +cl9wdywgJGRvaV9yZWcsICJ0ZXh0L3BsYWluOyBjaGFyc2V0PXV0ZjgiKTsKCQl9CgkJaWYoJHJl +c3BvbnNlX2NvZGUgICF+IC8yMCgxfDApLyl7CgkJCSRyZXBvc2l0b3J5LT5sb2coIlJlZ2lzdHJh +dGlvbiByZXNwb25zZSBmcm9tIGRhdGFjaXRlIGFwaTogJHJlc3BvbnNlX2NvZGU6ICRyZXNwb25z +ZV9jb250ZW50Iik7CgkJCSRyZXBvc2l0b3J5LT5sb2coIlhNTCBzdWJtaXR0ZWQgd2FzOlxuJHht +bCIpOwoJCQlyZXR1cm4gRVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9S +OwoJCX0KCgkJI25vdyBpdCBpcyBzYWZlIHRvIHNldCBET0kgdmFsdWUuCgkJbXkgJGVwcmludGRv +aWZpZWxkID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAiZXByaW50ZG9p +ZmllbGQiKTsKCQkkZGF0YW9iai0+c2V0X3ZhbHVlKCRlcHJpbnRkb2lmaWVsZCwgJHRoaXNkb2kp +OwoJCSRkYXRhb2JqLT5jb21taXQoKTsKCQkjc3VjY2VzcwoJCXJldHVybiB1bmRlZjsKfQoKCnN1 +YiBkYXRhY2l0ZV9yZXF1ZXN0IHsKICBteSAoJG1ldGhvZCwgJHVybCwgJHVzZXJfbmFtZSwgJHVz +ZXJfcHcsICRjb250ZW50LCAkY29udGVudF90eXBlKSA9IEBfOwoKICAjIGJ1aWxkIHJlcXVlc3QK +ICBteSAkaGVhZGVycyA9IEhUVFA6OkhlYWRlcnMtPm5ldygKICAgICdBY2NlcHQnICA9PiAnYXBw +bGljYXRpb24veG1sJywKICAgICdDb250ZW50LVR5cGUnID0+ICRjb250ZW50X3R5cGUKICApOwoK +ICBteSAkcmVxID0gSFRUUDo6UmVxdWVzdC0+bmV3KAogICAgJG1ldGhvZCA9PiAkdXJsLAogICAg +JGhlYWRlcnMsIEVuY29kZTo6ZW5jb2RlX3V0ZjgoICRjb250ZW50ICkKICApOwogICRyZXEtPmF1 +dGhvcml6YXRpb25fYmFzaWMoJHVzZXJfbmFtZSwgJHVzZXJfcHcpOwoKICAjIHBhc3MgcmVxdWVz +dCB0byB0aGUgdXNlciBhZ2VudCBhbmQgZ2V0IGEgcmVzcG9uc2UgYmFjawogIG15ICR1YSA9IExX +UDo6VXNlckFnZW50LT5uZXc7CiAgbXkgJHJlcyA9ICR1YS0+cmVxdWVzdCgkcmVxKTsKCiAgcmV0 +dXJuICgkcmVzLT5jb250ZW50KCksJHJlcy0+Y29kZSgpKTsKfQoKCgpzdWIgZGF0YWNpdGVfcmVx +dWVzdF9jdXJsIHsKICBteSAoJHVybCwgJHVzZXJfbmFtZSwgJHVzZXJfcHcsICRjb250ZW50LCAk +Y29udGVudF90eXBlKSA9IEBfOwoKICAjIGJ1aWxkIHJlcXVlc3QKICBteSBAbXloZWFkZXJzID0g +KAogICAgIkFjY2VwdDogYXBwbGljYXRpb24veG1sIiwKICAgICJDb250ZW50LVR5cGU6ICRjb250 +ZW50X3R5cGUiCiAgKTsKICBteSAkY3VybCA9IG5ldyBXV1c6OkN1cmw6OkVhc3k7CgogICRjdXJs +LT5zZXRvcHQoQ1VSTE9QVF9GQUlMT05FUlJPUiwxKTsKICAjICRjdXJsLT5zZXRvcHQoQ1VSTE9Q +VF9IRUFERVIsMSk7CiAgIyAkY3VybC0+c2V0b3B0KENVUkxPUFRfVkVSQk9TRSwgMSk7CiAgJGN1 +cmwtPnNldG9wdChDVVJMT1BUX1BPU1QsIDEpOwogICRjdXJsLT5zZXRvcHQoQ1VSTE9QVF9VUkws +ICR1cmwpOwogICRjdXJsLT5zZXRvcHQoQ1VSTE9QVF9VU0VSTkFNRSwgJHVzZXJfbmFtZSk7CiAg +JGN1cmwtPnNldG9wdChDVVJMT1BUX1BBU1NXT1JELCAkdXNlcl9wdyk7CiAgJGN1cmwtPnNldG9w +dChDVVJMT1BUX1BPU1RGSUVMRFMsICRjb250ZW50KTsKICAkY3VybC0+c2V0b3B0KENVUkxPUFRf +SFRUUEhFQURFUiwgXEBteWhlYWRlcnMpOwoKICBteSAkcmVzcG9uc2VfYm9keTsKICBvcGVuICht +eSAkZmlsZWIsICI+IiwgXCRyZXNwb25zZV9ib2R5KTsKICAkY3VybC0+c2V0b3B0KENVUkxPUFRf +V1JJVEVEQVRBLCRmaWxlYik7CgoKICAjIHBhc3MgcmVxdWVzdCBhbmQgZ2V0IGEgcmVzcG9uc2Ug +YmFjawogIG15ICRyZXRjb2RlID0gJGN1cmwtPnBlcmZvcm07CgogICMgVXNlIHJlc3BvbnNlIHRv +IGRldGVybWluZSBIVFRQIHN0YXR1cyBjb2RlCiAgJGh0dHBfcmV0Y29kZSAgICA9ICRjdXJsLT5n +ZXRpbmZvKENVUkxJTkZPX0hUVFBfQ09ERSk7CgojICAgIyBFbnN1cmUgd2UgcmV0dXJuIGEgdXNl +ZnVsICh3ZWxsLCB1c2FibGUpIG1lc3NhZ2UgYW5kIGVycm9yIHJlc3BvbnNlCiMgICBpZiAoJHJl +dGNvZGUgPT0gMCkgewojICAgICAkY29udGVudCA9ICJSZWNlaXZlZCByZXNwb25zZTogJHJlc3Bv +bnNlX2JvZHlcbiI7CiMgICB9IGVsc2UgewojICAgICAkaHR0cF9wcm9zZSA9ICRjdXJsLT5zdHJl +cnJvcigkcmV0Y29kZSk7CiMgICAgICRjb250ZW50ID0gIkFuIGVycm9yIGhhcHBlbmVkOiAkaHR0 +cF9wcm9zZSAkaHR0cF9yZXRjb2RlIChDdXJsIGVycm9yIGNvZGUgJHJldGNvZGUpXG4iOwojICAg +fQoKICByZXR1cm4gKCRjb250ZW50LCAkaHR0cF9yZXRjb2RlKTsKfQoKCiNSTSBsZXRzIGRvIHRo +ZSBET0kgY29pbmluZyBzb21ld2hlcmUgKHJlYXNvbmFibHkpIGFjY2Vzc2libGUKc3ViIGNvaW5f +ZG9pIHsKCiAgICAgICBteSggJHNlbGYsICRyZXBvc2l0b3J5LCAkZGF0YW9iaikgPSBAXzsKCgkj +Uk0gemVybyBwYWRkcyBlcHJpbnRpZCBhcyBwZXIgY29uZmlnCglteSAkel9wYWQgPSAkcmVwb3Np +dG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJ6ZXJvX3BhZGRpbmciKSB8fCAwOwoJbXkg +JGlkICA9IHNwcmludGYoIiUwIi4kel9wYWQuImQiLCAkZGF0YW9iai0+aWQpOwoJI0NoZWNrIGZv +ciBjdXN0b20gZGVsaW1pdGVycwoJbXkgKCRkZWxpbTEsICRkZWxpbTIpID0gQHskcmVwb3NpdG9y +eS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJkZWxpbWl0ZXJzIil9OwoJI2RlZmF1bHQgdG8g +c2xhc2gKCSRkZWxpbTEgPSAiLyIgaWYoIWRlZmluZWQgJGRlbGltMSk7Cgkjc2Vjb25kIGRlZmF1 +bHRzIHRvIGZpcnN0CgkkZGVsaW0yID0gJGRlbGltMSBpZighZGVmaW5lZCAkZGVsaW0yKTsKCSNj +b25zdHJ1Y3QgdGhlIERPSSBzdHJpbmcKCW15ICRwcmVmaXggPSAkcmVwb3NpdG9yeS0+Z2V0X2Nv +bmYoICJkYXRhY2l0ZWRvaSIsICJwcmVmaXgiKTsKCW15ICR0aGlzZG9pID0gJHByZWZpeC4kZGVs +aW0xLiRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInJlcG9pZCIpLiRkZWxp +bTIuJGlkOwoKCW15ICRlcHJpbnRkb2lmaWVsZCA9ICRyZXBvc2l0b3J5LT5nZXRfY29uZiggImRh +dGFjaXRlZG9pIiwgImVwcmludGRvaWZpZWxkIik7CgoJI0N1c3RvbSBET0lTCgkjaWYgRE9JIGZp +ZWxkIGlzIHNldCBhdHRlbXB0IHRvIHVzZSB0aGF0IGlmIGNvbmZpZyBhbGxvd3MKCWlmKCRkYXRh +b2JqLT5leGlzdHNfYW5kX3NldCggJGVwcmludGRvaWZpZWxkKSApewoKCQkjaWYgY29uZmlnIGRv +ZXMgbm90IGFsbG93IC4uLiBiYWlsCgkJaWYoICEkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRh +Y2l0ZWRvaSIsICJhbGxvd19jdXN0b21fZG9pIiApICl7CgkJCSRyZXBvc2l0b3J5LT5sb2coIkRP +SSBpcyBhbHJlYWR5IHNldCBhbmQgY3VzdG9tIG92ZXJyaWRlcyBhcmUgZGlzYWFsbG93ZWQgYnkg +Y29uZmlnIik7CgkJCXJldHVybiBFUHJpbnRzOjpDb25zdDo6SFRUUF9JTlRFUk5BTF9TRVJWRVJf +RVJST1I7CgkJfQoJCSN3ZSBhcmUgYWxsb3dlZCAoY2hlY2sgcHJlZml4IGp1c3QgaW4gY2FzZSkK +CQkkdGhpc2RvaSA9ICRkYXRhb2JqLT5nZXRfdmFsdWUoICRlcHJpbnRkb2lmaWVsZCApOwogICAg +IyBBSCBjb21tZW50ZWQgb3V0IGJlY2F1c2Ugd2hlbiB0aGVyZSBpcyBhbiBleGlzdGluZyBET0kg +KGUuZy4gb25lIGlzc3VlZCBieSB0aGUgcHVibGlzaGVyKQogICAgIyB0aGUgY29uZGl0aW9uIGlz +IGFsd2F5cyB0cnVlIGFuZCB0aGVyZWZvcmUsIGV4aXN0aW5nIERPSSBiZWNvbWVzIGFuIGVtcHR5 +IHN0cmluZwoJCSMgaWYoJHRoaXNkb2kgIX4gL14kcHJlZml4Lyl7CgkJIyAJJHJlcG9zaXRvcnkt +PmxvZygiUHJlZml4IGRvZXMgbm90IG1hdGNoICgkcHJlZml4KSBmb3IgY3VzdG9tIERPSTogJHRo +aXNkb2kiKTsKCQkjIAkkZGF0YW9iai0+c2V0X3ZhbHVlKCRlcHJpbnRkb2lmaWVsZCwgIiIpOyAj +dW5zZXQgdGhlIGJhZCBET0khIQoJCSMgCSRkYXRhb2JqLT5jb21taXQoKTsKCQkjIAlyZXR1cm4g +RVByaW50czo6Q29uc3Q6OkhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJCSMgfSNXZSdsbCBs +ZWF2ZSBEYXRhY2l0ZSB0byBkbyBhbnkgZnVydGhlciBzeW50YXggY2hlY2tpbmcgZXRjLi4uCgl9 +CgoJcmV0dXJuICR0aGlzZG9pOwp9CjE7Cg== + + + + document + plugins/EPrints/Plugin/Export/DataCiteXML.pm + text/plain + c2cd69eac69b3008b343d916688b95f4 + MD5 + 2948 + PWhlYWQxIE5BTUUKRVByaW50czo6UGx1Z2luOjpFeHBvcnQ6OkRhdGFDaXRlWE1MCj1jdXQKCnBh +Y2thZ2UgRVByaW50czo6UGx1Z2luOjpFeHBvcnQ6OkRhdGFDaXRlWE1MOwp1c2UgRVByaW50czo6 +UGx1Z2luOjpFeHBvcnQ6OkZlZWQ7CgpASVNBID0gKCdFUHJpbnRzOjpQbHVnaW46OkV4cG9ydDo6 +RmVlZCcpOwoKdXNlIHN0cmljdDsKCnVzZSBEYXRhOjpEdW1wZXI7CnN1YiBuZXcKewogICAgICAg +IG15ICgkY2xhc3MsICVvcHRzKSA9IEBfOwoKICAgICAgICBteSAkc2VsZiA9ICRjbGFzcy0+U1VQ +RVI6Om5ldyglb3B0cyk7CgogICAgICAgICRzZWxmLT57bmFtZX0gPSAnRGF0YSBDaXRlIFhNTCc7 +CiAgICAgICAgJHNlbGYtPnthY2NlcHR9ID0gWyAnZGF0YW9iai9lcHJpbnQnXTsKICAgICAgICAk +c2VsZi0+e3Zpc2libGV9ID0gJ2FsbCc7CiAgICAgICAgJHNlbGYtPntzdWZmaXh9ID0gJy54bWwn +OwogICAgICAgICRzZWxmLT57bWltZXR5cGV9ID0gJ2FwcGxpY2F0aW9uL3htbDsgY2hhcnNldD11 +dGYtOCc7CiAgICAgICAgJHNlbGYtPnthcmd1bWVudHN9LT57ZG9pfSA9IHVuZGVmOwoKICAgICAg +cmV0dXJuICRzZWxmOwp9CgpzdWIgb3V0cHV0X2RhdGFvYmoKewogICAgbXkgKCRzZWxmLCAkZGF0 +YW9iaiwgJW9wdHMpID0gQF87CgogICAgbXkgJHJlcG8gPSAkc2VsZi0+e3JlcG9zaXRvcnl9Owog +ICAgbXkgJHhtbCA9ICRyZXBvLT54bWw7CgogICAgI3JlZmVyZW5jZSB0aGUgZGF0YWNpdGUgc2No +ZW1hIGZyb20gY29uZmlnCiAgICBvdXIgJGVudHJ5ID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJy +ZXNvdXJjZSIsCiAgICAgICAgICAgICAgICAgICAgeG1sbnM9PiAkcmVwby0+Z2V0X2NvbmYoICJk +YXRhY2l0ZWRvaSIsICJ4bWxucyIpLAogICAgICAgICAgICAgICAgICAgICJ4bWxuczp4c2kiPT4i +aHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiLAogICAgICAgICAgICAg +ICAgICAgICJ4c2k6c2NoZW1hTG9jYXRpb24iID0+ICRyZXBvLT5nZXRfY29uZiggImRhdGFjaXRl +ZG9pIiwgInNjaGVtYUxvY2F0aW9uIikpOwoKICAgICNSTSBXZSBwYXNzIGluIHRoZSBET0kgZnJv +bSBFdmVudDo6RGF0YUNpdGUuLi4gb3IgZnJvbSAtLWFyZ3Mgb24gdGhlIGNtZCBsaW5lCgogICAg +IyBBSCBteSAkdGhpc2RvaSA9ICRvcHRze2RvaX07IGFsd2F5cyByZXR1cm5zIHVuZGVmaW5lZCwg +ZXZlbiB3aGVuIERPSSBleGlzdHMKICAgICMgSWRlYWxseSBjb2luaW5nIHNob3VsZCBOT1QgaGFw +cGVuIGluIHRoaXMgc2NyaXB0IGJ1dCBvcHRze2RvaX0gc2hvdWxkIGhhdmUgaXQKICAgICMgYnV0 +IGlzIGFsd2F5cyBibGFuawogICAgbXkgJHRoaXNkb2kgPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCJp +ZF9udW1iZXIiKTsKICAgICNSTSBjb2luIGEgRE9JIGlmIGVpdGhlcgogICAgICAgICAgICAjIC0g +bm90IGNvbWUgdmlhIGV2ZW50IG9yCiAgICAgICAgICAgICMgLSBubyBkb2kgYXJnIHBhc3NlZCBp +biB2aWEgY21kX2xpbmUKICAgICMgaWUgd2hlbiBzb21lb25lIGV4cG9ydHMgRGF0YUNpdGVYTUwg +ZnJvbSB0aGUgQWN0aW9uIHRhYgogICAgaWYoIWRlZmluZWQgJHRoaXNkb2kpewogICAgICAgICAg +ICAjbmljayB0aGUgY29pbmluZyBzdWIgZnJvbSBldmVudCBwbHVnaW4KICAgICAgICAgICAgbXkg +JGV2ZW50ID0gJHJlcG8tPnBsdWdpbigiRXZlbnQ6OkRhdGFDaXRlRXZlbnQiKTsKICAgICAgICAg +ICAgJHRoaXNkb2kgPSAkZXZlbnQtPmNvaW5fZG9pKCRyZXBvLCAkZGF0YW9iaik7CiAgICAgICAg +ICAgICNjb2luX2RvaSBtYXkgcmV0dXJuIGFuIGV2ZW50IGVycm9yIGNvZGUgaWYgbm8gcHJlZml4 +IHByZXNlbnQgYXNzdW1lIHRoaXMgaXMgdGhlIGNhc2UKICAgICAgICAgICAgbXkgJHByZWZpeCA9 +ICRyZXBvLT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgInByZWZpeCIpOwogICAgICAgICAgICBy +ZXR1cm4gJHRoaXNkb2kgaWYoJHRoaXNkb2kgIX4gL14kcHJlZml4Lyk7CiAgICB9CiAgICAkZW50 +cnktPmFwcGVuZENoaWxkKCAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCAiaWRlbnRpZmllciIs +ICR0aGlzZG9pICwgaWRlbnRpZmllclR5cGU9PiJET0kiICkgKTsKICAgIAogICAgbXkgJGNvbmZf +aGFzaF9yZWZlcmVuY2UgPSAkcmVwby0+e2NvbmZpZ307CiAgICBmb3JlYWNoIG15ICRtYXBwaW5n +X2ZuIChrZXlzICUkY29uZl9oYXNoX3JlZmVyZW5jZSl7CiAgICAgICAgIyBJZiB0aGlzIGlzIGEg +ZGF0YWNpdGVfbWFwcGluZyBjb25maWd1cmF0aW9uIGl0ZW0gKGFrYSBvbmUgb2Ygb3VyIHN1YnJv +dXRpbmVzKQogICAgICAgIGlmIChpbmRleCgkbWFwcGluZ19mbiwgJ2RhdGFjaXRlX21hcHBpbmdf +JykgPT0gMCkgewogICAgICAgICAgICAjIFZhbHVlIG9mICRtYXBwaW5nX2ZuIG1hdGNoZXMgZGF0 +YWNpdGVfbWFwcGluZ18sIHNvIGlzIHByb2JhYmx5IGEgaGVscGVyIG1ldGhvZAogICAgICAgICAg +ICBpZigkcmVwby0+Y2FuX2NhbGwoJG1hcHBpbmdfZm4pKXsKICAgICAgICAgICAgICAgICAgICBt +eSAkbWFwcGVkX2VsZW1lbnQgPSAkcmVwby0+Y2FsbCggJG1hcHBpbmdfZm4sICR4bWwsICRkYXRh +b2JqLCAkcmVwbyApOwogICAgICAgICAgICAgICAgICAgICRlbnRyeS0+YXBwZW5kQ2hpbGQoICRt +YXBwZWRfZWxlbWVudCApIGlmKGRlZmluZWQgJG1hcHBlZF9lbGVtZW50KTsKICAgICAgICAgICAg +fQogICAgICAgIH0KICAgICB9CiAgICAgCiMjIyMjIyMgRnJvbSBoZXJlIG9uIGluIHlvdSBjYW4g +cmVkZWZpbmUgZGF0YWNpdGVfbWFwcGluZ19bZmllbGRuYW1lXSBzdWIgcm91dGluZXMgaW4gbGli +L2NmZy5kL3p6el9kYXRhY2l0ZV9tYXBwaW5nLnBsICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK +CiAgICAgICAgICAgIHJldHVybiAnPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi +Pz4nLiJcbiIuJHhtbC0+dG9fc3RyaW5nKCRlbnRyeSk7Cn0KCgoxOwo= + + + + document + plugins/EPrints/Plugin/Screen/EPrint/Staff/CoinDOI.pm + text/plain + 9be56b73b331a5a012466899d8c644f0 + MD5 + 3894 + cGFja2FnZSBFUHJpbnRzOjpQbHVnaW46OlNjcmVlbjo6RVByaW50OjpTdGFmZjo6Q29pbkRPSTsK +CiN1c2UgRVByaW50czo6UGx1Z2luOjpTY3JlZW46OkVQcmludDsKCkBJU0EgPSAoICdFUHJpbnRz +OjpQbHVnaW46OlNjcmVlbjo6RVByaW50JyApOwoKdXNlIHN0cmljdDsKCnN1YiBuZXcKewogICAg +ICAgIG15KCAkY2xhc3MsICVwYXJhbXMgKSA9IEBfOwoKICAgICAgICBteSAkc2VsZiA9ICRjbGFz +cy0+U1VQRVI6Om5ldyglcGFyYW1zKTsKCiAgICAgICAgIyAgICAgICAkc2VsZi0+e3ByaXZ9ID0g +IyBubyBzcGVjaWZpYyBwcml2IC0gb25lIHBlciBhY3Rpb24KCiAgICAgICAgJHNlbGYtPnthY3Rp +b25zfSA9IFtxdy8gY29pbmRvaSAvXTsKCiAgICAgICAgJHNlbGYtPnthcHBlYXJzfSA9IFsgewog +ICAgICAgICAgICAgICAgcGxhY2UgPT4gImVwcmludF9lZGl0b3JfYWN0aW9ucyIsCiAgICAgICAg +ICAgICAgICBhY3Rpb24gPT4gImNvaW5kb2kiLAogICAgICAgICAgICAgICAgcG9zaXRpb24gPT4g +MTk3NywKICAgICAgICB9LCBdOwoKICAgICAgICByZXR1cm4gJHNlbGY7Cn0KCnN1YiBvYnRhaW5f +bG9jawp7CiAgICAgICAgbXkoICRzZWxmICkgPSBAXzsKCiAgICAgICAgcmV0dXJuICRzZWxmLT5j +b3VsZF9vYnRhaW5fZXByaW50X2xvY2s7Cn0KCnN1YiBhYm91dF90b19yZW5kZXIKewogICAgICAg +IG15KCAkc2VsZiApID0gQF87CgogICAgICAgICRzZWxmLT5FUHJpbnRzOjpQbHVnaW46OlNjcmVl +bjo6RVByaW50OjpWaWV3OjphYm91dF90b19yZW5kZXI7Cn0KCnN1YiBhbGxvd19jb2luZG9pCnsK +ICAgIG15KCAkc2VsZiApID0gQF87CgogICAgcmV0dXJuIDAgdW5sZXNzICRzZWxmLT5jb3VsZF9v +YnRhaW5fZXByaW50X2xvY2s7CiAKCW15ICRyZXBvc2l0b3J5ID0gJHNlbGYtPntyZXBvc2l0b3J5 +fTsKCSNUT0RPIGEgdmVyc2lvbiB0aGF0IHdvcmtzIGZvciBkb2N1bWVudHMgdG9vCglteSAkZGF0 +YW9iaiA9ICRzZWxmLT57cHJvY2Vzc29yfS0+e2VwcmludH07IAogICAgaWYgKGRlZmluZWQgJHJl +cG9zaXRvcnktPmdldF9jb25mKCAiZGF0YWNpdGVkb2kiLCAidHlwZXNhbGxvd2VkIikpIHsKICAg +ICAgIyBJcyB0aGlzIHR5cGUgb2YgZXByaW50IGFsbG93ZWQvZGVuaWVkIGNvaW5pbmc/CiAgICAg +IHJldHVybiAwIHVubGVzcyAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJ0 +eXBlc2FsbG93ZWQiLCAgJGRhdGFvYmotPmdldF90eXBlKTsKICAgIH0KICAgIHJldHVybiAwIHVu +bGVzcyAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJlcHJpbnRzdGF0dXMi +LCAgJGRhdGFvYmotPnZhbHVlKCAiZXByaW50X3N0YXR1cyIgKSk7CiAgICAjIERvbid0IHNob3cg +Y29pbkRPSSBidXR0b24gaWYgYSBET0kgaXMgYWxyZWFkeSBzZXQgQU5EIGNvaW5pbmcgb2YgY3Vz +dG9tIGRvaSBpcyBkaXNhbGxvd2VkCiAgICByZXR1cm4gMCBpZigkZGF0YW9iai0+aXNfc2V0KCRy +ZXBvc2l0b3J5LT5nZXRfY29uZiggImRhdGFjaXRlZG9pIiwgImVwcmludGRvaWZpZWxkIikpICYm +IAogICAgICAgICEkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoImRhdGFjaXRlZG9pIiwiYWxsb3dfY3Vz +dG9tX2RvaSIpKTsKCSNUT0RPIGRvbid0IGFsbG93IHRoZSBjb2luRE9JIGJ1dHRvbiBpZiBhIERP +SSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgKG1heSByZXF1aXJlIGEgZGIgZmxhZyBmb3Igc3VjY2Vz +c2Z1bCByZWcpCiAgICAjIE9yIG1heWJlIGNoZWNrIHdpdGggZGF0YWNpdGUgYXBpIHRvIHNlZSBp +ZiBhIGRvaSBpcyByZWdpc3RlcmVkCiAgICByZXR1cm4gJHNlbGYtPmFsbG93KCAkcmVwb3NpdG9y +eS0+Z2V0X2NvbmYoICJkYXRhY2l0ZWRvaSIsICJtaW50ZXJzIikgKTsKfQoKc3ViIGFjdGlvbl9j +b2luZG9pCnsKICAgIG15KCAkc2VsZiApID0gQF87CiAKICAgIG15ICRyZXBvc2l0b3J5ID0gJHNl +bGYtPntyZXBvc2l0b3J5fTsKCiAgICByZXR1cm4gdW5kZWYgaWYgKCFkZWZpbmVkICRyZXBvc2l0 +b3J5KTsKCiAgICAkc2VsZi0+e3Byb2Nlc3Nvcn0tPntyZWRpcmVjdH0gPSAkc2VsZi0+cmVkaXJl +Y3RfdG9fbWVfdXJsKCkuIiZfY3VycmVudD0yIjsKCiAgICBteSAkZXByaW50ID0gJHNlbGYtPntw +cm9jZXNzb3J9LT57ZXByaW50fTsKCiAgICBpZiAoZGVmaW5lZCAkZXByaW50KSB7CiAgICAgICAg +CgogICAgICAgIG15ICRwcm9ibGVtcyA9ICRzZWxmLT52YWxpZGF0ZSgkZXByaW50KTsKICAgICAg +ICAgICAgCiAgICAgICAgaWYoIHNjYWxhciBAeyRwcm9ibGVtc30gPiAwICkKICAgICAgICB7CiAg +ICAgICAgICAgIG15ICRkb21fcHJvYmxlbXMgPSAkc2VsZi0+e3Nlc3Npb259LT5tYWtlX2VsZW1l +bnQoInVsIik7CiAgICAgICAgICAgIGZvcmVhY2ggbXkgJHByb2JsZW1feGh0bWwgKCBAeyRwcm9i +bGVtc30gKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAkZG9tX3Byb2JsZW1zLT5hcHBl +bmRDaGlsZCggbXkgJGxpID0gJHNlbGYtPntzZXNzaW9ufS0+bWFrZV9lbGVtZW50KCJsaSIpKTsK +ICAgICAgICAgICAgICAgICRsaS0+YXBwZW5kQ2hpbGQoICRwcm9ibGVtX3hodG1sICk7CiAgICAg +ICAgICAgIH0KICAgICAgICAgICAgJHNlbGYtPndvcmtmbG93LT5saW5rX3Byb2JsZW1feGh0bWwo +ICRkb21fcHJvYmxlbXMsICJFUHJpbnQ6OkVkaXQiICk7CiAgICAgICAgICAgICRzZWxmLT57cHJv +Y2Vzc29yfS0+YWRkX21lc3NhZ2UoICJ3YXJuaW5nIiwgJGRvbV9wcm9ibGVtcyApOwoKCiAgICAg +ICAgfWVsc2V7CgogICAgICAgICAgICBteSAkZXByaW50X2lkID0gJGVwcmludC0+aWQ7CiAgICAg +ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAkcmVwb3NpdG9yeS0+ZGF0YXNldCggImV2 +ZW50X3F1ZXVlIiApLT5jcmVhdGVfZGF0YW9iaih7CiAgICAgICAgICAgICAgICBwbHVnaW5pZCA9 +PiAiRXZlbnQ6OkRhdGFDaXRlRXZlbnQiLAogICAgICAgICAgICAgICAgYWN0aW9uID0+ICJkYXRh +Y2l0ZV9kb2kiLAogICAgICAgICAgICAgICAgcGFyYW1zID0+IFskZXByaW50LT5pbnRlcm5hbF91 +cmldLAogICAgICAgICAgICB9KTsgCgogICAgICAgICAgICAkc2VsZi0+YWRkX3Jlc3VsdF9tZXNz +YWdlKCAxICk7CiAgICAgICAgfQogICAgfQp9ICAgIAoKc3ViIGFkZF9yZXN1bHRfbWVzc2FnZQp7 +CiAgICAgICAgbXkoICRzZWxmLCAkb2sgKSA9IEBfOwoKICAgICAgICBpZiggJG9rICkKICAgICAg +ICB7CiAgICAgICAgICAgICAgICAkc2VsZi0+e3Byb2Nlc3Nvcn0tPmFkZF9tZXNzYWdlKCAibWVz +c2FnZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICRzZWxmLT5odG1sX3BocmFzZSggImNvaW5p +bmdkb2kiICkgKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAg +ICAgICMgRXJyb3I/CiAgICAgICAgICAgICAgICAkc2VsZi0+e3Byb2Nlc3Nvcn0tPmFkZF9tZXNz +YWdlKCAiZXJyb3IiICk7CiAgICAgICAgfQoKICAgICAgICAkc2VsZi0+e3Byb2Nlc3Nvcn0tPntz +Y3JlZW5pZH0gPSAiRVByaW50OjpWaWV3IjsKfQoKIyBWYWxpZGF0ZSB0aGlzIGRhdGFjaXRlIHN1 +Ym1pc3Npb24gLSB0aGlzIHdpbGwgY2FsbCB2YWxpZGF0ZV9kYXRhY2l0ZSBpbiBsaWIvY2ZnLmQv +el9kYXRhY2l0ZV9tYXBwaW5nLnBsCnN1YiB2YWxpZGF0ZQp7CglteSggJHNlbGYsICRlcHJpbnQg +KSA9IEBfOwoKCW15IEBwcm9ibGVtczsKCglteSAkdmFsaWRhdGVfZm4gPSAidmFsaWRhdGVfZGF0 +YWNpdGUiOwoJaWYoICRzZWxmLT57c2Vzc2lvbn0tPmNhbl9jYWxsKCAkdmFsaWRhdGVfZm4gKSAp +Cgl7CgkJcHVzaCBAcHJvYmxlbXMsICRzZWxmLT57c2Vzc2lvbn0tPmNhbGwoIAoJCQkkdmFsaWRh +dGVfZm4sCgkJCSRlcHJpbnQsIAoJCQkkc2VsZi0+e3Nlc3Npb259ICApOwoJfQoKCXJldHVybiBc +QHByb2JsZW1zOwp9CgoKMTsK + + + + document + cfg.d/z_datacite_mapping.pl + text/plain + 259bcefdcf55f87cabc2d0b002023987 + MD5 + 20371 + IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBO +ZXcgYXJjaGl0ZWN0dXJlCiMgZm9yIEVwcmludCA9PiBkYXRhY2l0ZSBtYXBwaW5nCiMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYW5kYXRvcnkgZmllbGRzIGZvciBEYXRhY2l0 +ZSA0LjAKIyAtIGlkZW50aWZpZXIKIyAtIHJlc291cmNlVHlwZQojIC0gY3JlYXRvcnMKIyAtIHRp +dGxlcwojIC0gcHVibGlzaGVyCiMgLSBwdWJsaWNhdGlvblllYXIKIyAjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMKCiMgaWRlbnRpZmVyIHRoaXMgaXMgdGhlIERPSSBhbmQgaXMgYXV0 +b21hdGljYWxseSBnZW5lcmF0ZWQgc2VlIEVQcmludHM6OlBsdWdpbjo6RXZlbnQ6OkRhdGFDaXRl +RXZlbnQ6OmNvaW5fZG9pCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIwojIHJlc291cmNlVHlwZSB0aGlzIGlzIGRlcml2ZWQgZnJvbSB0aGUgZXByaW50 +LnR5cGUgYW5kIHRoZSBkYXRhY2l0ZWRvaS0+e3R5cGVtYXB9IGluIGNmZy9jZmcuZC96X2RhdGFj +aXRlLnBsCiMgaHR0cHM6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTQuMC9tZXRh +ZGF0YS54c2QjcmVzb3VyY2VUeXBlCgokYy0+e2RhdGFjaXRlX21hcHBpbmdfdHlwZX0gPSBzdWIg +ewoKICAgIG15KCR4bWwsICRkYXRhb2JqLCAkcmVwbykgPSBAXzsKCiAgICBteSAkcmVzb3VyY2VU +eXBlR2VuZXJhbF9vcHRzID0gWyBxdy8gCiAgICAgICAgQXVkaW92aXN1YWwKICAgICAgICBDb2xs +ZWN0aW9uCiAgICAgICAgRGF0YXNldAogICAgICAgIEV2ZW50CiAgICAgICAgSW1hZ2UKICAgICAg +ICBJbnRlcmFjdGl2ZVJlc291cmNlCiAgICAgICAgTW9kZWwKICAgICAgICBQaHlzaWNhbE9iamVj +dAogICAgICAgIFNlcnZpY2UKICAgICAgICBTb2Z0d2FyZQogICAgICAgIFNvdW5kCiAgICAgICAg +VGV4dAogICAgICAgIFdvcmtmbG93CiAgICAgICAgT3RoZXIKICAgIC9dOwoKICAgIG15ICRyZXNv +dXJjZVR5cGUgPSB1bmRlZjsKICAgIGlmKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgidHlwZSIp +KXsKICAgICAgICBteSAkcHViX3Jlc291cmNlVHlwZSA9ICRyZXBvLT5nZXRfY29uZigiZGF0YWNp +dGVkb2kiLCAidHlwZW1hcCIsICRkYXRhb2JqLT52YWx1ZSgidHlwZSIpKTsKICAgICAgICBpZiAo +ZGVmaW5lZCAkcHViX3Jlc291cmNlVHlwZSkgewogICAgICAgICAgICAgICAgaWYoZ3JlcCAkcHVi +X3Jlc291cmNlVHlwZS0+eydhJ30gZXEgJF8sIEAkcmVzb3VyY2VUeXBlR2VuZXJhbF9vcHRzKXsK +ICAgICAgICAgICAgICAgICAgICAkcmVzb3VyY2VUeXBlID0gJHhtbC0+Y3JlYXRlX2RhdGFfZWxl +bWVudCgicmVzb3VyY2VUeXBlIiwgJHB1Yl9yZXNvdXJjZVR5cGUtPnsndid9LCAKICAgICAgICAg +ICAgICAgICAgICAgICAgcmVzb3VyY2VUeXBlR2VuZXJhbD0+JHB1Yl9yZXNvdXJjZVR5cGUtPnsn +YSd9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAjIFdlIGhhdmUgdGhl +IHJlY29sbGVjdCBwbHVnaW4gaW4gcGxheSwgc28gbGV0J3MgdXNlIHRoZSBkYXRhX3R5cGUgaWYg +c2V0CiAgICBpZihkZWZpbmVkICRyZXBvLT5nZXRfY29uZigicmVjb2xsZWN0IikgJiYgJGRhdGFv +YmotPmV4aXN0c19hbmRfc2V0KCJkYXRhX3R5cGUiKSl7CiAgICAgICAgaWYoZ3JlcCAkZGF0YW9i +ai0+dmFsdWUoImRhdGFfdHlwZSIpIGVxICRfLCBAJHJlc291cmNlVHlwZUdlbmVyYWxfb3B0cyl7 +CiAgICAgICAgICAgICAgICAkcmVzb3VyY2VUeXBlID0gJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVu +dCgicmVzb3VyY2VUeXBlIiwgIkRhdGFzZXQiLCAKICAgICAgICAgICAgICAgICAgICByZXNvdXJj +ZVR5cGVHZW5lcmFsPT4kZGF0YW9iai0+dmFsdWUoImRhdGFfdHlwZSIpKTsKICAgICAgICB9CiAg +ICB9CiAgICByZXR1cm4gJHJlc291cmNlVHlwZTsKfTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGNyZWF0b3JzIHRoaXMg +aXMgZGVyaXZlZCBmcm9tIGNyZWF0b3JzIGFuZC9vciBjb3JwX2NyZWF0b3JzCiMgaHR0cHM6Ly9z +Y2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTQuMC9tZXRhZGF0YS54c2QjY3JlYXRvcnMK +CiRjLT57ZGF0YWNpdGVfbWFwcGluZ19jcmVhdG9yc30gPSBzdWIgewoKICAgIG15KCR4bWwsICRk +YXRhb2JqLCAkcmVwbykgPSBAXzsKCiAgICBteSAkY3JlYXRvcnMgPSB1bmRlZjsKICAgIAogICAg +aWYoJGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCJjcmVhdG9ycyIpKXsKCiAgICAgICAgJGNyZWF0 +b3JzID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoImNyZWF0b3JzIik7CgogICAgICAgIGZvcmVhY2gg +bXkgJG5hbWUoQHskZGF0YW9iai0+dmFsdWUoImNyZWF0b3JzIil9KSB7CiAgICAgICAgICAgIG15 +ICRhdXRob3IgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCgiY3JlYXRvciIpOwoKICAgICAgICAgICAg +bXkgJG5hbWVfc3RyID0gRVByaW50czo6VXRpbHM6Om1ha2VfbmFtZV9zdHJpbmcoJG5hbWUtPntu +YW1lfSk7CgogICAgICAgICAgICBteSAkZmFtaWx5ID0gJG5hbWUtPntuYW1lfS0+e2ZhbWlseX07 +CiAgICAgICAgICAgIG15ICRnaXZlbiA9ICRuYW1lLT57bmFtZX0tPntnaXZlbn07CiAgICAgICAg +ICAgIG15ICRvcmNpZCA9ICRuYW1lLT57b3JjaWR9OwoKICAgICAgICAgICAgaWYgKCRmYW1pbHkg +ZXEgJycgJiYgJGdpdmVuIGVxICcnKSB7CiAgICAgICAgICAgICAgICAkY3JlYXRvcnMtPmFwcGVu +ZENoaWxkKCRhdXRob3IpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGF1 +dGhvci0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiY3JlYXRvck5hbWUi +LCAkbmFtZV9zdHIpKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoJGdpdmVuIGVxICcn +KSB7CiAgICAgICAgICAgICAgICAkY3JlYXRvcnMtPmFwcGVuZENoaWxkKCRhdXRob3IpOwogICAg +ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGF1dGhvci0+YXBwZW5kQ2hpbGQoJHht +bC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiZ2l2ZW5OYW1lIiwgJGdpdmVuKSk7CiAgICAgICAgICAg +IH0KICAgICAgICAgICAgaWYgKCRmYW1pbHkgZXEgJycpIHsKICAgICAgICAgICAgICAgICRjcmVh +dG9ycy0+YXBwZW5kQ2hpbGQoJGF1dGhvcik7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg +ICAgICAgICAkYXV0aG9yLT5hcHBlbmRDaGlsZCgkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJm +YW1pbHlOYW1lIiwgJGZhbWlseSkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmICgkZGF0 +YW9iai0+ZXhpc3RzX2FuZF9zZXQoImNyZWF0b3JzX29yY2lkIikpIHsKCiAgICAgICAgICAgICAg +ICBpZiAoJG9yY2lkIGVxICcnKSB7CiAgICAgICAgICAgICAgICAgICAgJGNyZWF0b3JzLT5hcHBl +bmRDaGlsZCgkYXV0aG9yKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAg +ICAgICAgJGF1dGhvci0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgibmFt +ZUlkZW50aWZpZXIiLCAkb3JjaWQsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1l +VVJJID0+Imh0dHA6Ly9vcmNpZC5vcmcvIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBu +YW1lSWRlbnRpZmllclNjaGVtZT0+Ik9SQ0lEIikpOwogICAgICAgICAgICAgICAgfQogICAgICAg +ICAgICB9CgogICAgICAgICAgICAkY3JlYXRvcnMtPmFwcGVuZENoaWxkKCRhdXRob3IpOwogICAg +ICAgIH0KICAgIH0KICAgIGlmKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgiY29ycF9jcmVhdG9y +cyIpKXsKCiAgICAgICAgJGNyZWF0b3JzID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoImNyZWF0b3Jz +IikgaWYgKCFkZWZpbmVkICRjcmVhdG9ycyk7CiAgICAgICAgIyBDb3JwIGNyZWF0b3IgaXMgYSBt +dWx0aXBsZQogICAgICAgIGZvcmVhY2ggbXkgJGNvcnAgKCBAeyAkZGF0YW9iai0+Z2V0X3ZhbHVl +KCAnY29ycF9jcmVhdG9ycycgKSB9ICkgewogICAgICAgICAgIG15ICRjb3JwX2NyZWF0b3IgPSAk +eG1sLT5jcmVhdGVfZWxlbWVudCgnY3JlYXRvcicpOwogICAgICAgICAgICAkY29ycF9jcmVhdG9y +LT5hcHBlbmRDaGlsZCgkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJjcmVhdG9yTmFtZSIsICRj +b3JwKSk7CiAgICAgICAgICAgICRjcmVhdG9ycy0+YXBwZW5kQ2hpbGQoJGNvcnBfY3JlYXRvcik7 +CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiAkY3JlYXRvcnMKfTsKCiMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgdGl0bGVzIHRoaXMgaXMgZGVy +aXZlZCBmcm9tIHRoZSBlcHJpbnQudGl0bGUKIyBodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmcv +bWV0YS9rZXJuZWwtNC4wL21ldGFkYXRhLnhzZCN0aXRsZXMKCiRjLT57ZGF0YWNpdGVfbWFwcGlu +Z190aXRsZX0gPSBzdWIgewogICAgbXkoJHhtbCwgJGRhdGFvYmosICRyZXBvKSA9IEBfOwoKICAg +IG15ICR0aXRsZXMgPSB1bmRlZjsKICAgIGlmKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgidGl0 +bGUiKSl7CiAgICAgICAgJHRpdGxlcyA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCJ0aXRsZXMiKTsK +ICAgICAgICAkdGl0bGVzLT5hcHBlbmRDaGlsZCgkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJ0 +aXRsZSIsICRkYXRhb2JqLT5yZW5kZXJfdmFsdWUoInRpdGxlIiksIAogICAgICAgICAgICAgICAg +InhtbDpsYW5nIj0+JHJlcG8tPmdldF9sYW5ndWFnZS0+Z2V0X2lkKSk7CiAgICB9CiAgICByZXR1 +cm4gJHRpdGxlcwp9OwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMKIyBwdWJsaXNoZXIgdGhpcyBpcyBkZXJpdmVkIGZyb20gdGhlIGVwcmludC5w +dWJsaXNoZXIKIyBodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmcvbWV0YS9rZXJuZWwtNC4wL21l +dGFkYXRhLnhzZCNwdWJsaXNoZXIKCiRjLT57ZGF0YWNpdGVfbWFwcGluZ19wdWJsaXNoZXJ9ID0g +c3ViIHsKCiAgICBteSgkeG1sLCAkZGF0YW9iaiwgJHJlcG8pID0gQF87CgogICAgbXkgJHB1Ymxp +c2hlciA9ICRyZXBvLT5nZXRfY29uZigiZGF0YWNpdGVkb2kiLCJwdWJsaXNoZXIiKTsKICAgIGlm +KCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgicHVibGlzaGVyIikpewogICAgICAgICRwdWJsaXNo +ZXIgPSAkZGF0YW9iai0+cmVuZGVyX3ZhbHVlKCJwdWJsaXNoZXIiKTsKICAgIH0KICAgIHJldHVy +biAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJwdWJsaXNoZXIiLCAkcHVibGlzaGVyKTsKCn07 +CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIHB1 +YmxpY2F0aW9uWWVhciB0aGlzIGlzIGRlcml2ZWQgZnJvbSB0aGUgZXByaW50LmRhdGUgKHRoaXMg +d2lsbCBoYXZlIHRoZSBwdWIgZGF0ZSBpZiBkYXRlc2RhdGVzZGF0ZXMgaXMgaW4gcGxheSkKIyBo +dHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmcvbWV0YS9rZXJuZWwtNC4wL21ldGFkYXRhLnhzZCNw +dWJsaWNhdGlvblllYXIKIyBZZWFyIHdoZW4gdGhlIGRhdGEgaXMgbWFkZSBwdWJsaWNseSBhdmFp +bGFibGUuIAojIElmIGFuIGVtYmFyZ28gcGVyaW9kIGhhcyBiZWVuIGluIGVmZmVjdCwgdXNlIHRo +ZSBkYXRlIHdoZW4gdGhlIGVtYmFyZ28gcGVyaW9kIGVuZHMuCgoKJGMtPntkYXRhY2l0ZV9tYXBw +aW5nX2RhdGV9ID0gc3ViIHsKCiAgICBteSAoICR4bWwsICRkYXRhb2JqLCAkcmVwbyApID0gQF87 +CgogICAgbXkgJHB1YmxpY2F0aW9uWWVhciA9IHVuZGVmOwogICAgbXkgJHB1Yl95ZWFyID0gdW5k +ZWY7CiAgICBpZigkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoImRhdGUiKSkgewogICAgICAgICRk +YXRhb2JqLT5nZXRfdmFsdWUoICJkYXRlIiApID1+IC9eKFswLTldezR9KS87CiAgICAgICAgJHB1 +Yl95ZWFyID0gJDE7CiAgICB9CiAgICAgCiAgICBmb3IgbXkgJGRvYyAoICRkYXRhb2JqLT5nZXRf +YWxsX2RvY3VtZW50cygpICkgewogICAgICAgIGlmKCRkb2MtPmV4aXN0c19hbmRfc2V0KCJkYXRl +X2VtYmFyZ28iKSl7CiAgICAgICAgICAgICRkb2MtPmdldF92YWx1ZSggImRhdGVfZW1iYXJnbyIg +KSA9fiAvXihbMC05XXs0fSkvOwogICAgICAgICAgICAkcHViX3llYXIgPSAkMSBpZiAkMSA+ICRw +dWJfeWVhcjsgI2hpZ2hlc3QgYXZhaWxhYmxlIHB1Yl95ZWFyIHZhbHVlCiAgICAgICAgfQogICAg +fQoKICAgICRwdWJsaWNhdGlvblllYXIgPSAkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCAicHVi +bGljYXRpb25ZZWFyIiwgJHB1Yl95ZWFyICkgaWYgZGVmaW5lZCAkcHViX3llYXI7CgogICAgcmV0 +dXJuICRwdWJsaWNhdGlvblllYXI7Cn07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGRlc2NyaXB0aW9ucyB0aGlzIGlz +IGRlcml2ZWQgZnJvbSB0aGUgZXByaW50LmFic3RyYWN0CiMgSWYgcmVjb2xsZWN0IGlzIGluIHBs +YWNlIGZyb20gZXByaW50LmNvbGxlY3Rpb25fbWV0aG9kLCBlcHJpbnQucHJvdmVuYW5jZSB0b28K +IyBodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmcvbWV0YS9rZXJuZWwtNC4wL21ldGFkYXRhLnhz +ZCNkZXNjcmlwdGlvbnMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGRlc2NyaXB0aW9uVHlwZXM6 +CiMKIyBBYnN0cmFjdAojIE1ldGhvZHMKIyBTZXJpZXNJbmZvcm1hdGlvbgojIFRhYmxlT2ZDb250 +ZW50cwojIFRlY2huaWNhbEluZm8KIyBPdGhlcgojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKJGMt +PntkYXRhY2l0ZV9tYXBwaW5nX2Fic3RyYWN0fSA9IHN1YiB7CiAgICBteSgkeG1sLCAkZGF0YW9i +aiwgJHJlcG8pID0gQF87CgogICAgbXkgJGRlc2NyaXB0aW9ucyA9IHVuZGVmOwogICAgCiAgICBp +ZigkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoImFic3RyYWN0IikpewoKICAgICAgICAkZGVzY3Jp +cHRpb25zID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoImRlc2NyaXB0aW9ucyIpOwogICAgICAgICRk +ZXNjcmlwdGlvbnMtPmFwcGVuZENoaWxkKCR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQoImRlc2Ny +aXB0aW9uIiwgJGRhdGFvYmotPmdldF92YWx1ZSgiYWJzdHJhY3QiKSwgCiAgICAgICAgICAgICAg +ICAieG1sOmxhbmciPT4kcmVwby0+Z2V0X2xhbmd1YWdlLT5nZXRfaWQsIAogICAgICAgICAgICAg +ICAgZGVzY3JpcHRpb25UeXBlPT4iQWJzdHJhY3QiKSk7CiAgICB9CgogICAgaWYgKCRkYXRhb2Jq +LT5leGlzdHNfYW5kX3NldCgiY29sbGVjdGlvbl9tZXRob2QiKSkgewogICAgICAgICRkZXNjcmlw +dGlvbnMgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCgiZGVzY3JpcHRpb25zIikgaWYoIWRlZmluZWQg +JGRlc2NyaXB0aW9ucyk7CiAgICAgICAgJGRlc2NyaXB0aW9ucy0+YXBwZW5kQ2hpbGQoJHhtbC0+ +Y3JlYXRlX2RhdGFfZWxlbWVudCgiZGVzY3JpcHRpb24iLCAkZGF0YW9iai0+Z2V0X3ZhbHVlKCJj +b2xsZWN0aW9uX21ldGhvZCIpLAogICAgICAgICAgICAgICAgInhtbDpsYW5nIj0+JHJlcG8tPmdl +dF9sYW5ndWFnZS0+Z2V0X2lkLCAKICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uVHlwZSA9PiJN +ZXRob2RzIikpOwogICAgfQoKICAgIGlmICgkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoInByb3Zl +bmFuY2UiKSkgewogICAgICAgICRkZXNjcmlwdGlvbnMgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCgi +ZGVzY3JpcHRpb25zIikgaWYoIWRlZmluZWQgJGRlc2NyaXB0aW9ucyk7CiAgICAgICAgJGRlc2Ny +aXB0aW9ucy0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiZGVzY3JpcHRp +b24iLCAkZGF0YW9iai0+Z2V0X3ZhbHVlKCJwcm92ZW5hbmNlIiksCiAgICAgICAgICAgICAgICAi +eG1sOmxhbmciPT4kcmVwby0+Z2V0X2xhbmd1YWdlLT5nZXRfaWQsIAogICAgICAgICAgICAgICAg +ZGVzY3JpcHRpb25UeXBlID0+IlRlY2huaWNhbEluZm8iKSk7CiAgICB9CgogICAgcmV0dXJuICRk +ZXNjcmlwdGlvbnM7Cn07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIHN1YmplY3RzIHRoaXMgaXMgZGVyaXZlZCBmcm9t +IHRoZSBlcHJpbnQua2V5d29yZHMKIyBodHRwczovL3NjaGVtYS5kYXRhY2l0ZS5vcmcvbWV0YS9r +ZXJuZWwtNC4wL21ldGFkYXRhLnhzZCNzdWJqZWN0cwoKJGMtPntkYXRhY2l0ZV9tYXBwaW5nX2tl +eXdvcmRzfSA9IHN1YiB7CiAgICBteSgkeG1sLCAkZGF0YW9iaiwgJHJlcG8pID0gQF87CgogICAg +bXkgJHN1YmplY3RzID0gdW5kZWY7IAogICAgaWYgKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgi +a2V5d29yZHMiKSkgewogICAgICAgIG15ICRzdWJqZWN0cyA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50 +KCJzdWJqZWN0cyIpOwogICAgICAgIG15ICRrZXl3b3JkcyA9ICRkYXRhb2JqLT5nZXRfdmFsdWUo +ImtleXdvcmRzIik7CiAgICAgICAgIyBrZXlzd29yZHMgYXMgYSBtdWx0aXBsZSBmaWVsZAogICAg +ICAgIGlmIChyZWYoJGtleXdvcmRzKSBlcSAiQVJSQVkiKSB7CiAgICAgICAgICAgIGZvcmVhY2gg +bXkgJGtleXdvcmQoQCRrZXl3b3JkcykgewogICAgICAgICAgICAgICAgJHN1YmplY3RzLT5hcHBl +bmRDaGlsZCgkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJzdWJqZWN0IiwgJGtleXdvcmQsCiAg +ICAgICAgICAgICAgICAgICAgICAgICJ4bWw6bGFuZyI9PiRyZXBvLT5nZXRfbGFuZ3VhZ2UtPmdl +dF9pZCkpOwogICAgICAgICAgICB9CiAgICAgICAgI29yIGEgYmxvY2sgb2YgdGV4dAogICAgICAg +IH1lbHNlewogICAgICAgICAgICAkc3ViamVjdHMtPmFwcGVuZENoaWxkKCR4bWwtPmNyZWF0ZV9k +YXRhX2VsZW1lbnQoInN1YmplY3QiLCAka2V5d29yZHMsCiAgICAgICAgICAgICAgICAgICAgInht +bDpsYW5nIj0+JHJlcG8tPmdldF9sYW5ndWFnZS0+Z2V0X2lkKSk7CiAgICAgICAgfQogICAgfQog +ICAgcmV0dXJuICRzdWJqZWN0cwp9OwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBnZW9Mb2NhdGlvbnMgdGhpcyBpcyBk +ZXJpdmVkIGZyb20gdGhlIGVwcmludC5nZW9ncmFwaGljX2NvdmVyIAojIGFuZC9vciBlcHJpbnQu +Ym91bmRpbmdfYm94IChyZXF1aXJlcyByZWNvbGxlY3QpCiMgaHR0cHM6Ly9zY2hlbWEuZGF0YWNp +dGUub3JnL21ldGEva2VybmVsLTQuMC9tZXRhZGF0YS54c2Qjc3ViamVjdHMKCiRjLT57ZGF0YWNp +dGVfbWFwcGluZ19nZW9ncmFwaGljX2NvdmVyfSA9IHN1YiB7CiAgICBteSgkeG1sLCAkZGF0YW9i +aiwgJHJlcG8pID0gQF87CgogICAgbXkgJGdlb19sb2NhdGlvbnMgPSB1bmRlZjsKCiAgICBpZiAo +JGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCJnZW9ncmFwaGljX2NvdmVyIikpIHsKICAgICAgICAk +Z2VvX2xvY2F0aW9ucyA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCJnZW9Mb2NhdGlvbnMiKTsKICAg +ICAgICAkZ2VvX2xvY2F0aW9ucy0+YXBwZW5kQ2hpbGQobXkgJGdlb19sb2NhdGlvbiA9ICR4bWwt +PmNyZWF0ZV9lbGVtZW50KCJnZW9Mb2NhdGlvbiIpKTsKCiAgICAgICAgIyBHZXQgdmFsdWUgb2Yg +Z2VvZ3JhcGhpY19jb3ZlciBmaWVsZCBhbmQgYXBwZW5kIHRvICRnZW9fbG9jYXRpb24gWE1MIGVs +ZW1lbnQKICAgICAgICBteSAkZ2VvZ3JhcGhpY19jb3ZlciA9ICRkYXRhb2JqLT5nZXRfdmFsdWUo +Imdlb2dyYXBoaWNfY292ZXIiKTsKICAgICAgICAkZ2VvX2xvY2F0aW9uLT5hcHBlbmRDaGlsZCgk +eG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJnZW9Mb2NhdGlvblBsYWNlIiwgJGdlb2dyYXBoaWNf +Y292ZXIpKTsKCiAgICB9CgogICAgaWYoJGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCJib3VuZGlu +Z19ib3giKSl7CiAgICAgICAgaWYoIWRlZmluZWQgJGdlb19sb2NhdGlvbnMpewogICAgICAgICAg +ICAkZ2VvX2xvY2F0aW9ucyA9ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCJnZW9Mb2NhdGlvbnMiKTsK +ICAgICAgICAgICAgJGdlb19sb2NhdGlvbnMtPmFwcGVuZENoaWxkKG15ICRnZW9fbG9jYXRpb24g +PSAkeG1sLT5jcmVhdGVfZWxlbWVudCgiZ2VvTG9jYXRpb24iKSk7CiAgICAgICAgfQoKICAgICAg +ICAjIEdldCB2YWx1ZXMgb2YgYm91bmRpbmcgYm94CiAgICAgICAgbXkgJHdlc3QgPSAkZGF0YW9i +ai0+Z2V0X3ZhbHVlKCJib3VuZGluZ19ib3hfd2VzdF9lZGdlIik7CiAgICAgICAgbXkgJGVhc3Qg +PSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCJib3VuZGluZ19ib3hfZWFzdF9lZGdlIik7CiAgICAgICAg +bXkgJHNvdXRoID0gJGRhdGFvYmotPmdldF92YWx1ZSgiYm91bmRpbmdfYm94X3NvdXRoX2VkZ2Ui +KTsKICAgICAgICBteSAkbm9ydGggPSAkZGF0YW9iai0+Z2V0X3ZhbHVlKCJib3VuZGluZ19ib3hf +bm9ydGhfZWRnZSIpOwoKICAgICAgICAjIENoZWNrIHRvIHNlZQogICAgICAgICMgaWYgJG5vcnRo +LCAkc291dGgsICRlYXN0LCBhbmQgJHdlc3QgdmFsdWVzIGFyZSBkZWZpbmVkCiAgICAgICAgaWYg +KGRlZmluZWQgJG5vcnRoICYmIGRlZmluZWQgJHNvdXRoICYmIGRlZmluZWQgJGVhc3QgJiYgZGVm +aW5lZCAkd2VzdCkgewogICAgICAgICAgICAjQ3JlYXRlZCAkZ2VvX2xvY2F0aW9uX2JveCBYTUwg +ZWxlbWVudAogICAgICAgICAgICBteSAkZ2VvX2xvY2F0aW9uX2JveCA9ICR4bWwtPmNyZWF0ZV9l +bGVtZW50KCJnZW9Mb2NhdGlvbkJveCIpOwogICAgICAgICAgICAjSWYgJGxvbmcgLyBsYXQgaXMg +ZGVmaW5lZCwgY3JlYXRlZCBYTUwgZWxlbWVudCB3aXRoIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZQog +ICAgICAgICAgICAkZ2VvX2xvY2F0aW9uX2JveC0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2Rh +dGFfZWxlbWVudCgid2VzdEJvdW5kTG9uZ2l0dWRlIiwgJHdlc3QpKTsKICAgICAgICAgICAgJGdl +b19sb2NhdGlvbl9ib3gtPmFwcGVuZENoaWxkKCR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQoImVh +c3RCb3VuZExvbmdpdHVkZSIsICRlYXN0KSk7CiAgICAgICAgICAgICRnZW9fbG9jYXRpb25fYm94 +LT5hcHBlbmRDaGlsZCgkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJzb3V0aEJvdW5kTGF0aXR1 +ZGUiLCAkc291dGgpKTsKICAgICAgICAgICAgJGdlb19sb2NhdGlvbl9ib3gtPmFwcGVuZENoaWxk +KCR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQoIm5vcnRoQm91bmRMYXRpdHVkZSIsICRub3J0aCkp +OwogICAgICAgICAgICAjQXBwZW5kIGNoaWxkICRnZW9fbG9jYXRpb25fYm94IFhNTCBlbGVtZW50 +IHRvIHBhcmVudCAkZ2VvX2xvY2F0aW9uIFhNTCBlbGVtZW50CiAgICAgICAgICAgIGlmKCFkZWZp +bmVkICRnZW9fbG9jYXRpb25zKXsKICAgICAgICAgICAgICAgICRnZW9fbG9jYXRpb25zID0gJHht +bC0+Y3JlYXRlX2VsZW1lbnQoImdlb0xvY2F0aW9ucyIpOwogICAgICAgICAgICB9CiAgICAgICAg +ICAgICRnZW9fbG9jYXRpb25zLT5hcHBlbmRDaGlsZChteSAkZ2VvX2xvY2F0aW9uID0gJHhtbC0+ +Y3JlYXRlX2VsZW1lbnQoImdlb0xvY2F0aW9uIikpOwogICAgICAgICAgICAkZ2VvX2xvY2F0aW9u +LT5hcHBlbmRDaGlsZCgkZ2VvX2xvY2F0aW9uX2JveCk7CiAgICAgICAgfQogICAgfQoKICAgIHJl +dHVybiAkZ2VvX2xvY2F0aW9uczsKfTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgZnVuZGluZ1JlZmVyZW5jZXMgdGhp +cyBpcyBkZXJpdmVkIGZyb20gdGhlIGVwcmludC5mdW5kZXJzIGFuZCBlcHJpbnQucHJvamVjdHMK +IyBQb3NzaWJseSBhbHNvIGVwcmludC5ncmFudCAocmVjb2xsZWN0KSBvciBhIGNvbXBvdW5kIGVw +cmludC5wcm9qZWN0IChyaW94eDIpCiMgaHR0cHM6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEv +a2VybmVsLTQuMC9tZXRhZGF0YS54c2QjZnVuZGluZ1JlZmVyZW5jZXMKCiRjLT57ZGF0YWNpdGVf +bWFwcGluZ19mdW5kZXJzfSA9IHN1YiB7CiAgICBteSgkeG1sLCAkZGF0YW9iaiwgJHJlcG8pID0g +QF87CgogICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAgICAjIElmIGF0IGFsbCBw +b3NzaWJsZSB3ZSBkbyB0aGlzOgogICAgIwogICAgIyBmdW5kZXJzID0+IGZ1bmRlck5hbWUgW21h +bmRhdG9yeV0KICAgICMgcHJvamVjdHMgPT4gYXdhcmRUaXRsZQogICAgIyBncmFudCAtPiBhd2Fy +ZE51bWJlcgogICAgIyBmdW5kZXJfaWQgPT4gZnVuZGVySWRlbnRpZmllcgoKICAgICNGdW5kZXJz +IGFuZCBwcm9qZWN0cyBhcmUgZGVmYXVsdCBlcHJpbnRzIGZpZWxkLCBib3RoIGFyZSBtdWx0aXBs +ZQogICAgbXkgJGZ1bmRlcnMgPSB1bmRlZjsKICAgIG15ICRwcm9qZWN0cyA9IHVuZGVmOwoKICAg +IG15ICRmdW5kaW5nUmVmZXJlbmNlcyA9IHVuZGVmOwogICAgaWYgKCRkYXRhb2JqLT5leGlzdHNf +YW5kX3NldCgiZnVuZGVycyIpKSB7CiAgICAgICAgJGZ1bmRlcnMgPSAkZGF0YW9iai0+Z2V0X3Zh +bHVlKCJmdW5kZXJzIik7CiAgICAgICAgbXkgJGk9MDsKICAgICAgICAkZnVuZGluZ1JlZmVyZW5j +ZXMgPSAkeG1sLT5jcmVhdGVfZWxlbWVudCgiZnVuZGluZ1JlZmVyZW5jZXMiKTsKICAgICAgICBm +b3JlYWNoIG15ICRmdW5kZXJOYW1lKEAkZnVuZGVycykgewogICAgICAgICAgICAkZnVuZGluZ1Jl +ZmVyZW5jZXMtPmFwcGVuZENoaWxkKG15ICRmdW5kaW5nUmVmZXJlbmNlID0gJHhtbC0+Y3JlYXRl +X2VsZW1lbnQoImZ1bmRpbmdSZWZlcmVuY2UiKSk7CiAgICAgICAgICAgICRmdW5kaW5nUmVmZXJl +bmNlLT5hcHBlbmRDaGlsZCgkeG1sLT5jcmVhdGVfZGF0YV9lbGVtZW50KCJmdW5kZXJOYW1lIiwg +JGZ1bmRlck5hbWUpKTsKICAgICAgICAgICAgaWYoJGRhdGFvYmotPmV4aXN0c19hbmRfc2V0KCJw +cm9qZWN0cyIpKXsKCSAgICAgICAgJHByb2plY3RzID0gJGRhdGFvYmotPmdldF92YWx1ZSgicHJv +amVjdHMiKTsKICAgICAgICAgICAgICAgIGlmKHJlZigkcHJvamVjdHMpID1+IC9BUlJBWS8pIHsK +ICAgICAgICAgICAgICAgICAgICBteSAkcHJvamVjdCA9ICRwcm9qZWN0cy0+W3NjYWxhcihAJHBy +b2plY3RzKS0xXTsKICAgICAgICAgICAgICAgICAgICBpZihkZWZpbmVkICRwcm9qZWN0cy0+WyRp +XSl7CiAgICAgICAgICAgICAgICAgICAgICAgICRwcm9qZWN0ID0gJHByb2plY3RzLT5bJGldOwog +ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkZnVuZGluZ1JlZmVyZW5j +ZS0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiYXdhcmRUaXRsZSIsICRw +cm9qZWN0KSk7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAkZnVu +ZGluZ1JlZmVyZW5jZS0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiYXdh +cmRUaXRsZSIsICRwcm9qZWN0cykpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog +ICAgICAgICAgICAjZ3JhbnRzIGlzIGFkZGVkIGJ5IHJlY29sbGVjdCBpZiBwcmVzZW50CiAgICAg +ICAgICAgIGlmKCRkYXRhb2JqLT5leGlzdHNfYW5kX3NldCgiZ3JhbnQiKSkgewogICAgICAgICAg +ICAgICAgbXkgJGdyYW50cyA9ICRkYXRhb2JqLT5nZXRfdmFsdWUoImdyYW50Iik7CiAgICAgICAg +ICAgICAgICAjSnVzdCBpbiBjYXNlIGl0IGhhcyBiZWVuIGNvbmZpZ3VyZWQgYXMgbXVsdGlwbGUK +ICAgICAgICAgICAgICAgIGlmKHJlZigkZ3JhbnRzKSA9fiAvQVJSQVkvKSB7CiAgICAgICAgICAg +ICAgICAgICAgbXkgJGdyYW50ID0gJGdyYW50cy0+W3NjYWxhcihAJGdyYW50cyktMV07CiAgICAg +ICAgICAgICAgICAgICAgaWYoZGVmaW5lZCAkZ3JhbnRzLT5bJGldKXsKICAgICAgICAgICAgICAg +ICAgICAgICAgJGdyYW50ID0gJGdyYW50cy0+WyRpXTsKICAgICAgICAgICAgICAgICAgICB9CiAg +ICAgICAgICAgICAgICAgICAgJGZ1bmRpbmdSZWZlcmVuY2UtPmFwcGVuZENoaWxkKCR4bWwtPmNy +ZWF0ZV9kYXRhX2VsZW1lbnQoImF3YXJkTnVtYmVyIiwgJGdyYW50KSk7CiAgICAgICAgICAgICAg +ICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAkZnVuZGluZ1JlZmVyZW5jZS0+YXBwZW5kQ2hp +bGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiYXdhcmROdW1iZXIiLCAkZ3JhbnRzKSk7CiAg +ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9IAoKICAgICNJZiB3 +ZSBoYXZlIHRoZSBmdW5kZXIgZGF0YSBpbiB0aGUgaW94eDIgZm9ybWF0LiAKICAgICNUaGlzIHdp +bGwgYmUgcHJlZmVycmVkIGlmIHByZXNlbnQgKGFzIHNob3VsZCBoYXZlIGJlZW4gZGVyaXZlZCBm +cm9tIHRoZSB0aGVycyBhbnl3YXkKICAgICNUT0RPIGtlZXAgZ3JhbnQgaWYgcHJlc2VudD8KICAg +IGlmICgkZGF0YW9iai0+ZXhpc3RzX2FuZF9zZXQoInJpb3h4Ml9wcm9qZWN0X2lucHV0IikpIHsK +ICAgICAgICBteSAkaT0wOwogICAgICAgICRmdW5kaW5nUmVmZXJlbmNlcyA9ICR4bWwtPmNyZWF0 +ZV9lbGVtZW50KCJmdW5kaW5nUmVmZXJlbmNlcyIpOwogICAgICAgIGZvcmVhY2ggbXkgJHByb2pl +Y3QoQHskZGF0YW9iai0+dmFsdWUoInJpb3h4Ml9wcm9qZWN0X2lucHV0Iil9KSB7CiAgICAgICAg +ICAgICRmdW5kaW5nUmVmZXJlbmNlcy0+YXBwZW5kQ2hpbGQobXkgJGZ1bmRpbmdSZWZlcmVuY2Ug +PSAkeG1sLT5jcmVhdGVfZWxlbWVudCgiZnVuZGluZ1JlZmVyZW5jZSIpKTsKICAgICAgICAgICAg +JGZ1bmRpbmdSZWZlcmVuY2UtPmFwcGVuZENoaWxkKCR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQo +ImZ1bmRlck5hbWUiLCAkcHJvamVjdC0+e2Z1bmRlcl9uYW1lfSkpOwogICAgICAgICAgICAkZnVu +ZGluZ1JlZmVyZW5jZS0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgiYXdh +cmRUaXRsZSIsICRwcm9qZWN0LT57cHJvamVjdH0pKTsKICAgICAgICAgICAgJGZ1bmRpbmdSZWZl +cmVuY2UtPmFwcGVuZENoaWxkKCR4bWwtPmNyZWF0ZV9kYXRhX2VsZW1lbnQoImZ1bmRlcklkIiwg +JHByb2plY3QtPntmdW5kZXJfaWR9KSk7CiAgICAgICAgfQogICAgfSAKCiAgICByZXR1cm4gJGZ1 +bmRpbmdSZWZlcmVuY2VzOwp9OwoKIyBUT0RPIHNvcnQgdGhpcyBvbmUgb3V0IHRvbwoKJGMtPntk +YXRhY2l0ZV9tYXBwaW5nX3JpZ2h0c19mcm9tX2RvY3N9ID0gc3ViIHsKICAgIG15ICggJHhtbCwg +JGRhdGFvYmosICRyZXBvICkgPSBAXzsKICAgIAogICAgbXkgJHJpZ2h0c0xpc3QgICA9ICR4bWwt +PmNyZWF0ZV9lbGVtZW50KCJyaWdodHNMaXN0Iik7CiAgICBteSAkcHJldmlvdXMgPSB7fTsKICAg +IG15ICRhdHRhY2hlZF9saWNlbmNlID0gdW5kZWY7CgogICAgZm9yIG15ICRkb2MgKCAkZGF0YW9i +ai0+Z2V0X2FsbF9kb2N1bWVudHMoKSApIHsKCiAgICAgICAgbXkgJGxpY2Vuc2UgPSAkZG9jLT5n +ZXRfdmFsdWUoImxpY2Vuc2UiKTsKICAgICAgICBteSAkY29udGVudCA9ICRkb2MtPmdldF92YWx1 +ZSgiY29udGVudCIpOwoKCSAgICAjIFRoaXMgZG9jIGlzIHRoZSBsaWNlbnNlIChmb3IgZG9jcyB0 +aGF0IGhhdmUgbGljZW5zZSA9PSBhdHRhY2hlZAoJICAgIGlmICgoZGVmaW5lZCAkY29udGVudCkg +JiYgKCRjb250ZW50IGVxICJsaWNlbmNlIikpewoJCSAgICAkYXR0YWNoZWRfbGljZW5jZSA9ICRk +b2MtPnVybDsKCQkgICAgbmV4dDsKCSAgICB9CgogICAgICAgIGlmKEVQcmludHM6OlV0aWxzOjpp +c19zZXQoJGxpY2Vuc2UpICYmICRsaWNlbnNlIG5lICJhdHRhY2hlZCIpIHsKCiAgICAgICAgICAg +ICAgICAgICAgbXkgJGxpY2Vuc2V1cmkgPSAkcmVwby0+cGhyYXNlKCJsaWNlbnNlc191cmlfJGxp +Y2Vuc2UiKTsKICAgICAgICAgICAgICAgICAgICBteSAkbGljZW5zZXBocmFzZSA9ICRyZXBvLT5w +aHJhc2UoImxpY2Vuc2VzX3R5cGVuYW1lXyRsaWNlbnNlIik7CgogICAgICAgICAgICAgICAgICAg +IGlmKCRkb2MtPmV4aXN0c19hbmRfc2V0KCJkYXRlX2VtYmFyZ28iKSl7CiAgICAgICAgICAgICAg +ICAgICAgICAgICAgICAkbGljZW5zZXBocmFzZSAuPSAkcmVwby0+cGhyYXNlKCJlbWJhcmdvZWRf +dW50aWwiLCBlbWJhcmdvX2RhdGU9PiRkb2MtPnZhbHVlKCJkYXRlX2VtYmFyZ28iKSk7CiAgICAg +ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkcmlnaHRzTGlzdC0+YXBwZW5k +Q2hpbGQoJHhtbC0+Y3JlYXRlX2RhdGFfZWxlbWVudCgicmlnaHRzIiwgJGxpY2Vuc2VwaHJhc2Us +IHJpZ2h0c1VSSSA9PiAkbGljZW5zZXVyaSkpOwoKICAgICAgICB9CiAgICB9CiAgICAKICAgICNz +ZWNvbmQgcGFzcyBub3cgdGhhdCB3ZSBrbm93IHdoYXQgdGhlIGF0dGFjaGVkIGxpY2Vuc2UgZG9j +IHVyIGlzCiAgICBmb3IgbXkgJGRvYyAoICRkYXRhb2JqLT5nZXRfYWxsX2RvY3VtZW50cygpICkg +ewogICAgICAgIG15ICRsaWNlbnNlID0gJGRvYy0+Z2V0X3ZhbHVlKCJsaWNlbnNlIik7CiAgICAJ +aWYoRVByaW50czo6VXRpbHM6OmlzX3NldCgkbGljZW5zZSkgJiYgJGxpY2Vuc2UgZXEgImF0dGFj +aGVkIikgewogICAgICAgIAkkcmlnaHRzTGlzdC0+YXBwZW5kQ2hpbGQoJHhtbC0+Y3JlYXRlX2Rh +dGFfZWxlbWVudCgicmlnaHRzIiwgJHJlcG8tPnBocmFzZSgibGljZW5zZXNfdHlwZW5hbWVfYXR0 +YWNoZWQiKSwgcmlnaHRzVVJJID0+ICRhdHRhY2hlZF9saWNlbmNlKSk7CgoJICAgIH0KICAgIH0K +CiAgICByZXR1cm4gJHJpZ2h0c0xpc3Q7Cn07CgoKCgoKCiRjLT57ZGF0YWNpdGVfbWFwcGluZ19y +ZXBvX2xpbmt9ID0gc3ViIHsKCiAgICBteSgkeG1sLCAkZW50cnksICRkYXRhb2JqKSA9IEBfOwoK +ICAgIG15ICRyZWxhdGVkSWRlbnRpZmllcnMgPSB1bmRlZjsKICAgICNkZWZhdWx0IGNvZGVpbiBw +bHVnaW4gKGZvciByZWZlcmVuY2UpCiAgICAjICAgIG15ICR0aGV1cmxzID0gJGRhdGFvYmotPmdl +dF92YWx1ZSggInJlcG9fbGluayIgKTsKICAgICMgICAgbXkgJHJlbGF0ZWRJZGVudGlmaWVycyA9 +ICR4bWwtPmNyZWF0ZV9lbGVtZW50KCAicmVsYXRlZElkZW50aWZpZXJzIiApOwogICAgIyAgICBm +b3JlYWNoIG15ICR0aGV1cmwgKCBAJHRoZXVybHMgKSB7CiAgICAjICAgICAgICBteSAkbGlua2sg +PSAkdGhldXJsLT57bGlua307CiAgICAjICAgICAgICBpZiAoISRsaW5rayBlcSAnJyl7CiAgICAj +ICAgICAgICAgICAgJHJlbGF0ZWRJZGVudGlmaWVycy0+YXBwZW5kQ2hpbGQoICAkeG1sLT5jcmVh +dGVfZGF0YV9lbGVtZW50KCAicmVsYXRlZElkZW50aWZpZXIiLCAkbGlua2ssIHJlbGF0ZWRJZGVu +dGlmaWVyVHlwZT0+IlVSTCIsIHJlbGF0aW9uVHlwZT0+IklzUmVmZXJlbmNlZEJ5IiApICk7CiAg +ICAjICAgICAgICB9CiAgICAjICAgIH0KCgogICAgcmV0dXJuICRyZWxhdGVkSWRlbnRpZmllcnM7 +Cgp9OwoKCiRjLT57dmFsaWRhdGVfZGF0YWNpdGV9ID0gc3ViCnsKCW15KCAkZXByaW50LCAkcmVw +b3NpdG9yeSApID0gQF87CgoJbXkgJHhtbCA9ICRyZXBvc2l0b3J5LT54bWwoKTsKCglteSBAcHJv +YmxlbXMgPSAoKTsKCgkjIElmIHRoaXMgaG9zdCBpcyBub3QgcHJvZHVjdGlvbiBpdCBzaG91bGQg +cHJvYmFibHkgdXNlIGEgdGVzdCBlbmRwb2ludC4KCSMgVG8gcHJldmVudCB0aGlzIGNoZWNrIGNo +YW5nZSB0aGUgdGVzdF9ob3N0X3JlZ2V4IHJlZ2V4IG5vdCB0byBtYXRjaCBob3N0bmFtZQoJIyBv +ciBlbnN1cmUgdGVzdF9ob3N0X3JlZ2V4IGlzIHVuZGVmaW5lZCAoYXMgaXMgdGhlIGRlZmF1bHQp +CgoJbXkgJHRlc3RfcmVnZXggPSAkcmVwb3NpdG9yeS0+Z2V0X2NvbmYoImRhdGFjaXRlZG9pIiwg +InRlc3RfaG9zdF9yZWdleCIpOwoJaWYgKGRlZmluZWQgJHRlc3RfcmVnZXgpewoJCXVzZSBTeXM6 +Okhvc3RuYW1lOwoJCW15ICRkb2lfcHJlZml4ID0gJHJlcG9zaXRvcnktPmdldF9jb25mKCJkYXRh +Y2l0ZWRvaSIsICJwcmVmaXgiKTsKCgkJIyBEb2VzIHRoaXMgaG9zdCBtYXRjaCB0aGUgcmVnZXg/ +IElzIGl0IHVzaW5nIHRoZSB0ZXN0IERPSSBwcmVmaXg/CgkJaWYgKChob3N0bmFtZSA9fiAkdGVz +dF9yZWdleCkgJiYgKCIxMC41MDcyIiAhPSAkZG9pX3ByZWZpeCkpIHsKCQkJcHVzaCBAcHJvYmxl +bXMsICRyZXBvc2l0b3J5LT5odG1sX3BocmFzZSgKCQkJCSJkYXRhY2l0ZV92YWxpZGF0ZTpkb2lf +cHJlZml4X21pc21hdGNoIiwKCQkJCW1hdGNoX3JlZ2V4cD0+ICR4bWwtPmNyZWF0ZV90ZXh0X25v +ZGUoIiR0ZXN0X3JlZ2V4IiksCgkJCQljb25maWd1cmVkX2RvaV9wcmVmaXg9PiAkeG1sLT5jcmVh +dGVfdGV4dF9ub2RlKCIkZG9pX3ByZWZpeCIpLAoJCQkpOwoJCX0KCX0KCiAgICAjTkVFRCBDUkVB +VE9SUwoJaWYoICEkZXByaW50LT5pc19zZXQoICJjcmVhdG9ycyIgKSAmJiAKCQkhJGVwcmludC0+ +aXNfc2V0KCAiY29ycF9jcmVhdG9ycyIgKSApCgl7CgkJbXkgJGNyZWF0b3JzID0gJHhtbC0+Y3Jl +YXRlX2VsZW1lbnQoICJzcGFuIiwgY2xhc3M9PiJlcF9wcm9ibGVtX2ZpZWxkOmNyZWF0b3JzIiAp +OwoJCW15ICRjb3JwX2NyZWF0b3JzID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJzcGFuIiwgY2xh +c3M9PiJlcF9wcm9ibGVtX2ZpZWxkOmNvcnBfY3JlYXRvcnMiICk7CgoJCXB1c2ggQHByb2JsZW1z +LCAkcmVwb3NpdG9yeS0+aHRtbF9waHJhc2UoIAoJCQkJImRhdGFjaXRlX3ZhbGlkYXRlOm5lZWRf +Y3JlYXRvcnNfb3JfY29ycF9jcmVhdG9ycyIsCgkJCQljcmVhdG9ycz0+JGNyZWF0b3JzLAoJCQkJ +Y29ycF9jcmVhdG9ycz0+JGNvcnBfY3JlYXRvcnMgKTsKCX0KCiAgICAjTkVFRCBUSVRMRQoJaWYo +ICEkZXByaW50LT5pc19zZXQoICJ0aXRsZSIgKSApCgl7CgkJbXkgJHRpdGxlID0gJHhtbC0+Y3Jl +YXRlX2VsZW1lbnQoICJzcGFuIiwgY2xhc3M9PiJlcF9wcm9ibGVtX2ZpZWxkOnRpdGxlIiApOwoK +CQlwdXNoIEBwcm9ibGVtcywgJHJlcG9zaXRvcnktPmh0bWxfcGhyYXNlKCAKCQkJCSJkYXRhY2l0 +ZV92YWxpZGF0ZTpuZWVkX3RpdGxlIiwKCQkJCXRpdGxlPT4kdGl0bGUgKTsKCX0KICAgICN3ZSB3 +aWxsIGFjY2VwdCB0aGUgcHVibGlzaGVyIHNldCBpbiBjb25maWcuLi4gYXMgbG9uZyBhcyBpdCBo +YXMgYmVlbiBzZXQgdG8gc29tZXRoaW5nIG90aGVyIHRoYW4gdGhlIGRlZmF1bHQKCWlmKCAhJGVw +cmludC0+aXNfc2V0KCAicHVibGlzaGVyIiApICYmICghRVByaW50czo6VXRpbHM6OmlzX3NldCgk +cmVwb3NpdG9yeS0+Z2V0X2NvbmYoImRhdGFjaXRlZG9pIiwicHVibGlzaGVyIikpIHx8CiAgICAg +ICAgJHJlcG9zaXRvcnktPmdldF9jb25mKCJkYXRhY2l0ZWRvaSIsInB1Ymxpc2hlciIpIGVxICJF +UHJpbnRzIFJlcG8iICkgKQoJewoJCW15ICRwdWJsaXNoZXIgPSAkeG1sLT5jcmVhdGVfZWxlbWVu +dCggInNwYW4iLCBjbGFzcz0+ImVwX3Byb2JsZW1fZmllbGQ6cHVibGlzaGVyIiApOwogICAgICAg +IG15ICRkZWZhdWx0X3B1Ymxpc2hlciA9ICRyZXBvc2l0b3J5LT5tYWtlX3RleHQoICRyZXBvc2l0 +b3J5LT5nZXRfY29uZigiZGF0YWNpdGVkb2kiLCJwdWJsaXNoZXIiKSApOwoJCXB1c2ggQHByb2Js +ZW1zLCAkcmVwb3NpdG9yeS0+aHRtbF9waHJhc2UoIAoJCQkJImRhdGFjaXRlX3ZhbGlkYXRlOm5l +ZWRfcHVibGlzaGVyIiwKCQkJCXB1Ymxpc2hlcj0+JHB1Ymxpc2hlciwKICAgICAgICAgICAgICAg +IGRlZmF1bHRfcHVibGlzaGVyID0+ICRkZWZhdWx0X3B1Ymxpc2hlcik7Cgl9CgoJaWYoICEkZXBy +aW50LT5pc19zZXQoICJkYXRlIiApIHx8ICEkZXByaW50LT5pc19zZXQoICJkYXRlX3R5cGUiICkg +fHwgKCRlcHJpbnQtPnZhbHVlKCAiZGF0ZV90eXBlIiApIG5lICJwdWJsaXNoZWQiKSApCgl7CgkJ +bXkgJGRhdGVzID0gJHhtbC0+Y3JlYXRlX2VsZW1lbnQoICJzcGFuIiwgY2xhc3M9PiJlcF9wcm9i +bGVtX2ZpZWxkOmRhdGVzIiApOwoKCQlwdXNoIEBwcm9ibGVtcywgJHJlcG9zaXRvcnktPmh0bWxf +cGhyYXNlKCAKCQkJCSJkYXRhY2l0ZV92YWxpZGF0ZTpuZWVkX3B1Ymxpc2hlZF95ZWFyIiwKCQkJ +CWRhdGVzPT4kZGF0ZXMgKTsKCX0KCgkjIElmIHdlIGRvbid0IGhhdmUgYSB0eXBlIG9yIGl0cyBu +b3QgaW4gb3VyIG1hcHBpbmcsIHRoYXRzIGJhZAoJaWYgKCAhJGVwcmludC0+ZXhpc3RzX2FuZF9z +ZXQoInR5cGUiKSB8fCAhJHJlcG9zaXRvcnktPmdldF9jb25mKCJkYXRhY2l0ZWRvaSIsICJ0eXBl +bWFwIiwgJGVwcmludC0+dmFsdWUoInR5cGUiKSkpCgl7CgkJbXkgJHR5cGVzID0gJHhtbC0+Y3Jl +YXRlX2VsZW1lbnQoICJzcGFuIiwgY2xhc3M9PiJlcF9wcm9ibGVtX2ZpZWxkOnR5cGUiICk7CgoJ +CXB1c2ggQHByb2JsZW1zLCAkcmVwb3NpdG9yeS0+aHRtbF9waHJhc2UoCgkJCQkiZGF0YWNpdGVf +dmFsaWRhdGU6bmVlZF9tYXBwZWRfdHlwZSIsCgkJCQl0eXBlcz0+JHR5cGVzICk7Cgl9CgoJcmV0 +dXJuKCBAcHJvYmxlbXMgKTsKfTsKCg== + + + + document + epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl + text/plain + 98b5a0b2203a9b6a180ae1b996823d20 + MD5 + 6522 + I0VuYWJsZSB0aGUgcGx1Z2luCiRjLT57cGx1Z2luc317IkV4cG9ydDo6RGF0YUNpdGVYTUwifXtw +YXJhbXN9e2Rpc2FibGV9ID0gMDsKJGMtPntwbHVnaW5zfXsiRXZlbnQ6OkRhdGFDaXRlRXZlbnQi +fXtwYXJhbXN9e2Rpc2FibGV9ID0gMDsKCiMgUmVnZXggdG8gbWF0Y2ggcHJlIHByb2R1Y3Rpb24g +c2VydmVycwojICRjLT57ZGF0YWNpdGVkb2l9e3Rlc3RfaG9zdF9yZWdleH0gPSAnZGV2fHRlc3R8 +cHJlcHJvZCc7CgojIHdoaWNoIGZpZWxkIHRvIHVzZSBmb3IgdGhlIGRvaQokYy0+e2RhdGFjaXRl +ZG9pfXtlcHJpbnRkb2lmaWVsZH0gPSAiaWRfbnVtYmVyIjsKCiNmb3IgeG1sOmxhbmcgYXR0cmli +dXRlcyBpbiBYTUwKJGMtPntkYXRhY2l0ZWRvaX17ZGVmYXVsdGxhbmd0YWd9ID0gImVuLUdCIjsK +CiNXaGVuIHNob3VsZCB5b3UgcmVnaXN0ZXIvdXBkYXRlIGRvaSBpbmZvLgokYy0+e2RhdGFjaXRl +ZG9pfXtlcHJpbnRzdGF0dXN9ID0ge2luYm94PT4wLGJ1ZmZlcj0+MSxhcmNoaXZlPT4xLGRlbGV0 +aW9uPT4wfTsKCiMgQ2hvb3NlIHdoaWNoIEVQcmludCB0eXBlcyBhcmUgYWxsb3dlZCAob3IgZGVu +aWVkKSB0aGUgYWJpbGl0eSB0byBjb2luIERPSXMuIEtleXMgbXVzdCBiZSBsb3dlciBjYXNlIGFu +ZCBiZSBlcHJpbnRzICp0eXBlcyogbm90ICp0eXBlX25hbWVzKi4KIyBFbnRyaWVzIGhlcmUgY2Fu +IGJlIGV4cGxpY2l0bHkgc2tpcHBlZCBieSBzZXR0aW5nIDA7IGhvd2V2ZXIgdGhvc2Ugbm90IGxp +c3RlZCB3aXRoIGEgMSBhcmUgbm90IGdpdmVuIGEgQ29pbiBET0kgYnV0dG9uIGJ5IGRlZmF1bHQu +CiMgVG8gaW5jbHVkZSB0aGUgJ0NvaW4gRE9JJyBidXR0b24gb24gYWxsIHR5cGVzIGxlYXZlIHRo +aXMgdW5kZWZpbmVkLgojICRjLT57ZGF0YWNpdGVkb2l9e3R5cGVzYWxsb3dlZH0gPSB7CiMgCQkJ +CSdhcnRpY2xlJz0+MCwgICAgICAgICAgICAgICAgICAgIyBBcnRpY2xlCiMgCQkJCSd0aGVzaXMn +PT4xLCAgICAgICAgICAgICAgICAgICAgIyBUaGVzaXMKIyAJCQkJJ2NyZWF0aXZlX3dvcmtzJyA9 +PiAxLCAgICAgICAgICAjIENyZWF0aXZlIFdvcmtzCiMgCQkJCSdkYXRhc2V0JyA9PiAxLCAgICAg +ICAgICAgICAgICAgIyBEYXRhc2V0CiMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 +OwoKI3NldCB0aGVzZSAoeW91IHdpbGwgZ2V0IHRoZSBmcm9tIGRhdGEgc2l0ZSkKIyBkb2kgPSB7 +cHJlZml4fS97cmVwb2lkfS97ZXByaW50aWR9CiRjLT57ZGF0YWNpdGVkb2l9e3ByZWZpeH0gPSAi +MTAuNTA3MiI7CiRjLT57ZGF0YWNpdGVkb2l9e3JlcG9pZH0gPSAkYy0+e2hvc3R9OwokYy0+e2Rh +dGFjaXRlZG9pfXthcGl1cmx9ID0gImh0dHBzOi8vbWRzLnRlc3QuZGF0YWNpdGUub3JnLyI7CiRj +LT57ZGF0YWNpdGVkb2l9e3VzZXJ9ID0gIlVTRVIiOwokYy0+e2RhdGFjaXRlZG9pfXtwYXNzfSA9 +ICJQQVNTIjsKCiMgQmFja2VuZCBsaWJyYXJ5IHVzZWQgZm9yIGNvbm5lY3RpbmcgdG8gQVBJOyBk +ZWZhdWx0cyB0byBMV1AgKGNvbmZpZ3VyYXRpb24gaXRlbSB1bnNldCkgYnV0IGNhbiBhbHNvIGJl +IEN1cmwgKGNvbmZpZ3VyYXRpb24gaXRlbSBzZXQpLgojICRjLT57ZGF0YWNpdGVkb2l9e3VzZV9j +dXJsfSA9ICJ5ZXMiOwoKIyBQcml2aWxlZGdlIHJlcXVpcmVkIHRvIGJlIGFibGUgdG8gbWludCBE +T0lzCiMgU2VlIGh0dHBzOi8vd2lraS5lcHJpbnRzLm9yZy93L1VzZXJfcm9sZXMucGwgZm9yIHJv +bGUgYW5kIHByaXZpbGVnZSBjb25maWd1cmF0aW9uCiRjLT57ZGF0YWNpdGVkb2l9e21pbnRlcnN9 +ID0gImVwcmludC9lZGl0OmVkaXRvciI7CgojIERhdGFDaXRlIHJlcXVpcmVzIGEgUHVibGlzaGVy +CiMgVGhlIG5hbWUgb2YgdGhlIGVudGl0eSB0aGF0IGhvbGRzLCBhcmNoaXZlcywgcHVibGlzaGVz +LAojIHByaW50cywgZGlzdHJpYnV0ZXMsIHJlbGVhc2VzLCBpc3N1ZXMsIG9yIHByb2R1Y2VzIHRo +ZQojIHJlc291cmNlLiBUaGlzIHByb3BlcnR5IHdpbGwgYmUgdXNlZCB0byBmb3JtdWxhdGUgdGhl +CiMgY2l0YXRpb24sIHNvIGNvbnNpZGVyIHRoZSBwcm9taW5lbmNlIG9mIHRoZSByb2xlLgojIGVn +IFdvcmxkIERhdGEgQ2VudGVyIGZvciBDbGltYXRlIChXRENDKTsKJGMtPntkYXRhY2l0ZWRvaX17 +cHVibGlzaGVyfSA9ICJFUHJpbnRzIFJlcG8iOwoKIyBOYW1lc3BhY2UgYW5kIGxvY2F0aW9uIGZv +ciBEYXRhQ2l0ZSBYTUwgc2NoZW1hCiMgZmVlbCBmcmVlIHRvIHVwZGF0ZSwgdGhvdWdoIG5vIGd1 +YXJhbnRlZXMgaXQnbGwgYmUgYWNjZXB0ZWQgaWYgeW91IGRvCiRjLT57ZGF0YWNpdGVkb2l9e3ht +bG5zfSA9ICJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCI7CiMgVHJ5IHRoaXMg +aW5zdGVhZDoKIyAkYy0+e2RhdGFjaXRlZG9pfXtzY2hlbWFMb2NhdGlvbn0gPSAkYy0+e2RhdGFj +aXRlZG9pfXt4bWxuc30uIiAiLiRjLT57ZGF0YWNpdGVkb2l9e3htbG5zfS4iL21ldGFkYXRhLnhz +ZCI7CiRjLT57ZGF0YWNpdGVkb2l9e3NjaGVtYUxvY2F0aW9ufSA9ICRjLT57ZGF0YWNpdGVkb2l9 +e3htbG5zfS4iIGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTQvbWV0YWRh +dGEueHNkIjsKCiMgTmVlZCB0byBtYXAgZXByaW50IHR5cGUgKGFydGljbGUsIGRhdGFzZXQgZXRj +KSB0byBET0kgUmVzb3VyY2VUeXBlCiMgQ29udHJvbGxlZCBsaXN0IGh0dHA6Ly9zY2hlbWEuZGF0 +YWNpdGUub3JnL21ldGEva2VybmVsLTQuMS9kb2MvRGF0YUNpdGUtTWV0YWRhdGFLZXJuZWxfdjQu +MS5wZGYKIyB3aGVyZSB2IGlzIHRoZSBSZXNvdXJjZVR5cGUgYW5kIGEgaXMgdGhlIHJlc291cmNl +VHlwZUdlbmVyYWwKIyRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e2Jvb2tfc2VjdGlvbn0gPSB7 +dj0+J0Jvb2tTZWN0aW9uJyxhPT4nVGV4dCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXth +cnRpY2xlfSA9IHt2PT4nQXJ0aWNsZScsYT0+J1RleHQnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlw +ZW1hcH17bW9ub2dyYXBofSA9IHt2PT4nTW9ub2dyYXBoJyxhPT4nVGV4dCd9OwokYy0+e2RhdGFj +aXRlZG9pfXt0eXBlbWFwfXt0aGVzaXN9ID0ge3Y9PidUaGVzaXMnLGE9PidUZXh0J307CiRjLT57 +ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e2Jvb2t9ID0ge3Y9PidCb29rJyxhPT4nVGV4dCd9OwokYy0+ +e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXtwYXRlbnR9ID0ge3Y9PidQYXRlbnQnLGE9PidUZXh0J307 +CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e2FydGVmYWN0fSA9IHt2PT4nQXJ0ZWZhY3QnLGE9 +PidQaHlzaWNhbE9iamVjdCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXtleGhpYml0aW9u +fSA9IHt2PT4nRXhoaWJpdGlvbicsYT0+J0ludGVyYWN0aXZlUmVzb3VyY2UnfTsKJGMtPntkYXRh +Y2l0ZWRvaX17dHlwZW1hcH17Y29tcG9zaXRpb259ID0ge3Y9PidDb21wb3NpdGlvbicsYT0+J1Nv +dW5kJ307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e3BlcmZvcm1hbmNlfSA9IHt2PT4nUGVy +Zm9ybWFuY2UnLGE9PidFdmVudCd9OwokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXtpbWFnZX0g +PSB7dj0+J0ltYWdlJyxhPT4nSW1hZ2UnfTsKJGMtPntkYXRhY2l0ZWRvaX17dHlwZW1hcH17dmlk +ZW99ID0ge3Y9PidWaWRlbycsYT0+J0F1ZGlvVmlzdWFsJ307CiRjLT57ZGF0YWNpdGVkb2l9e3R5 +cGVtYXB9e2F1ZGlvfSA9IHt2PT4nQXVkaW8nLGE9PidTb3VuZCd9OwokYy0+e2RhdGFjaXRlZG9p +fXt0eXBlbWFwfXtkYXRhc2V0fSA9IHt2PT4nRGF0YXNldCcsYT0+J0RhdGFzZXQnfTsKJGMtPntk +YXRhY2l0ZWRvaX17dHlwZW1hcH17ZXhwZXJpbWVudH0gPSB7dj0+J0V4cGVyaW1lbnQnLGE9PidU +ZXh0J307CiRjLT57ZGF0YWNpdGVkb2l9e3R5cGVtYXB9e3RlYWNoaW5nX3Jlc291cmNlfSA9IHt2 +PT4nVGVhY2hpbmdSZXNvdXJzZScsYT0+J0ludGVyYWN0aXZlUmVzb3VyY2UnfTsKJGMtPntkYXRh +Y2l0ZWRvaX17dHlwZW1hcH17b3RoZXJ9ID0ge3Y9PidNaXNjJyxhPT4nQ29sbGVjdGlvbid9Owoj +Rm9yIHVzZSB3aXRoIHJlY29sbGVjdAokYy0+e2RhdGFjaXRlZG9pfXt0eXBlbWFwfXtkYXRhX2Nv +bGxlY3Rpb259ID0ge3Y9PidEYXRhc2V0JyxhPT4nRGF0YXNldCd9OwokYy0+e2RhdGFjaXRlZG9p +fXt0eXBlbWFwfXtjb2xsZWN0aW9ufSA9IHt2PT4nQ29sbGVjdGlvbicsYT0+J0NvbGxlY3Rpb24n +fTsKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyMjIyBET0kgc3ludGF4IGNvbmZpZyAj +IyMjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBTZXQgY29uZmlnIG9mIERPSSBkZWxp +bWl0ZXJzCiMgRmVlbCBmcmVlIHRvIGNoYW5nZSwgYnV0IHRoZXkgbXVzdCBjb25mb3JtIHRvIERP +SSBzeW50YXgKIyBJZiBub3Qgc2V0IHdpbGwgZGVmYXVsdCB0byBwcmVmaXgvcmVwb2lkL2lkIHRo +ZSBleGFtcGxlIGJlbG93IGdpdmVzIHByZWZpeC9yZXBvaWQuaWQKJGMtPntkYXRhY2l0ZWRvaX17 +ZGVsaW1pdGVyc30gPSBbIi8iLCIuIl07CgojIElmIHNldCwgcGx1Z2luIHdpbGwgYXR0ZW1wdCB0 +byByZWdpc3RlciB3aGF0IGlzIGZvdW5kIGluIHRoZSBFUCBET0kgZmllbGQgKCRjLT57ZGF0YWNp +dGVkb2l9e2VwcmludGRvaWZpZWxkfSkKIyBXaWxsIG9ubHkgd29yayBpZiB3aGF0IGlzIGZvdW5k +IGFkaGVyZXMgdG8gRE9JIHN5bnRheCBydWxlcyAob2J2aW91c2x5KQokYy0+e2RhdGFjaXRlZG9p +fXthbGxvd19jdXN0b21fZG9pfSA9IDA7CgojRGF0YWNpdGUgcmVjb21tZW5kIGRpZ2l0cyBvZiBs +ZW5ndGggOC0xMCBzZXQgdGhpcyBwYXJhbSB0byBwYWQgdGhlIGlkIHRvIHJlcXVpcmVkIGxlbmd0 +aAokYy0+e2RhdGFjaXRlZG9pfXt6ZXJvX3BhZGRpbmd9ID0gODsKCiMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIyMgT3ZlcnJpZGUgd2hpY2ggVVJMIGdldHMgcmVn +aXN0ZXJlZCAjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgoj +T25seSB1c2VmdWwgZm9yIHRlc3RpbmcgZnJvbSAid3JvbmciIGRvbWFpbiAoZWcgYW4gdW5yZWdp +c3RlcmVkIHRlc3Qgc2VydmVyKSBzaG91bGQgYmUgdW5kZWYgZm9yIG5vcm1hbCBvcGVyYXRpb24K +JGMtPntkYXRhY2l0ZWRvaX17b3ZlcnJpZGVfdXJsfSA9IHVuZGVmOwoKIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMjIyMKIyMjIyMgV2hlbiB0byBjb2luID8gIyMjIyMKIyMjIyMjIyMjIyMjIyMjIyMj +IyMjIyMjIyMKCiNJZiBhdXRvX2NvaW4gaXMgc2V0IERPSXMgd2lsbCBiZSBtaW50ZWQgb24gU3Rh +dHVzIGNoYW5nZSAocHJvdmlkZWQgYWxsIGVsc2UgaXMgd2VsbCkKJGMtPntkYXRhY2l0ZWRvaX17 +YXV0b19jb2lufSA9IDA7CiNJZiBhY3Rpb25fY29pbiBpcyBzZXQgdGhlbiBhIGJ1dHRvbiB3aWxs +IGJlIGRpc3BsYXllZCB1bmRlciBhY3Rpb24gdGFiIChmb3Igc3RhZmYpIHRvIG1pbnQgRE9JcyBv +biBhbiBhZGhvYyBiYXNpcwokYy0+e2RhdGFjaXRlZG9pfXthY3Rpb25fY29pbn0gPSAxOwoKIyBO +QiBzZXR0aW5nIGF1dG9fY29pbiByZW5kZXJzIGFjdGlvbiBjb2luIHJlZHVuZGFudCBhcyBvbmx5 +IHB1Ymxpc2hlZCBpdGVtcyBjYW4gYmUgcmVnaXN0ZXJlZAoKIyMjIyMjIyBGb3JtZXJseSBpbiBj +ZmcuZC9kYXRhY2l0ZV9jb3JlLnBsICMjIyMjIyMjIwoKIyBJbmNsdWRpbmcgZGF0YWNpdGVfY29y +ZS5wbCBiZWxvdyBhcyB3ZSBjYW4gbWFrZSBzb21lIHVzZWZ1bCBkZWNpc2lvbnMgYmFzZWQgb24g +dGhlIGFib3ZlIGNvbmZpZy4KCiMjIEFkZHMgdGhlIG1pbnRpbmcgcGx1Z2luIHRvIHRoZSBFUF9U +UklHR0VSX1NUQVRVU19DSEFOR0UKaWYoJGMtPntkYXRhY2l0ZWRvaX17YXV0b19jb2lufSl7Cgkk +Yy0+YWRkX2RhdGFzZXRfdHJpZ2dlciggImVwcmludCIsIEVQX1RSSUdHRVJfU1RBVFVTX0NIQU5H +RSAsIHN1YiB7CiAgICAgICBteSAoICVwYXJhbXMgKSA9IEBfOwoKICAgICAgIG15ICRyZXBvc2l0 +b3J5ID0gJHBhcmFtc3tyZXBvc2l0b3J5fTsKCiAgICAgICByZXR1cm4gdW5kZWYgaWYgKCFkZWZp +bmVkICRyZXBvc2l0b3J5KTsKCgkJaWYgKGRlZmluZWQgJHBhcmFtc3tkYXRhb2JqfSkgewoJCQlt +eSAkZGF0YW9iaiA9ICRwYXJhbXN7ZGF0YW9ian07CgkJCW15ICRlcHJpbnRfaWQgPSAkZGF0YW9i +ai0+aWQ7CgkJCSRyZXBvc2l0b3J5LT5kYXRhc2V0KCAiZXZlbnRfcXVldWUiICktPmNyZWF0ZV9k +YXRhb2JqKHsKCQkJCXBsdWdpbmlkID0+ICJFdmVudDo6RGF0YUNpdGVFdmVudCIsCgkJCQlhY3Rp +b24gPT4gImRhdGFjaXRlX2RvaSIsCgkJCQlwYXJhbXMgPT4gWyRkYXRhb2JqLT5pbnRlcm5hbF91 +cmldLAoJCQl9KTsKICAgICAJfQoKCX0pOwp9CgojIEFjdGl2YXRlIGFuIGFjdGlvbiBidXR0b24s +IHRoZSBwbHVnaW4gZm9yIHdoaWNoIGlzIGF0CiMgL3BsdWdpbnMvRVByaW50cy9QbHVnaW4vU2Ny +ZWVuL0VQcmludC9TdGFmZi9Db2luRE9JLnBtCmlmKCRjLT57ZGF0YWNpdGVkb2l9e2FjdGlvbl9j +b2lufSl7CiAJJGMtPntwbHVnaW5zfXsiU2NyZWVuOjpFUHJpbnQ6OlN0YWZmOjpDb2luRE9JIn17 +cGFyYW1zfXtkaXNhYmxlfSA9IDA7Cn0K + + + + lib + text/plain + text +
epm/DataCiteDoi/cfg/cfg.d/z_datacitedoi.pl
+ install +
+ + + + document + static/images/epm/datacitedoi.png + image/png + 14e9e2be0a73f452533488634aaea66e + MD5 + 101504 + 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 + + + + lib + image +
static/images/epm/datacitedoi.png
+ coverimage +
+
+ 2.1.0 + + + + McNicholl + Rory + + repositories@ulcc.ac.uk + + + 2018-11-12 12:52:26 + DataCiteDoi - DataCite DOIs for EPrints + Integrate minting and registering DataCite DOIs in to EPrints + https://github.com/eprintsug/DataCiteDoi + images/epm/datacitedoi.png +
From 9af19a31cef0ef39d65cf3bd7914ae96644a6e2d Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Mon, 12 Nov 2018 13:33:00 +0000 Subject: [PATCH 105/107] Update the icon --- lib/static/images/epm/datacitedoi.png | Bin 101504 -> 21105 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/static/images/epm/datacitedoi.png b/lib/static/images/epm/datacitedoi.png index a803d268cf4e74e9faa244312ec1bba2207a49b9..581e8483156f445c8a5a8fef00ed86acdb49eb86 100644 GIT binary patch literal 21105 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

-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 MNhOJLF~jfw4?)Hle*gdg From 4fe3ff775f1439f4d0df00446c34414690cca608 Mon Sep 17 00:00:00 2001 From: Rory McNicholl Date: Tue, 18 Dec 2018 20:08:59 +0000 Subject: [PATCH 106/107] update epmi after updating icon --- DataCiteDoi.epmi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DataCiteDoi.epmi b/DataCiteDoi.epmi index 517ce26..ad0b3d0 100644 --- a/DataCiteDoi.epmi +++ b/DataCiteDoi.epmi @@ -17,9 +17,9 @@ document static/images/epm/datacitedoi.png image/png - 14e9e2be0a73f452533488634aaea66e + 5c277fb358fe95e059b0f2aed2b49ce8 MD5 - 101504 + 21105 document @@ -73,9 +73,9 @@ document static/images/epm/datacitedoi.png image/png - 14e9e2be0a73f452533488634aaea66e + 5c277fb358fe95e059b0f2aed2b49ce8 MD5 - 101504 + 21105 image @@ -93,7 +93,7 @@ repositories@ulcc.ac.uk - 2018-11-12 12:52:26 + 2018-12-18 20:07:23 DataCiteDoi - DataCite DOIs for EPrints Integrate minting and registering DataCite DOIs in to EPrints https://github.com/eprintsug/DataCiteDoi From 09385b55a6a644d84bccae3a6d9ced91e452b26c Mon Sep 17 00:00:00 2001 From: MicheleMorelli Date: Mon, 14 Jan 2019 16:25:03 +0000 Subject: [PATCH 107/107] fixing funderIdentifier element issue to comply with schema 4.0 (and 4.1) --- lib/cfg.d/z_datacite_mapping.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cfg.d/z_datacite_mapping.pl b/lib/cfg.d/z_datacite_mapping.pl index cd81cae..32a1a9c 100644 --- a/lib/cfg.d/z_datacite_mapping.pl +++ b/lib/cfg.d/z_datacite_mapping.pl @@ -383,7 +383,7 @@ $fundingReferences->appendChild(my $fundingReference = $xml->create_element("fundingReference")); $fundingReference->appendChild($xml->create_data_element("funderName", $project->{funder_name})); $fundingReference->appendChild($xml->create_data_element("awardTitle", $project->{project})); - $fundingReference->appendChild($xml->create_data_element("funderId", $project->{funder_id})); + $fundingReference->appendChild($xml->create_data_element("funderIdentifier", $project->{funder_id})); } }