Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

New docker images are available here :

https://hub.docker.com/r/wediagroup/wedia pour le serveur Wedia

https://hub.docker.com/r/wediagroup/wedia_imagingserver pour Imaging Server

Default NAR changes

Structures changes

aicelebrity

Fields changes

  • status

    • Default value:
      2 --> 6

...

aicolor

Fields changes

  • status

    • Default value:
      2 --> 6

...

ailandmark

Fields changes

  • status

    • Default value:
      2 --> 6

...

asset

Fields changes

  • originalfilename

    • Index:
      Not indexed --> Indexed

    • Tags:

      • Added: elasticsearch/analyzer/words_and_numbers

  • alloweddomains

    • In list:
      true --> false

...

assetauthor

Fields changes

  • status

    • Default value:
      2 --> 6

...

assetcolorspace

Fields changes

  • status

    • Default value:
      2 --> 6

...

assetiaconcept

Fields changes

  • status

    • Default value:
      2 --> 6

...

massimportitem

Fields changes

  • originalfilename

    • Index:
      Not indexed --> Indexed

...

pimasset

Fields changes

  • originalfilename

    • Index:
      Not indexed --> Indexed

    • Tags:

      • Added: elasticsearch/analyzer/words_and_numbers

Instances changes

assetcolorspace

assetcolorspace/1

  • status: 2 --> 6

...

assetcolorspace/2

  • status: 2 --> 6

...

assetcolorspace/3

  • status: 2 --> 6

...

assetcolorspace/4

  • status: 2 --> 6

...

assetcolorspace/5

  • status: 2 --> 6

...

assetformat

assetformat/2

  • status: 2 --> 6

...

assetformat/3

  • status: 2 --> 6

...

assetformat/4

  • status: 2 --> 6

...

assetvisibility

assetvisibility/1

  • status: 2 --> 6

...

assetvisibility/2

  • status: 2 --> 6

...

pkgroletemplate

pkgroletemplate/997

  • resolutions: ,24,15,16,6,5,3,2,4,1,21,22,23,9,8,10,13,7, --> ,24,15,16,6,5,3,2,4,1,21,22,23,9,8,10,13,7,25,

...

pkgroletemplate/998

  • resolutions: ,21,22,23,24,1,2,3,4,5,6,7,8,9,13,10,15,16, --> ,21,22,23,24,1,2,3,4,5,6,7,8,9,13,10,15,16,25,

...

pkgroletemplate/999

  • resolutions: ,21,22,23,24,1,2,3,4,5,6,7,8,9,13,10,15,16, --> ,21,22,23,24,1,2,3,4,5,6,7,8,9,13,10,15,16,25,

...

role

role/4

  • modified: 17/12/2021 18:59:09 --> 13/01/2023 09:40:57

  • rubrique: ,10044,10172,10174,10173,10065,10066,10154,10151,10152,10176,10123,10175,10045,10178,10047,10046,10070,10072,10075,10140,10102,10114,10161,10177,10179,10157,10147,10128,10158,10131,10132,10171,10169,10170,10165,10124, --> ,10044,10172,10174,10173,10065,10066,10154,10151,10152,10176,10123,10175,10045,10178,10047,10046,10070,10072,10075,10140,10102,10114,10161,10177,10179,10157,10147,10128,10158,10131,10132,10171,10169,10170,10165,10124,10180,

...

rubrique

rubrique/10180 (ADDED)

  • activated: 1

  • child:

  • created: 13/01/2023 09:39:44

  • id: 10180

  • modified: 13/01/2023 09:39:57

  • name: Manage Search

  • namede: Forschung verwalten

  • namefr: Configurer la recherche

  • owner: 1

  • parent:

  • position: 0

  • rubrique: 10151

  • status: 6

  • target:

  • url: /wedia-config/dam/portal/search/filters

Plugins changes

PACKAGED_BASES (ADDED)

...

PACKAGED_BOV3_DashboardWidgets

