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

Course formats


The layout of a course page is managed through the selection of the relevant course format plugin. See https://docs.moodle.org/dev/Course_formats for details. Our IDs are willing to display resources and activities based on the user's location. A search through the Moodle plugins directory revealed the GPS Format plugin--see https://moodle.org/plugins/format_gps-- originally developed by Jurgen Kappus, Barry Oosthuizen, and Ralf Krause. However, our designers were looking for something simpler and have asked us to investigate further.

What's great about this plugin is that it allows us to also investigate how we can go about incorporating JavaScript and AJAX into our Moodle plugins. Recall that PHP scripts run server-side and JavaScript runs client-side. Advantages of running code client-side include the following:

  • There are some things about the client that the server can't know about (such as the client's location)
  • Processing takes place on the client machine not on the server...