restauration de cours et attribution de roles

restauration de cours et attribution de roles

par Bruno Malaval,
Nombre de réponses : 11
Avatar Moodleurs particulièrement utiles
Bonjour,

Nous avons un probleme lors de la restauration de cours :

Notre plateforme contient différentes catégories, dans lesquelles les enseignants peuvent créer eux-memes les cours.
Les enseignants n'ont pas le droit d'attribuer de roles ou définir des dérogations dans les categories, juste de creer des cours.

1) Si un enseignant veut restaurer un cours, dans une categorie ou il a le droit de creer des cours, le syteme refuse en mettant l'erreur :

"La restauration nécessite l'attribution de rôles et vous n'êtes pas autorisé à le faire"

Pour que cela fonctionne, je dois donner le droit "d'attribuer des roles" et "definir des derogations" dans la categorie

2) Si l'enseignant créé d'abord un cours vide dans la catégorie, et effectue sa restauration dans le cours vide, cela fonctionne.

Je ne comprends pas bien pourquoi il lui faut "l'attribution de roles et derogations" dans une catégorie pour restaurer un cours.

Ces manipulations fonctionnaient bien jusqu'alors.
Nous avons mis notre plateforme a jour (1.9.7 => 1.9.8) en juillet.
Depuis, l'erreur se produit ...

Merci pour vos idées ...
Moyenne des évaluations  -
En réponse à Bruno Malaval

Re: restauration de cours et attribution de roles

par Alexandre Scherbyna,
Dans quelle version Moodle a été créée la copie de cours que vous restaurez ? Si c’est la version 1.9.7 essayez le faire avec la nouvelle copie faite en 1.9.8 et vérifiez qu'elle ne contient pas d'information à propos d'attribution de rôles.
En réponse à Alexandre Scherbyna

Re: restauration de cours et attribution de roles

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles
Bonjour,

Merci pour les pistes, mais cela ne semble pas etre la solution.

J'ai créé un cours (vide) dans une catégorie, fait une sauvegarde et tenter la restauration dans un nouveau cours => meme problème.

Je vais refaire des essais.

La restauration fonctionne si je donne aux enseignants le droit d'attribuer des roles dans la categorie ainsi que le droit de définir des dérogations, toujours dans la catégorie.

Mais je ne peux pas laisser cette configuration sur le serveur ....
En réponse à Bruno Malaval

Re: restauration de cours et attribution de roles

par Alexandre Scherbyna,

Précisez SVP de quel rôle il s’agit. Vous parlez de l’enseignant, mais normalement l’enseignant ne peut pas créer les cours, c’est le créateur de cours qui le fait.

Moi j’ai attribué à un utilisateur le rôle de créateur de cours au niveau de catégorie et de la part de cet utilisateur j’ai répété votre expérience :

J'ai créé un cours (vide) dans une catégorie, fait une sauvegarde et fais sa restauration sans problème. Donc si on procède de façon standard tout passe bien.

S’il s’agit bien de l’enseignant à qui vous donnez le droit de créer les cours, alors je peux proposer l’explication suivante. Au moment de création de cours vide son créateur y obtient automatiquement le rôle d’enseignant. Donc pour restaurer ce cours complètement il faut attribuer ce rôle, mais vous ne laissez pas le faire et voilà…

Donc vérifiez bien que la copie de cours ne contient pas d'aucune information à propos d'attribution de rôles.

En réponse à Alexandre Scherbyna

Re: restauration de cours et attribution de roles

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

 

En fait, nous n'avons pas d'utilisateur spécial créant les cours, ce sont les professeurs (pour ne pas confondre avec le role) qui le font.

Lorsqu'un professeur se connecte, un role de "createur de cours" lui est attribué dans les catégories où il a le droit de créer des cours (IUT, Fac sciences, etc ...)

Mais il n'a pas le droit d'attribuer des roles dans la catégorie.

Et c'est ce réglage qui maintenant ne permet plus la restauration directe.
Si je redonne la capacité "attribuer des roles" au role "createur de cours", la restauration peut se faire directement.

Sinon, le professeur doit créer un cours vide dans la catégorie, et restaurer son cours dans celui-ci. Dans ce cas, cela fonctionne.

Je cherche toujours, sur notre plateforme de test, qui est encore en version 1.9.7 au lieu de 1.9.8, la restauration directe d'un cours fonctionne encore.

Je vais encore faire des essais

Merci deja pour vos réponses

En réponse à Bruno Malaval

Re: restauration de cours et attribution de roles

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour,

Je n'apporte malheureusement pas vraiment de solution mais sur unede mes plateformes j'ai affecté le rôle de créateur de cours à des clients qui sont libres de faire ce qu'ils veulent dans leur catégorie. C'est votre cas de figure.

Ils peuvent donc créer des cours vides dans leur catégorie et déposer un fichier de sauvegarde dans n'importe quel cours puis lancer la restauration d'un nouveau cours.

Une seule catégorie leur est proposée, la leur.

Je viens à l'instant de tester cela en me connectant sous le nom d'un utilisateur.

Donc tout fonctionne normalement en 1.9.9.

