Upgrading to 2022.2
Breaking Changes on Analytics
Previously, an image that was displayed, in a list, a search results, a zoom… was counted as an impression.
Starting with 2022.2
if the image is displayed on a BO dataview, BO fileview, Portal detailed view, or Portal preview popup it is counted as “viewed”
if the image is displayed outside of the BO or Portal, with DXM, it is counted as “impression”, whatever resolution, size, context it has been displayed.
Breaking changes on portal
In order to simplify the configuration of the portal, we have decided to change the way configuration of the build is loaded.
script
build
from package.json has been changed to rely on.wediaportalrc
configuration (instead of .env files). The.wediaportalrc
file can be automatically generated by runningnpm run wediaportal -- restore
You will also need to reconfigure the configs path:
within the generated.wediaportalrc
file, add in$environments.default['']
a new entryappConfigs
which should contain the content of your previously used aliases file. Example for DCW:"appConfigs": { "portal": "_portal@club-wed@next", "portal@$mobile_device": "_portal@club-wed@$mobile_device", "portal@picker": "_portal@club-wed@$_picker@$club-wed-picker", "portal@picker@$mobile_device": "_portal@club-wed@$_picker@$club-wed-picker@$mobile_device", "portal@picker@office": "_portal@club-wed@$_picker@$_officepicker@$club-wed-picker@$_officepicker", "portal@picker@office@$mobile_device": "_portal@club-wed@$_picker@$_officepicker@$club-wed-picker@$_officepicker@$mobile_device", "portal@picker@office_outlook": "_portal@club-wed@$_picker@$_officepicker@$_outlookpicker@$club-wed-picker@$_officepicker@$_outlookpicker", "_postProcessors": [ ["", "mobile_device"] ] }
script
build-plugin
no longer exist. The script build will generate the plugin.script build-plugin-deploy no longer exist. Instead, you can run
npm run build -- -d
to deploy a built plugin.
Default NAR changes
Created structures
wxmanalyticstabs
This structure needs to be created to enable the “Create your dashboard” feature in the analytics screen.
Updated structures
massimportitem
Those changes are delivered in the 2022.2 default NAR file but should not be applied before portal 2022.2.1 is delivered
massimportitem
phavg: removed tag
asset/hashimageaverage
phdiff:
removed tag
asset/hashimagedifference
added tag
rest_api_mass_import_field
status: added tag
rest_api_mass_import_agg
massimportjob
Structure changes
Added tags:
not_delete_if_used
rest_api_create_not_required
rest_api_update_not_required
Fields changes
activated:
marked
inlist
marked
editable
added tag
rest_api_mass_import_include
resolution
shortname: added tag
usernested
description: added tag
usernested
variation: added tag
usernested
nature: added tags
rest_api_dam_data/@usernested
andusernested
role
resolutions: added tags
rest_api_dam_data/@usernested
andusernested
user
role: added tag
rest_api_dam_data/@usernested
userregistration
Added tags:
rest_api_dam_create
rest_api_include
Plugins default configuration changes
PACKAGED_DAM_Utils
As tags asset/hashimageaverage
and asset/hashimagedifference
were removed from massimportitem structures, you need to configure PACKAGED_DAM_Utils to handle the filling of properties. Change the PACKAGED_DAM_Utils configuration to include transformation on fields.
The group computing average hash and difference hash should be done before the group containing the duplicates finder
{
"aliases":{
...
"asyncTransformations":[
{
"objectSelector":"massimportitem",
"propertiesTransforms": [
{
"fieldSelector":"phavg",
"transformers":[
{
"classAlias": "ifElse",
"input": [
{
"classAlias": "negate",
"input": {
"classAlias": "stringEquals",
"init": "image",
"input": {
"preset": "getRootNatureCode"
}
}
},
{
"classAlias": "staticVal",
"init": "0"
},
{
"classAlias": "resourceProperty",
"init": "phavg",
"input": {
"preset": "getBinary"
}
}
]
}
]
},
{
"fieldSelector":"phdiff",
"transformers":[
{
"classAlias": "ifElse",
"input": [
{
"classAlias": "negate",
"input": {
"classAlias": "stringEquals",
"init": "image",
"input": {
"preset": "getRootNatureCode"
}
}
},
{
"classAlias": "staticVal",
"init": "0"
},
{
"classAlias": "resourceProperty",
"init": "phdiff",
"input": {
"preset": "getBinary"
}
}
]
}
]
}
]
},
...
}]
}
In order to fasten the analysis of items within mass import, we have excluded ai related analysis from the group common to all items, and added it only to #damobject:
"asyncTransformations":[
{
"objectSelector":"#damobject",
"propertiesTransforms": [
{
"fieldSelector":"ai_caption",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"caption",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_concepts",
"transformers":[
{
"classAlias":"asChild",
"init":"name",
"input":{
"classAlias":"aiAttributeFromReport",
"init":"tags",
"input":{
"preset":"getAiReport"
}
}
}
]
},
{
"fieldSelector":"ai_celebrities",
"transformers":[
{
"classAlias":"asChild",
"init":"name",
"input":{
"classAlias":"aiAttributeFromReport",
"init":"celebrities",
"input":{
"preset":"getAiReport"
}
}
}
]
},
{
"fieldSelector":"ai_landmarks",
"transformers":[
{
"classAlias":"asChild",
"init":"name",
"input":{
"classAlias":"aiAttributeFromReport",
"init":"landmarks",
"input":{
"preset":"getAiReport"
}
}
}
]
},
{
"fieldSelector":"ai_mainfg",
"transformers":[
{
"classAlias":"asChild",
"init":"name",
"input":{
"classAlias":"aiAttributeFromReport",
"init":"dominantColorForeground",
"input":{
"preset":"getAiReport"
}
}
}
]
},
{
"fieldSelector":"ai_mainbg",
"transformers":[
{
"classAlias":"asChild",
"init":"name",
"input":{
"classAlias":"aiAttributeFromReport",
"init":"dominantColorBackground",
"input":{
"preset":"getAiReport"
}
}
}
]
},
{
"fieldSelector":"ai_avgage",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"avgAge",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_nbfaces",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"nbFaces",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_nbfaces_baby",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"nbFacesOfAge0_3",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_nbfaces_children",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"nbFacesOfAge3_17",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_nbfaces_adult",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"nbFacesOfAge17_60",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_nbfaces_senior",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"nbFacesOfAge60_999",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector":"ai_faces",
"transformers":[
{
"classAlias":"aiAttributeFromReport",
"init":"namedFaces",
"input":{
"preset":"getAiReport"
}
}
]
},
{
"fieldSelector": "resorttheme",
"transformers": [
{
"classAlias": "prediction",
"input": {
"classAlias": "aiAttributeFromReport",
"init": "mappers",
"input": {
"preset": "getAiReport"
}
}
}
]
},
{
"fieldSelector": "resortthemesuggest",
"transformers": [
{
"classAlias": "prediction",
"init": {
"property": "resorttheme",
"minConfidence": 0,
"maxConfidence": 0.9
},
"input": {
"classAlias": "aiAttributeFromReport",
"init": "mappers",
"input": {
"preset": "getAiReport"
}
}
}
]
}
]
},
// ...
]