Markup keywords may be placed after elements of code to change how it behaves.
Operation | Use After | Example | Comments |
---|---|---|---|
!unsecured | Relationship | [Person has User Account]!unsecured.[Name] | This allows the related records (and their fields) to be accessed even when the user does not have access. See important notes below. |
!recursive | Relationship | [Direct reports]!recursive | The relationship will return immediately related values, and recursively related values. |
!self | Relationship | [Direct reports]!recursive!self | Must be used after the 'recursive' markup. Causes the initial record to also be returned. This is a common requirement when evaluating recursive functions. |
Additional notes for the Unsecured keyword
Use of the unsecured keyword disables access control checks for certain records. This may be done, for example, when:
- an administrator wishes to make aggregates, such as count or sum, available to users who cannot see individual records
- or in cases where the administrator wishes to improve performance by disabling access control checks where the administrator knows (with regard to the purpose and sensitivity of the data) that other aspects of the calculation ensure that only appropriate data is disclosed.
Administrators MUST take care to ensure use of the !unsecured does not result in unintended disclosure of information.
The !unsecured keyword may be used in reports, however non-administrative self-serve users and content administrators may also author report calculations. Therefore the following additional rules apply:
- The report must be saved (last modified) by a security administrator for the !unsecured keyword to work.
- If a content administrator, who is not a security administrator, subsequently modifies the report then !unsecured will no longer be honored in that report.
- However, if the user who saved the report ceases to be a security administrator, or if their account is deactivated, then the report and !unsecured calculation will still run to work as intended for other users.