Library List System

What do you do when the system that you’re using doesn’t work, you make a new one.

The library needed a way to create lists and display them on the website, I could have started everything from scratch but, the catalog system already had a way to make lists, there was just no way to get the out.

Step One: Write a program to get the lists out of the catalog.

This was not to difficult, I created a screen scraper in JS that first checked to see if you were a staff member via the catalogs API; why not get the list data from the API, it wasn’t there. So now that the program had the data gathered up, it created a download button that packages the data as XML. Now the user had their list as an XML file, this is where the real program begins.

Step Two: Write list editing and management software

We needed a way to get that XML data into our website, which could have been as easy as pulling in the file, parsing it and exporting the data to a template, but we also needed a way to edit the data, so I decided to make some management software. (JS, PHP, MySQL)

At the library we use Microsoft Active Directory for our authorization so I figured that would make the most sense, I found a AD PHP library and built an auth system. Next I needed a way to get the data from the XML into the database. Build an input system, upload the xml file, keep it in a temp folder while we read and parse the file then bring up a editing screen to make any changes before saving it.

Save the new list and you’re taken to the main list. From here you can sort, add, edit, view, draft or delete lists.

Show and sort all lists

When editing a list you’re taken to the editing screen where you can also add to your list, delete items from your list or sort you’re list.

Editing List
Sorting list items

When you are ready for a list to be shown on the website you can undraft it.

Step Three: Showing on the website

Now that the data has been uploaded edited and saved, it’s time to display it to the public. The Library website has many ways to display this data, but the main one is the Lists and Suggestions page; which connects to the database and displays all the non-drafted lists. First in a sortable thumbnail grid view with the first three item images per list used at the thumbnails.

Then in a details view when you click on a list.

Each of these items links to the catalog or you can place it on hold directly by click on “Place Hold” button. The status of of the item is also displayed via a call to the catalogs API.

Conclusion

Before this system the library staff would create lists by searching the catalog and copying and pasting the contents into an html template, since implementing this application the number of list creator has doubled and the number of lists has grown exponentially.


Posted

in

, ,

by