Note |
---|
This addon has been replaced by the Aeon Alma Primo Definitive Catalog Addon. Please visit the Alma Primo Definitive Catalog addon’s directory page to download and install the new addon. |
Name | Alma Primo Catalog Addon |
---|---|
Version | 1.5. |
4 | |
Author | Atlas Systems, Inc. |
---|---|
Description | A catalog addon designed for libraries that utilize the Alma ILS and Primo as the discovery layer. |
Custom Fields Support | No |
Info | ||
---|---|---|
| ||
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 https://github.com/AtlasSystems/AlmaPrimoCatalogAddon and creating a pull request. |
Download
Panel |
---|
Note |
This addon has been replaced by the Aeon Alma Primo Definitive Catalog Addon. Please visit the Alma Primo Definitive Catalog addon’s directory page to download and install the new addon. |
Configuration
Addon settings are configured in the Manage Addons form.
Setting | Default | Type | Description |
---|---|---|---|
Catalog URL | String | The base URL that the query strings are appended to. The Catalog URL structure is "{URL of the catalog}/primo-explore/". | |
Home URL | String | Home page of the catalog. The Home URL structure is "{URL of the catalog}/primo-explore/search?vid={4 Digit Primo Code}". | |
Remove Trailing Special Characters | True | Boolean | Defines whether to remove trailing special characters on import or not. The included special characters are "\/+,.;:-=. " |
Search Priority List | 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. |
Auto Retrieve Items | 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. |
Alma API URL | String | The URL to the Alma API | |
Alma API Key | String | API key used for interacting with the Alma API | |
Primo Site Code | String | The 4 digit code that identifies the site in Primo Deep Links. It is the code that follows the "vid=" in the Primo-Explorer URL. |
Data Mappings
...
Id Pattern Prefix | String | The prefix identifying IE or MMS IDs. To find this, open a catalog record and copy the characters between "docid=" and the ID in the URL. If you are seeing records not visibile in the catalog in the grid, try replacing underscores with a space. |
Data Mappings
Below are the default configurations for the catalog addon. The mappings within DataMappings.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.
Warning | ||
---|---|---|
| ||
Be sure to backup the |
Search Types
Default Configuration
Search Type | Query String |
---|---|
DataMapping.SearchTypes["Title"] | title |
DataMapping.SearchTypes["Author"] | creator |
DataMapping.SearchTypes["Call Number"] | lsr01 |
DataMapping.SearchTypes["Subject"] | sub |
DataMapping.SearchTypes["ISBN"] | isbn |
DataMapping.SearchTypes["ISSN"] | issn |
DataMapping.SearchTypes["Catalog Number"] | any |
Info | ||
---|---|---|
| ||
The Catalog Number search type performs an any search because Primo does not have a search type for MMS ID. |
...
The field that the addon reads from to perform the search.
Aeon
Default Configuration
Field | Source Table | Source Field |
---|---|---|
DataMapping.SourceFields["Aeon"]["Title"] | Transaction | ItemTitle |
DataMapping.SourceFields["Aeon"]["Author"] | Transaction | ItemAuthor |
DataMapping.SourceFields["Aeon"]["Call Number"] | Transaction | CallNumber |
DataMapping.SourceFields["Aeon"]["Catalog Number"] | Transaction | ReferenceNumber |
DataMapping.SourceFields["Aeon"]["Barcode"] | Transaction | ItemNumber |
DataMapping.SourceFields["Aeon"]["TransactionNumber"] | Transaction | TransactionNumber |
Bibliographic Import
The information within this data mapping is used to perform the bibliographic api call. The Field
is the product field that the data will be imported into, MaxSize
is the maximum character size the data going into the product field can be, and Value
is the xPath query to the information.
Info | ||
---|---|---|
| ||
One may specify multiple xPath queries for a single field by separating them with a comma. The addon will try each xPath query and returns the first successful one. Example: An author can be inside of //datafield[@tag='100']/subfield[@code='a'] |//datafield[@tag='100']/subfield[@code='b'],
|
Item Import
The information within this data mapping is used import the correct information from the items grid. The Field
is the product field that the data will be imported into, MaxSize
is the maximum character size the data going into the product field can be, and Value
is the FieldName of the column within the item grid.
...
Info |
---|
The Aeon field that the information from Alma is imported into can be modified by changing the Field value for that field's entry in the DataMapping file, however, the Alma field used to perform the import cannot be modified. |
Product Field | Value | Alma API XML Node | Description |
---|---|---|---|
ReferenceNumber | ReferenceNumber | mms_id | The catalog identifier for the record (MMS ID) |
CallNumber | CallNumber | call_number | The item's call number |
Location | Location | location | The location of the item |
Library | Library | library | The library where the item is held |
ItemNumber | Barcode | barcode | The item's barcode |
Info | ||
---|---|---|
| ||
The Holding ID and Item Description can also be imported by adding another table with a value additional tables to the Item Import section of the DataMapping file with Value values of HoldingId and Description, however, it is not possible to add any additional Alma fields to the DataMapping file for the addon to import. |
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.
Info | ||
---|---|---|
| ||
CustomizedMapping.Locations["{Location Code }"] = "{Full Location Name}" |
FAQ
How to add or change what information is displayed in the item grid?
There's more item information gathered than what is displayed in the item grid. If you wish to display or hide additional columns on the item grid, find the comment -- Item Grid Column Settings
within the BuildItemGrid()
function in the Catalog.lua file and change the gridColumn.Visible
variable of the column you wish to modify.
How to modify what bibliographic information is imported?
...
Finally, open Catalog.lua and find the commend that says "-- Search Functions". Copy one of the search functions and paste it at the end of the search functions. Change the function's name to follow this formula; "Search{SearchTypeName}" (Note: remove any spaces from the Search Type Name, but keep casing the same). Within the PerformSearch method call, change the second parameter to be the Search Type Name (unmodified).
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 API calls against the Alma API |
Utility.lua | The Utility file is used for common lua functions |
Regex.lua | Imports .NET's RegEx into lua |
WebClient.lua | Used for making web client requests. |