local:moodlescript:expressionsyntaxspecification
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | local:moodlescript:expressionsyntaxspecification [2025/10/15 10:32] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | < | ||
+ | ===== Spécification de syntaxe ===== | ||
+ | ===== Expressions évaluables MoodleScript ===== | ||
+ | |||
+ | Les expressions évaluables MoodleScript, | ||
+ | |||
+ | * Un jeu d' | ||
+ | * La forme générale d'un élément évaluable | ||
+ | * Le format des valeurs " | ||
+ | |||
+ | ==== Les opérateurs logiques ==== | ||
+ | |||
+ | Ils sont au nombre de 4 et correspondent à des combinatoires logiques classiques : | ||
+ | |||
+ | * NOT (opérateur unaire, négation) | ||
+ | * AND (binaire, ET logique) | ||
+ | * OR (binaire, OU logique) | ||
+ | * XOR (binaire, OU exclusif) | ||
+ | |||
+ | Le traitement de la combinatoire logique ne supporte pas actuellement l' | ||
+ | |||
+ | ==== forme générale d'un élément évaluable ==== | ||
+ | |||
+ | Un élément évaluable est une proposition à au plus deux opérandes : | ||
+ | |||
+ | * [Opérande 1] < | ||
+ | * [Opérande 1] < | ||
+ | |||
+ | Deux types d' | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | * '' | ||
+ | |||
+ | Le deuxième type porte sur des instances d' | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | * '' | ||
+ | |||
+ | La liste complète des opérateurs " | ||
+ | |||
+ | D' | ||
+ | |||
+ | * Une valeur scalaire littérale (numérique ou textuelle) | ||
+ | * Une référence à un objet | ||
+ | * Une référence à un attribut scalaire d'un objet (ce cas est une extension du précédent) | ||
+ | |||
+ | ===Valeurs scalaires=== | ||
+ | |||
+ | Doivent être notées entre guillemet si elles sont " | ||
+ | |||
+ | ===Référence à un objet=== | ||
+ | |||
+ | Elle se décompose en deux ou trois segments qui doivent définir une instance unique d'un certain type d' | ||
+ | |||
+ | Formes générales : | ||
+ | |||
+ | [optype]: | ||
+ | |||
+ | ou | ||
+ | |||
+ | [optype]: | ||
+ | |||
+ | Exemples : | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | Cas particulier, | ||
+ | |||
+ | Les déictiques sont des expressions dont la valeur change en fonction du contexte ou du moment de l' | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ===Référence à un attribut final=== | ||
+ | |||
+ | Une référence à un attribut final est construite comme une référence " | ||
+ | |||
+ | Forme générale : | ||
+ | |||
+ | [Ref objet]: | ||
+ | |||
+ | Exemple : | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | |||
+ | ====Détail des implémentations==== | ||
+ | |||
+ | ===Types d' | ||
+ | |||
+ | * **user** : Un utilisateur | ||
+ | * **user_profile_field** : un champ de données personnalisé de l' | ||
+ | * **course** : Un cours | ||
+ | * **category** : Une catégorie de cours | ||
+ | * **cohort** : Une cohorte | ||
+ | * **group** : Un groupe, dans le contexte de cours courant | ||
+ | |||
+ | ===Opérateurs supportés=== | ||
+ | |||
+ | * **=** : est égal | ||
+ | * **!=** : est différent | ||
+ | * **<** ou **<=** : est inférieur ou inférieur ou égal | ||
+ | * **>** ou **>=** : est supérieur ou supérieur ou égal | ||
+ | * **~** : contient (regex) | ||
+ | * **!~** : ne contient pas (regex) | ||
+ | |||
+ | ===Opérateurs " | ||
+ | |||
+ | * **hasrolein** : a un rôle dans le contexte | < | ||
+ | * **isenrolledin** : a une inscription active dans le contexte | < | ||
+ | * **hasloggedin** : s'est connecté au moins une fois | < | ||
+ | * **hascompleted** : a achevé un contexte | < | ||
+ | * **hasstarted** : a commencé à travailler (au sens de l' | ||
+ | * **isincategory** : est enfant de la catégorie | < | ||
+ | * **isincattree** : est dans l' | ||
+ | * **isinsubs** : est dans une des sous-catégories | < | ||
+ | * **isempty** : est vide | < | ||
+ | * **isingroup** : est dans le groupe | < | ||
+ | |||
+ | ===Objets à venir (prospective)=== | ||
+ | |||
+ | * **module** : Module de cours (activité ou ressource) | ||
+ | * **badge** : Badge | ||
+ | |||
+ | ===Opérateurs " | ||
+ | |||
+ | * **isin** : est dans la cohorte ou le groupe < | ||
+ | * **hasbadge** : a acquis le badge | ||
+ | * **hascompleted** : extension au context < | ||
+ | |||
+ | ===Fonctionnalités à venir=== | ||
+ | |||
+ | * Expressions nommées : Des expressions évaluables associées à un nom pour pouvoir être utilisées à plusieurs endroits et définies de manière unique et centralisée. Par anticipation, | ||
+ | |||
+ | ::< | ||
+ | |||
+ | qui discriminera nettement l' | ||
+ | |||
+ | Ainsi la simple mention de | ||
+ | |||
+ | :: | ||
+ | |||
+ | ira rechercher la définition complète de la règle dans le catalogue de règles nommées. La localisation du catalogue est dans l' | ||
+ | |||
+ | A titre de prospective, | ||
+ | |||
+ | :: | ||
+ | |||
+ | qui proposera des valeur à substituer dans l' | ||
+ | |||
+ | | ||
+ | |||
+ | Pour une règle disant "est ce que le username de l' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | [[: | ||
+ | < |
local/moodlescript/expressionsyntaxspecification.1666078285.txt.gz · Dernière modification : (modification externe)