Recently Updated Pages

Illegal Mix of Collations

If you receive an error like this: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf...

Error opening language pack (incorrect string value)

If you get an error like this when opening the language pack, it is indicating that your database...

The data source class does not exist

If you get the following during an upgrade, particularly from early Moodle 3.x versions to later,...

Mailtrap.io SMTP settings

Here are the settings to use in Mailtrap.io if you want to capture all emails sent from Moodle to...

Welcome

Welcome to the Moodle Wiki, where you can find all kinds of useful information related to Moodle ...

Gmail with Moodle for Outgoing Email (SMTP)

You can use Gmail (including Google Workspace) to send emails via Moodle. Here are the settings r...

Theme Rendering Issues

If you are having issues with theme rendering particularly after restoring a site to a new server...

Repeating Rows in MySQL and MariaDB

You might come across a need to repeat a row a set number of times in your SQL. There's an easy w...

Upgrading between Moodle Stable Versions with Git

Due to the large diveregences between moodle stable versions in the Moodle git repository (e.g. M...

Collation is not valid for character set

If you get an error like this when saving data (e.g. creating a new user): COLLATION 'utf8_bin' ...

SCSS Max Execution Time Reached

If you have a site where the theme is not displaying correctly and you have confirmed it is not r...

HTTPS Conversion Tool

The latest versions of Moodle include a HTTPS conversion which helps you search for and change ov...

Uninstall Missing Plugins

The Site administration > Plugins > Plugins overview page is a really important section to ...

Search Engine Indexing

There are two settings in your Moodle related to search engine indexing of the site. These can be...

Add Site Admins through cfg.php tool

You can use the site configuration admin/cli/cfg.php tool to add a site admin if you know the use...

SQLInjection Protection

One of the most important things you can do if you are developing your own Moodle plugins is to e...

Web Service Course or Activity not Accessible

If you are using a web service function like enrol_manual_enrol_users to enrol users into a cours...

Web Service Responses in JSON Format

To get web service responses in JSON format (e.g. with the REST protocol), you can pass the query...

User Profile Field Select Options

If you need to get the list of user profile field select options for your plugin, you can query t...

Showing additional fields on user profile page

The fields displayed on the user profile page (public profile) are controlled by the code in lib/...

Back to top