Engagement analytics
Maintained by
Adam Olley, Ashley Holman
The Engagement Analytics block provides information about student progress against a range of indicators. As the name suggests the block provides feedback on the level of "engagement" of a student, in this plugin "engagement" refers to activities which have been identified by current research to have an impact on student success in an online course.
Comments
Comments are no longer open for new posts. Existing comments remain available to read.
We are on Moodle version 3.1.2. We would like teachers to be able to update the weightings in the report for their courses. However, Teacher role is getting an error: Sorry, but you do not currently have permissions to do that (Manage engagement analytics report). I have double-checked the permissions: "Manage engagement analytics report" has "Allow" set at both site and course level.
Has anyone got any suggestions, or can you test on your install for me?
Many thanks - Caitlyn - TAFE NSW
Thanks for letting me know about this oversight. I've fixed it up in the master branch in my fork (added course into the where clauses). Before this fix, we were successfully running the query (and the plugin) in courses with over 1000 students and a log table that had millions of rows. The fix should hopefully speed things up - let me know how you go. If the query isn't returning for even a small number of students, there might be something else amiss?
I installed your fork on our test server (M2.9) and it installed just fine. But I can't open any report in any course, because the SQL query
SELECT CONCAT(c.userid, '_', c.objectid) AS user_objectid, COUNT(*) AS countnumber
FROM (SELECT id, userid, timecreated AS time, courseid AS course, CAST(objectid AS char(64)) AS objectid
FROM mdl_logstore_standard_log
WHERE target = 'discussion'
AND action = 'viewed' UNION SELECT id, userid, time, course, CAST(info AS char(64)) AS objectid
FROM mdl_log
WHERE module = 'forum'
AND action = 'view discussion') c
WHERE c.course = '6603'
AND c.time >= '1438570800'
AND c.time <= '1463848204'
GROUP BY user_objectid
never returns, not even for courses with a small number of students (80). Do I read did query correct and does the sub-select return all of the logs with views of forums in all of Moodle? If that's the case, this query will not work with large installations, right?
In /report/engagement/locallib.php you have some `break;` statements outside of loops; they're not allowed in PHP7. Lines 304 & 309.
https://github.com/dannyliu-mq/moodle-report_engagement
https://github.com/dannyliu-mq/moodle-mod_engagement
Do you have any plans to release a new version supporting Moodle 2.8 and 2.9?
Thank you.
Fatal error: Call to undefined function report_engagement_is_core_indicator() in /var/www/moodle/report/engagement/renderer.php on line 158
My plugin versions (obtained all of them from git today) are:
mod: 2015072700
block: 2014042900
report: 2015072700
Any hints?
https://docs.moodle.org/dev/Migrating_logging_calls_in_plugins