[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