The concept of user-installable apps has become a basic expectation of modern computing, especially on mobile devices. Both the Apple iOS and Android mobile environments make it easy for persons to find, select, and install apps made available through their respective app stores. Installing these apps does not require technical expertise and safeguards are in place to ensure that the apps will work correctly and not crash the device.
Ex Libris has recently released a new framework on its software platform that emulates the app paradigm experienced in the mobile arena. Ex Libris Cloud Apps brings installable apps into the environment of its strategic products. Apps can be created and deployed for any of the major products running on the “Ex Libris higher-ed platform,” which includes Esploro, Primo VE, Leganto, Rialto, and Rapido, in addition to Alma. The new framework enables Alma users to find, select, and enable apps without technical intervention. These apps, created by Ex Libris customers, give Alma users an extended set of tools to work more efficiently or perform specialized tasks. These apps run within the Alma platform and are used directly within the Alma staff-use interface, inheriting context such as authorizations and preferences.
This app framework enables the creation of functionality beyond what is built into the core products by the company's developers. Enhancements and new features for core products such as Alma must be suitable for the entire customer base. Even though the ongoing development relies on customer recommendations, many bits of functionality may not be appropriate for all sites.
Apps created by the community of developers from customer sites address specialized scenarios. Ex Libris has cultivated, from its customer base, programmers and technologists interested in working with APIs and other technical aspects of its products. The company launched its Developer Network portal in April 2014 to bring together documentation and other collaborative tools to support technical collaboration with its customers.
Assistance with apps comes through the Ex Libris Developer Network. This model of community support is well established among the users of Ex Libris products. While Ex Libris personnel participate in the Developer Network, the model of collaborative support differs from the standard channels of support associated with the company's core products. The concept of apps is not new to Alma. In May 2019 Ex Libris introduced an environment, branded as the App Center, in which apps ran on external computing environments, such as local server or cloud infrastructure operated by customer sites.
The new Cloud Apps framework will be deployed in the August 2020 release of Alma. More than 60 apps are currently available through the App Center. A subset of these apps has been developed as Cloud Apps; others are extensions that operate outside the Ex Libris cloud. With the Cloud Apps framework, the apps run within the Ex Libris platform infrastructure and are fully integrated into its user interfaces. Apps operate according to the context of the current display.
Some apps automate routine tasks to improve efficiency and reduce manual steps. These are similar to macros or keyboard shortcuts used with other systems. Combining multiple steps of a task reduces times waiting for a system response. Others interact with external resources to bring data into Alma.
Some of the Cloud Apps in the initial deployment include:
- Hathitrust Availability: a tool for checking the availability of items in a list of search results in the Alma staff interface.
- Alma Refine: integrates references into bibliographic records from selected resource compatible with the OpenRefine standard, including the Getty vocabularies, WikiData, and GeoNames.
- Alma Manager.
- Role Toggler: a tool for activating or deactivating all the roles of a user record, which saves time by avoiding the need to submit multiple changes.
- CSV User Loader: creates a batch of Alma users from a file.
The Cloud Apps environment includes a layer of institutional management. Not all apps will be appropriate for all sites. Managers at each institution can select which apps will be available to their users. Individual users will then be able to select and use the apps without administrative intervention. Enabling apps to execute within a platform such as Alma requires multiple layers of validation to protect the broader environment from any possible disruption or interference.
These layers would include technical measures, such as coding structure and standards to ensure that apps properly integrate with the host environment. Manual or automated validation verify that any code or included libraries are free from known security vulnerabilities. Apps undergo rigorous app validation. Manual testing by the platform administrator, in this case Ex Libris, verifies that the app performs as expected and conforms with user interface conventions.
Ex Libris has a longstanding strategy of enabling APIs for its products based on proprietary software. Cloud Apps and its predecessor App Center leverage these APIs into a new development and deployment framework, enabling the creation and use of new components beyond those delivered on the core product. APIs and Apps provide openness and extensibility for major software platforms, including both open source and proprietary products. App developers do not need access to the underlying source code of the core application itself to create related services or interfaces if suitable APIs are provided and well documented.
The Cloud Apps framework is based on the open API Ex Libris exposes on its platform, documented via its Developer Network portal. Ex Libris enables open access to this portal and the extensive documentation of its APIs. Live use of the APIs requires applying for a developer's key, which does require an authorized login to the site.
Developing Cloud Apps
Programmers in the library can develop apps for use by others in their institution or to be published for the entire Alma community.
The development process of a Cloud App involves five steps:
- Develop the app in HTML and Angular according to the templates and styles documented.
- Create a release of the code on GitHub.
- Submit the app to the App Center on the Ex Libris Developer Network.
- Wait for manual review from Ex Libris.
- Once approved, the Cloud App will appear in Alma and can be activated by users.
The Ex Libris Developer Network portal provides documentation and other resources for creating apps and a process for publishing them for global deployment. Cloud Apps are created by following the templates, structure, and components described in the Developer Network.
Development of Cloud Apps is performed in a local environment. This environment would include an installation of the Ex Libris Cloud App Command Line Interface (CLI), which includes the tools needed to develop, test, and build Cloud Apps.
After the app has been successfully built with CLI, with no errors, the developer will publish a release on Github in a public repository. The next step is to submit the release to the App Center on the Developer Network as a Cloud App along with the link for the Github repository. Ex Libris will then begin its review process, and it will appear as an available Cloud App in Alma once approved.
The Ex Libris Cloud App framework of user-installable apps represents a significant advancement in the realm of major library software applications. This framework provides an elegant model of extensibility and interoperability so that institutions implementing the system can gain capabilities beyond the delivered product. While the Cloud App environment does not obviate the need for Ex Libris to continually enhance the product for capabilities useful to all its customers, it enables the creation of custom features, interfaces, or extensions via its customer development community.
Other examples of extending core products via apps can be seen in the broader educational technology sector. The Cloud App framework, for example, is similar to the Building Blocks concept associated with the learning management systems from Blackboard. According to the product documentation: “A building block is a Java web app that is deployed as a plug-in to the Blackboard Learn application.”7 These Building Blocks can be created by external developers for integration with external systems or to create customized features. They run within the Blackboard platform but must be installed by Blackboard Support personnel.
Almost all the major integrated library systems and library services platforms offer an API available to local programmers and systems integrators. These APIs provide essential capabilities for batch data management and interoperability with external business applications. They can be the basis for creating new interfaces or software components. Many vendors also offer portals for collaborative development and sharing of code. These environments do not match the sophistication of a framework where apps can be developed, deployed, and run natively within the platform of the core application.
Library services platforms with a single global codebase are well positioned to offer user-installable apps. OCLC's WorldShare Management Services and Ex Libris Alma both fall into this product genre.
Integrated library systems, mostly developed as single tenant server-based applications, are less well suited for user-installable apps, given the multiplicity of versions and other variations among installations.
OCLC offers a full API for WorldShare Management Services and likewise offers capabilities to create custom apps and scripts that can be created and shared. The OCLC Developer Network includes an API Explorer, which offers documentation and tools for developing and testing code against the APIs. More than 100 apps and services based on the APIs across multiple OCLC products and developed by customers or other vendors are made available through the OCLC Developer Network Gallery. These apps run externally to the products involved and are not deployed within the OCLC platforms. While this gallery of apps offer important capabilities in extending functionality of OCLC products and services, it is not quite the same as an integrated app framework.
The open source FOLIO project follows the app metaphor in its overall architecture. Developers can create modules that operate within the Okapi API gateway and are based on the Stripes user interface toolkit. This approach to module development lends great flexibility in how FOLIO instances can be assembled and deployed. An important part of the vision for FOLIO involves enabling libraries, vendors, or other stakeholders to create modules according to their specific requirements. Any given deployment of FOLIO can assemble the modules supporting its needs. It does not, at least at this point in its development, provide a framework where individual FOLIO users can select and deploy modules and apps without technical intervention.
FOLIO encompasses most of the characteristics of the library services platform category. It differs from WorldShare Management Services and Alma in that there will be different instances of the software deployed. Some libraries plan to host FOLIO locally, and multiple vendors will deploy FOLIO on their respective hosting infrastructure.
Entirely created through community-based development, FOLIO has been developed and licensed as open source software. Ex Libris products, in contrast, are based on proprietary software licenses, with open APIs made available to customer and non-customer developers. With Alma and WorldShare Management Services, the core product is based on proprietary software, with community-based development of extensions and apps. Both models depend on robust and documented APIs
Cloud Apps build on the Alma platform, which has seen well over a decade of development, including a four-year initial development effort and monthly updates issued since its initial production deployment in July 2012. The unified codebase underlying all instances of Alma and a robust API framework provide a reliable basis for custom app development. A mature product plus community-based apps and extensions further strengthens Ex Libris's position as a technology provider for academic libraries.
- Blackboard. “Building Blocks in Learn SaaS.” https://help .blackboard.com/Learn/Administrator/SaaS/Building_Blocks.