RB0001: Agency code not showing against copies in discovery
also: RB0002: Agency not appearing in dropdown for user login.
When: RTAC shows up copies but the agency is not properly listed against the copy, the copy will not be able to participate in resource sharing.
When: Agency is not listed in the options for patron login in discovery
Discovery scaffold when records are found for a known host LMS but location mapping codes are not present (And in this case, agency records are not present).
Corresponding effect in locate (Note holdings line 2):
If either of the above 2 screenshots match the issue then
Task : reconcile host lms, agency and mappings.
The System code + location code paring need to be present in the canonical location codes mapping table. For example in the above mappings from context:STLOUIS, domain:locations, value:42 to context:DCB, domain:agency: value: 6slou was absent
Currently, the canonical location codes are held in a google sheet - that sheet is reference in read-only mode in the first code snippet below
If not present, the appropriate codes need to be re-added and then the mapping table re-uploaded.
The following script can be used to re-post the updated mappings
#!/bin/bash
TARGET="<https://your-dbc.somecons.com>"
echo Logging in
TOKEN=./login
echo Posting consolidated location mappings
curl -X POST $TARGET/admin/cfg -H "Accept-Language: en" -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" -d '{
"profile":"referenceValueMappingImport",
"url":"<https://docs.google.com/spreadsheets/d/e/2PACX-1vTbJ3CgU6WYT4t5njNZPYHS8xjhjD8mevHVJK2oUWe5Zqwuwm_fbvv58hypPgDjXKlbr9G-8gVJz4zt/pub?gid=480381709&single=true&>
output=tsv"
}'
It’s also important to check that the System code is properly defined - supposing that HOGWARTS is a stand-alone sierra library ensure that a hostlmss resource exists that describe that system
echo Ensure HOG
curl -X POST $TARGET/hostlmss -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" -d '{
"id":"'uuidgen --sha1 -n $HOSTLMS_NS_UUID --name HOGWARTS'",
"code":"HOGWARTS",
"name":"Hogwarts",
"lmsClientClass": "org.olf.dcb.core.interaction.sierra.SierraLmsClient",
"clientConfig": {
"base-url": "<https://hogwarts.edu/library> ",
"key": "somekey",
"page-size": "100",
"secret": "somesecret",
"ingest": "true"
}
}'
This will ensure that the system understands the system, and any location codes that are found coming from that system.
Finally, Agencies can only be shown if they are present - check that your agency record is present
look in the agencies table in psql
use the /agencies endpoint
use the graphql endpoint
use the admin app agencies
If not present, post the agency record to the /agencies endpoint
echo "Posting without URL"
curl -X POST "$TARGET/agencies" -H "Content-Type: application/json" -H "Authorization: Bearer $TOKEN" -d "{
\\"id\\":\\"$AGENCY_UUID\\",
\\"code\\":\\"$CODE\\",
\\"name\\":\\"$NAME\\",
\\"hostLMSCode\\": \\"$LMS\\",
\\"authProfile\\": \\"$PROFILE\\"
}"
Important note: Agencies WILL NOT load unless the hostLMSCode can be resolved to a system validated under step 3. POST to /agencies will 404 if the code cannot be resolved. Sometimes bulk agency loads happen before all systems are declared and this can be a cause of missing agency records.
After the above steps
and
Operated as a Community Resource by the Open Library Foundation