[ https://issues.apache.org/jira/browse/UNOMI-696?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17631681#comment-17631681 ]
Kevan Jahanshahi commented on UNOMI-696: ---------------------------------------- Now the control group are stored in the profile or session system properties, in the format: {code:java} { "systemProperties": { "personalizationStrategyStatus": [{ "personalizationId": "40a6bca-348a-40c2-a00d-48c4346e8e2c", "inControlGroup": false, "timeStamp": "2022-11-08" }] } } {code} This way we can persist personalization strategy status on profile or session in a generic way that could be reuse for other strategies than control groups. The control group will also be returned in the personalization results in the context response, using this format: Before: {code:java} { "personalizations": { "40a6bca-348a-40c2-a00d-48c4346e8e2c": ["variant_1_id", "variant_2_id"] } } {code} Now (We keep old syntax for retro-compatibility): {code:java} { "personalizations": { "40a6bca-348a-40c2-a00d-48c4346e8e2c": ["variant_1_id", "variant_2_id"] }, "personalizationResults": { "40a6bca-348a-40c2-a00d-48c4346e8e2c": { "contentIds": ["variant_1_id", "variant_2_id"], "additionalResultInfos": { "inControlGroup": true } } } } {code} This way we can return additional informations related to the personalized results that will be useful for the client side. > Store personalizationResolutions on profile and sessions > -------------------------------------------------------- > > Key: UNOMI-696 > URL: https://issues.apache.org/jira/browse/UNOMI-696 > Project: Apache Unomi > Issue Type: New Feature > Reporter: romain.gauthier > Assignee: Kevan Jahanshahi > Priority: Major > Fix For: unomi-1.7.0, unomi-2.1.0 > > > Following https://issues.apache.org/jira/browse/UNOMI-690, it might be easier > and more consistent to store personalization resolutions on profile and > sessions, even when no control group is active. > - The current control group property needs to be renamed to > "personalizationResolutions" or "personalizationDecisions" and moved to a > system property > - The information about the first personalization decision needs to be stored > on session and profile > - If a control group is defined, the information about the control group > would be set only on the object where the control group is defined: session > OR profile. If the control group property doesnt exist inside the > personalization resolution for a session or a profile, it means either that > the control group was set on the other object or that no control group was > defined for the personalization -- This message was sent by Atlassian Jira (v8.20.10#820010)