Uživatelské nástroje

Nástroje pro tento web


doplnky:sip2_server

SIP2 server Evergreenu

Aktuální kód SIP2 serveru SIP se nachází v repozitáři Evergreen git

Instalace SIP serveru

Získání zdrojového kódu SIP2 serveru:

cd /opt
git clone git://git.evergreen-ils.org/SIPServer.git SIPServer

Konfigurace serveru

1. Zadejte následující příkazy z příkazového řádku:

$ sudo su opensrf
$ cd /openils/conf
$ cp oils_sip.xml.example oils_sip.xml 

2. Upravte soubor oils_sip.xml. Změňte komentovanou sekci <server-params> na následující:

<server-params
  min_spare_servers=‚1‘
  max_spare_servers='2'
  min_servers=‚3‘
  max_servers=‚25‘
/>

3. max_servers bude přímo odpovídat počtu povolených SIP klientů. Nastavte počet odpovídajícím způsobem, ale mějte na paměti, že příliš mnoho připojení může vyčerpat paměť. Na serveru s 4 GB RAM/4 CPU (na kterém také může běžet Evergreen) se nedoporučuje překročit 100 připojení SIP klienta.

Nastavení kódování

SIPServer vyhledávání informace o kódování na následujících místech:

  1. Atribut kódování v prvku účtu pro aktuálně aktivní účet SIP.
  2. Prvek kódování, který je podřízeným prvkem prvku instituce aktuálně aktivního účtu SIP.
  3. Prvek kódování, který je podřízeným prvkem prvku implementation_config, který je sám podřízeným prvkem prvku instituce aktuálně aktivního účtu SIP.
  4. Pokud nic z výše uvedenéo není k dispozici, použije se výchozí kódování (ASCII).

Možnost 3 je starší možnost. Doporučujeme změnit konfiguraci tak, aby byl tento prvek přesunut z prvku implementation_config do nadřazeného prvku institution. V ideálním případě by SIPServer v konfiguraci implementace neměl hledat a mělo by být možné tuto kontrolu v budoucnu odstranit.

Datové typy

Nastavení msg64_hold_datatype je podobné nastavení msg64_summary_datatype, ale ovlivňuje rezervace namísto výpůjček. Pokud je nastaveno na čárový kód, budou informace o rezervacích pro požadavky na informace o čtenářích doručeny jako sada čárových kódů exemplářů namísto řetězců názvů titulů. Pomocí čárových kódů mohou SIP klienti SIP nejen získat řetězce názvů pro zobrazení (prostřednictvím požadavků na informace o jednotkách) a také následně vykonat požadavky na akce související s rezervacemi, jako je zrušení rezervace.

Přidání SIP uživatelů

1. Do příkazového řádku zadejte následující příkazy:

  $ sudo su opensrf
  $ cd /openils/conf

2. V sekci <accounts> zadejte přihlašovací údaje klienta SIP. Ujistěte se, že všechny <logins> používají stejný atribut instituce a že instituce je uvedena v <institutions>. Všechny atributy v sekci <login> budou použity SIP klientem.

3. V Evergreenu vytvořte novou skupinu profilů s názvem SIP. Tato skupina by měla být podskupinou Users (Uživatelé), nikoliv Staff (Personál) nebo Patrons (Čtenáři). Nastavte editační oprávnění na group_application.user.sip_client a přidělte skupině následující oprávnění:

COPY_CHECKIN COPY_CHECKOUT

  CREATE_PAYMENT
  RENEW_CIRC
  VIEW_CIRCULATIONS
  VIEW_COPY_CHECKOUT_HISTORY
  VIEW_PERMIT_CHECKOUT
  VIEW_USER
  VIEW_USER_FINES_SUMMARY
  VIEW_USER_TRANSACTIONS
  CANCEL_HOLDS

Alternativně můžete použít použijte SQL:

INSERT INTO permission.grp_tree (name,parent,description,application_perm)
VALUES ('SIP', 1, 'SIP2 Client Systems', 'group_application.user.sip_client');

INSERT INTO
  permission.grp_perm_map (grp, perm, depth, grantable)
SELECT
  g.id, p.id, 0, FALSE
FROM
  permission.grp_tree g,
  permission.perm_list p
WHERE
  g.name = 'SIP' AND
  p.code IN (
    'COPY_CHECKIN',
    'COPY_CHECKOUT',
    'RENEW_CIRC',
    'VIEW_CIRCULATIONS',
    'VIEW_COPY_CHECKOUT_HISTORY',
    'VIEW_PERMIT_CHECKOUT',
    'VIEW_USER',
    'VIEW_USER_FINES_SUMMARY',
    'VIEW_USER_TRANSACTIONS',
    'CANCEL_HOLDS'
  );
  

Kontrola nastavení pomocí SQL:

  SELECT *
  FROM permission.grp_perm_map pgpm
    INNER JOIN permission.perm_list ppl ON pgpm.perm = ppl.id
    INNER JOIN permission.grp_tree pgt ON pgt.id = pgpm.grp
  WHERE pgt.name = ‚SIP‘;

Pro každý účet vytvořený v sekci <login> souboru oils_sip.xml vytvořte uživatele (pomocí editoru uživatelů klienta staff) se stejným uživatelským jménem a heslem a zařaďte tohoto uživatele do skupiny SIP.

Datum vypršení platnosti ovlivní připojení uživatelů SIP, proto si jej raději někde poznamenejte.

Spuštění serveru

Chcete-li spustit server SIP, zadejte do příkazového řádku následující příkazy:

$ sudo su opensrf
$ oils_ctl.sh -a [start|stop|restart]_sip

Chyba formátu data SIP serveru ve verzi 3.13

V současné době se v Evergreenu vyskytuje chyba formátu data, která může ovlivnit fungování rezervačního boxu. Při žádosti o informace o jednotce (žádost 17 v terminologii protokolu SIP), je vrácena odpověď 18, ta však obsahuje hodnotu pole CM (datum vyzvednutí) ve formátu RRRRMMDD, který neodpovídá standardu SIP2. 1).

Řešením této chyby je změna nastavení formátu data v souboru /usr/local/share/perl/5.36.0/OpenILS/SIP/Item.pm.

Původní kód v řádku 415:
return OpenILS::SIP→format_date($date) if $date;
změňte na:

return OpenILS::SIP->format_date($date, 'due') if $date;

Další informace o SIP serveru Evergreeenu

Oficiální anglická dokumentace k SIP serveru Evergreenu je k dispozici na adrese https://docs.evergreen-ils.org/docs/latest/admin/sip_server.html

/var/www/eg-wiki.osvobozena-knihovna.cz/data/pages/doplnky/sip2_server.txt · Poslední úprava: 2026/02/11 10:31 autor: ece