Wenn Inhalte des OES Projekts versioniert werden sollen (zum Beispiel Artikel), dann kann dafür ein versionsabhängiger Inhaltstyp definiert werden. Für Beiträge diesen Inhaltstyps existieren dann neben den versionsabhängigen Daten des Beitrags versionsübergreifende Daten, die in einem weiteren (internen) Beitrag anderen Inhaltstyps gesammelt werden. Für einen versionabhängigen Inhaltstypen muss daher für den Inhaltstypen „Child“ ein zweiter Inhaltstyp „Parent“ angelegt und beide miteinander verknüpft werden.
Anlegen eines neuen versionsabhängigen Inhaltstypen im Überblick
- Inhaltstypen Child anlegen – siehe: einen Inhaltstypen anlegen
- Feldgruppe zum Child anlegen – siehe: Feldgruppen anlegen und bearbeiten
- Inhaltstypen Parent anlegen
- Feldgruppe zum Parent anlegen
- Factory in das OES-Datenmodell importieren – siehe: das OES Factory Datenmodell übernehmen
- Verknüpfung der Inhaltstypen im OES-Schema
- Kontrolle und Modifizierung eines Containerobjekt im Navigationsmenü
- Permalinks aktualisieren – siehe: Permalinks anpassen
Inhaltstypen Parent anlegen
Existiert der Inhaltstyp Child (die ersten beiden Schritte) kann ein weiterer Inhaltstyp als Parent erstellt werden. Dafür muss in der ACF-Oberfläche der Reiter „Inhaltstypen“ geöffnet werden und über die Schaltfläche „+ Neu hinzufügen“ ein neuer Inhaltstyp angelegt werden.
Folgende Felder sollten im Formular zum Anlegen eines neuen Inhaltstyp als Parent definiert werden:
- Beschriftung (Plural): Bezeichnung des Objekttyps im Plural – wie die Child-Version – , z. B. „Contributions Parents“
- Beschriftung (Einzahl): Bezeichnung des Objekttyps im Singular, z. B. „Contribution Parent“
- Inhaltstyp-Schlüssel: sollte Projektkürzel (Project key) enthalten, für eine leichtere Zuordnung, und den Inhaltstyp – wie die Child-Version aber gefolgt von _p für Parent, z. B. hier „demo_contribution_p“
- Taxonomien: Auswahl einer im Projekt angelegten Taxonomie aus einem Dropdownmenü, hier „keyword“
- Öffentlich: für die Sichtbarkeit des Objekts in der linken Menüleiste der Redaktionsumgebung „aktivieren“.

Die erweiterte Konfiguration kann wie beim Erstellen des Inhaltstypen Child erfolgen, Anpassungen über „erweiterte Einstellungen“ sind aber nur in seltenen Fällen tatsächlich notwendig. Es ist aber zu empfehlen vor dem Speichern im Reiter „Allgemein“ zu verifizieren, dass das Formular des Inhaltstyp einen Titel beinhaltet und der Inhaltstyp „Aktiv“ ist.

In den erweiterten Einstellungen kann unter Sichtbarkeit konfiguriert werden, ob die neuen Inhaltstypen im Navigationsmenü zu sehen sind. Da nach dem Verknüpfen der beiden Inhaltstypen automatisch ein Container mit beiden Inhaltstypen angelegt wird sollte für beide Inhaltstypen die Option ausgestellt werden. Es kann aber praktisch sein die Menüpunkte erst zu einem späteren Zeitpunkt auszublenden, zum Beispiel um während des Erstellens der Inhaltstypen und deren Feldgruppen bessere visuelle Kontrolle zu haben. In dem Fall werden die beiden Inhaltstypen ohne Einschränkung in der Sichtbarkeit angelegt. Nach Abschluss der Schemakonfiguration kann das Datenmodell erneut in die OES Data Factory geladen werden, die Sichtbarkeit eingeschränkt und anschließend das modifizierte Datenmodell wieder importiert werden.

Feldgruppen zum Inhaltstypen anlegen
Wie für den Inhaltstypen Child zuvor können nun Feldgruppen für den Inhaltstypen Parent angelegt werden, siehe Feldgruppen anlegen und bearbeiten. Nach dem Abspeichern und spätestens mit dem abschließenden Import aus der OES Factory in das OES-Datenmodell werden für die Inhaltstypen automatisch weitere Felder generiert, um die Versionierung an den Beiträgen steuern zu können, diese müssen nicht manuell angelegt werden.
Anschließend muss das modifizierte Datenmodell in die Datenbank übernommen werden, siehe das OES Factory Datenmodell übernehmen.
Verknüpfung der Inhaltstypen im OES-Schema
Wenn die Inhaltstypen in vorherigen Schritten uneingeschränkter Sichtbarkeit angelegt wurden, dann sollten nun zwei neue Inhaltstypen, im Beispiel „Contribution Parents“ und „Contributions“, im Navigationsmenü zu sehen sein. In beiden Fällen tauchen die neuen Inhaltstypen unter „OES Settings/Schema“ in der Statusübersicht auf.

Zur Verknüpfung muss nun beiden neuen Inhaltstypen ein „Versioning/Parent Object“ zugeordnet werden. Dafür zunächst über die Statusseite des Schemas das entsprechende Formular öffnen. Für den Inhaltstyp Child muss als Parent Object der Inhaltstyp Parent eingetragen werden, respektive für den Inhaltstyp Parent als Child Parent der Inhaltstyp Child. Für den Inhaltstypen Child muss als Schematyp „Content“ eingestellt werden. Weitere Konfiguration können beliebig vorgenommen werden, es empfiehlt sich dem Inhaltstyp Parent den Schematyp „Internal Object“ zuzuweisen. Für mehr Information zur Schemakonfiguration siehe das Kapitel Schema.


Containerobjekt
Durch das Abspeichern der Schemakonfigurationen wird automatisch ein Containerelement mit den beiden Inhaltstypen genieriert. Dieser Container kann über die OES Settings weiter konfiguriert werden.
