Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

 Table of content

Breaking changes

WXM-16812 - Getting issue details... STATUS

Rewriting changes

Inbound changes

 Details about the changes

UPDATED [STARTER-KIT] PORTAL sso callback (14e313980d7fb04ff80a445072ccb7874760)

  • description: (- empty -) --> SSO callback entry point for FO

  • from: ^/portal(?:-([^/]+))?/sso(.*) --> ^/dam/wedia(?:-([^/]+))?/sso(.*)


UPDATED [STARTER-KIT] ASSET-PICKER sso callback (aa1351e20aea8043e6083b301173722ef622)

  • description: (- empty -) --> SSO callback entry point for asset-picker


UPDATED [STARTER-KIT] OFFICE-PICKER sso callback (ef58c5310b0f40409a0ad270ba8bed566540)

  • description: (- empty -) --> SSO callback entry point for office-picker


UPDATED [STARTER-KIT] OFFICE-OUTLOOK-PICKER sso callback (438e93f408c14045bd0a5e701561656a10c9)

  • description: (- empty -) --> SSO callback entry point for office-outlook-picker


UPDATED [STARTER-KIT] PORTAL static resources (b24678d00d2d3045f60b87d0de8ffb6d5cc4)

  • description: (- empty -) --> Static resources for FO and wedia-config

  • from: ^(?:/(?:portal|wedia-config)(?:-([^/]+))?/((?:fonts|addons|css|js|img)/|([^/]*\.[^/]+))) --> ^(?:/(?:dam/wedia|wedia-config)(?:-([^/]+))?/((?:fonts|addons|css|js|img)/|([^/]*\.[^/]+)))


UPDATED [STARTER-KIT] ASSET-PICKER static resources (ecf98b8d06b3a043c808b6b0a34888c79402)

  • description: (- empty -) --> Static resources for asset-picker


UPDATED [STARTER-KIT] ADOBE-ASSET-PICKER static resources (546d64710a87f045da0aa920a39c23ef59bf)

  • description: (- empty -) --> Static resources for adobe-picker


UPDATED [STARTER-KIT] OFFICE-PICKER main entry point (15333c900cecf048ea09854021505d06e7fa)

  • description: (- empty -) --> Main entry point for office-picker


UPDATED [STARTER-KIT] OFFICE-PICKER static resources (0fbcd0d403451048aa08a6c07d8ea3dd9a38)

  • description: (- empty -) --> Static resources for office-picker


UPDATED [STARTER-KIT] PORTAL main entry point (c27c2c7101d67048b209ab405b29a5f26a55)

  • description: (- empty -) --> Main entry point for FO

  • from: ^/portal(?:-([^/]+))?(/.*)? --> ^/dam/wedia(?:-([^/]+))?(/.*)?


UPDATED [STARTER-KIT] ASSET-PICKER main entry point (55f7eb390053004efd0a2570345164bcbfca)

  • description: (- empty -) --> Main entry point for asset-picker


UPDATED [STARTER-KIT] ADOBE-ASSET-PICKER main entry point (9e25a6d003cd504927089f507b3e8b28e37f)

  • description: (- empty -) --> Main entry point for adobe-picker


UPDATED [STARTER-KIT] OFFICE-OUTLOOK-PICKER main entry point (425ca3e90689e04fee0ac250deab92af22f1)

  • description: (- empty -) --> Main entry point for office-outlook-picker


UPDATED [STARTER-KIT] WEDIA-CONFIG (48495b44040ef042b408da40157c86e522d7)

  • description: (- empty -) --> Main entry point for wedia-config


UPDATED [STARTER-KIT] PRO (da686ca40ae59046b808dbf0ab5e397d6904)

  • description: (- empty -) --> Shortcut from /pro to BO

New Rules

 Details about the new rule

NEW From /wedia to /dam/wedia (e16e43a70660a046590bc1d034cd340565bc)

  • activated: true

  • description: Shortcut from /wedia to FO

  • from: ^/wedia/?$

  • to: /dam/wedia

  • condition:

  • encodeReplacement: false

  • sending: true

  • sendingOp: 2

  • skip: true


NEW From /dam/ to /dam/wedia (9ba6519a07b410498e0b009087607f98775b)

  • activated: true

  • description: Shortcut from /dam to FO

  • from: ^/dam/?$

  • to: /dam/wedia

  • condition:

  • encodeReplacement: false

  • sending: true

  • sendingOp: 2

  • skip: true


NEW From /portal/dam/* to /dam/wedia/browse/* (9dd2e9ed07a7104ae30b44109b9d67306730)

  • activated: true

  • description: Keep previous /portal/dam/* URLs (emails) working

  • from: ^/portal/dam($|\?|/.*)

  • to: /dam/wedia/browse$1

  • condition:

  • encodeReplacement: false

  • sending: true

  • sendingOp: 2

  • skip: true


NEW from /dam/wedia/dam to /dam/wedia/browse (6b99278208b3b048ad0b3620078415c105a9)

  • activated: true

  • description: Fix URLs that might be generated as /dam/wedia/dam (belt and suspenders)

  • from: ^/dam/wedia/dam($|\?|/.*)

  • to: /dam/wedia/browse$1

  • condition:

  • encodeReplacement: false

  • sending: true

  • sendingOp: 2

  • skip: true


NEW De /portal vers /dam/wedia (10c6e7be07687040c60b3e104ab2e5c09c6c)

  • activated: true

  • description: Keep previous /portal/* URLs (emails) working

  • from: ^/portal($|/.*)

  • to: /dam/wedia$1

  • condition:

  • encodeReplacement: false

  • sending: true

  • sendingOp: 2

  • skip: true

WXM-RESTAPI

Important changes in debug mode

As a reminder, the debug mode of the REST API allowed you to

  • debug information for each request

  • on the other hand, to provide information in error messages where applicable

In a request, the debug=true parameter activated the display of debug information. On a server in development mode, the value of this parameter was true if omitted. It was possible to enable the use of this parameter on a server in production mode, either through a plugin parameter (allowDebugInProduction) or through security (RESTAPIDEBUG domain). This security domain could also be used to control the information accessible in errors.

Starting with version 2024.4.0

  • the debug parameter always has the same function

  • this parameter has no default value (which is equivalent to default=false)

    • you can set it to a default value of true on a development environment using the requestDebugDefaultValue plugin parameter.

    • the allowDebugInProduction plugin parameter has been removed

  • the RESTAPIDEBUG security domain has not changed

  • it is possible to run your own session in debug mode (which means as if you passed the debug=true parameter in the query) via the _plugins/WXM_RESTAPI/page/admin/debug/allowdebug.jspz page. You'll need a developer role to access this page (role 4).

  • it is possible to enable access to debug mode, including for integrators in production environments, via the _plugins/WXM_RESTAPI/page/uadm/surferdebug.jspz page. You'll need a developer role to access this page (role 4).
    in this interface, you can

    • authorize a user to use the debug parameter in their requests

    • indicate the value of this parameter if it is not passed in the request

    • configure the level of information available in errors, from among

      • none

      • contextual information (object identifiers, structure and field names, internal information…)

      • stack trace ((warning) very sensitive information: a stack trace can give precise clues to the application's inner workings)

    • indicate an expiry date for these rights

    • temporarily suspend these rights

See more information on WXM-16883 - Getting issue details... STATUS

Customer intégration

Please inform customers and integration teams that they must consult Code integration (REST API invocation) before writing customer code that will use the API.

Plugin startup controls

The instance updates below (wkfmassimportjobaction) are necessary for WXM_RESTAPI to function and startup properly after the upgrade

wkfmassimportjobaction

wkfmassimportjobaction/9 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 02/09/2024 15:40:31

  • forward: 0

  • icon:

  • id: 9

  • modified: 02/09/2024 15:40:31

  • name: reset

  • ontransition:

  • owner: 3

  • parent:

  • position: 0

  • roles:

  • state_in: 9

  • state_out: 2

  • status: 2


wkfmassimportjobaction/10 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 02/09/2024 15:46:06

  • forward: 0

  • icon:

  • id: 10

  • modified: 02/09/2024 15:46:06

  • name: reset

  • ontransition:

  • owner: 1

  • parent:

  • position: 0

  • roles:

  • state_in: 11

  • state_out: 2

PACKAGED_Portal

/portal to /dam/wedia

Starting from 2024.4, by default the front-end’s main entry point is changed from /portal/ to /dam/wedia/
(URL rewritting rules are present to redirect from /portal to /dam/wedia)

Therefore the app’s default vue_apps_base_url.portal has been updated in tools\wediaportal-cli\api\constants\defaultConfig.mjs

If you haven’t configured a specific vue_apps_base_url.portal in your project, on the next front-end build, the app will be configured for /dam/wedia/

New configuration point

Portals

A new configuration domain has been added to portal’s json configuration. It is mainly used by the new components added for the Portals. The new domain (folder) is placed at the same level as the dam, product, spaces or dam-import domain, and it is called : portals

This domain is necessary if you want to use the new feature on your front-end.

Starter-kit’s common config has been updated too, new named actions and named displays have been added.

More details about the configuration possibilites can be found here :https://crossmedia.atlassian.net/wiki/spaces/WD/pages/3298787349/Portals+installation+guide#4.1%2F-Portals-list-filters

Changes Information

Structures changes

asset

Fields changes

  • portals (added)

    • Type: childmultilngdb

    • Nature: portal

    • Label:

    • Default value:

    • Order: 7300

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_include

Tags

Removed

  • exportxls


user

Fields changes

  • activated

    • Tags:

      • Added: datalist_search_simple

  • pkgroletemplate

    • Tags:

      • Added: datalist_search_simple


exportxls tag removed :

https://crossmedia.atlassian.net/browse/WXM-16849
 Details

assetgeography

Fields changes

  • name

    • Tags:

      • Removed: exportxls_include

Tags

Removed

  • exportxls


assetkeyword

Fields changes

  • name

    • Tags:

      • Removed: exportxls_include

Tags

Removed

  • exportxls


assetauthor

Tags

Removed

  • exportxls


assetiaconcept

Tags

Removed

  • exportxls


folder

Tags

Removed

  • exportxls


pimasset

Tags

Removed

  • exportxls


Portals feature new structures

 Details

portal (ADDED


portaldownload (ADDED)


wkfpkgportal (ADDED)


wkfpkgportalaction (ADDED)


Front widgets structures update

 Click here to expand...

homewidgetelttype (ADDED)


vueapphomewidget

Fields changes

  • buttoncart4

    • Order:
      5800 --> 6100

  • buttoncart4fr

    • Order:
      5900 --> 6200

  • descriptioncart4

    • Order:
      6100 --> 5800

  • descriptioncart4fr

    • Order:
      6200 --> 5900

  • descriptioncart4de

    • Order:
      6300 --> 6000

  • buttoncart4de

    • Order:
      6000 --> 6300

  • portal1 (added)

    • Type: child

    • Nature: portal

    • Label:

    • Default value:

    • Order: 1205

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/cover|id, rest_api_include

  • portal2 (added)

    • Type: child

    • Nature: portal

    • Label:

    • Default value:

    • Order: 2505

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/cover|id, rest_api_include

  • portal3 (added)

    • Type: child

    • Nature: portal

    • Label:

    • Default value:

    • Order: 3805

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/cover|id, rest_api_include

  • portal4 (added)

    • Type: child

    • Nature: portal

    • Label:

    • Default value:

    • Order: 5105

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/cover|id, rest_api_include

  • elttype1 (added)

    • Type: child

    • Nature: homewidgetelttype

    • Label:

    • Default value:

    • Order: 1195

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/facet|id

  • elttype2 (added)

    • Type: child

    • Nature: homewidgetelttype

    • Label:

    • Default value:

    • Order: 2495

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/facet|id

  • elttype3 (added)

    • Type: child

    • Nature: homewidgetelttype

    • Label:

    • Default value:

    • Order: 3795

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/facet|id

  • elttype4 (added)

    • Type: child

    • Nature: homewidgetelttype

    • Label:

    • Default value:

    • Order: 5095

    • Remote name:

    • Max size: 0

    • Attachment:

    • In list:

    • Editable: false

    • Viewable: false

    • Mandatory: false

    • Null if empty: false

    • Auto carriage return: false

    • Index: Not indexed

    • i18n: false

    • i18n for:

    • Tags: rest_api_dam_data/facet|id

Faces

Selector

Old selector

Collection<String> facets = new java.util.HashSet<String>();
facets.add("hide");
wsnoheto.engine.IObjectReadOnly type = (wsnoheto.engine.IObjectReadOnly)object.getPropertyAsObject("type");
if (type != null) {
    facets.add(type.getProperty("facet"));
}
return facets;

New selector

Collection<String> facets = new java.util.HashSet<String>();
facets.add("hide");
wsnoheto.engine.IObjectReadOnly type = (wsnoheto.engine.IObjectReadOnly)object.getPropertyAsObject("type");
wsnoheto.engine.IObjectReadOnly eltType1 = (wsnoheto.engine.IObjectReadOnly)object.getPropertyAsObject("elttype1");
wsnoheto.engine.IObjectReadOnly eltType2 = (wsnoheto.engine.IObjectReadOnly)object.getPropertyAsObject("elttype2");
wsnoheto.engine.IObjectReadOnly eltType3 = (wsnoheto.engine.IObjectReadOnly)object.getPropertyAsObject("elttype3");
wsnoheto.engine.IObjectReadOnly eltType4 = (wsnoheto.engine.IObjectReadOnly)object.getPropertyAsObject("elttype4");

if (type != null) {
    facets.add(type.getProperty("facet"));
    
    /**
     * Show board/portal and their props when one of those has been chosen
     * */
    if(eltType1 != null) {
        facets.add(eltType1.getProperty("facet")+"_1"); //portal_1 or wxmcart_1
        facets.add("1st_element_props"); // with their props after the type has been chosen
    }
    if(eltType2 != null) {
        facets.add(eltType2.getProperty("facet")+"_2");
        facets.add("2nd_element_props");
    }
    if(eltType3 != null) {
        facets.add(eltType3.getProperty("facet")+"_3");
        facets.add("3rd_element_props");

    }
    if(eltType4 != null) {
        facets.add(eltType4.getProperty("facet")+"_4");		
        facets.add("4th_element_props");
    }
}
return facets;
Configuration
  • 2cart

    • removed

      • Viewable:

      • Editable:

      • Mandatory:

  • 3cart

    • removed

      • Viewable:

      • Editable:

      • Mandatory:

  • 4cart

    • removed

      • Viewable:

      • Editable:

      • Mandatory:

  • hide

    • portal1

      • Viewable:

      • Editable:

      • Mandatory:

    • portal2

      • Viewable:

      • Editable:

      • Mandatory:

    • portal3

      • Viewable:

      • Editable:

      • Mandatory:

    • portal4

      • Viewable:

      • Editable:

      • Mandatory:

    • elttype1

      • Viewable:

      • Editable:

      • Mandatory:

    • elttype2

      • Viewable:

      • Editable:

      • Mandatory:

    • elttype3

      • Viewable:

      • Editable:

      • Mandatory:

    • elttype4

      • Viewable:

      • Editable:

      • Mandatory:

  • 1st_element_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 2elements

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 2elements_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 2nd_element_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 3elements

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 3elements_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 3rd_element_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 4elements

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 4elements_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • 4th_element_props

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • portal_1

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • portal_2

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • portal_3

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • portal_4

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • wxmcart_1

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • wxmcart_2

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • wxmcart_3

    • added

      • Viewable:

      • Editable:

      • Mandatory:

  • wxmcart_4

    • added

      • Viewable:

      • Editable:

      • Mandatory:

