You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@unomi.apache.org by jk...@apache.org on 2022/11/10 15:53:48 UTC
[unomi-tracker] branch refacto-control-group-usage updated: UNOMI-713: update control group usage by using new personalizationResults
This is an automated email from the ASF dual-hosted git repository.
jkevan pushed a commit to branch refacto-control-group-usage
in repository https://gitbox.apache.org/repos/asf/unomi-tracker.git
The following commit(s) were added to refs/heads/refacto-control-group-usage by this push:
new 2cfcde4 UNOMI-713: update control group usage by using new personalizationResults
2cfcde4 is described below
commit 2cfcde49220e6dbd4fb4aece9297cda852887050
Author: Kevan <ke...@jahia.com>
AuthorDate: Thu Nov 10 16:53:36 2022 +0100
UNOMI-713: update control group usage by using new personalizationResults
---
src/apache-unomi-tracker.js | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/src/apache-unomi-tracker.js b/src/apache-unomi-tracker.js
index ac19f62..2515fcf 100644
--- a/src/apache-unomi-tracker.js
+++ b/src/apache-unomi-tracker.js
@@ -168,11 +168,11 @@ export const newTracker = () => {
*/
registerPersonalizationObject: function (personalization, variants, ajax, resultCallback) {
var target = personalization.id;
- wem._registerPersonalizationCallback(personalization, function (result, advancedResult) {
+ wem._registerPersonalizationCallback(personalization, function (result, additionalResultInfos) {
var selectedFilter = null;
var successfulFilters = [];
- var inControlGroup = advancedResult && advancedResult.additionalResultInfos && advancedResult.additionalResultInfos.inControlGroup;
+ var inControlGroup = additionalResultInfos && additionalResultInfos.inControlGroup;
// In case of control group Unomi is not resolving any strategy or fallback for us. So we have to do the fallback here.
if (inControlGroup && personalization.strategyOptions && personalization.strategyOptions.fallback) {
selectedFilter = variants[personalization.strategyOptions.fallback];
@@ -1141,10 +1141,14 @@ export const newTracker = () => {
if (wem.digitalData.personalizationCallback) {
for (var j = 0; j < wem.digitalData.personalizationCallback.length; j++) {
- wem.digitalData.personalizationCallback[j].callback(
- wem.cxs.personalizations[wem.digitalData.personalizationCallback[j].personalization.id],
- wem.cxs.personalizationResults ? wem.cxs.personalizationResults[wem.digitalData.personalizationCallback[j].personalization.id] : undefined
- );
+ if (wem.cxs.personalizationResults) {
+ // Since Unomi 2.1.0 personalization results are available with more infos
+ var personalizationResult = wem.cxs.personalizations[wem.digitalData.personalizationCallback[j].personalization.id];
+ wem.digitalData.personalizationCallback[j].callback(personalizationResult.contentIds, personalizationResult.additionalResultInfos);
+ } else {
+ // probably a version older than Unomi 2.1.0, fallback to old personalization results
+ wem.digitalData.personalizationCallback[j].callback(wem.cxs.personalizations[wem.digitalData.personalizationCallback[j].personalization.id]);
+ }
}
}
}