SOPAC 2.0: What to Expect

On September 1st, Darien Library will go live with a new web site.  We will also be going live with SOPAC version 2.0.  In case you’ve been wondering why I don’t blog anymore, it’s because of 2.0.  It’s been a massive project.

As you probably know, SOPAC 1.0 was written for the Ann Arbor District Library catalog while I was working there. It was, however, a collection of ‘hacks’ that I made in order to get that functionality working within the Drupal framework of aadl.org.  I did release the 1.0 code but as I said at the time, it would “definitely not work out-of-the-box”.  It was a highly-customized module made available so that other developers could play with it.

When I began work on SOPAC 2.0, I kept two prime directives in mind.  First, it had to have the potential to work with any ILS.  Second,  it had to be a highly-configurable, distributable package.  In other words, it has been completely rewritten from the ground-up to be a real software “product”.  This will be a project that is managed and maintained by Darien Library.  We will make the beta available under GPLv3 once we get our legs back under us after Sept 1st.

How it Works

SOPAC 2.0 itself is a non-trivial project. It is an expansive Drupal module that completely integrates all online catalog and patron activity.  It is written for Drupal 6 and takes exclusive advantage of Drupal 6′s hooks and APIs.  The result is that it is 100% theme-able and template-able.  You will be able to make your catalog look exactly the way you want it to look without exception.  Virtually every element of the patron account integration is also configurable.

In order to make SOPAC 2.0 possible, however, I’ve decided to create two software libraries that operate independently of each other.  The first, Locum, provides a catalog discovery layer as well as ILS-independent abstraction for all catalog-related activity.  It can be used by any PHP application, not just SOPAC.  So, for example, you could ostensibly port SOPAC to Joomla using Locum as the sublayer.  Locum allows developers to “drop in” connector pieces for their own ILS.  Locum (and anything built on top of it) doesn’t care if you are a III library or a SirsiDynix library or a Koha library.

The second software library, Insurge (Independent Social Repository), is in response to my feelings about the inadequacy of local, community-driven social data.  On one hand, I recognize the value and importance of highlighting local social data, but for the purposes of search and content discovery, it’s just not a large enough data-set.

My original intent was to store all the social data within the Drupal database (as it is in SOPAC 1), but I was not terribly thrilled with that prospect, so I began to envision a second abstraction that was dedicated just to bibliographic social data and which could be shared, freely, between different institutions.  In addition to our own tags and reviews, we can choose which other libraries we want to pull social data from.  We would, in turn, sync up our new data so that other libraries could download and use it. In this way,we have the opportunity to “highlight” our own local reviews and tags while taking advantage of a larger pool of data.  The best of both worlds.

Naturally, there are many nuances and complexities involved in all this and we will be launching a dedicated site for the product suite that will allow users and developers to start building a support base.

I’m sure there will be a myriad of questions and I will answer them as I can but if I don’t reply to your email or comment right away it’s because September 1st is closing in fast and it’s two weeks and two days to bingo time.


About this entry