Moteur de script pour moodle (Langage haut niveau)

Component type: Local

Name: MoodleScript

Versions: 3.1 to 3.6

Candidate version: 3.6

Distribution: Public

Availability: Stable.

Repository: https://github.com/vfremaux/moodle-local_moodlescript

Unit tests: https://travis-ci.org/vfremaux/moodle-local_moodlescript/branches

Distributors: Activeprolearn SAS (worldwide), Edunao SAS (Moodle Partner France, Belgium, French speaking Africa)

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).

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 simple à 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

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

Revenir à l'index des plugins - Revenir à l'index des ensembles