Access policy expressions
Manage the conditions of an access policy rule
When editing an access policy, you can add any number of expressions to the current rule. Each expression defines a condition that items of the targeted design/interface must fulfil to be accessible to the rule's user groups.
Depending on how the rule is configured, All or Any of the expressions must be fulfilled for access to be granted!
To add an expression to the current rule, select Add expression. Choose an expression type from the list and then configure its columns as needed. To delete an existing expression, select its button.
Conditional expressions
Grant access to items by checking their attribute values and comparing them against supplied values.
Has Access
This conditional expression checks if the current user has access to the feature object referenced by a Text attribute on the current item, e.g. basemap, card, design, interface, layer or workflow.
-
Current user:
- Current user - the ID of the user trying to access the item.
-
Object - choose a Text attribute on the design/interface targeted by the access policy. Only attributes that are tagged with FeatureCode will be listed.
Yes/No
This conditional expression compares the value of a Yes/No attribute on the current item against the supplied boolean value.
-
Attribute - choose a Yes/No attribute on the design/interface targeted by the access policy.
-
Condition:
- Equals - is the attribute value the same as the supplied value?
-
Value - select the checkbox to switch between Yes and No.
Geometry
This conditional expression compares the value of a Geometry attribute on the current item against the supplied geometry value.
-
Attribute - choose a Geometry attribute on the design/interface targeted by the access policy.
-
Condition - choose one of the following:
-
Intersects - does the attribute's geometry overlap any part of the supplied geometry?
-
Within - is the attribute's geometry located entirely within the supplied geometry?
-
-
Value - select Geometry * to open the Geometry Editor, where you can specify a geometry value by drawing points, lines or polygons. Alternatively, select Location of interest to choose a predefined geometry value.
Link
This conditional expression compares the contents of a Link attribute on the current item against one or more supplied item IDs.
-
Attribute - choose a Link attribute on the design/interface targeted by the access policy. Alternatively, choose Current item to compare the item's own ID instead!
-
Condition:
- Intersect - are any of the supplied item IDs stored in the Link attribute?
-
Value - use the item picker to select one or more items of the design/interface that the Link attribute points to. Alternatively, if comparing the Current item, choose from items of the same design/interface as that item.
Text
This conditional expression compares the value of a Text attribute on the current item against one or more supplied text values.
-
Attribute - choose a Text attribute on the design/interface targeted by the access policy.
-
Condition:
- Equals - is the attribute value the same as any of the supplied text values?
-
Value - enter a text value and select Add. Repeat as needed and then select Save.
User
This conditional expression compares the contents of a Link attribute on the current item against the current user's ID.
-
Attribute - choose a Link attribute on the design/interface targeted by the access policy. Only attributes that point to the Users design will be listed.
-
Condition:
- Equals - is the current user's ID stored in the Link attribute?
-
Value:
- Current user - the ID of the user trying to access the item.
Relational expressions
Fetch items related to the current item and evaluate them with a conditional expression, e.g. the child tasks of a project, the parent asset of a defect.
Child
This relational expression performs a single "hop" to any child items stored in a Link attribute on the current item. A conditional expression is then evaluated against each of those child items.
-
Any children linked via - choose a Link attribute on the design/interface targeted by the access policy.
-
Add a rule to this child - choose a conditional expression type and then configure its columns as needed. If this expression is fulfilled by any child item, the relational expression is also fulfilled.
Parent
This relational expression performs a single "hop" to any parent items that reference the current item via one of their Link attributes. A conditional expression is then evaluated against each of those parent items.
-
Any parents linked via - fill in the following fields:
-
Parent design or interface * - choose one from the list. Only compatible designs/interfaces are listed (ones with a Link attribute pointing to the design/interface targeted by the access policy).
-
Attribute * - choose a Link attribute on the chosen design/interface.
-
-
Add a rule to this parent - choose a conditional expression type and then configure its columns as needed. If this expression is fulfilled by any parent item, the relational expression is also fulfilled.