Mon dernier article de blog date un peu (en fait de septembre 2016). Et je pourrais imaginer une multitude de bonnes raisons pour l’expliquer : « J’ai passé tellement de temps sur les magnifiques démos Nuxeo que je n’en ai pas trouvé pour écrire un blog. », « J’ai été trop occupé à rédiger de la documentation technique expliquant les incroyables fonctionnalités proposées par Nuxeo. », « Mon réveil n’a pas sonné à cause d’une panne d’électricité. » ou encore « Le café où j’allais toujours écrire mes articles de blog a fermé et je ne sais pas où aller. »

Je vous laisse choisir l’excuse la moins pire (ou la plus amusante), mais quoi qu’il en soit, je suis ravi d’être de retour !

Nuxeo a connu de nombreux changements au cours de ces 18 derniers mois. Nuxeo Platform a évolué et accueilli une multitude de nouvelles fonctionnalités et Gartner a placé Nuxeo parmi ses visionnaires dans leur Magic Quadrant 2017 pour les plateformes de services de contenu (Content Services Platforms). Nuxeo Studio dispose désormais de nouveaux outils de création (Modeler et Designer) et permet de configurer la nouvelle interface Web UI de Nuxeo.

Revenons à l’objet de cet article : Nuxeo Studio a du talent ! Et je voulais vous parler d’une fonctionnalité qui a toujours eu du succès : les modèles externes.

Nuxeo Studio external templates

Ces modèles sont des projets Studio dupliqués au sein de votre projet. Leur contenu est le même : types de documents, workflows, chaînes d’automatisation… Par exemple, si vous voulez observer les workflows Nuxeo par défaut (validation de documents en série et en parallèle) et comprendre leur conception, il vous suffit d’importer le modèle « Default Nuxeo Platform Workflows Configuration » et de partir à l’aventure !

Le modèle dont je voulais surtout vous parler est une nouveauté (de février 2018*) — le modèle Video Utils.
Il vous permet d’appliquer un wrapper aux différentes opérations possibles dans Nuxeo afin de découper ou fusionner des vidéos ou de leur ajouter un filigrane. Ces wrappers encapsulent les opérations dans des chaînes d’automatisation et fournissent les éléments d’UI nécessaires à l’affichage des boutons.

Après avoir été modifiée, une vidéo peut être :
• téléchargée
• stockée dans le schéma files:files (« Attachments » dans l’UI)
• stockée dans le schéma vid:transcodedVideos (« Renditions » dans l’UI)
• ou utilisée pour créer un nouveau document vidéo

Comme toujours, une démo est bien plus éloquente que de longs discours :




Une fois le modèle importé, vous pourrez parcourir et/ou utiliser de nombreux objets :

Nuxeo Studio Imported Objects

Après avoir importé tous ces objets, il y a trois choses que vous devez faire :

  1. Lire la chaîne « Automation Scripting » nommée videoUtils_README. C’est indispensable pour commencer, et ce pour deux raisons. A) Parce que je vous le dis et que j’ai passé du temps à l’écrire pour vous, et B) parce qu’elle explique tout : objectif, limitations, installation des boutons dans le bon slot BLOB_ACTIONS, etc.
  2. Installer les boutons dans le slot BLOB_ACTIONS. L’intérêt principal est que, pour obtenir une expérience utilisateur optimale, les boutons ne devraient être affichés que dans le blob principal, qui se trouve dans file:content. Il vaut mieux ne pas les afficher pour tous les blobs listés car ils sont conçus pour fonctionner avec file:content, pas avec une entrée dans files:files.
  3. Explorer la configuration, et surtout les éléments Polymer et les chaînes d’automatisation.

Comme il s’agit d’un modèle externe, n’hésitez pas à le modifier ou à le dupliquer selon vos besoins.

Par exemple, le bouton qui ajoute un filigrane affiche un widget nuxeo-document-suggestion qui utilise le page provider VideoUtils_Watermark_PageProvider. Ce page provider effectue un filtrage préalable de la requête en cherchant les images contenant le terme « watermark » dans leur champ ecm:tag. Pour le tester, préparez vos différents logos et assurez-vous d’avoir ajouté une étiquette « watermark » (notez que vous pouvez également changer ce nom, coder le filigrane en dur, autoriser une recherche sans restriction, etc.).

J’espère que vous apprécierez ce modèle qui propose seulement quelques-unes des fonctionnalités liées aux vidéos. Hé oui, nous en avons énormément et Nuxeo Platform est capable de bien, bien plus. En fait, la plateforme peut virtuellement transformer n’importe quel format A en n’importe quel format B tout en ajoutant des opérations lors de la transformation. Par défaut, ce modèle dispose des mêmes capacités que FFmpeg (ce qui est déjà énorme) et, depuis la LTS 2017, des mêmes capacités qu’AWS Lambda.

L’excellent Michaël a tout récemment développé cet excellent plug-in nuxeo-aws-video-transcoding qui exploite les capacités de MediaConvert.

C’est tellement évident que j’allais oublier de le mentionner, mais notre plateforme étant flexible, elle vous offre la possibilité de connecter et utiliser tous les outils que vous voulez.

À dans 18 mois !

(*) Si vous lisez cet article en 2019 ou plus, alors cette nouveauté n’en est plus vraiment une.