活動:ブックの中の進捗を追う事は可能でしょうか?

活動:ブックの中の進捗を追う事は可能でしょうか?

- Takashi M の投稿
返信数: 2

 お世話になります!moodle触り始めて半年位になります^^

moodle内にコースを作り、活動として「ブック」を作成しました。

活動完了トラッキングは、「ブック内のすべてのページを閲覧した場合」は確かに追う事は可能だと思うのですが、

「100ページ中30ページまでこのユーザーは閲覧している」と言ったような進捗を追う事は可能でしょうか?

mdl_course_modules_completion テーブルにはブック単位でしか進捗が入らない様なので、ブック内の進捗を

管理しているテーブル(ログ?)があれば良いのですが、それっぽいテーブルも見つからず…

何か追掛ける方法がございましたらご教授下さい m(_ _)m

Takashi M への返信

Re: 活動:ブックの中の進捗を追う事は可能でしょうか?

- Mitsuhiro Yoshida の投稿
画像 Developers 画像 Particularly helpful Moodlers 画像 Translators
恐らく、下記のようなSQL文でご希望のデータを取得することはできるかと思います。「`courseid` = 5」の部分はコースによって値を変えてください (例 `courseid` = 10)。

SELECT cs.shortname AS 'Course Shortname',cs.fullname AS 'Course Fullname',usr.username AS 'UserName',usr.lastname AS 'LastName',usr.firstname AS 'FirstName',bk.name AS 'Book TItle',bc.title AS 'Capter',from_unixtime(lsl.timecreated) AS 'Time Read'
FROM `mdl_logstore_standard_log` AS lsl
LEFT OUTER JOIN mdl_course cs ON (lsl.courseid = cs.id) 
LEFT OUTER JOIN mdl_user usr ON (lsl.userid = usr.id) 
LEFT OUTER JOIN mdl_book_chapters bc ON (lsl.objectid = bc.id)
LEFT OUTER JOIN mdl_book bk ON (bc.bookid = bk.id)
WHERE `objecttable` = 'book_chapters' AND `action` = 'viewed'  AND `courseid` = 5
GROUP BY courseid,userid,objectid
ORDER BY courseid,userid,objectid ASC;
添付 book_log.png
Mitsuhiro Yoshida への返信

Re: 活動:ブックの中の進捗を追う事は可能でしょうか?

- Takashi M の投稿
Mitsuhiro Yoshida 様


ありがとうございます!コースIDを該当コースに変え実行した所、データ取得する事が出来ました!!

後は頂いたクエリをベースに、読んだページ数/総ページ数での進捗率を出したり活用させていただきます!

mdl_logstore_standard_log を上手く使う事で色々な情報を取りだす事も可能なんですね!大変勉強になりました!

ありがとうございました!^^