Instances changes

pkgroletemplate

 Details

pkgroletemplate/997

  • permissions:

    • image-20241011-154823.png
    • image-20241011-154817.png

pkgroletemplate/998

  • permissions:

    • Added after the definition of "@dam.metadata.tech~wkfpkgskmetadata" (l1514)

      "@portal.editorial~wkfpkgportal": {
      	"broadcastvideo": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"changestatus": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"definevideoposter": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"delete": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"editpicture": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"editvideochapters": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"editvideosubtitles": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"embed": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"i18nfieldstranslate": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"insert": {
      		"custom": false,
      		"enabled": true,
      		"permissions": [
      			"$anycreation"
      		]
      	},
      	"managevideocalltoactions": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"managevideorolls": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"order": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"retrievecaption": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"sharesocialnetworks": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"slicevideo": {
      		"custom": false,
      		"enabled": false,
      		"permissions": []
      	},
      	"update": {
      		"custom": false,
      		"enabled": false,
      		"permissions": [
      			"$anystatus/$selfowner",
      			"$anystatus/$teammember"
      		]
      	},
      	"view": {
      		"custom": false,
      		"enabled": false,
      		"permissions": [
      			"$anystatus/$selfowner",
      			"$anystatus/$teammember",
      			"$anystatus/$teamviewer",
      			"$anystatus/$public",
      			"$online/$anyowner"
      		]
      	}
      }

pkgroletemplate/999

  • permissions:

    • image-20241011-160224.png

    • image-20241011-160235.png

assetnature

 Details

assetnature/22

  • modified: 17/12/2021 11:46:44 --> 24/09/2024 15:38:36

  • name: EXCEL XSLX --> EXCEL XLSX


assetnature/65

  • modified: 17/12/2021 11:46:44 --> 24/09/2024 15:38:01

  • name: EXCEL XSLM --> EXCEL XLSM

country

 Click here to expand...

country/226

  • modified: 15/07/2021 10:59:28 --> 30/09/2024 10:22:31

  • name: The Former Yugoslav Republic of Macedonia --> North Macedonia

  • namede: Ehemalige jugoslawische Republik Mazedonien --> Nordmazedonien

  • namefr: L'ex-République Yougoslave de Macédoine --> Macédoine du Nord

  • status: 2 --> 6


country/240

  • activated: 1 --> 2

  • modified: 15/07/2021 10:59:28 --> 24/09/2024 15:48:51

  • status: 6 --> 7


country/242 (ADDED)

  • activated: 1

  • child:

  • code: RS

  • code_iso3: SRB

  • code_num: 688

  • created: 24/09/2024 15:50:53

  • id: 242

  • modified: 30/09/2024 10:22:37

  • name: Serbia

  • namede: Serbien

  • namefr: Serbie

  • owner: 1

  • parent:

  • status: 6

resolution (In preparation for MCV2)

 Details

resolution/7

  • modified: 18/04/2023 16:40:55 --> 06/09/2024 14:24:27

  • variation: SD ( 512 x 288 ) --> SD ( 512 x 288 ),mp4 (512 x 288)


resolution/8

  • modified: 18/04/2023 16:42:16 --> 06/09/2024 14:24:47

  • variation: MD ( 768 x 432 ) --> MD ( 768 x 432 ),mp4 (768 x 432)


resolution/9

  • modified: 18/04/2023 16:43:00 --> 06/09/2024 14:25:02

  • variation: HD ( 1280 x 720 ) --> HD ( 1280 x 720 ),mp4 (1280 x 720)

vueapphomewidgettype, homewidgetelttype

 Home widget instances update

vueapphomewidgettype

vueapphomewidgettype/2

  • facet: 2cart --> 2elements

  • modified: 15/02/2019 09:37:41 --> 18/09/2024 18:09:33


vueapphomewidgettype/3

  • facet: 3cart --> 3elements

  • modified: 15/02/2019 09:37:53 --> 18/09/2024 18:09:41


vueapphomewidgettype/4

  • facet: 4cart --> 4elements

  • modified: 15/02/2019 09:38:02 --> 18/09/2024 18:09:51

homewidgetelttype

homewidgetelttype/1 (ADDED)

  • activated: 1

  • child:

  • created: 18/09/2024 17:50:29

  • facet: portal

  • id: 1

  • modified: 20/09/2024 14:52:14

  • name: Portal

  • namede: portal

  • namefr: Portail

  • owner: 1001

  • parent:

  • status: 2


homewidgetelttype/2 (ADDED)

  • activated: 1

  • child:

  • created: 18/09/2024 17:50:45

  • facet: wxmcart

  • id: 2

  • modified: 20/09/2024 14:53:45

  • name: Board

  • namede: Tabelle

  • namefr: Tableau

  • owner: 1001

  • parent:

  • status: 2

wkfpkgportal, wkfpkgportalaction

 Workflow instances update

wkfpkgportal

wkfpkgportal/1 (ADDED)

  • activated: 2

  • child:

  • color: 1

  • created: 19/06/2024 16:16:13

  • id: 1

  • isarchived: 2

  • isonline: 2

  • modified: 19/06/2024 16:16:13

  • name: delete

  • onenter:

  • onleave:

  • owner: 1

  • parent:

  • position: 0

  • published: 2

  • status: 2


wkfpkgportal/2 (ADDED)

  • activated: 1

  • child:

  • color: 4

  • created: 19/06/2024 16:16:13

  • id: 2

  • isarchived: 2

  • isonline: 2

  • modified: 20/08/2024 11:43:12

  • name: draft

  • onenter:

  • onleave:

  • owner: 1

  • parent:

  • position: 0

  • published: 1

  • status: 2


