Apps

Eine App bringt ein eigenes Werkzeug in die Konsole, neben die Inhalte, an denen es arbeitet. Ihre Oberfläche ist eine Webseite, die Sie selbst hosten, und sie liest und schreibt über dieselbe GraphQL-API, die Ihre Anwendung nutzt.

Vier Platzierungen

Die Seite einer App wird als iframe in die Konsole eingebettet, an einer von vier Stellen: als ganze Seite in der Navigation, als Tab im Datensatz-Editor, als Seitenleisten-Panel im Datensatz-Editor oder als Feld-Editor, der die Standardeingabe eines Felds ersetzt. Ein Tab oder eine Seitenleiste ist an Modelle gebunden und erscheint, wenn ein Datensatz eines passenden Modells geöffnet ist.

Mit dem Datensatz arbeiten

Editor-Platzierungen sprechen mit der Konsole über das Editor-SDK in @foir/sdk, das React 18 oder neuer braucht. Die Konsole sendet beim Laden der Seite Werte, Schema und Theme des Datensatzes und behält die Verantwortung für Speichern, Veröffentlichen und Versionierung. Eine ganze Seite handelt als das Teammitglied, das sie ansieht, nur mit den Scopes, die ihre Platzierung deklariert und die diese Person ebenfalls besitzt. Ihr Token gilt jeweils fünf Minuten und endet, wenn die Person sich abmeldet.

Ein Manifest

Eine App wird durch ein JSON-Manifest unter einer https-URL Ihrer Wahl beschrieben, dessen einzige Pflichtfelder name und version sind. Über eine Seite hinaus kann eine App Zugangsdaten, Operationen, Lifecycle-Hooks und Datenformen beisteuern, die bei der Installation auf Ihre Modelle abgebildet werden. Sie besitzt nie Modelle.

Installation und der Marktplatz

Installieren Sie eine App aus dem Marktplatz oder durch Einfügen ihrer Manifest-URL. Der Marktplatz ist kuratiert, und eine App, die nicht gelistet ist, wird über ihre URL installiert. In beiden Fällen zeigt die Installationsvorschau genau, was jede Operation der App lesen oder schreiben kann.

Werkzeuge für ein Projekt

Für ein einzelnes Projekt kann man einen Tab oder eine Seitenleiste direkt in foir.config.ts deklarieren und pushen. Bauen Sie eine App, wenn das Werkzeug projektübergreifend wiederverwendet wird. Die Seite, die Sie ausliefern, muss die Konsole als Frame-Ancestor erlauben, sonst rendert der Browser sie leer, und das SDK stellt dafür placementFrameAncestors bereit.

Details nachlesen

Die Apps-Anleitung behandelt das Manifest, jede Platzierung, was eine App beisteuern kann und wie Installationen und Updates funktionieren.