Versions Compared

Key

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

Expand
titleTable of contents
Table of Contents
minLevel1
maxLevel6
include
outlinefalse
indent
styledefault
exclude
typelist
class
printabletrue
Note

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

Jira Legacy
serverSystem Jira
serverIdee2ae3e2-175d-3458-b663-57790c4fa118
keyWXM-16519

Jira Legacy
serverSystem Jira
serverIdee2ae3e2-175d-3458-b663-57790c4fa118
keyWXM-16505

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

Code Block
{
"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)

Warning

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.pngImage Modified

Analytics events

Panel
panelIconId26a0
panelIcon:warning:
panelIconText⚠️
bgColor#FFBDAD

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).
    (warning) 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

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

Expand
titleDetails

  • Old:

Code Block
languagejson
{
   "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:

Code Block
languagejson
{
   "thumbnailRealAuto":[
      {
         "thumbnailReal.png":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailReal":true
      }
   ],
   "thumbnailScreenAuto":[
      {
         "thumbnailScreen.png":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailScreen":true
      }
   ],
   "thumbnailBigAuto":[
      {
         "thumbnailBig.png":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailBig":true
      }
   ],
   "thumbnailSmallAuto":[
      {
         "thumbnailSmall.png":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailSmall":true
      }
   ],
   "thumbnailTinyAuto":[
      {
         "thumbnailTiny.png":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailTiny":true
      }
   ],
   "cwlist":[
      {
         "clubwedpng":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailbig":true
      },
      {
         "clubwedjpg":{
            "$type":"IMAGE"
         }
      }
   ],
   "cwsmall":[
      {
         "clubwedsmalla":{
            "or":[
               {
                  "clipped":"1"
               },
               {
                  "$contentType":{
                     "in":[
                        "image/png",
                        "image/x-photoshop",
                        "image/svg+xml",
                        "application/postscript",
                        "image/x-eps"
                     ]
                  }
               }
            ]
         }
      },
      {
         "thumbnailsmall":true
      }
   ]
}

...

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:

        Code Block
        languagejson
          false
        • New:

        Code Block
        languagejson
          true

Security changes

Domains changes

objectdata

changestatus
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      Code Block
      NOT(@pkgWxmSurferHasAppropriateContriblangs())
         OR
         NOT(@pkgWxmSurferHasAppropriateMediagroup())
         OR
         @pkgWxmObjectIsVirtual()
      • New Expression:

      Code Block
      NOT(@pkgIsSurferDeveloper()) AND (
       NOT(@pkgWxmSurferHasAppropriateContriblangs())
       OR
       NOT(@pkgWxmSurferHasAppropriateMediagroup())
       OR
       @pkgWxmObjectIsVirtual()
      )

delete
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      Code Block
      NOT(@pkgWxmSurferHasAppropriateContriblangs())
         OR
         NOT(@pkgWxmSurferHasAppropriateMediagroup())
         OR
         @pkgWxmObjectIsVirtual()
      • New Expression:

      Code Block
      NOT(@pkgIsSurferDeveloper()) AND (
       NOT(@pkgWxmSurferHasAppropriateContriblangs())
       OR
       NOT(@pkgWxmSurferHasAppropriateMediagroup())
       OR
       @pkgWxmObjectIsVirtual()
      )

order
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      Code Block
      NOT(@pkgWxmSurferHasAppropriateContriblangs())
         OR
         NOT(@pkgWxmSurferHasAppropriateMediagroup())
      • New Expression:

      Code Block
      NOT(@pkgIsSurferDeveloper()) AND (
       NOT(@pkgWxmSurferHasAppropriateContriblangs())
       OR
       NOT(@pkgWxmSurferHasAppropriateMediagroup())
       OR
       @pkgWxmObjectIsVirtual()
      )

update
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      Code Block
      NOT(@pkgWxmSurferHasAppropriateContriblangs())
         OR
         NOT(@pkgWxmSurferHasAppropriateMediagroup())
         OR
         @pkgWxmObjectIsVirtual()
      • New Expression:

      Code Block
      NOT(@pkgIsSurferDeveloper()) AND (
       NOT(@pkgWxmSurferHasAppropriateContriblangs())
       OR
       NOT(@pkgWxmSurferHasAppropriateMediagroup())
       OR
       @pkgWxmObjectIsVirtual()
      )

view
  • Rules:

    • WEDIA Packaged - WXM rules

      • Old Expression:

      Code Block
      NOT(@pkgWxmSurferHasAppropriateContriblangs())
         OR
         NOT(@pkgWxmSurferHasAppropriateMediagroup())
         OR
         @pkgWxmObjectIsVirtual()
      • New Expression:

      Code Block
      NOT(@pkgIsSurferDeveloper()) AND (
       NOT(@pkgWxmSurferHasAppropriateContriblangs())
       OR
       NOT(@pkgWxmSurferHasAppropriateMediagroup())
       OR
       @pkgWxmObjectIsVirtual()
      )

Rewriting changes

Inbound changes

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

  • from:

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

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