10.13. Command-line interfaces (CLI)¶
Command-line interfaces (CLI) allow advanced users to interact with Mahara through the command line or terminal rather than through a graphical interface. That can speed up certain actions or make them easier to execute.
10.13.1. Index sites running Elasticsearch faster¶
Note
Prerequisite: Elasticsearch is installed and set up to run on the site.
When a large site is indexed or re-indexed so that Elasticsearch can display results, this process can take a very long time because the indexing happens on cron runs. If the batch that was indexed finished before the end of the cron though, there is a lag between the next batch starting up again. The fast_index
CLI script starts the next batch indexing right after the previous one finished.
You run the script with the following command:
sudo -u www-data php admin/cli/fast_index.php
10.13.2. Install and update language packs¶
Typically, if you want to update a language pack, you need to download the entire language pack manually and place it into the appropriate folder. This is cumbersome, especially when you want to update the language packs during minor point updates.
Using CLI, you can speed up the process.
Install or update language packs for your instance of Mahara by listing the language codes.
Example (de = German, fr = French):
sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr
This will make a backup of the existing languages if they exist into the
dataroot’s langpacks_backup
directory.
Note
The language codes that are used are the official international ones used for the Mahara language packs.
Don’t make backups: Add the -b=false
flag
Example:
sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -b=false
Restore a backup: Use the -r=true
flag
Example:
sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -r=true
This will ignore trying to update the English language as that is set within Mahara itself.