[
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)