84
Moodle2 管管管管 超超 超超 管管管 管管管 [email protected] ([email protected]) 管管管管管管管管管管 管管管管管 管管 管管

20121116 第3回越中とやまmoodleワークショップ

Embed Size (px)

DESCRIPTION

Moodle管理2超入門

Citation preview

Page 1: 20121116 第3回越中とやまmoodleワークショップ

Moodle2 管理超入門白井 達也(しらい たつや)[email protected] ([email protected])

鈴鹿工業高等専門学校 機械工学科 白井 達也

Page 2: 20121116 第3回越中とやまmoodleワークショップ

Moodle2 管理超入門白井 達也(しらい たつや)[email protected] ([email protected])

日本ムードル協会( Moodle Association of Japan:MAJ ) 日本語広報担当理事 Twitter: @tatsuva, @maj_bot

Page 3: 20121116 第3回越中とやまmoodleワークショップ

Moodle2 管理超入門白井 達也(しらい たつや)[email protected] ([email protected])

moodle.org (Japanese Moodle コース ) facilitator

Page 4: 20121116 第3回越中とやまmoodleワークショップ

略歴 専門: ロボット工学1968 年 千葉県に生まれる1989 年 木更津工業高等専門学校 電子制御工学科卒業      ( N88-BASIC, Turbo Pascal, FORTRAN77, Z80 )1991 年 九州工業大学・情報工学部 知能情報工学科卒業      ( MS-DOS, Turbo C, Prolog, AWK, パソコン通信)1993 年 九州工業大学大学院・情報工学研究科      情報システム専攻修了(修士課程)       (TeX, UNIX, MS-Windows3.1, Emacs)同年   ソニー株式会社       FA ・精機事業本部 FA システム事業部 制御技術課       (PC-9821/MS-DOS, シーケンサ )1997 年 寿退社同年   広島大学大学院・工学研究科 情報工学専攻入学       (Win95/98, Borland C++ Builder, MATLAB)2001 年 修了 博士(工学)同年   鈴鹿工業高等専門学校・機械工学科着任      ( Win2k/XP, HTML, Apache)

Moodle には 2007 年 2 月に出会う (PHP, JavaScript)Linux(UNIX) や Web の専門家ではない.教育工学者でもない.

Page 5: 20121116 第3回越中とやまmoodleワークショップ

グループウェアが欲しかった

Page 6: 20121116 第3回越中とやまmoodleワークショップ

本校で2007年2月に三重大学の奥村教授が Moodle に関する講演を行なう.

研究室で使うグループウェアを探し続けていたところなので,早速,部屋に戻ってから情報収集,そのまま一気にインストール(できてしまった)

余剰のPC( Compaq DeskProEN, Pentium 866MHz, Ⅲ  30GB HDD, 386MB RAM, Windows2000)

非常に遅いが,一応,動作した.

Page 7: 20121116 第3回越中とやまmoodleワークショップ

世界中で利用されている

2003/6 2008/10

Martin Dougiamas 氏(オーストラリア)

が1999に開発開始

NIME の調査結果(2007年度)

LMS の利用状況 高専(大学) : 63.3%(34.7)

Moodle の利用率 高専(大学) : 31.5%(31.6%)

多言語化対応済み: 内部データは全て Unicode (UTF-8) に統一

Page 8: 20121116 第3回越中とやまmoodleワークショップ

開発リーダーのマーチン初来日 (2011/2 )

harahara.net/moodle.ppt

Martin Dougiamas 氏(オーストラリア)

日本ムードル協会( 2011/2 設立) 会長 原島教授(前橋工科大)

Page 9: 20121116 第3回越中とやまmoodleワークショップ

オープンソース+完全にフリーGPL に基づく(GNU General Public License)

(1) Moodle の 全ソースリストが公開されている

(2) 無料でダウンロードできる

(3) 改造(改良)が可能! 再配布も可能

http://moodle.org

タダより高いものは ...誰が責任とってくれるの!

公式に認定された企業と契約すればOK

Page 10: 20121116 第3回越中とやまmoodleワークショップ

高級すぎない(1) Web サーバ

(Apache, IIS など )

(2) PHP(サーバサイドスクリプト言語)

