-
Notifications
You must be signed in to change notification settings - Fork 15
Permissions
-
Alice signs up at PursuanceProject.org, creates a pursuance, then invites Bob to join. She decides to make Bob an Admin once he has joined. Bob can do anything Alice can do except (1) nuke the pursuance itself -- that is, permanently delete it -- and (2) kick other Admins out of Alice's pursuance. Alice can always demote Bob if she no longer wants him to be an Admin.
-
Bob then invites Cassie and makes her a Recruiter. As a Recruiter, Cassie can now invite other people to this pursuance and assign tasks to people, in addition to doing everything a Change Agent can do (get assigned tasks, and view and participate in tasks and their discussions).
-
Cassie then invites her friend David and makes him a Change Agent. David cannot invite other people to join this pursuance, but he can be assigned tasks, view tasks, and participate in discussions on tasks (except for tasks with limited visibility and that can only be seen by those with a more trusted role than he has).
-
Cassie then also invites Eva, who is less trusted, and so makes Eva a Seedling. He can only see, work on, and discuss tasks to which he has been assigned.
The invite graph, and each user's role, now looks like this:
Alice (Primary) => Bob (Admin) => Cassie (Recruiter) => David (Change Agent)
=> Eva (Seedling)
Below is a table indicating which roles have which default permissions within a pursuance.
-
X
indicates that the given role has the given permission for all tasks by default- Excludes tasks with special permissions (e.g., tasks that only Admins and up can view)
-
(X)
indicates that the given role has the given permission for some tasks but not all
Role | View task | Suggest (sub)tasks | Discuss task | Suggest banning user | (Re)Assign task | Invite | (Un)Ban user | Create (sub)tasks | Edit task | Archive task | Set special task permissions | Set user roles | Nuke task | Nuke pursuance |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Primary, God | X | X | X | X | X | X | X | X | X | X | X | X | X | X |
Admin | X | X | X | X | X | X | X | X | X | X | X | X | X | |
Asst Admin | X | X | X | X | X | X | X | X | X | X | X | |||
Recruiter | X | X | X | X | X | X | ||||||||
Assigner | X | X | X | X | X | |||||||||
Change Agent | X | X | X | |||||||||||
Viewer | X | X | (X) | |||||||||||
Seedling | (X) | (X) | (X) |
- Edit tasks created by you
- (EDIT: This needs to be there from the beginning, so I just added a
tasks.created_by
column so that we can enable all users to modify tasks they've created)
- (EDIT: This needs to be there from the beginning, so I just added a
- Subscribe to another user's activity
- Give someone else the ability to subscribe to other users' activity
- Enable certain users to perform certain actions (e.g., ban a user) that they can't do by themselves but only if a certain number of other users with a certain roles agrees with them
- If we get good at doing this sort of thing in general, then we can thereby enable the creation of democratic pursuances that allow for the majority of users (with > 25 karma points?) to vote/determine what happens in those pursuances
- Shouldn't Seedlings still be able to create sub-tasks, to divide up their own work?