jkevan opened a new pull request, #531: URL: https://github.com/apache/unomi/pull/531
The goal is to clean and refactor the control group implementation to be able: - correctly persist the status of the control group in the session/profile even when control group is false - improve the response for personalization results to ease client side usage of this new informations Now the control group are stored in the profile or session system properties, in the format: ``` { "systemProperties": { "personalizationStrategyStatus": [{ "personalizationId": "40a6bca-348a-40c2-a00d-48c4346e8e2c", "inControlGroup": false, "timeStamp": "2022-11-08" }] } } ``` 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: ``` { "personalizations": { "40a6bca-348a-40c2-a00d-48c4346e8e2c": ["variant_1_id", "variant_2_id"] } } ``` Now (We keep old syntax for retro-compatibility): ``` { "personalizations": { "40a6bca-348a-40c2-a00d-48c4346e8e2c": ["variant_1_id", "variant_2_id"] }, "additionalResponseData": { "personalizationResults": { "40a6bca-348a-40c2-a00d-48c4346e8e2c": { "contentIds": ["variant_1_id", "variant_2_id"], "additionalResultInfos": { "inControlGroup": true } } } } } ``` This way we can return additional informations related to the personalized results that will be useful for the client side. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@unomi.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org