Book Image

Moodle 3.x Developer's Guide

By : Ian Wild, Jaswant Tak
Book Image

Moodle 3.x Developer's Guide

By: Ian Wild, Jaswant Tak

Overview of this book

The new and revamped Moodle is the top choice for developers to create cutting edge e-learning apps that cater to different user’s segments and are visually appealing as well. This book explains how the Moodle 3.x platform provides a framework that allows developers to create a customized e-learning solution. It begins with an exploration of the different types of plugin.. We then continue with an investigation of creating new courses. You will create a custom plugin that pulls in resources from a third-party repository. Then you’ll learn how users can be assigned to courses and granted the necessary permissions. Furthermore, you will develop a custom user home. At the end of the book, we’ll discuss the Web Services API to fully automate Moodle 3.x in real time.
Table of Contents (19 chapters)
Title Page
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Customer Feedback
Dedication
Preface
6
Managing Users - Letting in the Crowds

Reporting


A great place to begin learning how data reports can be developed is with the Open University's Ad-hoc database queries plugin, available from the Moodle plugin directory at https://moodle.org/plugins/report_customsql. As this plugin essentially lets us query the Moodle database in any way we choose, along with providing the functionality to schedule report generation (including saving reports as a CSV file and emailing them out to a chosen recipient), it makes sense to use this plugin as the foundation for any reporting plugin we develop. To that end, rather than downloading the code from the plugin directory, we can fork it in GitHub. Go to https://github.com/moodleou/moodle-report_customsql and click on the Fork button:

You can now clone your fork to your development machine. Moodle reports are copied into the /report folder:

Report plugin structure

Expand the /customsql folder, and you will notice that a report plugin follows the general Moodle plugin structure:

The full details...