====== 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 na následující: 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 zadejte přihlašovací údaje klienta SIP. Ujistěte se, že všechny používají stejný atribut instituce a že instituce je uvedena v . Všechny atributy v sekci 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 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. ((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