Texas Digital Library Conference System, 2017 Texas Conference on Digital Libraries

Font Size: 
Introducing the Weaver Framework – The Technology Behind Vireo 4
Jeremy Huff, James Creel, Micah Cooper, Jason Savell, William Welling, Ryan Laddusaw, Doug Hahn

Last modified: 2017-04-07


The technical needs of any library system are varied, nuanced and ever changing. These disparate requirements call for technological solutions that are flexible enough to satisfy the complexities of the library sciences, but at the same time simple enough to be developed and deployed rapidly so the applications remain relevant. In addition to this, end-users of library software are accustomed to elegant interfaces on the web and demand an engaging, modern user interface and experience. In an attempt to satisfy all these criteria for the applications which we develop at Texas A&M Libraries, we have developed and implemented an open source application framework which we call Weaver.

This workshop will outline the instillation and customization of a Weaver Application using Vireo 4 as an example. Participants in the workshop will follow along on their own computers with the deployment of Vireo 4. After Vireo has been installed, small customizations will be performed from code snippets that will be made available to the participants.

The Weaver framework has two parts: the Weaver-Webservice-Core on which powerful REST APIs can be built; and the Weaver-UI-Core which provides the basics for building flexible and modern user interfaces. The Weaver-Webservice-Core is written in Java and built on the very popular Spring-Boot framework. Similarly, the Weaver-UI-Core is built on top of the much-used Angular.js JavaScript framework and the Bootstrap visual framework.

Using this approach of building applications in two parts (webservice and UI) has given our applications some key advantages. One is that for any Weaver app, the UI component can be easily updated without necessitating any development on the backend codebase. This separation also allows for any Weaver webservice to be accessed through many different user interfaces. This cuts down on the duplication of functionality across applications, as one Weaver app can utilize another’s webservice when desired.

Since beginning work on Weaver in 2015 we have used it in the development of 8 applications, including: a centralized, Shibboleth enabled authentication server; our staff directory; an application for finding subject librarians; a student and faculty information portal; a metadata assignment tool (MAGPIE); and several other applications and web services, many of which interact with each other. In addition to this, Vireo 4 is being built utilizing the Weaver framework.

This workshop will demonstrate for the relative ease with which the Weaver framework can be deployed and utilized to build custom applications. Afterwards a participant should be able to take what they have learned and make a start at their own institution utilizing Weaver to address their own use-cases.


Weaver; Spring-Boot; Angular; Vireo;