Ruleset Configuration
You need to configure a ruleset in L3 and then associate it to a specific user or user role.
OV Rulesets Per Role
- User Role - You can associate an arbitrary role with a ruleset. If a user has multiple roles with rulesets assigned but does not have an associated ruleset, then the ruleset that comes first in the configuration is the winner.
- User - If an OV ruleset is assigned to a user, it has higher precedence compared to an OV ruleset assigned to a user role.
Tenant Configuration
To activate assigning of a ruleset to a user or user role, create some non-default
survivorshipGroups
and add a mapping between user roles or a
set of roles and the created groups as follows:
"PUT":{"TenantURL"}"/rulesetsConfiguration
BODY":{
"configuration/entityTypes/HCP":{
...
"survivorshipGroups":[
{
"uri":"configuration/entityTypes/Organization/survivorshipGroups/default",
"Uri":"configuration/entityTypes/HCP/survivorshipGroups/group_test_1":[
"ROLE_TEST_1"
],
"configuration/entityTypes/HCP/survivorshipGroups/group_test_2":[
"ROLE_TEST_2",
"ROLE_TEST_3"
],
"mapping":[
{
"attribute":"configuration/entityTypes/Organization/attributes/Address",
"survivorshipStrategy":"Aggregation"
},
{
"attribute":"configuration/entityTypes/Organization/attributes/Identifiers",
"survivorshipStrategy":"Aggregation"
}
]
...
}
- You cannot add a mapping to a non-existing group.
- You cannot add an empty mapping.
If the request is successful, the response contains a list of mappings.
Current Rulesets
The current rulesets display the survivorship groups and roles that connect these survivorship groups to the current user. Use the following request to get the current rulesets:
GET: {TenantURL}/rulesetsConfiguration/currentRulesets
RESPONSE:
{
"configuration/entityTypes/HCP": {
"configuration/entityTypes/HCP/survivorshipGroups/group_test_1": [
"ROLE_TEST_1"
]
}
}
Additional Endpoints for Mapping
You can use the two endpoints mentioned below to add a mapping between user roles and created groups.
Use the following request to create a mapping for the specified entity type name:
PUT: {TenantURL}/rulesetsConfiguration/entityTypes/{entityTypeName}/survivorshipGroups
BODY:
{
"configuration/entityTypes/HCP/survivorshipGroups/group_test_1": [
"ROLE_TEST_1"
],
"configuration/entityTypes/HCP/survivorshipGroups/group_test_2": [
"ROLE_TEST_2"
]
}
Use the following request to create a mapping for the specified
survivorshipGroup
in entity type:
PUT: {TenantURL}/rulesetsConfiguration/entityTypes/{entityTypeName}/survivorshipGroups/{groupUri}
BODY:
{
"uri":"configuration",
"label":"Layer3Configuration",
"description":"simple-l3.v1",
"schemaVersion":"1",
"referenceConfigurationURI":"configuration/_vertical/life-sciences",
"abstract":"false",
"entityTypes":[
{
"uri":"configuration/entityTypes/Organization",
...
"survivorshipGroups":[
{
"uri":"configuration/entityTypes/Organization/survivorshipGroups/default",
"label":"Group A",
"description":"Use Aggregate Values",
"default":false,
"roles":[
"ROLE_nPtADYqmF3qu1iy_SURVIVORSHIP"
],
"mapping":[
{
"attribute":"configuration/entityTypes/Organization/attributes/Address",
"survivorshipStrategy":"Aggregation"
},
{
"attribute":"configuration/entityTypes/Organization/attributes/Identifiers",
"survivorshipStrategy":"Aggregation"
}
]
}
]
}
]
...
}