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 12 Current »

 Table of content

PACKAGED_Portal & New features

Status indicator update

https://crossmedia.atlassian.net/wiki/spaces/WD/pages/3468754981/Status+indicator+Setup#On-Dam-domain

Status change action

https://crossmedia.atlassian.net/wiki/spaces/WD/pages/3469115404/Status+update+Setup#Dam%2C-Portals-%26-Boards

Portals filter edition

https://crossmedia.atlassian.net/wiki/spaces/WD/pages/3299180556/Portals+feature+explained#Portals-filters-managment

Asset versions

link to doc.

Configuration changes

Please check the configuration changes below. Specific updates have been identified in the DAM domain, including a reordering of actions on the asset details view. These changes may require your attention as they could impact your project. Please review to ensure compatibility

board

 Details
  • cart-provider-content-mode ADDED

    • "both"

  • explore

    • layout

      • hide-status

        • true → false UPDATED

    • footer

      • selection

        • actions

New Order

Previous Order

downloadSelection

boardToggleItems

boardToggleItems

damLandingPage

damLandingPage

updateAssetStatus

updateAssetStatus ADDED

boardItemsRemove

boardItemsRemove

common

 Details
  • cursors:

    • collaborate-search-users ADDED :

      • path: "dam/data/user"

      • props: "id,avatar,name,role,status"

      • static-query:

        • activated:

          • eq: true

        • id:

          • nin: "${surfer.id}"

  • named-actions:

    • dam-bulk-edit:

      • i18n-disabled-tooltip: "dam.bulk-update-asset.action.disabled.tooltip" ADDED

    • update-asset-status ADDED :

      • action: "dam/updateAssetStatus"

      • i18n-disabled-tooltip: "dam.update-asset-status.action.disabled.tooltip"

      • i18n: "general.tooltip.bulkupdatestatus"

      • icon: "fal fa-circle-dot"

  • named-displays:

    • default-asset-detail-meta:

      • column:

        • tabs:

          • default-asset-detail-tab-metadata UNCHANGED

          • default-asset-detail-tab-asset-insights UNCHANGED

          • default-asset-detail-tab-versions ADDED

    • default-asset-detail-tab-versions ADDED :

      • config:

        • component: "CwDefaultDetailVersionsTab"

      • i18n: "asset.assetVersionHistory.label"

      • security:

        • "objectdata/insert"

dam

 Details
  • details:

    • actions:

      • display-status-update-action: true ADDED

      • max-displayed-actions:

        • 8 → 5 UPDATED

      • actions:

New Order

Previous Order

damDownload

damReverseSearch

addTo

damComposePicture

damEdit

damComposeVideo

damComposePicture

damEdit

damComposeVideo

addTo

damEmbed

damShare

damReverseSearch

damEmbed

damShare

damDownload

  • explore:

    • show-assets-status:

      • false → true UPDATED

    • footer:

      • selection:

        • actions:

New Order

Previous Order

downloadSelection

damSendByMailSelection

damSendByMailSelection

damBoard

damBoard

damLandingPage

damLandingPage

updateAssetStatus

updateAssetStatus ADDED

damBulkEdit

damBulkEdit

  • named-filters:

    • rights-group:

      • config:

        • rightsGroupRightsType --> rightsGroupRightType UPDATED

        • rightsGroupEndRights UNCHANGED

editor

 Details
  • froala

    • toolbarButtons

      • Removed:

        • moreText :

          {
            "buttons": [
              "bold",
              "italic",
              "underline",
              "strikeThrough",
              "fontSize",
              "textColor"
            ]
          }
        • moreParagraph :

          {
            "buttons": [
              "alignLeft",
              "alignCenter",
              "formatOLSimple",
              "formatOL",
              "formatUL"
            ]
          }
        • moreRich :

          {
            "buttons": [
              "insertLink",
              "emoticons"
            ]
          }
        • moreMisc :

          {
            "buttons": [
              "undo",
              "redo",
              "html",
              "help"
            ],
            "align": "right"
          }
      • Added:

        [
          "bold",
          "italic",
          "underline",
          "|",
          "formatUL",
          "formatOLSimple",
          "|",
          "emoticons",
          "insertLink"
        ]

