It is fairly common that a team may wish to maintain a private task list for bugs and/or ongoing development, but also allow external users some visibility over some tasks. Examples may include:
- Making all tasks visible to external users, but preventing external users from modifying the tasks.
- Allowing external users to see completed tasks, but not proposed or scheduled tasks.
- Allowing external users to enter bugs, but not view or edit internally created tasks.
- Allowing contractors to see tasks assigned to them, but not view or edit other tasks.
All of these outcomes are provided through a single mechanisms: user permissions.
TyBugs defaults to no permissions and each user must be granted permissions to see a particular task (or other object.) Permissions may be granted via the following mechanisms:
- If a task is assigned to a particular user, that user can see the task regardless of any permissions settings.
- If a task has one or more branches assigned, users are granted the permissions specified by those branches.
Branches are created and edited via “File > New Window > Branch List” and may be used to extend permissions to a particular user or group of users. Please note that you do not typically want to edit the Branch’s permissions to achieve any of these outcomes- this controls who can edit the Branch itself and is used for delegating administrative authority, not task visibility. You may wish to create a new branch to explicitly share access with a user group (eg. a “External Tasks” branch) or you may wish to select an existing project branch (eg. “External Contract Art”) and grant the external users visibility.
Regardless of which branch(es) you select for sharing, the next step involves configuring a User Group for the external users. You must create a User Group containing only the Users to which you wish to share your Branch. If you wish to configure different sharing groups, you can repeat this entire process with separate Branches and User Groups. You create or edit a User Group via the “File > New Window > User Group List” menu.
The user group should be configured as follows:
- User can view:
- Self Only – No permissions are granted for seeing other users.
- User Group – Permissions are granted to see other users in this group.
- User can edit tasks:
- At any time – Users can view and edit tasks which are assigned to a branch that is available to this user group.
- Only when assigned – Users can see tasks which are assigned to a branch that is available to this user group, but are not granted editing permissions unless the tasks are assigned to them.
- Never – Users can see tasks which are assigned to a branch that is available to this user group, but are not granted editing permissions.
- Owner Group – The owner group defines the users who have permission to administer this user group.
- Users – The list of users who are members of this group. Any permissions granted by this group are granted to these users. Permissions are only granted and never removed.
- Branches – The list of branches whose tasks are made visible to the users in this group. The tasks may also be made editable based on the “user can edit tasks” setting.
- Current Branches – The subset of branches which are considered currently active. These show up preferentially in certain menus, to avoid having to navigate large lists of legacy branches. This list should be kept as small as possible, regularly pruning out unnecessary entries.
- Scheduling – The scheduling tab allows a particular schedule to be visible to users in this group. A user may have multiple schedules available to them, but currently only one active schedule; they can swap between the available schedules at will. This allows the group users to view priorities, duration estimates, and completion times from the schedule. Having access to a schedule provides scheduling information for the tasks that you can see; it does not automatically provide visibility of other tasks covered by the same schedule.