Moodle
大学ICT推進協議会 教育技術開発部会
第６回研究会
九州⼯業⼤学 学習教育センター
⼤⻄淑雅九州⼯業⼤学
http://www.kyutech.ac.jp/• 九州⼯業⼤学概要• ⼯学部（本部）：⼾畑
• 情報⼯学部：飯塚• ⽣命体⼯学研究科• 教職員629
• 学部⽣
4,131
• ⼤学院⽣ 1,522• (2017.5)
2

内容• Moodleについて（利⽤・現状・コミュニティ）• 最新機能• Moodle3.3.2• 他システムとの連携• LMS（コース）側に集める（九⼯⼤の例）• 電⼦書籍• Learning analyticsを⽬的とした学習ログ• プラグイン• 九⼯⼤の事例• 意⾒交換3

Moodle Statistics

https://moodle.net/stats/?lang=ja• 0-10:38104• 10-100:15722• 100-500:11302• Total:85748
⼩規模（個⼈）利⽤が多い？

https://moodle.net/local/hub/top/stats/cache/users_per_site.20170930.png

4Moodleの利⽤(2014)

http://www.suzuka-ct.ac.jp/lib/kiyou47/47.pdf「⾼等教育機関におけるMoodle利⽤状況のデータベース化の報告」より引⽤
5

General release• Moodle 3.3• Moodle 3.3.1• Moodle 3.3.2

15 May 201710 July 201711 September 2017

メンテナンスが短い• Bug fixes for general core bugs in 3.3.x will end 14 May 2018 (12 months).
• Bug fixes for security issues in 3.3.x will end 12 November 2018 (18 months).

https://docs.moodle.org/dev/Releases#General_release_calendar

6

Moodle Statistics

https://moodle.net/stats/?lang=ja

https://moodle.net/local/hub/top/stats/cache/partial.minor.versions.20170930.png

最新版にすぐ切り替える

https://moodle.net/local/hub/top/stats/cache/
7
full.minor.versions.20170930.png

コミュニティ⽇本ムードル協会• Moodle Moot Japan• 2009〜8

画像はhttps://moodlejapan.org/course/index.php?categoryid=7 引⽤

Moodle 3.3最新機能（概要）• 外部サービスとの認証連携• プラグインから標準採⽤へ• 外部認証（OAuth 2）をサポート• Google G-Suite と Microsoft
Office 統合• ダッシュボードの改善• フォント＆絵⽂字• ユニコード対応/絵⽂字(MySQL)• Font Awesome

https://docs.moodle.org/33/en/New_features• 課題提出機能• リマインダ（コース）• ファイル提出の拡張⼦設定• メディアのDrag and drop配置• Stealth activities(よりシンプルなアクティビティ表⽰のための新しい「ステルス」設定)• タグ活⽤の拡⼤？
• Learning analyticsプラグイン（3.4から標準採⽤へ）
9ダッシュボードの改善
Moodle3.3

Moodle3.1

10

Moodle 3.3 for admin/mobile• 新しいコース概要ブロック• 注釈のためのDocumentコン
バータプラグイン• UIでスケジュールタスクを実⾏可能• 95% student support in 3.3 ‒100% support in 3.4• コースの進捗状況(Overview)の確認をサポート• アクティブティ：Feedback、Lessonをサポート• Pin forum discussions• メッセージの検索機能• 通知（⾳）設定機能
11

Moodle 3.3 for students/teachers• New course overview block• 活動の締め切り確認• コースの進捗状況• 表⽰コースの切替（current, pastand future courses）• 課題提出時におけるOneDrive
or Google Driveの活⽤• タグと検索機能（Tag forumposts and glossary entries）• Mobile機能の充実（Feedback,Lessons, Database）• 課題機能改善（採点リマイン
ダ、ファイルタイプ指定、コメント追加、注釈機能のリンク（Office/Google files）• Drag and drop media(写真と同様に)• コース（アクティビティ）完了の制御機能• Stealth activities• Tag forum posts, glossaryentries, book chapters
12

Mobile(API)
機能の充実

13

https://docs.moodle.org/33/en/Moodle_Mobile_features

内容• Moodleについて（利⽤・現状・コミュニティ）• 最新機能• Moodle3.3.2• 他システムとの連携• LMS（コース）側に集める（九⼯⼤の例）• 電⼦書籍• Learning analyticsを⽬的とした学習ログ• プラグイン• 九⼯⼤の事例• 意⾒交換14

