Les Web services permettent une interaction de briques logicielles externes avec le composant.
Synopsys : Cette fonction permet de modifier à distance n'importe quel paramètre de configuration de l'outil de synchronisation.
| Clef | Valeurs |
|---|---|
| fileuploadlocation | nom de fichier |
| filedeletelocation | nom de fichier |
| filedeleteidentifier | id, shortname, idnumber |
| fileexistlocation | nom de fichier |
| existfileidentifier | id, shortname, idnumber |
| fileresetlocation | nom de fichier |
| fileresetidentifier | id, shortname, idnumber |
| forceupdate | 0 ou 1 |
| Clef | Valeurs |
|---|---|
| filelocation | nom de fichier |
| primaryidentity | id, idnumber, username, email |
| Clef | Valeurs |
|---|---|
| filelocation | nom de fichier |
| courseidentifier | id, idnumber, shortname |
| useridentifier | id, idnumber, username, email |
| Clef | Valeurs |
|---|---|
| filelocation | nom de fichier |
| useridentifier | id, idnumber, username, email |
| cohortidentifier | id, idnumber |
| autocreate | 0 ou 1 |
| syncdelete | 0 ou 1 |
Synopsis : Cette fonction permet de déplacer un fichier préalablement téléchargé en zone draft vers son emplacement final dans le système de fichiers de l'outil de synchronisation.
Exemple de mise en oeuvre en PHP :
$path = '<location_of_the_file>';
$params = array('token' => '<valid_token>',
'itemid' => 0,
'filearea' => 'draft');
$uploadurl = '<moodle_url>/webservice/upload.php';
$ch = curl_init($uploadurl);
$curlfile = new CURLFile($path, 'x-application/zip', basename($path));
$params['resourcefile'] = $curlfile;
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
echo "Firing CUrl $uploadurl ... \n";
if (!$result = curl_exec($ch)) {
echo "CURL Error : ".curl_error($ch)."\n";
return;
}
$result = json_decode($result);
$filerec = array_pop($result);
// Now commit the file.
$params = array('wstoken' => '<valid_token>',
'wsfunction' => 'tool_sync_commit_file',
'moodlewsrestformat' => 'json',
'draftitemid' => $filerec->itemid);
$commiturl = '<moodle_url>/webservice/rest/server.php';
$this->send($commiturl, $params);
Synopsis : Déclenche le traitement de synchronisation approprié sur la base de la configuration actuelle de l'outil.
Synopsis : Permet de déployer un cours sur la base d'une archive de cours existante ou d'une sauvegarde disponible dans le système de fichiers.
(*) Syntaxe en cours d'expérimentation / documentation à développer
Pour une opération pilotée de l'extérieur, voici la séquence complète d'opérations à effectuer :
Ce service est destiné à compléter ou prendre la main sur les Web Services standards de Moodle, lorsque ces derniers sont en carence d'unification d'API en particulier en ce qui concerne les identifiants primaires des objets métiers principaux de Moodle.
Ce plan de service ajoutera des fonctions manquates à l'API standard, ou proposera une signature alternative pour les fonctions qui ne présentent pas de possibilité d'utiliser les identifiants externes ou alternatifs sur les objets métiers à manoeuvrer.
En général, on s'accorde de pouvoir fournir toutes les entrées possibles d'identification sur les bases suivantes :
| Entité | Identifiants possibles |
|---|---|
| Cours | id, shortname, idnumber |
| Utilisateur | id, username(@mnethostid), idnumber, email |
| Cohorte | id, idnumber |
| Groupe de cours | id, IDCours@name |
| Role | id, shortname |
Retour au guide technique - Retour à l'index du composant - Retour au catalogue