Versions Compared

Key

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

Principe général

Une variation est un binaire dérivé d'un asset permettant en général d'en faciliter la visualisation sur différents supports, de faciliter son téléchargement, d'en extraire des informations supplémentaires ou de protéger l'original contre la copie ou l'usage frauduleux. On peut par exemple à partir d'un asset de type "vidéo HD" extraire les variations suivantes :

  • des prévisualisations jpg, png, webp pour le web,

  • des vidéos LD, MD pour la lecture sur le web,

  • des vidéos ou des prévisualisations "watermarked" pour protéger de l'usage frauduleux,

des flux d'extraction d'IA.

Historique et relation avec d'autres notions de variations WEDIA

Les variations sont à la fois une généralisation et une extension de différentes notions historiques WEDIA.

Historiquement, WEDIA propose des variations natives et des variations projet appelées Presets. Elles se différencient des actuelles variations par leur source. Les presets et les variations ImagingServer natives ne prennent qu'un binaire pour source alors que les nouvelles variations prennent un asset complet ( objet + binaire associé ). Elles sont donc plus adaptées à la gestion d'un DAM. Elles permettent aussi d'intégrer des variations externes issues d'autres produits : EVP, Robots de composition Indesign.

Les actuelles variations encapsulent les APIs historiques afin de rassembler tous les types de variations historiques et nouvelles sous une même logique.

// TODO : AJouter une petite image pour décrire visuellement tout cela.

Usage des variations dans le DAM WEDIA

Les variations sont utilisées à différents niveaux dans le DAM :

En backoffice et en front office pour proposer des options de téléchargements et de visualisation. Elles sont donc accessible à l'aide d'une API Java côté serveur et à travers une API Rest côté client mise à disposition par le plugin *WXM_VARIATIONS* et accessible sous le chemin /api/wedia/cart.

Dans les tableaux ( paniers ) pour créer des profils de zips ( zips des originaux, de previews ).

Intégration

Lister les variations disponibles d'un asset

Les variations disponibles varient d'un asset à l'autre et peuvent être crées dynamiquement. Il n'y a donc pas moyen de lister "globalement" les variations disponibles mais il est possible de connaitre celles disponibles pour un asset en particulier.

...

Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

General Principle

A variation is a derivative binary of an asset that typically serves to facilitate viewing across various platforms, simplify downloads, extract additional information, or protect the original file from copying or fraudulent use. For example, starting from an HD video asset, the following variations can be generated:

  • Web-friendly previews: JPG, PNG, or WEBP formats.

  • Low-definition (LD) and medium-definition (MD) videos: Optimized for web playback.

  • Watermarked videos or previews: To prevent unauthorized use.

  • AI extraction streams: For advanced content analysis.

...

History and Relationship with Other Wedia Variation Concepts

Variations represent both a generalization and an extension of historical Wedia concepts.

Historically, Wedia has provided native variations and project-specific variations, known as presets. The key difference between these legacy variations and the current variation model lies in their source:

  • Legacy presets and native ImagingServer variations are based on a single binary source.

  • Current variations are derived from a complete asset (object + associated binary), making them more suitable for DAM (Digital Asset Management) workflows.

The new variation system also integrates external variations from other tools, such as EVP or InDesign composition robots.

Additionally, the current variations encapsulate historical APIs to unify all types of variations (legacy and new) under a single, consistent logic.

...

Using Variations in the Wedia DAM

Accessing Variations via the API

Variations are accessible via HTTP using the /api/wedia/dam/variation API, served by the WXM_VARIATIONS_API plugin.

General syntax:
/api/wedia/dam/variation/<asset>/<variations>

  • <asset> can be specified in two ways:

    • <type>/<id>

    • Starting from version 11.26+, via its UUID: <uuid>.

  • <variations> is a comma-separated list of variation names sorted by descending preference, e.g., thumbnail,watermark,poster,default. The API evaluates the list from left to right and returns the first available and authorized variation.

To list the variations available and authorized for an asset, use:
/api/wedia/dam/variations/<asset>