(3) Database (MySQL, PostgreSQL など )Java , Tomcat, JSF, Velocity, Spring, Hibernate, Ruby, Web2.0, AJAX... ?????

PHP は, C++ 言語を習得していれば,大まかに理解可能

Page 11: 20121116 第3回越中とやまmoodleワークショップ

サーバはPC1台からOK

例)  mechMoodleOptiPlex210L (Dell)  Pentium4 (2.8GHz)  2GB RAM, 300GB(SATA)50名弱の学生が同時にアクセス可能

OSはLinux , Mac OS, Windows が利用可能!

余っているPCはありませんか?

Page 12: 20121116 第3回越中とやまmoodleワークショップ

自分だけのサーバを持つ意味は?

1.学校が動くのを待っていられない

2.何ができるのか“徹底的に”  (=壊れるまで)試してみたい

3.人に管理されるのは嫌いだ

4.コンテンツの作成・チェックを手元で行いたい  (完成したらセンターにアップロード)

5.単なる新しいもの好き/負けず嫌い

Page 13: 20121116 第3回越中とやまmoodleワークショップ

Moodle による学校ポータルサイト構築

全世界 221 の国と地域

• オープンソース [GPL] のeラーニングシステム   →  (安価)+(手軽)+(高性能)• 仮想学習環境( Virtual Lerning Environment : VLE )    学校向けグループウェア/SNS≒

学習用途だけでは勿体ない!

CAI,コースウェア,ビデオ・オン・デマンドの遠隔学習教材

特に,教材 だという誤解を払拭したい

Page 14: 20121116 第3回越中とやまmoodleワークショップ
Page 15: 20121116 第3回越中とやまmoodleワークショップ
Page 16: 20121116 第3回越中とやまmoodleワークショップ
Page 17: 20121116 第3回越中とやまmoodleワークショップ
Page 18: 20121116 第3回越中とやまmoodleワークショップ

本日の話の流れは

http://f.hatena.ne.jp/pacsolution/moodle%E3%81%9F%E3%82%93/http://www.moodle-collegium.org/?p=1

moodle たん

• データベースと コースファイル

• 言語パックと独自の翻訳• とても重要な config.php• プラグインの追加で機能向上• ソースの改造は怖くない?• Moodle の更新方法• 困った時には誰に聞く?• 重要な設定項目について

Page 19: 20121116 第3回越中とやまmoodleワークショップ

データベース と コースファイル

•ソースファイル(ファイルシステム)•コースファイル(ファイルシステム)•データベース( MySQL など)

Page 20: 20121116 第3回越中とやまmoodleワークショップ

(1)ソースファイルMoodle サイトのWeb サーバ( Apache など)からアクセス可能な領域に

•  config.php    :重要な設定ファイル(後述)•  moodle 本体  : PHP, HTML, JavaScript, CSS

基本的には静的なファイル群(クラッキングに注意!)

Page 21: 20121116 第3回越中とやまmoodleワークショップ
Page 22: 20121116 第3回越中とやまmoodleワークショップ

(2) moodledataMoodleのサーバ上のファイルシステム( Moodle1 と Moodle2 では管理方法が大きく異なる)

• 言語パック( lang )• コースファイル• その他のデータやワーク用

基本的には動的なファイル群(読み書き)

Page 23: 20121116 第3回越中とやまmoodleワークショップ

(2) moodledata【Moodle1】 特に工夫は無し(ユーザデータのみ特殊な管理)

【Moodle2】 フルパス名をハッシュ値に変換+データベースの利用

Moodle1 では OS の仕様により不具合発生•  ファイル名の文字化け•  ファイル名の最大長•  フォルダ内の最大ファイル数 など?

Page 24: 20121116 第3回越中とやまmoodleワークショップ

(2) moodledata

Page 25: 20121116 第3回越中とやまmoodleワークショップ

(2) moodledata

moodledata/5/moddata/forum/1/4716/Sample.jpg  (例)  コース ID 5のコース内の  フォーラム ID1 のフォーラムに投稿された  ディスカッション 4716 の添付ファイル Sample.jpg

