Napojení IS/STAG - Kvalifikační práce - na THESES.cz
Požadavky
- Škola musí mít uzavřenu smlouvu s Theses.CZ a musí být tedy v systému Theses.CZ zaregistrována jako instituce, mít přidělena přístupová hesla atd.
- Škola musí mít zakoupeny modul IS/STAG: Webové služby.
- IS/STAG musí být správně nakonfigurován (parametry STAGu, konfigurace jednotlivých modulů) - viz. dále
Stav vývoje
Zde je uveden aktuální stav vývoje:
- květen, červen 2010 - analýza, implementace. HOTOVO
- červenec 2010 - testování a ladění, spolupráce s UPOL a MUNI na odstraňování problémů. HOTOVO
- říjen 2010-leden 2011 - postupné nasazení na školy, spuštění rutinního provozu. Hotovo na školách: UPOL, UJEP, UTB, JCU, SLU, OSU, ZCU, MVŠO, TUL
- další školy přidané v průběhu: VŠRR (duben 2015),
KONFIGURACE IS/STAG a jeho modulů
Parametry IS/STAG:
- THESES_UZIVATEL - uzivatelské jméno přidělené v Theses.CZ pro komunikaci od vaší školy. POZOR, nastavením tohoto parametru se propojení zapíná, nechte si jej tedy až na závěr!
- THESES_HESLO - heslo tohoto účtu
- THESES_TYPY_PROGRAMU - parametr říká, jaké typy studijních programů se na dané katedře (katedře kvalifikační práce) do Theses posílají. Není-li uvedeno, bere se jako hodnota parametr hodnota "06789", které udává "běžné" typy studijních programů. Chcete-li přidat zasílání například i pro CŽV, nastavte na hodnotu "036789". Parametr lze nastavovat od úrovně REK až na úroveň jednotlivých kateder - bere se vždy parametr pro katedru, na které je vedena ta daná kvalifikační práce.
- THESES_PROTOKOL_VEDOUCI_URL - URL na adresu, kde si každá škola může připravit script, který generuje tzv. protokol "Prohlášení vedoucího kvalifikační práce". V tomto protokolu bývá např. uvedeno, "že vedoucí práce souhlasí, že práce je plně v pořádku a neopisuje atd atd." - vlastní obsah je plně v režii dané školy. Je-li tento parametr vyplněn, pak portlet v části "Plagiátorství" ukazuje odkaz na toto URL plus na konec přidá adipIdno (čili script na cílovém URL toto ID získá a může tak vytisknout znění pro konkrétní práci).
- THESES_DATUM_ODEVZDANI_OD - Je-li nastaven, tak omezuje kvalifikační práce posílané do Theses tak, že se posílají pouze ty, které mají datum odevzdání roven nebo větší než je hodnota parametru. Zabrání tak i omylem zaslání starší práce.
- THESES_KOMU_ZOBRAZIT - Komu (jakým uživatelským rolím ve vztahu ke kvalifikační práci) zobrazit informace o kontrole plagiátorství kvalifikační práce. Týká se poté toho, jací uživatelé uvidí jaké kvalifikační práce v portletu "Kvalifikační práce-plagiáty". Parametr lze nastavovat až na úroveň katedry. Hodnota parametru se skládá se z libovolné kombinace písmen:
- A - autor (student)
- V - vedoucí práce
- O - oponent práce
- S - sekretářka katedry (pod kterou práce náleží) - čili pro uživatele s rolí KATEDRA.
- K - vedoucí katedry (pod kterou práce náleží) - vysloveně pro uživatele, kteří jsou v číselníku pracovišť vedeni jako vedoucí dané katedry.
- R - studijnní referentka (fakulty autora práce) - uživatelé s rolí REFERENTKA.
- T - tajemník fakulty (fakulty autora práce) - uživatelé s rolí TAJEMNIK
- D - děkan (fakulty autora práce) - vysloveně pro uživatele, kteří jsou v číselníku pracovišť vedeni jako vedoucí dané fakulty.
- P - prorektor
- L - školitel studenta (u doktorandů - uveden ve studenti.ucit_idno)
- E - předseda komise, která je přiřazena autorovi práce (studentovi)
- C - jakýkoliv člen komise, která je přiřazena autorovi práce (studentovi)
- THESES_POSOUDIT_PODOBNOST - Kdo má právo nastavovat příznak "posouzení podobnosti" u kvalifikační práce. Hodnoty i jejich význam je identický jako u parametru THESES_KOMU_ZOBRAZIT.
- Konfigurace modulu Webové služby:
- V souboru ws-config.properties je třeba nastavit následující uživatelské jméno a heslo. Toto jméno a heslo bude vyžadováno všemi webovými službami určenými pro práci s Theses.CZ (čili tyto služby nebudou ověřovány běžným postupem, ale pouze proti tomuto uživ. jménu a heslu).
- Tyto údaje je třeba předat správcům Theses.CZ, protože oni budou volat službu pro stažení semestrálních prací a musejí se jí tedy ověřit. Slouží především k tomu, aby si nemohl kdokoliv stahovat libovolné semestrální práce z IS/STAG, ale aby to mohlo udělat pouze Theses.CZ. Čili narozdíl od parametrů IS/STAG (THESES_UZIVATEL a _HESLO) zde se jedná o zabezpečení druhé strany komunikace, tj. volání webových služeb IS/STAG ze strany Theses.CZ.
- theses.cz.auth.username = <uziv. jmeno>
- theses.cz.auth.password = <heslo>
- Je potřeba přidat do řádku "spring.profiles.active" i profil "theses"
- Zapnutí databázových pravidelných jobů, které budou aktivovat operace pro zaslání/přijmutí dat do/z Theses.CZ. To se provede spouštěním DB procedury:
- vymenik.pg_other.theses_init_jobs;
Funkcionalita z pohledu uživatelů
- Je-li propojení IS/STAG a Theses.CZ aktivní (tj. nastaveny parametry, připraveny joby, ...), pak automaticky každý večer zasílá do theses.cz metadata o kvalifikačních pracích, které byly během dne nově odevzdány (studenti nahráli soubor přes portálové rozhraní či tlustého klienta), případně práce, kde došlo ke změně.
- V portletu "Kvalifikační práce-plagiáty" pak mohou uživatelé (učitelé, studenti, katedry, fakulty, ...) sledovat stav kontroly a její výsledek. To, kteří uživatelé vidí jaké práce, je ovlivněno parametrem IS/STAG THESES_KOMU_ZOBRAZIT.
- Soubory se ke kontrole zasílají 1x denně vždy večer/v noci, čili čekání na výsledek kontroly bude obvykle trvat do následujícího rána, výjimečně ještě o jeden den déle.
- V případě, že je u souboru kvalifikační práce (TYSOIDNO = 3) v tabulce SOU_SOUBORY uloženého v DB STAGu změněn příznak "zpřístupnění práce" a pokud tento soubor není starší než 1 rok (date_of_insert souboru), je znovu naplánováno odeslání do Theses. Toto odeslání by NEMĚLO způsobit znovu kontrolu, pouze by mělo poslat nová metadata práce, aby se Theses o změně zpřístupnění veřejnosti dozvědělo. Tuto funkci používejte ale opatrně, my (STAG) nejsme schopni garantovat, že to opravdu Theses znovu celé nezkontroluje a tudíž že druhý den STAG neobdrží odlišné výsledky kontroly, než obdržel poprvé.
Detailní popis procesu komunikace s THESES.cz
- Každá instituce v Theses.CZ má nějaké přihlašovací účty a admin té instituce může na webu nechat vyrobit tzv. "neosobní účet" - tento účet je potřeba pro strojovou komunikaci s Theses.CZ. Jméno a heslo musí být v příslušných parametrech IS/STAG (viz. výše). Na webu Theses.cz musí neosobní účet vyrobit správce dané školy (instituce), je to na adrese https://theses.cz/auth/people/neosoba.pl.
- U každé kvalifikační práce si pamatujeme její stav v souvislosti s kontrolou. Stav může být kombinací možností "vyžádána kontrola", "odesláno ke kontrole", "mám výsledek". Do Theses.CZ se zasílají vždy ty práce, které mají buď stav "vyžádána kontrola" a nebo byl nově odevzdán plný text práce nebo došlo k nějaké změně metadat práce.
- System je navrzen tak, ze od okamziku jeho uvedeni do provozu na skole bude automaticky posilat vecer KAZDOU NOVOU PRACI, ktera splnuje zaroven podminky:
- 1. Student tam nahral soubor (vlastni text prace) a nebo je u práce uvedeno URL na externí umístění souboru,
- 2. atribut TISKNOUT = A a nebo práce nebyla obhájena,
- 3. Je vyplněn datum odevzdani (tj. katedra praci prijala, zaroven ten datum je treba pro export do theses.cz).
- 4. Typ studijního programu práce odpovídá jednomu z typu programů podporovaných v číselníku Theses.CZ podle nastavení parametru THESES_TYPY_PROGRAMU.
- System je navrzen tak, ze od okamziku jeho uvedeni do provozu na skole bude automaticky posilat vecer KAZDOU NOVOU PRACI, ktera splnuje zaroven podminky:
- Veškeré naše webové služby sloužící pro práci s Theses.CZ vyžadují ověření. A to nikoliv klasicky dle STAG uživatelů, ale mají svoje vlastní ověření, které je zadáno v config couboru ws-config.properties klíče "theses.cz.auth.username" a "theses.cz.auth.password". Toto jméno/heslo si zároveň musí škola domluvit s adminy Theses.CZ - protože oni budou volat naší webovou službu pro stažení souborů a musí tedy ověřovací údaje znát.
- Pro zaslání našich prací (těch, které je zrovna třeba poslat) do Theses.CZ slouží databázová procedura "vymenik.pg_other.theses_export" - na základě volání pak modul WS vyrobí XML s metadaty pro Theses.CZ, pak toto XML přímo do Theses.CZ nahraje a v případě, že se podařilo, tak nastaví našim pracem stav, že byly "odeslány ke kontrole".
- Za nějakou dobu poté (zpravidla v noci) si Theses.CZ postupně nastahuje plné texty těch prací - prostřednictvím naší služby "downloadPraceContentForThesesCZ", pak to postupně zpracovává a zjišťuje plagiáty. POZOR - v této době (obvykle cca 1:00 - 3:00) musí běžet databáze IS/STAG i webové služby!
- Služba "downloadPraceContentForThesesCZ" funguje tak, že ověří správnost přihlášení uživatele a poté vrátí plný text práce. Služba dává k dispozici zcela všechny práce (narozdíl od veřejné služby downloadPraceContent), i ty, u nichž je zakázáno zveřejnění. U takových prací se však do theses.cz exportuje příznak, aby theses.cz tyto práce nezveřejňovalo. Theses.cz tedy pak takové práce pouze zkontroluje na plagiáty, uloží do svého repositáře, ale nezveřejňuje.
- Někdy brzy ráno (když už předpokládáme, že má Theses.CZ hotovo) je třeba volat DB proceduru "vymenik.pg_other.theses_import" která stáhne z Theses.CZ výsledky kontroly postupně pro všechny práce, které mají stav "odesláno ke kontrole". Služba výsledná XML jednak rozparsuje a získá z nich základní údaje o výsledku kontroly (tj. počet podobných dokumentů a nejvyšší score), jednak uloží získané XML do položky ABN_DIPLOMOVE_PRACE.PLAGIAT_RESULT (BLOB).
- Od té chvíle jsou výsledky kontroly plagiátů vidět ve zmíněném portletu. Při kliknutí na detail se rozparsuje XML uložené v BLOBU a zobrazí se detailní informace (s jakými dokumenty je to podobné, jak moc atd.) a je umožněno stáhnout jednak samotné ty soubory, se kterými je to podobné (pokud nám je Theses.CZ dá k dispozici) a jednak pak také PDF s barevně vyznačenými podobnými kusy textu. Tyto soubory aplikace StagPortlets zprostředkovaně stáhne z Theses.CZ a vrátí uživateli - tj. v okamžiku, kdy on klikne, se portlet připojí na Theses.CZ, soubory stáhne a vrátí uživateli.
Ruční nahrání vybraných prací do theses.cz
Je-li třeba z nějakého důvodu ručně označit nějakou práci/skupinu prací, které chcete nahrát do Theses.cz (třeba se to z nějakého důvodu nepovedlo nebo chcete třeba nějaké starší práce atd.), tak zatím je možno poměrně jednoduše pomocí SQL/TOADu v databázi IS/STAG. U každé práce v tabulce ABN_DIPLOMOVE_PRACE je položka PLAGIAT_STAV. Každý bit má nějaký význam:
- 1-práce je označena k odeslání (a bude odeslána večer) - pozor, tato polozka ale defakto ztratila vyznam, nepouzivat (pouze pro interni pouziti)
- 2-práce byla odeslána, čeká se na výsledek
- 4-výsledek je už v IS/STAG.
- 8-požadavek na znovu stáhnutí výsledků kontroly do IS/STAG (třeba pro jejich aktualizaci)
- 16-požadavek na zaslání práce do Theses.CZ ke kontrole - toto je jakýsi "brutální" požadavek, tj. pokud je nastaven, ignoruje se hodnota parametru THESES_DATUM_ODEVZDANI_OD (jediné, co musí stále platit je to, že u práce musí být nastaven datum odevzdání, položka "TISKNOUT" na "A" a uložen soubor nebo URL na něj)
- Podpora pro tento stav byla odebrána 18.6.2018 - způsoboval komplikace a nebyl využíván
Hodnoty mohou být kombinovány, tj. například může mít PLAGIAT_STAV hodnotu 12 = 4+8 (už je výsledek v IS/STAG, ale my chceme ještě stáhnout znovu).
Chcete-li práci prostě zaslat do Theses znovu za každých okolností, nastavte tuto položku natvrdo na 16:
UPDATE ABN_DIPLOMOVE_PRACE SET PLAGIAT_STAV = 16 WHERE OS_CISLO = <osobni cislo studenta> COMMIT;
A nebo třeba práce celé katedry:
UPDATE ABN_DIPLOMOVE_PRACE SET PLAGIAT_STAV = 16 WHERE PRAC_ZKR = <katedra>; COMMIT;
Po provedení těchto updatů se pak práce večer zašlou ke kontrole. Chcete-li je zaslat ihned, použijte v DB následující příkazy:
BEGIN
VYMENIK.PG_OTHER.theses_export; -- pro zaslani praci do Theses
COMMIT;
END;
BEGIN
VYMENIK.PG_OTHER.theses_import; -- pro stazeni vysledku kontroly praci z Theses
COMMIT;
END;
Ukázky aplikace - portletu