18. Interface en ligne de commandes (CLI)

Command-line interfaces (CLI) allow you 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.

Note

You can view help information on the individual commands that are available for each script:

sudo -u www-data php htdocs/admin/cli/[file name of the script].php -h

18.1. Delete certain groups in bulk

If you have a large site and deleted a lot of accounts, you may also wish to clean up old groups in an efficient way. You can do the following with the bulk group deletion script:

  • delete all groups that have no members, e.g. after accounts were deleted;

  • and delete all groups that have only site administrators as members;

  • and / or delete only groups associated with a certain institution.

Execute the script with the following command. A dry run is made by default so that no data is deleted by accident.

sudo -u www-data php htdocs/admin/cli/delete_inactive_groups.php

18.2. Delete certain accounts in bulk

If you want to delete accounts in bulk from the site without needing to go to the administration screen, especially if you have more than 500 accounts to delete, you can use CLI. This script allows you to do the following:

  • delete all accounts that have never been logged into, i.e. that were created manually, via CSV file, or an automated process;

  • and / or delete all accounts that have not been logged in since a certain date;

  • and / or delete only those accounts from a specific institution;

  • delete accounts that are members of a specific group.

Execute the script with the following command. A dry run is made by default so that no data is deleted by accident.

sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php

18.3. Index sites running Elasticsearch faster

Note

Prérequis : Elasticsearch doit être installé sur les site et correctement configuré.

Lorsqu’un gros site est indexé ou ré-indexé pour qu’Elasticsearch puisse afficher les résultats des recherches, le processus peut être relativement long parceque celui-ci n’est lancé que lorsque le cron est lancé. Si le lot de document à indexer a terminé avant la fin du cron, il existe alors un temps d’attente avant que le prochain lot puisse être lancé. Pour éviter cela, le script CLI ``fast_index``permet de démarrer un nouveau lot d’indexation dès que le précédent est terminé.

Pour lancer le script vous utilisez la commande suite :

sudo -u www-data php admin/cli/fast_index.php

18.4. Installer et mettre à jour les paquets de langue

Une action de ce type concerne par exemple l’exploitation des paquets de langues. Normalement, vous devez télécharger un paquet de langue depuis le site ad hoc, et le placer manuellement dans le dossier approprié. Ceci est assez fastidieux, notamment lorsque vous désirez gérer et mettre à jour plusieurs paquets de langue sur votre plateforme.

En utilisant CLI, vous pouvez accélérer le processus.

Installer ou mettre à jour des paquets de langue pour votre instance de Mahara en listant simplement les codes de langue.

Exemple (de = Allemand, fr = Français) :

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr

Ceci va créer automatiquement, s’il existe, une sauvegarde du paquet de langue dans le dossier langpacks_backup.

Note

The language codes that are used are the official international ones used for the Mahara language packs.

Ne pas faire de sauvegarde : Ajouter le paramètre -b=false

Exemple :

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -b=false

Rétablir une sauvegarde : Utilisez le paramètre -r=true

Exemple :

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -r=true

La mise à jour de la langue anglaise est ignorée, car les chaînes anglaises sont dans le coeur de Mahara et non dans un paquet de langue.