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.
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.
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
les interfaces dans un plugin.