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
The target parser and plugin is written in Perl.
Tested using SFX v4 but should also work in SFX v3.
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.
Target Parser version 1.011
PlugIn version 1.02
- 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.
Notice: This CodeShare page is a work in progress. Help us to improve the code and documentation by giving us feedback. Thanks!
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:
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:
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
- 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.
- 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
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.