| {{ :avignon-universite.jpg?nolink|}} | {{ :blocks:logo-apl.png?nolink&220|}} | ===== Implémentation des commandes dans les objets Boardz ===== Les commandes sont des fonctions sur les classes mappées sur les entités administrables par ligne de commande, et dont le nom interne commence par cmd_. Exemple : class MoodleCubeMeasurement extends Measurement { /** * clear terminal driven command. */ public static function cmd_clear($args) { if (Native::empty($args)) { throw new BoardzException("Empty argument for clear. Give measurementid"); } else { $measurementid = ArrayUtils::array_shift($args); } self::$BDDB->delete_records('moodle_calc_cube', ['measurementid' => $measurementid]); self::$BDDB->delete_records('moodle_calc_cube_daily', ['measurementid' => $measurementid]); self::$BDDB->delete_records('moodle_calc_cube_weekly', ['measurementid' => $measurementid]); self::$BDDB->delete_records('moodle_calc_cube_monthly', ['measurementid' => $measurementid]); self::$BDDB->delete_records('moodle_calc_cube_yearly', ['measurementid' => $measurementid]); Console::log("MoodleCubeMeasurement results cleared for measurement $measurementid"); } Définit une commande "clear" acceptant un argument numérique valant pour un "measurementid" Le mapping des entités administrables est fournie dans la fonction privée locate() de la classe \boardz\BoardzServer : static $locations = [ 'storage' => '\boardz\data_storage\Storage', 'parser' => '\boardz\feeder\Parser', 'filter' => '\boardz\feeder\Filter', 'moodlecube' => '\boardz\data_storage\MoodleCube', 'moodlecubemeasurement' => '\boardz\data_processing\MoodleCubeMeasurement', 'moodlesync' => '\boardz\moodle\datasync\MoodleSyncScheduler', 'backup' => '\boardz\utils\BackupManager', ]; La mise en oeuvre du mapping de classe et de la commande cmd_clear() permet de proposer l'appel suivant : ./boardz moodlecubemeasurement clear 20 Pour vider les données précalculées de la mesure d'id 20. ==== ROADMAP ==== * Autoriser une identification alternative par UID. [[:start|Revenir au sommaire]]