Dashboard Configuration
* 
The steps below assume new users, user groups, and organizations need to be created. If you are configuring an existing model, some steps may not be necessary.
Removing the Everyone Organization and Creating a New Organization
By default, the Everyone organization allows all dashboards to be shared by everyone. The Everyone organization must be removed before the specific visibility and permissions can be set.
1. In Composer, create a user (non-administrator).
2. Create a user group with permissions to use dashboards (for example, Customers).
3. Click Members and then click Edit Members.
4. To add the user, drag the user name from the left side to the right side.
5. Click Save.
6. Click Dashboards and then click the lock icon.
7. Click Visibility.
8. Remove the Everyone organization.
* 
If this step is not performed, all dashboards will be shared with everyone.
9. Create an organization and add the previously created user group to the organization.
10. To make Things that are only visible to a particular user, set up each potential customer as an org unit. This is not required, but in order to restrict visibility to a user, you need to do this. If you are OK with all users in the group seeing the Things that are visible to that group, then just adding the user group to the organization is sufficient.
11. Go to the Visibility settings of the organization and make sure that the organization is visible to itself. This may seem counter-intuitive, but it is not implicit that the organization can see itself at run time. This is required for sharing to other org units within the same organization.
12. In the organization’s run time permissions, add Property Read and Service Execute permissions for your user group.
Dashboards Collection
Because non-administrative new users and user groups do not have access to anything unless they are specifically granted, permissions and visibility need to be configured for the dashboards collection and dashboards resource.
1. From Composer, click Dashboards, and then click the permissions.
2. Configure run time permissions. Run time permissions are required to perform some of the functions of the dashboard entity itself (for example, using service execute to add a group).
3. Configure design time permissions. Design time permissions are required to create new dashboards from run time. You will need design time permissions to create new dashboards. If this is not a requirement of your users, then this permission is not necessary. Without this, no new dashboards can be created from the run time.
4. Allow Create, Read, Update, (Delete if necessary).
Dashboard Functions Resource
The Dashboard Resource is the most granular way to set permissions in ThingWorx. If a permission is granted in DashboardFunctions, it will override any permissions that were set at another level.
1. In Composer, click Resources.
2. On the DashboardFunctions resource, click the lock icon.
3. Add visibility on the Dashboard Functions resource to your created organization. This allows users in the organization to see the dashboard.
4. Add run time permissions. Run time permissions are required to perform services, so add your created user group to the run time permissions and allow Property Read, Property Write, and Service Execute permissions.
5. Add Design Time permissions. Design time permissions are required to create new dashboards from run time. If this is not a requirement of your users, then setting these permissions is not necessary.
Related Links