Wiki2scorm - entwicklung - Archiv

Aus Philo Wiki
Wechseln zu:Navigation, Suche

projekt wiki2scorm

Hinweise

Beispiele

Die ADL Initiative hat ein Paket an Beispielen zur Verfügung gestellt, die als .zip-Dateien downloadbar sind [zip, 913 kb]:

Inhalt:


MultipleAssets: eine Sammlung von Assets in einem Content Package (Resource Package Profile). [zip, 40 kb]

MultipleSCO: mehrere SCOs in einem Content Package zusammen gepackt (Resource Package Profile). [zip, 89 kb]

SingleAsset: ein einzelnes Asset in einem Content Package (Resource Package Profile). [zip, 18 kb]

SingleAsset_MultipleFile: ein Asset, das aus mehreren Dateien besteht, gepackt in einem Content Package (Resource Package Profile). [zip, 76 kb]

SingleCourse: ein Kurs zu einem Content Package zusammen gepackt (Content Aggregation Package Profile). [zip, 471 kb]

SingleExternalSCO: ein externes, gepacktes SCO (Resource Package Profile) [zip, 8 kb]

SingleLocalSCO: ein internes, gepacktes SCO (Resource Package Profile) [zip, 63 kb]

SingleLocalSCO_MultAssets: ein internes SCO, das aus mehreren Assets besteht, gepackt in einem Content Package (Resource Package Profile) [zip, 63 kb]

SingleLocalSCO_SingAsset: ein internes SCO, das aus einem Asset besteht, gepackt in einem Content Package (Resource Package Profile) [zip, 60 kb]


WYSIWYG (What you see is what you get)

als Alternative zu WikiML & Co:

(anmerkung ml: ein wysiwig editor kann eine alternative zu wikiml sein, aber nicht zu yaml. bei yaml und co geht es nicht um sichtbare formatierungen sondern um (auch) maschinenlesbare (meta)daten. was wäre die wysiwyg variante von yaml ? was genau sollte man beim editieren sehen so wie man es bekommt ? allerdings liesse sich mit analoger javascript programmierung eine unterstützung für's yaml editieren denken. zb zum anzeigen von möglichen werten. ich denke yaml liesse sich durchaus auch in einem editor einsetzen in dem sichtbare formatierungen wysiwig mässig gehandhabt werden. genaugenommen ist auch wysiwyg und wikiml nicht unbedingt ein widerspruch: ein wysiwyg editor könnte statt html code wikiml code erzeugen.)

schritte

  • script zum erstellen einer scorm datei: in dateien bestehende dokumente und xml metatinformation in ein zip-archiv verpacken.
  • dokumente (html) und xml metainformation optional aus web
  • xml packaging info generieren
  • metainfo edit für anwender
  • handling von grafiken etc in html
  • handling von html referenzen bei dokumenten aus verschiedenen urls
  • wiki integration


arbeitsbereiche

scorm xml

a) welche xml abschnitte betreffen vom script gehandelte entitäten und müssen von script erstellt werden. vermutlich: dokumentbestandteile

http://www.imsglobal.org/content/packaging/

b) welche xml abschnitte betreffen informationen die vom anwender bereit gestellt werden (aber sonst in der programmlogik keine rolle spielen).

vermutlich zb: autor

metadaten: http://www.imsglobal.org/metadata/imsmdv1p2p1/imsmd_infov1p2p1.html

c) welche xml abschnitte können vorerst konstant bleiben, oder sind vorerst nicht notwendig.

imsmanifest.xml

bis zu vier elemente (man sollte alle angeben, auch wenn sie leer sind):

  • <metadata>
  • <organizations>
  • <resources>
  • <manifest> (Sub-Manifest)


die "imsmanifest.xml" von "bt_scorm" ( http://timaios.philo.at/wiki_stuff/bt_scorm.zip ):

<?xml version="1.0" encoding="utf-8"?>
<!--Generated by ILIAS XmlWriter-->
<manifest identifier="il_1583_man_145" version="" 
          xsi:schemaLocation="http://www.imsproject.org/xsd/imscp_rootv1p1p2 imscp_rootv1p1p2.xsd 
                              http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd 
                              http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd">
  <organizations>
    <organization identifier="il_1583_lm_145" structure="hierarchical">
      <title>Big Typescript</title>
      <item identifier="INDEX" identifierref="RINDEX">
        <title>Big Typescript</title>
      </item>
    </organization>
  </organizations>
  <resources>
    <resource identifier="RINDEX" type="webcontent" adlcp:scormtype="asset" href="res/index.html"></resource>
  </resources>
</manifest>

ein weiteres "imsmanifest.xml": http://timaios.philo.at/wiki/index.php/README.Hegel:_imsmanifest.xml

xml info via script

xml info via anwender

dokument, inhalt

dokument, zugriff

local: open

#!/usr/bin/env python

f = open('test.py')
print f.read()


web: urllib (python docs library reference 11.4) (eventuell urlretrieve)

#!/usr/bin/env python

import urllib

f = urllib.urlopen('http://www.python.org')
print f.read()

archiv handling

wie docs (html files) und metainformation (xml files) im script in zip file ? vermutlich mit:

zipfile (python docs library reference 7.18)

testscript: zip archiv erzeugen, mehrere dateien hinzufügen

#!/usr/bin/env python

import zipfile

list = [ 'test1.txt', 'test2.txt', 'test3.txt' ]

zip = zipfile.ZipFile('test.zip', 'w')

for l in list:
    zip.write(l)

zip.close()

wie kann man einen ordner zippen? (daniel)

   zip.write( l, 'xxx/' + l)


das meinte ich! hier wird alles aus dem ordner ('xxx/') ausgelesen, auch unterordner. (daniel)

#!/usr/bin/env python

import distutils.archive_util

distutils.archive_util.make_zipfile('test', 'xxx/')

wiki install, admin

wiki plugin's

Wir gehen derzeit (Stand 2005-04-23) von einer Basisintegration unseres Projekts ins MoinMoin-Wiki aus, denn dieses ist Python-basiert. Die wichtigste Anwendungen für ein Plugin wäre das Formular in das die Metadaten eingetragen werden. Allerdings haben wir auch andere Möglichkeiten (WikiML) in Betracht gezogen.

Angesichts der überwältigenden Anzahl an Wiki Engines stellt es eine vorweggenommen starke gegebene Begrenzung dar uns auf plugin-fähige (Python-basierte) Wikis einzuschränken.

scorm import tests