WebVoyáge Enhancement Script Pwebrecon2.cgi
18 January 2007: Updated to version 2.0
1 August 2007: Updated to version 2.03
16 August 2007: Updated to version 2.1
21 September 2007: Updated to version 2.11
23 May 2008: Updated to version 2.3
(see Upgrading below)
Package contents:
Pwebrecon2.cgi -- version 2.3
sfx_large.gif, sfx_small.gif, sfx_small_text.gif and url.gif in Finnish, Swedish and English versions
xsl files for the reference list formats: marc21fin_print1.xsl, marc21fin_print2.xsl,
marc21fin_refworks.xsl and marc21fin_ris.xsl
Pwebrecon2.cgi is a Perl script installed on the WebVoyáge server. It is designed to fix some issues with WebVoyáge. Some of the enhancements are our local peculiarities, but most of them apply anywhere. The script has been made as configurable as possible, but due to differences in environments some of the features may not work universally.
About the script:
Features
Implementation instructions
Upgrading from a previous version
Version information
Other useful resources
Features:
At the moment the script implements the following features (most recent features at the bottom):
- A "Please wait" message can be shown during session startup
- PID, the session ID, is stored in a cookie so that the existing session can be reused whenever possible
- Long (>2048) subfields in MARC records do not crash the session (a bug in the Unicode version)
- Ability to show part information after the title in search results (a Finnish difference where part info is in field 248)
- OpenURL support (works and is highly configurable although configuration requires a bit of Perl)
- Possibility to show the OpenURL button in the search results list
- In MARC display the empty positions in the control fields are filled with a filler character (for example .) to improve readability
- A link to the host item is provided in the search results for component parts instead of non-existent holdings info (in Finland component parts are used quite much in some libraries)
- Possibility to add an empty line between database name and search box (aesthetics)
- Possibility to hide Scope Note links link from the authority list (unnecessary for us and cannot be translated)
- Possibility to add a link icon to the search results list, providing a link to the URL in field 856u or even a link from the holdings record
- Characters that don't seem to be UTF-8 are encoded to UTF-8 (fixes character encoding problems of the holdings display)
- The control character 0x1F is removed from the HTML (removes the irritating box in front of the link fields)
- A default language is added to the link during startup if a language is not specified (a bug in Unicode version causes it to initialise the session improperly if the language is missing, at least in a multilanguage environment)
- When creating a hold, the additional information field can be restricted to 100 characters to prevent users from entering information that would be truncated
- Possibility to set all links to other addresses to open in a new window
- Possibility to (at least partially) fix a character encoding problem for call numbers in the search results (Voyager 5)
- Enhanced fix for the character encoding problem of call numbers in the search results
- Possibility to modify holdings row columns on the search results screen
- Possibility to remove extraneous and tags around the database name on the search screen
- Possibility to remove Item Type column from the charges list (experimental, feedback requested. Column title must be Item Type)
- Possibility to add a hook procedure for checking hold requests before they are sent to WebVoyáge
- Possibility to make the contents of the barcode field visible when logging in or creating a hold
- Possibility to fix record save options (shown on screen, saved to file, default file name)
- Possibility to add title column for the E-link/OpenURL column
- Possibility to add E-links and OpenURL button to the related bibs list
- Possibility to clean up the look of the related bibs list
- Possibility to check the 856 field 2nd indicator when creating e-links
- Possibility to translate arbitrary texts
- Possibility to use local hook functions to perform additional tasks
- v2.2: Possibility to remove adjacent spaces from keyword search terms
- v2.3: Possibility to show or save records in different formats (reference lists, RefWorks etc.) or MARCXML
- v2.3: Direct RefWorks export
- v2.3: Better display of author information in the search results
Implementation Instructions
N.B.! This script changes the way WebVoyáge works and might cause trouble with anything external that relies on its original behaviour. It does not affect canned searches or similar, but, for example, scripts that try to interpret the HTML WebVoyáge returns might be affected.
Implementation of the script requires some technical knowledge, and Perl is needed, especially when configuring OpenURL display and creation rules. If you need help, please do not hesitate to ask. You can send e-mail to Ere Maijala (ere.maijala(at)helsinki.fi). The script has been quite extensively tested with Voyager 6.2. Later versions have not been tested as well, but at least the basic functionality works in 6.5. Due to the nature of the script, it might still need some extra work to make it work right in all environments.
Pwebrecon2.cgi is meant to sit on the place of the original Pwebrecon.cgi, which needs to be copied to Pwebrecon-orig.cgi. Before replacing the original version, it is useful to copy Pwebrecon2.cgi to the server as is and make sure it works correctly. Here is a list of tasks that need to be done for a successful installation.
1. Copy Pwebrecon2.cgi to directory /m1/voyager/xxxdb/webvoyage/cgi-bin
2. Set it as executable (chmod +x Pwebrecon2.cgi). As a result, the directory listing using command ls -l should show something like the following:
-rwxrwxr-x 1 voyager linda 20431 Oct 17 14:32 Pwebrecon2.cgi
3. Important: Copy the original Pwebrecon.cgi in the same directory as Pwebrecon-orig.cgi.
4. Open Pwebrecon2.cgi with a text editor and change the settings in the beginning of the file. The most important settings to do are the display numbers and database settings. If the WebVoyáge server is the database server, it is usually enough to set the user ID and password. If not, the address of the database server is also needed. Make sure that Oracle really is installed in the path provided in the ORACLE_HOME setting and modify if necessary.
5. Modify the OpenURL display and creation rules by modifying the two functions below the settings. If you do not want to use the OpenURL support, just modify the check_conditions function to contain only "return 0;" (without quotes). Setting openurl_sid could contain a service or server name or something similar (e.g. Linnea:Linda). This is sent to the OpenURL resolver as the source ID.
6. If OpenURL support is used, the button images from the package can be copied to directory /m1/voyager/xxxdb/webvoyage/html/images/English or wherever the images usually reside.
7. Copy xsl files to directory /m1/voyager/xxxdb/webvoyage/cgi-bin if you want to use the reference list support.
8. Test that the script works correctly by going to the search terms screen and changing Pwebrecon.cgi to Pwebrecon2.cgi in the URL. Perform searches and display records to verify the functionality.
9. When everything works correctly, copy Pwebrecon2.cgi to Pwebrecon.cgi (this is essential for canned searches etc. to work).
10. If the script doesn't work for some reason, it will usually cause Apache to display an Internal Error. See the Apache error log for more information regarding the problem (the path to the error log might be for example /usr/local/apache/logs/xxx-error_log).
Upgrading from a previous version
From any version to 2.3
Upgrading to version 2.3 from older versions is difficult due to extensive changes made to the script. Therefore it is recommended to start from scratch and implement local changes to the new version separately. The old settings apply to the new version too, but there are a couple of new ones.
Version Information
Changes in version 2.3
- Possibility to remove adjacent spaces from keyword search terms
- Possibility to show or save records in different formats (reference lists, RefWorks etc.) or MARCXML
- Direct RefWorks export
- Better display of author information in the search results
- Fixed behaviour in single-language systems without language paths
23 May 2008 Ere Maijala, The National Library of Finland
Other useful resources