wkfpkgportal/6 (ADDED)

  • activated: 1

  • child:

  • color: 2

  • created: 19/06/2024 16:16:13

  • id: 6

  • isarchived: 2

  • isonline: 1

  • modified: 19/06/2024 16:16:13

  • name: online

  • onenter:

  • onleave:

  • owner: 1

  • parent:

  • position: 0

  • published: 1

  • status: 2


wkfpkgportal/7 (ADDED)

  • activated: 1

  • child:

  • color: 8

  • created: 19/06/2024 16:16:13

  • id: 7

  • isarchived: 1

  • isonline: 2

  • modified: 19/06/2024 16:16:13

  • name: archived

  • onenter:

  • onleave:

  • owner: 1

  • parent:

  • position: 0

  • published: 2

  • status: 2

wkfpkgportalaction

wkfpkgportalaction/4 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 19/06/2024 16:16:15

  • forward: 2

  • icon:

  • id: 4

  • modified: 19/06/2024 16:16:15

  • name: publish

  • ontransition:

  • owner: 1

  • parent:

  • position: 0

  • roles:

  • state_in: 2

  • state_out: 6

  • status: 2


wkfpkgportalaction/5 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 19/06/2024 16:16:15

  • forward: 0

  • icon:

  • id: 5

  • modified: 19/06/2024 16:16:15

  • name: archive

  • ontransition:

  • owner: 1

  • parent:

  • position: 0

  • roles:

  • state_in: 6

  • state_out: 7

  • status: 2


wkfpkgportalaction/6 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 19/06/2024 16:16:15

  • forward: 0

  • icon:

  • id: 6

  • modified: 19/06/2024 16:16:15

  • name: rework

  • ontransition:

  • owner: 1

  • parent:

  • position: 0

  • roles:

  • state_in: 7

  • state_out: 2

  • status: 2


wkfpkgportalaction/7 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 19/06/2024 16:16:15

  • forward: 0

  • icon:

  • id: 7

  • modified: 19/06/2024 16:16:15

  • name: publish

  • ontransition:

  • owner: 1

  • parent:

  • position: 0

  • roles:

  • state_in: 7

  • state_out: 6

  • status: 2


wkfpkgportalaction/8 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 20/08/2024 11:41:26

  • forward: 0

  • icon:

  • id: 8

  • modified: 20/08/2024 11:41:26

  • name: rework

  • ontransition:

  • owner: 0

  • parent:

  • position: 0

  • roles:

  • state_in: 6

  • state_out: 2

  • status: 2


wkfpkgportalaction/9 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 20/08/2024 11:45:22

  • forward: 0

  • icon:

  • id: 9

  • modified: 20/08/2024 11:45:22

  • name: archive

  • ontransition:

  • owner: 1007

  • parent:

  • position: 0

  • roles:

  • state_in: 2

  • state_out: 7

  • status: 2

Plugins changes

PACKAGED_CreativeWorkflow

plugin.xml

  • Parameters:

    • UPDATED portal_base_url:

      • default value:

        • Old:

          portal
        • New:

          dam/wedia
    • UPDATED batch_periodicity:

      • description: Defines the periodicity (in seconds) of batch processing and delay of last modifiction batch files to process. --> Defines the periodicity (in seconds) of batch processing and delay of last modification batch files to process.


PACKAGED_Portals

plugin.xml

  • Services:

    • ADDED com.wedia.packaged.portals.extensions.AssetsTrigger (com.noheto.extensions.interfaces.services.IObjectTriggerBusinessService)

  • Parameters:

    • ADDED portal_base_url:

      • type: string

      • mandatory: true

      • description: Portal Base URL

      • default value: dam/wedia

    • ADDED max_portals:

      • type: int

      • mandatory: true

      • description: Defines the maximum number of portals available. Enter a negative number to disable limits.

      • default value: 10

    • ADDED portal_download_expiration:

      • type: int

      • mandatory: true

      • description: Number of days before deletion of portaldownload instances

      • default value: 7

    • UPDATED max_assets_async:

      • description: Defines the maximum number of assets to submit in order to automatically switch to asynchronous treatment for assignation/removal
        of assets to/from portals. --> Defines the maximum number of assets to submit in order to automatically switch to asynchronous treatment for assignation/removal of assets to/from portals.

      • default value:

        • Old:

          50
        • New:

          100

PACKAGED_RegistrationEmails

plugin.xml

  • Parameters:

    • UPDATED portal_entry:

      • default value:

        • Old:

          /portal
        • New:

          /dam/wedia
    • UPDATED success_redirect:

      • default value:

        • Old:

          /portal/register/verified
        • New:

          /dam/wedia/register/verified
    • UPDATED timeout_redirect:

      • default value:

        • Old:

          /portal/register/timeout
        • New:

          /dam/wedia/register/timeout
    • UPDATED error_redirect:

      • default value:

        • Old:

          /portal/register/error
        • New:

          /dam/wedia/register/error

PACKAGED_DAM_Utils

More information about the modifications can be found here : Resolving automatic asset publication in 2024.1, 2024.2 and 2024.3

