From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian...

65
From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    212
  • download

    0

Transcript of From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian...

Page 1: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout

Improving Workflows through Acq, Cat and Circ

Jackie Wrosch

Systems Librarian

Eastern Michigan Univeristy

Page 2: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 2

Before...

Infrequent bulk imports Manual downloads and imports “On Order” location for items on order “Not Yet Available” location for items in

process Manual edits for all records Manual creation of all item records

Page 3: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 3

Before...Location Status What does this mean?

On Order An order for the item has been placed through Gobi. We do not know when the book will arrive. Some orders are never filled. Patrons can not place holds on these items.

Not Yet Available

Not checked out

EMU has received the book and it is being processed. Processing time can vary from 2 to 8 weeks. Patrons can place a hold by contacting the Circulation desk during normal library hours

Any Location Not checked out

Item is on the shelf and available for checkout. [... Or maybe it was recently returned and is on a shelving cart. Or maybe we just finished processing it and its still in Technical Services waiting to come up to Circulation....] If you can’t find it contact the Circulation desk who will search for it for you.

Page 4: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 4

Before...Ordering

Selectors order from GobiAcq Librarian

Reviews and Export

Acq LibrarianFTPs from Gobi

Acq Librarian Imports to Voyager

Page 5: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 5

Page 6: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 6

Before...Cataloging

Items Received in Acquisitions

Sent to Cataloging

Locate, Create and Edit All Bib Records

Create an Item RecordWith Not Yet Available

Location

Page 7: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 7

Page 8: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 8

Before...Processing

Sent to Acquisitions Labeling

Change Location toFinal Destination

Sent to Circulation. Discharged and Shelved

Page 9: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 9

Page 10: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 10

Before...

No way to place a request or hold through the OPAC

No idea when an item might be available Too many errors in changing location to final

destination Displayed information not always accurate at

that moment

Page 11: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 11

Goals - Staff

Automate downloading and importing records Automate repetitive cataloging tasks Don’t add any new manual workflows Eliminate problematic workflows

Page 12: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 12

Goals – Public

Clarify where an item is and when it is expected to be available

Make it easy to request an On Order item Make it easy to notify patrons when an item is

available

Page 13: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 13

Tools

shell and perl scripts OCLC PromptCat Voyager Bulkimport “On Order” patrons and patron groups Voyager Hold functionality Gary Strawn’s LocationChanger program

Page 14: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 14

Now...Ordering

Selectors order from GobiAcq Librarian

Reviews and Export

Acq LibrarianFTPs from Gobi

Acq Librarian Imports to Voyager

gobi.sh runs M-F, 6am-4pm

Page 15: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 15

Now...gobi.sh

Downloads any new files from the Gobi site Sorts the records by 245|a Splits records into individual files Imports each record individually Results in a single PO, Bib record and On

Order MFHD

Page 16: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 16

#!/bin/ksh

LOG=/export/home/voyager/scripts/logs/gobi.logCFG=/export/home/voyager/scripts/edi.cfgEDI=/m1/voyager/emichdb/ediMRC=$EDI/mrcMRC_P=$EDI/mrc_pDATE=`/bin/date "+%b %e"`SPLITMARC=/export/home/voyager/scripts/splitmarc.plSORTMARC=/export/home/voyager/scripts/sortmarc.pl

GOBI=`ps -ef |grep -c gobi.sh`ps -ef |grep gobi.sh >> $LOGecho $GOBI >> $LOGif [ "$GOBI" -gt 3 ]; then

/bin/date >> $LOGecho "gobi.sh already running, exiting..." >> $LOGexit

fi

Define locations and programs needed

If its already running, exit

gobi.sh part 1

Page 17: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 17

/usr/local/bin/ncftpget -f $CFG $MRC 8058*.mrc

