Developer
Tamara Marnell, Orbis Cascade Alliance
Description
Add an action to brief and full Primo records to text the location(s) and call number(s) of a physical title to a phone number.
System Components
Alma Discovery Configure Views
Skillset Requirements
Alma Discovery Configure Views, JS, and CSS
Accessibility
Not tested for accessibility.
Browser Support
Tested on Chrome, Firefox, and Edge.
Mobile Support
Tested on Android phones.
Implementation
Overview
- Declare the ‘smsAction’ module in your custom.js file.
- Add the sms-action element to prmActionListAfter.
- Configure options and styles.
Steps
- Turn on inheritance from the Central Package.
- In your local package, in the custom.js file, include the modules ‘customActions’ and ‘smsAction’ in your app definition. For example:
var app = angular.module('viewCustom', ['customActions', 'smsAction']);
- Also in the custom.js file, add the following line of code within the anonymous function (that is, before the closing brackets at the end of the file):
app.component('prmActionListAfter', { template: '<sms-action></sms-action>' });
If you have other custom actions targeting the prmActionListAfter component, instead add the sms-action element to your existing module or template. For example:angular
.module('myActions', [])
.component('prmActionListAfter', {
controller: function controller($scope) {
// Functions for my custom actions here
},
template: '<custom-action [etc.]></custom-action><sms-action></sms-action>'
});
- If you want to customize the display of the action, add the following block of code within the anonymous function and edit the values.
app.value('smsActionOptions', {
label: "Text Call Number",
index: 0,
icon: {
icon: 'ic_textsms_24px',
iconSet: 'communication',
type: 'svg'
},
libraries: '[LIBRARY CODE]: [LIBRARY NAME], [etc.]'
});
For “label,” set the text that appears on the new action in the Send To section of a full record. The default is “Text Call Number.”
For “index,” set the position of the custom action in relation to other actions on Primo records. The default is 0, the leftmost position.
For “icon,” you can select any icon from the Material Design library. For example, the smartphone icon is in the Hardware group of the page, so the icon definition would be:icon: {
icon: 'ic_smartphone_24px',
iconSet: 'hardware',
type: 'svg'
}
In “libraries,” you can define names to add in front of locations and call numbers. Configure this by using pairs of the library’s code in Alma and the name you want to display, separated by commas. For example:libraries: 'cocc: Barber Library, redmond: Redmond Campus'
This will add “Barber Library” to the front of locations within the main library with code “cocc,” and “Redmond Campus” in front of locations in the branch library with the code “redmond.”
You can find the codes for your institution in Alma under Configuration > General > Libraries > Add a Library or Edit Library Information. If you don’t want any library names included, remove the “libraries” line from the options. - Style the Text a Call Number form in your custom1.css file. Here are suggested rulesets:
#smsForm md-input-container {
display: flex;
}
#smsLinkContainer input,
#smsLinkContainer label {
vertical-align: middle;
}
#smsError {
display: none;
background-color: #ffffcc;
padding: .5rem .5rem 0.17rem .5rem;
margin: 0 0 1rem 0;
}
#smsItemInfo {
max-width: 400px;
white-space: pre-wrap;
}
- Zip and upload your package in Alma Discovery. Save your view.
Troubleshooting
PCSG is unable to resolve issues with specific cell phone carriers, so we cannot guarantee that texts will always go through. If your patrons are unable to receive text messages, they can use Primo’s QR code (if turned on) or take a screenshot of the record.