Access Keys:
Skip to content (Access Key - 0)
My Area (Access Key - 2)


Toggle Sidebar
Your Rating: Results: PatheticBadOKGoodOutstanding! 4 rates
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

SMS Message from OPAC

Tags:
Last Updated: Oct 30, 2009 02:07


  • DescriptionIn OPAC add "Text Me This Information" programs sends Title and Call Number via Text Message to Patron's Cell Phone
  • Author: Paul Asay
  • Additional author(s):
  • Institution: Indiana State University
  • Year: 2009
  • License: BSD style
  • Short description: Text Title and Call Number to Patron from OPAC Bib Display
  • Link to terms: [Detailed license terms]
  • Skill required for using this code:
    intermediate

State

Stable

Programming language

XSL and .ASP

Software requirements

ASP Requires Windows based web server (can easily be rewritten in PHP or similar)

Screen captures


Author(s) homepage

http://paulasay.indstate.edu/

Download

http://paulasay.indstate.edu/textme

Working example

http://luis.indstate.edu

Using the following Ex Libris open interfaces

Changes

Version 1.2 ....

Text...

Version 1.1 ....

Text...

...

Text...

Release notes

Captures 245 Subfield A and 050 and sends to a form which asks patron for Phone Number and Cell Service Provider.  Then sends an email to phone@provider with the Title and Call Number.

Installation instructions

Visit http://paulasay.indstate.edu/textme for complete instructions

Page Attachments

No files have been attached to this page.

Added by Paul Asay on May 11, 2009 22:41, last edited by Conf Admin on Oct 30, 2009 02:07

  1. Aug 13, 2009

    This is a very simple and elegant way of capturing the title and call number within the OPAC interface to forward to a script that generates an email to the mobile service providers' email-to-SMS gateways. While my previous implementation of SMS capabilities is much more cumbersome and elaborate to set up, relying on Index Data's YAZ open-source Z39.50 software, it does capture real-time circulation status and item locations, in addition to the call number and title. I have not been able to figure out how to grab those pieces of information from the holdings display section in the OPAC using native XML/XSLT as Paul has, but would be very interested if anyone can come up with a solution that can do so.

    --Steve Watkins, California State University, Monterey Bay

    swatkins at csumb.edu

  2. Nov 04, 2009

    I was able to re-write the asp code into php and get the title and call number SMS messaging working from my opac.  I still can't figure how to extract the location and item status via callSearch.xsl

    -Ryan Edwards, CSU Channel Islands

  3. Apr 13, 2010

    I did the same thing as Ryan Edwards. I did get the location and item status (for each holdings,
    parse out in your PHP code). Here is what I have. BTW great application, kudos to Paul.

    Relevant sections of files:

    /m1/voyager/xxxdb/tomcat/vwebv/context/vwebv/ui/yourskin/xsl/contentLayout/display/display.xsl
    <!-- WVC1 Added this template, which is called by callSearch.xsl. The purpose of
    this template is to get location information to be passed to SMS script jsh 11-6-2009 -->

    <xsl:template name="JHLOCATE">

    <!-- xsl:variable name="holdingsData" -->
    <xsl:for-each select="$HoldXML/mfhd:mfhdRecord">

    <xsl:variable name="mfhdId" select="@mfhdId"/>
    <xsl:for-each select="$holdingsConfig">

    <xsl:call-template name="buildMarcDisplay">
    <xsl:with-param name="mfhdID" select="$mfhdId"/>
    <xsl:with-param name="recordType" select="'mfhd'"/>
    </xsl:call-template>

    </xsl:for-each>

    </xsl:for-each>
    <!-- /xsl:variable -->

    </xsl:template>

    /m1/voyager/xxxdb/tomcat/vwebv/context/vwebv/ui/yourskin/xsl/callSearch.xsl
    <xsl:template name="recordCallSearch">

    <xsl:variable name="titlename">
    <xsl:call-template name="BMDProcessMarcTags">
    <xsl:with-param name="field" select="'245'"/>
    <xsl:with-param name="indicator1" select="'X'"/>
    <xsl:with-param name="indicator2" select="'X'"/>
    <xsl:with-param name="subfield" select="'a'"/>
    <xsl:with-param name="mfhdID" select="$bibID"/>
    <xsl:with-param name="recordType" select="'bib'"/>
    </xsl:call-template>
    </xsl:variable>
    <xsl:variable name="holdingsdata">
    <xsl:call-template name="JHLOCATE"/>
    </xsl:variable>
    <!-- Replaced spaces, ampersands, question marks with underscores in holdings data and title -->
    <xsl:variable name="titlename0">
    <xsl:value-of select="translate($titlename, ' ', '_')"/>
    </xsl:variable>
    <xsl:variable name="titlename1">
    <xsl:value-of select="translate($titlename0, '&', '_')"/>
    </xsl:variable>
    <xsl:variable name="titlename2">
    <xsl:value-of select="translate($titlename1, '?', '_')"/>
    </xsl:variable>

    <xsl:variable name="locationname0">
    <xsl:value-of select="translate($holdingsdata, ' ', '_')"/>
    </xsl:variable>
    <xsl:variable name="locationname1">
    <xsl:value-of select="translate($locationname0, '&', '_')"/>
    </xsl:variable>
    <xsl:variable name="locationname2">
    <xsl:value-of select="translate($locationname1, '?', '_')"/>
    </xsl:variable>

    etc.

  4. Sep 22, 2010

    Another way to retrieve Call Number, Location, and Status information is to define variables directly at the top of display.xsl

    <xsl:variable name="hamLoc" select="//hol:mfhdCollection/mfhd:mfhdRecord/mfhd:mfhdData[@name='locationDisplayName']"/>
    <xsl:variable name="hamCall" select="//hol:mfhdCollection/mfhd:mfhdRecord/mfhd:mfhdData[@name='callNumber']"/>
    <xsl:variable name="hamStatus" select="//hol:mfhdCollection/mfhd:mfhdRecord/mfhd:itemCollection/item:itemRecord/item:itemData[@name='displayStatus']"/>

    and then call these in callSearch.xsl and edit the php or other files used to assemble the SMS text.

Adaptavist Theme Builder Powered by Atlassian Confluence