[EP-tech] Adding items to EP-XML template

Andrew Beeken anbeeken at lincoln.ac.uk
Tue Nov 21 16:05:44 GMT 2017

Okay, so the goalposts have shifted on this since talking in more detail with our ICT team!

Basically, our repository feeds our staff directory pages in real time using the available feeds; specifically this feed: http://eprints.lincoln.ac.uk/cgi/exportview/creators/userid/RSS2/userid.xml. I did question why the RSS2 feed was being used and received the answer that this particular feed formats up a “Description” which can be pulled straight into the staff profiles which are then ordered based on the date on the record. So far, so good, but the issue at hand is those dates. I initially thought the problem was the format that the dates were coming out in and proposed that we include the records pre-formatted citation in the standard XML feed for them.

However, it now transpires that the date on the RSS2 feed is just plain wrong; it’s using the datestamp, when the record was created, rather than the date that the article, book etc was published, as stored in the date field. For the academics this means that the records on their staff profile are not in publication order. So we come back to the decision – use the standard XML file and add the citation, or change the RSS2 template to use the published date rather than the created date. ICT would prefer the latter so that they don’t have to change the staff directory code.

I’ve been taking a look at the latter an I think I’ve found the chunk in the RSS2 script that deals with the date:

my $datestamp = $eprint->get_value( "datestamp" );
                                if( $datestamp =~ /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/ )
                                                my $time = timelocal( $6, $5, $4, $3, $2-1, $1 );
                                                $item->appendChild( $session->render_data_element(
                                                                EPrints::Time::rfc822_datetime( $time ) ) );

I tried tweaking this to change datestamp to date, however this completely removed the date from the feed. I’m guessing that this is something to do with how the RegEx decides to proceed on the if statement. So I thought I’d see what happened if I just pushed the date straight into the element which… didn’t work…

                                $item->appendChild( $session->render_data_element(
                                                EPrints::Time::rfc822_datetime( $eprint->get_value( "date" ) ) ) );

I’m sure there’s obvious reasons for that which I probably can’t see (I always feel code dyslexic when I look at EPrints source for some reason…) Personally I’d prefer to push the citation in a more capable feed than RSS2 but I think I’m going to be at the behest of the Staff Directory here.

From: eprints-tech-bounces at ecs.soton.ac.uk [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of John Salter
Sent: 21 November 2017 14:53
To: eprints-tech at ecs.soton.ac.uk
Subject: Re: [EP-tech] Adding items to EP-XML template

> The XML export just exports all the fields on an object
Unless that field has
    export_as_xml => 0,

- like the suggestions field does by default…

What are you trying to achieve with your export?
Personally, I'd suggest subclassing that plugin, and adding a citation to it that way - as always, TMTOWTDI!
It depends on how and when you'll be calling the plugin.

If it's for active, user-generated requests, Adam's method may be more suitable, as the processing is done when a record is saved, rather than when a record is requested.


From: eprints-tech-bounces at ecs.soton.ac.uk<mailto:eprints-tech-bounces at ecs.soton.ac.uk> [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of Adam Field
Sent: 21 November 2017 14:34
To: eprints-tech at ecs.soton.ac.uk<mailto:eprints-tech at ecs.soton.ac.uk>
Subject: Re: [EP-tech] Adding items to EP-XML template

Hi Andrew

                The XML export just exports all the fields on an object.  I wouldn’t modify it if I were you.  The simplest way would be to add a new field to your item.

                I’m not sure if virtual fields come out in the XML export, but if they do, adding a virtual field to your object may be the easiest way to do this.  Alternatively, use an automatic field and write the citation to it.  See
https://wiki.eprints.org/w/Training_Video:Virtual_Fields and https://wiki.eprints.org/w/Training_Video:Automatic_Fields


From: <eprints-tech-bounces at ecs.soton.ac.uk<mailto:eprints-tech-bounces at ecs.soton.ac.uk>> on behalf of Andrew Beeken <anbeeken at lincoln.ac.uk<mailto:anbeeken at lincoln.ac.uk>>
Reply-To: <eprints-tech at ecs.soton.ac.uk<mailto:eprints-tech at ecs.soton.ac.uk>>
Date: Tuesday, 21 November 2017 14:24
To: "eprints-tech at ecs.soton.ac.uk<mailto:eprints-tech at ecs.soton.ac.uk>" <eprints-tech at ecs.soton.ac.uk<mailto:eprints-tech at ecs.soton.ac.uk>>
Subject: [EP-tech] Adding items to EP-XML template

Hi all,

Just took a dive into the EPrints XML export template (perl_lib/EPrints/Plugin/Export/XML.pm) to try and add a node for the records citation to it and I can’t see where you would do this? Is there somewhere separate that defines what data it pulls through?

Cheers in advance!

[Image removed by sender. EF Gold]<http://www.lincoln.ac.uk/opendays>

The University of Lincoln, located in the heart of the city of Lincoln, has established an international reputation based on high student satisfaction, excellent graduate employment and world-class research.

The information in this e-mail and any attachments may be confidential. If you have received this email in error please notify the sender immediately and remove it from your system. Do not disclose the contents to another person or take copies.

Email is not secure and may contain viruses. The University of Lincoln makes every effort to ensure email is sent without viruses, but cannot guarantee this and recommends recipients take appropriate precautions.

The University may monitor email traffic data and content in accordance with its policies and English law. Further information can be found at: http://www.lincoln.ac.uk/legal.
*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech *** Archive: http://www.eprints.org/tech.php/ *** EPrints community wiki: http://wiki.eprints.org/ *** EPrints developers Forum: http://forum.eprints.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20171121/c41f9be5/attachment-0001.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 1543 bytes
Desc: image001.jpg
Url : http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20171121/c41f9be5/attachment-0001.jpg 

More information about the Eprints-tech mailing list