Wiki2scorm - entwicklung - Archiv: Unterschied zwischen den Versionen

Aus Philo Wiki
Wechseln zu:Navigation, Suche
(hinweise)
(projekt wiki2scorm)
 
(32 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= projekt wiki2scorm =
 
= projekt wiki2scorm =
  
== hinweise ==
+
[[Diskussion:Arge_Computer_und_Philosophie_Projekte_2005]]<br />
 +
[http://phaidon.philo.at/viewcvs/?root=wiki2scorm Subversioning Tool für wiki2scorm]
  
http://www.heise.de/newsticker/result.xhtml?url=/newsticker/meldung/58992
 
  
http://en.wikipedia.org/wiki/YAML
+
== Hinweise ==
  
http://www.pyyaml.org/
+
* http://www.heise.de/newsticker/result.xhtml?url=/newsticker/meldung/58992
 +
* http://de.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
  
http://trac.edgewall.com/
+
=== SCORM - Beispiele ===
 +
 
 +
Die ADL Initiative hat ein Paket an Beispielen zur Verfügung gestellt, die als .zip-Dateien downloadbar sind [zip, 913 kb]:
 +
 
 +
* http://www.adlnet.org/downloads/57.cfm
 +
 
 +
'''Inhalt:'''
 +
 
 +
* '''MultipleAssets:''' eine Sammlung von Assets in einem Content Package (Resource Package Profile). [zip, 40 kb]
 +
 
 +
* '''MultipleSCO:''' mehrere SCORM-Objekte (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]
  
 
== schritte ==
 
== schritte ==
Zeile 41: Zeile 70:
  
 
vermutlich zb: autor
 
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.
 
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 ):
 +
 +
<pre>
 +
<?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>
 +
</pre>
 +
 +
ein weiteres "imsmanifest.xml": http://timaios.philo.at/wiki/index.php/README.Hegel:_imsmanifest.xml
  
 
=== xml info via script ===
 
=== xml info via script ===
Zeile 53: Zeile 120:
  
 
local: open
 
local: open
 +
 +
<pre>
 +
#!/usr/bin/env python
 +
 +
f = open('test.py')
 +
print f.read()
 +
</pre>
 +
  
 
web: urllib (python docs library reference 11.4)
 
web: urllib (python docs library reference 11.4)
 
(eventuell urlretrieve)
 
(eventuell urlretrieve)
 +
 +
<pre>
 +
#!/usr/bin/env python
 +
 +
import urllib
 +
 +
f = urllib.urlopen('http://www.python.org')
 +
print f.read()
 +
</pre>
  
 
=== archiv handling ===
 
=== archiv handling ===
Zeile 64: Zeile 148:
  
 
testscript: zip archiv erzeugen, mehrere dateien hinzufügen
 
testscript: zip archiv erzeugen, mehrere dateien hinzufügen
 +
 +
<pre>
 +
#!/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()
 +
</pre>
 +
 +
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)
 +
 +
<pre>
 +
#!/usr/bin/env python
 +
 +
import distutils.archive_util
 +
 +
distutils.archive_util.make_zipfile('test', 'xxx/')
 +
</pre>
  
 
=== wiki install, admin ===
 
=== wiki install, admin ===
  
 
=== wiki plugin's ===
 
=== wiki plugin's ===
 +
 +
Wir gehen derzeit (Stand 2005-05-10) 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 (Wiki-Syntax) in Betracht gezogen.
 +
 +
Angesichts der überwältigenden [http://c2.com/cgi/wiki?WikiEngines Anzahl] an Wiki Engines stellt es eine vorweggenommen starke gegebene Begrenzung dar uns auf plugin-fähige (Python-basierte) Wikis einzuschränken. (Volker)
  
 
=== scorm import tests ===
 
=== scorm import tests ===

Aktuelle Version vom 17. Juni 2005, 04:45 Uhr

projekt wiki2scorm

Diskussion:Arge_Computer_und_Philosophie_Projekte_2005
Subversioning Tool für wiki2scorm


Hinweise

SCORM - 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 SCORM-Objekte (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]

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-05-10) 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 (Wiki-Syntax) 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. (Volker)

scorm import tests