If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Talk:Roles administration improvements for Moodle 2.0

From MoodleDocs
Hi, just guessing if having the ability to show some overrides (for activities) in the configuration page will make live easier for a lot of teachers. Something like (glossary example):
Cap/Role studentrole anotherroleteachercanmodify...
Approve unapproved entries allow/prevent allow/prevent
Create comments allow/prevent allow/prevent
Rate entries allow/prevent allow/prevent
another glossary cap (setting) allow/prevent allow/prevent
Having those "settings" in the configuration page will make like easier for them IMO. Just one idea. Eloy Lafuente (stronk7) 05:06, 28 October 2008 (CDT)

A GUI to manage roles

A lot of valuable work has been done to make the roles system's UI easy to approach. But it seems to me that a traditional web UI can never express the system clearly enough. There really has to be a way to make the roles system easier to learn and use to users.

Currently you have a system of concepts of a very high abstraction level, and nothing to make it concrete. Basically users have to learn a new language and know how to translate sentences in one domain-specific language "I want this student to supervise this forum" to another "create a new role that has the permission to xxx in the context of this module, and assign it to this student" (pardon me if this is incorrect, I am not fluent in the language myself yet).

Since there are quite a few concepts in the system, you really need to use it to learn it well, so it requires quite a bit of commitment. So the greatest challenge is those users who only need to change some roles rarely - they might not know the conceptual system (language needed to master roles) very well so they will be frustrated every time.

We could have a GUI to make the language more concrete and to make its learning (and re-learning!) easier, also for non-verbally oriented types. Much of the conceptual system, which now has to be learned from Using Moodle in written, could be learned graphically and actively constructing the rights the user happens to want. So whenever a user comes back to the system, they will see the interdependencies between the different concepts clearly, and it takes less trouble to get reminded of everything since they can do the learning and actually working the difference (cognitive dissonance) between what they already have and what they want, in the same place. (As opposed to first reading the explanations as text, then trying to do the translation in their head, to determine what they have to do in the UI.)

Also, a problem with the current UI is that while the roles system is a system of its own beside the traditional hierarchy of moodle, there is no way to navigate/explore it on its own (similar to A gui could enable exploring the system to make the existing roles more obvious. (Since this is a graphical language, it /might/ be possible to use the foundation of Mihai's PaintWeb work.)

Some background about the solution: I used to work with domain-specific languages and metamodeling (using MetaEdit+) a couple of years back. This scenarios approaches in my mind a domain-specific language. I bet the Roles system could be modeled using GOPPRR. In essence, the idea is as follows (all this could be done using metaedit, but we need a web tool).

  1. (meta)model the system (you can use Metaedit+/GOPPRR for this, or just create a javascript/flash app in which it is modeled), creating a domain-specific language (that matches the roles system and all its concepts)
  2. create a graphical language for expressing models using this language. this language will contain all the restrictions and relationships of the concepts, allowing users to effectively learn the language just playing with a chart.
  3. the graphical models users create are automatically translated back to the moodle roles system (in metaedit+ with code generation which I think is a neat solution - but I am not sure how roles are stored in Moodle, so I don't know if the models should be translated to SQL or what)

However, this does create an alternate UI alongside the current UI, a mode change which may not be desirable.

--Olli Savolainen 08:32, 16 June 2009 (UTC)