Data Entitlements
Data Control Entitlements allow you to set up permissions for who can view, edit, or approve data within a table. Note that this was formerly called "Design Controls"
Table of Contents
Table of Contents |
---|
1. Overview and Example
When viewing a table, click on Data Controls > Entitlements from the left navigation menu (Image 1).
2. Currently both the table creator and anyone in the Cinchy Administrators
group has access to perform any action on any objects. You can give granular entitlements at a Group or a User level, for both viewing and editing access (Image 2).
3. In the above scenario, John Smith is part of the Developers group. He is able to view all columns via the entitlement to the Developers group, and he is able to edit both the First Name and Last Name column through different entitlements.
2. Table Level Entitlements
There are certain entitlements in the Data Controls menu that apply to the entire table.
2.1 Marketplace
Approving this entitlement enables users to see and serarch for the table in the Marketplace/Homepage.
2.2 Bulk Export
Approving this entitlement enables users to export data from the table via the Manage Data screen (Image 3).
2.3 Direct Query
Approving this entitlement enables users to query the data from the table directly in the Query Builder (Image 4).
2.4 Design Table
Approving this entitlement enables users to alter the structure of the table.
This is a builder/administrative function and should not generally be granted to end users.
2.5 Design Controls
Approving this entitlement enables users to change the permissions on a table.
This is a builder/administrative function and should not generally be granted to end users.
3. Column Level Entitlements
There are certain entitlements in the Data Controls menu that apply only to columns.
3.1 View All Columns
Approving this entitlement enables users to view all columns within the table.
Note that this applies to any new columns that are added to the table after providing this permission as well.
3.2 View Specific Columns
This is a drop down where you can select the specific columns you want to grant view access to for users.
3.3 Edit All Columns
Approving this entitlement enables users to edit all columns within the table.
Note that this applies to any new columns that are added to the table after providing this permission as well.
Giving a user edit permission will also give them view permission.
3.4 Edit Specific Columns
This is a drop down where you can select the specific columns you want to grant edit access to for users.
Giving a user edit permission will also give them view permission.
3.5 Approve All Columns
Approving this entitlement enables users to approve all columns within the table. This also allows users to approve Create and Delete requests.
Note that this applies to any new columns that are added to the table after providing this permission as well.
Approve permissions only apply when Change Approvals are enabled.
Giving a user approve permission will also give them view permission.
3.6 Approve Specific Columns
This is a drop down where you can select the specific columns you want to grant approve access to for users.
Approve permissions only apply when Change Approvals are enabled.
Giving a user approve permission will also give them view permission.
3.7 Link Columns
Link columns require both permission to the column within this table, as well as the column in the link column itself.
4. Row Level Entitlements
These are entitlements that apply to specific rows. Used in conjunction with Column Level entitlements this allows for granular cell level entitlements.
4.1 Insert Row
Approving this entitlement enables users to create new rows in the table.
4.2 Delete Row
Approving this entitlement enables users to delete rows in the table.
4.3 Viewable & Editable Row Filter
This is a CQL fragment that applies a filter to which rows will be viewable or editable. Think of the column entitlements and the fragment as a SQL statement applied to the table.SELECT {Edit Selected Columns} WHERE {Editable Row Filter}
4.4 Examples for Row Filter
Most of these examples will be with the editable row filter so it is easy to see the underlying data for comparison. However this can be done for viewable row data as well.
Sample Data
(Image 5)
Simple Example
With the following entitlements (Image 6):
Edit Specific Columns: Age
Editable Row Filter: [Age] > 30
Example with Viewable Data
(Image 7)
View Specific Columns: First Name, Last Name
Viewable Row Filter:
[End Date] IS NULL OR [End Date] > GetDate()
Layer On Another Entitlement
(Image 8)
View Specific Columns: All
Edit Specific Columns: First Name, Last Name, Age
Viewable Row Filter: [First Name] = 'John'
Editable Row Filter: [First Name] = 'John'
Example for Current User
(Image 9)
For the All Users group:
(Image 10)
View All Columns: Check
Edit Selected Columns: First Name, Last Name
Editable Row Filter:
[User Account].[Cinchy Id] = CurrentUserId()
To allow a user to edit certain fields of their own data, you will need an association from a user to the [Cinchy].[Users]
table. You can then use the following function to allow edit for that user, where [...]
is the chain of link columns to get to the Users table.
[...].[Cinchy Id] = CurrentUserId()
Last updated