Wiki2scorm - entwicklung - Archiv
Inhaltsverzeichnis
projekt wiki2scorm
Hinweise
- http://www.heise.de/newsticker/result.xhtml?url=/newsticker/meldung/58992
- http://en.wikipedia.org/wiki/YAML
- http://www.yaml.org/
- http://www.pyyaml.org/
- http://trac.edgewall.com/
- http://www-106.ibm.com/developerworks/xml/library/x-syntax.html
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.)
- widgEditor: HTML-Editor mittels Style-Sheets und Javascript
- WYSIWYG comes to Safari 1.3 (funktioniert ab Mac OS X 10.3.9)
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" (von herbert):
<?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>
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/')