Actions personnalisées version bêta
Actions personnalisées version bêta
Les actions Frame.io permettent d’accéder rapidement aux opérations courantes sur les médias, telles que le téléchargement, le renommage et la duplication d’éléments. Elles permettent également d’intégrer des outils et services tiers directement dans l’interface utilisateur de Frame.io.
À propos des actions
Grâce à l’introduction des actions personnalisées (en version bêta), les développeurs peuvent configurer et gérer leurs propres actions dans Frame.io V4. S’appuyant sur le même système d’événements sous-jacent que les webhooks, les actions personnalisées constituent un autre moyen pour les développeurs de relier leurs ressources aux outils les plus importants pour les utilisateurs de leur compte Frame.io.
Les actions peuvent être exécutées par tout utilisateur membre de l’espace de travail Frame.io dans lequel l’action est activée. Lorsqu’une action est exécutée, Frame.io envoie une payload à l’URL que vous indiquez. L’application destinataire répond par un code d’état HTTP pour accuser réception, ou par un rappel personnalisé afin d’afficher des champs de formulaire supplémentaires dans l’interface utilisateur de Frame.io. L’application destinataire peut être votre propre programme hébergé, un service, ou même un outil IPaaS de type low-code ou no-code comme Workfront Fusion ou Zapier.
Utilisez la version bêta des actions personnalisées pour créer des intégrations directement dans Frame.io sous forme de composants d’interface utilisateur programmables. Cela permet de mettre en place des workflows pouvant être déclenchés par les utilisateurs au sein de l’application, en s’appuyant sur le même système de routage des événements que les webhooks. Vous pouvez créer des formulaires à une ou plusieurs étapes, déclenchés par l’utilisateur, qui renvoient vers Frame.io sous la forme d’un autre formulaire ou d’une réponse simple. Et lorsqu’un utilisateur clique sur une action personnalisée associée à un élément, Frame.io envoie une payload à l’URL que vous avez indiquée. L’application destinataire renvoie un code d’état HTTP pour accuser réception, ou renvoie un rappel personnalisé permettant d’afficher une interface utilisateur supplémentaire dans Frame.io.
Améliorations apportées aux actions dans la version 4
En nous appuyant sur les retours d’expérience des utilisateurs de notre version héritée, nous avons intégré plusieurs améliorations à l’ensemble des fonctionnalités Actions de Frame.io V4 :
Auparavant limités aux champs de texte et aux champs à sélection unique, nous prenons désormais également en charge la sélection multiple, les zones de texte (pour une zone de saisie plus grande) et les champs booléens (pour les boutons radio).
Les champs de texte ne facilitent pas le copier-coller d’URL pour les utilisateurs. Utilisez notre nouveau champ de lien pour profiter d’une expérience de copie simple, en un seul clic.
En fonction du volume de données renvoyées, vous pouvez compter sur la fenêtre modale de votre action pour s’adapter dynamiquement à la taille des informations contenues dans votre formulaire, y compris avec une possibilité de défilement si nécessaire.
Configurez votre action pour cibler jusqu’à 100 ressources en une seule requête.
NOUVEAU
Les actions ne se limitent pas à un seul type de ressource ; elles peuvent être déclenchées sur une combinaison de fichiers, de dossiers et de piles de versions.
Nous souhaitons connaître l’avis des développeurs et des utilisateurs finaux sur la manière dont vous utilisez les actions. C’est pourquoi nous avons ajouté un formulaire de commentaires dans la page des paramètres sur le Web.
Actions migrées
Il y a quelques points à garder à l’esprit lors de la migration vers un compte Frame.io V4 contenant des actions personnalisées créées précédemment, dans la version héritée de Frame.io.
Statut de l’action
Lors de la migration du compte vers Frame.io V4, toutes les actions personnalisées créées dans les versions antérieures auront le statut « null » et seront automatiquement désactivées. Cela permet aux utilisateurs de mettre d’abord à jour leurs actions afin d’utiliser l’API V4 avant de les activer, car toute action non mise à jour ne fonctionnera pas. Pour identifier les actions ayant ce statut, rendez-vous sur la page des paramètres des actions et consultez la colonne « Statut » ou, si vous utilisez l’API, vérifiez le champ is_active.
Ressources pratiques : fichiers, dossiers et piles de versions
Étant donné que les différents types d’éléments sont traités comme des ressources distinctes dans l’API Frame.io V4, il convient de tenir compte de certains comportements lors de l’interprétation de l’identifiant de ressource reçu dans la payload de votre action. Le fonctionnement pour les fichiers individuels est simple, car l’identifiant correspond au fichier sur lequel l’action a été exécutée. De même, pour les dossiers, vous recevez l’identifiant du dossier sur lequel l’action a été exécutée ; toutefois, selon votre cas d’utilisation, plusieurs options s’offrent à vous pour définir le comportement de votre action. Utilisez l’ID du dossier pour effectuer des appels ultérieurs à l’API Frame.io si vous souhaitez interagir avec la ressource Dossier elle-même. Vous pouvez également récupérer les sous-dossiers de ce dossier afin d’effectuer d’autres opérations sur les ressources qu’ils contiennent. Lorsqu’une action est exécutée sur une pile de versions, votre payload contiendra l’ID de l’« élément principal », c’est-à-dire le fichier situé tout en haut de la pile et qui s’affiche dans l’interface utilisateur de Frame.io.
Pour en savoir plus sur les différences entre l’API Frame.io héritée et la version V4, consultez notre guide de migration.
Configurez des actions personnalisées dans l’API.
Une action personnalisée nécessite :
Configurer une action personnalisée
Lorsqu’un utilisateur déclenche une action personnalisée, Frame.io envoie une payload à l’URL que vous avez indiquée. L’application destinataire peut répondre par un code d’état HTTP pour accuser réception, ou par un rappel personnalisé qui affiche des éléments d’interface utilisateur supplémentaires dans Frame.io.
Il faut disposer des droits d’administrateur de compte pour créer des actions personnalisées pour un espace de travail. Demandez à votre administrateur de modifier vos autorisations si vous n’y avez pas accès.
Configuration avec plusieurs ressources
La prise en charge de plusieurs ressources dépend de la configuration et doit être activée explicitement depuis la fenêtre de configuration de l’action sur le Web. Vous pouvez effectuer cette opération lors de la création d’une nouvelle action ou lors de la mise à jour d’une action existante.
Si la prise en charge de plusieurs ressources est activée, le format de la payload est immédiatement modifié. Les payloads héritées et celles prenant en charge plusieurs ressources s’excluent mutuellement.
Payload depuis Frame.io
Lorsque l’utilisateur clique sur votre action personnalisée, une payload est envoyée à l’URL que vous avez définie dans le champ URL. Utilisez cette payload pour identifier :
-
Sur quelle action personnalisée a-t-on cliqué ?
-
Sur quelle(s) ressource(s) a-t-on cliqué ?
-
Quel utilisateur a effectué cette action ?
-
Quel type d’événement a été déclenché ?
-
Quel compte est associé à l’action personnalisée ?
-
Quel espace de travail est associé à l’action personnalisée ?
-
Quel projet contient la ou les ressources ?
Payload : prise en charge d’une ou de plusieurs ressources
À l’origine, les actions personnalisées n’acceptaient qu’une seule ressource par requête, via un objet de ressource contenant un seul élément. Lorsque la prise en charge de plusieurs ressources est activée, la payload utilise une liste de ressources comprenant une ou plusieurs ressources (avec un maximum de 100 ressources par requête).
Payload héritée : prise en charge d’une seule ressource
Migration depuis la payload héritée
La payload héritée est appelée à être supprimée ; il est vivement recommandé aux utilisateurs de migrer leurs services afin de prendre en charge la nouvelle payload.
En activant l’indicateur de configuration et en mettant à jour la gestion de votre payload, une action peut évoluer en toute transparence pour prendre en charge une payload à plusieurs ressources.
-
Remplacez l’utilisation de l’objet
resourceau singulier par la listeresources2. Mettez à jour le code pour parcourir la listeresources. -
Activez l’option de ressources multiples dans la configuration des actions.
Interactions, tentatives et délais d’expiration
L’interaction_id est un identifiant unique permettant de suivre l’évolution de l’interaction au fil du temps. Si vous n’avez pas besoin de répondre à l’utilisateur, renvoyez un code d’état 200, et le tour est joué. Bien que cela soit facultatif, nous vous recommandons d’inclure des informations sur le résultat de l’action, par exemple un message de réussite ou une alerte d’erreur. Les actions personnalisées prennent en charge les rappels de message.
Frame.io attend une réponse en moins de 10 secondes et effectue jusqu’à 5 tentatives de reconnexion en attendant une réponse positive. Dans l’idéal, la réponse est immédiate et les actions asynchrones se déclenchent après un événement déclencheur via une action personnalisée.
Créer un rappel de message
Dans votre réponse HTTP à l’événement webhook, vous pouvez renvoyer un objet JSON décrivant un message qui sera affiché à l’utilisateur à l’origine de la requête dans l’interface utilisateur de Frame.io.
Les messages vous permettent de faire part de vos commentaires à l’utilisateur directement dans l’interface utilisateur de Frame.io. Si vous avez besoin de recueillir des informations supplémentaires auprès de l’utilisateur, utilisez plutôt les rappels de formulaire.
Créer un rappel de formulaire
Imaginons que vous ayez besoin de plus d’informations avant de vous lancer dans cette démarche. Par exemple, il se peut que vous deviez charger du contenu vers un système qui nécessite des informations supplémentaires. Vous pouvez inclure un formulaire dans votre réponse, que l’utilisateur remplit puis vous renvoie. Voici un exemple :
Lorsque l’utilisateur envoie le formulaire, vous recevez une notification à la même URL que celle de la requête POST initiale :
Tous les champs personnalisés ajoutés à un formulaire apparaissent dans la section data de la payload JSON envoyée par Frame.io. Utilisez l’interaction_id pour associer la requête initiale à ces nouvelles données de formulaire. Vous pouvez répondre par un message ou ajouter un autre formulaire. En enchaînant des actions, des formulaires et des messages, vous pouvez programmer efficacement des workflows en plusieurs étapes dans Frame.io en intégrant la logique métier d’un système externe.
Détails du formulaire
Tout comme les messages, les formulaires prennent en charge les attributs title et description, qui s’affichent en haut du formulaire. De plus, chaque champ du formulaire accepte les attributs de base suivants :
- type : indique à l’interface utilisateur de Frame.io le type de données attendu, ainsi que le composant et le rendu. * label : s’affiche dans l’interface utilisateur sous forme d’en-tête au-dessus du champ.
- name : clé permettant d’identifier le champ dans la prochaine payload. * value : valeur à utiliser pour préremplir le champ.
Types de champs pris en charge
Champ de texte
Un champ de texte simple, sans paramètres supplémentaires.
Zone de texte
Une zone de texte simple, sans paramètres supplémentaires.
Liste de sélection
Définit une liste de sélection parmi laquelle l’utilisateur peut faire son choix. Doit comporter une liste d’options, dont chacune doit comporter un attribut name lisible par l’utilisateur et une value analysable par un système informatique.
Case à cocher
Une simple case à cocher sans paramètres supplémentaires.
Lien
Un simple lien sans paramètres supplémentaires.
Le modèle d’autorisations de Frame.io
Les actions personnalisées suivent un modèle d’autorisations particulier : elles sont associées à un espace de travail, et non à un utilisateur spécifique appartenant à un compte. Concrètement :
-
Tout administrateur peut créer une action personnalisée dans un espace de travail.
-
Tout administrateur peut modifier ou supprimer une action personnalisée existant au sein d’une équipe.
-
Une fois la modification effectuée, tous les utilisateurs voient immédiatement le résultat.
Sécurité et vérification
Par défaut, toutes les actions personnalisées sont associées à une clé de signature générée lors de leur création. Ce paramètre n’est pas configurable. Cette clé permet de vérifier que la requête provient bien de Frame.io. La requête POST contient les éléments suivants :
L’horodatage indique l’heure à laquelle la requête a été signée au moment où elle a quitté le réseau de Frame.io. Ces informations permettent de prévenir les attaques par rejeu. Nous vous recommandons de vérifier que cette heure ne s’écarte pas de plus de 5 minutes de l’heure locale.
La signature est un hachage HMAC SHA-256 généré à l’aide de la clé de signature fournie lors de la création initiale de l’action personnalisée.
Vérification de la signature
La signature fournie est précédée de v0=. Actuellement, Frame.io ne dispose que de cette version pour signer les requêtes. Vous devrez ajouter ce préfixe à votre signature calculée.
Commentaires sur la version bêta
Nous serions ravis de connaître les souhaits et attentes des développeurs et des utilisateurs finaux relatifs à l’utilisation des actions dans Frame.io V4. N’hésitez pas à nous faire part de vos questions, idées et cas d’utilisation afin de nous aider à définir nos priorités.