Entwürfe, Vorschau und Veröffentlichung
Diese Seite richtet sich an App-Entwickler, die gefragt werden: „Können Redakteure sehen, wie das in der App aussieht, bevor es live geht?“, und an die Redakteure, die diese Frage stellen. Sie erklärt, was die APIs für unveröffentlichte Inhalte bieten und wie Sie eine Vorschau bauen.
Inhalt
- Was die REST-API liest
- Versionen und Entwürfe über die Remote-Dienste
- Eine App-Vorschau bauen
- Aus einer App veröffentlichen
- Was Redakteure wissen sollten
Was die REST-API liest
Lesezugriffe auf Knoten und Objekte bauen die Antwort aus dem veröffentlichten Inhalt; die REST-Routen haben keinen Parameter für Versionen oder Entwürfe (Routenreferenz). Der Entwurf eines Redakteurs ist für die App unsichtbar, bis er veröffentlicht wird.
Versionen und Entwürfe über die Remote-Dienste
Die Domäne expversion (deklariert in extension/expservices/classes/content/expversionservices.php) liest
Versionen:
| Dienst | Argumente | Zugriff |
|---|---|---|
expversion::list | Objekt-ID, Limit, Offset | content/versionread |
expversion::drafts | Objekt-ID | content/versionread |
expversion::myDrafts | Limit, Offset | content/edit |
expversion::dataMap | Objekt-ID, Version, Sprache | content/versionread |
expversion::viewUrl | Objekt-ID, Version, Sprache | content/versionread; die relative URL, die eine Version auf der Website in der Vorschau zeigt |
expversion::publish (schreibend) | Objekt-ID, Version | content/publish |
content/versionread ist ein Recht für Redakteure. Der Benutzer einer öffentlichen App darf es nicht haben.
Eine App-Vorschau bauen
Das für Headless-Frontends empfohlene Muster lautet: „die Entwurfsversion über einen authentifizierten Aufruf mit Redakteursrechten lesen und in einer geschützten Vorschauroute rendern“ (Headless Exponential). Für eine App:
- Ein Vorschau-Build der App (oder ein Vorschaumodus hinter einer Redakteursanmeldung), der sich als Redakteur anmeldet.
- Der Redakteur öffnet einen Eintrag; die App listet dessen Entwürfe mit
expversion::draftsauf und liest einen davon mitexpversion::dataMap::<object id>::<version>::<language>. - Die App rendert den Entwurf mit denselben Bildschirmen wie veröffentlichte Inhalte, deutlich als Vorschau gekennzeichnet.
expversion::dataMap antwortet im Attributformat von expservices, nicht im Feldformat von REST; die Vorschau braucht
deshalb eine kleine Zuordnungsschicht. Testen Sie sie mit jeder Klasse, die die App anzeigt.
Aus einer App veröffentlichen
Eine Redakteurs-App kann einen Entwurf mit expversion::publish (POST, content/publish) veröffentlichen oder mit
dem Anlegen über REST beziehungsweise expnode::create in einem Schritt anlegen und veröffentlichen. Der
Veröffentlichungs-Workflow der Website läuft wie in der Administrationsoberfläche, Freigabeschritte gelten also
weiterhin.
Was Redakteure wissen sollten
- Durch das Veröffentlichen wird der Eintrag für die App sichtbar, möglicherweise erst, nachdem der Antwort-Cache des Servers abgelaufen ist (standardmäßig zehn Minuten) und die App das nächste Mal aktualisiert.
- Felder, die die App anzeigt (Teaser, Hauptbild), brauchen Inhalt, auch wenn das Template der Website sie nicht anzeigt.
- Wird ein Eintrag entfernt oder aus einem Ordner verschoben, den die App anzeigt, verschwindet er bei der nächsten Synchronisierung aus der App.
Verwandte Seiten
- Entwürfe und ausstehende Einträge
- Inhaltsverlauf
- Veröffentlichen und Versionen
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.