Synchronizace uživatelů z externího zdroje - best practices

Naposledy změněno Martin Mahr 2024/10/21 22:21

Doporučujeme následující praktiky synchronizace uživatelů z externího zdroje do Tritia. Tato doporučení vznikla na základě zkušeností s reálnými problémy a jejich uplatněním se vyhnete mnohým problémům, které je zbytečné opakovat.

Externím zdrojem je myšlena externí databáze uživatelů, kterou spravuje provozovatel knihovního systému - např. LDAP, univerzitní systém, ekonomický systém organizace, ...

Obecná doporučení:

  • Je třeba vhodně vybrat párovací údaj, přes který se bude jednoznačně párovat uživatel v Tritiu s uživatelem z externího zdroje. Za nejvhodnější považujeme využít uživatelské jméno, případně položku externí id uživatele Tritia.
  • Synchronizace uživatelů se provádí pravidelně (1x denně v noci) jednosměrně z externího zdroje do Tritia - tzn. počítá se s tím, že uživatel už bude v Tritiu existovat a může omezeně využívat její služby po přihlášení, i když v knihovně ještě nebyl.
  • Synchronizace zahrnuje čtenáře i obsluhu knihovny. Nicméně přidělování práv pro obluhu je snadnější zařídit ručně v Tritiu.
  • Pravidla pro archivaci uživatelů či jejich opětovné vytažení z archviu mohou být velmi individuální a je třeba pečlivě zvážit pro každý provoz.

Postup synchronizace:

  1. Zjistit seznam všech uživatelů z externího zdroje (zjištěná data se logují pro případné hledání chyb).
    1. Uživatelé, kteří nemají vyplněný párovací údaj, jsou vyřazeni ze seznamu pro další synchronizaci.
    2. Seznam uživatelů musí vracet více než 0 výsledků, jinak se předpokládá chyba synchronizace a je lepší ji ukončit.
  2. Volitelně: Archivovat uživatele (pravidla jsou individuální, například ty, kteří byli dříve z externího zdroje přeneseni a nyní již v něm neexistují)
    1. Uživatelská jména archivovaných uživatelů jsou změněna, aby byla uvolněna pro recyklaci, je-li to třeba (doporučený formát archivovaného uživatelského jména = "ARCHIVE_<TRITIUS_USER_ID>").
    2. Tento krok je třeba provádět před vlastní synchronizací, aby se případně uvolnila pro nové uživatele uživatelská jména uživatelů, kteří jsou archivováni.
  3. Seznam uživatelů z externího zdroje se prochází a provádí se synchronizace s Tritiem, přesněji pro každého uživatele:
    1. Hledá se uživatel v Tritiu podle párovacího údaje
      1. Pokud není nalezen (neexistuje) - kontroluje se existence jiného uživatele se stejným uživatelským jménem
        1. Uživatelské jméno již existuje - zaloguje se chyba, záznam není vytvořen (chybový stav, duplicitní uživatelé)
        2. Uživatelské jméno neexistuje - je vytvořen nový uživatel (viz Vytvoření nového uživatele)
      2. Pokud je nalezen (existuje) - kontroluje se ještě shoda datum narození záznamů z obou systémů (pojistka proti špatnému párování uživatelů, předpokládá se, že by mělo sedět v obou systémech)
        1. Datum narození je různé - zaloguje se chyba, záznam není aktualizován
        2. Datum narození je shodné - provede se aktualizace uživatele (viz Aktualizace existujícího uživatele)
          1. Volitelně: Pokud je uživatel archivován, je automaticky vytažen z archivu zpět na výchozí oddělení knihovny (opět záleží na konkrétních potřebách knihovny, uživatelé z archivu nemusejí být vytahování).

Vytvoření nového uživatele

Při vytváření nového uživatele dopuručujeme přenášet:

  • párovací údaj (pokud to není přihlašovací jméno) jako External ID,
  • přihlašovací jméno,
  • jméno a příjmení,
  • kontaktní adresa - ulice, město, psč, stát,
  • trvalá adresa - ulice, město, psč, stát,
  • telefon, email.

Jako čtenářské číslo - přiřadit další v pořadí.

Jako uživatelovu výchozí uživatelská skupinu i výchozí čtenářskou skupinu - nastavit výchozí čtenářskou skupinu v systému.

Jako výchozí oddělení uživatele - nastavit vybrané oddělení v knihovně, které není typu archiv.

Aktualizace existujícího uživatele

Při aktualizaci se aktualizují všechny údaje jako při vytváření nového uživatele.

Adresu doporučujeme aktualizovat jen pokud je v externím systému neprázdná (pokud ji někdo v Tritiu vyplní), aby se nepřepsala z externího systému prázdnou hodnotou.

Zvážit aktualizaci položek telefon a email - pokud jej knihovnice v Tritiu aktivně opravují, může být výhodné aktualizovat jen pokud je v Tritiu stále nevyplněný (a preferovat tedy hodnotu v Tritiu).