Business Analytics Attribute Mapping Expressions
Scope | Mapping Expressions for URLs | Variable or Parameter Declarations in EMML |
Business Analytics global attributes: custom attributes with simple values used for: ![*](bullet.gif) All users. ![*](bullet.gif) Default values for Business Analytics user attributes. If a value is not available at runtime for the current user, the Business Analytics global attribute value is used. | parameter=$global/attribute-name | <variable name="global.attribute-name" type="simple-type"/> |
Business Analytics user attributes: custom attributes with simple values for each specific user. In addition to the custom attributes that you define, Business Analytics user attributes can also refer to user attributes defined in your User Repository. Global attributes can provide default values for user attributes with the same name. | parameter=$user/attribute-name | <variable name="user.attribute-name" type="simple-type"/> |
Business Analytics session attributes: simple values or complex objects with multiple properties. They are data saved from a previous response during the user's current session. Important: | Effective in this release, the user's Business Analytics credentials are no longer available as session attributes. |
| parameter=$session/attribute-name[/Xpath-expression-to-a-specific-node] The XPath expression is optional and is only relevant for session attributess that are complex objects. | For session attributes with simple values: <variable name="session.attribute-name" type="simple-type"/> For complex objects: <variable name="session.attribute-name" type="document"/> |
Business Analytics request attributes: refers to HTTP headers or cookies for the current request. | parameter=$request.http-header/cookie-name | Business Analytics request attributes are not supported in EMML. |
The following example shows a Business Analytics attribute for an app using PC4JS that maps a video service key to a global attribute:
Global Attribute Mapping
Presto.namespace("MyOrg");
var MyOrg.MyVideosApp = function(app){
var root = jQuery( app.rootElement ).find( '#content' );
var connection = app.getConnection();
var requestBody = "";
connection.request({
url: "/presto/edge/api/rest/VideoSvc/getAll?x-presto-resultFormat=json&videoKey=$global.VideoKey",
type: "get",
contentType: "application/x-www-form-urlencoded",
data: requestBody
},
{ onSuccess: function(response, responseHeaders) {
//handle response data
},
onFailure: function(e) {
//handle error message
}
});
This next example show an app that maps an input parameter for the user’s email to a Business Analytics user attribute.
User Attribute Mapping
...
connection.request({
url: "/presto/edge/api/rest/myMashup/Invoke?x-presto-resultFormat=json&email=$user.email",
type: "get",
contentType: "application/x-www-form-urlencoded",
data: requestBody
},
{ onSuccess: function(response, responseHeaders) {
//handle response data
},
onFailure: function(e) {
//handle error message
}
});
The next example shows an app that maps an input parameter to a cookie in the current request:
Request Attribute Mapping
...
connection.request({
url: "/presto/edge/api/rest/myMashup/Invoke?x-presto-resultFormat=json&ssocookie=$request.Cookie.mySSOCookie",
type: "get",
contentType: "application/x-www-form-urlencoded",
data: requestBody
},
{ onSuccess: function(response, responseHeaders) {
//handle response data
},
onFailure: function(e) {
//handle error message
}
});
See
Define
Business Analytics
Session Attributes for examples of defining and mapping
Business Analytics session attributes.