EPrints Technical Mailing List Archive

Message: #07723

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

Re: [EP-tech] Open graph Tags

Hi James,

The page I linked to is useful for static pages. It also mentions 'dynamic pins', but doesn't really give much explanation.


For abstract pages, take a look at:

~/archives/[ARCHIVEID]/cfg/cfg/eprint_render.pl, specifically (towards the end):

my $links = $repository->xml()->create_document_fragment();

if( !$preview )


    $links->appendChild( $repository->plugin( "Export::Simple" )->dataobj_to_html_header( $eprint ) );

    $links->appendChild( $repository->plugin( "Export::DC" )->dataobj_to_html_header( $eprint ) );



For your purposes, the 'proper' solution would be to create an export format for 'TwitterCard', and implement something very similar to the dataobj_to_html_header methods in Export::DC or Export::Simple.


Then, update the code above, regenerate an abstract to test, and hopefully away you go!


(Then, if you get it all working, and think it might be useful to other EPrints sites, stick the code on GitHub, package it for the Bazaar, and release it! :o)





NB Depending on what extensions you have installed in your repository, the 'render_eprint' function may be redefined in a later config file…


From: James Kerwin [mailto:jkerwin2101@gmail.com]
Sent: 01 March 2019 12:27
To: eprints-tech@ecs.soton.ac.uk; John Salter <J.Salter@leeds.ac.uk>
Subject: Re: [EP-tech] Open graph Tags


Hi John,


Thanks for the tip. I've been looking at that page this morning since my hacky way of getting the tags to work has come back to bite me.


Ultimately, I had to go to "Facebook for Developers" and clear the cache and "scrape" the repository again (it hadn't been done since the start of Feb). The reason the abstracts were working is because they had never been scraped so loaded up my new tags without using the cache. It appears just putting them in the default.xml template was enough.


Now I'm having fun with "Twitter Cards" - the Twitter equivalent to og tags. Unfortunately, I think I need to take a step back and add these tags to the <head> in a different way as in each case the tags need access to variables such as EPrint titles, abstracts etc.


I'll get there in the end.


Thanks for you help,



On Thu, Feb 28, 2019 at 4:51 PM John Salter via Eprints-tech <eprints-tech@ecs.soton.ac.uk> wrote:

Hi James,

How are you including the tags in the index.xpage?


If you're adding them to the <xpage:body>, then this might be useful:



There's an <xpage:head> which will get added to the template in the <head> area - which might be what you need?






From: eprints-tech-bounces@ecs.soton.ac.uk [mailto:eprints-tech-bounces@ecs.soton.ac.uk] On Behalf Of James Kerwin via Eprints-tech
Sent: 28 February 2019 16:33
To: eprints-tech@ecs.soton.ac.uk
Subject: [EP-tech] Open graph Tags


Hi All,


Has anybody attempted to use Open Graph tags in EPrints to facilitate sharing links on social media?


I'm attempting it now and I can get it to work on EPrint abstracts, but not on the repository home page. On the latter I'm getting a title different to my test title and an image that isn't the one I stipulate.


For example, my Test versions of the og tags are:


<meta property="og:title"  content="zebra"/>


I have included these in my default.xml template. This allows the link to be shown with the correct title and image for abstracts. Unfortunately it doesn't work for the home page, so I inserted these tags into my index.xpage which doesn't seem to have worked either. When sharing a link to the home page it shows me the title of the page that exists between the <title></title> tags in default.xml and the first image that occurs in index.xpage.


I've tried putting the OG tags in different places, restarting the server after changes and removing the previously mentioned <title></title> tags to see what happens and no success so I'm assuming it might be a quirk of EPrints? Or am I putting these in the wrong place? I appreciate it's a broad question as we all have different tags etc in our various files, but if anybody can shed any light on this I would be really grateful.


When I started this earlier I thought it wouldn't take long as it's not particularly difficult, how wrong I was!




*** 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/