plugin.xml

  • Parameters:

    • UPDATED dam_denormalization_config:

      • default value:

        • image-20241011-162526.png

        • image-20241011-162630.png

        • image-20241011-162657.png

  • UPDATED dam_denormalization_force_update:

    • description: force triggers on update --> Force triggers on every update. This should never be set to true unless for debug purposes

 dam_denormalization_config : old value
{
	"aliases": {
		"aiAttributeFromReport": "com.wedia.packaged.dam.triggers.datatransformers.impl.AiAttributeFromReport",
		"append": "com.wedia.packaged.dam.triggers.datatransformers.impl.AppendIfNotEmpty",
		"asChild": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringToChild",
		"blurHash": "com.wedia.packaged.dam.triggers.datatransformers.impl.BlurhashTransformer",
		"booleanToActivated": "com.wedia.packaged.dam.triggers.datatransformers.impl.BooleanToActivatedTransformer",
		"countCommon": "com.wedia.packaged.dam.triggers.datatransformers.impl.CountCommonValues",
		"countZipEntries": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToZipFileEntriesCount",
		"dimensionMultiTag": "com.wedia.packaged.dam.triggers.datatransformers.impl.DimensionToMultiTagValue",
		"dimensionProperty": "com.wedia.packaged.dam.triggers.datatransformers.impl.DimensionToPropertyTransformer",
		"dimensionTag": "com.wedia.packaged.dam.triggers.datatransformers.impl.DimensionToTagValueTransformer",
		"duplicatesFinder": "com.wedia.packaged.dam.triggers.datatransformers.impl.DuplicatesFinderTransformer",
		"every": "com.wedia.packaged.dam.triggers.datatransformers.impl.EveryTransformer",
		"firstNonNull": "com.wedia.packaged.dam.triggers.datatransformers.impl.FirstNonNullValueTransformer",
		"geoCoords": "com.wedia.packaged.dam.triggers.datatransformers.impl.GeographicalsCoordinates",
		"getObjectProp": "com.wedia.packaged.dam.triggers.datatransformers.impl.GetInstancePropertyTransformer",
		"greaterThan": "com.wedia.packaged.dam.triggers.datatransformers.impl.GreaterThan",
		"ifElse": "com.wedia.packaged.dam.triggers.datatransformers.impl.IfElseTransformer",
		"ifEmpty": "com.wedia.packaged.dam.triggers.datatransformers.impl.DenormIfEmpty",
		"isAllowed": "com.wedia.packaged.dam.triggers.datatransformers.impl.IsAllowedBySecurity",
		"join": "com.wedia.packaged.dam.triggers.datatransformers.impl.JoinValuesTransformer",
		"lowerThan": "com.wedia.packaged.dam.triggers.datatransformers.impl.LowerThan",
		"negate": "com.wedia.packaged.dam.triggers.datatransformers.impl.NegationTransformer",
		"parseBoolean": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringToBooleanTransformer",
		"parseDate": "com.wedia.packaged.dam.triggers.datatransformers.impl.DateTransformer",
		"parseExifDate": "com.wedia.packaged.dam.triggers.datatransformers.impl.ExifToDateTransformer",
		"pluginProperty": "com.wedia.packaged.dam.triggers.datatransformers.impl.PluginPropertyToStringTransformer",
		"prediction": "com.wedia.packaged.dam.triggers.datatransformers.impl.AiMapperTransformer",
		"propertyAsObject": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringToPropertyAsObjectTransformer",
		"ratioToOrientation": "com.wedia.packaged.dam.triggers.datatransformers.impl.RatioToOrientationTransformer",
		"regexExtract": "com.wedia.packaged.dam.triggers.datatransformers.impl.RegExpPatternMatcher",
		"relFinder": "com.wedia.packaged.dam.triggers.datatransformers.impl.KeyToChildTransformer",
		"resource": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToPresetTransformer",
		"resourceFromFieldPattern": "com.wedia.packaged.dam.triggers.datatransformers.impl.PropertyToResourceTransformer",
		"resourcePath": "com.wedia.packaged.dam.triggers.datatransformers.impl.SelectorToPath",
		"resourceProperty": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToPropertyTransformer",
		"resourceToDimension": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToDimensionTransformer",
		"resourceToPreset": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToPresetTransformer",
		"rootTree": "com.wedia.packaged.dam.triggers.datatransformers.impl.TreeRootTransformer",
		"staticVal": "com.wedia.packaged.dam.triggers.datatransformers.impl.StaticPropertyTransformer",
		"stringEquals": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringEqualsTransformer",
		"toAiReport": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToAiReport",
		"videoAspectRatio": "com.wedia.packaged.dam.triggers.datatransformers.impl.RatioToVideoAspectRatioTransformer"
	},
	"presets": [
		{
			"key": "getBinary",
			"classAlias": "resourceFromFieldPattern",
			"init": "binary",
			"cache": true
		},
		{
			"key": "getDimensions",
			"classAlias": "resourceToDimension",
			"cache": true,
			"input": {
				"preset": "getBinary"
			}
		},
		{
			"key": "getFilePath",
			"classAlias": "resourcePath",
			"init": "binary"
		},
		{
			"key": "getFileName",
			"classAlias": "regexExtract",
			"init": "^./([^/])$",
			"input": {
				"preset": "getFilePath"
			}
		},
		{
			"key": "getAiReport",
			"classAlias": "toAiReport",
			"cache": true,
			"input": {
				"classAlias": "resourceToPreset",
				"init": "ia",
				"input": {
					"preset": "getBinary"
				}
			}
		},
		{
			"key": "getRootNatureCode",
			"classAlias": "getObjectProp",
			"init": "code",
			"input": {
				"classAlias": "rootTree",
				"init": "assetnature"
			}
		},
		{
			"key": "preventExecutionFromMassImport",
			"classAlias": "greaterThan",
			"init": 0,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"massimport"
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "tmpsource"
				}
			}
		},
		{
			"key": "getJobType",
			"classAlias": "getObjectProp",
			"init": "type",
			"input": {
				"classAlias": "propertyAsObject",
				"init": "job"
			}
		},
		{
			"key": "preventExecutionFromBulkEdit",
			"classAlias": "greaterThan",
			"init": 0,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"bulkedit"
				],
				"input": {
					"preset": "getJobType"
				}
			}
		},
		{
			"key": "isDuplicate",
			"classAlias": "lowerThan",
			"init": 1,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"null",
					"[]",
					"{}"
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "duplicates"
				}
			}
		},
		{
			"key": "isSpaceItem",
			"classAlias": "lowerThan",
			"init": 1,
			"input": {
				"classAlias": "countCommon",
				"init": [
					null
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "space"
				}
			}
		},
		{
			"key": "isSpaceAsset",
			"classAlias": "lowerThan",
			"init": 1,
			"input": {
				"classAlias": "countCommon",
				"init": [
					null
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "spaces"
				}
			}
		},
		{
			"key": "canPublish",
			"classAlias": "every",
			"input": [
				{
					"preset": "preventExecutionFromMassImport"
				},
				{
					"classAlias": "isAllowed",
					"init": {
						"action": "changestatus",
						"params": {
							"newstatus": "6"
						}
					}
				}
			]
		},
		{
			"key": "canSubmit",
			"classAlias": "every",
			"input": [
				{
					"preset": "preventExecutionFromMassImport"
				},
				{
					"classAlias": "isAllowed",
					"init": {
						"action": "changestatus",
						"params": {
							"newstatus": "8"
						}
					}
				}
			]
		}
	],
	"transformations": [
		{
			"objectSelector": "#damobject,damimport,transfer,massimportitem",
			"preventGuard": {
				"preset": "preventExecutionFromMassImport"
			},
			"propertiesTransforms": [
				{
					"fieldSelector": "name",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "regexExtract",
								"init": "([^.])(?:\\..)?",
								"input": {
									"preset": "getFileName"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "originalfilename",
					"transformers": [
						{
							"preset": "getFileName"
						}
					]
				},
				{
					"fieldSelector": "assetnature",
					"transformers": [
						{
							"classAlias": "asChild",
							"init": "code",
							"input": {
								"classAlias": "resourceProperty",
								"init": "contenttype",
								"input": {
									"preset": "getBinary"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "rootnature",
					"transformers": [
						{
							"classAlias": "rootTree",
							"init": "assetnature"
						}
					]
				},
				{
					"fieldSelector": "filesize",
					"transformers": [
						{
							"classAlias": "resourceProperty",
							"init": "filesize",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				},
				{
					"fieldSelector": "nbentries",
					"transformers": [
						{
							"classAlias": "countZipEntries",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				}
			]
		}
	],
	"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"
								}
							}
						}
					]
				}
			]
		},
		{
			"objectSelector": "#damobject,damimport,massimportitem",
			"preventGuard": {
				"preset": "preventExecutionFromBulkEdit"
			},
			"propertiesTransforms": [
				{
					"fieldSelector": "blurhash",
					"transformers": [
						{
							"classAlias": "blurHash",
							"init": {
								"components": 8
							}
						}
					]
				},
				{
					"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"
									}
								}
							]
						}
					]
				},
				{
					"fieldSelector": "sha",
					"transformers": [
						{
							"classAlias": "resourceProperty",
							"init": "sha256",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				},
				{
					"fieldSelector": "duplicates",
					"transformers": [
						{
							"classAlias": "duplicatesFinder",
							"init": {
								"objects": "#damobject,massimportitem"
							}
						}
					]
				}
			]
		},
		{
			"objectSelector": "#damobject,damimport,massimportitem",
			"preventGuard": {
				"preset": "preventExecutionFromMassImport"
			},
			"propertiesTransforms": [
				{
					"fieldSelector": "keywords",
					"transformers": [
						{
							"classAlias": "append",
							"input": {
								"classAlias": "asChild",
								"init": "name",
								"input": {
									"classAlias": "dimensionMultiTag",
									"init": "iptc:2:25",
									"input": {
										"preset": "getDimensions"
									}
								}
							}
						}
					]
				},
				{
					"fieldSelector": "description",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "dimensionTag",
								"init": "iptc:2:120",
								"input": {
									"preset": "getDimensions"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "width",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "pxwidth",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "height",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "pxheight",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "dpi",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "xdpi",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "duration",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "duration",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "clipped",
					"transformers": [
						{
							"classAlias": "booleanToActivated",
							"input": {
								"classAlias": "parseBoolean",
								"input": {
									"classAlias": "dimensionTag",
									"init": "hasclipping",
									"input": {
										"preset": "getDimensions"
									}
								}
							}
						}
					]
				},
				{
					"fieldSelector": "colorspace",
					"transformers": [
						{
							"classAlias": "asChild",
							"init": "code",
							"input": {
								"classAlias": "dimensionProperty",
								"init": "colorspace",
								"input": {
									"preset": "getDimensions"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "nbpages",
					"transformers": [
						{
							"classAlias": "resourceProperty",
							"init": "pagecount",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				},
				{
					"fieldSelector": "photograph",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "asChild",
								"init": "name",
								"input": {
									"classAlias": "dimensionTag",
									"init": "exif:artist",
									"input": {
										"preset": "getDimensions"
									}
								}
							}
						}
					]
				},
				{
					"fieldSelector": "latitude",
					"transformers": [
						{
							"classAlias": "geoCoords",
							"init": "exif:gpslatitude",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "longitude",
					"transformers": [
						{
							"classAlias": "geoCoords",
							"init": "exif:gpslongitude",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "assetformat",
					"transformers": [
						{
							"classAlias": "ifElse",
							"input": [
								{
									"classAlias": "stringEquals",
									"init": "image",
									"input": {
										"preset": "getRootNatureCode"
									}
								},
								{
									"classAlias": "asChild",
									"init": "code",
									"input": {
										"classAlias": "ratioToOrientation",
										"init": "2",
										"input": {
											"classAlias": "dimensionProperty",
											"init": "ratio",
											"input": {
												"preset": "getDimensions"
											}
										}
									}
								}
							]
						}
					]
				},
				{
					"fieldSelector": "videoratio",
					"transformers": [
						{
							"classAlias": "ifElse",
							"input": [
								{
									"classAlias": "stringEquals",
									"init": "video",
									"input": {
										"preset": "getRootNatureCode"
									}
								},
								{
									"classAlias": "asChild",
									"init": "code",
									"input": {
										"classAlias": "videoAspectRatio",
										"input": {
											"classAlias": "dimensionProperty",
											"init": "ratio",
											"input": {
												"preset": "getDimensions"
											}
										}
									}
								}
							]
						}
					]
				},
				{
					"fieldSelector": "resolution",
					"transformers": [
						{
							"classAlias": "join",
							"init": "x",
							"input": [
								{
									"classAlias": "dimensionProperty",
									"init": "xdpi",
									"input": {
										"preset": "getDimensions"
									}
								},
								{
									"classAlias": "dimensionProperty",
									"init": "ydpi",
									"input": {
										"preset": "getDimensions"
									}
								}
							]
						}
					]
				}
			]
		},
		{
			"objectSelector": "#damobject",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "isSpaceAsset"
				}
			},
			"workflowTrigger": [
				"publish"
			]
		},
		{
			"objectSelector": "#damobject",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "canPublish"
				}
			},
			"workflowTrigger": [
				"publish"
			]
		},
		{
			"objectSelector": "#damobject",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "canSubmit"
				}
			},
			"workflowTrigger": [
				"submit"
			]
		},
		{
			"objectSelector": "#damobject",
			"propertiesTransforms": [
				{
					"fieldSelector": "tmpsource",
					"transformers": [
						{
							"classAlias": "staticVal",
							"init": ""
						}
					]
				}
			]
		},
		{
			"objectSelector": "massimportitem",
			"propertiesTransforms": [
				{
					"fieldSelector": "tmpsource",
					"transformers": [
						{
							"classAlias": "staticVal",
							"init": "massimport"
						}
					]
				}
			]
		},
		{
			"objectSelector": "massimportitem",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "isSpaceItem"
				}
			},
			"workflowTrigger": [
				"tocheck"
			]
		},
		{
			"objectSelector": "massimportitem",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "isDuplicate"
				}
			},
			"workflowTrigger": [
				"markduplicate"
			]
		},
		{
			"objectSelector": "massimportitem",
			"preventGuard": {
				"preset": "isSpaceItem"
			},
			"workflowTrigger": [
				"approve"
			]
		}
	],
	"asyncCallback": [
		{
			"objectSelector": "#damobject",
			"plugin": "PACKAGED_DAM_Utils",
			"callbackClass": "com.wedia.packaged.dam.NotifyUserAsyncCallback",
			"callbackMethod": "notifyUser",
			"active": false,
			"runOnEmptyChanges": true
		}
	]
}
 dam_denormalization_config : new value
{
	"aliases": {
		"aiAttributeFromReport": "com.wedia.packaged.dam.triggers.datatransformers.impl.AiAttributeFromReport",
		"append": "com.wedia.packaged.dam.triggers.datatransformers.impl.AppendIfNotEmpty",
		"asChild": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringToChild",
		"blurHash": "com.wedia.packaged.dam.triggers.datatransformers.impl.BlurhashTransformer",
		"booleanToActivated": "com.wedia.packaged.dam.triggers.datatransformers.impl.BooleanToActivatedTransformer",
		"countCommon": "com.wedia.packaged.dam.triggers.datatransformers.impl.CountCommonValues",
		"countZipEntries": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToZipFileEntriesCount",
		"dimensionMultiTag": "com.wedia.packaged.dam.triggers.datatransformers.impl.DimensionToMultiTagValue",
		"dimensionProperty": "com.wedia.packaged.dam.triggers.datatransformers.impl.DimensionToPropertyTransformer",
		"dimensionTag": "com.wedia.packaged.dam.triggers.datatransformers.impl.DimensionToTagValueTransformer",
		"duplicatesFinder": "com.wedia.packaged.dam.triggers.datatransformers.impl.DuplicatesFinderTransformer",
		"every": "com.wedia.packaged.dam.triggers.datatransformers.impl.EveryTransformer",
		"firstNonNull": "com.wedia.packaged.dam.triggers.datatransformers.impl.FirstNonNullValueTransformer",
		"geoCoords": "com.wedia.packaged.dam.triggers.datatransformers.impl.GeographicalsCoordinates",
		"getObjectProp": "com.wedia.packaged.dam.triggers.datatransformers.impl.GetInstancePropertyTransformer",
		"greaterThan": "com.wedia.packaged.dam.triggers.datatransformers.impl.GreaterThan",
		"ifElse": "com.wedia.packaged.dam.triggers.datatransformers.impl.IfElseTransformer",
		"ifEmpty": "com.wedia.packaged.dam.triggers.datatransformers.impl.DenormIfEmpty",
		"isAllowed": "com.wedia.packaged.dam.triggers.datatransformers.impl.IsAllowedBySecurity",
		"join": "com.wedia.packaged.dam.triggers.datatransformers.impl.JoinValuesTransformer",
		"lowerThan": "com.wedia.packaged.dam.triggers.datatransformers.impl.LowerThan",
		"negate": "com.wedia.packaged.dam.triggers.datatransformers.impl.NegationTransformer",
		"parseBoolean": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringToBooleanTransformer",
		"parseDate": "com.wedia.packaged.dam.triggers.datatransformers.impl.DateTransformer",
		"parseExifDate": "com.wedia.packaged.dam.triggers.datatransformers.impl.ExifToDateTransformer",
		"pluginProperty": "com.wedia.packaged.dam.triggers.datatransformers.impl.PluginPropertyToStringTransformer",
		"prediction": "com.wedia.packaged.dam.triggers.datatransformers.impl.AiMapperTransformer",
		"propertyAsObject": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringToPropertyAsObjectTransformer",
		"ratioToOrientation": "com.wedia.packaged.dam.triggers.datatransformers.impl.RatioToOrientationTransformer",
		"regexExtract": "com.wedia.packaged.dam.triggers.datatransformers.impl.RegExpPatternMatcher",
		"relFinder": "com.wedia.packaged.dam.triggers.datatransformers.impl.KeyToChildTransformer",
		"resource": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToPresetTransformer",
		"resourceFromFieldPattern": "com.wedia.packaged.dam.triggers.datatransformers.impl.PropertyToResourceTransformer",
		"resourcePath": "com.wedia.packaged.dam.triggers.datatransformers.impl.SelectorToPath",
		"resourceProperty": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToPropertyTransformer",
		"resourceToDimension": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToDimensionTransformer",
		"resourceToPreset": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToPresetTransformer",
		"rootTree": "com.wedia.packaged.dam.triggers.datatransformers.impl.TreeRootTransformer",
		"staticVal": "com.wedia.packaged.dam.triggers.datatransformers.impl.StaticPropertyTransformer",
		"stringEquals": "com.wedia.packaged.dam.triggers.datatransformers.impl.StringEqualsTransformer",
		"toAiReport": "com.wedia.packaged.dam.triggers.datatransformers.impl.ResourceToAiReport",
		"videoAspectRatio": "com.wedia.packaged.dam.triggers.datatransformers.impl.RatioToVideoAspectRatioTransformer"
	},
	"presets": [
		{
			"key": "getBinary",
			"classAlias": "resourceFromFieldPattern",
			"init": "binary"
		},
		{
			"key": "getDimensions",
			"classAlias": "resourceToDimension",
			"input": {
				"preset": "getBinary"
			}
		},
		{
			"key": "getFilePath",
			"classAlias": "resourcePath",
			"init": "binary"
		},
		{
			"key": "getFileName",
			"classAlias": "regexExtract",
			"init": "^./([^/])$",
			"input": {
				"preset": "getFilePath"
			}
		},
		{
			"key": "getAiReport",
			"classAlias": "toAiReport",
			"input": {
				"classAlias": "resourceToPreset",
				"init": "ia",
				"input": {
					"preset": "getBinary"
				}
			}
		},
		{
			"key": "getRootNatureCode",
			"classAlias": "getObjectProp",
			"init": "code",
			"input": {
				"classAlias": "rootTree",
				"init": "assetnature"
			}
		},
		{
			"key": "preventExecutionFromMassImport",
			"classAlias": "greaterThan",
			"init": 0,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"massimport"
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "tmpsource"
				}
			}
		},
		{
			"key": "getJobType",
			"classAlias": "getObjectProp",
			"init": "type",
			"input": {
				"classAlias": "propertyAsObject",
				"init": "job"
			}
		},
		{
			"key": "preventExecutionFromBulkEdit",
			"classAlias": "greaterThan",
			"init": 0,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"bulkedit"
				],
				"input": {
					"preset": "getJobType"
				}
			}
		},
		{
			"key": "isDuplicate",
			"classAlias": "lowerThan",
			"init": 1,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"null",
					"[]",
					"{}"
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "duplicates"
				}
			}
		},
		{
			"key": "isSpaceItem",
			"classAlias": "lowerThan",
			"init": 1,
			"input": {
				"classAlias": "countCommon",
				"init": [
					null
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "space"
				}
			}
		},
		{
			"key": "isSpaceAsset",
			"classAlias": "greaterThan",
			"init": 0,
			"input": {
				"classAlias": "countCommon",
				"init": [
					"space"
				],
				"input": {
					"classAlias": "propertyAsObject",
					"init": "tmpsource"
				}
			}
		},
		{
			"key": "canPublish",
			"classAlias": "every",
			"input": [
				{
					"preset": "preventExecutionFromMassImport"
				},
				{
					"classAlias": "isAllowed",
					"init": {
						"action": "changestatus",
						"params": {
							"newstatus": "6"
						}
					}
				}
			]
		},
		{
			"key": "canSubmit",
			"classAlias": "every",
			"input": [
				{
					"preset": "preventExecutionFromMassImport"
				},
				{
					"classAlias": "isAllowed",
					"init": {
						"action": "changestatus",
						"params": {
							"newstatus": "8"
						}
					}
				}
			]
		}
	],
	"transformations": [
		{
			"objectSelector": "#damobject,damimport,transfer,massimportitem",
			"preventGuard": {
				"preset": "preventExecutionFromMassImport"
			},
			"propertiesTransforms": [
				{
					"fieldSelector": "name",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "regexExtract",
								"init": "([^.])(?:\\..)?",
								"input": {
									"preset": "getFileName"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "originalfilename",
					"transformers": [
						{
							"preset": "getFileName"
						}
					]
				},
				{
					"fieldSelector": "assetnature",
					"transformers": [
						{
							"classAlias": "asChild",
							"init": "code",
							"input": {
								"classAlias": "resourceProperty",
								"init": "contenttype",
								"input": {
									"preset": "getBinary"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "rootnature",
					"transformers": [
						{
							"classAlias": "rootTree",
							"init": "assetnature"
						}
					]
				},
				{
					"fieldSelector": "filesize",
					"transformers": [
						{
							"classAlias": "resourceProperty",
							"init": "filesize",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				},
				{
					"fieldSelector": "nbentries",
					"transformers": [
						{
							"classAlias": "countZipEntries",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				}
			]
		}
	],
	"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"
								}
							}
						}
					]
				}
			]
		},
		{
			"objectSelector": "#damobject,damimport,massimportitem",
			"preventGuard": {
				"preset": "preventExecutionFromBulkEdit"
			},
			"propertiesTransforms": [
				{
					"fieldSelector": "blurhash",
					"transformers": [
						{
							"classAlias": "blurHash",
							"init": {
								"components": 8
							}
						}
					]
				},
				{
					"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"
									}
								}
							]
						}
					]
				},
				{
					"fieldSelector": "sha",
					"transformers": [
						{
							"classAlias": "resourceProperty",
							"init": "sha256",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				},
				{
					"fieldSelector": "duplicates",
					"transformers": [
						{
							"classAlias": "duplicatesFinder",
							"init": {
								"objects": "#damobject,massimportitem"
							}
						}
					]
				}
			]
		},
		{
			"objectSelector": "#damobject,damimport,massimportitem",
			"preventGuard": {
				"preset": "preventExecutionFromMassImport"
			},
			"propertiesTransforms": [
				{
					"fieldSelector": "keywords",
					"transformers": [
						{
							"classAlias": "append",
							"input": {
								"classAlias": "asChild",
								"init": "name",
								"input": {
									"classAlias": "dimensionMultiTag",
									"init": "iptc:2:25",
									"input": {
										"preset": "getDimensions"
									}
								}
							}
						}
					]
				},
				{
					"fieldSelector": "description",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "dimensionTag",
								"init": "iptc:2:120",
								"input": {
									"preset": "getDimensions"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "width",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "pxwidth",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "height",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "pxheight",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "dpi",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "xdpi",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "duration",
					"transformers": [
						{
							"classAlias": "dimensionProperty",
							"init": "duration",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "clipped",
					"transformers": [
						{
							"classAlias": "booleanToActivated",
							"input": {
								"classAlias": "parseBoolean",
								"input": {
									"classAlias": "dimensionTag",
									"init": "hasclipping",
									"input": {
										"preset": "getDimensions"
									}
								}
							}
						}
					]
				},
				{
					"fieldSelector": "colorspace",
					"transformers": [
						{
							"classAlias": "asChild",
							"init": "code",
							"input": {
								"classAlias": "dimensionProperty",
								"init": "colorspace",
								"input": {
									"preset": "getDimensions"
								}
							}
						}
					]
				},
				{
					"fieldSelector": "nbpages",
					"transformers": [
						{
							"classAlias": "resourceProperty",
							"init": "pagecount",
							"input": {
								"preset": "getBinary"
							}
						}
					]
				},
				{
					"fieldSelector": "photograph",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "asChild",
								"init": "name",
								"input": {
									"classAlias": "dimensionTag",
									"init": "exif:artist",
									"input": {
										"preset": "getDimensions"
									}
								}
							}
						}
					]
				},
				{
					"fieldSelector": "latitude",
					"transformers": [
						{
							"classAlias": "geoCoords",
							"init": "exif:gpslatitude",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "longitude",
					"transformers": [
						{
							"classAlias": "geoCoords",
							"init": "exif:gpslongitude",
							"input": {
								"preset": "getDimensions"
							}
						}
					]
				},
				{
					"fieldSelector": "assetformat",
					"transformers": [
						{
							"classAlias": "ifElse",
							"input": [
								{
									"classAlias": "stringEquals",
									"init": "image",
									"input": {
										"preset": "getRootNatureCode"
									}
								},
								{
									"classAlias": "asChild",
									"init": "code",
									"input": {
										"classAlias": "ratioToOrientation",
										"init": "2",
										"input": {
											"classAlias": "dimensionProperty",
											"init": "ratio",
											"input": {
												"preset": "getDimensions"
											}
										}
									}
								}
							]
						}
					]
				},
				{
					"fieldSelector": "videoratio",
					"transformers": [
						{
							"classAlias": "ifElse",
							"input": [
								{
									"classAlias": "stringEquals",
									"init": "video",
									"input": {
										"preset": "getRootNatureCode"
									}
								},
								{
									"classAlias": "asChild",
									"init": "code",
									"input": {
										"classAlias": "videoAspectRatio",
										"input": {
											"classAlias": "dimensionProperty",
											"init": "ratio",
											"input": {
												"preset": "getDimensions"
											}
										}
									}
								}
							]
						}
					]
				},
				{
					"fieldSelector": "resolution",
					"transformers": [
						{
							"classAlias": "join",
							"init": "x",
							"input": [
								{
									"classAlias": "dimensionProperty",
									"init": "xdpi",
									"input": {
										"preset": "getDimensions"
									}
								},
								{
									"classAlias": "dimensionProperty",
									"init": "ydpi",
									"input": {
										"preset": "getDimensions"
									}
								}
							]
						}
					]
				}
			]
		},
		{
			"objectSelector": "#damobject",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "isSpaceAsset"
				}
			},
			"workflowTrigger": [
				"publish"
			]
		},
		{
			"objectSelector": "#damobject",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "canPublish"
				}
			},
			"workflowTrigger": [
				"publish"
			]
		},
		{
			"objectSelector": "#damobject",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "canSubmit"
				}
			},
			"workflowTrigger": [
				"submit"
			]
		},
		{
			"objectSelector": "#damobject",
			"propertiesTransforms": [
				{
					"fieldSelector": "tmpsource",
					"transformers": [
						{
							"classAlias": "staticVal",
							"init": ""
						}
					]
				}
			]
		},
		{
			"objectSelector": "massimportitem",
			"propertiesTransforms": [
				{
					"fieldSelector": "tmpsource",
					"transformers": [
						{
							"classAlias": "ifEmpty",
							"input": {
								"classAlias": "ifElse",
								"input": [
									{
										"preset": "isSpaceItem"
									},
									{
										"classAlias": "staticVal",
										"init": "space"
									},
									{
										"classAlias": "staticVal",
										"init": "massimport"
									}
								]
							}
						}
					]
				}
			]
		},
		{
			"objectSelector": "massimportitem",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "isSpaceItem"
				}
			},
			"workflowTrigger": [
				"tocheck"
			]
		},
		{
			"objectSelector": "massimportitem",
			"preventGuard": {
				"classAlias": "negate",
				"input": {
					"preset": "isDuplicate"
				}
			},
			"workflowTrigger": [
				"markduplicate"
			]
		},
		{
			"objectSelector": "massimportitem",
			"preventGuard": {
				"preset": "isSpaceItem"
			},
			"workflowTrigger": [
				"approve"
			]
		}
	],
	"asyncCallback": [
		{
			"objectSelector": "#damobject",
			"plugin": "PACKAGED_DAM_Utils",
			"callbackClass": "com.wedia.packaged.dam.NotifyUserAsyncCallback",
			"callbackMethod": "notifyUser",
			"active": false,
			"runOnEmptyChanges": true
		}
	]
}

