Search suggestions:

The Primo Open Discovery Framework: Selecting the Right Technology and Design

Share:

June 01, 2017 | 3 min read |

Miri Botzer, Product Manager Discovery & Delivery, Ex Libris

In our last post, we explained how the Primo Open Discovery Framework allows manipulation of nearly every element in an application with the minimum possible effort while ensuring consistency and stable product upgrades.

With that in mind, let’s review the considerations and criteria that guided us in selecting the technology behind the Primo Open Discovery Framework and what that means for developers.

First, we looked for several basic elements:

  • A clear separation between the product and the customization code
  • Customization code that utilizes the product data model
  • Widely used technology with projected long-term support
  • Support by many UI frameworks
  • Operational in all browsers and multiple screen sizes

JavaScript can be used to easily accomplish client-side customizations by manipulating the DOM (Document Object Model); however, as the DOM is not maintainable and might change frequently, JavaScript alone did not answer the above criteria. Based on these guidelines and considerations, we came to the conclusion that AngularJS is the best-fit technology for the Primo Open Discovery Framework.

We created ID elements (which we call “prm-after”) that are actually placeholders that enable library developers to add or override existing client-side components without concern that their customizations will be affected by upgrades.

We also designed a Primo Development Environment so that libraries would be able to develop customizations in a virtual sandbox, while using the same tools that Primo developers do. Using a proxy, in-house library developers can see their customizations running in any environment they choose, testing their enhancements without exposing changes to users or collaborators until they are ready to do so.

A Design Tailored for Effective Collaboration

With the standalone Primo Development Package and the Primo Client design, customers can track their customizations of specific elements within the Open Discovery Framework. They can then choose to share the entire set of customizations or just specific features.

This flexible sharing mechanism facilitates more effective development collaboration among libraries, as well as faster development iterations.

Consortium administrators, responsible for centralized oversight of multiple libraries, can use the Primo Development Package to create a common version of Primo, while allowing each library to make its own changes and customizations.

The Primo Open Discovery Framework Design Approach

In our next discussion, we will take a look at a few interesting examples of how members of the Primo community have already leveraged the Primo Open Discovery Framework to create novel features, which they have shared via GitHub.

Click here to download “Driving Innovation through Collaboration,” our full paper on the Primo Open Discovery Framework.

 

Get
Started