Ready to Learn?Ex Libris products all provide open APIs

Tech Blog

 

JournalTOCs as target for SFX with plugin support

Kasper Løvschall on May 19th, 2011

Description

JournalTOCs is the largest free collection of scholarly journals Table of Contents (TOCs) for more than 20,000 journals from nearly 1400 publishers.
This small code contribution implements JournalTOCs as a target with the use of a plugin so the target only displays if a TOC for the given ISSN number exists.
 
  • Author: Kasper Løvschall
  • Institution: Aalborg Universitetsbibliotek
  • Year: 2011
  • License: BSD style
  • Short description: Use, modification and distribution of the code are permitted provided the copyright notice, list of conditions and disclaimer appear in all related material.
  • Skill required for using this code: Intermediate
 

 

State

In production.

 

Programming language

The target parser and plugin is written in Perl.

 

Software requirements

Tested using SFX v4 but should also work in SFX v3.

 

Screen captures

The target: LatestTOCs via JournalTOCs is presented in the advanced section - not very prominently I admit but this is a test...
 
 
When clicking on the target the latest TOC is presented from JournalTOCs.
 
 
Using a different "renderer" the TOC can be presented in other ways.

 

Author(s) homepage

 

Download

Target Parser version 1.011
PlugIn version 1.02
 

 

Working example

 

Changes

  • Version 1.0 / First release to the public.
  • Version 1.01 / added license description, version and a small code clean-up
  • Version 1.011 / changed default renderer in JournalTOCs.pm
  • Version 1.02 / JournalTOCs API has changed and does now require a registered user on each request. Sign up at: http://www.journaltocs.ac.uk/index.php?action=register and add your registered email address to the variable $tocs_email in JournalTOCsLookup.pm (line 24). This will make JournalTOCs function again in SFX.
 

Release notes

Notice: This CodeShare page is a work in progress. Help us to improve the code and documentation by giving us feedback. Thanks!

 

Installation instructions

On the SFX server

  1. Login as sfxlcl41 (or your preferred instance).
  2. Type "tp" to enter the target parser directory.
  3. Create a new directory called "AUB" and download the target parser with:
mkdir AUB
cd AUB
wget "http://exlibrisgroup.org/download/attachments/32932325/JournalTOCs.pm"
 
        4. Or put the file JournalTOCs.pm in here manually
        5. Go back two directories and enter the PlugIn directory and download the lookup tool:
cd ../../PlugIn
wget "http://exlibrisgroup.org/download/attachments/32932325/JournalTOCsLookup.pm"
 
        6. Or put the file JournalTOCsLookup.pm in here manually
        7. Important: Edit the file and insert your registered JournalTOCs email address in line 24.
 
Currently the JournalTOCs.pm link to the toc view at the JournalTOCs website. You can change the default behavior by editing the JournalTOCs.pm file and uncommenting the appropriate line. You can e.g. link directly to the RSS feed or use the OpenURL enabled rendering engine by using the web service described at:   https://developers.exlibrisgroup.com/blog/Table_Contents_journals
 
 

From the SFX admin page

  1. Open Targets and select the button "Add New Target"
 
 

 

        2. Select the name for the target: AUB_JOURNALTOCS
        3. Select the Public Name e.g.: JournalTOCs
        4. Select the service: getCitedJournal
               a. The service type getCitedJournal is used instead of getTOC to suppress the year, vol, issue dialogue in the SFX menu as JournalTOCs presents the latest articles and does not relate to these values. You can select the service type as you like as long as you change the name in the sub routine in JournalTOCs.pm.
        5. Feel free to enter the general description: JournalTOCs is the largest free collection of scholarly journals Tables of Contents (TOCs). It contains TOCs for 16,320 journals (including 2,112 Open Access journals) collected from 820 publishers.
        6. Select the character set utf8
        7. Click submit
 
Now we need to add the getCitedJournal to the newly created AUB_JOURNALTOCS_LCL target.
  1. Select (S) for services for the target AUB_JOURNALTOCS_LCL
 
        2. Set the target service as getCitedJournal
        3. Select the Public Name e.g.: Latest TOCs via
        4. Disable Object Lookup and mark the target as free
        5. Select Linking Level: JOURNAL
        6. Select Parser: AUB::JournalTOCs
        7. Set AutoActive as Off
        8. Add the following (global) Threshold: (($obj->need('rft.issn') || $obj->need('rft.eissn')) && $obj->plugIn('JournalTOCsLookup'))
        9. Click submit
 

 

Known issues

Version 1.0 and 1.01 of JournalTOCsLookup.pm will no longer work correctly. The result is that the target will show up even if the journal is not registered within JournalTOCs.
 

Page attachments

JournalTOCs.pm

JournalTOCLookup.pm

 

Comments

Jun 21, 2011

Milan Janíček

We will use this in our SFX4, thanks for sharing 
  1. Jun 30, 2011

    Kasper Løvschall

    Thanks! Let me know if you need any help...

 
https://developers.exlibrisgroup.com/blog/JournalTOCs_as_target_for_SFX_with_plugin_support
developers.exlibrisgroup.com
crawl=CC-MAIN-2017-51
33277
application/http; msgtype=response
sha1:KIDRJ4QK2MLT7SR5THKXXTX6IWGRY3VI
<urn:uuid:b44d1d5f-d600-4947-b96c-708cc2b7cc2f>
2017-12-17T02:16:34Z
31.186.254.242
text/html
sha1:TEU6KX3ELSVWTI7CHORJX5R2PTOIJIGX
<urn:uuid:70f9d7e3-559a-47ec-bcc9-13824e5f7521>
https://developers.exlibrisgroup.com/blog/JournalTOCs_as_target_for_SFX_with_plugin_support
length
response
<urn:uuid:24de2f60-5b19-498b-8d89-639dc54eba43>
robots: classic
hostname: ip-10-154-70-124.ec2.internal
software: Nutch 1.6 (CC)
isPartOf: CC-MAIN-2017-51
operator: Common Crawl Admin
description: Wide crawl of the web for December 2017
publisher: Common Crawl
format: WARC File Format 1.0
conformsTo: http://bibnum.bnf.fr/WARC/WARC_ISO_28500_version1_latestdraft.pdf