WXM_MEDIACLOUD_V2

plugin.xml

  • Services:

    • ADDED com.wedia.mediacloud.cloudApi.Trigger (com.noheto.extensions.interfaces.services.IObjectTriggerBusinessService)


WXM_VARIATIONS_API

plugin.xml

  • Services:

    • ADDED com.wedia.dam.transform.providers.ImagingTransformationsProvider (com.noheto.extensions.interfaces.services.InstallableService)

PACKAGED_Security

plugin.xml

  • Parameters:

    • UPDATED role_template_default_permissions:

      • default value:

        • Update: content below added after l688

        • {
            ...
            	"@portal.editorial~wkfpkgportal": {
          		"changestatus": {
          			"custom": false,
          			"enabled": false,
          			"permissions": []
          		},
          		"delete": {
          			"custom": false,
          			"enabled": false,
          			"permissions": []
          		},
          		"insert": {
          			"custom": false,
          			"enabled": false,
          			"permissions": []
          		},
          		"order": {
          			"custom": false,
          			"enabled": false,
          			"permissions": []
          		},
          		"retrievecaption": {
          			"custom": false,
          			"enabled": false,
          			"permissions": []
          		},
          		"update": {
          			"custom": false,
          			"enabled": false,
          			"permissions": [
          				"$anystatus/$selfowner",
          				"$anystatus/$teammember"
          			]
          		},
          		"view": {
          			"custom": false,
          			"enabled": false,
          			"permissions": [
          				"$anystatus/$selfowner",
          				"$anystatus/$teammember",
          				"$anystatus/$teamviewer",
          				"$anystatus/$public",
          				"$online/$anyowner"
          			]
          		}
          	}
          
          }
          
          	

 Old value
  •   
      {
        "v1": {
          "objectdata": {
            "#damobject": {
              "broadcastvideo": {
                "enabled": false,
                "permissions": []
              },
              "definevideoposter": {
                "enabled": false,
                "permissions": []
              },
              "editpicture": {
                "enabled": false,
                "permissions": []
              },
              "editvideochapters": {
                "enabled": false,
                "permissions": []
              },
              "editvideosubtitles": {
                "enabled": false,
                "permissions": []
              },
              "embed": {
                "enabled": false,
                "permissions": []
              },
              "managevideocalltoactions": {
                "enabled": false,
                "permissions": []
              },
              "managevideorolls": {
                "enabled": false,
                "permissions": []
              },
              "sharesocialnetworks": {
                "enabled": false,
                "permissions": []
              },
              "slicevideo": {
                "enabled": false,
                "permissions": []
              }
            },
            "activated": {
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              }
            },
            "collaborativebrief": {
              "changestatus": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$never"
                ]
              },
              "delete": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$never"
                ]
              },
              "insert": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$never"
                ]
              },
              "update": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$never"
                ]
              },
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              }
            },
            "massimportpreviousitem": {
              "changestatus": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anyaction/$anystatus/$selfowner"
                ]
              },
              "delete": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "insert": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$newcreation"
                ]
              },
              "update": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              }
            },
            "resolution": {
              "view": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              }
            },
          "role": {
            "retrievecaption": {
              "enabled": false,
              "permissions": [
                "$anystatus/$anyowner"
              ]
            }
          },
            "user": {
              "insert": {
                "enabled": false,
                "permissions": []
              },
              "update": {
                "enabled": false,
                "permissions": []
              },
              "delete": {
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "enabled": false,
                "permissions": []
              },
              "view": {
                "enabled": false,
                "permissions": [
                  "$online/$anyowner"
                ]
              },
              "retrievecaption": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              }
             },
            "userregistration": {
              "insert": {
                "enabled": false,
                "permissions": []
              },
              "update": {
                "enabled": false,
                "permissions": []
              },
              "delete": {
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "enabled": false,
                "permissions": []
              },
              "view": {
                "enabled": false,
                "permissions": []
              }
            },
            "vueapphomewidget": {
              "view": {
                "enabled": true,
                "permissions": [
                  "$online/$anyowner"
                ]
              }
            },
            "@collaborative~workflow": {
              "view": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              },
              "insert": {
                "enabled": false,
                "permissions": [
                  "$anycreation"
                ]
              },
              "update": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "delete": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "i18nfieldstranslate": {
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "enabled": false,
                "permissions": [
                  "$anyaction/$anystatus/$selfowner"
                ]
              },
              "order": {
                "enabled": false,
                "permissions": []
              },
              "retrievecaption": {
                "enabled": false,
                "permissions": []
              }
            },
            "@collaborative~wkfcontentcomments": {
              "view": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$anyowner"
                ]
              },
              "insert": {
                "enabled": false,
                "permissions": [
                  "$anycreation"
                ]
              },
              "update": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "delete": {
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "i18nfieldstranslate": {
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "enabled": false,
                "permissions": [
                  "$anyaction/$anystatus/$selfowner"
                ]
              },
              "order": {
                "enabled": false,
                "permissions": []
              },
              "retrievecaption": {
                "enabled": false,
                "permissions": []
              }
            },
            "@dam.import~wkfcollaborativespace": {
              "broadcastvideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "definevideoposter": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "delete": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editpicture": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideochapters": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideosubtitles": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "embed": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "i18nfieldstranslate": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "insert": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "managevideocalltoactions": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "managevideorolls": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "order": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "retrievecaption": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "sharesocialnetworks": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "slicevideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "update": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner",
                  "$anystatus/$teammember"
                ]
              }
            },
            "@dam.import~wkfmassimportitem": {
              "broadcastvideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "definevideoposter": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "delete": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "3/$selfowner"
                ]
              },
              "editpicture": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideochapters": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideosubtitles": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "embed": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "i18nfieldstranslate": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "insert": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$newcreation"
                ]
              },
              "managevideocalltoactions": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "managevideorolls": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "order": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "retrievecaption": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "sharesocialnetworks": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "slicevideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "update": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner",
                  "$anystatus/$teammember"
                ]
              },
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner",
                  "$anystatus/$teammember"
                ]
              }
            },
            "@dam.import~wkfmassimportjob": {
              "broadcastvideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "definevideoposter": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "delete": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editpicture": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideochapters": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideosubtitles": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "embed": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "i18nfieldstranslate": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "insert": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "managevideocalltoactions": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "managevideorolls": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "order": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "retrievecaption": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "sharesocialnetworks": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "slicevideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "update": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner",
                  "$anystatus/$teammember"
                ]
              },
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner",
                  "$anystatus/$teammember"
                ]
              }
            },
            "@dam.import~workflow": {
              "broadcastvideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "changestatus": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "definevideoposter": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "delete": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "editpicture": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideochapters": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "editvideosubtitles": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "embed": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "i18nfieldstranslate": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "insert": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$newcreation"
                ]
              },
              "managevideocalltoactions": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "managevideorolls": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "order": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "retrievecaption": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "sharesocialnetworks": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "slicevideo": {
                "custom": false,
                "enabled": false,
                "permissions": []
              },
              "update": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner"
                ]
              },
              "view": {
                "custom": false,
                "enabled": false,
                "permissions": [
                  "$anystatus/$selfowner",
                  "$anystatus/$teammember"
                ]
              }
            }
          },
          "applications": {
            "isavailable": {
              "enabled": false,
              "permissions": [
                "portal"
              ]
            }
          },
          "configresolver": {
            "read": {
              "enabled": false,
              "custom": false,
              "permissions": [
                ""
              ]
            }
          }
        }
      }
    
 New value
  {
      "v1": {
          "objectdata": {
              "#damobject": {
                  "broadcastvideo": {
                      "enabled": false,
                      "permissions": []
                  },
                  "definevideoposter": {
                      "enabled": false,
                      "permissions": []
                  },
                  "editpicture": {
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideochapters": {
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideosubtitles": {
                      "enabled": false,
                      "permissions": []
                  },
                  "embed": {
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideocalltoactions": {
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideorolls": {
                      "enabled": false,
                      "permissions": []
                  },
                  "sharesocialnetworks": {
                      "enabled": false,
                      "permissions": []
                  },
                  "slicevideo": {
                      "enabled": false,
                      "permissions": []
                  }
              },
              "activated": {
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  }
              },
              "collaborativebrief": {
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$never"
                      ]
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$never"
                      ]
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$never"
                      ]
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$never"
                      ]
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  }
              },
              "massimportpreviousitem": {
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anyaction/$anystatus/$selfowner"
                      ]
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$newcreation"
                      ]
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  }
              },
              "resolution": {
                  "view": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  }
              },
              "role": {
                  "retrievecaption": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  }
              },
              "user": {
                  "insert": {
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "enabled": false,
                      "permissions": []
                  },
                  "view": {
                      "enabled": false,
                      "permissions": [
                          "$online/$anyowner"
                      ]
                  },
                  "retrievecaption": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  }
              },
              "userregistration": {
                  "insert": {
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "enabled": false,
                      "permissions": []
                  },
                  "view": {
                      "enabled": false,
                      "permissions": []
                  }
              },
              "vueapphomewidget": {
                  "view": {
                      "enabled": true,
                      "permissions": [
                          "$online/$anyowner"
                      ]
                  }
              },
              "@collaborative~workflow": {
                  "view": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  },
                  "insert": {
                      "enabled": false,
                      "permissions": [
                          "$anycreation"
                      ]
                  },
                  "update": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "delete": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "i18nfieldstranslate": {
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "enabled": false,
                      "permissions": [
                          "$anyaction/$anystatus/$selfowner"
                      ]
                  },
                  "order": {
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "enabled": false,
                      "permissions": []
                  }
              },
              "@collaborative~wkfcontentcomments": {
                  "view": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$anyowner"
                      ]
                  },
                  "insert": {
                      "enabled": false,
                      "permissions": [
                          "$anycreation"
                      ]
                  },
                  "update": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "delete": {
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "i18nfieldstranslate": {
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "enabled": false,
                      "permissions": [
                          "$anyaction/$anystatus/$selfowner"
                      ]
                  },
                  "order": {
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "enabled": false,
                      "permissions": []
                  }
              },
              "@dam.import~wkfcollaborativespace": {
                  "broadcastvideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "definevideoposter": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editpicture": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideochapters": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideosubtitles": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "embed": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "i18nfieldstranslate": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideocalltoactions": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideorolls": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "order": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "sharesocialnetworks": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "slicevideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  }
              },
              "@dam.import~wkfmassimportitem": {
                  "broadcastvideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "definevideoposter": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "3/$selfowner"
                      ]
                  },
                  "editpicture": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideochapters": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideosubtitles": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "embed": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "i18nfieldstranslate": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$newcreation"
                      ]
                  },
                  "managevideocalltoactions": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideorolls": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "order": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "sharesocialnetworks": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "slicevideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  }
              },
              "@dam.import~wkfmassimportjob": {
                  "broadcastvideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "definevideoposter": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editpicture": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideochapters": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideosubtitles": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "embed": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "i18nfieldstranslate": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideocalltoactions": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideorolls": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "order": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "sharesocialnetworks": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "slicevideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  }
              },
              "@dam.import~workflow": {
                  "broadcastvideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "definevideoposter": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "editpicture": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideochapters": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "editvideosubtitles": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "embed": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "i18nfieldstranslate": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$newcreation"
                      ]
                  },
                  "managevideocalltoactions": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "managevideorolls": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "order": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "sharesocialnetworks": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "slicevideo": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner"
                      ]
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  }
              },
              "@portal.editorial~wkfpkgportal": {
                  "changestatus": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "delete": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "insert": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "order": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "retrievecaption": {
                      "custom": false,
                      "enabled": false,
                      "permissions": []
                  },
                  "update": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember"
                      ]
                  },
                  "view": {
                      "custom": false,
                      "enabled": false,
                      "permissions": [
                          "$anystatus/$selfowner",
                          "$anystatus/$teammember",
                          "$anystatus/$teamviewer",
                          "$anystatus/$public",
                          "$online/$anyowner"
                      ]
                  }
              }
          },
          "applications": {
              "isavailable": {
                  "enabled": false,
                  "permissions": [
                      "portal"
                  ]
              }
          },
          "configresolver": {
              "read": {
                  "enabled": false,
                  "custom": false,
                  "permissions": [
                      ""
                  ]
              }
          }
      }
  }

