[EDS-cz_sk] HTML formulář pro vyhledávání v EDS a autentizace skupin - jak na to
Vlastimil Krejcir
krejcir na ics.muni.cz
Pátek Červen 24 15:14:47 CEST 2016
Dobré odpoledne všem,
zdá se, že pan kolega Luprich mě předběhl s prvním příspěvkem do
konference :-).
Já bych rád tuto konferenci využil i tak, že budu posílat tipy a návody,
jak na EDS a případně i FTF. Zejména se to bude týkat věcí, které nejsou
zřejmé, ale postupně jsme na MU na ně přišli.
Předem bych chtěl avizovat, že níže uvedené informace jsou zajímavé jen
pro instituce, které používají v EDS skupiny uživatelů (dle IP adres
částí instituce, například dle fakult).
Záležitost se týká formulářů pro vyhledávání v EDS, které si můžete
vytáhnout na vlastní stránky. Uživatel je pak z takového formuláře se svým
dotazem přeposlán přímo do EDS. Různé varianty formulářů vám dodají přímo
kolegové z EBSCO, já bych se rád zastavil nad jednou věcí, kterou jsem
spíše náhodou dnes zjistil a předesílám, že níže to bude spíš pro IT
pracovníky. Pro ostatní, kteří to nechtějí číst jen shrnu, že se jedná o
problém korektního rozdělení uživatelů do skupin v EDS (například dle
fakult) pro účely statistik (abych viděl, kdo z jaké fakulty přišel na
EDS).
Jak jsem zjistil už dříve, EDS akceptuje jeden zásadní parametr a tím
je "groupid". Pokud jej dostane (níže ukážu ještě jak a také proč se to
týká i vložených formulářů), tak již dále považuje daného uživatele za
uživatele ze skupiny specifikované tímto paramatrem.
Tedy například pro MU je odkaz na službu EDS následující:
http://search.ebscohost.com/login.aspx?authtype=cookie,ip,guest&profile=eds&custid=s8431878&groupid=main
Pozorně si všimněte na konci URL onoho "groupid=main". Protože když
přistoupím z naší univerzitní sítě pomocí této URL, pak mě systém EDS
zařadí do skupiny "main" navzdory tomu, že máme celé EDS rozpalcelované na
9 skupin podle našich 9 fakult (každá fakulta je definované rozsahem IP
adres).
Podobně je tomu v předdefinovaných formulářích, kde lze nalézt v jejich
HTML kódu:
<input name="groupid" value="main" type="hidden" />
Když tento parametr neuvedete, tak EDS přiřadí uživatele do skupiny
podle IP adresy, ze které přichází. Což je velmi chtěné a očekávané
chování. To vede na myšlenku nikde daný parametr "groupid" nedefinovat...
Jak jsem zjistil, tak toto není dobrý nápad - pokud není "groupid" uvedeno
a uživatel přistupuje k EDS z mimouniverzitní sítě (jako "guest"), pak EDS
nepřidělí žádnou defaultní skupinu (i když zná parametr "custid" a tedy
ví, o jakou instituci/zákazníka EBSCO a instanci EDS jde) a prostě selže s
tím, že nemůže ověřit uživatele. Pokud je "groupid" uvedeno, tak EDS
uživatele vpustí v režimu "guest".
Jak z toho ven? U formulářů to vyžaduje, aby stránky, na nichž je
formulář uveden, byly generovány dynamicky. Pak je možné daný formulář
upravit tak, že přistupuje-li uživatel z univerzitní sítě, tak se parametr
s "groupid" vůbec negeneruje (EDS si skupinu pozná samo), v případě, že
jde z mimouniverzitní sítě, pak tam ten parametr dát a skupinu nastavit na
nějakou výchozí.
Pokud používáte URL alias na vaši instanci EDS (například my na MU máme
URL http://discovery.muni.cz/), pak je dobré, aby se ten alias překládal
na skutečnou URL vašeho EDS tak, že pro adresy ze sítě MU "groupid" do
URL nevloží a pro adresy mimouniverzitní nějaké výchozí "groupid" vloží.
(Pokud bude zájem, napíši podrobněji, jak to máme u nás.)
Tak snad jsem vás pro začátek nevyděsil a kdybyste něco nebylo jasné,
tak se klidně ptejte :-).
Pěkný víkend.
Vlastik Krejčíř
----------------------------------------------------------------------------
Mgr. Vlastimil Krejčíř
Library and Information Centre, Institute of Computer Science
Masaryk University, Brno, Czech Republic
Email: krejcir (at) ics (dot) muni (dot) cz
Phone: +420 549 49 3872
ICQ: 163963217
Jabber: krejvl na jabber.org
OpenPGP key: https://kic-internal.ics.muni.cz/~krejvl/pgp/
Fingerprint: 7800 64B2 6E20 645B 56AF C303 34CB 1495 C641 11B9
----------------------------------------------------------------------------
Další informace o konferenci EDS