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

[EP-tech] Re: cgi/search?myfield=foobar&action=export&format=xml (or whatever the syntax...)



At the risk of treading on Adam's toes...

If you try one of the exports on the search results page it gives you the detail you are after (plus a load of stuff you aren't) e.g. the url below is for the JSON export of that search:
http://researchonline.lshtm.ac.uk/cgi/search/archive/advanced/export_lshtm_JSON.js?screen=Search&dataset=archive&_action_export=1&output=JSON&exp=0%7C0%7C-date%2Fcreators_name%2Ftitle%7Carchive%7C-%7Clshtm_pub_id%3Alshtm_pub_id%3AALL%3AIN%3A26205126%7C-%7Ceprint_status%3Aeprint_status%3AANY%3AEQ%3Aarchive%7Cmetadata_visibility%3Ametadata_visibility%3AANY%3AEQ%3Ashow&n=&cache=402040

which includes the lines

[
    {
      "view_date": 2015,
      "eprintid": 2287468,
      "date": 2015,
      ...
So you could use one of the existing exporter URLs and take the information you want, or possibly write an exporter to just return the eprintid in an appropriate format?  (I believe there are some excellent videos on how to do that sort of thing on the eprints wiki...)

Cheers,
Alan
From: eprints-tech-bounces at ecs.soton.ac.uk [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of Andy Reid
Sent: 24 September 2015 11:43
To: eprints-tech at ecs.soton.ac.uk
Subject: [EP-tech] Re: cgi/search?myfield=foobar&action=export&format=xml (or whatever the syntax...)

Thanks Adam,
The situation is that our publications are initially imported to a local  Publications database, which has an API to generate EPXML, which is then pulled into eprints by a fiendish Harvester maintained by Rory over at ULCC, where the repository is hosted.  The record structure in eprints includes a custom field - lshtm_pub_id - recording the recordID of the source record in the publications database, but because the synchronisation is pulled from the eprints end, the DB never gets to find out what the resulting eprint ID is.  In order to link through from the pubsDB to eprints, we have a link that searches on the lshtm_pub_id , e.g.

http://www.lshtm.ac.uk/publications/list.php?filter=list&value=(26205126)<http://www.lshtm.ac.uk/publications/list.php?filter=list&value=(26205126>  the link to ResearchOnline gives something like this (I've stripped out the PMID search elements below for clarity) - I'm not sure that all those parameters are necessary, but it works:

http://researchonline.lshtm.ac.uk/cgi/search/advanced?screen=Public%3A%3AEPrintSearch&lshtm_pub_id_merge=ALL&lshtm_pub_id=26205126&satisfyall=ANY&order=-date%2Fcreators_name%2Ftitle&_action_search=Search

What I'm after is just to use that search in a programmatic context, so that it just returns the matching eprint ID(s), rather than the whole page.  I'm sure it's simple when you know how, but the inline documentation of the cgi script is... terse, to put it politely - Even a one line #Usage:..  example would probably make all the difference.

Best Regards

Andy
>>> "Field A.N." <af05v at ecs.soton.ac.uk<mailto:af05v at ecs.soton.ac.uk>> 24 September 2015 10:53 >>>

    EPrints searches are all controlled by cgi parameters, including exporting, so if a configured search exists, then you are able to pull out XML data from it (as long as the XML exporter is enabled).  If you send me your repository URL and an example of a search you might want to run, I'll tell you how to build the query you're after.


--
Adam Field
Business Relationship Manager and Community Lead
EPrints Services
+44 (0)23 8059 8814





On 23 Sep 2015, at 18:33, Andy Reid wrote:

> Hi,
> I've searched around but can't find any basic documentation of the cgi/search function, and my mental perl interpreter is struggling with the source code.
>
> Q: Is it possible with the CGI search interface to send a query string naming a field and a search term, and specify the return format as XML - either full XML for matching records(minus files), or a better still a list of eprint IDs that match the search?  It looks like it should be possible, but a simple example would be a whole lot easier than reverse-engineering the whole search script in my head.
>
> Thanks in anticipation
>
> Andy
>
> Andy Reid
> Research Information Manager
> Room G43, Executive Office
> London School of Hygiene & Tropical Medicine
> Keppel St
> LONDON WC1E 7HT
> +44 020-7927-2618
> http://orcid.org/0000-0002-2500-2980
>
> *** 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/


*** 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/
-- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302). The Open University is authorised and regulated by the Financial Conduct Authority.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20150924/229a8cc0/attachment-0001.html