18. Interface en ligne de commandes (CLI)

L’interface en ligne de commandes (CLI) permet aux utilisateurs avancés d’interagir avec Mahara à l’aide du terminal à la place d’une interface graphique. Ceci permet de gérer plus rapidement et plus pratiquement certaines actions dans la gestion technique de Mahara.

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 users, 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 users 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 users in bulk

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

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

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

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

  • delete users 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.