0000aaa40d6a0639103b757d1dc8a993366e0a1afmoodledata/filedir/00/00 に保存される  + ファイルの情報はデータベースに保存される (元のファイル名,タイムスタンプなど)

Page 26: 20121116 第3回越中とやまmoodleワークショップ

(2) moodledata【Moodle2 の新しいファイル管理法の長所/短所】 日本語 Windows ( Server )をサーバに用いても OK

 一方,コース ID から目的のコースへ ftp などでファイルを一括アップロード(更新)することが不可能に! -

例) コース ID 5のコース内のコースファイル領域に,     wave というフォルダを作成し, 100個の音声ファイルをアップしたい

解決手段) 100個の音声ファイルを ZIP書庫にまとめてアップし,        Moodle上で解凍する (一度にアップロードできるファイルサイズの上限を考慮…)

Page 27: 20121116 第3回越中とやまmoodleワークショップ

(3)データベースさまざまなデータが記録されている.ただし,ファイルは全て moodledata に保存.

Page 28: 20121116 第3回越中とやまmoodleワークショップ

データのバックアップ

Moodle のバックアップ機能でバックアップされるのは,moodledata 内の各コース内の電子ファイルのみ

コースの教師にはメリットがあるが管理者にはほとんど意味が無い

サーバのバックアップを行う(皆さん,お詳しい?)

XAMPP の場合は, Apache/MySQL を停止して,フォルダごとバックアップするのが楽

Page 29: 20121116 第3回越中とやまmoodleワークショップ

言語パック と 独自の翻訳格納する場所( moodledata/lang ) は同じだがフォルダ名が異なる

・  Moodle1系では, ja_utf8・  Moodle2系では, ja

いつ更新? ・ 自分でダウンロードしてインストール ・  Moodled上で手動操作 ・  Moodle のアップグレード時

【日本語言語パックの更新】吉田光宏氏(有限会社ミツテックコンサルティング)が2002 年 11 月より一手に引き受けてくれています.感謝!

Page 30: 20121116 第3回越中とやまmoodleワークショップ

言語パックの在処は?

Page 31: 20121116 第3回越中とやまmoodleワークショップ

言語パックの在処は?

Page 32: 20121116 第3回越中とやまmoodleワークショップ

言語パックの在処は?

Page 33: 20121116 第3回越中とやまmoodleワークショップ

言語パックの在処は?

Page 34: 20121116 第3回越中とやまmoodleワークショップ

言語パックの更新方法

(注意) 更新する際に, いまある moodledata/ja を削除して, ダウンロードした ja.zip を展開する

Page 35: 20121116 第3回越中とやまmoodleワークショップ

言語パックの詳細

Page 36: 20121116 第3回越中とやまmoodleワークショップ

言語パックの詳細

翻訳のミスを発見したら, Japanese Moodle コースへ報告 → 吉田さんが修正

Page 37: 20121116 第3回越中とやまmoodleワークショップ

ローカルな翻訳の変更

ja_local というフォルダが作成される(更新の対象外)

例)操作  → アクション

Page 38: 20121116 第3回越中とやまmoodleワークショップ

ソースコードの中では?

get_string(‘見出し語’ , ‘ 言語ファイル名’ )同じ見出し語でも違う言語ファイル名ならば別の単語

Page 39: 20121116 第3回越中とやまmoodleワークショップ

その他の話(1) プラグインの言語ファイルは?  各プラグインのフォルダ内のlang

(2)英語の言語ファイルは?  Moodle のソースファイルに同梱

Page 40: 20121116 第3回越中とやまmoodleワークショップ

その他の話(3) GD 2が用いるフォントファイルは?   lib/default.ttf (ただし,これは小さ過ぎる?)

Page 41: 20121116 第3回越中とやまmoodleワークショップ

その他の話 (moodle/lang/en/font)Fonts-----

