Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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.

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.

  1. 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

    1. 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

  2. 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"
}'
  1. 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.

  1. Finally, Agencies can only be shown if they are present - check that your agency record is present

    1. look in the agencies table in psql

    2. use the /agencies endpoint

    3. use the graphql endpoint

    4. 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\\"
  }"

(warning) 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

  • No labels