Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Versionen, Entwürfe und Veröffentlichen

Für CMS-Entwickler das Leben einer Version. Die Seite behandelt Entwürfe, Veröffentlichen und archivierte Versionen, was die Veröffentlichungsoperation für Sie erledigt, Grenzen und Bereinigung des Versionsverlaufs…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/cms-developers/versions-drafts-and-publishing.md

On this page

This page is a translation. Read the English original

Versionen, Entwürfe und Veröffentlichen

Diese Seite richtet sich an Entwickler, die wissen müssen, was zwischen dem Klick eines Redakteurs auf Bearbeiten und der Änderung der Seite auf der Website geschieht, weil ihre Templates, Workflows, Importe und Caches davon abhängen.

Inhalt

  1. Eine Version wird nach dem Veröffentlichen nie bearbeitet
  2. Versionsstatus
  3. Was das Veröffentlichen tut
  4. Wie viele Versionen aufbewahrt werden
  5. Entwürfe, automatisches Speichern und verwaiste Entwürfe
  6. Vorschau
  7. Veröffentlichen und Verbergen zu einem Datum
  8. Asynchrones Veröffentlichen
  9. Für Ihren Code

Eine Version wird nach dem Veröffentlichen nie bearbeitet

Jedes Bearbeiten erzeugt eine neue Entwurfsversion mit einer Kopie jeder Übersetzung. Redakteure ändern den Entwurf; die veröffentlichte Version bleibt auf der Website, bis der Entwurf veröffentlicht wird. Das Veröffentlichen macht den Entwurf zur aktuellen Version und archiviert die vorherige. Redakteure finden ihre offenen Entwürfe unter Meine Entwürfe (/content/draft) und vergleichen oder stellen alte Versionen im Versionsverlauf eines Objekts wieder her (Versionen eines Objekts).

Versionsstatus

Die Status sind Konstanten von eZContentObjectVersion (kernel/classes/ezcontentobjectversion.php):

StatusWertBedeutung
STATUS_DRAFT0wird bearbeitet
STATUS_PUBLISHED1die aktuelle Version
STATUS_PENDING2wartet, zum Beispiel auf einen Freigabe-Workflow
STATUS_ARCHIVED3eine früher veröffentlichte Version
STATUS_REJECTED4von einem Freigebenden abgelehnt
STATUS_INTERNAL_DRAFT5ein vom System angelegter Entwurf, den der Redakteur noch nicht angefasst hat
STATUS_REPEAT6von Workflows verwendet, die erneut laufen
STATUS_QUEUED7wartet auf asynchrones Veröffentlichen

Was das Veröffentlichen tut

Das Veröffentlichen führt die Veröffentlichungsoperation des Kernels aus (content/publish). Unter anderem:

  • führt sie die Workflows aus, die mit den Auslösern für das Veröffentlichen verbunden sind und das Veröffentlichen anhalten oder verzögern können (Workflows und Auslöser);
  • macht sie die Version zur aktuellen, setzt den Namen des Objekts aus dem Namensmuster und aktualisiert die URL-Aliase;
  • aktualisiert sie den Suchindex, sofort oder über den Indexierungs-Cronjob, wenn verzögertes Indexieren eingeschaltet ist (Suche);
  • leert sie die View-Caches der Knoten des Objekts und verwandter Knoten gemäß viewcache.ini (Caching für CMS-Entwickler);
  • sendet sie Benachrichtigungen an Abonnenten, sofern ein Redakteur nicht ohne Benachrichtigung veröffentlicht hat (Ohne Benachrichtigung veröffentlichen).

Deshalb muss Code über den Kernel veröffentlichen und darf nie selbst Versionszeilen schreiben (Inhalte aus PHP).

Wie viele Versionen aufbewahrt werden

settings/content.ini [VersionManagement]:

