Row Level Entitlements
These are entitlements that apply to specific rows. Used in conjuncture with Column Level entitlements this allows for granular cell level entitlements.

Insert Row

This permission allows a user to create new rows in the table.

Delete Row

This permission allows users to delete rows in the table.

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}

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

Simple Example

Edit Specific Columns: Age Editable Row Filter: [Age] > 30

Example with Viewable Data

View Specific Columns: First Name, Last Name Viewable Row Filter: [End Date] IS NULL OR [End Date] > GetDate()

Layer On Another Entitlement

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

For the All Users group: 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()