EPrints Technical Mailing List Archive

Message: #06770

< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

Re: [EP-tech] URGENT: Dublin Core output issues

Hi Dago,

No problems with your English!

As you're talking about OpenAire, can I check - do you needs these values to be in the source of the HTML page for an item (like the one you attached), or in the OAI-PMH harvest interface for the item (this is how OpenAire would normally get data)?

If it's in the HTML, the links are generated by this code:
(but the file will be in [EPRINTS_ROOT]/archives/[ARCHIVEID]/cfg/cfg.d/). To add extra metadata to the profile, I would make a local version of the Export::DC plugin - e.g. as: [EPRINTS_ROOT]/archives/[ARCHIVEID]/cfg/plugins/EPrints/Plugin/Export/DC_Orcid.pm

and then change this section:

so instead of referencing the 'creators_name' field, it references the 'creator' field, and adds the id attribute if the ORCID is set - something like this:

my $creators = $eprint->get_value( "creators" );
if( defined $creators )
  foreach my $creator ( @{$creators} )
    if( defined $creator->{orcid} ){
       # the 3rd parameter
      push @dcdata, [ "creator", EPrints::Utils::make_name_string( $creator->{name} ), { "id" => "info:eu-repo/dai/mx/orcid/".$creator->{orcid} } ];
    else {
      push @dcdata, [ "creator", EPrints::Utils::make_name_string( $creator->{name} ) ];

You should be able to do something similar with the other two elements (but they'll be simpler!).

Once this is working, you can change the eprint_render.pl to use your new plugin.

If you regenerate the abstract page:

>[EPRINTS_ROOT]/bin/generate_abstracts [ARCHIVEID] [EPRINTID]

you should see the new data coming through.

The reason I am not suggesting you update the DC plugin directly is that it is used in other places - and something getting DC data might not expect to get an id attribute on the dc:creator element.

If you need the same thing done for the OAI-PMH interface, let me know - I'll explain.

Hope that helps - ask if you need more info!


From: eprints-tech-bounces@ecs.soton.ac.uk <eprints-tech-bounces@ecs.soton.ac.uk> on behalf of dago <dago.salas@gmail.com>
Sent: 14 August 2017 14:15:07
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] URGENT: Dublin Core output issues
Hi everyone!
First, sorry for my English. :-D

My time is running out and I have not been able to do the following:

I need this output
<dc:creator id=”info:eu-repo/dai/mx/orcid/1234-5678-1234-5678-”>Juan Pérez Pérez</dc:creator>

Actually I have installed the ORCID support plugin https://bazaar.eprints.org/502/ 
But I do not know how to integrate the ORCID into an id.

Added to that, I need this too:

As you see, basically is to comply with certain requirements of OpenAire (not all), for that I installed OPENAIRE compliance plugin:

But I feel that´s not working at all fine. I got only this:

<meta name="eprints.eu_type" content="info:eu-repo/semantics/article" />
<meta name="eprints.access_rights" content="info:eu-repo/semantics/openAccess" />

But no DC.type or DC.rights

Any ideas?

My eprints testing server is not for public, so I've attached the view-source for an item.

Greetings from México.

Dagoberto Salas