skip to Main Content

UpStream has a complicated permissions system that goes further than what you can do with standard WordPress. With UpStream, it’s possible to set permissions on each individual field. Permissions can be set by project, by user, by role, and much more.

The standard permissions model for UpStream defines these roles: UpStream Manager, UpStream User, and UpStream Client User. The default settings for these roles can be viewed below:

Action Upstream Manager Upstream User Upstream Client User
Can create projects Yes No No
Can view projects Yes; can view any projects Yes, only if they are the project owner or are assigned to a component (milestone, task, bug, etc.) Yes, only if they are selected under the Client Users list in the
Project Details section of the admin area 
Can edit project info (title, status, owner, description, etc.) Yes; can edit project info for any project Yes, only if they are the project owner or they are assigned to any component (milestone, task, bug, etc.) of the project ** Yes, only if they are selected under the Client Users list in the Project Details section of the admin area **
Can delete projects Yes; for any project No ** No **
Can view project components (milestones, tasks, bugs, etc.) Yes; for any project Yes; they can view any component of a project if they are assigned to
any component of that project (milestone, task, bug, etc.)
Yes, only if they are selected under the Client Users list in the
Project Details section of the admin area
Can edit project components (milestones, tasks, bugs, etc.) Yes; for any project Yes, only the components (milestone, task, bug, etc.) assigned to them ** Yes, only the components (milestone, task, bug, etc.) assigned to them or ones they created **
Can delete project components (milestones, tasks, bugs, etc.) Yes; for any project Yes, only the components (milestone, task, bug, etc.) assigned to them ** Yes, only the components (milestone, task, bug, etc.) assigned to them or ones that they created **
Can add project components (milestones, tasks, bugs, etc.) Yes; for any project  Yes; they can add new components to a project if they are assigned to any component of that project (milestone, task, bug, etc.) ** Yes, only if they are selected under the Client Users list in the Project Details section of the admin area **

** Requires UpStream Frontend Edit extension (UpStream User and Client User roles can only edit via the front end interface).

Customizing Permissions

You can do all sorts of customization on UpStream permissions using the Advanced Permissions module.

Advanced Permissions allows you to set each individual field as hidden, read-only, or editable. And you can allow or deny based on who a project/task/etc. is assigned to, the item ID, the creator, the client organization, their role, their user, and much more.

Advanced Permissions also allows you to set an anonymous view option, so certain projects are publicly viewable without logging in.

With Advanced Permissions, you can define nearly any scenario, and set your permissions to match. To do this, you create an XML document and enter it in the Advanced Permissions configuration section under UpStream settings.

For more information on Advanced Permissions, see here.

For Older Versions of UpStream

The documentation below is for versions of UpStream earlier than 1.27. It is here for historical purposes only. Please see above for the latest versions. 

For UpStream 1.27 or later, WE STRONGLY SUGGEST YOU DO NOT MODIFY ANY ROLES OR CAPABILITIES

This list was created in October 2018 and it will change. We’re working on making these permissions more consistent, and also improving the documentation for each capability.

To control these permissions, you will need to install an extra plugin. We recommend Members, but UpStream uses the WordPress core permissions system and so is compatible with many more plugins.

Please note that the core permissions system in WordPress is not always clear. We do recommend that you test thoroughly if controlling permissions is important for your site.

This video is an introduction to UpStream permissions:

https://www.youtube.com/watch?v=TQ218Nm2iwA

OVERALL

This capability allows users to access the main “UpStream” settings area in the WordPress admin.

  • manage_upstream

PROJECTS

These capabilities below allow users to manage projects inside UpStream:

  • edit_projects
  • edit_project
  • delete_project
  • delete_projects
  • publish_projects
  • read_project
  • edit_published_projects
  • delete_published_projects
  • edit_others_projects
  • delete_others_projects
  • edit_private_projects
  • delete_private_projects
  • read_private_projects

These next two capabilities allow you to change the users associated with a project. If you have these capabilities, you can change the author of a project and the users attached to a project.

  • edit_project_author
  • project_users_field

The seven capabilities below allow you to control the specific details associated with each project:

  • project_title_field: you can edit the project’s name
  • project_status_field: you can change the status of the project
  • project_owner_field: you can change the Project Owner
  • project_client_field: you can choose the Client for the project
  • project_users_field: you can select the users assigned to the project
  • project_start_date_field: you can select the Start Date for the project
  • project_end_date_field: you can choose the End Date for the project

This image below show are how those seven capabilities are implemented on the frontend of UpStream. If you do not have permission to edit these fields, they will not be editable.

CLIENTS

These capabilities allow you to manage different aspects of the Clients feature in UpStream:

  • edit_client
  • read_client
  • delete_client
  • assign_client_terms
  • edit_client_terms
  • delete_client_terms
  • manage_client_terms

TASKS

These capabilities allow you to access to different Tasks features in UpStream.

The “publish_project_tasks” capability controls whether users can publish and also edit Tasks.

  • publish_project_tasks

These capabilities control whether or not users can edit specific details for Tasks:

  • task_title_field
  • task_assigned_to_field
  • task_status_field
  • task_progress_field
  • task_milestone_field
  • task_start_date_field
  • task_end_date_field
  • task_notes_field

This image below show are how those seven capabilities are implemented on the frontend of UpStream. If you do not have permission to edit these fields, they will not be editable.

BUGS

These capabilities allow you to access to different Bugs features in UpStream.

The “publish_project_bugs” capability controls whether users can publish and also edit Tasks.

  • publish_project_bugs

These capabilities control whether or not users can edit specific details for Bugs:

  • bug_title_field
  • bug_assigned_to_field
  • bug_severity_field
  • bug_status_field
  • bug_due_date_field
  • bug_description_field
  • bug_file_field

MILESTONES

These capabilities control whether or not users can edit specific details for Milestones:

  • milestone_milestone_field
  • milestone_assigned_to_field
  • milestone_start_date_field
  • milestone_end_date_field
  • milestone_notes_field

FILES

This capability controls whether or not users can publish and edit Files in UpStream projects:

  • publish_project_files

DISCUSSIONS

These capabilities control whether or not users can publish and edit Discussions in UpStream projects:

  • publish_project_discussion
  • delete_project_discussion

 

Related Articles