JournalTOCs as target for SFX with plugin support
Tags: intermediate
, sfx-plugin
, sfx-target
, journaltocs
Last Updated: May 24, 2011 11:58
- Description
JournalTOCs is the largest free collection of scholarly journals Table of Contents (TOCs) for more than 15,000 journals from nearly 700 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
- Additional author(s):
- 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.
- Link to terms: [Detailed license terms]
- Skill required for using this code:
intermediate
State
'In Development' but running in production at our library. So you can call it: beta!
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.01
PlugIn version 1.01
Working example
Journal of vibration and acoustics ISSN 1048-9002
Changes
- Version 1.0 / First release to the public.
- Version 1.01 / added license description, version and a small code clean-up
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
- Login as sfxlcl41 (or your preferred instance).
- Type "tp" to enter the target parser directory.
- Create a new directory called "AUB" and download the target parser with:
- Or put the file JournalTOCs.pm in here manually
- Go back two directories and enter the PlugIn directory and download the lookup tool:
- Or put the file JournalTOCsLookup.pm in here manually
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:http://www.exlibrisgroup.org/display/PrimoCC/Table+of+Contents+for+journals+in+Primo+v3.
From the SFX admin page
- Open Targets and select the button "Add New Target"

- Select the name for the target: AUB_JOURNALTOCS
- Select the Public Name e.g.: JournalTOCs
- Select the service: getCitedJournal
- 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.
- 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.
- Select the character set utf8
- Click submit
Now we need to add the getCitedJournal to the newly created AUB_JOURNALTOCS_LCL target.
- Select (S) for services for the target AUB_JOURNALTOCS_LCL

- Set the target service as getCitedJournal
- Select the Public Name e.g.: Latest TOCs via
- Disable Object Lookup and mark the target as free
- Select Linking Level: JOURNAL
- Select Parser: AUB::JournalTOCs
- Set AutoActive as Off
- Add the following (global) Threshold: (($obj->need('rft.issn') || $obj->need('rft.eissn')) && $obj->plugIn('JournalTOCsLookup'))
- Click submit


2 Comments
comments.show.hideJun 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...