11.11. Development

Administration menu → Development


Development is only accessible by site administrators.

This administration section includes tools for developers to make them easily accessible.

11.11.1. Behat steps

Administration menu → Development → Behat steps

Display Behat steps that you can use in your own tests

Mahara comes with a Behat automation test suite that makes it possible to automate a lot of manual testing.

On this page you see the Behat steps that you can use in Mahara out of the box. They are listed as a reference so you can see how they are being used.

  1. A warning is displayed if the permissions on the Behat folder in your dataroot are not correct and the steps can’t be read. Some steps are always displayed, but not the majority of them unless you have the permissions correct.

  2. Click the text of a step or the chevron to see all instances where this step is used.

  3. The question mark indicates that there can be different text.

  4. Click the file name to see the actual text used in this particular file.

  5. The line and the step are displayed.

11.11.2. Components library

Administration menu → Development → Components library

List of all third-party plugins in Mahara

Mahara uses a number of third-party plugins that deliver JavaScript, filtering, templating, and many more. On this page you see them all listed along with their version number in this particular version of Mahara and the path to their project site. That information is taken from the ‘Readme.mahara’ files available in each plugin in the code base.

  1. Plugin: The name of the plugin.

  2. Path: Where you can find the code in the Mahara code base.

  3. Version: Current version number of this plugin.

  4. URL: Official URL of the plugin where you can find out more about it.

11.11.3. Embedded URLs

Administration menu → Development → Embedded URLs

When you migrate your site to a different domain, content such as images embedded into text or URLs pointing to pages and collections within text are not updated to the new domain automatically. This tool helps to update all of these instances in one go.

Update embedded URLs

  1. Go to yourdomain/admin/extensions/embeddedurls.php.

  2. Old site URL: Enter the URL of your previous site.

  3. Click the Check URL button. Mahara now tries to find instances where the URL was used in embedded content.

  4. Results for …: A list of all instances where an embedded URL was found.

  5. Click the Update URLs button to change all instances to the new site URL.


Use this tool instead of updating the URLs via a database query because text is stored serialised and can’t be updated via a SQL query.

11.11.4. Languages

Administration menu → Development → Languages

You can install and update language packs on this page, keeping the translations of the interface up to date. This is handy if you know that changes have been made to a translation that you have, but you don’t have direct server access. This automates the process of downloading the language from the Mahara language pack site.

These languages are only for the translation of the interface. You can use any language that is supported by Unicode when you add text yourself as Mahara.


English is not listed here as that is the default language for Mahara. You can find the languages and how much they have been translated for the Mahara interface in the translation project.

If your desired language is not available, you can start a translation for it.

Install and update languages for the interface

  1. Select the language pack that you want to install from the drop-down menu and click the Add language button to add it to your site. The latest translations available for the version of Mahara you are using will be installed.

  2. Click the All button to select all languages mentioned on this page to be updated.

  3. Click the None button to revert your selection.

  4. You can select individual languages by ticking their checkbox.

  5. Name: The name of the language in its language.

  6. Language code: The international two-letter code by which the language is identified on the Mahara language pack site.

  7. Last updated on: The time when the language was last updated through this interface.


    If you install or update a language via a zip file or use the language pack update CLI script, that is not tracked here.

  8. File origin: Link to the file on the Mahara language pack site.

  9. Click the Update button to pull the latest versions of the selected languages and install them.

11.11.5. Style guide

Administration menu → Development → Style guide

The style guide is a reference guide for developers. It describes the components that are used in Mahara and provides their CSS markup so you can check if you have styled everything consistently with the rest of the environment.

If you want to check what the individual components look like in a different theme, switch the site theme and refresh the style guide.


Currently, the style guide is only available in English, and more elements will be added with time.

The style guide

  1. Navigation to reach the various different component groups within Mahara.

  2. Title and short description of the component.

  3. What the component looks like.

  4. The code that is needed to produce the component.


    This often has to be adjusted somewhat to account for different text on a button or different options. This is the code of the example.

  5. Click the Copy button to copy the code to the clipboard.