他システムとの連携• 認証・ファイル• Moodle Web service API• https://docs.moodle.org/dev/Web_service_API_functions• Web service protocols• Mobile Appとの連携• 教材の連携？
• 電⼦書籍• ログ収集・解析（活⽤）• Log storage：Logstore xAPI、Caliper log store、Graylog Logstore、
Splunk logstore• https://moodle.org/plugins/browse.php?list=category&id=54

15

Moodle service API• Web service protocols
NameREST(returningXML)

Moodle Ver.
2

Description

外部アプリケーションからREST API を経由してMoodle内の機能を呼び出すことができる関数群
https://docs.moodle.org/dev/Web_service_API_functions• Core web service functions(⼀部抜粋)NameIntroduced
inDescription

Availab
leAJA
X

Lo
gin
req
uired

auth_email_get_si
gnup_settings

3.2

Get the signup required
settings and profile fields.

Yes

No

auth_email_signu
p_user

3.2

Adds a new user (pendingto
be confirmed) in the site.

Yes

No

core_auth_confir
m_user

3.2

Confirm a user account.

Yes

No

core_badges_get_user_badges

3.1

Returns the list of badges
awarded to a user.

NoYes

〇

core_block_get_course_blocks

3.3Returns blocks information
for a course.

NoYes

〇

core_calendar_cr
eate_calendar_ev
ents

2.5

Create calendar events

NoYes

〇

core_calendar_delete_calendar_ev
ents

2.5

Delete calendar events

NoYes
16〇

CORS

Supported
XML data accessed through a REST
(3.0 andAPI (not restful)onwards)

REST
Supported
JSON data accessed through a REST
(returning 2.2(3.0 andAPI (not restful)onwards)
JSON)
REST
Would be very useful for client-side Not(returning 2.X
JavaScript
supportedJSONP)
JSON server receives a JSONNotJSON2.X encoded params and return JSON
supportedencoded values.
Very important for interoperatingwith Java and .Net applications.
There was a partial implementation
NotSOAP
2 JAVA/.Net in Moodle 2.0, but it does
supported
not work for anything but the mosttrivial functions. It is fully working
with PHP clients.
NotXMLRPC
2 XML remote-procedure call.
supportedmoodle_mob
ile_apphttps://docs.moodle.org/33/en/Moodle_Mobile_features17

九⼯⼤の例• 学⽣が参照する機会が多い情報はMoodleに集約• 教材（リソース）を教員がすべて⽤意• コースにリソースを⾃動的に追加（変更）• コース上の教材（リソース）量の⾃動収集（集計）• 構築実例を紹介：シラバス内容を対応するコースへ追加• システム連携に関するアンケート結果
18

外部連携オリジナル機能
既存コースが対象• ページ関係：新規作成、読み込み、更新、削除

外部システム• テキストデータのみで構成された「ページ」• 教材の⾃動⽣成・教材量の把握• URL関係：読み込み、更新、削除• 外部システムとの連携⽀援• ラベル関係：読み込み、更新、削除

データの引き渡し
レスポンス
XML構造コードはUTF-8• コース構築⽀援• ホルダ関係：読み込み、更新、削除

Moodle service API• 教材の⾃動⽣成・教材量の把握• ファイル関係：読み込み、更新、削除• 教材の⾃動⽣成・教材量の把握• ※ファイルの属性が対象• その他• パラメータ指定のない項⽬はMoodleの規定値

オリジナル
プラグイン

Core web service
functions19

Moodle service APIによるリソースの追加例• コース作成によるシラバス連携• コース内へのシラバス挿⼊20

•

xmldata = <<<XML•<?xml version="1.0" ?>•<request>•<name>シラバス</name>•<desc>•<settings><courseid>4</courseid><topicno>6</topicno><position>3</position><viewflag>1</viewflag><idnumber>IDナンバーなり</idnumber><tags></tags></settings></request>
XML;"11000090","教科教育法（情報）Ⅱ","82562227","⻄野 和典","82562227","⻄野 和典","知能情報⼯学科, 知能情報⼯学科（編⼊）, 電⼦情報⼯学科, 電⼦情報⼯学科（編⼊）, シス
テム創成情報⼯学科, システム創成情報⼯学科（編⼊）, 機械情報⼯学科, 機械情報⼯学科（編⼊）, ⽣命情報⼯学科, ⽣命情報⼯学科（編⼊）","01","2016","3年","(情)1101講義室","後期","⽊曜 5限","査定外","2",•</desc>•<contents>•