/usr/bin/ls $MRC/*.mrc > $MRC/tmp/usr/bin/sed 's/^.*\/8058/8058/' $MRC/tmp > $MRC/clean/usr/bin/ls $MRC_P/*.mrc > $MRC_P/tmp/usr/bin/sed 's/^.*\/8058/8058/' $MRC_P/tmp > $MRC_P/clean/usr/bin/diff $MRC/clean $MRC_P/clean > $EDI/mrc.todo.tmp/usr/bin/sed 's/^.* 8058/8058/' $EDI/mrc.todo.tmp >

$EDI/mrc.todo.clean/usr/bin/sed -n '/^8058/p' $EDI/mrc.todo.clean > $EDI/mrc.todo

/usr/bin/rm $MRC/tmp/usr/bin/rm $MRC/clean/usr/bin/rm $MRC_P/tmp/usr/bin/rm $MRC_P/clean/usr/bin/rm $EDI/mrc.todo.tmp/usr/bin/rm $EDI/mrc.todo.clean

Download from Gobi

Clean up from the previous step

Determine which files need processing

gobi.sh part 2

Page 18: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 18

/usr/bin/cat $EDI/mrc.todo |while read linedo

/usr/bin/cp $MRC/$line $MRC_Pdone

/usr/bin/cat $EDI/mrc.todo |while read linedo

$SORTMARC $MRC/$line $MRC/$line.sortedMRC_COUNT=`$SPLITMARC $MRC/$line.sorted $MRC/$line.sorted`i=1while [ "$i" -le $MRC_COUNT ]do

/m1/voyager/emichdb/sbin/Pbulkimport -f$MRC/$line.sorted-$i -iYBPsel

sleep 60/usr/bin/rm $MRC/$line.sorted-$ii=`expr $i + 1`

done/usr/bin/rm $MRC/$line.sorted

done

Mark files as processed

Bulk import the records

Sort and Split the Files

gobi.sh part 3

Page 19: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 19

#!/usr/local/bin/perl -wuse strict;use MARC;my $x = new MARC;my %inc = %{$x->usmarc_default()};my ($infile,$outfile) = @ARGV;$x->openmarc({

file=>$infile, format=>'usmarc', charset=>\%inc, lineterm=>"\n"

});

my %titles;while ($x->nextmarc(1)) {

my @field_987 = $x->getvalue({record=>1,field=>'987',subfield=>'a'});my @field_245 = $x->getvalue({record=>1,field=>'245',subfield=>'a'});

$titles{$field_987[0]}=$field_245[0];$x->output({

file=>">$field_987[0]",format=>'usmarc'

});$x->deletemarc();

Output each record to its own file

Open the MARC file

sortmarc.pl part 1

Page 20: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 20

foreach my $value (sort{uc($titles{$a}) cmp uc($titles{$b})} keys %titles) {$x->openmarc({

file=>$value,format=>'usmarc', charset=>\%inc, lineterm=>"\n"

});

$x->nextmarc(1);$x->output({

file=>">>$outfile",format=>'usmarc'

});$x->deletemarc();unlink $value;

}

Output each record to the new sorted file

Sort the titles

sortmarc.pl part 2

Open each individual file

Page 21: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 21

#!/usr/local/bin/perl -wuse strict;use MARC;my $x = new MARC;my %inc = %{$x->usmarc_default()};my ($infile,$outfile) = @ARGV;$x->openmarc({

file=>$infile, format=>'usmarc', charset=>\%inc, lineterm=>"\n"

});my $count=0;while ($x->nextmarc(1)) {

$count=$count+1;$x->output({

file=>">>$outfile-$count",format=>'usmarc'

});$x->deletemarc();

}print $count;

Output each record to its own file

Open the MARC file

splitmarc.pl

Page 22: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 22

Page 23: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 23

Now...Cataloging and Processing

Contracted to OCLC PromptCat Locate best available bib record Barcode all items Label items that have good bib record Both Firm and Approval orders are processed

this way

Page 24: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 24

Now...PromptCat

Items Received At PromptCat

Locate MOST Bib Records

Labeling andBarcoding

Items Shipped To EMU

Page 25: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 25

Now...Cataloging

Items Received in Acquisitions

Sent to Cataloging

Locate, Create and Edit All Bib Records

Create an Item RecordWith Not Yet Available

Location

Page 26: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 26

Now...Processing

Sent to Acquisitions Labeling

Change Location toFinal Destination

Sent to Circulation. Discharged and Shelved

Page 27: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 27

Now...Automated imports

Receive weekly files Preprocess records to eliminate repetitive

tasks Bulkimport records Firm orders overlay our Gobi records – this

results in a double MFHD Approvals create new records – bibs,

MHFDs, items and POs New reports for reviewing and processing

Page 28: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 28

Now...Automated imports

Download files Preprocess records

Bulkimport in to Voyager

Review and act ongenerated reports

Page 29: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 29

Now...download.sh

download.sh Runs M-F at 4am Downloads any files from this month or last

Page 30: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 30

#!/bin/ksh# Setting all the variables VOYDIR=/m1/voyager/emichdbLOG=/export/home/voyager/scripts/logs/promptcat.log

/bin/date >> $LOGecho "running promptcatd-download.sh... " >> $LOGPROMPTCAT=$VOYDIR/PromptCat

# File where the ftp commands used as input for "expect" are putftpfile=ftp.exp/usr/local/bin/expect $PROMPTCAT/$ftpfile &pid=$!/bin/wait $pid

ftp the files using expect

download.sh

Page 31: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 31

#!/usr/local/bin/expect ~~

spawn $env(SHELL)

send "ftp edx.oclc.org\n"sleep 10 ;send "teye1\n"sleep 10 ;send "password\n"expect "ftp>" {send "lcd /m1/voyager/emichdb/PromptCat/mrc\n"}expect "ftp>" {send "passive\n"}expect "ftp>" {send "bin\n"}expect "ftp>" {send "prompt\n"}expect "ftp>" {send "cd 'edx.pcat.eye.'\n"}expect "ftp>" {send "mget RCD.YDX.EYE.D0806*.FIRM\n"}expect "ftp>" {send "mget RCD.YDX.EYE.D0805*.FIRM\n"}expect "ftp>" {send "mget RCD.YDX.EYEAP.D0806*.APPR\n"}expect "ftp>" {send "mget RCD.YDX.EYEAP.D0805*.APPR\n"}expect "ftp>" {send "bye\n"}

Login to the PromptCat server

ftp.exp

Download the files

Page 32: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 32

Now...npasswd.sh

npasswd.sh Password stops working after 90 days Establishes a new password for PromptCat FTP

site Creates a new expect file for download.sh Runs on the 1st of the month Can’t repeat passwords

Page 33: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 33

#!/bin/kshVOYDIR=/m1/voyager/emichdbPROMPTCAT=$VOYDIR/PromptCatLOG=/export/home/voyager/scripts/logs/promptcat.logUSED=$PROMPTCAT/used.txtMONTH=`date +%m`LASTMONTH=`expr $MONTH - 1`YEAR=`date +%y`LASTYEAR=$YEARif test "$LASTMONTH" -eq 0then

LASTYEAR=`expr $YEAR - 1`if test "$LASTYEAR" -lt 10then

LASTYEAR=\0$LASTYEARfiLASTMONTH=12

elif test "$LASTMONTH" -lt 10then

LASTMONTH=\0$LASTMONTHfi/usr/bin/cat $USED |while read linedo

OLDPWD=`echo $line`done

Figure out current and last month so we know which files to download

npasswd.sh part 1

Get the current password

Page 34: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 34

NEWOK=0NEWPWD=0while [ $NEWOK -eq 0 ]do

NEWPWD=`/usr/local/bin/mkpasswd -l 8 -C 1 -d 1`NEWOK=1/usr/bin/cat $USED |while read linedo

if test $line = $NEWPWD then

NEWOK=0fi

donedoneecho $NEWPWD >> $USED

Create a new password

npasswd.sh part 2

Page 35: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 35

PWDEXP=$PROMPTCAT/pwd.exp/usr/bin/cp $PWDEXP $PWDEXP.old

echo "#!/usr/local/bin/expect ~~" > $PWDEXPecho "" >> $PWDEXPecho "spawn \$env(SHELL)" >> $PWDEXPecho "" >> $PWDEXPecho "send \"ftp edx.oclc.org\\\n\"" >> $PWDEXPecho "sleep 10 ;" >> $PWDEXPecho "send \"teye1\\\n\"" >> $PWDEXPecho "sleep 10 ;" >> $PWDEXPecho "send \"$OLDPWD/$NEWPWD/$NEWPWD\\\n\"" >> $PWDEXPecho "expect \"ftp>\" {send \"bye\\\n\"}" >> $PWDEXP

/usr/local/bin/expect $PWDEXP &

Create an expect file for changing the password

npasswd.sh part 3

Change the password on the server

Page 36: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 36

FTPEXP=$PROMPTCAT/ftp.exp/usr/bin/cp $FTPEXP $FTPEXP.old

echo "#!/usr/local/bin/expect ~~" > $FTPEXPecho "" >> $FTPEXPecho "spawn \$env(SHELL)" >> $FTPEXPecho "" >> $FTPEXPecho "send \"ftp edx.oclc.org\\\n\"" >> $FTPEXPecho "sleep 10 ;" >> $FTPEXPecho "send \"teye1\\\n\"" >> $FTPEXPecho "sleep 10 ;" >> $FTPEXPecho "send \"$NEWPWD\\\n\"" >> $FTPEXPecho "expect \"ftp>\" {send \"lcd /m1/voyager/emichdb/PromptCat/mrc\\\n\"}" >>

$FTPEXPecho "expect \"ftp>\" {send \"passive\\\n\"}" >> $FTPEXPecho "expect \"ftp>\" {send \"bin\\\n\"}" >> $FTPEXPecho "expect \"ftp>\" {send \"prompt\\\n\"}" >> $FTPEXPecho "expect \"ftp>\" {send \"cd 'edx.pcat.eye.'\\\n\"}" >> $FTPEXPecho "expect \"ftp>\" {send \"mget RCD.YDX.EYE.D$YEAR$MONTH*.FIRM\\\n\"}" >>

$FTPEXPecho "expect \"ftp>\" {send \"mget RCD.YDX.EYE.D$LASTYEAR$LASTMONTH*.FIRM\\\

n\"}" >> $FTPEXPecho "expect \"ftp>\" {send \"mget RCD.YDX.EYEAP.D$YEAR$MONTH*.APPR\\\n\"}" >>

$FTPEXPecho "expect \"ftp>\" {send \"mget RCD.YDX.EYEAP.D$LASTYEAR$LASTMONTH*.APPR\\\

n\"}" >> $FTPEXPecho "expect \"ftp>\" {send \"bye\\\n\"}" >> $FTPEXP

Create the expect file for downloading records

npasswd.sh part 4

Page 37: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 37

Now...loadrecs.sh

Determines which files need to be pre-processed and imported

Runs the pre-process script, 650.pl Bulk imports the processed records Emails the Import log to the Cat staff Emails any discarded records Finds and emails the “On Order” MFHD IDs

Page 38: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 38

#!/bin/kshMAILX=/usr/bin/mailxMAIL856="[email protected] [email protected]"MAILBARCODE="[email protected] [email protected]"MAILLOG="[email protected] [email protected] [email protected]"MAILDISCARD="[email protected] [email protected] [email protected]"MAILMFHD="[email protected] [email protected]"VOYDIR=/m1/voyager/emichdbPROMPTCAT=$VOYDIR/PromptCatMRC=$PROMPTCAT/mrcMRC_P=$PROMPTCAT/mrc_pOUTDIR=$PROMPTCAT/outMRC_FILES=RCD.YDX.*D*.$1SCRIPTS=/export/home/voyager/scripts/promptcatPREPROCESS=$SCRIPTS/650.plGETMFHDS=$SCRIPTS/mfhds.plDISCARDPL=$SCRIPTS/discard.plDISCARDWEBDIR=$VOYDIR/webvoyage/html/discardsCHARGE_BARCODE=299000028748if test "$1" == "FIRM"thenCHARGE_BARCODE=299000028746fiLOG=/export/home/voyager/scripts/logs/promptcat.log/bin/date >> $LOGecho "running promptcat.sh... " >> $LOG

Define all the people who get reports, directories and scripts that will be used throughout

loadrecs.sh part 1

Page 39: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 39

/usr/bin/ls $MRC/$MRC_FILES > $MRC/tmp/usr/bin/sed 's/^.*RCD/RCD/' $MRC/tmp > $MRC/clean/usr/bin/ls $MRC_P/$MRC_FILES > $MRC_P/tmp/usr/bin/sed 's/^.*RCD/RCD/' $MRC_P/tmp > $MRC_P/clean/usr/bin/diff $MRC/clean $MRC_P/clean > $PROMPTCAT/mrc.todo.tmp/usr/bin/sed 's/^.*RCD/RCD/' $PROMPTCAT/mrc.todo.tmp >

$PROMPTCAT/mrc.todo.clean/usr/bin/sed -n '/^RCD/p' $PROMPTCAT/mrc.todo.clean >

$PROMPTCAT/mrc.todo

/usr/bin/rm $MRC/tmp/usr/bin/rm $MRC/clean/usr/bin/rm $MRC_P/tmp/usr/bin/rm $MRC_P/clean/usr/bin/rm $PROMPTCAT/mrc.todo.tmp/usr/bin/rm $PROMPTCAT/mrc.todo.clean

LOGDIR=$VOYDIR/rptLOGTOSEND=$LOGDIR/logimp.tosend/usr/bin/rm $LOGTOSEND

Compare the files in the downloaded and processed directories to determine what needs processing

loadrecs.sh part 2

Page 40: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 40

/usr/bin/cat $PROMPTCAT/mrc.todo |while read linedo

OUT856FILE=out856.$line.txtBARCODEFILE=barcodes.$line.cap.s$PREPROCESS $MRC/$line $OUTDIR/$line $OUTDIR/$OUT856FILE $OUTDIR/$BARCODEFILE $CHARGE_BARCODEfor USER in `/bin/echo $MAIL856`; do

$MAILX -s "$OUT856FILE" $USER < $OUTDIR/$OUT856FILEdonefor USER in `/bin/echo $MAILBARCODE`; do

$MAILX -s "$BARCODEFILE" $USER < $OUTDIR/$BARCODEFILEdoneDATE=`/bin/date "+%Y%m%d.%H%M"`/m1/voyager/emichdb/sbin/PromptcatBulkImport -f$OUTDIR/$line -i$2 &waitecho "Pbulkimport -f$OUTDIR/$line..." >> $LOGecho $DATE >> $LOGTOSEND/usr/bin/cp $OUTDIR/$line $MRC_P

done

/usr/bin/rm $PROMPTCAT/mrc.todo

Preprocess the files

loadrecs.sh part 3

Mail 856 and Barcode reports

Bulk import the records and move file to processed directory

Page 41: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 41

/usr/bin/cat $LOGTOSEND |while read linedo

LOGIMP=log.imp.$linefor USER in `/bin/echo $MAILLOG`; do

$MAILX -s "$LOGIMP" $USER < "$LOGDIR/$LOGIMP"doneDISCARD=discard.imp.$lineDISCARDTXT=$DISCARD.txt$DISCARDPL $LOGDIR/$DISCARD $LOGDIR/$DISCARDTXTprint "http://portal.emich.edu/discards/$DISCARD" >> $LOGDIR/$DISCARDTXT/usr/bin/cp $LOGDIR/$DISCARD $DISCARDWEBDIRfor USER in `/bin/echo $MAILDISCARD`; do

$MAILX -s "$DISCARD" $USER < "$LOGDIR/$DISCARDTXT"doneif test "$1" == "FIRM"then

/usr/bin/sed -n '/[0-9]\{6,7\} - 100/p' $LOGDIR/$LOGIMP > $LOGDIR/$LOGIMP.new

/usr/bin/sed 's/ - 100//g' $LOGDIR/$LOGIMP.new > $LOGDIR/$LOGIMP.final$GETMFHDS $LOGDIR/$LOGIMP.finalfor USER in `/bin/echo $MAILMFHD`; do

$MAILX -s "$LOGIMP.final.mfhds" $USER < "$LOGDIR/$LOGIMP.final.mfhds"

donefi

done

Mail bulkimport log

loadrecs.sh part 4

Mail discarded records

Find double MFHDs and mail the report

Page 42: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 42

Now... 650.pl

Delete any subjects with 2nd indicator 2,6 or 7 Delete any 856 with 2nd indicator 2 If there is a 505 and an 856 TOC link, delete

the 856 Output all other 856s to a report Deletes any 938s Gets incoming barcodes from the 987 and

creates an offline charge file

Page 43: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 43

#!/usr/local/bin/perl -w

use MARC::Batch;

my ($infile,$out_usmarc,$out_856,$out_barcode,$barcode) = @ARGV;

my $batch = MARC::Batch->new('USMARC', "$infile");

open(OUT, ">$out_usmarc");

open(OUT_856, ">$out_856");

open(OUT_BCODES, ">$out_barcode");

print OUT_BCODES "CAPTURE\n";

print OUT_BCODES "PATRON ".$barcode."\n";

print OUT_BCODES "DUE_DATE 2382-12-31 23:59:00\n";

print OUT_BCODES "BEGIN_CHARGE\n";

while (my $record = $batch->next()) {

my @fields = $record->field('6..');

foreach my $field (@fields) {

if ( $field ) {

if ( $field->indicator(2) eq '2'

|| $field->indicator(2) eq '6'

|| $field->indicator(2) eq '7' )

{ $record->delete_field($field); }

}

}

Open files for processed records, 856 report, offline charge file

650.pl part 1

Create the first part of the offline charge file

Remove non-LCSH subjects

Page 44: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 44

my $field_505 = $record->field('505');

my $oclcnum = $record->field('035');

my @fields_856 = $record->field('856');

foreach my $field_856 (@fields_856) {

if ( $field_856->indicator(2) eq '2' ) {

$record->delete_field($field_856);

}

elsif ( $field_856->indicator(2) eq '1') {

if ( $field_505 && index($field_856->as_string(),"Table of contents") ge 0 ) {

$record->delete_field($field_856);

}

else {

print OUT_856 $oclcnum->as_string(), "\n";

print OUT_856 $field_856->as_string(), "\n";

}

}

}

my @fields_938 = $record->field('938');

foreach my $field_938 (@fields_938) {

$record->delete_field($field_938);

}

Create the 856 reports for TOC links

650.pl part 2

Remove 938 field

Page 45: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 45

my $barcode = $record->subfield('987', "a");

if ( $barcode )

{

print OUT_BCODES "ITEM ".$barcode."\n";

}

print OUT $record->as_usmarc();

}

print OUT_BCODES "END_CHARGE\n";

close(OUT);

close(OUT_856);

close(OUT_BCODES);

Add the barcode to the offline charge file

650.pl part 3

Output the processed record

Finish the offline charge file

Close all the output files

Page 46: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 46

#!/usr/local/bin/perl -w

use MARC::Batch;

my ($infile,$outfile) = @ARGV;

my $batch = MARC::Batch->new('USMARC', "$infile");

open(OUT, ">$outfile");

while (my $record = $batch->next()) {

my $oclcnum = $record->field('035');

my $title = $record->field('245');

print OUT $oclcnum->as_string(), "\n", $title->as_string(), "\n\n";

}

close(OUT);

Open the discard file

Put OCLC No. and Title into the discard report

discard.pl

Page 47: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 47

my $count=0;

open(OUTFILE, ">$outfile");

my $dbh = DBI->connect('dbi:Oracle:', $username, $password)

|| die "Could not connect: $DBI::errstr";

while ( $count < $i )

{

my $select = "select $db_name.bib_mfhd.mfhd_id

from $db_name.bib_mfhd, $db_name.mfhd_master

where $db_name.bib_mfhd.mfhd_id=$db_name.mfhd_master.mfhd_id

and $db_name.bib_mfhd.bib_id=$bibids[$count++]

and $db_name.mfhd_master.location_id=65";

my $sth = $dbh->prepare($select)

|| die $dbh->errstr;

$sth->execute

|| die $dbh->errstr;

while( my (@entry) = $sth->fetchrow_array() ) {

print OUTFILE "$entry[0]\n";

}

}

close(OUTFILE);

exit(0);

Get the On Order MFHD for the incoming records

mfhds.pl part 1

Output the MFHD_ID

Page 48: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 48

#!/m1/shared/bin/perl

use DBI;

$ENV{ORACLE_SID} = "VGER";

$ENV{ORACLE_HOME} = "/oracle/app/oracle/product/10.2.0/db_1";

my $db_name = “xxxdb";

my $username = "ro_xxxdb";

my $password = "ro_xxxdb";

my ($infile) = @ARGV;

my ($outfile) = $infile.".mfhds";

my @bibids;

my $i=0;

open(INFILE, $infile);

while( <INFILE> )

{

$bibids[$i] = $_;

$bibids[$i++] =~ s/^\s+//;

}

close(INFILE);

Information on connecting to Oracle

mfhds.pl part 2

Put the incoming bibids in an array

Page 49: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 49

Now...New Cataloging Workflows

Review the 856 TOC links and add when necessary

Review any discarded records and re-import Run the offline charge files through the Circ

client Run the “On Order” MFHD ids through

LocationChanger to suppress the records

Page 50: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 50

Page 51: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 51

Page 52: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 52

Page 53: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 53

Page 54: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 54

Page 55: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 55

Page 56: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 56

Now...Cataloging/Processing at EMU

Items received in Acquisitions Those items needing additional cataloging

and/or processing are charged to the Available Soon patron

All others immediately sent to Circulation for discharging, fulfilling holds or shelving

Page 57: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 57

Now...Cataloging/Processing at EMU

Items Received in Acquisitions

Sent to Cataloging

Locate, Create and Edit All Bib Records

Create an Item RecordWith Not Yet Available

Location

Only items needing additional cataloging or processing are charged

to the Not Yet Available patron

Page 58: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 58

Now...Cataloging/Processing at EMU

Sent to Acquisitions Labeling

Change Location toFinal Destination

Sent to Circulation. Discharged and Shelved

Fewer items go through the manual cataloging/processing steps at EMU

Page 59: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 59

Page 60: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 60

Page 61: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 61

Page 62: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 62

Before...Location Status What does this mean?

On Order An order for the item has been placed through Gobi. We do not know when the book will arrive. Some orders are never filled. Patrons can not place holds on these items.

Not Yet Available

Not checked out

EMU has received the book and it is being processed. Processing time can vary from 2 to 8 weeks. Patrons can place a hold by contacting the Circulation desk during normal library hours

Any Location Not checked out

Item is on the shelf and available for checkout. [... Or maybe it was recently returned and is on a shelving cart. Or maybe we just finished processing it and its still in Technical Services waiting to come up to Circulation....] If you can’t find it contact the Circulation desk who will search for it for you.

Page 63: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 63

Now...Location Status What does this mean?

On Order An order for the item has been placed through Gobi. We do not know when the book will arrive. Some orders are never filled. Patrons can not place holds on these items.

3rd Level On Order: Available Soon

PromptCat has processed the book and it is being shipped. It is expected in 2-3 weeks. Patrons can place a hold on the item through the OPAC and will be notified when the item is available.

Any Location Available Soon The book is in the building and being processed. Processing time can vary from 1-4 weeks. Patrons can place a hold on the item through the OPAC and will be notified when the item is available.

Any Location Not checked out – Returned mm/dd/yyyy

Item has been returned within the last 24 hours and is likely on a cart for reshelving

Any Location Not checked out

Item is on the shelf and available for checkout.

Page 64: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 64

On Order Books List

Page 65: From Order to Checkout Improving Workflows through Acq, Cat and Circ Jackie Wrosch Systems Librarian Eastern Michigan Univeristy.

From Order to Checkout: Improving Workflows through Acq, Cat and Circ 65

Questions? Comments?

Jackie Wrosch

Eastern Michigan University

[email protected]