Gå til indhold

CULR

CULR giver et samlet overblik over, hvilke biblioteker en bruger har adgang til.

Senest opdateret: 15. september 2025

Hvad er CULR?

CULR er et system, der samler brugere på tværs af bibliotekssystemer, således at andre systemer med en enkelt forespørgsel kan få et overblik over alle lånerens adgange til bibliotekerne.

En bruger er i CULR repræsenteret ved en eller flere accounts (konti) som er samlet under en patron (låner).

Låneren har i CULR et tilknyttet globalt, unikt bruger-ID (GUID), som repræsenterer alle konti under låneren. Det betyder, at en bruger entydigt kan identificeres med et ID (GUID), som ikke er CPR eller anden følsom data.

Alle brugerne får ved oprettelse et GUID. Hvis en bruger knyttes til en allerede eksisterende account, bruges dennes GUID. Hvis brugeren ved oprettelse har et CPR-nummer, så vil GUID blive persistent og brugeren beholder GUID selv efter sletning og genoprettelse. Hvis en bruger oprettes med et lokalt ID, for eksempel lånerkortnummer, vil GUID’en ikke blive gemt efter en sletning.

CULR står for Core User Library Registry.

Information om CULR-webservicen kan findes på https://dbcdk.github.io/Culrservice

Kom i gang med at bruge CULR

Biblioteker har mulighed for synkronisere brugerdata med CULR. Kontakt DBC DIGITALs kundeservice for at lave en aftale om dette. I den forbindelse oprettes en databehandleraftale samt de nødvendige adgange oprettes.

Det enkelte bibliotek kan selv tilgå egne brugerdata i CULR. Den typiske metode er dog, at bibliotekssystemleverandørens adgang anvendes, når data skal synkroniseres.

Henvendelsen skal indeholde følgende oplysninger om systemleverandør:

  • Biblioteksnummer (AgencyId) for systemleverandør.

  • Navn på kontaktperson.

  • Email på kontaktperson.

Derudover skal det fremgå, hvilke biblioteker (agencies), som leverandøren kan agere på vegne af.

Hvordan kommer data i CULR?

For at komme i gang med at synkronisere med CULR, skal bibliotekets systemleverandører starte med at lave en engangssynkronisering, som opretter alle brugere som accounts i CULR.

Hvis en account har et CPR-nummer, som i forvejen er oprettet hos et andet bibliotek, knyttes de to accounts sammen under den fælles patron med det eksisterende GUID.

Når data er oprettet i forbindelse med den første synkronisering, skal leverandøren sørge for at holde data synkroniserede. Nyoprettede eller slettede brugere, eller ændringer i en brugers kommunenummer, skal sendes som ændringer til CULR.

Brug af testsystem

Før en leverandør begynder at bruge produktionssystemet, skal førstegangssynkroniseringen, samt den løbende synkronisering af data, testes mod DBC DIGITALs CULR-testsystem.

Testsystemet har følgende endpoint: https://culrstaging.addi.dk/1.7/CulrWebService?wsdl

Adgang til at benytte testsystemet, kræver de samme aftaler som til produktion.

Start synkronisering af brugere

For at synkronisere skal leverandører for hver bruger, der findes i bibliotekssystemet, kalde createAccount i CULR.

Det er vigtigt at give besked til DBC, inden synkronisering af driftssystemet startes. Tidspunkt aftales ved at kontakte DBC DIGITALs kundeservice.

Eksempel på createAccount
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.culrservice.dbc.dk/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:createAccount>
         <agencyId>721900</agencyId>
         <userCredentials>
            <userIdType>LOCAL</userIdType>
            <userIdValue>111111111111</userIdValue>
         </userCredentials>
         <authCredentials>
            <userIdAut><brugernavn her></userIdAut>
            <groupIdAut><biblioteksnummer her></groupIdAut>
            <passwordAut><password her></passwordAut>
         </authCredentials>
         <globalUID>
            <uidType>CPR</uidType>
            <uidValue>2222222222</uidValue>
         </globalUID>
         <municipalityNo>219</municipalityNo>
      </ws:createAccount>
   </soapenv:Body>
</soapenv:Envelope>

Hvis en bruger allerede findes, returneres svaret account already exists.

Hvis oprettelsen går igennem returneres følgende svar:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:getAccountsByLocalIdResponse xmlns:ns2="http://ws.culrservice.dbc.dk/">
         <result>
            <Account>
               <provider>721900</provider>
               <userIdType>LOCAL</userIdType>
               <userIdValue>1111111111</userIdValue>
            </Account>
            <Guid>8g1f1034-40g7-4219-t337-bz14d739329t</Guid>
            <responseStatus>
               <responseCode>OK200</responseCode>
            </responseStatus>
         </result>
      </ns2:getAccountsByLocalIdResponse>
   </S:Body>
</S:Envelope>

Herefter er det muligt at sende en forespørgsel, der tjekker om brugeren er oprettet i CULR:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.culrservice.dbc.dk/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:hasCulrAccount>
         <guid>8g1f1034-40g7-4219-t337-bz14d739329t</guid>
         <authCredentials>
            <userIdAut><brugernavn her></userIdAut>
            <groupIdAut><biblioteksnummer her></groupIdAut>
            <passwordAut><password her></passwordAut>
         </authCredentials>
      </ws:hasCulrAccount>
   </soapenv:Body>
</soapenv:Envelope>

Svar på forespørgsel, hvis bruger findes:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
   <S:Body>
      <ns2:hasCulrAccountResponse xmlns:ns2="http://ws.culrservice.dbc.dk/">
         <return>
            <hasCulrAccount>true</hasCulrAccount>
            <responseStatus>
               <responseCode>OK200</responseCode>
            </responseStatus>
         </return>
      </ns2:hasCulrAccountResponse>
   </S:Body>
</S:Envelope>

Løbende synkronisering af brugere

For at holde indholdet i CULR synkroniseret med det lokale system, skal der ved oprettelse af nye brugere også kaldes en createAccount-forespørgsel.

Når en bruger slettes, skal deleteAccount benyttes.

Eksempel på deleteAccount
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.culrservice.dbc.dk/">
   <soapenv:Header/>
   <soapenv:Body>
      <ws:deleteAccount>
         <agencyId>721900</agencyId>
         <userCredentials>
            <userIdType>LOCAL</userIdType>
            <userIdValue>1111111111</userIdValue>
         </userCredentials>
         <authCredentials>
            <userIdAut><brugernavn her></userIdAut>
            <groupIdAut><biblioteksnummer her></groupIdAut>
            <passwordAut><password her></passwordAut>
         </authCredentials>
      </ws:deleteAccount>
   </soapenv:Body>
</soapenv:Envelope>