Prohlášení Prohlašuji, že tato práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj.
Vedoucí práce: RNDr. Tomáš Gregar
ii
Poděkování Děkuji RNDr. Tomáši Gregarovi za vedení této práce a za cenné připomínky. Děkuji také Davidu Pokornému za zajímavé téma k bakalářské práci.
iii
Shrnutí Tato práce se zabývá standardy v moderních formátech pro ukládání textových dokumentů, konkrétně zkoumá formáty produktů Microsoft Office a OpenOffice.org. Dále popisuje také obecně podporovanou specifikaci pro práci s testy v e-learningových systémech a nastiňuje jejich strukturu definovanou touto specifikací. V rámci práce vznikla aplikace pro převod elektronických testů z dokumentu Microsoft Office Word vytvořeného dle dané šablony do XML pro použití v komerčním e-learningovém systému. Tato aplikace je rozšiřitelná o převod z jiných typů dokumentů a o export testů v jiných formátech.
iv
Klíčová slova LMS, e-learning, elektronický test, Word, COM, XML, převodník, Office Open XML
v
Obsah 1 Úvod..............................................................................................................................................2 2 Možnosti zpracování dokumentů............................................................................................4 2.1 Open Document Text..........................................................................................................4 2.2 Microsoft Word....................................................................................................................5 3 E-learningové standardy pro práci s testy..............................................................................8 3.1 IMS Question & Test Interoperability...............................................................................8 4 Vytvoření převodníku elektronických testů........................................................................10 4.1 Tvorba testu v Microsoft Word........................................................................................10 4.1.1 Otázka s výběrem jedné správné odpovědi...........................................................11 4.1.2 Otázka s výběrem více správných odpovědí.........................................................11 4.1.3 Otázka s doplňováním do textu...............................................................................12 4.1.4 Otázka s výběrem odpovědí do textu.....................................................................12 4.1.5 Otázka s úkolem seřadit dané položky...................................................................14 4.1.6 Otázka typu „esej“.....................................................................................................15 4.1.7 Obrázky k otázkám...................................................................................................15 4.2 Aplikace pro převod..........................................................................................................16 4.2.1 Vzhled a ovládání aplikace......................................................................................16 4.2.2 Jádro aplikace.............................................................................................................17 4.2.3 Modul pro načtení testu............................................................................................18 4.2.4 Modul pro export testu do XML..............................................................................18 4.2.5 Modul pro export testu do DocBooku....................................................................19 5 Závěr...........................................................................................................................................20 A Diagram tříd.............................................................................................................................23 B Ukázka výstupního XML........................................................................................................24 C Uživatelský manuál.................................................................................................................26 C.1 Instalace.............................................................................................................................26 C.2 Ovládání.............................................................................................................................26
1
Kapitola 1
Úvod E-learning (elektronické vzdělávání) u nás v posledních letech zaznamenal značný pokrok, a to jak ve školství, tak i ve firmách. V současnosti je e-learning velmi užitečnou součástí vzdělávání, neboť umožňuje přístup k široké škále studijních materiálů prostřednictvím počítače s připojením k internetu [1]. Počítač totiž dokáže zastoupit mnoho různých přístrojů (např. přehrávač hudby a videa či telefon). Studijní materiály, ať už se jedná o skripta v elektronické podobě či různé multimediální prvky taktéž prakticky využitelné pro výuku, bývají zpravidla shromážděny v nějakém e-learningovém systému. Do něj mají samozřejmě přístup jak vyučující, tak studenti. Takový systém přináší řadu výhod pro studenty i učitele, prvně jmenovaní se mohou učit v pohodlí domova, procvičovat si dané učivo vyplňováním průběžných testů a odevzdávat domácí úkoly i jiné práce. Mohou také na dálku komunikovat s vyučujícím, čímž e-learning nachází uplatnění jak v distanční formě studia, tak i v podpoře formy prezenční. Vyučující pak snadno kontrolují, jak jejich svěřenci se studiem pokračují, reagují na dotazy, zadávají úkoly a vystavují nové materiály. Jak jsem již zmínil, studenti si v e-learningovém systému mohou kromě prohlížení poskytnutých materiálů ověřit získané znalosti prostřednictvím elektronických testů. Úkoly testů mohou být různého typu. V jednom úkolu musí student odpovědět na otázku, v dalším doplnit slova do věty, v jiném třeba popsat obrázek, často vybírá také jednu či více z několika nabízených možností. Úloha tvůrce těchto testů potom připadá právě na vyučujícího. Ten by měl mít k dispozici nástroje, které mu umožní tvořit testy snadno a rychle. Cílem této práce bylo vytvořit převodník elektronických testů do formátu vhodného pro následné generování na webu. Zadavatel této práce se rozhodl do tvorby testů zapojit textové procesory. To je jistě dobrá volba, protože Čechům je nejbližší práce právě s textovými procesory [2]. Příprava testů v textovém procesoru navíc není závislá na připojení k internetu. Vyučující (dále uživatel) definuje testy v dokumentu Microsoft Word na základě stylů předem dané šablony, jimiž lze popsat různé typy testovacích otázek, správné odpovědi atp. Výsledný dokument pak předá na vstup již zmíněnému převodníku, který
2
jej prostřednictvím rozhraní COM (Component Object Model), což je technologie společnosti Microsoft pro komunikaci softwarových komponent [3], konvertuje do dokumentu XML (Extensible Markup Language, česky rozšiřitelný značkovací jazyk). Z dokumentu XML se pak generují testy na webu e-learningového systému. K tomuto účelu bylo třeba navrhnout vhodnou strukturu výstupního XML dokumentu pomocí XML Schema (standard pro specifikaci přípustného obsahu XML dokumentů). Podle definice XML Schema je možné konkrétní XML dokument validovat. Odpovídá-li XML dokument dané definici, můžeme jej dále zpracovávat, neboť známe jeho stavbu. Jedním z cílů této práce byl také návrh GUI (Graphical User Interface, česky grafické uživatelské rozhraní) pro práci s vytvořeným převodníkem. Při návrhu GUI bylo dbáno na jednoduchost a přehlednost, aby obsluhu převodníku zvládl i „sváteční uživatel“ počítače. Pro zpracování byl určen programovací jazyk Python ve verzi minimálně 2.5. Tento programovací jazyk je moderní, multiplatformní a vysoce modulární, navíc v něm lze pořídit zdrojový kód rychleji než v jiných jazycích [4]. Součástí práce je přehledný návod k obsluze výsledného převodníku a k přípravě dokumentu, který bude vstupem programu. Aplikace je modulární, v budoucnu ji lze tedy rozšířit o možnost převodu z jiných formátů, jako je např. OpenDocument (otevřený souborový formát) či o možnost převodu elektronických studijních materiálů vytvořených pomocí jiné šablony, která bude definována speciálně pro tento účel.
3
Kapitola 2
Možnosti zpracování dokumentů Moderní formáty pro ukládání dokumentů dnes využívají technologii XML1. Jedná se o obecný značkovací jazyk, který je určený zejména pro výměnu dat mezi aplikacemi [5]. XML definuje pro značkovací jazyk pouze jednoduchá omezení (např. že všechny značky v dokumentu musí být párové). Omezením XML na značky s určitými názvy a omezením struktury určujícím např. jaké značky jsou přípustné uvnitř jiné značky pak vzniká již konkrétní značkovací jazyk. Takovýmto speciálním případem XML jsou jazyky jako HTML, DocBook nebo právě značkovací jazyky použité v následujících formátech pro ukládání dokumentů.
2.1 Open Document Text Open Document Format (dále OpenDocument) je otevřený formát pro kancelářské dokumenty vytvořený v rámci sdružení OASIS2, který má umožnit maximální přenositelnost dokumentů (textů, tabulek, prezentací apod.) [6]. OpenDocument je založen na XML jazyku, binární data (především obrázky) však nejsou uložena přímo v XML, ale v samostatných souborech. Ty jsou společně s XML soubory zabaleny do jednoho ZIP archivu, který tak představuje soubor ve formátu OpenDocument. Struktura OpenDocument archivu je pevně daná, obsahuje například samostatné XML soubory pro obsah dokumentu, metadata, informace o stylech použitých v dokumentu či nastavení aplikace [7]. Na vložené (binární) objekty ukazují relativní cesty v rámci archivu, data v něm jsou tak svázána dohromady. Dokument uložený v tomto formátu lze tedy rozbalit a z obsažených XML souborů číst data pomocí libovolného programovacího jazyka s podporou ZIP a XML, kterou nalezneme u drtivé většiny 1 Extensible Markup Language, jeho specifikace je dostupná na http://www.w3.org/XML 2 Organization for the Advancement of Structured Information Standards – neziskové sdružení předních světových softwarových společností a dalších členů, jehož cílem je vývoj, sbližování a schvalování otevřených standardů pro globální informační společnost
4
moderních programovacích jazyků, takže možnosti jsou opravdu široké. Lepší volbou by mohla být ještě knihovna ODF Toolkit, která zjednodušuje tvorbu aplikací pracujících s formátem OpenDocument vyčleněním potřebných funkcí z balíku OpenOffice.org. Díky tomu není tento balík pro běh aplikace potřebný. Knihovna ODF Toolkit je dostupná ve dvou verzích: ODFDOM pro Javu a AODL pro .NET [8]. Obdobná knihovna je k dispozici také pro jazyk Python, a to s názvem lpOD.
2.2 Microsoft Word Dalším zkoumaným formátem je formát Microsoft Word. Data v dokumentech aplikace Microsoft Word 2003 jsou uložena ve formátu XML. Vložené objekty jsou součástí XML dokumentu, a to v binární formě. U dřívějších verzí Microsoft Word byly v binární formě ukládány všechny informace a byly tak přístupné pouze díky architektuře COM [9]. S produktem Microsoft Office 2007 uvedla společnost Microsoft formát Office Open XML (dále jen OOXML), který je dnes také mezinárodním standardem pro ukládání dokumentů. Stejně jako ODF využívá kombinaci technologií XML a ZIP, kde několik XML dokumentů je zabaleno dle konvencí pro balíčkování částí dokumentu dohromady – OPC (Open Packaging Conventions) [10]. Součástí balíčku jsou i soubory s objekty vloženými do dokumentu, v čemž spočívá rozdíl oproti verzi Microsoft Word 2003. Protože zde není pevně daná struktura balíčku jako u formátu OpenDocument, jsou mezi jeho jednotlivými částmi, z nichž každá musí mít určený svůj typ dat, definovány vztahy, které určují také umístění konkrétních souborů v archivu. S pomocí těchto vztahů lze tedy navenek neznámou strukturu archivu dohledat. Nejjednodušší možná struktura balíčku s dokumentem je tato: •
_rels ◦ .rels
•
[Content Types].xml
•
document.xml
V souboru .rels jsou definovány zmíněné vztahy, v souboru [Content Types].xml použité typy obsahu a v souboru document.xml samotný dokument, který může vypadat následovně:
Kořenovým prvkem je document a hlavní částí dokumentu je jeho tělo – body. Element p značí odstavec, který představuje základní jednotku dokumentu a je dále členěn na tzv. runs, což jsou nejmenší jednotky (části textu), které lze formátovat. Každý run je v dokumentu určen elementem r, který dále obsahuje element t s textem příslušné textové části. Data ve formátu OOXML je tedy možné číst (podobně jako u dat ve formátu OpenDocument) pouhým použitím programovacího jazyka, který podporuje práci s formáty ZIP a XML. Takový přístup je sice multiplatformní, názvy většiny uzlů jsou však jednopísmenné a specifikace formátu OOXML poměrně rozsáhlá (cca 7x více stránek než u OpenDocument), což může komplikovat orientaci ve struktuře dokumentu. Stejně jako u souborů uložených ve starších verzích Microsoft Office se pro zjednodušení přístupu k datům dokumentu nabízí použití rozhraní COM, které ale vyžaduje instalaci zmíněného kancelářského balíku. S instalovanou verzí 2007 pak lze ovšem identicky zpracovávat jak dokumenty ve formátu OOXML, tak i dokumenty uložené ve starších formátech Microsoft Word. Společnost Microsoft rovněž volně poskytuje programátorský balík Open XML SDK3 sloužící k tvorbě aplikací využívajících formáty Office bez nutnosti instalace produktu Microsoft Office [11]. Tento balík je nástavbou nad System.IO.Packaging API – knihovnou veškerých operací nad OPC (včetně upravování vztahů v rámci archivu), která je součástí prostředí .NET Framework4 od verze 3.0 [10]. Open XML SDK nabízí silně typovou hierarchii tříd pro přístup k jednotlivým typům Open XML dokumentů a pro práci 3 Dokumentace k Open XML SDK je dostupná na http://msdn.microsoft.com/enus/library/bb448854(v=office.14).aspx. Užitečné informace lze nalézt také na http://openxmldeveloper.org. 4 Informace o prostředí a samotné prostředí http://msdn.microsoft.com/netframework
.NET
Framework
ke
stažení
na
6
s jejich XML strukturou ve smyslu čtení i generování dokumentů. Programátor díky Open XML SDK nemusí znát přesnou (a rozsáhlou) specifikaci Open XML, může ale také z libovolného objektu reprezentujícího nějaký element ze struktury dokumentu získat XML kód daného elementu a jeho potomků pro následné ruční zpracování. Využití Open XML SDK při tvorbě aplikací zpracovávajících Open XML dokumenty si tedy vynucuje prostředí .NET Framework, ale zato objektovým přístupem orientaci v dokumentech usnadňuje a rozšiřuje použitelnost těchto aplikací také na systémy bez sady Microsoft Office.
7
Kapitola 3
E-learningové standardy pro práci s testy 3.1 IMS Question & Test Interoperability IMS Question & Test Interoperability (dále jen IMS QTI) je specifikací pro reprezentaci testů v e-learningových systémech. Za touto specifikací stojí IMS1 Global Learning Consortium, sdružení více než 140 organizací s cílem navrhovat multiplatformní standardy pro výměnu dat v oblasti e-learningu [12]. IMS QTI tak nachází podporu napříč e-learningovými systémy (z nejznámějších to jsou Moodle, ATutor, Dokeos, ILIAS či Sakai), ale také u neméně důležitých nástrojů pro tvorbu obsahu. Ani u jednoho z projektů se však nejedná o podporu plnou, jelikož specifikace IMS QTI je poměrně rozsáhlá. Ve většině případů tak dokáží nástroje vytvářet či interpretovat pouze určitou podmnožinu všech možných typů otázek [13]. Specifikace IMS QTI využívá formát XML k reprezentaci testů, oblastí a otázek, kde otázky jsou seskupeny do tematických oblastí a testy pak mohou být na tyto oblasti členěny (viz struktura testu na obrázku 3.1). Autor má také možnost určit, jak se test zobrazí zkoušenému. Může definovat například pořadí otázek, využít pro tvorbu otázek jazyk XHTML či dokonce parametrizovat již předdefinované šablony otázek a tím vytvářet testy ještě rychleji. IMS QTI mimo formát testovacích dat specifikuje i zpracování výsledků testů, které tak mohou být rovněž přenášeny či sdíleny mezi různými systémy. Specifikace IMS QTI byla integrována i do jiných specifikací pro e-learning, jako jsou IMS Content Packaging, IEEE Learning Object Metadata, IMS Learning Design či IMS Simple Sequencing2. Zmíněné specifikace sdružení IMS jsou také součástí rozšířeného standardu SCORM (Sharable Content Object Reference Model), který je v současnosti již běžně pod1 Innovation Adoption Learning 2 IMS Content Packaging je formátem pro uložení obsahu, IEEE Learning Object Metadata standardem pro popis výukových objektů, IMS Learning Design specifikací pro modelování výukových procesů a IMS Simple Sequencing specifikací pro modelování procesu výuky jednoho studenta.
8
porován. Při výběru e-learningového systému se proto vyplatí brát v úvahu nebo dokonce vyžadovat právě jeho podporu [14]. Výhodou je pak mimo jiné oblasti e-learningu přenositelnost testů i jejich vyhodnocení a také dostupnost množství autorských nástrojů 3 bez nutnosti navrhovat vlastní.
Obrázek 3.1: Struktura testu (převzato ze specifikace standardu IMS QTI [15])
3 Např. Macromedia Authorware či WBTExpress.
9
Kapitola 4
Vytvoření převodníku elektronických testů Cílem této práce bylo vytvoření desktopové aplikace pro převod elektronických testů z formátu Microsoft Word 97–2003, vytvořených dle dané šablony, do formátu XML pro jejich následné generování v LMS1 Unifor, komerčním systému vyvíjeném společností NET UNIVERSITY s.r.o. Pro tvorbu aplikace byl určen programovací jazyk Python ve verzi nejméně 2.5. V době tvorby byl k dispozici Python 2.6.2, ten byl tedy při realizaci použit. Základní instalace Pythonu byla rozšířena o doplněk s názvem Pythonwin pro podporu architektury COM a o knihovnu wxPython umožňující tvorbu aplikací s grafickým uživatelským rozhraním (GUI). Tyto doplňky je třeba instalovat i pro spuštění převodníku. Zároveň je pro samotný převod nutná instalace produktu Microsoft Office Word (z důvodu použití rozhraní COM).
4.1 Tvorba testu v Microsoft Word K zadání práce byla dodána šablona Microsoft Word (Testy.dot), která definuje styly odstavců pro popis testu a různých typů otázek použitých v LMS Unifor. Názvy stylů jsou klíčové pro převodník testů při analýze dokumentu. Ten musí začínat dvěma odstavci, z nichž první musí mít přiřazen styl Nadpis 1 – Jméno testu a obsahovat název testu, druhý odstavec pak styl Popis testu s krátkou anotací. Následně je třeba uvést samotné otázky, které má test obsahovat. Každý typ otázky je uveden odstavcem se stylem Nadpis 2 – Otázka, který obsahuje text s otázkou či s popisem úkolu. Pokud je na konci tohoto odstavce uveden text v kulatých závorkách, otázka bude při převodu přiřazena do oblasti s názvem odpovídajícím tomuto textu. Odstavec s otázka typu „esej“ tvoří výjimku v přiřazeném stylu – styl Nadpis 2 – Otázka je u tohoto typu otázky nahrazen stylem Ručně definovaná otázka (viz podkapitola 4.1.6 zabývající se podrobněji tímto typem otázky). Princip přiřazení do oblasti prostřednictvím kulatých závorek na konci odstavce je u všech typů otázek stejný. 1 Learning Management systém – řídicí výukový systém
10
Otázky v testu mohou být typu: •
otázka s výběrem jedné správné odpovědi
•
otázka s výběrem více správných odpovědí
•
otázka s doplňováním do textu
•
otázka s výběrem odpovědí do textu
•
otázka s úkolem seřadit dané položky
•
otázka typu „esej“
Následuje podrobnější seznámení s jednotlivými typy otázek, resp. návod pro tvorbu testu v aplikaci Microsoft Word s použitím dodané šablony.
4.1.1
Otázka s výběrem jedné správné odpovědi
Po odstavci se stylem Nadpis 2 – Otázka následuje tolik odstavců se stylem Jedna správná odpověď (ABCD), kolik má mít otákza možností k odpovědi. Pro určení správné odpovědi je třeba formátovat příslušný odstavec tučně. Pokud bude za správný určen více než jeden odstavec, při zobrazení testu vygenerovaného v LMS Unifor zkoušenému stačí strefit se do jedné z těchto správných odpovědí.
Obrázek 4.1: Generování otázky s výběrem jedné správné odpovědi
4.1.2
Otázka s výběrem více správných odpovědí
Po odstavci se stylem Nadpis 2 – Otázka následuje několik odstavců, tentokrát se stylem Více správných odpovědí (ABCD). Ty se pak zobrazí jako možnosti se zaškrtávacím polem. Odstavce se správnými odpověďmi jsou formátovány tučně. Zkoušený pak musí v LMS Unifor zatrhnout právě ty odpovědi, které jsou správně, tedy jedinou správnou kombinaci.
11
Obrázek 4.2: Generování otázky s výběrem více správných odpovědí
4.1.3
Otázka s doplňováním do textu
Definice otázky začíná opět odstavcem se stylem Nadpis 2 – Otázka. Za tímto odstavcem může být jeden nebo více odstavců se stylem Doplňovačka textu, z nichž každý musí obsahovat alespoň jeden výraz s tučným formátováním, který bude při zobrazení v LMS Unifor nahrazen prázdným textovým polem pro odpověď zkoušeného. V rámci tučného výrazu může být definováno více možných odpovědí oddělených středníkem. Každá z nich je pak v LMS Unifor považována za správnou.
Obrázek 4.3: Generování otázky s doplňováním do textu
4.1.4
Otázka s výběrem odpovědí do textu
Za odstavcem se stylem Nadpis – Otázka může být jeden nebo více odstavců se stylem Doplňovačka ze seznamu, z nichž každý musí obsahovat alespoň jeden výraz definující
12
výběr pro odpověď. Text tohoto výrazu je formátován kurzívou a uzavřen do kulatých závorek, které jsou taktéž kurzívou. V závorkách je výčet možných odpovědí oddělených čárkou, kde tučná možnost je odpovědí správnou.
Obráek 4.4: Generování otázky s výběrem odpovědí do textu Tento typ otázky má svůj podtyp, kdy se na každém řádku vyskytuje právě jedna možnost výběru odpovědi. V tomto případě je styl Doplňovačka ze seznamu nahrazen stylem Řádková doplňovačka. Takový typ otázky lze zjevně definovat i pomocí jeho nadřazeného typu, zde se ovšem jedná o specifikum LMS Unifor, který tyto dva typy otázek rozlišuje. Způsob definice výběru odpovědi zůstává stejný jako u Doplňovačky ze seznamu.
Obrázek 4.5: Generování „řádkové doplňovačky“
13
4.1.5
Otázka s úkolem seřadit dané položky
U tohoto typu otázky je třeba po odstavci se stylem Nadpis 2 – Otázka uvést několik odstavců se stylem Seřazovačka. Na konec každého z odstavců patří kulaté závorky s číslem udávajícím správné pořadí položky v dané posloupnosti. Pořadí, v jakém jsou odstavce uvedeny, slouží k určení pořadí, v jakém se jednotlivé položky mají zobrazit v LMS Unifor. Proto je třeba použít uvedená čísla v závorkách pro specifikaci správné odpovědi. Pokud by LMS určoval pořadí položek k seřazení náhodně, postačilo by v definici otázky tohoto typu uvést ony položky tak, jak jdou za sebou, čímž by odpadla nutnost definice pořadí v závorkách u každé položky. Položky k seřazení jsou generovány jako seznam pro výběr. Po klepnutí na položku se tato přenese do prvního volného textového pole vpravo (viz obrázek 4.6).
Obrázek 4.6: Generování otázky s úkolem seřadit dané položky Pokud tvůrce testu zadá odstavce s položkami k seřazení formátované kurzívou, otázka se v LMS Unifor zobrazí dle obrázku 4.7. Zkoušený pak vybírá položky na dané pořadí z rozbalovacího seznamu.
Obrázek 4.7: Druhý typ generování otázky s úkolem seřadit dané položky
14
4.1.6
Otázka typu „esej“
Tento typ otázky je v dokumentu definován namísto stylu Nadpis 2 – Otázka stylem Ručně definovaná otázka, protože zde není potřeba dalších odstavců, které v předchozích případech určovaly typ otázky. To při převodu usnadňuje analýzu dokumentu, která probíhá po odstavcích.
Obrázek 4.8: Generování otázky typu „esej“
4.1.7
Obrázky k otázkám
Ke každé otázce může být přidán obrázek pomocí odstavce se stylem Obrázek k otázce. Tento odstavec musí být u otázky posledním odstavcem. Obrázek musí být při vložení propojen s dokumentem (viz obrázek 4.9), protože převodník čte obrázek z původního souboru formátu GIF, JPEG či PNG. Původní soubor s obrázkem tedy musí být pro převod dostupný, z tohoto důvodu je také vhodné jej před vložením a propojením uložit do stejné složky jako dokument s testem, Microsoft Word si pak při vkládání takového obrázku uloží relativní cestu k jeho souboru. To umožňuje přenos dokumentu a jeho převedení na jiném stroji.
Obrázek 4.9: Ukázka vložení a propojení obrázku v aplikaci Microsoft Word
15
Obrázky mohou být použity také jako možnosti u otázek s výběrem jedné či více správných odpovědí (viz podkapitola 4.1.1 a 4.1.2). Obsahem odstavců se stylem Jedna správná odpověď (ABCD) či Více správných odpovědí (ABCD) tedy může být text i obrázek, ovšem s podmínkou, že obrázek bude na začátku odstavce s možností.
4.2 Aplikace pro převod Vytvořený dokument s testem lze prostřednictvím převodníku s jednoduchým ovládáním převést do formátu XML. Výsledný XML soubor pak bude možné použít pro generování testu na webu LMS Unifor.
4.2.1
Vzhled a ovládání aplikace
Obrázek 4.10: Vzhled aplikace Po spuštění aplikace se zobrazí jednoduché okno (viz obrázek 4.10). Uživatel si vybere typ vstupu a výstupu, zadá vstupní a výstupní soubor a klepnutím na tlačítko převést zahájí převod. Typ vstupu je prozatím k dispozici pouze jeden, a to formát starších verzí produktu Microsoft Office Word. Jako typ výstupu lze zvolit buď XML pro import testu do LMS Unifor, nebo zadání testu v DocBooku. V budoucnu může dojít k rozšíření podpory typů o formáty OpenDocument a OOXML na vstupu, výstup převodníku bude vhodné obohatit o testy odpovídající standardu IMS QTI (stejně jako by bylo vhodné
16
zavést podporu tohoto standardu v LMS Unifor). Pak bude možné s pomocí šablony dokumentu generovat testy kompatibilní s různými e-learningovými systémy.
Obrázek 4.11: Diagram případů užití
4.2.2
Jádro aplikace
Jádro převodníku je tvořeno dvěma hlavními částmi. Tou první je třída Test, která slouží především jako rozhraní pro třídy pracující s různými typy testů na vstupu. Obsahuje atributy pro název a popis testu. Dalším atributem je kolekce (seznam) otázek. K dispozici jsou také metody pro nastavení či získání hodnot atributů a metoda pro přidání otázky. Druhou částí je modul Questions s třídami reprezentující jednotlivé typy otázek. Ten obsahuje třídu Question, ze které jsou zděděny ostatní třídy pro konkrétní otázky. Podrobný diagram tříd lze nalézt v příloze A.
17
4.2.3
Modul pro načtení testu
Aplikace obsahuje prozatím jeden modul pro načtení testu, a to testu vytvořeného jako dokument Microsoft Word. Hlavní třídou modulu je třída DocTest, která dědí ze zmíněné třídy Test. Při vytvoření objektu této třídy je spuštěna aplikace Microsoft Word a v ní načten dokument, jehož cesta byla předána konstruktoru. Následuje vytvoření pomocné třídy Paragraph, která slouží k usnadnění práce s příslušným COM objektem. Posléze začíná analýza dokumentu odstavec po odstavci a na základě jejich stylů je načten z prvních dvou odstavců název testu a jeho popis a z těch ostatních postupně všechny otázky. Vyskytne-li se v dokumentu při analýze otázka naformátovaná jinak, než je uvedeno v návodu k práci se šablonou (viz podkapitola 4.1), dojde k výjimce se zprávou obsahující text otázky a krátký popis chyby. Výjimka je na nejvyšší úrovni aplikace odchycena, načež se převod testu zastaví a v grafickém uživatelském rozhraní se zobrazí zpráva o chybě se zmíněným textem. Uživatel tak může v dokumentu vyhledat danou otázku, opravit její formátování dle návodu a spustit převod znovu.
4.2.4
Modul pro export testu do XML
Po načtení testu do paměti ve formě instance třídy Test je na řadě export testu. První možností je export do souboru XML podle navrženého XML Schema. Návrh XML Schema speciálně pro import testu do LMS Unifor není zrovna šťastným řešením, ale spíše zbytečným odkloněním se od existujících standardů. Nicméně zadavatel práce trval na novém XML Schema bez ohledu na standardy, což se dá také pochopit s ohledem na jejich složitost. Součástí modulu pro export do XML je jediná třída XMLExporter, ve které se dvě metody starají o sestavení XML dokumentu z předaného testu a jeho zápisu do daného souboru. Stejně jako při analýze dokumentu Microsoft Word jsou nejprve načteny název a popis testu a vytvořeny příslušné uzly v XML dokumentu. Poté je vytvořen uzel pro každou z otázek a jeho poduzly dle typu dané otázky. Připojené obrázky jsou uloženy v rámci XML v kódování base64. Ukázku výstupního XML lze nalézt v příloze B.
18
4.2.5
Modul pro export testu do DocBooku
Druhou a zatím i poslední možností exportu je formát DocBook. Výstupem pro tento formát je test formátovaný podobně jako v převáděném dokumentu. XML kód generuje třída DocBookExporter, která je potomkem třídy XMLExporter. Má navíc jednu metodu, která provede uložení všech obrázků připojených k převáděnému dokumentu do složky s výsledným XML souborem.
19
Kapitola 5
Závěr Hlavním cílem této práce bylo vytvoření aplikace pro převod elektronických testů z formátu Microsoft Office Word do XML. Pro výstupní dokument bylo třeba prostřednictvím XML Schema navrhnout vhodnou strukturu, která bude dále využita pro implementaci importu testů do komerčního LMS Unifor. Výsledkem je jednoduchá aplikace s výběrem vstupních a výstupních formátů v navrženém GUI. Součástí práce je také popis jednotlivých typů otázek, které je možné definovat v rámci dodané šablony, a návod k instalaci aplikace a její obsluze. Vytvořený převodník elektronických testů lze rozšířit o možnost převodu z dalších formátů i exportu testů do jiné podoby. Vhodnými kandidáty pro rozšíření podpory vstupních dokumentů jsou standardy OpenDocument a OOXML, pro export pak specifikace IMS QTI, která umožní použití převedených testů i v jiných e-learningových prostředích.
20
Literatura [1] KOPECKÝ, Kamil. Blended learning jako skutečně efektivní přístup ke vzdělávání [online].
Olomouc:
10.
12.
2007
[cit.
17.
11.
2009].
Dostupné
na:
.
[2] iHNed [online]. Češi a počítačová gramotnost. Praha: Economia, 20. 4. 2009 [cit. 17. 11. 2009]. Dostupné na: .
[3] Microsoft [online]. COM: Component Object Model Technologies. [cit. 11. 11. 2009]. Dostupné na: . [4] HARMS, Daryl, MCDONALD, Kenneth. Začínáme programovat v jazyce Python. Přel. Ivo Fořt a Lubomír Škapa. 2. upr. vyd. Brno: Computer Press, 2008. 456 s. ISBN 978-80-251-2161-0. [5] RAY, Erik T. Learning XML. Second Edition. Sebastopol : O'Reilly, 2003. 416 s. ISBN 0-596-00420-6, ISBN 978-0-596-00420-0. [6] OpenDocument.cz [online]. Co je Open Document Format (OpenDocument, ODF). [cit. 15. 5. 2010]. Dostupné na .
[7] KOSEK, Jiří. XML pro každého [online]. Pod pokličkou ODF a OOXML. 21. 10. 2007
[cit.
15.
5.
2010].
Dostupné
na
2007europen2>.
[8] The ODF Toolkit Project [online]. What is ODF Toolkit. [cit. 15. 5. 2010]. Dostupné na . [9] KIELY, Don. What's New in Microsoft Office Word 2003 for Developers? Microsoft
21
[online]. 2003 [cit. 16. 5. 2010]. Dostupné na .
[10] KOSEK, Jiří. XML pro každého [online]. Office Open XML. 9. 10. 2008 [cit. 14. 5. 2010]. Dostupné na . [11] BERNARD, Borek. Open XML SDK 2.0 je k dispozici. Zdroják [online]. 17. 3. 2010 [cit. 14. 5. 2010]. Dostupné na: .
[12] PITNER, Tomáš. E-learning na Masarykově univerzitě (2). Zpravodaj ÚVT MU. ISSN 1212-0901, 2003, roč. XIII, č. 3, s. 14-16. [13] DRÁŠIL, Pavel, et al. Relevantní standardy v oblasti e-Learningu : Technická zpráva CESNETu číslo 24/2004. CESNET [online]. 2004, 24, [cit. 17. 5. 2010]. Dostupné na:
elearning24.pdf>.
[14] KOPECKÝ, Kamil. The Sharable Content Object Reference Model (SCORM) [online]. [cit.
17. 5. 2010]. Dostupné na: .
[15] IMS Global Learning Consortium [online]. IMS Question & Test Interoperability Specification. [cit. 17. 5. 2010]. Dostupné na: .
22
Příloha A
Diagram tříd
23
Příloha B
Ukázka výstupního XML Krátký test Demonstrace krátkého testu převedeného do XML. Přeložte text: <parts> <part> Jsem nemocen. - <part> Jsi doma?To je vše.Které dny jsou pracovní?OSPSeřaďte dny tak, jak jdou za sebou v týdnu:OSP
25
Příloha C
Uživatelský manuál C.1 Instalace Pro převod z formátu Microsoft Word je třeba mít nainstalovánu tuto aplikaci. 1. Nainstalujte Python ve verzi 2.6.2 nebo vyšší. Instalační soubor je ke stažení na http://python.org/download.
2. Nainstalujte rozšíření pywin32, které je k dispozici na http://sourceforge.net/ projects/pywin32.
3. Nainstalujte
rozšíření
wxPython,
to
najdete
na
http://wxpython.org/download.php#binaries.
Po instalaci spusťte soubor src/testconverter.pyw.
C.2 Ovládání Po spuštění aplikace vyberte typ vstupu, typ výstupu, vstupní soubor, zadejte adresu výstupního souboru a klepnutím na tlačítko Převést zahajte převod a vyčkejte na jeho dokončení. Vyskytne-li se při převodu chyba s textem otázky, otevřete dokument s testem a příslušnou otázku opravte.