Libraries have long been adding content and customizations to vendor-provided web-based search interfaces, including discovery systems such as ProQuest’s Summon®. Customers are allowed to control and override any feature of the existing user interface to customize Summon, but complex and extensive customizations requires modification to the underlying technology upon which Summon 2.0 was built. Summon 2.0 uses AngularJS, a modern model-view-controller framework, which has drastically changed the way in which such web applications are built, and thus how they must be expanded and customized.
Associates from Virginia Tech developed a successful solution and shared their work in their paper, "Hacking Summon 2.0 The Elegant Way," published in Code4Lib Journal. In an effort to help other customers in customizing Summon, authors, Godmar Back, Associate Professor of Computer Science at Virginia Tech and Annette Bailey, Assistant Director for Electronic Resources and Emerging Technology Services for the Jean Russell Quible Department of Collections and Technical Services at Virginia Tech, agreed to answer some questions about their paper and what they’ve accomplished.
The key motivation was the need to record click-throughs in real time for our visualization project, LibFX. We also want to add services by improving the Summon display with live status information about resources. Beyond that, there were a number of smaller cosmetic changes we wanted to make that could not be accomplished using the administrative tools for Summon.
What steps did you need to take internally to get consensus to work on this goal?
Our library leadership has long been open to investing resources in improving our users' experience with the systems we purchase. They recognize the potential benefit of being on the leading edge of technology development in this area.
Can you describe specifically what you have done in order to customize Summon for your library?
We implemented click-through recording and a number of cosmetic fixes, such as changing the labels the user sees. We are also testing a way to bring in electronic resource notes to inform users when there are restrictions on access or unscheduled downtime.
[See image at top: How to implement localized logic for the facets Summon displays.]
What types of technical skills are required to perform the customizations that you have performed?
How often do you need to make updates or tweaks to your customizations and are they easy to maintain?
As with any front-end modification that is done without consultation from the developing team, there is a risk that our code will break. However, our code did not break at all when the Summon team changed the way in which their application loads by switching to LabJS, whereas a number of alternative approaches started to fail at this point.
Do you have recommendations that you could offer to anyone considering to tackle something similar at their library?
Study our paper, and share what you have learned. We ourselves have learned from other institutions and the customizations they have made.
Read the full paper, published in Code4Lib Journal here.