security.xml

UPDATED pkgV1ObjectActions(action)

 Old expression
/* Object has appropriate tag */
(
  /* Tous */
  CONFIGHASTAG(objectname, 'pkg/security/secugroup/all')
  OR
  /* Qui ont l'action */
  CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/', LOWER(arguments.action)))
  OR
  (
    /* Les droits de create,damimport,massimport sont liés à l'insert */
    NBCOMMONELEMENTS(LOWER(arguments.action), 'create,damimport,massimport') > 0
    AND
    CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/insert'))
  )
  OR
  (
    /* Le droit de multiupdate est lié à l'update */
    LOWER(arguments.action) = 'multiupdate'
    AND
    CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/update'))
  )
)
AND
(
  /* insert/create action */
  (
    NBCOMMONELEMENTS(LOWER(arguments.action), 'create,damimport,massimport,insert') > 0
    AND
    (
        /* User has rights to create this kind of object if he has $anycreation or $newcreation (but not $copycreation) */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT('insert', ':', objectname, ':', '$anycreation'), ',') > 0
        OR
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT('insert', ':', objectname, ':', '$newcreation'), ',') > 0
    )
  )
  OR
  (
    /* multiupdate/datavaluespicker action */
    NBCOMMONELEMENTS(LOWER(arguments.action), 'datavaluespicker,multiupdate,update') > 0
    AND
    /* User has rights to datavaluespicker/multiupdate if he has right to update, but regardless of modifiers */
    NBCOMMONELEMENTS(
      REPLACE(
        surfer.pkgsecurity_v1_objectdata,
        CONCAT('update:', objectname, ':'),
        CONCAT('update:', objectname, ',::')
      ) /* permet de passer de update:objectname:xx*/,
      CONCAT('update:', objectname)
    ) > 0
  )
  OR
  (
    /* other actions */
    NBCOMMONELEMENTS(LOWER(arguments.action), LOWER('broadcastVideo,defineVideoPoster,delete,editPicture,editVideoChapters,editVideoSubtitles,embed,i18nFieldsTranslate,manageVideoCallToActions,manageVideoRolls,order,sliceVideo,shareSocialNetworks,view')) > 0
    AND
    /* User has rights to other actions if he has right to other actions, but regardless of modifiers */
    NBCOMMONELEMENTS(
      REPLACE(
        surfer.pkgsecurity_v1_objectdata,
        CONCAT(LOWER(arguments.action), ':', objectname, ':'),
        CONCAT(LOWER(arguments.action), ':', objectname, ',::')
      ),
      CONCAT(LOWER(arguments.action), ':', objectname)
    ) > 0
  )
)
 New expression
