local:moodlescript:expressionsyntaxspecification
Différences
Ci-dessous, les différences entre deux révisions de la page.
| — | local:moodlescript:expressionsyntaxspecification [2026/01/13 07:19] (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)
