Moodle開発者フォーラム

Moodle backup file を yaml 形式に

 
画像 Takayuki ISHIKAWA
Moodle backup file を yaml 形式に
Developers

Moodle course の backup file の内容を単一の yaml 形式に変換する program を作っています。これは、以前この日本語 forum で話題を出した course scraper の構想を引き継ぐものです。

実は以前同様のものを作って某所で発表したこともあるのですが、以前作っていたものはその処理順序に難があり、一から作り直しているところです。

今のところ、backup file (の中に含まれている xml files) の内容を全てひっくるめて単一の yaml 形式に変換するところまでできています。具体的には、

---
course/course.xml:
course:
ATTR_id: '2'
ATTR_contextid: '18'
shortname: t01
fullname: temp01
idnumber: {}
〔中略〕
category:
ATTR_id: '1'
name: "その他"
description: "$@NULL@$"
tags: {}
course/enrolments.xml:
enrolments:
enrols:
enrol[0]:
ATTR_id: '1'
enrol: manual
status: '0'
name: "$@NULL@$"
enrolperiod: '0'
enrolstartdate: '0'
〔後略〕

という感じの出力が得られます。yaml 形式ですので、yaml library を持つ任意の言語で内容を取り出すことができます。

今後、UNIX time 情報を可読性が高い形式に変換したり、初期値なるものを設定することで初期値と同じ情報を省略したりすることで、もっと扱いやすい yaml file にしたいと考えています。最終的には、これの逆変換 (yaml file → course backup file) を行うことで、Moodle course の内容を任意の言語で自動生成できるようにしたいです。

また開発が進みましたらここに投稿させていただきます。ご意見頂けると幸いです。(変換 program の公開はしばらくお待ち下さい。)

 
最大評点: -