/* Object has appropriate tag */
(
  /* Tous */
  CONFIGHASTAG(objectname, 'pkg/security/secugroup/all')
  OR
  /* Qui ont l'action */
  CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/', LOWER(arguments.action)))
  OR
  (
    /* Les droits de create,damimport,massimport sont liés à l'insert */
    NBCOMMONELEMENTS(LOWER(arguments.action), 'create,damimport,massimport') > 0
    AND
    CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/insert'))
  )
  OR
  (
    /* Le droit de multiupdate est lié à l'update */
    LOWER(arguments.action) = 'multiupdate'
    AND
    CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/update'))
  )
)
AND
(
  /* insert/create action */
  (
    NBCOMMONELEMENTS(LOWER(arguments.action), 'create,damimport,massimport,insert') > 0
    AND
    (
        /* User has rights to create this kind of object if he has $anycreation or $newcreation (but not $copycreation) */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT('insert', ':', LOWER(objectname), ':', '$anycreation'), ',') > 0
        OR
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT('insert', ':', LOWER(objectname), ':', '$newcreation'), ',') > 0
    )
  )
  OR
  (
    /* multiupdate/datavaluespicker action */
    NBCOMMONELEMENTS(LOWER(arguments.action), 'datavaluespicker,multiupdate,update') > 0
    AND
    /* User has rights to datavaluespicker/multiupdate if he has right to update, but regardless of modifiers */
    NBCOMMONELEMENTS(
      REPLACE(
        surfer.pkgsecurity_v1_objectdata,
        CONCAT('update:', LOWER(objectname), ':'),
        CONCAT('update:', LOWER(objectname), ',::')
      ) /* permet de passer de update:objectname:xx*/,
      CONCAT('update:', LOWER(objectname))
    ) > 0
  )
  OR
  (
    /* other actions */
    NBCOMMONELEMENTS(LOWER(arguments.action), LOWER('broadcastVideo,defineVideoPoster,delete,editPicture,editVideoChapters,editVideoSubtitles,embed,i18nFieldsTranslate,manageVideoCallToActions,manageVideoRolls,order,sliceVideo,shareSocialNetworks,view')) > 0
    AND
    /* User has rights to other actions if he has right to other actions, but regardless of modifiers */
    NBCOMMONELEMENTS(
      REPLACE(
        surfer.pkgsecurity_v1_objectdata,
        CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':'),
        CONCAT(LOWER(arguments.action), ':', objectname, ',::')
      ),
      CONCAT(LOWER(arguments.action), ':', objectname)
    ) > 0
  )
)

UPDATED pkgV1Objectdata(action)

Old expression

 Old expression