GD font operations need unicode capable font to do the server-siderendering of text. Default font lib/default.ttf (FreeSans Mediumrevision 1.76 from http://savannah.nongnu.org/projects/freefont/)is suitable for most languages.Unsupported languages may add special fontlang/xx/fonts/default.ttf, it will be used for that language only.

If you want to override the default font dirroot/lib/default.ttf,save another one as dataroot/lang/default.ttf - it willbe used for all site languages without it's font file.

The list of suitable TrueType fonts can be found at:* http://en.wikipedia.org/wiki/Unicode_fonts*http://www.alanwood.net/unicode/fonts.html#general

Page 42: 20121116 第3回越中とやまmoodleワークショップ

とても重要な config.phpMoodle の最も重要な設定ファイルです( moodle/config.php )

Page 43: 20121116 第3回越中とやまmoodleワークショップ

編集するときの注意事項(1)絶対に他人に見せてはいけない$CFG->dbpass$CFG->passwordsaltmainなどを知られてはいけない.特に dbpass は最重要.(2)“メモ帳“は絶対にダメ文字コードは UTF-8BOM ( Byte Order Mark )が記録されていると誤動作(秀丸エディタは問題なし)

(3)ファイルの頭とお尻に余計な文字等を入れない ・ <?php の前 ・ ?> の後

Page 44: 20121116 第3回越中とやまmoodleワークショップ

dbpass を守るためのテクニック外部ファイルからインクルードする

Page 45: 20121116 第3回越中とやまmoodleワークショップ

dbpass を守るためのテクニックmoodledata/config/dbconfig.php

もし, dbpass が未設定ならば,速やかに MySQL の root アカウントにパスワードを設定する!

(誰でも root アクセスできてしまう)

Page 46: 20121116 第3回越中とやまmoodleワークショップ

プラグインの追加で機能向上moodle.org に大量にアップロードされている

Page 47: 20121116 第3回越中とやまmoodleワークショップ

インストール方法( Moodle Adminer)

Page 48: 20121116 第3回越中とやまmoodleワークショップ

バージョンを合わせて検索

Page 49: 20121116 第3回越中とやまmoodleワークショップ

ダウンロードする

Page 50: 20121116 第3回越中とやまmoodleワークショップ

ZIP書庫の中身を moodle/localへ

Page 51: 20121116 第3回越中とやまmoodleワークショップ

「通知」を忘れがち

Page 52: 20121116 第3回越中とやまmoodleワークショップ

インストール予定→データベース更新

Page 53: 20121116 第3回越中とやまmoodleワークショップ

これでやっと利用可能

Page 54: 20121116 第3回越中とやまmoodleワークショップ

Moodle のデータベースを操作可能

Page 55: 20121116 第3回越中とやまmoodleワークショップ

Moodle のデータベースを操作可能

Page 56: 20121116 第3回越中とやまmoodleワークショップ

Moodle のデータベースを操作可能

Page 57: 20121116 第3回越中とやまmoodleワークショップ

プラグイン等を追加する前にお勧めのプラグイン: Lightbox galleryhttp://moodle.greenhead.ac.uk/external/lightbox_gallery/

Page 58: 20121116 第3回越中とやまmoodleワークショップ

プラグイン等を追加する前にお勧めのプラグイン: Lightbox galleryhttp://moodle.greenhead.ac.uk/external/lightbox_gallery/

Moodle2版の公開が遅れた →  Moodle2 にアップグレードできなかった

他にも,NanoGong など,メジャーなプラグインも対応が遅れた.

【そのプラグインのサポートはきちんと行われていますか?】

Page 59: 20121116 第3回越中とやまmoodleワークショップ

ソースの改造は怖くない?moodle/lib/moodlelib.php あたりを良く読む

$COURSE, $USER, $CFG など代表的な変数を理解する

C 言語 /C++ 言語が読めるのならば理解できる

サーバサイドスクリプト言語であることを理解する

エラー表示(サイト管理ブロック/開発/デバッグ)を有効にする

Apache のエラーログを読む

config.php を include() すれば最低限の関数は利用できる

サイト管理ブロックにメニューを追加するのは難しくない

Page 60: 20121116 第3回越中とやまmoodleワークショップ

詳しい情報は…http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

Page 61: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

(1) ID表示(リンク付き)

Page 62: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

Page 63: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

(ID: 10335) を選択,コピーして…

Page 64: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

それを投稿本文にペーストすると…

Page 65: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

先ほどの“別の投稿”へのリンクが完成!

このリンクをクリックすれば…

Page 66: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

先ほどの“別の投稿”へ  ジャンプする.

(ポイント)・フォーラム投稿間の相互参照が 活発に行われるようになる.

・特別な知識は不要.

少ない投資で, 大きな効果,間違いなし!

Page 67: 20121116 第3回越中とやまmoodleワークショップ

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

(1) ID表示(リンク付き)

mod/forum/lib.php

Page 68: 20121116 第3回越中とやまmoodleワークショップ

Moodle の更新方法本格的に運用している場合は慎重に

1.moodledata, MySQL のバックアップ2.moodle.org から最新の Moodle のソースファイルをダウンロード

3.(念のために) moodle/config.php をバックアップ

4.moodle フォルダをそのまま差し替える5.config.php を書き戻す6.管理者でログインする

(アップグレードが始まる場合がある)7.サイト管理ブロックの「通知」をクリック

Page 69: 20121116 第3回越中とやまmoodleワークショップ

ソースファイルを修正している場合

(a)修正箇所が少ない場合:手作業で

(b)修正箇所が多い場合:・現在の moodle に,最新版との差分をマージ

  A) WinMerge.exe など  B) Subversion など