To list all variations available for an asset, ignoring security settings, use:
/api/wedia/dam/admin/variations/<asset>
(Admin rights required.)

...

Configuring Variation Chains

From version 2021.3, variation chaining can be configured for different DAM components:

  1. Backoffice Preview in Lists
    Configured in the WXM_BO_OPTIONS plugin using these parameters:

    Image Added
    • com.wedia.dam.LIST_VARIATIONS: Specifies the chain for browsers without WEBP support.

    • For modern browsers supporting WEBP, the parameter com.wedia.dam.LIST_VARIATIONS(Accept: image/webp) is used.

    The choice is made in /bov3/common/init/init.jsp.

  2. Backoffice Baskets
    Basket previews inherit these parameters but can be overridden in the WXM_CART2 plugin :

    Image Added

    Tip: When upgrading to 2021.3, ensure these parameters do not override global configuration. To harmonize behavior in the Backoffice, clear any conflicting parameter values.

  3. Previews in DataView/DataEdit
    Managed by MediaCloud, which has its own configuration, controlled via the EVP setup in Wedia Admin: /admin/ebnAdministration.ebn.

...

Securing Access to Variations

Variations are secured through the objectfile/sendfile domain/action. This action applies to all variation types, including:

  • Binary variations.

  • Project presets.

  • Media variations.

  • Players.

The specific variation type is determined by the typeOp parameter, while subTypeOp identifies the variation, preset, or player name.

...

Filtering Available Variations

The /api/wedia/dam/variations/<asset> API lists all variations available and authorized for a requester. This API is particularly useful for generating download buttons or links and is used in the Backoffice to list available variations in the file view.

...

If certain variations (e.g., technical ones) should not be downloadable, filtering is possible using a variation/view security rule. This rule shares parameters with objectfile/sendfile, allowing shared handling via macros.

Example: A security rule can hide specific variations from download options while maintaining other permissions.

...

Integration

Listing Available Variations for an Asset

Variations differ between assets and may be created dynamically. While global lists are not available, the variations for a specific asset can be queried:

  • Java API: VariationsProviders.getInstance().getVariations(wsnoheto.engine.IObjectReadOnly

...

  • o)

  • REST API: /api/wedia/dam/variations/{assetType}/{assetId}

Retourner la variation d'un asset

Les différentes apis permettent de retrouver la première variation disponible parmi une liste. Cela permet de gérer finement le rendu des assets en demandant une liste de variations classées du plus spécifique au plus générique.

...

languagejava

...

Returning an Asset Variation

APIs can identify and return the first available variation from a prioritized list. This supports fine-grained rendering by requesting variations from the most specific to the most generic.

  • Java API:
    VariationsProviders.getInstance().getFirstNamedVariation(asset, "video_hd",

...

  • "video_ld",

...

  • "thumbnail",

...

  • "poster");

  • REST API:
    /api/wedia/dam/variation/{assetType}/{assetId}/video_hd,video_ld,thumbnail,poster

Implémenter de nouvelles variations

Proposer de nouvelles variations peut se faire de différentes manières selon le type

de media et selon les infos nécessaires à leur génération.

...

Pour les formats vidéos : il faudra configurer le config client EVP pour proposer des

formats additionnels.

...

Pour les variations ne nécessitant que le binaire original, il est possible d'implémenter

un Preset apportant nativement la gestion d'un cache évitant de refaire systématiquement

le même traitement ou de configurer des presets automatiques via la configuration des APIs

Rest DAM ( cf Presets )

...

Pour les variations nécessitant des propriétés de l'asset, il faudra directement implémenter

...

Adding New Variations

New variations can be implemented in different ways, depending on the media type and required generation details:

  1. Video Formats: Configure the client's EVP settings to add new formats.

  2. Binary-Only Variations: Use presets with caching to avoid repeated processing or configure automatic presets via the REST DAM API. (See Wedia DAM REST API documentation)

  3. Asset-Dependent Variations: Implement custom interfaces directly in a plugin when variations require specific asset properties.