Task
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. Things to check
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):
The System code + location code paring need to be present in the canonical location codes mapping table.
Currently, the canonical location codes are held in a google sheet -
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 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