Tech Blog

JournalTOCs as target for SFX with plugin support

  • 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


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


Target Parser version 1.011
PlugIn version 1.02

Working example


  • 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
  • Version 1.02 / JournalTOCs API has changed and does now require a registered user on each request. Sign up at: and add your registered email address to the variable $tocs_email in (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 “”
        4. Or put the file in here manually
        5. Go back two directories and enter the PlugIn directory and download the lookup tool:
cd ../../PlugIn
wget “”
        6. Or put the file in here manually
        7. Important: Edit the file and insert your registered JournalTOCs email address in line 24.
Currently the link to the toc view at the JournalTOCs website. You can change the default behavior by editing the 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:

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


Jun 21, 2011

Milan Janíček

We will use this in our SFX4, thanks for sharing

Jun 30, 2011

Kasper Løvschall

Thanks! Let me know if you need any help…

Leave a Reply