Aktuální kód SIP2 serveru SIP se nachází v repozitáři Evergreen git
Získání zdrojového kódu SIP2 serveru:
cd /opt git clone git://git.evergreen-ils.org/SIPServer.git SIPServer
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.
SIPServer vyhledávání informace o kódování na následujících místech:
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.
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.
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.
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
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;
Oficiální anglická dokumentace k SIP serveru Evergreenu je k dispozici na adrese https://docs.evergreen-ils.org/docs/latest/admin/sip_server.html