L'éditeur de scripts permet d'écrire et d'exécuter des scripts depuis l'outil back-office, cet outil est également présent dans l'administration et la vue repository.
Il se base sur la syntaxe GraalJS.
Cet outil, quand il est utilisé en back-office, dispose d'une grille permettant d'afficher les contenus retournés par le script, en plus de l'affichage texte des messages et résultats.
Ce même outil est plus limité dans les contextes d'administration et repository, il n'est pas possible d'y afficher des contenus en grille.
Dans cette documentation, nous allons considérer que nous sommes dans l'environnement back-office du CMS.
Pour pouvoir accéder à l'outil, il faut posséder le droit "Outil Script" de la catégorie "Autres outils".
Cet outil est découpé en 3 zones :
Après exécution d'un script avec succès, la partie script est rétractée pour afficher la grille et la console avec les résultats du script.
Seul les 100 premiers résultats sont affichés dans la grille.
L'ensemble des fonctionnalités de scripts sont décrites dans l'aide accessible via le point d'interrogation associé à l'outil de script. En cliquant dessus, cela ouvre alors l'aide des scripts et les différentes possibilités. La documentation dépend de votre environnement. Elle présente des tutoriels, des variables accessibles directement, notamment des utilitaires de journalisation et de suivi, et enfin des fonctions. Pour chacun des points, vous retrouvez des exemples d'utilisation.
Vous retrouverez notamment des fonctionnalités pour récupérer la sélection courante (Ametys.selection), faire du suivi (Ametys.console, Ametys.getLogger(...) ou Ametys.progressionTracker), de présentation des contenus en grille (Content.toGridFormat(...)), d'envoi de mail (Ametys.mail), de création de rapports (Report), de recherche (Repository, Solr, SQL) et de manipulation de contenu (Content), ainsi que d'autres éléments permettant d'accéder aux API.
Les scripts sont considérés comme des recherches. Si vous avez le plugin Queries Directory, vous pouvez sauvegarder vos scripts de la même manière que vous pouvez sauvegarder une requête de recherche.
Enrichissement du référentiel
S'il y a des morceaux de code que vous utilisez régulièrement dans vos scripts, vous êtes encouragé à enrichir votre référentiel afin qu'ils soient disponibles dans tout vos scripts. Pour cela, veuillez vous référer à la documentation Enrichissement du référentiel de scripts.