“衝突“している箇所のみ手作業で慎重に.

Page 70: 20121116 第3回越中とやまmoodleワークショップ

困った時は誰に聞く?moodle.org の Japanese Moodle コースへ

Page 71: 20121116 第3回越中とやまmoodleワークショップ

フォーラム

Page 72: 20121116 第3回越中とやまmoodleワークショップ

フォーラム(すべてのフォーラム一覧)

Page 73: 20121116 第3回越中とやまmoodleワークショップ

Japanese Moodle コース

Page 74: 20121116 第3回越中とやまmoodleワークショップ

投稿するにはユーザ登録

「ログイン」から“新しいアカウントを作成する”

Page 75: 20121116 第3回越中とやまmoodleワークショップ

投稿する前に一読

投稿マナーについて

Page 76: 20121116 第3回越中とやまmoodleワークショップ

気軽に質問して下さい

適切なフォーラムに投稿すると,良い回答が得られやすい.

Page 77: 20121116 第3回越中とやまmoodleワークショップ

Twitter (@jamoodle) に通知

投稿(新規,返信)があると,Twitter にツイートが流れる( RSS も可)

Page 78: 20121116 第3回越中とやまmoodleワークショップ

Moodle Moot Japan に参加しよう

第1回 函館第2回 函館第3回 高知第4回 三重第5回 東京(次回)第6回 ?

日本ムードル協会(2011年2月設立)Moodle   HQ に正式に認められた非営利の任意団体(Moodle Association of Japan : MAJ)

MAJ の主催する年に1回の研究集会基調講演事例発表教育研究,工学研究システム管理企業展示ワークショップ交流会etc...

Page 79: 20121116 第3回越中とやまmoodleワークショップ

Moodle Moot Japan に参加しよう

Page 80: 20121116 第3回越中とやまmoodleワークショップ

http://moodlejapan.org

Page 81: 20121116 第3回越中とやまmoodleワークショップ

他にもTwitter:   ・ jamoodle (先ほどの)  ・ maj_bot ( MAJ 公認 ? )Facebook :  ・グループ(要アカウント)  ・公開ページ(誰でも OK )    http://www.facebook.com/moodlejapan

Page 82: 20121116 第3回越中とやまmoodleワークショップ

Moodle Tokyo Cafe, Nagoya Cafeお茶を飲みながら楽しく情報交換各地で定期的に開催しませんか?

名古屋(第1回) 12月8日(土)

東京(第4回) 11月下旬

Page 83: 20121116 第3回越中とやまmoodleワークショップ

重要な設定項目について

Page 84: 20121116 第3回越中とやまmoodleワークショップ

fs_moodle の情報を得るならば

Moodle の情報を得るならば

白井達也の情報を得るならば

白井達也に連絡を取るならば

http://moodle.org/

http://www.suzuka-ct.ac.jp/mech/moodle/course/view.php?id=30

http://www.suzuka-ct.ac.jp/mech/ai_mech/~shirai/index.html

[email protected] : tatsuva (not tatsuya)