plugin.xml

  • Parameters:

    • UPDATED remove_widgets:

      • default value:

        • Old:

        Code Block
        languagejson
          {
        "bloc_object_contents": true,
        "articles": true,
        "expiringAssets": "${surfer.properties.roleid ne '28' and surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4'}",
        "news": true,
        "my_projects": true,
        "mediacore_proposed": true,
        "galleryelements": true,
        "bloc_authorizedusers": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4'}",
        "PACKAGED_BOV3_DashboardWidgets_userrequests": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4'}",
        "PACKAGED_BOV3_DashboardWidgets_candidates_keywords": "${surfer.properties.roleid ne '28' and surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4'}",
        "PACKAGED_BOV3_DashboardWidgets_pendingassets": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4'}",
        "PACKAGED_BOV3_DashboardWidgets_rejectedassets": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '28' and surfer.properties.roleid ne '4'}"
        }
        • New:

        Code Block
        languagejson
          {
        "bloc_object_contents": true,
        "articles": true,
        "expiringAssets": "${surfer.properties.roleid ne '28' and surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4' and surfer.properties.pkgroletemplate ne '998' and surfer.properties.pkgroletemplate ne '997'}",
        "news": true,
        "my_projects": true,
        "mediacore_proposed": true,
        "galleryelements": true,
        "bloc_authorizedusers": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4' and surfer.properties.pkgroletemplate ne '997'}",
        "PACKAGED_BOV3_DashboardWidgets_userrequests": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4' and surfer.properties.pkgroletemplate ne '997'}",
        "PACKAGED_BOV3_DashboardWidgets_candidates_keywords": "${surfer.properties.roleid ne '28' and surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4' and surfer.properties.pkgroletemplate ne '998' and surfer.properties.pkgroletemplate ne '997'}",
        "PACKAGED_BOV3_DashboardWidgets_pendingassets": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '4' and surfer.properties.pkgroletemplate ne '997'}",
        "PACKAGED_BOV3_DashboardWidgets_rejectedassets": "${surfer.properties.roleid ne '27' and surfer.properties.roleid ne '28' and surfer.properties.roleid ne '4' and surfer.properties.pkgroletemplate ne '998' and surfer.properties.pkgroletemplate ne '997'}"
        }

...

PACKAGED_CONFIGS (ADDED)

...

PACKAGED_Fonts (ADDED)

...

PACKAGED_Security

