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


Toggle Sidebar
Your Rating: Results: PatheticBadOKGoodOutstanding! 7 rates
Labels:
intermediate intermediate Delete
aleph aleph Delete
email email Delete
print print Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Email notices and letters from the Aleph server

Tags: , , ,
Last Updated: Feb 16, 2011 04:17


  • Description

    This Perl script wrapped in a shell script sends Aleph email notices from the server, rather than using the client print daemon.  Files are picked up from a library's print directory based on print ID, similar to print daemon functionality.  Leftover letters with no email address are left in the print directory, in XML format, with a new print ID, for client pick up.


  • Author: Christine Moulen
  • Additional author(s):
  • Institution: Massachusetts Institute of Technology
  • Year: 2009
  • License: MIT License
  • 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

Stable

Solaris version was used through Aleph 19

Linux version tested with Aleph 19 and Aleph 20

Programming language

Perl, C-shell

Software requirements

Perl 5.8

Solaris 9 Packages:
   libiconv-1.8-sol9-sparc-local
Perl Modules
   XML-NamespaceSupport-1.09
   XML-SAX-0.12
   XML-LibXML-Common-0.13
   XML-LibXML-1.56
   XML-LibXSLT-1.53
   MailTools-1.67
   MIME-Lite-3.01
   Email-Valid-0.15

Newer versions of these packages may work, but this is what I have installed and tested.

Still on Solaris 8?  See ProcessMail_Packages.txt.

Linux Perl Modules: (the others seem to be built in on RedHat)
   XML-LibXML (Use a version compatible with your OS libxslt.  In our case, we could not install the latest version of the Perl module.)
   XML-LibXSLT (Use a version compatible with your OS libxslt.  In our case, we could not install the latest version of the Perl module.)
   MIME-Lite
   Email-Valid

Screen captures

N/A

Author(s) homepage

http://libraries.mit.edu

Download

Individual files (1.0 for Solaris)

process_mail.plprocess_mail.shmit_env.cshmit_opts.csh

All in one (including sample XSLT) (Solaris)

mail.tar

Individual files (2.0 for Linux)

process_mail_2.pl process_mail_2.sh debug.config mit_env.csh mit_opts.csh

All in one (including sample XSLT) (Linux)

mail_2.tar

Working example

N/A

Using the following Ex Libris open interfaces

XML output of Aleph notice and letter jobs, such as p_cir_11, p_cir_13, p_acq_14

Changes

Version 1.0

May 6, 2009.  Initial posting to EL Commons.  Scripts have previously been shared with other customers

Version 2.0

February 15, 2011.  Initial posting of Linux version to EL Commons.  Scripts have previously been shared with other customers

Release notes

EL Commons 2.0

First Linux version.  Scripts were largely re-written in July 2010, moving configuration options out to a separate file.  It may no longer be necessary to edit the Perl script directly, unless local environmental changes are needed.  Tested with Aleph 19 on RedHat 4, and Aleph 20 on RedHat 5.  Going into production use at MIT with Aleph 20 in March 2011.

Previous known issue of lingering empty log files is now handled.  Empty log files are deleted at the end of each run.

EL Commons 1.0

For those who have seen previous versions, this download includes handling to email output that Aleph did not output for email.  E.g. emailing hold slips to service desk staff.  Added January 2008.

Prior to EL Commons release

These scripts were originally written for Aleph version 16, and have been used successfully, with minor modification, with versions 18 and 19.

Installation instructions

These scripts assume the following placement of the files.  If you put them elsewhere, you may need to edit some pathnames within the scripts.  [On Linux /export/home becomes /home]

  • /export/home/barton/mit_opts.csh
  • /export/home/barton/mit_env.csh
  • /export/home/barton/<version>/mail/process_mail.pl
  • /export/home/barton/<version>/mail/process_mail.sh
  • /export/home/barton/<version>/mail/transforms (all XSL files here, rather than in $data_root)
    • Localize any necessary paths in all scripts
    • Localize print ID's in the shell script.  For multi-ADM, add another dlib and invoke the Perl script again.
    • Localize a number of variables at the top of the Perl script (1.0)
    • Create a config file from the samples, one for each print ID to be handled. (2.0)
    As provided, the script is run from cron, or on demand from the command line, and has not been set up as an Aleph service. 
    • cd /export/home/barton/v19/mail
    • (./process_mail.sh -v 19 >> log/process_mail.log) 2>log/process_mail.err

TO DO list

Known issues

The script produces empty error log files (assuming no errors) with each run.  These ought to be cleaned up either immediately or periodically, but in an automated way.  (Version 1.0)


Comments

Emails are in a multipart MIME format, including both plain text and HTML parts.  It is up to the recipient's mail client preferences to display either the text or HTML version.

In the attached tar file are some sample XSL transforms.  We did a lot of cleanup of the XSL provided by Ex Libris, removing extraneous table tagging and the like.  Mainly, these helped the plain text format letters look better.

The funcs*.xsl files could be taken from Ex Libris' defaults if you don't like mine and don't want to write your own.  Just change the include path in individual XSL notices.

Notice that the other XSL files with familiar looking filenames only include the funcs for HTML or plain format, and then one of the transform*.xsl files.  This makes it easy to maintain letters in both formats by editing just one file, the transform, when changes are needed.

Page Attachments

File NameCommentSizeNumber of Downloads
mail_2.tarAll in one download of the files in this package, including sample XSLT. Version 2.0 330 kB62
mit_env.cshA shell script which prepares the environment for running these scripts. Updated with version 20 script locations.1 kB130
mit_opts.cshA shell script which parses some standard flags used by MIT scripts. Updated with version 20 script locations.1 kB131
debug.configA sample config file for version 2.03 kB75
process_mail_2.shA shell script that calls the Perl script. Version 2.02 kB68
process_mail_2.plA Perl script that processes Aleph XML file and emails them. Version 2.0 14 kB122
mail.tarAll in one download of the files in this package, including sample XSLT. Version 1.0300 kB136
process_mail.shA shell script that calls the Perl script. Version 1.02 kB152
process_mail.plA Perl script that processes Aleph XML file and emails them. Version 1.016 kB193

Added by Christine Moulen on May 07, 2009 04:09, last edited by Christine Moulen on Feb 16, 2011 04:17

Adaptavist Theme Builder Powered by Atlassian Confluence