BlackBoardの問題のインポート

Re: BlackBoardの問題のインポート

- Yuichi Saotome の投稿
返信数: 0
五月女です.

学内からの要望で,BlackBoard(BB)からMoodleへ小テストの問題を移行しています.

環境は以下の通りです.
BB側
Blackboard Academic Suite, リリース7.2.383.40
バックエンドは不明
Moodle側
Moodle 1.8.4+ 080124版
PHP 5.2.4
Apache 2.2.6
Mysql 5.1.22-rc

手順としては,BB側で"コントロールパネル"の"テストマネージャ"から移行したい小テストを"エクスポート"し,Moodle側で小テスト管理画面の"インポート"から,"ファイルフォーマット"を"Blackboard V6+"と指定して,BBからエクスポートしたZIPファイルをアップロードしています.

多くの小テストは,この方法で移行できたのですが,一部がアップロード後に次の様なエラーが出力されてインポートに失敗してしまいました.

Fatal error: Cannot use string offset as an array in ./moodle/question/format/blackboard_6/format.php on line 379

Fatal error: Cannot use string offset as an array in ./moodle/question/format/blackboard_6/format.php on line 382

Notice: Undefined property: stdClass::$text in ./moodle/question/format/blackboard_6/format.php on line 569

Notice: Undefined property: stdClass::$text in ./moodle/question/format/blackboard_6/format.php on line 603


そこで,次の変更を加えた所インポートに成功しました.(赤字が修正した箇所)
./moodle/question/format/blackboard_6/format.php 379行目
if (isset($cur_block['#']['material']) && isset($cur_block['#']['material'][0]['#']['mattext'][0]['#'])) {

./moodle/question/format/blackboard_6/format.php 382行目
else if (isset($cur_block['#']['material']) && isset($cur_block['#']['material'][0]['#']['mat_extension'][0]['#']['mat_formattedtext'][0]['#'])) {

./moodle/question/format/blackboard_6/format.php 569行目
$fback->{$fb->ident} = isset($fb->text) ? $fb->text : '';

./moodle/question/format/blackboard_6/format.php 603行目
$fback->{$fb->ident} = isset($fb->text) ? $fb->text : '';

フォーラム等を検索してみましたが,似たような問題を見つけることができませんでした.
似たような問題に出会った方がいらっしゃいましたら,参考までに,その際の解決方法を教えていただけると助かります.

#Moodle1.9 beta 4でも試してみましたが,同様の問題が発生しました.