plugin.xml

  • Parameters:

    • UPDATED permissions_inferring:

      • default value:

        • Old:

        Code Block
        languagejson
        
          [
            {
              "class": "com.wedia.packaged.security.inferring.impl.MassimportInferenceProvider",
              "init": {
                "massimportjob": [
                  "v1/objectdata/changestatus/start/2/$anyowner",
                  "v1/objectdata/delete/2/$anyowner",
                  "v1/objectdata/insert/$newcreation",
                  "v1/objectdata/update/2/$anyowner",
                  "v1/objectdata/view/2/$anyowner"
                 ],
                "massimportitem": [
                  "v1/objectdata/changestatus/$anyaction/2/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/9/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/14/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/8/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/13/$anyowner",
                  "v1/objectdata/delete/2/$anyowner",
                  "v1/objectdata/delete/9/$anyowner",
                  "v1/objectdata/delete/14/$anyowner",
                  "v1/objectdata/delete/8/$anyowner",
                  "v1/objectdata/delete/13/$anyowner",
                  "v1/objectdata/insert/$newcreation",
                  "v1/objectdata/update/2/$anyowner",
                  "v1/objectdata/update/9/$anyowner",
                  "v1/objectdata/update/14/$anyowner",
                  "v1/objectdata/update/8/$anyowner",
                  "v1/objectdata/update/13/$anyowner",
                  "v1/objectdata/view/$anystatus/$anyowner",
                  "v1/objectfile/sendfile/$anystatus/$anyowner/$anyconfidentiality"
                ],
                "wkfmassimportitem": [
                  "v1/objectdata/view/$anystatus/$anyowner"
                ],
                "wkfmassimportjob": [
                  "v1/objectdata/view/$anystatus/$anyowner"
                ]
              }
            }
          ]
        
        • New:

        Code Block
        languagejson
        
          [
            {
              "class": "com.wedia.packaged.security.inferring.impl.DamimportInferenceProvider",
              "init": {
                "damimport": [
                  "v1/objectdata/changestatus/$anyaction/$anystatus/$anyowner",
                  "v1/objectdata/delete/$anystatus/$anyowner",
                  "v1/objectdata/insert/$newcreation",
                  "v1/objectdata/update/$anystatus/$anyowner",
                  "v1/objectdata/view/$anystatus/$anyowner"
                ]
              }
            },
            {
              "class": "com.wedia.packaged.security.inferring.impl.MassimportInferenceProvider",
              "init": {
                "massimportjob": [
                  "v1/objectdata/changestatus/start/2/$anyowner",
                  "v1/objectdata/delete/2/$anyowner",
                  "v1/objectdata/insert/$newcreation",
                  "v1/objectdata/update/2/$anyowner",
                  "v1/objectdata/view/2/$anyowner"
                 ],
                "massimportitem": [
                  "v1/objectdata/changestatus/$anyaction/2/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/9/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/14/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/8/$anyowner",
                  "v1/objectdata/changestatus/$anyaction/13/$anyowner",
                  "v1/objectdata/delete/2/$anyowner",
                  "v1/objectdata/delete/9/$anyowner",
                  "v1/objectdata/delete/14/$anyowner",
                  "v1/objectdata/delete/8/$anyowner",
                  "v1/objectdata/delete/13/$anyowner",
                  "v1/objectdata/insert/$newcreation",
                  "v1/objectdata/update/2/$anyowner",
                  "v1/objectdata/update/9/$anyowner",
                  "v1/objectdata/update/14/$anyowner",
                  "v1/objectdata/update/8/$anyowner",
                  "v1/objectdata/update/13/$anyowner",
                  "v1/objectdata/view/$anystatus/$anyowner",
                  "v1/objectfile/sendfile/$anystatus/$anyowner/$anyconfidentiality"
                ],
                "wkfmassimportitem": [
                  "v1/objectdata/view/$anystatus/$anyowner"
                ],
                "wkfmassimportjob": [
                  "v1/objectdata/view/$anystatus/$anyowner"
                ]
              }
            }
          ]
        

security.xml

ADDED pkgV1ConfigResolver(action)

Code Block
(
        /* action is isAvailable */
        (
          LOWER(arguments.action) = 'read'
          AND
          NBCOMMONELEMENTS(surfer.pkgsecurity_v1_configresolver, LOWER(arguments.action)) > 0
        )
        OR
        (
          LOWER(arguments.action) = 'write'
          AND
          NBCOMMONELEMENTS(
            REPLACE(surfer.pkgsecurity_v1_configresolver, LOWER('writeLayer:'), LOWER('write::')),
            'write::'
          ) > 0
        )
        OR
        (
          LOWER(arguments.action) = LOWER('writeLayer')
          AND
          (
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_configresolver, CONCAT(LOWER(arguments.action), ':', '$anylayer')) > 0
            OR
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_configresolver, CONCAT(LOWER(arguments.action), ':', layer)) > 0
          )
        )
      )

ADDED pkgV1Bundles(action)

