Learning to be a Systems Administrator for Horizon ILS

This is one of those presentations that never was, but I thought it would be interesting to write up anyway as a reflective piece. Interestingly, I didn’t find out that I would be the library’s ILS administrator until after I started the job. It didn’t really make any difference, and if anything, I was glad to be doing some of the operational work on the systems side. I have never actually been a systems librarian so I had a lot to learn and I have been grateful for the opportunity.

All the Manuals!

I always go on about the importance of documentation, and I will say that all the standard functionality is well documented for Horizon. The user and administration guides were invaluable to getting up to speed quickly and learning about the specific things that needed fixing. All the latest versions are available digitally, so that you can easily search through them, and when searching the support/knowledge portal, the full text of the guides are included, which is super useful. While some of the documentation could improve (like the label settings explanation), overall it’s understandable and organized.

There were a number of fairly simple things that needed fixing that I got done quickly thanks to the manual, such as: change in holds allowed for a particular borrower type (btype), change in maximum number of items checked out for a particular btype, and number of results loaded at one time for keyword searches within the staff client.


Of course, the manuals weren’t enough to do everything. I ran into problems or bugs that are obviously not listed in the manual. The support portal’s search is decent and lots of the articles were useful and helped me with things like understanding how pull lists are constructed, understanding the difference and how to set up usage periods and top circ lists, and finding that some bugs were already known.

I usually try to solve my own problems, but there have been many times where I felt like I couldn’t find the information or it seemed to be an issue with our particular instance of the ILS, so I have submitted my fair share of cases to support.

I will say this about SirsiDynix, their Horizon support team is very responsive and friendly. They don’t always know the answers, but all the staff I’ve dealt with respond within one, usually two days at most.

Specific Tasks

There were a few tasks that took significantly more work than just reading the manuals.

z39.50 Searching

I was rather disappointed to find out that Horizon doesn’t support multi-source z39.50 searching. To clarify, you can configure multiple z39.50 endpoints to search, but you have to search one at a time instead of doing one query against all (or selected) endpoints and getting a single search results list.

I had never encountered an ILS that could not do multi-source searching before, so I needed to give staff an alternative.

Unsurprisingly, I learned that libraries that use Horizon typically have BookWhere and/or OCLC. While having an external search can be problematic in many ways in Horizon (there is no duplicate check when loading for example, it’ll just overlay or not load depending on your settings), the main advantage is that it’s very easy to load a set of records in MARC Notepad (comes with BookWhere) or MarcEdit to do batch and manual edits before loading the records into Horizon.

E-Resources Records Processing

Loading records is easy enough, especially with a separate profile to match on specific fields depending on which set of vendor records are being loaded, but deleting records was a slightly harder process.

For many months, there was a bug in Horizon where you could not use import profiles to delete bibs. The alternative was to use the killbib option. For those who are not familiar with the process, there is a support article dealing with using killbib (login required).

In general terms, you use a SQL query to pull bib numbers into a temporary table, and tell the killbib utility to delete the bibs (and attached items) based on the list of numbers. Of course, that means you want your query to be very specific and you want to be very careful you’re not deleting bibs you don’t intend to delete.

In all the cases that I’ve dealt with, even if there are no MARC records, there is a list of publisher/vendor numbers. In order to quickly build the query, I use Notepad2 (but you could use any decent text editor) to append the appropriate bit of text before and after then manually edit the first and last lines, since the query needs to end up to be something like this:

FROM bib
WHERE tag = '028'
AND (text like '%##########%' OR
text like '%##########%' )

Often, I find that the number of titles I’m supposedly looking for is less than the number that I find, but better than too many!

As of 7.5.4, apparently the deletion using import profiles has been fixed, so that now you can use an import profile to specify the match points and load a set of records where the LDR/005 is ‘d’ to batch delete records. For more information on how to actually do this, check out the [Deleting items and bibs with “d” in Leader tag article (login required)[https://support.sirsidynix.com/kb/131329].

I’ll quickly note for anyone going through this process is that I only had to run the profile once (instead of twice as the article instructs) and the progress bar and message will show you the import is complete, but there’s no indication that the bibs/items have been deleted (see screenshot below) except that you can’t find them anymore when searching in the system.

Custom Views for Reports

I’ve already posted on custom views and written about how to get them into a staff client, so I won’t talk about how it’s done here, but it’s definitely been a time saver and a convenience for staff who need them. I wouldn’t have known about it except that a staff member from another library told me how they get their ‘new holds’ report so I’m thankful to them.

This feature really has made a world of difference since it has allowed staff to integrate the views into their workflow how they want it rather than having to wait for a specific person to give them the information, preventing that person from being a bottleneck as well.

Top Circulating Titles

One set of reports we pull are the top 25 circulating titles for adult fiction and adult non-fiction for each month.

Previously, we set the usage periods to be monthly and had a query that would pull titles based on circulation and collection code. However, usage periods are tied to a number of things including the usage statistics in the title details view (see screenshot below). With usage periods done by month, staff would need to manually add usage if they wanted to know what it was for a whole year, which is what they typically wanted to know.

Another problem is that usage periods are manually created, so if someone forgets to create them, there is no way to get those top titles for a specific month.

In one of the more recent releases of Horizon, it’s possible to set collection groups and have the system automatically pull top circulation titles daily, weekly, or monthly. I haven’t quite gotten them to display in the staff client, but I don’t think it would be too hard since it should just be a simple SQL query. I did have to contact support since I followed the instructions, and then the stats disappeared after the first month, and we actually had to turn off the day end process the guide tells you to turn on for the stats to stay available. Since then, it’s been working well so a big thanks to support staff for helping me smooth out that process.

Label Printer

We purchased a Zebra label printer in order to print spine labels. While it seemed to work fine through the software that it comes with, there were some difficulties getting it working properly in Horizon.

This is where the mailing list members were very helpful. Label settings are in a lot of places in Horizon, and the manual is not the best at explaining the settings. In particular, it wasn’t until someone on the list pointed it out that I finally understood the settings relating to margins and offset within Horizon.

Since it gets really fiddly, I ended up doing a left margin/offset instead of centred lines (which is what we were doing when we used the label sheets). I also never managed to cram 5 lines in like we can on the label sheets, but staff can set the font size to be smaller in order to fit them.

Thanks to the IT staff, we also recently got it working on the network so that anyone can print to it. Hurray!

Implementing New Features

With every new release, there are new features. Most of the new features affect circulation staff, so it has been an interesting experience working with staff to implement them. Some of the features require that decisions be made on how to implement, and I’m always so glad that I ask staff about the features because they often come up with things that I didn’t consider.

The only downside is when we discover that the new features don’t work as expected so we have to wait for a future release for them to be fixed, or if we discover new bugs which won’t be fixed until the next release.


While there are some things that could use some improvement, the manuals are quite good and the support from SD and the mailing list are really helpful. The fact that all webinars are also available for later viewing now is great for people new to Horizon. It has certainly made me feel fairly comfortable as an ILS administrator in a fairly short time.

Published by


A librarian learning the ways of technology, accessibility, metadata, and people

Leave a Comment

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s