ILLiad Alma Primo Definitive Catalog Addon (WebView2 & Chromium)
This addon will use the WebView2 browser in ILLiad. v9.2.5+, and the Chromium browser otherwise.
Name | Alma Primo Definitive Catalog Addon |
---|---|
Version | 1.2.2 |
Author | Atlas Systems, Inc. |
Description | Catalog Search and Import Addon that uses Alma as the catalog and Primo or Primo VE as the discovery layer. |
Custom Fields Support | No |
Download
The addon is developed to support Alma Catalogs that use Primo or Primo VE as its discovery layer in Aeon, Ares, and ILLiad.
This addon is available for developers to modify and extend. Developers are encouraged to submit changes to this addon by forking the git repository from GitHub and creating a pull request.
Release Notes
Release notes are available for Alma Primo Definitive Catalog Addon v1.0.2 and later. Note that v1.1.0 is the initial release of the addon for use with ILLiad.
v1.2.1:
Added support for XPath expressions containing commas when configuring bibliographic import fields in DataMapping.lua. In support of this change, the default XPath expression used in DataMapping.lua to perform the bibliographic import for the Author fields was updated from multiple expressions using commas to a single “or” expression.
v1.2.0:
Added support for use with Ares. The DataMapping.lua addon file has been modified to specify which data mapping settings are used with Ares installations. See the Data Mapping section below for more information on this file.
v1.1.0:
Added support for use with ILLiad. The DataMapping.lua addon file has been modified to specify which data mapping settings are used with Aeon installations vs. ILLiad installations. See the Data Mapping section below for more information on this file.
v1.0.2:
Replaced the addon's page watcher and page handler with a functionally equivalent .NET timer that runs the page handler function on a three-second interval to mitigate potential issues with the prior functionality.
Configuration
Addon settings are configured in the Manage Addons form.
Setting | Default | Type | Description |
---|---|---|---|
CatalogURL |
| String | The base URL that the query strings are appended to. The Catalog URL structure is |
HomeURL |
|
| The Home URL structure is |
AutoSearch | True | Boolean | Defines whether the search should be automatically performed when the form opens. |
RemoveTrailingSpecialCharacters | True | Boolean | Defines whether to remove trailing special characters on import or not. The included special characters are " Examples: |
AvailableSearchTypes | Title, Author | String | The types of searches your catalog supports. The types in this list must each have a corresponding entry configured in DataMapping.SearchTypes. |
SearchPriorityList | Title, Author | String | The fields that should be searched on, in order of search priority. Each field in the string will be checked for a valid corresponding search value in the request, and the first search type with a valid corresponding value will be used. Each search type must be separated by a comma. Each search type must have a corresponding value in the AvailableSearchTypes setting and configured in DataMapping.SearchTypes. |
AutoRetrieveItems | True | Boolean | Defines whether or not the addon should automatically retrieve items related to a record being viewed. Disabling this setting can save the site on Alma API calls because it will only make a Retrieve Holdings List call when the button is pressed. |
AlmaAPIURL |
| String | The URL to the Alma API. The API URL is generally the same between sites. (ex. |
AlmaAPIKey |
| String | API key used for interacting with the Alma API. |
PrimoSiteCode |
| String | The code that identifies the site in Primo Deep Links. Ex: vid={PrimoSiteCode}. |
IdSuffix |
| String | The last four digits of MMS IDs and IE IDs for your institution. This setting is required and should not be left blank. |
Buttons
Back | Navigate back one page. |
Forward | Navigate forward one page. |
Stop | Stop loading the page. |
Refresh | Refresh the page. |
New Search | Goes to the home page of the catalog. |
Search Buttons | Performs the specified search on the catalog using the contents of the specified field. |
Retrieve Items | Retrieves the holding records for that item.
|
Import | Imports the selected record in the items grid. |
Data Mapping
The mappings within DataMapping.lua
are settings that typically do not have to be modified from site to site. However, these data mappings can be changed to customize the fields, search queries, and xPath queries to the data. Instructions for modifying each section of the DataMapping.lua
file can be found in comments above the section in the file itself.
Caution: Be sure to backup the
DataMapping.lua
file before making modifications Incorrectly configured mappings may cause the addon to stop functioning correctly.
Customized Mapping
The CustomizedMapping.lua
file contains the mappings to variables that are more site specific.
Location Mapping
Maps an item's location code to a full name. If a location mapping isn't given, the addon will display the location code. The location code is taken from the location
node returned by a Retrieve Items List API call.
CustomizedMapping.Locations["{Location Code }"] = "{Full Location Name}"
Developers
The addon is developed to support Alma Catalogs that use PrimoVE as its discovery layer in Aeon, Ares, and ILLiad.
Atlas welcomes developers to extend the addon with additional support. All pull requests will be merged and posted to the addon directories.
Addon Files
Config.xml - The addon configuration file.
DataMapping.lua - The data mapping file contains mappings for the items that do not typically change from site to site.
CustomizedMapping.lua - The a data mapping file that contains settings that are more site specific and likely to change (e.g. location codes).
Catalog.lua - The Catalog.lua is the main file for the addon. It contains the main business logic for importing the data from the Alma API into the Atlas Product.
AlmaApi.lua - The AlmaApi file is used to make the API calls against the Alma API.
Utility.lua - The Utility file is used for common lua functions.
WebClient.lua - Used for making web client requests.
CatalogLayout_Browse_Chromium.xml - Used to load the browse layout (when the item grid is not visible) in the Chromium browser.
CatalogLayout_Browse_WebView2.xml - Used to load the browse layout (when the item grid is not visible) in the WebView2 browser.
CatalogLayout_Import_Chromium.xml - Used to load the import layout (when the item grid is visible) in the Chromium browser.
CatalogLayout_Import_WebView2.xml - Used to load the import layout (when the item grid is visible) in the WebView2 browser.
OnFormClosing.elf - Used to ensure the page watcher timer is stopped upon closing the request form. This file is encrypted and not available to modify.