⾼等学校の共通教科情報科では、情報社会を主体的に⽣きるために必要な情報活⽤の実践⼒、情報の科学的な理解、情報社会に参画する態度の育成が求められ、また専⾨教科情報科
では、情報産業社会に貢献する有為な⼈材の育成が求められている。教科教育法（情報）IIでは、教科「情報」の授業に焦点を当て、授業計画、授業環境の整備、学習評価、教材開発、指導案の作成、授業実践の⽅法などに関する講義を⾏う。さらに、模擬授業を実施し、評価・改善して情報科を担当する教師としての実践的な⼒量の形成をめざす。

•

教職課程の講義であり⾼等学校教諭⼀種免許状（情報）を取得するために必修の教職に関する科⽬である。授業形態としては，前半は通常の講義形式やグループ学習で⾏うが，後半は学⽣による模擬授業を⾏う。e-Learningを⽤いた授業展開を意識し，学⽣相互および教員と学⽣間のコニュニケーションを密にする。

•</contents>

21

Moodle

教務関係
オリジナル
プラグイン

出席管理システム
教務情報

該当コースシステム

出席データ

科⽬
データ

履修データ

時間割データ該当コース
概要
シラバスへのリンク

Moodle service
APIXML
データ

トピック０
シラバス内容（ページリソース）

実⾏結果XML

コースIDとシラバス対応

連携サーバ
連携部

シラバス
データ

シラバスシ
ステム

学修⾃⼰評
価システム

外部システム群
22

Moodle
オリジナル
プラグイン
該当コース

Moodle service
API

出席
データ

科⽬
データ

履修データ

時間割
データ

XML
データ
コースIDと時間割

連携サーバ
連携部

実⾏結果XML

トピック０
閲覧コード
（ページリソース）

ストリーミ
ングサーバ

動画デー
タ

録画部
openRTSP
外部システム群23リソース情報の取得例• $xmldata = <<<XML• <?xml version="1.0"
encoding="UTF-8" ?>• <request>• <courseid>4</courseid>• <topics>• <topic no="1">• </topic>• </topics>• </request>• XML;
24

•<KEY name="viewflag"><VALUE>1</VALUE>•</KEY>•<KEY name="filename"><VALUE>/接続イメージ.pdf</VALUE>•</KEY>•<?xml version="1.0" encoding="UTF-8" ?>•<RESPONSE>•<SINGLE>•<KEY name="message"><VALUE>got course files
information</VALUE>•</KEY>•<KEY name="course_file_module"><MULTIPLE>•<SINGLE>•<KEY name="cmid"><VALUE>18</VALUE>•</KEY>•<KEY name="cid"><VALUE>4</VALUE>•</KEY>•<KEY name="fid"><VALUE>101</VALUE>•</KEY>• <KEYname="timemodified"><VALUE>1491561817</VALUE>• </KEY>•<KEY name="name"><VALUE>hh</VALUE>•<KEY name="tags"><MULTIPLE>•</KEY>•</MULTIPLE>•<KEY name="intro"><VALUE></VALUE>•</KEY>•</KEY>•</SINGLE>•<KEY name="idnumber"><VALUE>gege</VALUE>•</MULTIPLE>•</KEY>•</KEY>•<KEY name="topicno"><VALUE>1</VALUE>•</SINGLE>•</KEY>•</RESPONSE>•<KEY name="position"><VALUE>1</VALUE>•</KEY>• <KEY name="filesize"><VALUE>102436</VALUE>• </KEY>•<KEY name="type"><VALUE>1</VALUE>•</KEY>•<KEYname="contenthash"><VALUE>fd38a4af2d14edd7c2cae9132d048ad558
ce4c17</VALUE>•</KEY>25

その他（賛成しない）内容を⾃動的に…
（賛成）内容を⾃動的にコース…
シラバス参照は勧めていない
シラバス参照を勧めるために、…
0
シラバス参照510152025303540（賛成）内容 （賛成しなを勧めるため シラバス参照 を⾃動的に い）内容を⾃に、別途コー は勧めていな コース上のリ 動的にコース
ス内で⾃分でいおいていた
系列1109