Code Block
(
        /* action is isAvailable */
        (
          LOWER(arguments.action) = 'view'
          AND
          (
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_bundles, CONCAT(LOWER(arguments.action), ':', REPLACE(LOWER(basename), '/', '>'))) > 0
            OR
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_bundles, CONCAT(LOWER(arguments.action), ':', LOWER('$anybundle'))) > 0
          )
        )
        OR
        (
          LOWER(arguments.action) = 'update'
          AND
          (
            /* Attention, on remplace les / par des > dans les permissions */
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_bundles, CONCAT(LOWER(arguments.action), ':', REPLACE(LOWER(basename), '/', '>'), ':', LOWER(locale))) > 0
            OR
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_bundles, CONCAT(LOWER(arguments.action), ':', LOWER('$anybundle'), ':', LOWER(locale))) > 0
            OR
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_bundles, CONCAT(LOWER(arguments.action), ':', REPLACE(LOWER(basename), '/', '>'), ':', LOWER('$anylocale'))) > 0
            OR
            NBCOMMONELEMENTS(surfer.pkgsecurity_v1_bundles, CONCAT(LOWER(arguments.action), ':', LOWER('$anybundle'), ':', LOWER('$anylocale'))) > 0
          )
        )
      )

...

WXM_ANALYTICS_V2

plugin.xml

  • Parameters:

    • ADDED dxm_published_asset_roles:

      • type: string

      • mandatory: true

      • description: Liste des rôles ayant le droit de voir le rapport dxm dans le datalist

      • default value: 4,27

    • ADDED loadmore_limit:

      • type: integer

      • mandatory: true

      • description: Limite maximale pour la fonctionnalité 'Charger Plus'

      • default value: 500

...

WXM_BO_Options

plugin.xml

  • Parameters:

    • ADDED com.wedia.dam.EDIT_PREVIEW_VARIATIONS:

      • type: string

      • mandatory: false

      • description: Defines variations used to show an editor. we add after all com.wedia.dam.VIEW_PREVIEW_VARIATIONS.

      • default value: bo.editor.fast,bo.editor

    • UPDATED com.wedia.dam.VIEW_PREVIEW_VARIATIONS:

      • description: Define players used in BO dataview/dataedit for left preview and for old browsers. In dataedit, we add before all ['bo.editor']. --> Define players used in BO dataview/dataedit for left preview and for old browsers. In dataedit, we use EDIT_PREVIEW_VARIATIONS + VIEW_PREVIEW_VARIATIONS.

      • default value:

        • Old:

        Code Block
        languagejson
          bo.player,animatedBig,thumbnailBig,default
        • New:

        Code Block
        languagejson
          bo.player.fast,bo.player,animatedBig,thumbnailBig,default
    • UPDATED com.wedia.dam.VIEW_PREVIEW_VARIATIONS(Accept: image/webp):

      • description: Defines variations used in BO dataview/dataedit for left preview and for modern browsers. In dataedit, we add before all ['bo.editor']. --> Defines variations used in BO dataview/dataedit for left preview and for modern browsers. In dataedit, we use EDIT_PREVIEW_VARIATIONS + VIEW_PREVIEW_VARIATIONS.

      • default value:

        • Old:

        Code Block
        languagejson
          bo.player,animatedBig.webp,animatedBig,thumbnailBig.webp,thumbnailBig,poster,default
        • New:

        Code Block
        languagejson
          bo.player.fast,bo.player,animatedBig.webp,animatedBig,thumbnailBig.webp,thumbnailBig,poster,default

...

WXM_Fast_Players (ADDED)

plugin.xml

  • Services:

    • com.wedia.dam.PluginLifeCycleBusinessService (com.noheto.extensions.interfaces.services.IPluginLifeCycleBusinessService)

    • com.wedia.dam.FastPlayers (com.noheto.extensions.interfaces.services.InstallableService)

  • Parameters:

    • FAST_PLAYERS_PREVIEW_VARIATIONS:

      • type: string

      • mandatory: false

      • description: Define players used to display preview before bo.player or bo.editor.

      • default value: animatedBig,thumbnailBig,default

    • FAST_PLAYERS_PREVIEW_VARIATIONS(Accept: image/webp):

      • type: string

      • mandatory: false

      • description: Define players used to display preview before bo.player or bo.editor.

      • default value: animatedBig.webp,animatedBig,thumbnailBig.webp,thumbnailBig,default

