Changes between Initial Version and Version 1 of agilo/dev/concept/Roles


Ignore:
Timestamp:
12/03/2008 04:02:54 PM (12 years ago)
Author:
sschulze
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • agilo/dev/concept/Roles

    v1 v1  
     1There are several roles in the Scrum process that a user may fill:
     2 - Product owner
     3 - Scrum master
     4 - Team member
     5
     6== Implementation in Agilo 0.6 ==
     7 - Product owner - can add new requirements, user stories and bugs, can change all tickets, can add can add/remove links between tickets
     8 - Scrum master - can save the tasks in the sprint backlog
     9 - Team member - add and change Tasks without owner, can save the tasks in the sprint backlog
     10
     11The reporter and the owner of a ticket can always edit their ticket.
     12
     13
     14== Implementation in Agilo 0.7 ==
     15(to be completed)
     16 - TRAC_ADMIN can do everything
     17 - TICKET_ADMIN can add, delete, edit all tickets
     18
     19The reporter and the owner of a ticket can always edit their ticket.
     20
     21To refine this system, the new permission policy system in Trac 0.11 makes it possible to add a permission policy module (through IPermissionPolicy). If a certain action is about to be made, the policy module gets called to check if the user has the necessary permissions to do so.
     22
     23A user can belong to one or more groups/roles named
     24 - SCRUM_MASTER
     25 - TICKET_OWNER
     26 - TEAM_MEMBER
     27
     28Each role has specific actions that it can perform on certain resources (tickets, links, etc.)
     29
     30The actions that would need to be checked in Agilo are:
     31
     32 - TICKET_EDIT - Product owner can edit and add all tickets and ticket types, Team members can edit tasks only, reporter and owner of ticket can edit that specific ticket
     33 - TICKET_APPEND (comment function) - everybody can comment
     34 - AGILO_SAVE_REMAINING_TIME - Scrum masters can save the remaining time on each task from the Sprint Backlog overview
     35 - AGILO_LINK_EDIT - Product owner can change links between tickets
     36
     37
     38== Actions explained ==
     39All action names are prepended with 'AGILO_'. For better readability, this prefix is ommitted in the text below.
     40 - MODIFY_ACTUAL_CONTINGENT - is checked when the actual ("used up") time for a contingent is modified. SCRUM_MASTER and TEAM_MEMBER have this permission automatically.
     41
     42
     43== Checking permissions in Trac 0.11 ==
     44
     45In order to check if a user is allowed to do something, do
     46{{{
     47    from agilo.utils import Action
     48
     49    if Action.LINK_EDIT in req.perm:
     50        ...
     51}}}
     52
     53If you just want to fail with a "Not enough permissions" notice:
     54{{{
     55    req.perm.require(Action.LINK_EDIT)
     56}}}
     57
     58If you're checking a certain object/resource for access, use (for access to an Agilo ticket):
     59{{{
     60    from agilo.utils import Action, Key
     61
     62    Action.CREATE_STORY in perm(Key.AGILO_TICKET, ticket.id)
     63}}}
     64or
     65{{{
     66    req.perm(Key.AGILO_TICKET, ticket.id).require(Action.CREATE_STORY)
     67}}}

1.3.15 © 2008-2016 Agilo Software all rights reserved (this page was served in: 0.388324 sec.)