extending moodle reporting
TRANSCRIPT
Extending Moodle Reporting
Jonathan MooreFounder
Background and context
Managed thousands of Moodle sites
Managed millions of Moodle user accounts
Over 10 years experience with Moodle
Dozens of Moodle dev and reporting projects
Tuning, scalability, and performance expert
Author of Moodle Module Development
Things you need
Local Moodle Installerhttps://download.moodle.org/macosx/
https://download.moodle.org/windows/
Thinking cap!
Why we have this workshop
Format / objectives
Overview builtin reports
Discuss pluses / minuses
Brain storm report wishlist
Play with some reporting tools
Build a report
Ask questions!
Share your tips
Getting to know you
How many new admins?
How technical are you?
Learn builtin reports or build reports?
Does anyone know some SQL?
Getting to know you
What are you hoping to learn today?
What reports do you want?
Hands-on
Multi-vote most popular report requests
Builtin Reports
Some of what's included
Activityreports
Config changes
Course overview report
Grades report
Logs report
More reports
Participation report
User course completion
Report user outline
Report course access time log report
Quiz report
Hands-on discussion
What are strengths and weaknesses of builtin reporting?
Strengths some thoughts
Click level data
Many built-in reports
Self-service
Contextual
Weaknesses some thoughts
All things / one thingDates
Courses
Users
Not easily actionable
No report builder
Hands-on
Use the config changes report to find the latest setting change on your Moodle site
Look at the log report and select a filter to narrow the results
Other sources for reports
Module databaseAd Hoc Reports
Configurable Reports
Other specialty reports
3rd Party reporting tool
Ad hoc report list Link
Write a SQL query
Write in PHP (development)
Configurable reports
Extra pre-built reports
Basic report builder
SQL reports
Hands-on
Install Configurable Reports
Add the block
Add a report
Some database / reporting tools
PHPMyAdmin
Adminer
Crystal reports
Jaspersoft
MS Access
Excel
MySQL Workbench / Sequel Pro
MyODBC
Windows client software
Connect MySQL to desktop applications
Make ad hoc reports in MS Access, Excel, Open Office, etc.
PHPMyAdmin
PHP program
Database access tool
Quick-and-dirty one-off reporting
Examine database structure
Hands-on
Go into PHPMyAdmin
Find the table that stores user information
Find the field that stores first name
Find table that stores courses
Find field that stores course short name
Use the search feature
Ad Hoc Reporting List
URL http://bit.ly/1fHQmhU
Wiki of contributed SQL reports for Moodle
Great place to find reports
Fairly easy to tweak to make your own
Be sure to vet accuracy of reports used
Anyone can edit the wiki
Hands-on
Select an interesting Ad Hoc Report
Go to Configurable Reports
Create a custom SQL report
Paste in report SQL
View report
Misc Techniques
Steal a similar report!
Edit my.cnfgeneral_log = on
general_log_file=/usr/log/general.logmysql config for query logging
Go to builtin report page
Restart mysql
Refresh report
Disable setting
Build a report with SQL
Structured Query Language
Powerful
Flexible
Complex for novices
Can be dangerous
Use a testing server
Basic sequel query
Select firstname, lastname from mdl_user;
Limiting results with where
Select firstname, lastname from mdl_user where lastname = 'Moore';
Managing time / date stamps
FROM_UNIXTIME( date_field, 'format_string')
Join course and course category
Select * from mdl_courses c
JOIN mdl_course_categories ccat ON c.category = ccat.id;
Hands-on
Make most popular report request(s
Either whole group / small group if enough SQL experts
What we do
Expert advice and eLearning program review
Evangelism and training
Instructional design
Custom development
Reporting
System tuning
Performance assessment
Questions?
http://elearningconsultancy.com
Twitter: @moorejon
Skype: moorejon07