Moteur de script pour moodle (Langage haut niveau)

Type de composant : Local

Nom : MoodleScript

Nom technique : local_moodledcript

Versions : à

Distribution : Public

Availability : Stable.

Dépot: https://github.com/vfremaux/moodle-local_moodlescript

Tests unitaires : https://travis-ci.org/vfremaux/moodle-local_moodlescript/branches

Description

Le moteur de script de Moodle implémente un langage de haut niveau sémantique ainsi que son interpréteur/machine d'excution permettant d'écrire des scénarios de commandes dans une syntaxe simple, proche du langage naturel et destiné à des administrateurs fonctionnels. Les instructions de présentent comme des macros manipulant l'essentiel des objets administrables de moodle.

Le langage de script a été conçu pour être robuste, flexible et facilement extensible. Les deux sous-ensembles (l'interpréteur et l'exécuteur) ont été soigneusement architecturés pour offrir un certain nombre de services au code du script, tel que le test, la validation et des fonctions exhaustives de traçage.

Un outil d'administration permet d'écrire des scriptlets de commande et de les exécuter interactivement dans Moodle. Les versions finalisées (pro version) intégreront également des web services pour pouvoir déposer et télé-exécuter des séquences de script, et se dirigera vers une capacité d'assistance à l'écriture.

Le deuxième usage de ce plugin est de pouvoir servir de moteur d'exécution à haut niveau pour d'autres plugins dont le comportement pourrait être paramétrable (par simple réécriture du script d'action).

Le moteur de script, depuis sa version 2022081700, fournit également un évaluateur d'expressions combinant une grande variété de tests sur les données de moodle. Cet évaluateur de test peut être facilement invoqué par d'autres plugins qui ont besoin d'évaluer une situation et piloter un affichage pour l'utilisateur courant.

Un exemple d'utilisation du moteur de script dans le plugin de transport de cours (block_publishflow).

Définition du langage

Le langage MoodleScript veut aboutir à une écriture simple, concise, et nécessitant le moins de syntaxe technique et de paramètres pour pouvoir fonctionner. Nous nos sommes orienté vers une syntaxe ancienne du BASIC afin que les insructions soient simples à comprendre et à relire, et s'appuie sur les sémantiques des objets administrables principaux de moodle.

Design du langage

Règles de syntaxe

Architecture du moteur

Définition du langage

Expressions évaluables - Règles de syntaxe

Fonctionnalités

Validation fonctionnelle de script

Vérification des paramètres avant exécution

Trace complète d'exécution

Variables de contexte automatique

API simple pour intégration

Retour à l'index des plugins - Retour à l'index des ensembles - Retour au catalogue