Explicit Rolefilling
2
... when different users perform different tasks in parallel, the whole process is expected to contribute to the common goal, so task development
may be controlled by mechanisms of
.
Maybe remaining tasks are collected in a
.
Nevertheless, there often remains a lot of freedom for different users to decide autonomously how to act next.
Although actions in a group may already be coordinated, it is not trivial for a user to find out the action, which contributes most to the common
goal. The process may lead to errors and both due to errors and consciously, some users perform tasks which are not of their business.
When multiple users work collaboratively they usually break down the global task into subtasks and divide the subtasks among the group
members, for example. This division may be done with resect to the different qualities of the users, for example. Each user is responsible
for the subtasks he can perform best to produce a better result.
On the one hand, a group hierarchy and different qualities may not be quite clear initially, so it is appropriate to let users potentially do
the same tasks. But on the other hand once a group hierarchy develops, an explicit division of the editing task to subtasks improves the
process. This can be done by assigning a concrete role to each user. For example, a user may be allowed to edit the graphics and another user
may be allowed to do spell checking and to correct found errors.
On the one hand, a user wants to have maximal flexibility in the choice of his actions to fulfill his role. But on the other hand, it may
easily happen that he performs an action which conflicts with the work of others. This may happen due to an error or consciously. So it makes
sense to adapt the available functionalities and permissions for a user to his current role.
Explicit rolefilling is supported in Microsoft's Share Point Portal Server, for example. When accessing a shared document the different users
are assigned to roles which implicitely determine their permissions with respect to the document.
Another application that makes use of roles is MODx, which is an open source CMS and PHP application framework that supports multiple users
in managing a web project. Both document classes and user classes are defined and linked together in a way, that a user can only edit documents
of a linked document class.
Integrate mechanisms in the application that allow setting or unsetting permissions for a user editing a common document according to his current
role. Predefine the settings as a profile for each possible role. Allow both the settings in a profile and the assignment of users to a profile to
be dynamically changed.
A mechanism to define restrictions for a group and all its members is suggested by
.
Torsten Palm, RWTH Aachen (Torsten.Palm@rwth-aachen.de)
1.1
January 25, 2009
January 25, 2009
This pattern is part of the project "Pattern Language for Collaborative Text Editing" (lecture HCIDP at RWTH Aachen, Winter Term 08/09).