Custom Actions
Durch Frame.io-Actions erhalten Sie schnellen Zugriff auf gängige Medienvorgänge wie Herunterladen, Umbenennen und Duplizieren von Elementen. Außerdem ist die Integration von Drittanbieter-Tools und -Services direkt in die Bedienoberfläche von Frame.io möglich.
Über Actions
Mit der Einführung von Custom Actions können Entwickelnde in Frame.io V4 ihre eigenen Actions konfigurieren und verwalten. Auf Basis desselben zugrunde liegenden Ereignissystems wie bei Webhooks sind Custom Actions ein alternativer Mechanismus für Entwickelnde, um ihre Assets mit den Tools zu verknüpfen, die für die Benutzenden in ihrem Frame.io-Konto am wichtigsten sind.
Actions können von allen Benutzenden ausgeführt werden, die Mitglied des Frame.io-Arbeitsbereichs sind, in dem die Action aktiviert ist.Bei der Ausführung einer Action wird von Frame.io eine Payload an eine bereitgestellte URL gesendet.Die empfangende Anwendung reagiert zur Empfangsbestätigung mit einem HTTP-Statuscode oder mit einem selbstdefinierten Rückruf, um zusätzliche Formularfelder in der Frame.io-Bedienoberfläche zu rendern.Bei der empfangenden Anwendung kann es sich um Ihr eigenes gehostetes Programm handeln, einen Dienst oder sogar ein Low-Code/No-Code-IPaaS-Tool wie Workfront Fusion oder Zapier.
Mit Custom Actions erstellen Sie Integrationen direkt in Frame.io als programmierbare UI-Komponenten. Dies ermöglicht Workflows, die von Benutzenden innerhalb der App ausgelöst werden können und dabei dasselbe zugrunde liegende Ereignisrouting nutzen wie Webhooks.Sie können von Benutzenden ausgelöste ein- oder mehrstufige Formulare erstellen, die als weiteres Formular oder als einfache Antwort an Frame.io zurückgesendet werden.Wenn Benutzende bei einem Asset auf eine Custom Action klicken, wird von Frame.io eine Payload an eine bereitgestellte URL gesendet.Die empfangende Anwendung reagiert zur Empfangsbestätigung mit einem HTTP-Statuscode oder mit einem selbstdefinierten Rückruf, mit dem in Frame.io zusätzliche Bedienoberfläche gerendert werden kann.
Verbesserungen an Actions in V4
Basierend auf den Erkenntnissen von Benutzenden unserer Vorgängerversion haben wir in Frame.io V4 eine Reihe von Verbesserungen am Leistungsumfang der Actions vorgenommen:
Früher gab es nur Text- und Einzelauswahl-Felder; jetzt werden auch Mehrfachauswahl, Textbereich (für ein größeres Textfeld) und ein Boolesches Feld (für ein Optionsfeld) unterstützt.
Textfelder machen es Benutzenden nicht leicht, URLs zu kopieren/einzufügen.Mit unserem neuen Link-Feld erhalten Sie ein einfaches 1-Klick-Kopiererlebnis.
Je nach Menge der zurückgegebenen Daten können Sie darauf vertrauen, dass das Modal Ihrer Action dynamisch angepasst wird, um die Informationen in Ihrem Formular optimal anzuzeigen. Dies umfasst bei Bedarf auch scrollbare Modale.
Konfigurieren Sie Ihre Action so, dass in einer Anfrage bis zu 100 Assets verarbeitet werden können.
NEU
Actions sind nicht auf einen Medientyp beschränkt. Sie können durch eine Kombination aus Dateien, Ordnern und Versionsstapeln ausgelöst werden.
Wir möchten von Entwickelnden und Endbenutzenden hören, wie Sie Actions verwenden. Deshalb haben wir auf der Einstellungsseite im Web ein Feedback-Formular bereitgestellt.
Migrierte Actions
Es gibt ein paar Dinge zu beachten, wenn Sie nach einem Frame.io V4-Konto migrieren, das Custom Actions enthält, die zuvor in der älteren Version von Frame.io erstellt wurden.
Action-Status
Nach der Kontomigration nach Frame.io V4 haben alle Custom Actions, die in früheren Versionen erstellt wurden, den Status „null“ und werden automatisch deaktiviert.Dies gibt Benutzenden die Möglichkeit, zuerst Ihre Actions für die Verwendung der V4-API zu aktualisieren, bevor sie aktiviert werden, da alle nicht aktualisierten Actions fehlschlagen werden.Um Actions in diesem Zustand zu identifizieren, besuchen Sie die Actions-Einstellungsseite und sehen Sie in der Spalte „Status“ nach. Falls Sie die API nutzen, überprüfen Sie das Feld is_active.
Ausführbare Ressourcen: Dateien, Ordner und Versionsstapel
Aufgrund der Abspaltung von Medientypen als separate Ressourcen in der Frame.io V4-API gilt es möglicherweise, das Verhalten zu berücksichtigen, wenn Sie die Ressourcen-ID interpretieren, die in der Payload Ihrer Action empfangen wird.Das Verhalten bei einzelnen Dateien ist unkompliziert, da die ID die spezifische Datei widerspiegelt, an der die Action ausgeführt wurde.Ebenso erhalten Sie bei Ordnern die ID für den Ordner, an dem die Action ausgeführt wurde. Je nach Anwendungsfall jedoch haben Sie bei der Definition des Verhaltens Ihrer Action mehrere Optionen.Senden Sie mithilfe der Ordner-ID nachfolgende Aufrufe an die Frame.io-API, wenn Sie mit der Ordner-Ressource selbst interagieren möchten.Alternativ möchten Sie vielleicht die untergeordneten Elemente dieses Ordners abrufen, um die Assets darin weiter zu verarbeiten.Wenn eine Action an einem Versionsstapel ausgeführt wird, enthält die Payload die ID für das „Head Asset“. Dies ist die oberste Datei im Stapel, die in der Bedienoberfläche von Frame.io angezeigt wird.
In unserem Migrationsleitfaden erfahren Sie mehr über die Unterschiede zwischen der älteren Version der Frame.io-API und V4.
Konfigurieren Sie Custom Actions mit der API.
Für eine Custom Action ist Folgendes erforderlich:
Konfigurieren der Custom Action
Wenn Benutzende eine Custom Action auslösen, wird von Frame.io eine Payload an eine bereitgestellte URL gesendet.Die empfangende Anwendung kann zur Empfangsbestätigung mit einem HTTP-Statuscode reagieren oder mit einem selbstdefinierten Rückruf, mit dem in Frame.io zusätzliche Bedienoberfläche gerendert wird.
Sollen Custom Actions für einen Arbeitsbereich erstellt werden, sind Berechtigungen der Kontoadmins erforderlich.Bitten Sie Ihre Admins, Ihre Berechtigungen zu ändern, wenn Sie keinen Zugriff haben.
Multi-Asset-Konfiguration
Multi-Asset-Unterstützung ist konfigurationsgesteuert und muss explizit über das Konfigurations-Modal der Action im Web aktiviert werden.Dies kann während der Erstellung einer neuen Action oder beim Aktualisieren einer vorhandenen Action erfolgen.
Wenn die Multi-Asset-Unterstützung aktiviert wird, wird das Payload-Format sofort umgestellt.Die älteren und von mehreren Assets unterstützten Payloads schließen sich gegenseitig aus.
Payload von Frame.io
Wenn Benutzende auf Ihre Custom Action klicken, wird eine Payload an die URL gesendet, die Sie im URL-Feld festgelegt haben.Mit dieser Payload identifizieren Sie Folgendes:
-
Auf welche Custom Action wurde geklickt?
-
Auf welche Ressource(n) wurde geklickt?
-
Welcher Benutzer bzw. welche Benutzerin hat die Action ausgeführt?
-
Welcher Ereignistyp wurde ausgelöst?
-
Welches Konto ist mit der Custom Action verknüpft?
-
Welcher Arbeitsbereich ist mit der Custom Action verknüpft?
-
Welches Projekt enthält die Ressource(n)?
Payload – Unterstützung für einzelne oder mehrere Assets
Von Custom Actions wurde ursprünglich nur ein Asset pro Anfrage akzeptiert, wobei ein resource-Objekt mit einem Asset verwendet wurde.Wenn Multi-Asset-Unterstützung aktiviert ist, wird in der Payload eine resources-Liste mit einem oder mehreren Assets verwendet (mit maximal 100 Assets in einer Anfrage).
Ältere Payload – Nur Unterstützung für einzelne Assets
Migration von der älteren Payload
Ältere Payload soll eingestellt werden
Die ältere Payload soll eingestellt werden. Benutzenden wird dringend empfohlen, ihre Dienste zu migrieren, damit die neue Payload verarbeitet werden kann.
Indem Sie das Konfigurations-Flag aktivieren und Ihre Payload-Verarbeitung aktualisieren, kann eine Action nahtlos in die Unterstützung einer Multi-Asset-Payload übergehen.
1.Die Verwendung des einzelnen resource-Objekts wird durch die resources-Liste ersetzt. 2.Code wird aktualisiert, um über die resources-Liste zu iterieren.
3.In der Actions-Konfiguration wird das Multi-Asset-Flag aktiviert.
Interaktionen, Wiederholungen und Timeouts
Die interaction_id ist ein eindeutiger Bezeichner zur Verfolgung der Interaktion während ihrer Entwicklung im Zeitverlauf.Wenn Sie dem Benutzer bzw. der Benutzerin nicht antworten müssen, geben Sie den Statuscode 200 zurück, dann sind Sie fertig.Obwohl optional, empfehlen wir, Informationen über das Ergebnis der Action einzubeziehen, etwa eine Erfolgsmeldung oder eine Fehlermeldung.Mit Custom Actions sind Nachrichtenrückrufe möglich.
Eine Antwort sollte innerhalb von 10 Sekunden bei Frame.io eingehen. Es wird bis zu 5 Mal wird versucht, eine erfolgreiche Antwort zu erhalten.Idealerweise trifft die Antwort sofort ein, und asynchrone Aktionen treten nach einem Trigger über eine Custom Action auf.
Erstellen eines Nachrichtenrückrufs
In Ihrer HTTP-Antwort auf das Webhook-Ereignis können Sie ein JSON-Objekt zurückgeben, in dem eine Nachricht beschrieben wird, die in der Frame.io-Bedienoberfläche an initiierende Benutzende zurückgegeben wird.
Mit Nachrichten können Sie Benutzenden direkt in der Frame.io-Bedienoberfläche Feedback geben.Wenn Sie zusätzliche Informationen von Benutzenden sammeln müssen, verwenden Sie stattdessen Formularrückrufe.
Erstellen eines Formularrückrufs
Angenommen, Sie benötigen mehr Informationen, bevor Sie Ihren Prozess starten.Sie laden z. B. möglicherweise Inhalte in ein System hoch, das zusätzliche Details erfordert.Sie können in Ihrer Antwort ein Formular abbilden, das von Benutzenden ausgefüllt und an Sie zurückgesendet wird.Es folgt ein Beispiel:
Wenn Benutzende das Formular absenden, erhalten Sie auf derselben URL wie der ursprüngliche POST ein Ereignis:
Alle selbstdefinierten Felder, die einem Formular hinzugefügt wurden, erscheinen in der von Frame.io gesendeten JSON-Payload im Abschnitt data.Mit der interaction_id ordnen Sie die ursprüngliche Anfrage und diese neuen Formulardaten einander zu.Sie können mit einer Nachricht antworten oder ein weiteres Formular verknüpfen.Durch die Verkettung von Actions, Formularen und Nachrichten können Sie in Frame.io effektiv mehrstufige Workflows mit Geschäftslogik von einem externen System programmieren.
Formulardetails
Wie bei Nachrichten werden die Attribute title und description unterstützt, die oben im Formular angezeigt werden.Darüber hinaus werden von jedem Formularfeld die folgenden Basisattribute akzeptiert:
- type – Teilt der Frame.io-Bedienoberfläche mit, welche Art von Daten erwartet werden und welche Komponente gerendert werden soll.* label – Erscheint in der Bedienoberfläche als Header über dem Feld.
- name – Schlüssel, über den das Feld in der nachfolgenden Payload identifiziert wird.* value – Wert, mit dem das Feld vorab ausgefüllt wird.
Unterstützte Feldtypen
Textfeld
Ein einfaches Textfeld ohne zusätzliche Parameter.
Textbereich
Ein einfacher Textbereich ohne zusätzliche Parameter.
Auswahlliste
Definiert eine Auswahlliste, in der Benutzende wählen können.Muss eine options-Liste enthalten, deren Mitglieder jeweils einen von Menschen lesbaren name und einen maschinenlesbaren value enthalten sollten.
Kontrollkästchen
Ein einfaches Kontrollkästchen ohne zusätzliche Parameter.
Verknüpfen
Ein einfacher Link ohne zusätzliche Parameter.
Das Frame.io-Berechtigungsmodell
Bei Custom Actions gibt es ein besonderes Berechtigungsmodell: Sie gehören zu einem Arbeitsbereich, nicht zu bestimmten Benutzenden, die in einem Konto existieren.Das bedeutet:
-
Alle Admins können in einem Arbeitsbereich eine Custom Action erstellen.
-
Alle Admins können eine Custom Action ändern oder löschen, die in einem Team existiert.
-
Nach einer Änderung sehen alle Benutzenden sofort das Ergebnis der Änderung.
Sicherheit und Verifizierung
Standardmäßig wird für alle Custom Actions während ihrer Erstellung ein Signaturschlüssel generiert.Das ist nicht konfigurierbar.Mit diesem Schlüssel kann verifiziert werden, dass die Anfrage von Frame.io stammt.In der POST-Anfrage ist Folgendes enthalten:
Der Zeitstempel ist die Uhrzeit, zu der die Anfrage auf ihrem Weg aus dem Frame.io-Netzwerk signiert wurde.Damit können Replay-Angriffe verhindert werden.Wir empfehlen, zu verifizieren, dass diese Zeit innerhalb von 5 Minuten der lokalen Zeit liegt.
Die Signatur ist ein HMAC-SHA-256 Hash, in dem der Signaturschlüssel verwendet wird, der bei der Ersterstellung der Custom Action bereitgestellt wird.
Signatur verifizieren
Der bereitgestellten Signatur ist das Präfix v0= vorangestellt.Derzeit gibt es in Frame.io nur diese eine Version für das Signieren von Anfragen.Dieses Präfix müssen Sie Ihrer berechneten Signatur hinzufügen.
Feedback
Wir möchten gerne von Entwickelnden und Benutzenden erfahren, wie sie Actions in Frame.io V4 nutzen möchten.Wenden Sie sich gerne mit Ihren Fragen, Ideen und Anwendungsfällen an uns, um unsere Priorisierung mitzugestalten.