EinstellungMitgeliefertBedeutung
DefaultVersionHistoryLimit45aufbewahrte Versionen je Objekt; die älteste archivierte Version entfällt, wenn die Grenze erreicht ist
VersionHistoryClass[<class id>][1]=75eine andere Grenze für eine Klasse (Klasse 1 ist der Ordner)
DraftsDuration[], DraftsCleanUpLimit90 Tage, 100das Alter und die Anzahl je Lauf alter Entwürfe, die der Cronjob old_drafts_cleanup.php entfernt; dieser Cronjob gehört im Auslieferungszustand zu keinem Teil
InternalDraftsDuration[], InternalDraftsCleanUpLimit1 Tag, 100Entfernen unberührter interner Entwürfe durch den Cronjob internal_drafts_cleanup.php

Um alte Versionen sofort zu entfernen, lesen Sie zuerst die Hilfe; ohne --help entfernt der Befehl Versionen:

./console exp:cleanupversions --help --allow-root-user

Entwürfe, automatisches Speichern und verwaiste Entwürfe

Ist die Erweiterung ezautosave aktiv, speichert das Bearbeitungsformular den Entwurf alle 180 Sekunden im Hintergrund (autosave.ini [AutosaveSettings] Interval), sodass ein Redakteur, der den Browser-Tab verliert, den Entwurf unter Meine Entwürfe wiederfindet. Entwürfe, die niemand veröffentlicht, bleiben, bis sie entfernt werden; nehmen Sie old_drafts_cleanup.php in einen Cronjob-Teil auf oder bitten Sie die Redakteure, sie zu entfernen (Meine Entwürfe und meine ausstehenden Elemente).

Vorschau

Redakteure sehen einen Entwurf vor dem Veröffentlichen in der Vorschau an. content.ini [VersionView] legt fest, welche Designs eine Vorschau verwenden kann (AvailableSiteDesignList[]) und welche Ansichtsmodi (ViewModes[], mitgeliefert full); eine Vorschau zeigt den Entwurf mit den Templates der Website, testen Sie Ihre Full-View-Templates also auch mit Entwürfen (Ansichtsmodi der Versionsvorschau).

Veröffentlichen und Verbergen zu einem Datum

Zwei Cronjobs des Standardteils reagieren auf Daten, die in Inhalten gespeichert sind (settings/cronjob.ini):

CronjobEinstellungWas er tut
unpublish.phpcontent.ini [UnpublishSettings] RootNodeList[], ClassList[]entfernt Objekte der aufgeführten Klassen unter den aufgeführten Knoten, sobald ihr Attribut unpublish_date in der Vergangenheit liegt
hide.phpcontent.ini [HideSettings] RootNodeList[], HideDateAttributeList[<class>]=<attribute>verbirgt Knoten, deren Datumsattribut in der Vergangenheit liegt

Beide Listen sind im Auslieferungszustand leer; es geschieht also nichts, bis Sie sie konfigurieren und Ihren Klassen das Datumsattribut hinzufügen. Eine Freigabe vor dem Veröffentlichen ist ein Workflow, kein Datum (Workflows und Auslöser).

Asynchrones Veröffentlichen

content.ini [PublishingSettings] AsynchronousPublishing=disabled ist der mitgelieferte Wert. Ist es eingeschaltet, reiht das Veröffentlichen die Version ein (Status STATUS_QUEUED), und ein Daemon, bin/php/ezasynchronouspublisher.php, veröffentlicht sie; die Composer-Metadaten vermerken, dass dafür die PHP-Erweiterung pcntl nötig ist. Verwenden Sie es nur, wenn Redakteure beim Veröffentlichen großer Objekte warten müssen, und betreiben Sie den Daemon unter Überwachung.

Für Ihren Code

  • In Templates liefern $node.object.current_version und $node.contentobject_version die Nummer der veröffentlichten Version; $node.object.published und $node.object.modified liefern die Daten.
  • Erzeugen Sie in PHP Versionen über eZContentFunctions::updateAndPublishObject(), das die Version anlegt, die Attribute setzt und die Veröffentlichungsoperation ausführt (Inhalte aus PHP).
  • Workflow-Events sehen die Version, die veröffentlicht wird, und können sie anhalten (Workflow-Event-Typen).

Verwandte Seiten

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.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x