タグ: pdf2submission

  • 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 のインストール

    [code]yum install ImageMagick ImageMagick-devel ghostscript[/code]

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

    [code]sudo rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    yum install pdftk[/code]

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

    [code]sudo rpm -ivh epel-release-6-8.noarch.rpm
    yum install zbar[/code]

    pdf2submission のインストール

    block_pdf2submission_moodle23_2012091400.zip を blocks/ に解凍し、「通知」をクリック。必要なテーブルが自動で生成される。pdfscan.php を編集。
    [code][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";
    [/code]

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

    デフォルトに従い /home/pdf2moodle/pdfs を作成する。当然のことながら、このディレクトリが apache から読めなければ何も始まらない。
    [code]
    adduser pdf2moodle
    mkdir -p /home/pdf2moodle/pdfs
    chmod 755 /home/pdf2moodle
    chgrp apache /home/pdf2moodle/pdfs
    chmod g+w /home/pdf2moodle/pdfs
    [/code]

    動作確認

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

    謝辞

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