/* Object has appropriate tag */
(
  CONFIGHASTAG(objectname, 'pkg/security/secugroup/all')
  OR
  CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/', LOWER(arguments.action)))
  OR
  CONFIGHASTAG(objectname, 'pkg/security/secugroup/objectdata/all')
  OR
  CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/objectdata/', LOWER(arguments.action)))
)
AND
(
  (
    /* action is insert */
    LOWER(arguments.action) = 'insert'
    AND
    (
      /* User has rights to create this object regardless of the mode */
      (
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anycreation'), ',') > 0

      )
      OR
      /* User has rights to create new object */
      (
        object.id = 0
        AND
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$newcreation'), ',') > 0
      )
      OR
      /* User has rights to copy an existing object */
      (
        object.id != 0
        AND
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$copycreation'), ',') > 0
      )
    )
  )
  OR
  (
    /* action is changestatus */
    LOWER(arguments.action) = 'changestatus'
    AND
    (
      /* User has rights to change status of this object regardless of ownership ... */
      (
        /* ... from any status to any status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anyowner', ':', '$anystatus', ':', '$anystatus'), ',') > 0
        OR
        /* ... from any status to target status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anyowner', ':', '$anystatus', ':', newstatus), ',') > 0
        OR
        /* ... from current status to any status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anyowner', ':', object.status, ':', '$anystatus'), ',') > 0
        OR
        /* ... from current status to target status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anyowner', ':', object.status, ':', newstatus), ',') > 0
      )
      OR
      (
        /* User has rights to change status of this object if he owns it ... */
        object.owner = surfer.id
        AND
        (
          /* ... from any status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$selfowner', ':', '$anystatus', ':', '$anystatus'), ',') > 0
          OR
          /* ... from any status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$selfowner', ':', '$anystatus', ':', newstatus), ',') > 0
          OR
          /* ... from current status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$selfowner', ':', object.status, ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$selfowner', ':', object.status, ':', newstatus), ',') > 0
        )
      )
      OR
      (
        (
          /* Object uses jobowner */
          (
            ISEXISTFIELD(objectname, 'jobowner')
            AND
            CONFIGHASTAG(objectname, 'pkg/security/collaborative')
          )
          AND object.jobowner = surfer.id
          AND
          (
            /* ... from any status to any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teamleader', ':', '$anystatus', ':', '$anystatus'), ',') > 0
            OR
            /* ... from any status to target status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teamleader', ':', '$anystatus', ':', newstatus), ',') > 0
            OR
            /* ... from current status to any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teamleader', ':', object.status, ':', '$anystatus'), ',') > 0
            OR
            /* ... from current status to target status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teamleader', ':', object.status, ':', newstatus), ',') > 0
          )
        )
      )
      OR
      (
        /* Team member: If the current object handles team */
        ISEXISTFIELD(objectname, 'team')
        AND
        CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        AND
        /* User is part of the team */
        NBCOMMONELEMENTS(object.team, surfer.id, ',') > 0
        AND
        (
          /* ... from any status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teammember', ':', '$anystatus', ':', '$anystatus'), ',') > 0
          OR
          /* ... from any status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teammember', ':', '$anystatus', ':', newstatus), ',') > 0
          OR
          /* ... from current status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teammember', ':', object.status, ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teammember', ':', object.status, ':', newstatus), ',') > 0
        )
      )
    )
  )
  OR
  (
    /* other actions */
    (
      /* User has rights to perform action on this object regardless of ownership ... */
      (
        /* ... for any status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anyowner', ':', '$anystatus'), ',') > 0
        OR
        /* ... from current status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$anyowner', ':', object.status), ',') > 0
      )
      OR
      (
        (
          /* User has rights to change status of this object if he owns it ... */
          object.owner = surfer.id
        )
        AND
        (
          /* ... for any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$selfowner', ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$selfowner', ':', object.status), ',') > 0
        )
      )
      OR
      (
        /* Object uses jobowner */
        (
          ISEXISTFIELD(objectname, 'jobowner')
          AND
          CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        )
        AND object.jobowner = surfer.id
        AND
        (
          /* ... on any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teamleader', ':', '$anystatus'), ',') > 0
          OR
          /* ... on current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teamleader', ':', object.status), ',') > 0
        )
      )
      OR
      (
        /* Team member: If the current object handles team */
        ISEXISTFIELD(objectname, 'team')
        AND
        CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        AND
        NBCOMMONELEMENTS(object.team, surfer.id, ',') > 0
        AND
        (
          /* ... for any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teammember', ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', objectname, ':', '$teammember', ':', object.status), ',') > 0
        )
      )
    )
  )
)
 New expression
/* Object has appropriate tag */
(
  CONFIGHASTAG(objectname, 'pkg/security/secugroup/all')
  OR
  CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/', LOWER(arguments.action)))
  OR
  CONFIGHASTAG(objectname, 'pkg/security/secugroup/objectdata/all')
  OR
  CONFIGHASTAG(objectname, CONCAT('pkg/security/secugroup/objectdata/', LOWER(arguments.action)))
)
AND
(
  (
    /* action is insert */
    LOWER(arguments.action) = 'insert'
    AND
    (
      /* User has rights to create this object regardless of the mode */
      (
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anycreation'), ',') > 0
      )
      OR
      /* User has rights to create new object */
      (
        object.id = 0
        AND
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$newcreation'), ',') > 0
      )
      OR
      /* User has rights to copy an existing object */
      (
        object.id != 0
        AND
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$copycreation'), ',') > 0
      )
    )
  )
  OR
  (
    /* action is changestatus */
    LOWER(arguments.action) = 'changestatus'
    AND
    (
      /* User has rights to change status of this object regardless of ownership ... */
      (
        /* ... from any status to any status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anyowner', ':', '$anystatus', ':', '$anystatus'), ',') > 0
        OR
        /* ... from any status to target status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anyowner', ':', '$anystatus', ':', newstatus), ',') > 0
        OR
        /* ... from current status to any status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anyowner', ':', object.status, ':', '$anystatus'), ',') > 0
        OR
        /* ... from current status to target status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anyowner', ':', object.status, ':', newstatus), ',') > 0
      )
      OR
      (
        /* User has rights to change status of this object if he owns it ... */
        object.owner = surfer.id
        AND
        (
          /* ... from any status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$selfowner', ':', '$anystatus', ':', '$anystatus'), ',') > 0
          OR
          /* ... from any status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$selfowner', ':', '$anystatus', ':', newstatus), ',') > 0
          OR
          /* ... from current status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$selfowner', ':', object.status, ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$selfowner', ':', object.status, ':', newstatus), ',') > 0
        )
      )
      OR
      (
        (
          /* Object uses jobowner */
          (
            ISEXISTFIELD(objectname, 'jobowner')
            AND
            CONFIGHASTAG(objectname, 'pkg/security/collaborative')
          )
          AND object.jobowner = surfer.id
          AND
          (
            /* ... from any status to any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamleader', ':', '$anystatus', ':', '$anystatus'), ',') > 0
            OR
            /* ... from any status to target status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamleader', ':', '$anystatus', ':', newstatus), ',') > 0
            OR
            /* ... from current status to any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamleader', ':', object.status, ':', '$anystatus'), ',') > 0
            OR
            /* ... from current status to target status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamleader', ':', object.status, ':', newstatus), ',') > 0
          )
        )
      )
      OR
      (
        (
          /* Object uses private field */
          (
            ISEXISTFIELD(objectname, 'private')
            AND
            CONFIGHASTAG(objectname, 'pkg/security/collaborative')
          )
          AND object.private = 2
          AND
          (
            /* ... from any status to any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', '$anystatus', ':', '$anystatus'), ',') > 0
            OR
            /* ... from any status to target status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', '$anystatus', ':', newstatus), ',') > 0
            OR
            /* ... from current status to any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', object.status, ':', '$anystatus'), ',') > 0
            OR
            /* ... from current status to target status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', object.status, ':', newstatus), ',') > 0
          )
        )
      )
      OR
      (
        /* Team member: If the current object handles team */
        ISEXISTFIELD(objectname, 'team')
        AND
        CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        AND
        /* User is part of the team */
        NBCOMMONELEMENTS(object.team, surfer.id, ',') > 0
        AND
        (
          /* ... from any status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teammember', ':', '$anystatus', ':', '$anystatus'), ',') > 0
          OR
          /* ... from any status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teammember', ':', '$anystatus', ':', newstatus), ',') > 0
          OR
          /* ... from current status to any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teammember', ':', object.status, ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status to target status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teammember', ':', object.status, ':', newstatus), ',') > 0
        )
      )
    )
  )
  OR
  (
    /* other actions */
    (
      /* User has rights to perform action on this object regardless of ownership ... */
      (
        /* ... for any status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anyowner', ':', '$anystatus'), ',') > 0
        OR
        /* ... from current status */
        NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$anyowner', ':', object.status), ',') > 0
      )
      OR
      (
        (
          /* User has rights to change status of this object if he owns it ... */
          object.owner = surfer.id
        )
        AND
        (
          /* ... for any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$selfowner', ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$selfowner', ':', object.status), ',') > 0
        )
      )
      OR
      (
        /* Object uses jobowner */
        (
          ISEXISTFIELD(objectname, 'jobowner')
          AND
          CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        )
        AND object.jobowner = surfer.id
        AND
        (
          /* ... on any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamleader', ':', '$anystatus'), ',') > 0
          OR
          /* ... on current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamleader', ':', object.status), ',') > 0
        )
      )
      OR
      (
        /* Object uses private field */
        (
          ISEXISTFIELD(objectname, 'private')
          AND
          CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        )
        AND object.private = 2
        AND
        (
          /* ... on any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', '$anystatus'), ',') > 0
          OR
          /* ... on current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', object.status), ',') > 0
        )
      )
      OR
      (
        /* Team member: If the current object handles team */
        ISEXISTFIELD(objectname, 'team')
        AND
        CONFIGHASTAG(objectname, 'pkg/security/collaborative')
        AND
        NBCOMMONELEMENTS(object.team, surfer.id, ',') > 0
        AND
        (
          /* ... for any status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teammember', ':', '$anystatus'), ',') > 0
          OR
          /* ... from current status */
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teammember', ':', object.status), ',') > 0
        )
      )
      OR
      (
        LOWER(arguments.action) = 'view'
        AND
        (
          (
            /* Handling viewers field */
            ISEXISTFIELD(objectname, 'viewers')
            AND
            CONFIGHASTAG(objectname, 'pkg/security/collaborative')
            AND
            NBCOMMONELEMENTS(object.viewers, surfer.id, ',') > 0
            AND
            (
              /* ... for any status */
              NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamviewer', ':', '$anystatus'), ',') > 0
              OR
              /* ... for current status */
              NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$teamviewer', ':', object.status), ',') > 0
            )
          )
          OR
          (
            /* Handling private field */
            ISEXISTFIELD(objectname, 'private')
            AND
            CONFIGHASTAG(objectname, 'pkg/security/collaborative')
            AND
            object.private = 2
            AND
            (
            /* ... for any status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', '$anystatus'), ',') > 0
            OR
            /* ... for current status */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_objectdata, CONCAT(LOWER(arguments.action), ':', LOWER(objectname), ':', '$public', ':', object.status), ',') > 0
            )
          )
        )
      )
    )
  )
)

Plugins Config changes

WXM_CONFIG_RESOLVER

  • Parameters:

    • UPDATED config_settings:

      • New value :

        image-20241011-165324.png


WXM_FulltextSandbox

  • Activated:

    • false -> true

  • Parameters:

    • UPDATED fieldsBoosts:

      • New value : { "*.#boost40": 40 }


PACKAGED_Portals

  • Activated:

    • true

  • No labels