Archive for November 11th, 2008

Internet Librarian 2008

Kay and I created this short film for our IL 2008 presentation. I came up with the idea and wrote the script. Kay and I did the voice overs and Kay did the animation. I hope you have as much fun watching this as we did making it.

IT Management ideas in libraries

I was recently at a meeting where we were talking about how to build a team and effectively manage that team. I was asked about some of the changes I had made and how they were working. At the end of the conversation I was asked if I would write these ideas down in the IT Blog. Foolishly I said said yes. These are just some general guidelines that I try and often fail to follow. They are in no particular order.1. Never ask someone to do something that you are not prepared to do yourself.
2. Frustration = Problems. Frustration is the leading indicator that your staff is having problems. It is your responsibilty to solve these problems.
3. Never blame. It is a waste of time. The solution to the blaming attitude is to collectively focus on the problem and find a solution.
4. Have and attitude of “Yes”. This doesn’t mean you say yes to everything but is more of mindset.
5. Communicate, communicate and communicate somemore. It is really helpful for staff to understand the goals and expectation and to be part of the planning process.
6. Acknowledge the work people do and thank them for it.
7. Delegate as much as possible. It empowers people and prevents you from micromanagement.
8. Actively listen.
9. Patience. The people you have on your team are working hard, do not over stress them by setting unrealistic timetables. Understand your staffs strengths and weaknesses. Help them with both. It is your job to make their job easier.
10. Have fun. Staff that are having fun at work are more productive. It will also help them and you live happy lives. This is perhaps the most important rule. If you are not having fun there is a problem.

These are the top 10 things that I strive towards. I know there are many more things to do but I can really only keep 10 thoughts in my head at one time and I really believe in keeping things very simple where possible.

LibraryThing and Sirsi/Dynix @ACPL Part IV

Ok so I have a new hero, Sonya Green at LibraryThing. I think hand holding must be on her job description. Well I did make a silly mistake and I like these because they are the easiest to fix. What I needed to do to make it all work was add the line.

http://<Your server here>/uhtbin/cgisirsi/x/0/0/5/?searchdata1=MAGICNUMBER

to my account information. Just go ahead and login click on the account tab and then look on the right hand side of the screen. Click on edit site info. Add the above line to the ISBN url.

Success!!

Go try it out at http://training.acpl.lib.in.us

LibraryThing and Sirsi/Dynix @ACPL Part III

Well all is good. The perl code I wrote worked and the collection indexed over the weekend. I then went to the Librarything website and there is some very good information about how to add the javascript. I am just going to add it here for completeness

[Documentation from LibraryThing Site]

iBistro Widget Placement

From a helpful Sirsi customer: “The file that needs modifying is called viewtop.h which is found in the /Unicorn/Webcat/Pages_deliv/Elib_revC/ directory on the Sirsi server.

This file needs to be copied from this location to the /Unicorn/Webcat/Pages_custom/Elib_revC/ directory before it is modified. The file in the custom directory is used in preference to the one in the deliv directory so the original file should be left in this directory.

Once in this location viewtop.h requires the LTFLs code ‘<script src=”http://www.librarything.com/forlibraries/widget.js?id=….’ to be added to the end of the file and the LTFL widget code to be added, dependant on where you want the widgets to be displayed on the item holdings page in the catalogue. I have included ours immediately below the ‘<SIRSI_Include File=”dspholdings.h”>’ line in this file which displays a list of an item’s holdings in our library service.

Note: The code above in the <script scr ‘ is below

function LT_get_widget_logic()
	{
	var t = new Date();
	var wl = document.createElement("script");
	wl.type = "text/javascript";
	wl.src="http://www.librarything.com/forlibraries/widget_logic.php?id=....\'&t=" + t.getTime();
	document.getElementsByTagName("head")[0].appendChild(wl);
	}

LT_get_widget_logic();

LTFL widgets should now display on the item holdings page in the iBistro catalogue. It may be necessary to first reload the webpage or clear the web browsers cache in order to display the LTFL widgets.”

[edit] ISBN URL

http://<your catalog server>/uhtbin/cgisirsi/x/0/0/5/?searchdata1=MAGICNUMBER

[Documentation from LibraryThing site]

So what has been done? I made a copy of the viewtop.h file and copied it into the /Unicorn/Webcat/Pages_custom/Elib_revC/ directory. I then copied the javascript code to the bottom of the page of viewtop.h.

So it looks like this

[Snippet from viewtop.h]]

<SIRSI_Conditional IF Environ=”DISPONORDER^1″>
<SIRSI_Conditional IF DC_Exists=”Lz”>
<SIRSI_Include File=”dsporders.h”>
</SIRSI_Conditional>
</SIRSI_Conditional>
</SIRSI_Conditional>
</SIRSI_Conditional>
<script src=”http://www.librarything.com/forlibraries/widget.js?id=184-3972210427
” type=”text/javascript”></script><noscript>This page contains enriched content visible when JavaScript is enable
d or by clicking <a href=”http://www.librarything.com/forlibraries/noscript.php?id=184-3972210427&accessibility=1
“>here</a>.</noscript>[snippet from viewtop.h]

[snippet of widget placement from viewtop.h]