その他

ソースとし⾃ 上のリソース動挿⼊とし⾃動挿⼊

22

3526

⽬指すもの雛形（モデル別）

はじめからある程度挿⼊される

数式処理⼊⾨
電⼦書籍へのリンク
線形代数と数式処理

線形代数と数式処理（その２）
演習環境へのリンク
27

プログラミング６コースから雛形• 資料：＊，＊，１３，＊，＊，シ• シラバスの⾃動挿⼊• 資料：１，３，• 課題：０，１，＊，３，１，１
１，０，０，１• 資料（⾮⾃動）• 課題（⾮表⽰１）• 資料：２，３，• 課題：１，１，• ⼩テ：０，０，＊，２，１，１
２，０，０，１
０，０，０，１• 資料（⾮⾃動）• 課題（⾮表⽰１）• ⼩テスト？？
28

シラバスデータ例
コース雛型データの基データ？
•

授業項⽬

•

1.

数式処理⼊⾨•2.

線形代数と数式処理•

3.

線形代数と数式処理（その２）•4.

解析学と数式処理•

5.

複素数の応⽤•

6.

複素数と多元数の幾何•

7.

システムモデルと微分⽅程式•

8.

システム挙動の表現•

9.

システム解析

•10.

システムの最適化と線形計画問題•

11.

⾮線形計画問題•12.

数式処理プログラミング•

13.

リスト処理プログラミング•

14.

リスト処理プログラミング（その２）

•15.

期末試験

•

16.

期末試験解説Moodle
コースラベル名29

シラバスデータ例

Moodle ルーブリック⽣成⽀援

電⼦書籍へのリンク⽣成

課題・⼩テスト・資料の閲覧予測
30

電⼦書籍
緩い連携
• http://www.cccties.org/activ
ities/chilo/• Moodleとの連携も可• ⼤学⽣協の電⼦書籍「DECS」計画と電⼦書籍事
業について• オーサリング• VarsityWave eBooks• http://www.univcoop.or.jp/service/book/ebooks.html• http://coopebook.jp/contents/StaticPage.do?html=index

31

内容• Moodleについて（利⽤・現状・コミュニティ）• 最新機能• Moodle3.3.2• 他システムとの連携• LMS（コース）側に集める（九⼯⼤の例）• 電⼦書籍• Learning analyticsを⽬的とした学習ログ• プラグイン• 九⼯⼤の事例• 意⾒交換32

Learning analyticsを⽬的とした学習ログAdmin tools: Inspire• 解析エンジン(Moodle3.3 Plugin)• 機能：過去のコースをモデルを⽤いて評価し、その上で、現在（将来）のコースを評価できる。
• 評価後• 特定された⽣徒に簡単にメッセージを送信• ⽣徒のアウトラインレポートにジャンプして、⽣徒のアクティビティの詳細を確認• 予測モデル作成のAPIも⽤意• 現在のビルトインモデル: Students at risk of dropping out ofcourses.
33

Inspire コースの予測
Execute the model• 過去のコースデータを⽤いてモデル（現在はドロップアウ
トモデルのみ？）を評価• 現在および将来のコースに関する予測を開始

34

Inspire コースの予測
Execute the model35

内容• Moodleについて（利⽤・現状・コミュニティ）• 最新機能• Moodle3.3.2• 他システムとの連携• LMS（コース）側に集める（九⼯⼤の例）• 電⼦書籍• Learning analyticsを⽬的とした学習ログ• プラグイン• 九⼯⼤の事例• 意⾒交換36

まとめ• Moodle• ⽐較的に⼩規模ユーザサイトが多い• 新しものを試していく

Pluginによる拡張性

Mobile対応

Icons https://moodle.com/

新たに作る

接続性
（Moodle Web API）

インタラクティブ性37

まとめ（九⼯⼤のMoodle）
コース雛型（モデル）を⽬指す• 履修データに基づくコースの作成• 履修データに基づくコースへのユーザ割り振り• コース内へのリソースの⾃動追加38

まとめ（外部連携）• システム連携• 疎に接続（リンク＆SSO）してログストアで集める• 教材連携• 疎に接続：LTI連携（少なくともMoodleのみで⾏うと、設定が⾯倒）• ⼀か所？（LMS）に集めるた
め、APIで接続• ⼀か所？（LMS）に集める、API？

39

40