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

[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:
https://github.com/eprints/eprints/blob/3.3/lib/defaultcfg/cfg.d/eprint_render.pl#L136-L137
(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:

https://github.com/eprints/eprints/blob/3.3/perl_lib/EPrints/Plugin/Export/DC.pm#L97-L108
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!

John



________________________________
From: eprints-tech-bounces at ecs.soton.ac.uk <eprints-tech-bounces at ecs.soton.ac.uk> on behalf of dago <dago.salas at gmail.com>
Sent: 14 August 2017 14:15:07
To: eprints-tech at 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:
<dc:type>info:eu-repo/semantics/article</dc:type>
<dc:rights>info:eu-repo/semantics/openAccess</dc:rights>

As you see, basically is to comply with certain requirements of OpenAire (not all), for that I installed OPENAIRE compliance plugin:
https://github.com/orazionelson/openaire-compliance
[https://avatars1.githubusercontent.com/u/113308?v=4&s=400]<https://github.com/orazionelson/openaire-compliance>

GitHub - orazionelson/openaire-compliance: A plug in to ...<https://github.com/orazionelson/openaire-compliance>
github.com
openaire-compliance - A plug in to ensure repository is openAire compliant



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
dago.salas at gmail.com<mailto:dago.salas at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20170814/a77fdf21/attachment.html