Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Pascal Maury,
Nombre de réponses : 8
Avatar Développeurs de plugins

Bonjour,

Je souhaite simplifier l'interface en retirant notamment la possibilité aux enseignants d'attribuer des rôles localement dans les blocs ou les activités. En effet, après vérification, seuls les ingénieurs pédagogiques le font dans des cas très particuliers; les enseignants ne l'ont jamais fait dans les 1000 cours de la plate-forme.

Mais je ne crois pas que cela soit possible si ? Car si je retire la possibilité pour le role enseignant d'attribuer d'autres rôles (dans la page Définition des rôles), il ne pourra plus inscrire d'autres utilisateurs dans son cours. Or je veux bien entendu qu'il puisse continuer à faire cela. A moins que j''ai raté une option ... ?

 

Pour savoir si un rôle a été attribué localement (dans une activité ou un bloc donc), j'ai utilisé cette requête :

SELECT U.firstname, U.lastname, RA.roleid, CRS.id, CRS.fullname, CM.module 
FROM `role_assignments` RA, context C, user U, course_modules CM, course CRS
WHERE RA.contextid = C.id
AND C.`contextlevel` > 50
AND C.instanceid = CM.id
AND CRS.id = CM.course
AND RA.userid = U.id
Moyenne des évaluations  -
En réponse à Pascal Maury

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Effectivement cela ne doit pas être possible. 

Cependant il est possible de contourner le système en démultipliant les rôles et en jouant avec leur contexte d'application.

Si on prend le rôle "étudiant", au départ il est possible de l'affecter au niveau du cours, de l'activité et du bloc. Si l'on duplique ce rôle -> étudiant_bloc, puis que l'on supprime au premier les contextes activité et bloc, au second celui du cours enfin que l'on autorise seulement l'application du rôle étudiant_bloc au rôle "ingénieur", le tour est joué.

Reste que la modification d'une capacité sur le rôle étudiant devra être reporté sur sa copie ingénieuse.

Jérôme.

En réponse à Pascal Maury

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par brice courtin,

Salut Pascal

Je ne sais pas si cela pourrait te convenir mais tu peux le faire par rôle  : le problème c'est que cela va aussi se produire dans tous les contextes.

(admin/roles/allow.php?mode=override)

Nous on fonctionne comme cela, seul quelques rôle mais pas les enseignants ont cette possibilité. Cela qui nous évite des problèmes...

a+

 

 

En réponse à brice courtin

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Pascal Maury,
Avatar Développeurs de plugins

Merci pour vos réponses qui confirme ce que je pensais. Pour le moment, je ne vais rien changer.

En réponse à Pascal Maury

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Jérôme DEMIAUX,
Avatar Traducteurs

Moi j'aimais bien ma solution triste

En réponse à Jérôme DEMIAUX

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Pascal Maury,
Avatar Développeurs de plugins

Si mon besoin était un impératif, je l'aurais choisie sourire

Mais c'est plus du confort là donc, ca ne vaut pas la peine de démultiplier les rôles dans mon cas !

 

En réponse à Pascal Maury

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Didier Jodin,

Je comprends bien la volonté d'alléger l'interface.

Et il n'est pas étonnant que les enseignants ne soupçonnent pas spontanément la souplesse et l'intérêt pédagogique de l'attribution de rôles dans un contexte précis.

Mais on peut leur faire savoir que c'est formidable, quand les étudiants alimentent eux-mêmes Moodle. C'est formateur pour eux, et c'est moins de boulot pour le prof... Qui pourrait refuser un contrat pareil ?

Moyenne des évaluations Utile (1)
En réponse à Didier Jodin

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

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

Oui Didier,

Je pense comme toi que la possibilité d'affecter des rôles et des dérogations jusqu'au niveau des activités et des blocs... est une belle avancée de Moodle.

Exemple hier, j'ai mis en visibilité le contenu d'un calendrier de site pour des visiteurs alors que le contenu n'était visible avant qu'aux seuls connectés.

Daniel

En réponse à Pascal Maury

Re: Empêcher d'attribuer des rôles "localement" dans un bloc ou une activité

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Pascal,

En tout cas, merci !

J'en ai profité pour m'appuyer sur ta requête afin de créer un "Rapport personnalisé" permettant de lister les différentes affectations de rôles sur des blocs et/ou activités sur ma plateforme.

Le voici, légèrement retouché, tel que saisi chez moi :

SELECT u.firstname AS Prenom,
concat('<a target="_new" href="%%WWWROOT%%/user/view.php?id=',u.id,'">',u.lastname,'</a>') AS Nom,
concat('<a target="_new" href="%%WWWROOT%%/admin/roles/define.php?action=view&roleid=',r.id,'">',r.shortname,'</a>') AS Role,
concat('<a target="_new" href="%%WWWROOT%%/course/view.php?id=',c.id,'">',c.fullname,'</a>') AS Cours,
m.name AS Module,
concat('<a target="_new" href="%%WWWROOT%%/admin/roles/assign.php?contextid=',cxt.id,'">',cm.id,'</a>') AS Contexte
FROM prefix_role_assignments ra, prefix_context cxt, prefix_user u, prefix_course_modules cm, prefix_course c, prefix_role r, prefix_modules m
WHERE ra.contextid = cxt.id
AND cxt.`contextlevel` > 50
AND cxt.instanceid = cm.id
AND c.id = cm.course
AND ra.userid = u.id
AND r.id = ra.roleid
AND m.id = cm.module

Je trouve tout de même 138 occurrences, dont certaines sont à mon sens des erreurs/incompréhensions, qu'il faudrait (faire) corriger...

Séverin