Upload
others
View
10
Download
0
Embed Size (px)
Citation preview
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
株式会社VERSION2 CEO ⼤⻄昭夫
⼤学ICT推進協議会(AXIES) オープンソース技術部会(sig-oss)企画セッションTC-2:C会場(1階RoomH) / 12⽉15⽇(⽊) 11:00-12:30
Moodle のカスタマイズやプラグイン開発の実例紹介と活⽤例
1
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• VERSION2の紹介• VERSION2のmoodleへの取り組み
• moodleのカスタマイズについて• 依頼する⽅法は?• ⾃分でカスタマイズするには?• カスタマイズの注意点
• 実例紹介 アクティビティモジュール編• 実例紹介 ブロック編• 実例紹介 問題タイプ編• 実例紹介 ローカル編
• まとめ
発表概要
2
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• ⼤学市場向けWebシステム開発
• 本社 札幌
• オリジナルLMS「Glexa」の開発(北海道⼤学メディア・コミュニケーション研究院と共同開発)– 約80⼤学の導⼊
• moodle、mahara、その他Webシステム– 200⼤学以上への導⼊/保守
• 最近の代表作– 北海道⼤学「Hokudai LMS」– 北海道教育⼤学「COLLAVOD」– 京都⼤学「Gorilla」– 関⻄⼤学「カンタンゴ」「AWSuM」– 広島修道⼤学「ひとりでできる問」
VERSION2の紹介
3
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• 2008年 札幌学院⼤学Don Hinkelman先⽣からの依頼でプラグイン「Sharing Cart」を開発
• 2009年 Campus Consortium 函館 (8⾼等教育機関と函館市の連携)中核LMSとしてmoodleカスタマイズの「HOPE」を開発
• Moodle Moot Japan 2009から毎年参加し、ベスト・ムードル・イノベーション賞に5年連続⼊賞
• 現在、約20⼤学の運⽤/保守を担当
• 1.9→2.xの変遷期を経験
VERSION2のmoodleへの取り組み
4
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• プラグインの開発(アドオン)– 追加プログラムとして管理画⾯からインストールできる。– メリット/注意点
• 本体をバージョンアップする際に、本体には影響がない。• 本体をバージョンアップした後に、プラグインが動かない場合がある。• moodle.orgのプラグインディレクトリに公開できる(可能性がある)。• 本体の動作は変更できない。
• moodle本体のカスタマイズ– オープンソースならではの本体プログラムの改造が可能。– メリット/注意点
• 本体のバージョンアップが難しくなる。• どんな機能でも開発できる。
• 同じバージョンのまま特定⽤途でずっと使い続ける覚悟がない限り、プラグインとして開発することがベスト!
moodleのカスタマイズについて
5
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• プラグインには様々なタイプがある。(50種類以上)– https://docs.moodle.org/dev/Plugin_types
プラグイン開発について
6
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• コース内のアクティビティ
主なプラグインタイプ – アクティビティ(活動)モジュール
7
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• ページ内を移動できるボックス
主なプラグインタイプ – ブロック
8
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• Quizの問題種類を追加
主なプラグインタイプ – 問題タイプ
9
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• moodle本体の挙動をカスタマイズ
– 設定のデフォルト値を変更する。– UIを必要としない機能。– 外部システムからmoodleへのアクセス。– 既存機能をフックする。(※現状では本体改造が必要)
主なプラグインタイプ – ローカル
10
moodle本体 localプラグイン
設定値の書き換え
外部システム
既存機能からのフック処理
Coreアクセス
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• アクティビティ(活動)モジュール– コース内のアクティビティとして利⽤。– 表⽰条件のコントロールやバックアップ等といった、
コース内のmoodle標準機能が利⽤できる。– コース内の成績として登録できる。
• ブロック– コース全体に関わる処理や、メニューを追加したい場合に利⽤。– 配置する場所の指定はmoodle標準機能が利⽤できる。
• 問題タイプ– Quizの問題形式を増やしたい場合に利⽤。
• ローカル– 設定項⽬の追加や他のシステム連携に利⽤。
主な⽤途
11
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• エディタ拡張(TinyMCE, Atto)– ⼊⼒エディタの拡張
• データベースフィールド– データベースモジュールのフィールドを増やす。
• テキストフィルタ– 表⽰する⽂字列を変換する(TeX等)。
• コースフォーマット– コースの種類を増やす。
• テーマ– ⾒た⽬(デザイン)を変更する
その他のよく使われるプラグイン
12
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
依頼する⽅法は?(VERSION2でよくある事例)
13
やりたいこと(⽬的)を⽂章や図で作成
予算の調整
動作の確認・調整
納品検収
実現できるか?どう実現するか?どういう環境で動作させるか?
いくらくらいかかるか?
予算に合わせて仕様を調整して、仕様書作成
調整/評価作業
発注開発作業
α、β版の納品
先⽣/担当者 開発者
保守/運⽤
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• moodle.org に詳細あり– https://docs.moodle.org/dev/Main_Page
• 必要なもの)下記の知識/経験、もしくはチャレンジする⼼意気– サーバー構築(Windowsマシンでも可能)– PHP– SQL– HTML / JavaScript– 技術者向け英語
• Moodleの仕組みを知る– CoreAPI, PluginType, Backup/Restore, Capability,,,,
• ⼿順– 似たようなプラグインをコピーまたはスケルトンから作成。– トライ&エラー、じっくり設計、⼈によって⾊々なスタイルが。
⾃分でカスタマイズするには?
14
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• moodle.org に詳細あり– https://docs.moodle.org/dev/Main_Page
• 必要なもの)下記の知識/経験、もしくはチャレンジする⼼意気– サーバー構築(Windowsマシンでも可能)– PHP– SQL– HTML / JavaScript– 技術者向け英語
• Moodleの仕組みを知る– CoreAPI, PluginType, Backup/Restore, Capability,,,,
• ⼿順– 似たようなプラグインをコピーまたはスケルトンから作成。– トライ&エラー、じっくり設計、⼈によって⾊々なスタイルが。
⾃分でカスタマイズするには?
15
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• 使い易さや⾒た⽬よりも、やりたいことができるかを重視する。
• 配布予定か、⾃分(所属)のみで利⽤するのか、を明確にする。
• 利⽤する環境(サーバー、ブラウザ、端末)を決めておく。
• moodleのバージョンアップ予定があるか確認しておく。
• 予算を確保する。
• 後からアイディアが浮かんでも、それは将来に、と我慢する。
カスタマイズの注意点(依頼者向け)
16
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• 必ず内部のAPIを利⽤する。– バージョンアップ時に動かなくなる可能性が少なくなる。– 他のデータを破壊しない。
• Capabilityを意識する。– 学⽣が全員の成績が⾒れてしまうといったような不具合を根本から解消。
• Moodleのお作法とルールを守る。– 後のメンテナンスがしやすくなり不具合を減らす。
• ソースコード管理をしっかりとする。– Git、Subverion
カスタマイズの注意点(開発者向け)
17
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• 札幌学院⼤学「Video Assessment」– 動画を撮影して学⽣同⼠で評価し合う。
実例紹介(1) アクティビティモジュール編
18
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• 広島修道⼤学「⼀筆柿右衛⾨」– mahara(ポートフォリオ)のページ機能をmoodleのコースで実現。
実例紹介(2) アクティビティモジュール編
19
http://kakiemon.moodle-ver2.jp/
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• 札幌学院⼤学「Sharing Cart」– コース内のモジュールのコピーを簡単に操作でき、
コンテンツ共有サーバーで他のmoodleと共有できる。
実例紹介(3) ブロック編
20
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• はこだて未来⼤学「クイズ⼀括編集」– コース内のクイズ設定を⼀括で編集できる。
実例紹介(4) ブロック編
21
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• はこだて未来⼤学「プログラミング問題」– プログラムのソースコードを別サーバーで実⾏して⾃動採点を⾏なう。
実例紹介(5) 問題タイプ編
22
提出されたファイルをプログラム等により柔軟にチェックし、結果を
Moodleに返す!!
提出されたファイルを保存するのと同時に課題ごとに設定可能なチェック用Webサービスに送信
チェック結果の点数やフィードバックコメントをMoodleに保存し、学習者に提示
学習者による提出物を正解例との単なるマッチングではなく、プログラム等によって柔軟な正誤判定やフィードバックコメント生成を行い、即座に学習者に提示可能!!プログラミング科目等において教授者の負荷を抑えつつ、効率的な演習運用可能!!
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• はこだて未来⼤学「Quiz Penalty」– 提出タイミングや条件によって⾃動で減点を⾏なうモジュール。
実例紹介(6) ローカル編
23
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
http://ver2.jp/download
ダウンロード
24
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
• Moodleのプラグインには多くの種類がある。
• プラグインタイプを知っていれば依頼も開発もしやすい。
• 本体改造は覚悟が必要。
• Moodleのルール/使い⽅を知る必要がある。
• 多種多様な実例がある。
まとめ
25
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
moodle moot japan 2017
2017年2⽉17(⾦)〜19⽇(⼟)
⾃治医科⼤学 (栃⽊)
紹介
26
ProjectName:
VERSION2
Presenta/onDocument-Copyright©VERSION2.Inc
質問・ご意⾒・お問い合せ
(株)VERSION2⼤⻄ 昭夫
Akio Ohnishi
http://ver2.jp/011-252-0120
Thank you
27