Asset Variations

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 accessibles en http à l’aide de l’api /api/wedia/dam/variation servie par le plugin WXM_VARIATIONS_API.

La syntaxe générale d’appel est /api/wedia/dam/variation/<asset>/<variations>.

  • <asset> peut être spécifié deux deux manières <type>/<id> ou plus récémment ( 11.26+ ) par son uuid <uuid>.

  • <variations> est une liste de noms de variations séparés par des virgules et triés par préférence descendante. ex : thumbnail,watermark,poster,default. Cette liste est évaluée de gauche à droite. La première variation qui est à la fois disponible et autorisée est retournée au demandeur.

La liste des variations disponibles et autorisées pour un asset peut être interrogée par l’api /api/wedia/dam/variations/<asset>.

La liste de toutes les variations disponibles pour un asset peut être interrogée par l’api /api/wedia/dam/admin/variations/<asset> ce qui permet d'évaluer les variations disponibles sans prendre en compte la sécurité ( nécessite des droits d’administration ).

A partir de la version 2021.3, il est possible de configurer ce chainage de variations pour différents composants du DAM :

Preview dans les listes du backoffice : deux paramètres sont disponibles dans le nouveau plugin WXM_BO_OPTIONS :

com.wedia.dam.LIST_VARIATIONS donne le chainage à utiliser pour les navigateurs ne supportant pas encore le webp. Pour les navigateurs plus modernes, le backoffice utilise com.wedia.dam.LIST_VARIATIONS(Accept: image/webp). Le choix de l’option est fait dans la page /bov3/common/init/init.jsp.

Le chainage utilisés dans les paniers du backoffice hérite de ces paramètres mais peut historiquement être surchargé dans le plugin WXM_CART2.

En passant en 2021.3, ce paramètre risque d'être renseigné et de surcharger la configuration générale. Pour harmoniser le comportement dans le Backoffice : pensez à vider la valeur de ce paramètre.

Les prévisualisations en dataview / dataedit sont généralement faites par MediaCloud qui a sa propre configuration. Cette dernière peut être pilotée par la configuration EVP dans l’administration WEDIA /admin/ebnAdministration.ebn

Sécuriser l’accès aux variations

Les variations sont sécurisées par le domaine/action : objectfile / sendfile. Cette action permet de sécuriser tous les types de variations : variation de binaire, presets projets, variations de média, players. La distinction entre ces différents types de variation se fait par le paramètre typeOp. subTypeOp contient le nom de la variation, du preset ou du player.

Filtrer la liste des variations disponibles

L’api /api/wedia/dam/variations/xxx permet de lister toutes les variations disponibles pour un média et autorisées par le demandeur. C’est donc une API très utile et utilisée pour proposer des boutons / liens de téléchargement et est notammement utilisée par le backoffice pour lister les variations disponibles dans le fileview. Même si rien n’interdit le téléchargement de certaines variations, il est parfois nécessaire de filtrer ces liens pour ne pas les proposer au téléchargement ( variations techniques ).

Ex :

Ce filtrage est possible par une règle de sécurité variation / view. Cette action a les mêmes paramètres que objectfile / sendfile ce qui permet de mutualiser certains traitements par des macros.

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.

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.

VariationsProviders getInstance().getFistNamedVariation(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.