Návrh softwarového projektu: Caddis II


Popis problému:
Na všech vědeckých pracovištích vysokých škol je třeba evidovat bibliografické informace (tj. názvy, jména autorů a některé další informace o článcích, knihách a dalších bibliografiích publikovaných zaměstnanci těchto vědeckých pracovišť). Tyto informace se používají na úrovni řízení fakulty, univerzity a také se část odesílá do celostátní evidence (databáze RIV). V dnešní době je logické používat při tomto sběru počítače, přestože v důsledku platných předpisů (především co se týče elektronického podpisu) je nutné data sesbíraná za určité období (akademický rok) potvrdit v tištěné podobě.

V současné době se k tomuto účelu na MFF UK (od roku 1995) a LFHK (od roku 2000) používá systém Caddis na principu zpracovaní HTML formulářů cgi scripty v Perlu s ukládáním informací v gdbm formátu.

Protože se požadavky na sběr dat postupem času vyvíjely (zvláště při rozšíření na LFHK) a předpokládá se další vývoj v případě přenosu na další fakulty a program Caddis nebyl koncipován tak, aby bylo možné tyto změny jednoduše implementovat, vznikla potřeba vytvořit nový systém.

Systém rozlišuje celkem čtyři druhy uživatelů - autory, odpovědné pracovníky katedry, odpovědné pracovníky fakulty (dále v textu zvaní knihovníci, neboť právě ti to zatím dělají) a pochopitelně superuživatele.

Záměrem je vytvořit program nebo soustavu programů, které by nahradily stávající systém s minimálním dopadem na uživatele prvních dvou druhů, avšak které by vycházely ze současných technických parametrů a možností. Navrhuje se řešení pomocí jazyka PHP (především z důvodu rozšiření tohoto jazyka), data budou ukládána na serveru do databáze založené na SQL. Zadávání bude probíhat stejně jako v dosavadním programu přes webovské rozhraní, tedy každý autor bude provádět zápis vlastních prací a záznamy budou potvrzovány odpovědnými pracovníky. Autoři se nebudou hlásit s vlastním heslem, budou se používat bezpečnostní mechanizmy webovského serveru (omezení přístupu podle IP adresy). Odpovědní pracovníci se heslem hlásit budou. Mnoho práce kterou v současném systému dělá superuživatel (a to často zásahem do kódu programu) se zautomatizuje a přesune na knihovníky. Také ostatní nutné zásahy superuživatele by měly být realizovany jednodušším způsobem.

Činnost programu:
Komunikace s programem bude probihat přes HTML formuláře.
Program se musí vyrovnat nejen s čestinou, ale v rámci možností i s dalšími jazyky (např švédština, ovšem plná podpora unicodu není zamýšlena neboť v PHP tato podpora není).
Systém bude následujícím druhům uživatelů umožňovat následující operace:

Autorům:
Vlastní zadávání bibliografických informací (Jména autorů, tituly, autorská role, název, jméno časopisu, kódy, souvislosti s grantem, čas a místo vydání ... v současném systému jde o 45 položek) s formuláři předpřipravenými podle typu publikace včetne kontrol vstupních hodnot z hlediska logiky (číslo je číslo) i vazeb uvnitř formuláře nebo na externí informace (tyto vazby budou měnitelné na úrovni fakulty).
Vyhledávání záznamu podle řetězce (příjmení, název, celý záznam) nebo pracoviště, případně podle dalších položek.
Úprava záznamu zabezpečená klíčem.
Zadavání stížností a jejich odesílání knihovníkům.

Odpovědným pracovníkům katedry:
Prohlížení a editace zadaných údajů.
Potvrzování (zamykaní) a odemykaní záznamů.
Správa informací o pracovišti (heslo odpovědného pracovníka, jméno pracoviště a další údaje).
Správa pomocných údajů (např. seznam pracovníků - možných autorů nebo seznam časopisů) které budou využívány pro upozorňování na možný překlep a pro konverzi krátkého jména na dlouhé (např. doplnění titulů ke jménu, kódu ke jménu časopisu, rozvinutí některých zkratek).
Systém musí zpětně reagovat na změnu těchto údajů - například pokud k určitému datu přechází pracovník z jedné katedry do druhé, musí se katedra v záznamu řídit datem vydaní publikace a nikoliv datem zadání záznamu do databáze.
Zadávání stížností a jejich odesílání knihovníkům.

Knihovníkům:
Opět prohlížení a editace zadaných údajů.
Další úroveň potvrzování a odemykání.
Přerušení sběru dat, ukončení sběru nouzově i v předem naplánovaném datu.
Export dat ve struktuře programu Procite a export dat v dbf formátu pro program RIV.
Povolení pro dočasný přístup i po ukončení sběru.
Přidávání nových odpovědných pracovníku kateder, jejich rušení, nastavování hesla.
Přidávání kateder, editace pomocných údajů.
Inicializace databáze pro nový sběr.
Nastavování kategorií publikací (Tedy stanovení, která podmnožina položek a kontrol se jich týká, nastavení nastavitelných vlastností kontrol.

Superuživateli:
Možnost vydávání se za kteréhokoliv uživatele bez znalosti jeho hesla.
Pokud to bude vhodné z bezpečnostního hlediska, přidávání nových kontrol sice v PHP, ale přes HTML rozhranní, podobne prima prace s databazi pomoci SQL dotazu a dalsi moznosti vzdalene spravy.

Projekt předpokládá nasazení v praxi na MFF UK a LFHK, případně dalších fakultách, které o něj projeví zájem, pracovní verze se bude pravděpodobně testovat na katedře matematické analýzy MFF UK, pokud takove testovani bude mit vzhledem k harmonogramu prace na projektu a dobe sberu smysl. Následně se předpokládá plné nahrazení předchozího programu.
Předpokládá se možnost konzultací se správcem nynějšího programu za účelem upřesnění požadované funkce.
Rovněž průběžně dodává podklady k původnímu systému.
Předchozí verze specifikace, která se od této liší pouze v tomto a následujícím odstavci, jím byla schválena.

Odhadovaný počet lidí: 5, zatím obsazeno 5 míst.
Předpokládá se práce v linuxu, ovšem PHP podporuje i dalsi platformy (napr. HP-UX, Mac OS, OpenBSD, UNIX, Windows) a dokud se nenarazi na nejakou odlisnost, není důvod proč by to nešlo psát alespon částečně pod nimi. Dosavadní systém běží na platformě i386/Linux (?? Nasazeni na ni ?).
kontakt
Vedoucí: Michal Žemlička
Aktualni verze specifikace