AMOS manual
AMOS stands for Automated Manipulation Of Strings. AMOS is a central repository of Moodle strings and their history. It tracks the addition of English strings into Moodle code, gathers translations, handles common translation tasks and generates language packages to be deployed on Moodle servers.
Backporting
Whilst we'd all like all Moodle users to be using our latest and greatest code, there is a balance to strike between improving our software and maintaining stability (both in terms of regressions, but also training and documentation materials). Large amounts of change on the stable branches make the lives difficult for institutions to manage upgrades between point releases.
Bug triage
Triage is a medical term referring to the process of prioritising patients based on the severity of their condition so as to maximise benefit (help as many as possible) when resources are limited.
Component lead review
This document summarises the intent, purpose, and process surrounding component lead reviews (CLR).
Contributing
If you want to contribute to Moodle, you can start looking at the following:
Contributing a translation
The Translation site enables translators to work collaboratively on language packs using a special Moodle translation tool called AMOS. If you see an error or non-translated term in Moodle in your language, you can contribute a correction or translation via the Translation site.
Deprecation
Deprecation, in its programming sense, is the process of taking older code and marking it as no longer being useful within the codebase, usually because it has been superseded by newer code. The deprecated code is not immediately removed from the codebase because doing so may cause regression errors.
Development process
A summary of the various development processes used in Moodle development.
Docs required issues
According to the Release process, 3 weeks prior to release we need to check docsrequired-labelled issues and write new documentation, removing the label and commenting in the issue when the work is done.
Getting started
- Set up your development environment
Integration review
All the information related to the integration review process during the Moodle development.
Locales
Locale is a set of parameters that defines the user's language, country and any special variant preferences that the user wants to see in their user interface. Usually a locale identifier consists of at least a language identifier and a region identifier.
Maintaining a language pack
Volunteering to become a language pack maintainer
Moodle App Development process
The development of new features and improvements in the Moodle App is organised in the following six phases:
New user docs version
This page describes the procedures for creating a new Moodle user docs version wiki.
Overview
A lot of people ask how the development of Moodle operates. This page should give you a working overview that should help in understanding a lot of other developer documentation.
Peer review
All the information related to the peer-reviewing process during the Moodle development.
Penetration testing
This is information for people who want to performing a penetration test of their Moodle instance as well as information for pen testers.
QA testing
All the information related to the Qualify Assurance tests during the Moodle development.
Release process
8 weeks prior
Security procedures
In the Moodle software, security issues are treated very seriously. Even though a lot of time is dedicated designing the code to avoid such problems, it is inevitable in a project of this size that new vulnerabilities will occasionally be discovered.
Starting a new language pack
If Moodle is not yet translated into your language and you would like to help, please create an account on the Translation site and contact our Moodle translation coordinator through translation@moodle.org.
Testing
All the information related to testing during the Moodle development.
Testing instructions guide
This page has suggestions for developers on how to write good testing instructions for the weekly testing of integrated issues.
Testing of integrated issues
All the information related to the integration review process during the Moodle development.
Tracker introduction
A summary of the most common actions in Moodle tracker.
Translating Moodle App
The Moodle App is being translated into more and more languages! Check out the latest translation stats.
Translating Moodle Docs
Contributing to the documentation
Translating plugins
Looking for translated plugins in the Moodle plugins database
Translation
So you'd like to help with translating Moodle?
Translation FAQ
How can I help with translating Moodle?
Translation langconfig
Langconfig is an important file in a language pack, dealing with all the configuration parameters of that language. It is good practice to review this first when starting of a new language pack or when taking on responsibility of an existing language pack. You can edit it by going to lang.moodle.org and find it as the core_langconfig component for your language.
Translation priority
This page gives a letter based priority grade to every file or file group in a language pack. The aim is to help new language packs to reach as quickly as possible a usable state.