UQ Library is a Hosted Multi-Tenant Customer of Ex Libris (the alternative is to be an On-Premises Customer).
Primo is managed by the Library's "Discovery and Access Coordinator", referred to below as DAC. This is currently Stacey van Groll.
There are 6 basic environments:
Primo Environment Name | Primo Url | Git Branch Name | Notes |
---|---|---|---|
prod | search.library.uq.edu.au (ie vid=61UQ) | production |
live, public primo |
prod-appdev | search.library.uq.edu.au (ie vid=61UQ_APPDEV) | primo-prod-dev |
development on the live server |
prod-dac | search.library.uq.edu.au (ie vid=61UQ_DAC) | (uses prod) | DAC's personal area. Keep it up to date with the others - deploy prod-appdev changes here |
prod-otb | search.library.uq.edu.au (ie vid=61UQ_DEV_LOGIN) | - | Blue out of the box primo in the prod environment - it would be very unusual for us to make changes to this |
sandbox | uq-edu-primo-sb.hosted.exlibrisgroup.com (ie vid=61UQ) | primo-sandbox |
sandbox area |
sandbox-appdev | uq-edu-primo-sb.hosted.exlibrisgroup.com (ie vid=61UQ_APPDEV) | primo-sandbox-dev |
sandbox dev area |
sandbox-dac | uq-edu-primo-sb.hosted.exlibrisgroup.com (ie vid=61UQ_DAC) | (uses primo-sandbox) | DAC's personal area. Keep it up to date with the others - deploy sandbox-dev changes here |
sandbox-otb | uq-edu-primo-sb.hosted.exlibrisgroup.com (ie vid=61UQ_DEV_LOGIN) | - | sandbox out of the box - it would be very unusual for us to make changes to this |
The branch is set in view_package/js/custom.js (down the bottom, look for insertScript
)
Primo UI is in active development. All releases are scheduled by Ex Libris and are available in Primo Sand Box a couple of weeks before going to production.
(note: environment 61UQ_APPDEV used to be known as 61UQ_DEV. if you find any remaining refs to 61UQ_DEV, it's just an oversight that should be corrected.)
Styling of primo pages is in the reusable repo at uqlibrary/reusable-webcomponents - see the src/applications/primo folder
- Customisation package
view_package/*
- readme
Styling of the Primo GetIt iframe, via the Alma mashup, is maintained in this repo. See below.
DAC sometimes asks for different changes in different environments (see table, above) so AGDA (Action Group on Discovery and Access) can compare the differences. For example she may want Change A in primo-sandbox-dev and Change B in primo-prod-dev.
You might change the package that gets uploaded to Primo if it is angular changes (this repo) or you might change the js & css that is called from assets.library.uq.edu.au (repo reusable-webcomponents), or both.
Here is a workflow that covers both of these:
- Start by making sure the branch you are altering is up to date:
- Merge master into the branch eg
primo-sandbox-dev
- Merge master into the branch eg
- Do development:
- Make changes
- Upload package to back office if an angular change
- You can run
npm run viewzip <viewname>
where<viewname>
is61UQ
,61UQ_APPDEV
or61UQ_DAC
to create the zipfile
- You can run
- Eventually, get acceptance from DAC that she wants it live - now you need to put any changes to the primo package in the 3 other environments, so they all match
- For each of the 3 other branches (where there is a change to the primo package):
- Merge in, preferably from master
- Recommit
- if angular changes involved, Zip and Upload the package
- Commit & Push (to store an angular change)
Branch summary:
- branch primo-sandbox, deploy to
- sandbox 61UQ
- sandbox 61UQ_DAC
- sandbox 61UQ_CANARY
- branch primo-sandbox-dev, deploy to
- sandbox 61UQ_APPDEV
- branch primo-prod-dev, deploy to
- prod 61UQ_APPDEV
- branch production, deploy to
- prod 61UQ
- prod 61UQ_DAC
so merge your change to each branch, push, the build the zip and deploy
See the alma readme
-
To make a link that forces login, prepend the link with:
https://search.library.uq.edu.au/primo-explore/login?vid=61UQ&targetURL=...
e.g.: Link to Saved Items
-
This repo may be useful if we ever have to get into the depths of Primo Angular - it gives access to the sourcemaps of Primo Angular code.