開発初心者のためのMoodleプラグインの開発と利用(第一部) for Moodle Moot 2015
1. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
開発初心者のための
Moodleプラグインの開発と利用
Time: 2015.2.21 09:30-11:00 Room: 5405
株式会社テクノウォーカー 山岡 茂治
7th Conference for Moodle Teachers and Developers
Moodle moot japan 2015
Page. 1
Part1:Moodleプラグイン開発の概要(40分)
2. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
Page. 2
3. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
発表内容 –Agenda- ※2部構成40分+40分
• Part1:Moodleプラグイン開発の概要(40分)
– はじめに(プラグイン開発について)
• Moodleのプラグイン開発についての概要と流れ
– XAMPP、エディタ、DBツールを使った開発環境の整備
• Moodleの開発環境を無償のツールで揃える方法
– PHPプログラミング基礎の基礎
• 初心者が最低限知っておくPHPの書き方、デバッグの仕方
– プラグインの開発方法
• プラグインの仕組みと構成、開発の手順を紹介
– プラグイン開発例(既存ブロックのコピー)
• HTMLブロックをコピーし、オリジナルのブロックを作成
Page. 3
4. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
発表内容 –Agenda- ※2部構成40分+40分
• Part2 : 各種プラグインの開発例(40分)
– ブロック開発のポイント
• Part1に続き、ブロック開発に必要なポイントの紹介
– テーマの開発とポイント
• Cleanテーマをコピーし、オリジナルを作成
テーマ開発の流れと開発に必要なポイントを紹介
– 活動モジュールの開発とポイント
• モジュールテンプレートをコピーし、オリジナル「15パズル」を作成
活動モジュール開発の流れと必要なポイントを紹介
– まとめ・質疑応答
• 弊社オリジナルの開発事例の紹介(ローカルプラグイン等)
• まとめと質疑応答
Page. 4
5. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■はじめに
moodle moot 2014 Okinawa に引き続き発表をさせて頂きます。
前回は、弊社サイトや事例を中心に紹介しましたが、今回はMoodleの
プラグイン開発に関する仕組みや開発手順の紹介です。
■開発をするにあたって必要なこと
① Moodleに関する基礎知識(コースやモジュール、ユーザーなどの概念)
② HTMLおよびPHP(プログラミング)の知識
③ 開発をするための環境・ツールの用意
④ やってみようという好奇心・やらなきゃいけない状況に追い込む
本日の発表では、プログラミングの知識が無くても
プラグイン開発の第一歩を踏み出せることが目標です
Part1:Moodleプラグイン開発の概要
1. はじめに(プラグイン開発について)①
Page. 5
6. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■Moodleの開発者向け情報
・Moodle.orgに(昔より)充実した情報 (但し英語です)
https://docs.moodle.org/dev/Main_Page
・弊社Moodle情報サイトにも今後開発者向け情報を掲載予定です。
http://www.twalker.co.jp/moodle/
Part1:Moodleプラグイン開発の概要
1. はじめに(プラグイン開発について)②
ページには以下の内容が掲載
●Overview
概要やロードマップなどの情報
●Plugin development
各種プラグイン開発の情報
●Core APIs
Moodleの内部APIについての情報
●Guidelines
開発についてのガイドライン
●Developer tools
開発ツールの紹介等
●Projects
Moodleの特定分野に関するプロジェクト
Page. 6
7. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■開発をするための環境1 Moodle本体の用意
当然ですが、Moodle本体が必要です。
Moodle本体を動かすには「Apache・PHP・MySQL」も必要です。
⇒ Moodle.org から XAMPP+Moodleをダウンロード
Part1:Moodleプラグイン開発の概要
2. XAMPP、エディタ、DBツールなどの開発環境の整備①
ダウンロード&Moodleセットアップ手順
① Moodle.orgの「Downloads」から、画面左下の「Latest release」をクリック
② 更に「Moodle installer package for xxx」をクリック
③「Download.zip」から、ZIPファイルをダウンロード
Page. 7
8. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■開発をするための環境1 Moodle本体の用意(続き)
Part1:Moodleプラグイン開発の概要
2. XAMPP、エディタ、DBツールなどの開発環境の整備②
Page. 8
ダウンロード&Moodleセットアップ手順
④ デスクトップやCドライブへZIPファイルを解凍
⑤ 解答したフォルダ内の Start Moodle.exe をWクリック
⑥ ブラウザを起動し http://localhost/ (またはlocalhost:8080)と入力
⑦ Moodleのセットアップを実行
※⑤にて、既に80番ポートが他のアプリケーション等で起動できない場合は
Apacheの動作ポートを80から8080等に変更します。
ServerApacheConfhttpd.conf をメモ帳で編集し
58行目付近のListen 80 を Listen 8080 に変更・保存します
9. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■開発をするための環境2 エディタ・DBツールの用意
高価な開発ツールもありますが、最初は以下のものがあれば十分です
●テキストエディタ
「EmEditor」 https://jp.emeditor.com/
「さくらエディタ」http://sakura-editor.sourceforge.net/
⇒ メモ帳だと少し物足りないが、色が付く程度の機能があれば良い
Part1:Moodleプラグイン開発の概要
2. XAMPP、エディタ、DBツールなどの開発環境の整備③
Page. 9
メモ帳で config.php を
開いたところ
EmEditorで config.php を
開いたところ
10. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■開発をするための環境2 エディタ・DBツールの用意
高価な開発ツールもありますが、最初は以下のものがあれば十分です
●DBツール
「A5:SQL Mk-2」http://www.wind.sannet.ne.jp/m_matsu/developer/a5m2/
⇒ matsubara様が開発・公開している無償のツールです。
リモートDB管理(SSH転送)、ER図の作成、SQLや定義書の生成など
Part1:Moodleプラグイン開発の概要
2. XAMPP、エディタ、DBツールなどの開発環境の整備④
Page. 10
※弊社の場合は XAMPP+
Visual Studio+PHP拡張機能
とEmEditor、A5:SQL Mk-2、
Subverion(ソース管理)に
て開発をしています
ホームページ(ソフト本体は
Vectorからダウンロード)
開発環境のMoodleDBに接続し、
Userテーブルを編集している画面
11. Techno Walker Inc. All rights reserved. 文書・画像等の無断使用・転載を禁止します。
7th Conference for Moodle Teachers and Developers
■PHPのプログラミングについて
MoodleはPHPという言語で作られています。
PHPやプログラミングを知らなくても、以下のことだけ知っておく。
1)PHPの記述方法、コメント
⇒ プログラムの中身は知らなくても、書き方は理解しておきます
2)変数とは
⇒ 何らかのデータが入った箱(変数)の概念について理解しておく
3)echo と exit、var_dump
⇒ Moodleの動きを知るためで必要(途中で中身を見る・止める)
※もちろん、本格的に開発をするなら覚える必要はあります
( PHPについては、市販のテキストや講習会なども豊富です)
Part1:Moodleプラグイン開発の概要
3. PHPプログラミング基礎の基礎①
Page. 11