Moodleで手書きレポートを提出 (pdf2submission + Moodle 2.5 on RHEL6)

喜多研Moodlepdf2submission をインストールし、動作確認に成功したので備忘録を兼ねて。全て「タダ」でできました。

これは何?

紙で提出された手書きレポートをMoodleで提出したことにできるソリューションです。

  1. Moodleで「課題」を作成し、pdf2submission ブロックでQRコードを含むレポートのカバーシートを印刷
  2. 学生がカバーシートを含んだレポートを提出
  3. レポートをスキャンしPDF化
  4. PDFをFTPでMoodleサーバにアップロード
  5. MoodleがQRコードの情報をもとに自動でPDFを分割し対応する課題、学生の領域にアップロード

必要なもの

  • Moodle(笑)
  • PDF出力可能なドキュメントスキャナ(Canon DR-150で動作確認)

Moodleの設定

Moodle 2.5+ (Build: 20130524) を RHEL6 で運用。

バックアップ

MySQLのダンプを保存。ソースコード, moodledata ディレクトリはコピーしておく。

convert, ghostscript のインストール

yum install ImageMagick ImageMagick-devel ghostscript

rpmforge リポジトリの追加と pdftk のインストール

sudo rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum install pdftk

EPELリポジトリの追加と zbarimg のインストール

sudo rpm -ivh epel-release-6-8.noarch.rpm
yum install zbar

pdf2submission のインストール

block_pdf2submission_moodle23_2012091400.zip を blocks/ に解凍し、「通知」をクリック。必要なテーブルが自動で生成される。pdfscan.php を編集。

[uep@kvm420 pdf2submission]$ diff pdfscan.php.dist pdfscan.php
14,17c14,17
< $zbarimg_command= "/usr/local/bin/zbarimg ";
< $convert_command= "convert";
< $gs_command= "gs";
< $pdftk_command= "pdftk";
---
> $zbarimg_command= "/usr/bin/zbarimg";
> $convert_command= "/usr/bin/convert";
> $gs_command= "/usr/bin/gs";
> $pdftk_command= "/usr/bin/pdftk";

pdfアップロード先ディレクトリの作成

デフォルトに従い /home/pdf2moodle/pdfs を作成する。当然のことながら、このディレクトリが apache から読めなければ何も始まらない。

adduser pdf2moodle
mkdir -p /home/pdf2moodle/pdfs
chmod 755 /home/pdf2moodle
chgrp apache /home/pdf2moodle/pdfs
chmod g+w /home/pdf2moodle/pdfs

動作確認

/home/pdf2moodle/pdfsにQRコードを含むPDFをアップロードすると、その中にさらにディレクトリが掘られ、pdftkでページ分割がなされているか確認する。分割されていなければ、apache のログを確認する。分割されていれば、そこからMoodleの課題にアップロードするところまでの障害は無いと思われる。

謝辞

本ブロックを開発された喜多 敏博教授ならびに Moodle.org 各位に厚く御礼申し上げます。