...

WXM_PENDO

plugin.xml

  • Services:

    • ADDED com.wedia.pendo.LifeCycle (com.noheto.extensions.interfaces.services.IPluginLifeCycleBusinessService)

    • ADDED com.wedia.pendo.RestApi (com.noheto.extensions.interfaces.services.AbstractPluginApiService)

...

WXM_Wysiwyg_Editor

plugin.xml

  • Parameters:

    • ADDED allowFieldLevelRestrictions:

      • type: boolean

      • mandatory: false

      • description: For Froala Only, can the colors,font and fontSizes be defined at field level ?

      • default value: true

    • ADDED showRTLCorrector:

      • type: boolean

      • mandatory: false

      • description: For Froala Only, enable a button to correct the text direction of the selected text ?

      • default value: false

Plugin Config changes

WXM_RESTAPI

  • Parameters:

    • UPDATED defaultI18Nquery:

      • New value : true

Info

The default value of this parameter is false.

For starter-kit projects with a complete universe/search config made client side, we needed it to be set to true, to avoid having unwanted behaviours on portal filters (string filters mainly), without having to update a json config on the project.

For non starter-kit projects or projects on which the json configs are completely set by the developer, the value can of this parameter can remain equal to false

...

WXM_Fast_Players

  • Activated:

    • true

...

WXM_ANALYTICS_V2

plugin.xml

  • Parameters:

    • loadmore_limit:

      • type: integer

      • mandatory: false

      • description: Limite maximale pour la fonctionnalité 'Charger Plus'

      • default value: 500

...

PACKAGED_Fonts

  • Activated:

    • true

...

PACKAGED_VueConfigAppI18n

  • Activated:

    • true

...

WXM_CONFIG_RESOLVER

  • Activated:

    • true

  • Parameters:

    • ADDED config_settings:

      • type: JSON

      • mandatory: true

      • description: Configuration of mappings and bases

      • default value:

        Code Block
        languagejson
        {
        	"mappings": {
        		"portal": "starter-kit@project-dev@project",
        		"portal@picker": "starter-kit@project-dev@project@$starter-kit-picker@:userAgent",
        		"portal@picker@office": "starter-kit@project-dev@project@$starter-kit-picker@office@:userAgent",
        		"portal@picker@office@outlook": "starter-kit@project-dev@project@$starter-kit-picker@office@outlook@:userAgent",
        		"wediaConfig": "__wedia_config",
        		"portal@$mobile_device": "starter-kit@project-dev@project@$starter-kit-mobile",
        		"portal@picker$mobile_device": "starter-kit@project-dev@project@$starter-kit-picker@$starter-kit-mobile",
        		"portal@picker@office@$mobile_device": "starter-kit@project-dev@project@$starter-kit-picker@office@$starter-kit-mobile",
        		"portal@picker@office@outlook@$mobile_device": "starter-kit@project-dev@project@$starter-kit-picker@office@outlook@$starter-kit-mobile"
        	},
        	"postProcessors": {
        		"surferRole": "fr.wedia.confres.core.model.processor.SurferRolePostProcessor",
        		"userAgent": {
        			"processor": "fr.wedia.confres.core.model.processor.UserAgentPostProcessor",
        			"config": [
        				{
        					"pattern": ".*Mobi.*",
        					"name": "$starter-kit-mobile"
        				}
        			]
        		}
        	},
        	"baseLocations": {
        		"starter-kit": "PACKAGED_BASES",
        		"emptyObj": "PACKAGED_BASES",
        		"__wedia_config": "PACKAGED_BASES"
        	}
        }

Portal upgrades

Home Page - Dropdown configuration changes

If you remove the $.home.headerNavHomeBarSearches configuration, your configured contexts will be shown be default.

https://crossmedia.atlassian.net/wiki/spaces/WD/pages/2098430016/Homepage#Search-bar-area.1

