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:

Atribut kódování v prvku účtu pro aktuálně aktivní účet SIP.

Prvek kódování, který je podřízeným prvkem prvku instituce aktuálně aktivního účtu SIP.

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.

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) Podrobnosti jsou k dispozici v e-mailové konferenci Evergreenu: https://list.evergreen-ils.org/archives/list/evergreen-general@list.evergreen-ils.org/thread/V4RKKOGBPN46BKKJVMU7XSEK4ACLQH52/, zpráva od Joshe Stompro obsahuje možné řešení této chyby: https://list.evergreen-ils.org/archives/list/evergreen-general@list.evergreen-ils.org/message/SMRLKJUGQ7JXRG4QBHUCJ6M5VXSCNKH6/ .

Ř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