spaces

 Details
  • collaborate ADDED

    • searchUsersCursor: "collaborateSearchUsers" ADDED

portals

 Details
  • cursors

    • portals-view

      • query

        • or:portalrole.creator (Removed)

        • or:portalrole.colaborator (Removed)

        • or:portalrole.viewer (Removed)

        • or:portalrole.none (Removed)

        • or:portalrole.hide (Removed)

        • or:portaltype.public (Removed)

        • or:portaltype.internal (Removed)

        • or:portaltype.private (Removed)

        • or:portaltype.hide (Removed)

        • or:portalactive.true (Removed)

  • named-filters

    • portals-roles

      • config

        • 1st element

          • 2nd element

            • defaultActive (Removed)

          • 3rd element

            • defaultActive (Removed)

          • 4th element

            • defaultActive (Removed)

          • 5th element

            • defaultActive (Removed)

  • collaborate

    • searchUsersCursor: "collaborateSearchUsers" ADDED

  • portals:

    • share-options[] share-options UPDATED :

      • internal ADDED

        {
          "icon": "",
          "subtitle": "",
          "title": "",
          "tooltip": "",
          "type": "",
          "position": ""
        }
      • private ADDED :

        {
          "icon": "",
          "subtitle": "",
          "title": "",
          "tooltip": "",
          "type": "",
          "position": ""
        }
      • public ADDED :

        {
          "icon": "",
          "subtitle": "",
          "title": "",
          "tooltip": "",
          "type": "",
          "position": ""
        }
    • sections :

      • templates[] → templates UPDATED :

        • assets ADDED :

          {
            "enabled": true,
            "type": "",
            "component": "",
            "name": {
              "": "Assets",
              "fr": "Médias",
              "de": "Medien"
            },
            "iconClasses": ["fa-star-of-life"],
            "position": ""
          }
        • editorial ADDED :

          {
            "enabled": true,
            "type": "",
            "component": "",
            "name": {
              "": "Text",
              "fr": "Texte",
              "de": "Text"
            },
            "iconClasses": ["fa-text"],
            "position": ""
          }
  • explore

    • ignore-as-active-filter ADDED :

      • [
          "or:portalactive.true",
          "or:portalactive.false",
        ]
    • show-assets-status; true ADDED

    • footer

      • selection

        • actions

New Order

Previous Order

portalsDownloadZip

portalsDownloadZip

damBoard

damBoard

damLandingPage

damLandingPage

updateAssetStatus ADDED

damSendByMailSelection

damSendByMailSelection

damBulkEdit

damBulkEdit

 Global view of the config change log

image-20241209-164951.png

Structures changes

asset

Fields changes

  • owner

    • Tags:

      • Added: rest_api_include

  • copietravail

    • Tags:

      • Added: rest_api_include

  • uid

    • Tags:

      • Added: rest_api_include

  • version

    • Tags:

      • Added: rest_api_include

  • portals

    • Tags:

      • Added: pkg/versions/keep/on/publish

  • versionsdata (added)

    • Type: data

    • Nature:

    • Label:

    • Default value:

    • Order: 7400

    • 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:


pimasset

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: pkg/versions/keep/on/publish, rest_api_include

  • versionsdata (added)

    • Type: data

    • Nature:

    • Label:

    • Default value:

    • Order: 7400

    • 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:


wxmcart

Fields changes

  • name

    • Type:
      data --> sentence

Instances changes

On the changes below we can see that, a new workflow action has been added to the default asset workflow (wkfasset). This action enables publishing or republishing of archived assets. By default, this action is available only to users with the Administrator role type.

wkfassetaction

wkfassetaction/13 (ADDED)

  • activated: 1

  • child:

  • condition:

  • created: 12/11/2024 09:14:32

  • forward: 0

  • icon:

  • id: 13

  • modified: 12/11/2024 09:14:32

  • name: publish

  • ontransition:

  • owner: 1

  • parent:

  • position: 0

  • roles:

  • state_in: 7

  • state_out: 6

  • status: 2