Wediaportal_rc

Note

For existing projects which will not use the new user interface for portal configurations, you should add "useServerConfigResolution": false, on all the used configs of your wediaportal_rc file.

Starter-kit default config updates

Cursors :

all-videos :

  • previous value :

    Code Block
    languagejson
    {
      "path": "dam/asset",
      "max": 60,
      "staticQuery": {
        "assetnature": {
          "dof": {
            "code":"video"
          }
        }
      },
      "orderby": "created desc",
      "limit": 200,
    
      // Should apply asset nature filter from query
      "haveAssetNature": true
    }
    
  • new value :

    Code Block
    {
      "path": "dam/asset",
      "max": 60,
      "staticQuery": {
        "assetnature": {
          "dof": {
            "code": {
              "in": ["video"]
            }
          }
        }
      },
      "orderby": "created desc",
      "limit": 200,
    
      // Should apply asset nature filter from query
      "haveAssetNature": true
    }

Named filters :

Moved from common/named-filters to dam/named-filters :

  • photograph-prop

  • organization-prop

  • name-prop

  • description-prop

  • authorizedchannel-prop

video-group : deleted

rights-group :

  • previous value :

    Code Block
    [
      ["search.filters.rights"],
      "rightsGroupRightType",
      "rightsGroupEndRights"
    ]

  • new value :

    Code Block
    {
      "i18n": "search.filters.rights",
      "config": ["rightsGroupRightType", "rightsGroupEndRights"]
    }

Advanced search default config :

previous value :

Code Block
{
  filters: [
    "nameProp",
    "descriptionProp",
    "created",
    "keywordsProp",
    "coverageProp",
    "folderPropNoLayout",
    "organizationProp",
    "photographProp",
    "languageProp",
    "authorizedchannelProp",
    "shootingdate"
  ]
}

new value :

Code Block
{
  "filters": [
    {
      "operators": [
        "contains",
        "in",
        "notcontains",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "authorizedchannel"
    },
    {
      "operators": [
        "contains",
        "in",
        "notcontains",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "coverage"
    },
    {
      "field": "created"
    },
    {
      "field": "shootingdate"
    },
    {
      "operators": [
        "in",
        "dof",
        "ndof",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "folder"
    },
    {
      "operators": [
        "contains",
        "in",
        "notcontains",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "langs"
    },
    {
      "field": "description"
    },
    {
      "operators": [
        "contains",
        "in",
        "notcontains",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "keywords"
    },
    {
      "field": "name"
    },
    {
      "operators": [
        "in",
        "dof",
        "ndof",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "organization"
    },
    {
      "operators": [
        "contains",
        "in",
        "notcontains",
        "notin",
        "notempty",
        "empty"
      ],
      "field": "photograph"
    }
  ]
}

SSO Config :

src/wedia-plugin-template/res/starter-kit/signin/sso-redirect-url-mode.json :

  • previous value : "fragment"

  • new value : "parameter"

Indicators config update :

src/wedia-plugin-template/res/starter-kit/dam/explore/indicators.json :

  • previous value :

    Code Block
    [
      {
        "rule": {
          "operator": "eq",
          "path": "visibility.id",
          "value": [2],
          "priority": 10,
          "skip": true
        },
        "icon": "fas fa-lock-alt",
        "tooltipPath": 'visibility.name'
      },
      {
        "rule": {
          "operator": "eq",
          "path": "visibility.id",
          "value": [2],
          "priority": 10,
          "skip": true
        },
        "icon": "fas fa-coffee",
        "class": "cw-status-indicator-icon-top-left"
      },
    ]
    
  • new value :

    Code Block
    [
      {
        "rule": {
          "operator": "eq",
          "path": "visibility.id",
          "value": [2],
          "priority": 10,
          "skip": true
        },
        "icon": "fas fa-lock-alt",
        "tooltipPath": "visibility.name"
      }
    ]