Ready to Learn?Ex Libris products all provide open APIs

Third Party changes in Primo Releases

Primo August 2017 Release changelog


  • "angular": "1.6.3"  previous: 1.6.1

            "angular-animate": "1.6.3" previous: 1.6.1

           "angular-aria": "1.6.3" previous: 1.6.1

           "angular-i18n": "1.6.3" previous: 1.6.1

           "angular-messages": "1.6.3" previous: 1.6.1

           "angular-cookies": "1.6.3" previous: 1.6.1

  • "angular-jwt": "0.1.9" previous: 0.1.8
  •  "angular-translate": "2.15.1" previous: 2.13.1
             "angular-translate-loader-url": "2.15.1" previous: 2.13.1


  • "moment": "2.18.1" previous: 2.17.1



Primo November 2017 Release changelog


  • Added :
    • angular-deckgrid: "0.5.0"
  • Changed:

    The directive 'prm-journals-search-bar' was renamed: 'prm-atoz-search-bar' as part of the generalization of the a-z component.


    • css:   all selectors using the prm-journals-search-bar must be changed to use prm-atoz-search-bar. for example:
      primo-explore  prm-journals-search-bar span{color:red;}

      should change to :

      primo-explore  prm-atoz-search-bar span{color:red;}

    • JavaScript:

      directives defined to implement the prmJournalsSearchBarAfter should change to implement the prmAtozSearchBarAfter directive.
    app.component('prmJournalsSearchBarAfter', {
        bindings: {parentCtrl: '<'},
        template: 'my html'

    should change to:
    app.component('prmAtozSearchBarAfter ', {
        bindings: {parentCtrl: '<'},
        template: 'my html'



  • Performance change:
    • The delivery section is now returned as a separate rest API, this might have an effect if:
      • in your html template you used one time binding to the delivery section of an item like this:

                                                  <div ng-if"::$">My HTML</div>

                                    to avoid problems, remove the one time binding(::) , ensuring the code will render once the delivery section is returned from the API



Primo February 2018 Release changelog


  • "RxJS": Removed unused modules.
  • "Moment.js": Removed unused date formats and locales.
  • "bundle.js" package started the process of splitting the application to several bundle files.
  • Changed bundling mechanism to webpack - causes glitches on sourcemap creation - will be handled.
  • Refactoring the prm-opac component(directive) and it's child components to allow multiple occurrences of the prm-opac component. 
    This will allow developers to customize the opac services and using the directive multiple times on the same angular app.
    To do so we have removed properties from the various services and refactored them to input attributes of the various directives.

    See the usage in the example below, where you can see ng-repeat ( ng-repeat="itemE in $ctrl.getItems()")is used to split the multiple locations to multiple Get it components via the Open Discovery Framework:
                     <prm-opac ng-if="($ctrl.parentCtrl.service.serviceName==='ovp' || $ctrl.parentCtrl.service.serviceName==='ovl')" class="expanded-location" ng-repeat="itemE in $ctrl.getItems()"

                                        [item]="itemE" [service-mode]="::$ctrl.parentCtrl.service.serviceName"></prm-opac>