Mais il me semble bien qu'avant... ils m'avaient signalé ce problème et j'avais du leur donner provisoirement le rôle d'administrateur dans leur catégorie. Mais c'est un peu vieux tout cela...

Daniel

PS: Bruno, qu'appelles-tu une restauration directe ?

En réponse à Daniel Méthot

Re: restauration de cours et attribution de roles

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

J'entends par "restauration directe", le fait d'utiliser une sauvegarde pour créer directement un nouveau cours dans une catégorie.

Le probleme ne se pose pas si l'enseignant créé d'abord un cours vide dans la catégorie, puis restaure son cours dans cette coquille vide.

Cela arrive uniquement si la sauvegarde est utilisée pour créer un nouveau cours a partir de celle-ci.

Cela a toujorus bien fonctionner jusqu'à présent, mais plus depuis le changement de version en 1.9.8.
Je vais encore vérifier ma config.

Je reconnais avoir fait quelques erreurs, dans le sens ou nous avons légèrement modifier quelques rôles de base, pour obtenir une configuration qui convienne.

J'aurais du, comme l'a montré N. Martignoni au dernier MoodleMoot, créer des roles supplémentaires et les affecter aux enseignants.

Merci

En réponse à Bruno Malaval

Re: restauration de cours et attribution de roles

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

OK bruno,

Mais tes enseignants déposent leur fichier de backup où ?

Dans la zone fichiers de la page d'accueil ?

En réponse à Daniel Méthot

Re: restauration de cours et attribution de roles

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

Non, il s'agit des fichiers de sauvegardes effectués soit par le cron, soit par l'enseignant lui-même.

Ils sont donc dans la zone "Fichiers (backupdata)" du cours à restaurer.

Pour l'instant, nous contournons le problème en demandant de créer un cours vide dans la catégorie souhaitée, puis de restaurer le cours dans cette coquille vide.

Cela fonctionne bien, mais la restauration directe serait mieux

En réponse à Bruno Malaval

Re: restauration de cours et attribution de roles

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

"Ils sont donc dans la zone "Fichiers (backupdata)" du cours à restaurer."

D'un cours quelconque plutôt... puisque tu désires restaurer  avec l'option " vers un nouveau cours".

  • Je viens de passer un enseignant en créateur de cours dans sa catégorie.
  • J'ai effectué une sauvegarde d'un cours X
  • Je me suis connecté sous son nom.
  • J'ai effectué une restauration du cours X dans la catégorie concernée avec l'option "nouveau cours" en donnant un nom différent au cours (disonsY).
  • Le cours s'est restauré normalement.
  • Par contre le créateur de  cours ne peut pas supprimer les cours dans sa catégorie en mode édition. Mais ce n'est pas le but cherché il me semble. Sinon une dérogation peut résoudre cela...

A suivre ?

Daniel


En réponse à Daniel Méthot

Re: restauration de cours et attribution de roles

par Bruno Malaval,
Avatar Moodleurs particulièrement utiles

Bonjour,

J'ai finalement trouvé le changement qui a provoqué cette erreur :
Après avoir longtemps chercher dans mes roles, j'ai regardé le code.

Il y a une différence dans le fichier backup/restore_check.html entre la version 1.9.7 et la version 1.9.8 (nous avons upgradé notre serveur en juillet 2010)


Ce sont Les nouveaux controles effectués après le commentaire :
"// Re-check all the roles creation/mapping stuff"

En version 1.9.7, un utilisateur créant un cours dans une catégorie n'avait pas besoin d'avoir la capacité d'attribuer des roles dans la catégorie où il restaurait un cours en tant que nouveau cours. Maintenant si.

voici les instructions (je ne prends que les instructions concernant le pb) :

$contexttosearch = get_context_instance(CONTEXT_COURSECAT, $restore->restore_restorecatto);
==> récupération du contexte de la catégorie

$canassignroles = has_capability('moodle/role:assign', $contexttosearch);
==> vérifie si l'utilisateur a la capacité "assigner des rôles" dans la catégorie.

Le problème est identifié, la seule méthode de mon coté pour résoudre mon problème est de modifié le code.
Je n'aime pas trop faire cela, mais je ne vois pas trop d'autre solution.

Maintenant, mais ce n'est qu'un avis, je pense qu'il y a une petite incohérence dans ces tests
Sur notre plateforme, nous donnons le droit aux professeurs de créer eux-mêmes des cours, dans les catégories où ils enseignent

Un tel utilisateur peut donc créer un cours dans une catégorie, sans avoir la capacité d'attribuer des roles dans cette catégorie.
Par contre, il ne peut pas créer un nouveau cours par restauration d'une sauvegarde, sans avoir cette capacité.
Alors que la capacité d'attribuer des rôles dans cette catégorie ne lui pas utile, et que nous ne souhaitons pas la donner dans les catégories.

Je ne vois pas forcément toutes les implications et origines de ces nouveaux tests.
Il ne s'agit donc que d'un avis.

Si vous avez des réponses, je suis preneur ...

En attendant, merci pour réponses, cela m'a bien aidé.

Bonne journée.