Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Matemaattis-luonnontieteellinen Tekijä Författare Author Pekka Simola Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos Oppimateriaalin kokoaminen ja paketointi Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Seminaarialustus 14.4.2004 8 sivua Tiivistelmä Referat Abstract Oppimisteknologisten tietokantasovellusten kurssikokonaisuudet koostuvat yhdestä tai useammasta komponentista, joiden laajuus vaihtelee kurssista tehtävään. Komponenttien levittämisen helpottamiseksi materiaalin kokoaminen ja paketointi tulisi tehdä standardoidusti. Tässä kirjoitelmassa perehdytään IMSyhtymän paketointimäärittelyyn, jonka mukaisesti materiaali kootaan joko yhteen tiedostoon tai yhdelle siirrettävälle medialle, esimerkiksi cd-levylle. Näin muodostettu paketti tulee vielä varustaa luettelolla, joka kuvaa sisällön tyypin, rakenteen ja sen sisältämät resurssit. Luettelo toteutetaan käyttäen XMLkuvauskieltä. Avainsanat Nyckelord Keywords Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information
Sisältö ii 1 johdanto 1 2 Oppimateriaalipaketin laatiminen 1 2.1 Luettelon rakenne............................. 3 2.2 Paketin koostaminen........................... 6 3 Yhteenveto 7 Lähteet 8
1 johdanto 1 Opetusteknologian tietokantasovellukset ovat interaktiivisia sovelluksia, joiden eri osat voivat olla lähtöisin eri lähteistä. Osat voivat olla esimerkiksi kursseja, asiakokonaisuuksia tai tehtäviä. Opetuksellisten osien löytämisen helpottamiseksi osat tulisi pakata ja jopa levittää standardoidusti. Paketointi tarkoittaa yhteen pakettiin kuuluvien osien kokoamista yhdeksi levitettäväksi yksiköksi, kuten esimerkiksi tiedostoksi. Oppimateriaalin levitykseen kuuluu olennaisena osana liikuteltavan tiedon tunnistaminen, joten pakettiin on liitettävä jokin sisältöä kuvaava tiedosto mukaan. Olisi myöskin hyödyllistä jos pakkaus- ja kuvaustavat olisivat standardoidut. Tässä kirjoitelmassa perehdytään oppimateriaalin kokoamiseen ja paketointiin. Päälähteenä käytetään IMS Global Learning Consortiumin paketointimääritelmää 1.1.3 [And03, AnB03, Was03]. Kaikki tämän kirjoitelman esimerkit on kopioitu sellaisinaan määritelmistä, toisinaan hieman lyhentäen muutoin ylisuuria esimerkkejä. Kirjoitelman lukijan oletetaan pystyvän lukemaan XML-kuvauskieltä välttävästi, sillä esimerkit ovat XML-kielisiä. Tämän kirjoitelman toisessa luvussa tarkastellaan IMS-yhtymän määritelmää kokoamisesta ja paketoinnista. Kirjoitelman lopussa on lyhyt yhteenvetoluku. 2 Oppimateriaalipaketin laatiminen Opetukselliset kokonaisuudet on tapana levittää paketeissa, joissa on mukana sekä sisältö että sisällön määrittely. Sisällön määrittelyyn kuuluu mm. metatieto, joka on tietoa tiedosta. Varsinainen sisältö koostuu tiedostoista ja näiden hakemistoista. IMS-yhtymän paketointitietomalli määrittelee nämä palaset tarkasti [And03]. Määrittelyosaa kutsutaan luetteloksi (manifest), ja sen sisältönä on metatieto-
2 osuus, rakenneosuus, resurssiosuus sekä mahdolliset aliluettelot (submanifests). Sisältöosassa sijaitsevat fyysiset tiedostot, eli paketin varsinainen sisältö. Fyysistä pakettitiedostoa sanotaan paketinsiirtotiedostoksi (Package Interchange file, PIF). Jatkossa sanoja paketti ja paketinsiirtotiedosto käsitellään kuin ne olisivat synonyymit. Kuvassa 1 on kuvattu IMS-määritelmän mukaisen PIF-tiedoston (jota ei tule sekoittaa pif-päätteisiin tiedostoihin) rakenne. Lettelo-osuus voi olla joko yksi tiedosto tai sellaisten joukko. Seuraavaksi käymme läpi luettelo-osuuden rakenteen, minkä jälkeen on vuorossa varsinaisen paketoinnin läpikäynti. Kuva 1: Paketinsiirtotiedoston (PIF) rakenne [And03]
3 2.1 Luettelon rakenne Luettelotiedosto on IMS-yhtymän määritelmässä toteutettu XML-kuvauskielellä [And03]. Luettelo itsessään on XML-elementti nimeltään manifest. Jokainen luettelo sisältää neljä pakollista osaa, jotka esiteltiin aiemmin. IMS on määritellyt jokaisen osan sisällön [Was03], mutta tarvittaessa voidaan käyttää omiakin elementtejä ja attribuutteja [AnB03]. Seuraavaksi kerrotaan tarkemmin jokaisen osan sisältö. Metatieto-osuus on kuvaus luettelosta itsestään [And03]. Metatieto on XML-elementti nimeltään metadata. Esimerkiksi luettelon nimike (title) määritellään metatiedossa. Myöskin luettelon kieli ja muut vastaavat seikat voitaisiin määritellä metatietoosuudessa. Alla on englanninkielinen esimerkki metatieto-osuudesta. Esimerkissä kuvataan IMS-määritelmän mukainen paketti (IMS content). <metadata> <schema>ims Content</schema> <schemaversion>1.1</schemaversion> <imsmd:record> <imsmd:general> <imsmd:title> <imsmd:langstring xml:lang="en-us">simple Manifest</imsmd:langstring> </imsmd:title> </imsmd:general> </ims:record> </metadata> Esimerkissä on määritelty IMS-määritelmän (schema) mukainen luettelo nimeltään (title) Simple Manifest [AnB03, Was03]. Elementeissä imsmd tarkoittaa IMSmetatietoa (IMS Metadata, IMSMD). Määritelmän mukaisesti vaadittuja elementtejä ovat schema ja schemaversion, jotka kertovat, mitä tietoa paketti sisältää
4 (esimerkissä IMS:n määrittelemää sisältöä) [AnB03]. Muut elementit voivat olla IMS:n määritelmän mukaisia tai jonkin muun määritelmän mukaisia metatietoelementtejä. IMS:n määrittely ja nimiavaruusmäärittely sijaitsevat osoitteessa http://www.imsglobal.org/xsd/imscp_v1p1 [Was03]. Rakenneosuus kuvaa paketin rakenteen (structure, organization) ja on metatiedon tapaan elementti itsekin, nimeltään organizations [AnB03]. Kuten elementin englanninkielisestä nimestä voi päätellä, voi rakenteita olla useita. Jokainen yksittäinen rakennekuvaus on organization-niminen elementti. Organizationselementtiin liittyy pakollinen attribuutti default, joka ilmaisee oletusrakenteen. Jokaiseen yksittäiseen rakennekuvaukseen liittyy attribuutti identifier, joka kertoo rakennekuvauksen tunnisteen. Yksittäisen rakennekuvauksen alielementit kuvaavat paketin rakennetta loogisella tasolla, eli resursseille määritellään nimet, muttei varsinaista fyysistä sijaintia. Alla on hieman karsittu esimerkki rakennekuvauksesta. <organizations default="toc1"> <organization identifier="toc1" structure="hierarchical"> <title>default</title> <item identifier="item1" identifierref="resource1" isvisible="true"> <title>lesson 1</title> <item identifier="item2" identifierref="resource2" isvisible="true"> <title>introduction 1</item> </item> </item> <item identifier="item5" identifierref="resource5" isvisible="false"> </item> </organization> </organizations>
5 Esimerkissä on asetettu oletusrakenteeksi TOC1 (ilmeisesti Table of Contents 1). Jälleen kerran varsinaista tietosisältöä rakenne-elementin (organization) sisällä ei ole määritelty, joten sen oletetaan olevan joko IMS:n tai jonkun muun tahon määritysten mukaista [AnB03]. IMS:n mallin mukaan jokaisella rakenteella tulisi olla elementit title (otsake) ja item (osanen). Esimerkissä kukin osanen on tunnistettu identifier-attribuutilla ja tunnisteen viittaama kohde on tunnistettu identifierref-attribuutissa. Attribuutti isvisible määrittelee osasen näkyvyyden. Resurssiosuus määrittelee osasten fyysiset sijaintitiedostot [AnB03]. Rakenneosuuden viittaus (identifierref) yhdistetään resurssiosuudessa paketin tiedostonnimiin ja hakemistoihin. Resurssia ilmaistaan XML-elementillä resource, ja useat resurssit kootaan resources-elementin sisälle. Elementtiin resources voi liittyä attribuutti xml:base, joka ilmaisee hakemistopolun, josta paketin tiedostoja etsitään. Alla on esimerkki resurssiosuudesta. <resources> <resource identifier="resource1" type="webcontent" href="lesson1.htm"> <file href="lesson1.htm"/> </resource> <resource identifier="resource2" type="webcontent" href="intro1.htm"> <file href="intro1.htm"/> </resource> </resources> Esimerkissä resurssien identifier-attribuuttien arvot viittaavat rakenneosan identifierref-attribuuttien arvoihin. Attribuutti type määrittelee resurssin tyypin, joka esimerkin kaikissa resursseissa on www-pohjaista (webcontent) [AnB03].
6 Attribuutti href on viittaus varsinaiseen tiedostoon hakemistorakenteineen. Resurssielementin resource alle IMS on määritellyt kolme alielementtiä, metadata, file ja dependency. Näistä keskimmäinen yksinkertaisesti määrittelee fyysisen tiedoston, jossa resurssi sijaitsee. Metadata-elementin sisälle voidaan laittaa resurssia kuvaavaa metatietoa jos tarvetta ilmenee. Dependency ilmaisee yksittäisen resurssin, joka on kyseisen resurssin toiminnan tai ulkoasun kannalta välttämätön. Tällöin elementille tulee attribuutti nimeltään identifierref, jonka arvoksi tulee vaaditun resurssin identifier-attribuutin arvo. Alla yhden resurssin sisältävä esimerkki välttämättömyyden ilmaisusta. <resource identifier="r_a2" type="webcontent" href="sco1.html"> <metadata/> <file href="sco1.html"/> <dependency identifierref="r_a5"> </resource> Yllä olevassa esimerkissä on esitetty resurssi, tässä tapauksessa html-muotoinen tiedosto, joka vaatii toimiakseen toisen resurssin, esimerkiksi kuvatiedoston. Esimerkissä on myös esitelty metatieto-elementin (metadata) käyttö resurssien yhteydessä, joskin tässä tapauksessa metatieto-elementti on tyhjä eli ei sisällä tietoa. 2.2 Paketin koostaminen IMS:n määrittelyn mukaisesti jaettava paketti voi olla joko yksi tiedosto tai jokin siirrettävä media kuten cd-levy [And03]. Kumpaankin levitystapaan liittyy omat niksinsä, mutta määritelmä ei oikeastaan vaadi huipputeknologian käyttöä toteuttajalta. Yhden tiedoston levitystapaa suositellaan luonnollisesti käytettäväksi www-poh-
7 jaisessa levityksessä [And03]. Paketin tulisi sisältää luettelotiedosto nimeltä imsmanifest.xml sekä varsinainen tietosisältö jaoteltuna luettelon kuvaamalla tavalla esim. hakemistoihin. Paketti tulisi olla pakattu johonkin yleiseen muotoon, kuten zip, jar tai cab -tiedostoksi. Suositus tiedostomuodoksi on PKZip v2.04g. Kaikkien zip-päätteisten tiedostojen tulee olla määritelmän RFC1951 mukaisia. Siirrettävää mediaa voidaan käyttää esimerkiksi kurssikokonaisuuden tai -kokonaisuuksien paketoinnissa ja siirtämisessä oppilaitoksen sisällä tai oppilaitosten välillä [And03]. Tällöin sisältöä ei pakata PIF-tiedostoksi. Tämän sijaan tiedostot sijoitetaan sellaisinaan medialle tarvittavan hakemistorakenteen alle. Luettelotiedosto ja kaikki muut tarvittavat XML-tiedostot, kuten DTD ja XSD -tiedostot, sijoitetaan juurihakemistoon. 3 Yhteenveto Opetusteknologinen materiaalipaketti on suositeltu koottavaksi yhteen tiedostoon l. pakettiin, jonka voi laittaa jakeluun esim. www-pohjaisesti. Pakettiin tulisi varsinaisten tiedostojen lisäksi sisällyttää tietoa paketista itsestään, kuten esimerkiksi rakennetietoa. IMS:n määritelmän mukaisesti tämä tehdään pakettiin liitettävällä XML-tiedostolla eli luettelolla. Varsinainen paketointi voidaan tehdä tiivistämällä materiaali jollakin pakkausohjelmalla, kuten PKZipillä, yhdeksi tiedostoksi, jossa on imsmanifest.xml-niminen tiedosto mukana luettelona. Toinen tapa, jota ei suositella kuin lähinnä kokonaisuuksien siirtoon laitosten välillä, on koota materiaali jollekin liikuteltavalle medialle ja laittaa tämän juurihakemistoon kaikki luettelon vaatimat tiedostot.
Lähteet 8 And03 Anderson, T., et al. IMS content packaging information model version 1.1.3 final specification. http://www.imsglobal.org/ content/packaging/cpv1p1p3/imscp_infov1p1p3.html AnB03 Anderson, T., et al. IMS content packaging XML binding version 1.1.3 final specification. http://www.imsglobal.org/ content/packaging/cpv1p1p3/imscp_bindv1p1p3.html Was03 Wason, T., et al. Draft xsd for IMS content packaging version 1.1. http://www.imsglobal.org/content/packaging/ cpv1p1p3/xmlschemas/imscp_v1p1.xsd