SemanticDataModelReadiness

Use this node to validate that the data model objects (DMO) referenced in the semantic model exist and have the correct field mappings.

Asset Type Name for Rules 

semanticmodel

Example Definition in chain.json 

1{
2  "name": "sdm_readiness",
3  "label": "Validates a semantic model",
4  "dominoVariant": "sfdc_internal__UnifiedAnalyticsDominoVariant",
5  "parameters": {},
6  "definition": {
7    "nodes": {
8      "sdm_setup_and_readiness": {
9        "graphNodeType": {
10          "name": "SemanticDataModelReadiness"
11        },
12        "parameters": {
13          "name": "Test_SampleCheck",
14          "sdmParam": {
15            "name": "Test_SampleCheck",
16            "file": "sms/sdm.json"
17          }
18        },
19        "sources": [],
20        "runAs": "CurrentUser"
21      }
22    }
23  }
24}

Parameters 

ParameterDefinition
name(Required) The developer name for the semantic model. The result is stored in the app context as ${Readiness.Test_SampleCheck}.
sdmParam(Required) The parameters for the semantic model.
sdmParam.name(Required) The name for the semantic model file. This is used by the rules to determine which files to run a rule against.
sdmParam.file(Required) The path to the JSON file that contains the semantic model input representation. This must be a semantic data model file used in app creation.
condition(Optional) An EL expression, evaluated at runtime, that determines whether to validate this semantic data model or not.
valueOnError(Optional) A Map<String, Boolean> containing the default values of each of the org preference check in the event of an error or failure. Each key in the map must be defined in the preferenceNames attribute.

Set runAs to CurrentUser so that this node runs with the permissions of the user installing the app. If you omit runAs, the node runs as AutoProc, a system user.

Note

App Context Values 

App Context ValueDefinition
Readiness.<dev name for SDM check>Indicates whether all DMOs in the semantic data model exist and the required fields are mapped (true) or not (false).
Readiness.<dev name for SDM check>.<DMO name>A list of any missing fields. If the DMO doesn’t exist in the org, a full list of the DMO fields is returned.

On Failure 

Failure handling depends on whether valueOnError is defined:

  • If no valueOnError is defined, the result is passed through as it is. A failed check returns FAIL_TERMINAL and the chain stops.
  • If valueOnError is present and the task succeeded, the result is passed through as it is.
  • If valueOnError is present and the task failed for any reason, the task returns WARN_AND_CONTINUE and passes along the error message. valueOnError is written to the app context so that downstream nodes can continue.

See Also