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
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.
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.