Upgrading to 2024.3

 

For those coming from versions 2024.1 or 2024.2:

If you haven’t already followed the instructions from https://crossmedia.atlassian.net/wiki/x/FAABuQ, a revert of portal’s variations default configuration is coming with version 2024.3

Security improvements

WXM-16519

See

https://crossmedia.atlassian.net/browse/WXM-16519

https://crossmedia.atlassian.net/browse/WXM-16505

We strongly recommend to update your .wediaportalrc file in order to add 2 new keys :

{ "default_user_object": "restapiapp", // represents the object that should be used for the REST application while user is not connected "default_user_id": "1" // represents the id of that object that should be used for the REST application while user is not connected }

Having those 2 keys allows us to initiate a server session directly in the JSP if the current one is not suitable. It becomes therefore useless to send the credentials in the rendered HTML.

Note that providing the app name, key and secret is still required when you are working in development mode (localhsot:9000)

 

Due to security restriction, all users that need to have access to the back-office MUST have a rule for BO access set up in the security domain “Applications”, like this example :

 

image-20240612-150410.png

 

 

Analytics events

For events logged by the /api/wedia/analytics/log/event, /api/wedia/analytics/log/objectdata, /api/wedia/analytics/log/evp/objectdata APIs, it is now necessary to register the session type (passed in sessionType parameter) in the sessionTypesAuthorized parameter of the WXM_BO_Options plugin.

Translations by DeepL

Translation by DeepL is now enabled by default in the Starter Kit.

If you need to disable it, go to the WXM_BO_Options plugin and set the translateUseDeepl parameter to false.
The WXM_BO_Options plugin must of course be activated. If it is not, we recommend that you activate it. If it is not, the entire configuration is the basic one. To activate DeepL, go to the engine's system parameters (DeepL Translation section).

WXM_RESTAPI and dependencies to API business services

An important change has been made in the component supporting custom sections: for the purposes of optimizing property loading, it is necessary to know which properties to load for the evaluation of custom section information.

  1. If you don't need to load any particular object properties, simply rebuild your plugin with the new version. The best way to do this is to use the graddle dependency (as shown here).
    It is not possible to guarantee effective loading of the custom sections components if the plugin is not rebuilt with the correct version of the restapibs library.

  2. If you need to load properties, specify by implementing the method getFieldnames(ObjectCustomSectionContext context, String pathProps, String objectName, IObjectStructureReadOnly structure).

  3. If the current implementation already involves reloading the object to have the necessary properties available, it is recommended to use the method getFieldnames to avoid having to do this for performance reasons.

 

Structures changes

asset

Fields changes

  • description

    • Auto carriage return:
      false --> true

  • descriptionfr

    • Auto carriage return:
      false --> true

  • descriptionde

    • Auto carriage return:
      false --> true

 

Plugins changes

PACKAGED_CW_VariationProvider

plugin.xml

  • Parameters:

    • UPDATED variations.config:

      • default value:

        • added on each $contentType

          •  

            "image/svg+xml", "application/postscript", "image/x-eps"

 

  • Old:

{ "thumbnailRealAuto":[ { "thumbnailReal.png":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailReal":true } ], "thumbnailScreenAuto":[ { "thumbnailScreen.png":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailScreen":true } ], "thumbnailBigAuto":[ { "thumbnailBig.png":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailBig":true } ], "thumbnailSmallAuto":[ { "thumbnailSmall.png":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailSmall":true } ], "thumbnailTinyAuto":[ { "thumbnailTiny.png":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailTiny":true } ], "cwlist":[ { "clubwedpng":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailbig":true }, { "clubwedjpg":{ "$type":"IMAGE" } } ], "cwsmall":[ { "clubwedsmalla":{ "or":[ { "clipped":"1" }, { "$contentType":{ "in":[ "image/png", "image/x-photoshop" ] } } ] } }, { "thumbnailsmall":true } ] }
  • New:


PACKAGED_LLM (ADDED)

plugin.xml

  • Parameters:

    • promptManagingRoleIds:

      • type: string

      • mandatory: false

      • description: Roles other than 4 allowed to manage the prompt

      • default value: ````

    • aws_roleArn:

      • type: string

      • mandatory: false

      • description: AWS role to assume for consuming bedrock

      • default value: ````

    • aws_region:

      • type: string

      • mandatory: true

      • description: AWS region to use for bedrock

      • default value: eu-west-3


PACKAGED_Portals (ADDED)

plugin.xml

  • Services:

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

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

    • com.wedia.packaged.portals.extensions.PortalsAPIService (com.noheto.extensions.interfaces.services.AbstractPluginApiService)

    • com.wedia.packaged.portals.extensions.PortalsAdminAPIService (com.noheto.extensions.interfaces.services.AbstractPluginApiService)

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

  • Parameters:

    • portal_structure:

      • type: string

      • mandatory: true

      • description: The name of the structure storing the portals.

      • default value: portal

    • queue_pool_periodicity:

      • type: int

      • mandatory: true

      • description: Defines the periodicity of the execution of the thread pool worker.

      • default value: 60

    • max_assets_async:

      • type: int

      • mandatory: true

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

      • default value: 50


WXM_BO_Options

plugin.xml

  • Parameters:

    • ADDED sessionTypesAuthorized:

      • type: string

      • mandatory: false

      • description: Liste des types de session autorisées pour les API. Liste séparée par des virgules.

      • default value:

    • UPDATED translateUseDeepl:

      • default value:

        • Old:

        • New:

 

Security changes

Domains changes

objectdata

changestatus
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      • New Expression:

delete
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      • New Expression:

order
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      • New Expression:

update
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      • New Expression:

view
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      • New Expression:

Rewriting changes

Inbound changes

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

  • from:

    • ^/office-outlook-asset-picker(?:-([^)]+))?/([^/])\.html(?:\?(.))?

    • --> ^/office-outlook-asset-picker(?:-([^/]+))?(/.*)?