pkgroletemplate

pkgroletemplate/997

image-20241204-105801.png
 puml code
@startuml
title diffInstances v2024.4.0 -o pkgroletemplate -i 997 -f puml
hide empty members
hide circle

 package pkgroletemplate {
       class 997 {
                #permissions
       }
           rectangle 997_permissions as "
{{json
<style>
.removed {
BackgroundColor pink
FontColor red
}
.added {
BackgroundColor lightgreen
FontColor darkgreen
}
</style>
#highlight "v1" / "objectdata" / "@dam.collection~wkfasset" / "changestatus" / "permissions" / "0" <<added>>
{
"v1": 
{
"objectdata": 
{
"@dam.collection~wkfasset": 
{
"changestatus": 
{
"permissions": 
[
"publish/7/$anyowner"
]
}
}
}
}
}
}}
   "
           997::permissions-->997_permissions
 }
@enduml

Plugins changes

PACKAGED_CW_FeedbackService

plugin.xml

  • Parameters:

    • UPDATED mail_to:

      • default value:

        • Old:

          feedback@wedia-group.com
        • New:

         
    • UPDATED mail_cci:

      • default value:

        • Old:

         
        • New:

          feedback@wedia-group.com

WXM_Analytics_OData

plugin.xml

  • Parameters:

    • UPDATED authorized_role_ids:

      • default value:

        • Old:

         
        • New:

          4,27

WXM_BO_Options

plugin.xml

  • Parameters:

    • UPDATED cache_cdnMaxAge:

      • default value:

        • Old:

          86400
        • New:

          2592000
    • UPDATED cache_cdnStaleMaxAge:

      • default value:

        • Old:

          86400
        • New:

          2592000

WXM_DAMDY

plugin.xml

  • Parameters:

    • UPDATED evp.ia.activated:

      • default value:

        • Old:

          false
        • New:

          true

WXM_FulltextSandbox

plugin.xml

  • Parameters:

    • UPDATED fieldsBoosts:

      • default value:

        • Old:

         
        • New:

          {"*.#boost40": 40}

PACKAGED_Versions (ADDED)

plugin.xml

  • Services:

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

    • com.wedia.packaged.versions.extensions.PluginLifecycle (com.noheto.extensions.interfaces.services.IPluginLifeCycleBusinessService)

    • com.wedia.packaged.versions.extensions.VersionsAPIService (com.noheto.extensions.interfaces.services.AbstractPluginApiService)

    • com.noheto.restapi.startup.ApiBusinessServiceStartup (com.noheto.extensions.interfaces.services.InstallableService)

    • com.wedia.packaged.versions.extensions.VersionsAdminApiService (com.noheto.extensions.interfaces.services.AbstractPluginApiService)


PACKAGED_Security

UPDATED pkgV1ObjectActions(action)

image-20241204-142300.png

Old expression

 Details
/* 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
  )
)

New expression

 Details
/* 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,changestatus,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
  )
)

Security changes

This updates (below and above) were made to simplify and improve the evaluation of a user's changestatus rights on the front end. It is essential for the "update status" action to function correctly from the front end. The primary purpose of this update is to determine if the user has at least one changestatus action available globally within the DAM object structure.

Domains changes

objectactions

changestatus(ADDED)
  • Action description

    • Description:

    • Enabled: true

  • Action parameters:

    • objectname: wsnoheto.securite.parameter.LowerStringParameter

    • surfer: wsnoheto.securite.parameter.SurferParameter

  • Rules:

    • WEDIA Packaged - Default rule

      • Rule details

        • Description: Relies on permissions granted to role

        • Enabled: true

        • Blocking: false

      • Expression:

      @pkgV1ObjectActions('changestatus')
    • WEDIA Packaged - Developper

      • Rule details

        • Description: Developers can do everything

        • Enabled: true

        • Blocking: false

      • Expression:

      @pkgIsSurferDeveloper()

  • No labels