<SIRSI_Conditional IF NOT DC_Comp=”nI^N”> <!– show holdings –>
<SIRSI_Conditional IF Environ=”SUMMARY_HOLDINGS^0″>
<SIRSI_Include File=”dspcopyholdings.h”>
<SIRSI_Conditional ELSE>
<SIRSI_Include File=”dspholdings.h”>
<div id=”ltfl_related” class=”ltfl”></div>
<div id=”ltfl_similars” class=”ltfl”></div>
<div id=”ltfl_tagbrowse” class=”ltfl”></div>
</SIRSI_Conditional>
</SIRSI_Conditional>
[snippet of widget placement from viewtop.h]

Ok so everything works almost :-) . The widgets show up but I am still having a problem with the links from the widgets. They do no refer to back to the catalog. I am sure there is something that I am missing. I have played around with the function script code but I have not been able to make it work. Again the staff at LibraryThing have been a joy to work with.

LibraryThing and Sirsi/Dynix @ ACPL Part II

OK so it is time to clean up the file. Below is the perl code that I wrote to solve this problem. I have tried to comment it enough that it is easy to understand. This is just out of self interest as I might need to look at it again in the future.

#!/usr/bin/perl
###############################################################################
# Program : lt_parser.pl
# Programmer : Sean Robinson
# Date : 4.19.2008
# Description : This program takes the output from the sirsi command
# selitem -oC | selcatalog -iC -oe -e020,245,100 > ISBN_extract.out
# and parses it so that the data is clean for inporting into LibraryThing
#
# Version : 0.01
#
#
# Note : I recommend testing this code by taking the ISBN_extract.out
# file and extracting 100 lines and then running the code against that reduced
# data file as a test. The command I used is
# >tail -100 ISBN_extract.out > testdata.out
#
#
###############################################################################

###
# I have explicitly defined the path where my data is you would need to change
# this location.
###
open (FH, “</home/srobinson/dev/librarything/ISBN_extract.out”) || die “Cannot open ISBN_extract.out”;

###
# defining variables
###

my $isbn;
my $title;
my $author;

###
# Looping through the file you have just opened line by line
###
while (<FH>) {

# Assigns the input line $_ to the the variable $input
$input = $_;

# Spliting on piple symbol. This is a rough way to get the three pieces of data.
# The first element is isbn the second is title and the third is author
@values = split(/\|/, $input);

# isbn
$isbn = $values[0];

# title
$title = $values[1];

# author
$author = $values[2];

# set of rules to get a clean isbn from the data

# split on blank space after isbn number
@isbnsplit1 = split(/ /, $isbn);
$f_isbn = $isbnsplit1[0];

# split on ( after isbn
@isbnsplit2 = split(/\(/, $f_isbn);
$f_isbn = $isbnsplit2[0];

# checking that string length either 10 or 13 digits
$str_length = length($f_isbn);

if (($str_length == 10) || ($str_length == 13)) {
# print “String length is $str_length “;
}

# if less than 10 character assing variable BLANK
if (($str_length < 10) || ($str_length > 13)) {
# print “String length is $str_length “;
$f_isbn = “BLANK”;
# print “ISBN is $f_isbn \n”;
}

# checking for colon at end of isbn number and removing it
if ($str_length == 11) {
$f_isbn=chop($f_isbn);
}

# split on colon after isbn number

if (($f_isbn=~/\-/) || ($f_isbn=~/\s+/) || ($f_isbn=~/\:/) || ($f_isbn=~/BLANK/) ) {
} else {
$isbn = $f_isbn;
print “$isbn\t$title\t$author\n”;
}

}
# end while# end of code

At the command line I just run

>./lt_parse.pl > hold.out

This code just parses the file ISBN_extract.out and pipes the output to hold.out. This is the file that you will upload to to LibraryThing. I have uploaded the file and am just waiting for it to index. I emailed them as it seemed to be taking a while. They told me that this is normal and it would probably be done overnight. The only question I have is that I did add a \n (newline) at the end of each record and I do not know if this will cause a problem. We will just have to wait and see. I will have to say that working with LibraryThing has been a joy. Sonya and been great and I am excited about this project.

LibraryThing and Sirsi/Dynix @ the ACPL Part 1

I am attempting to incorporate LibraryThing into our card catalog and I thought I would share the steps I am taking as I go through this process just in case there are others that are wanting to do the same thing. I have had the API training on Sirsi but I do not use it every day so there might be a better way to do some of the things that I am doing.

The first step was to contact LibraryThing and ask for an account. I contacted sonyagreen [at] librarything.com and explained what I wanted to do. They were great and got right back with me. They will allow me to test this out at no charge. So I am using out test system and will then hopefully show everyone here this idea product.

Now I needed to get the data out of our system. I did it in the following manner

selitem -oC | selcatalog -iC -oe -e020,245,100 > ISBN_extract.out

This selects the item and output the catalog key and then pipes this into the selcatalog command using the catalog key as the input and then output isbn, title and author and then sends all that data to the file ISBN_extract.out

This is great and simple. There is one same problem that our data is not really clean so I am going to have to write a perl script that cleans up the data and replaces the pipe delimiter with a tab delimiter.

No problem. This will be in part II

Tales from the Reference Desk

This video happened kind of by accident. Rebecca had come to the branch managers meeting to share with the group how they relieved stress at her branch. She pulled out these drawings that she had drawn and then told just the funniest stories. After the meeting I asked if she would come down and let us film her. Kay created the animation and you get to see the results. I am so glad we were able to capture this moment.

Pay for Print training video in Spanish

This is the first Spainish language video that we have created. I really want to thank Maria for helping us with the translation and then agreeing to be filmed.

Pay for Print training video

This is a video that Kay and I created to help train our staff and the public on how to use the new printing service.

Return top
 
AWSOM Powered