Featured image of post Mein erster H5P Content Type

Mein erster H5P Content Type

Manchmal ist es einfach ein gutes Gefühl, Projekte abzuschließen - Sofern man beim Programmieren vom “Abschließen” sprechen kann.

Nachdem ich gestern eine größere Version vom miniworldmaker committed habe, folgt nun die erste Alpha meines ersten H5P-Plugins, genauer gesagt meiner Sammlung an H5P Plugins.

Das Plugin H5P-content-python-ide ist für mich zunächst das wichtigste. Es erlaubt es einen einfachen Python-Editor (mit Turtle-Grafik! mit processing über p5js!) per H5P einzubinden, z.B. in ein beliebiges Moodle.

Screenshot 1

Dabei habe ich verschiedene Plugins geschrieben, die Teilarbeiten übernehmen:

  • H5P-lib-skulpt kommuniziert mit der Javascript-Bibliothek Skulpt, welche Python einbinden.
  • H5P-lib-markdown rendert Markdown (Da der Editor kein code-Tag erlaubt, musste ich mir so behelfen)
  • H5P-lib-ace stellt den Editor und ggf. Buttons dar.

Screenshot 1

Wie man vielleicht sieht ist dies ein Projekt, welches einige Wochen in Anspruch genommen hat.

Den Quellcodefindet man hier und hier die H5P-Datei zum Einbinden in Moodle

Jetzt läuft der Editor aber in unserem Moodle und ich bin froh, dieses Projekt abgeschlossen zu haben.

Ein weiteres H5P-Plugin steht in den Startlöchern: H5P-lib-python-question überprüft Eingaben mit Hilfe von Testcases - Prinzipiell ist auch dieses Plugin “fertig”, erfordert aber noch einige Tests, bis ich es als wirklich fertig und stabil bezeichnen würde.

Screenshot 1

Screenshot 1

Ein paar Ideen gibt es auch schon zur Weiterentwicklung - Entsprechende Ideen habe ich mir offen gehalten: Ich überlege auch weitere Sprachen, z.B. SQL einzubinden. Das Grundgerüst steht und ich habe an verschiedenen Stellen die Schnittstellen bereits so entwickelt, dass auch eine weitere Bibliothek angeschlossen werden kann.

Zunächst muss ich mich aber erstmal wieder anderen Projekten widmen…

(An der Stelle auch ein Dank an M Degrange, er etwas ähnliches bereits programmiert hatte. Ich habe einige Ideen seiner Implementierung wieder aufgegriffen.)

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy