18. Interface en ligne de commandes (CLI)¶
Les interfaces en lignes de commandes (CLI) vous permettent d’interagir avec Mahara par le biais de la ligne de commande ou du terminal plutôt que par une interface graphique. Cela peut accélérer certaines actions ou les rendre plus faciles à exécuter.
Note
Vous pouvez afficher des informations d’aide sur les commandes individuelles disponibles pour chaque script :
sudo -u www-data php htdocs/admin/cli/[nom du fichier du script].php -h
18.1.
Add a block to pages in bulk¶
Copy a block and its settings to other people’s pages or a specific person’s page via the backend. The block is copied to the same page type.
For example, if the original block is located on a “Dashboard” page, the block is only copied to “Dashboard” pages. The block will not be copied if the target page already has the same type of block. For example, a “Portfolios shared with me” block can only be copied to other “Dashboard” pages if they don’t already have that block.
sudo -u www-data php htdocs/admin/cli/add_block_to_views.php
You need the following, which you can find in the block_instance
database table:
The ID of the block that you want to copy
The ID of the page on which the block is located
Note
A “Page” is called “view” in the database. So you want to look for “view” to find the ID of a page.
18.2.
Active account holder information¶
You may wish to know if the people who have logged in during a specific time frame have engaged on the site, e.g. created or uploaded content. By knowing that, you could decide if you wanted to delete certain accounts if they only logged in but have not performed any actions.
Execute the script with the following command.
sudo -u www-data php htdocs/admin/cli/inactive_users.php --interval="1 YEAR"
Note
You can change the interval time and also display days or months. The interval always indicates the time period from now into the past by the interval. By choosing 1 year, for example, you see everyone who has logged into the site during the previous 365 days.
The resulting table shows the following information:
Mahara ID: The internal Mahara ID
Username: The username of the account
Last login: The last login date and time
Only has default pages: If “Yes” is displayed, the account holder only has the dashboard and the profile page, but has not created any portfolio pages. If “No” is displayed, they have at least one portfolio page.
New artefacts in time interval: If “Yes” is displayed, they created or uploaded content during the time interval. If “No” is displayed, they did not create any content during the selected time period.
New portfolios in time interval: If “Yes” is displayed, they created at least one portfolio page during the time interval. If “No” is displayed, they did not create any portfolio pages during the time interval.
Has joined groups: If “Yes” is displayed, they are a member of at least one group. If “No” is displayed, they have not joined any groups.
Quata used: The amount of the file quota is displayed in bytes.
Quota used percentage: The percentage of their used quota
18.3. Surveillance des tâches Cron¶
Configurez quand vous voulez être alerté des échecs de la tâche cron dans un logiciel de surveillance externe.
See also
Reportez-vous au module « Surveillance » dans l”administration des plugins.
18.4. Supprimer certains groupes par lots¶
Si vous avez un gros site et que vous avez supprimé un grand nombre de comptes, vous pouvez également souhaiter nettoyer les anciens groupes de manière efficace. Vous pouvez faire ce qui suit avec le script de suppression en masse de groupes :
supprimer tous les groupes qui n’ont pas de membres, par exemple après que les comptes aient été supprimés ;
et supprimer tous les groupes qui n’ont comme membres que des administrateurs de site ;
et / ou supprimer uniquement les groupes associés à une certaine institution.
Exécutez le script avec la commande suivante. Une exécution à froid est effectuée par défaut afin qu’aucune donnée ne soit supprimée par accident.
sudo -u www-data php htdocs/admin/cli/delete_inactive_groups.php
18.5. Supprimer certains comptes en masse¶
Si vous souhaitez supprimer des comptes en masse du site sans avoir à passer par l’écran d’administration, surtout si vous avez plus de 500 comptes à supprimer, vous pouvez utiliser le CLI. Ce script vous permet d’effectuer les opérations suivantes :
supprimer tous les comptes qui n’ont jamais été connectés, c’est-à-dire qui ont été créés manuellement, via un fichier CSV, ou un processus automatisé ;
et / ou supprimer tous les comptes qui ne se sont jamais connectés depuis une certaine date ;
et / ou supprimer uniquement les comptes d’une ou plusieurs institutions spécifiques ;
supprimer les comptes qui n’appartiennent pas à une ou plusieurs institutions spécifiques ;
supprimer les comptes qui sont membres d’un groupe spécifique.
Note
Lorsque vous spécifiez des institutions ou des groupes, utilisez leur nom abrégé.
Exécutez le script avec la commande suivante. Une exécution à froid est effectuée par défaut afin qu’aucune donnée ne soit supprimée par accident.
Travail à vide général :
sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php
View the help file:
sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php -h
18.6. Export accounts in bulk¶
You can export all or certain accounts in bulk via CLI. You have the following options:
Export all accounts
Export some accounts based on filter criteria: first name, last name, email, username
Export some accounts based on CSV file
Choose the export format: HTML, Leap2A, PDF (if installed)
Exécutez le script avec la commande suivante. Une exécution à froid est effectuée par défaut afin qu’aucune donnée ne soit supprimée par accident.
Travail à vide général :
sudo -u www-data php htdocs/admin/cli/portfolio_bulkexport.php
View the help file:
sudo -u www-data php htdocs/admin/cli/portfolio_bulkexport.php -h
18.7. Indexation plus rapide des sites utilisant Elasticsearch¶
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.8. 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
Les codes de langue utilisés sont les codes internationaux officiels utilisés pour les « paquets de langue Mahara » <https://langpacks.mahara.org/>`_.
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.
18.9. Populate outcomes portfolio tables¶
Theoutcomes portfolios require the configuration of outcome categories, types, and subjects. These are added directly into the database via the upload of CSV files through CLI.
See also
Refer to the outcomes portfolio types and subjects setup instructions to learn what the CSV files need to look like.
Upload the outcome types file, which also directly sets up the outcome categories:
sudo -u www-data php htdocs/admin/cli/populate_outcome_tables.php -t=path_to_categories.csv
The -t flag indicates that it is the file that contains the outcome types.
Upload the subjects file:
sudo -u www-data php htdocs/admin/cli/populate_outcome_tables.php -s=path_to_subjects.csv
The -s flag indicates that it is the file that contains the subjects.
The -e flag allows you to enable the outcomes functionality for the institution for which you want to create the cateogries or subjects if you haven’t already enabled it.
For example, the following commands enables outcomes for the institution mentioned in the CSV file and creates the subjects:
sudo -u www-data php htdocs/admin/cli/populate_outcome_tables.php -s=path_to_subjects.csv -e=true