What this book covers
The book is organized in five parts, as shown in the following diagram:
Figure P.2 – Book structure
Part 1: Getting Started
These two initial chapters will get you off the ground. You will learn different techniques on how to install Moodle and how to keep it up to date. You will further familiarize yourself with the Moodle system and its user interface. This part comprises the following chapters.
Chapter 1, Installing Moodle, tells you about the most suitable Moodle setup for your organization, including software and hardware requirements. You will learn how to install Moodle in a LAMP environment before Moodle update options are covered in detail. Throughout the chapter, you will learn how to perform the described operations using the Moodle Command-Line Interface (CLI), Git, and the third-party Moodle Shell (Moosh).
Chapter 2, Exploring the Moodle System, covers the building blocks of the learning platform. First, we present the Moodle architecture – that is, the main Moodle components – and where its data and code are stored. You will then acquire the skills to find your way around Moodle via its intuitive user and administration interface and where to find help if required. Finally, you will learn how Moodle’s file management works and how to configure the recycle bin.
Part 2: Courses, Users, and Roles
Courses, users, and roles form the backbone of Moodle. You will learn how to manage courses and categories and different options to enrol users in courses. We will then deal with the management of users and cohorts and how to set up different authentication methods. Finally, you will learn how to manage permissions by applying roles and capabilities in different contexts. This part comprises the following chapters.
Chapter 3, Exploring Courses, Users, and Roles, gives you an overview of Moodle courses, users, and roles. It covers the basics of the key concepts and demonstrates how the three core elements are inherently intertwined.
Chapter 4, Managing Courses and Enrolments, shows you how to set up new courses (manually and in bulk) and organize them in categories. You will learn how to add custom course fields and deal with course requests. The remainder of the chapter deals with an array of enrolment options, covering Moodle’s internal enrolment (manual, self, and guest), cohort enrolment and synchronization, and database-driven enrolments – for instance, via LDAP, meta courses, and payment-driven enrolments.
Chapter 5, Managing Users, Cohorts, and Authentication, explains how to manage users on your system. We first cover what user profiles look like and how they can be extended before presenting (manual and bulk) standard user actions. We then explain how to add users to Moodle manually – that is, one by one and via batch upload – before dealing with cohorts. Then, we will learn about a plethora of authentication mechanisms that Moodle equips us with. Finally, we will discuss the best practices of user-naming schemes.
Chapter 6, Managing Permissions, Roles, and Capabilities, guides you through permission management. This applies roles and capabilities to users in different contexts. We will cover the assignment of roles, modification of existing roles, and the creation of new roles before we deal with any administrative role- and context-related settings, including context freezing.
Part 3: Enabling Learning and Teaching
This part is about how you, as an administrator, ensure the best possible environment for your learners and teachers. You will learn different enhancement options for Moodle’s look and feel and how to manage Moodle plugins, covering educational and technical features. This part comprises the following chapters.
Chapter 7, Enhancing Moodle’s Look and Feel, tells you how to adapt your Moodle system to align with your organization’s corporate branding. We will cover the customization of the appearance of your system, where you will learn how to change the layout of key pages before we deal with different login workflows and how to adjust the header. We will further deal with some appearance tools that impact the look and feel throughout the site: the block drawer, the Atto HTML editor, video and audio, and finally, user tours. We will briefly cover theme customization before you learn how to support users with accessibility requirements.
Chapter 8, Understanding Moodle Plugins, explains in detail what plugins are and how to extend your Moodle system via third-party add-ons. We will cover how to manage Moodle plugins, which includes their installation, configuration, and removal. Finally, you will be able to distinguish between good add-ons and not-so-good add-ons before we cover some popular extensions.
Chapter 9, Configuring Educational Features, deals with the educational configuration of your Moodle system. Pedagogical topics that are covered are collaboration tools (blogs, comments, and tags), content creation features (the content bank and H5P, LTI platforms and tools, filters, plagiarism prevention, and licenses), grades and assessments, and the management of skills and incentives (competencies, learning plans, badges, and certificates).
Chapter 10, Configuring Technical Features, deals with the technical configuration of your Moodle system. Technical subjects that are dealt with include synchronous and asynchronous communication (chats and BigBlueButton, messages, notifications, and RSS feeds), localization (languages, calendars, and time zones), repositories, and portfolios.
Chapter 11, Enabling Mobile Learning, teaches you how to prepare, configure, and customize the Moodle app. We will cover the different subscriptions Moodle offers, including the branded mobile app, before dealing with the preparatory steps you must take before your learners can use the app. The app configuration covers mobile features, notifications, the app policy, and the app’s look and feel.
Chapter 12, Gaining Insights through Reporting and Analytics, equips you with the tools required to interpret and analyze the vast amount of usage data that Moodle collects. We will first focus on Moodle‘s custom report builder, covering data sources, report building, report audiences, and schedules. After a detailed overview of the underlying Moodle logging framework with its components, events, and log stores, you will then learn how to interact with Moodle logs. Finally, we will deal with two more reporting techniques that use logs as their basis: Moodle statistics and Moodle analytics.
Part 4: Under the Bonnet
This part covers all topics that are mostly invisible to learners and teachers but are critical to guarantee the smooth operation of your Moodle system. You will learn how to ensure security, comply with data protection regulations, optimize Moodle’s performance, implement a solid backup and restore strategy, and work with helpful admin tools. This part comprises the following chapters.
Chapter 13, Ensuring Moodle Security, focuses on ensuring that the data in your Moodle system is protected from any misuse. You will learn about security notifications, user security, content security, and system security.
Chapter 14, Complying with Data Protection Regulations, deals with data privacy and the protection of personal data. You will learn about Moodle’s implementation of the General Data Protection Regulation, covering designating a privacy officer, managing policies, configuring the data registry, and handling subject access requests.
Chapter 15, Optimizing Moodle Performance, ensures your Moodle system runs to its full potential. We will cover configuring, monitoring, and fine-tuning your learning management system for maximum speed. You will learn how to optimize Moodle feature performance and discuss the trade-off between improved speed and potentially reduced functionality. We will then cover the powerful Moodle Universal Cache (MUC), including cache types, stores, and definitions. Finally, you will learn how to configure various system-related performance settings, namely session handling, cron management, scheduled tasks, global search, and system paths.
Chapter 16, Avoiding Sleepless Nights – Moodle Backup and Restore, focuses on ensuring that your data would not be lost in the event of a disaster. We will cover course backups, site backups, system backups, and restoring data from the taken data archives. You will learn about two procedures that use backup and restore facilities: planning year-end procedures and implementing course templates.
Chapter 17, Working with Moodle Admin Tools, covers Moodle tools that assist you with specific administrative tasks. These include site admin presets, database tools, as well as CLI scripts. We will also look at some add-ons, especially the powerful Moodle Shell, Moosh.
Part 5 – Beyond Moodle
No Moodle is an island. While many Moodle systems are operated in isolation, there are scenarios where your LMS must cooperate with external entities, whether exchanging data with other systems via web services, connecting disparate Moodle instances, or supporting multiple tenants. This part deals with setting up such topologies and comprises the following chapters.
Chapter 18, Integrating External Systems Using Web Services, looks at ways to integrate Moodle with other systems via web services. We will provide information about the basic concepts of Moodle web services before you learn how to set up external systems and users controlling Moodle.
Chapter 19, Setting Up Moodle Networking, tells you how to connect disparate Moodle systems in a peer-to-peer setup or via a Moodle hub. You will further learn how to enable MoodleNet, a platform to find, share and curate open educational resources.
Chapter 20, Supporting Multi-Tenancy, discusses different approaches and models to design and implement a multi-tenancy in Moodle. We distinguish between different multi-tenancy setups: multi-tenancy by categories, multi-tenancy by isolated systems, and multi-tenancy in Moodle Workplace.
Appendix, Configuration Settings, provides you with a list of parameters that can be modified in Moodle’s configuration file and the impact each of these values will have. The areas covered are administration settings and system settings.