Answered By: Bryan Kasik
Last Updated: Jan 09, 2026     Views: 1069

UVA Library’s “automation” development includes many different systems and tools.  Here are some of the basics – mostly focused around our online Catalog (VIRGO – https://search.lib.virginia.edu)  and ILL (Illiad). 

VIRGO (& relationship to Sirsi)  

UVA has a SIRSI online catalog system with a public search & display interface (VIRGO) that was developed locally. Mostly the public interface that you see is that "home grown" system. We're constantly tweaking and improving it.  

VIRGO (the homegrown interface) searches more (via the Solr index – see below) than just our books in the SIRSI catalog. It searches the EBSCO articles service, HathiTrust online books, our digital materials collections, as well as the local public library (JMRL). The search results are presented as if they were all in one giant online catalog, but they are actually coming from various places. Virgo is a locally developed Golang application which makes use of Solr for catalog search and uses the EBSCO Discovery Service (EDS) API for article search. We don’t use EBSCOhost or any other hosted solution – article search is performed by sending HTTP requests to EDS based on user input selections, then generating results pages based on the XML data received from EDS.  

SIRSI is the Library’s second online integrated library system (ILS). We first used NOTIS which we went to in 1989. Prior to that we had a “home grown” circulation system. We migrated to SIRSI in about 1996.  

Blacklight  

Before the current home-grown version of Virgo was launched in the summer of 2020, Virgo was a heavily customized version of Blacklight. Blacklight originated at UVa but has very much become a community project since its inception nearly a decade ago, particularly because it is included in the Hydra framework for creating repository interfaces. Both communities are very active in the open source software world.  

Blacklight is a Ruby-on-Rails “engine” which builds on the basic Ruby-on-Rails web server framework to provide an interface to Solr indexing, as well as baseline display templates (which various institutions customize according to their needs).  

For catalog information, we had nightly dumps of MARC records from our Sirsi instance which are transformed into Solr records for fast indexing; we also have automated workflows from other sources including our repositories, HathiTrust, etc. For availability information, we augment the display with real-time queries to Sirsi.  

Article search through EDS is actually a separate issue and Blacklight, per se, doesn’t address that because those searches do not go through the Solr index. We use the EBSCO EDS web API to formulate search queries, receive the results, and populate a separate set of display templates for those.  

The “bento box” style of displaying multiple search results was not directly supported by Blacklight, although there may be more support for it currently. The version of Blacklight that Virgo used was actually quite old.  

The upshot is that if you have programmers on staff and they know Ruby-on-Rails, then Blacklight will give you a major head start on creating a search-and-discovery interface. If your programming staff currently has no expertise with Ruby-on-Rails, they can expect to create a reasonable demo site fairly quickly, but should expect to spend quite a while learning the nuances that will be needed to make it a rock-solid production site.  

More about VIRGO, Record sources, and Indexing  

Various sources of records are indexed into Solr and then can appear as results in searches of the public Virgo interface. Catalog records from the ILS are indexed very frequently, and propagate to Virgo within minutes. For other systems (Avalon, Libra, ArchivesSpace) changes may propagate less frequently (hourly or just several times a day).  

Article search, JMRL search, and Worldcat searches through Virgo do not search our underlying solr index, but instead make requests of third party search APIs. In the case of Articles, it’s a subscription service called “Ebsco Discovery Service” (EDS) that we pay for and is configured to search articles UVA is known to be able to provide access to (either because they’re open access or because we’ve subscribed). 

ILL 

For interlibrary loan we use a hosted service called ILLiad from a vendor named Atlas Systems.  You can learn more about them from their website - https://www.atlas-sys.com/illiad/.   Like Virgo we have customized the interface for our users. 

Related Topics

    Contact Us