Core Concepts

Trennung Datenmodell & Views

Erfahre warum Pagedoctor das Datenmodell von Views (Templates) trennt.

Pagedoctor trennt das Datenmodell und die Template-Dateien grundsätzlich in zwei unterschiedliche Composer-Pakete. So können alle Template-Dateien in einer Extension verwaltet werden, während das Datenmodell als Composer-Artefakte in einem dafür vorgesehen Verzeichnis liegen. Die Verzeichnisstruktur sieht dabei wie folgt aus:

                project/
├─ artifacts/
│  ├─ pagedoctor-documentation-1.0.1.zip
│  ├─ pagedoctor-documentation-1.0.2.zip
│  ├─ pagedoctor-documentation-1.0.3.zip
├─ local_packages/
│  ├─ pagedoctor-documentation-views/
│  ├─── Resources/
│  ├────── Private/
│  ├───────── Templates/
│  ├──────────── 1.0.1/
│  ├──────────── 1.0.2/
│  ├──────────── 1.0.3/
├─ vendor/
│  ├─ pagedoctor/
│  ├─── documentation/
│  ├────── <aktuell installiertes Artefakt>
            

Keine Migrationen. Keine Probleme.

Da Pagedoctor das Datenmodell von den Templates (Views) trennt ist eine Entwicklung oder Modifizierung von Inhaltstypen auch im Produktivbetrieb ohne Datenbankmigrationen und ohne Git-Versionierung möglich.

Pagedoctor benutzt eine neuartige herangehensweise und trennt das Datenmodell von den Template-Dateien. Das Datenmodell wird in sogenannten Composer-Artefakten (engl. artifacts) gekapselt und im Vendor-Verzeichnis installiert. Template-Dateien (und die Verzeichnisstruktur) werden automatisch von Pagedoctor bei dem Deployment eines neuen Artefakts generiert. So kann im Produktionsbetrieb an Templates gearbeitet werden und im richtigen Zeitpunkt das entsprechende Artefakt installiert werden. Es muss nur sichergestellt werden das die neuen Templates vorhanden sind. Pagedoctor macht aber auch dies einfacher da es bereits für die einzelnen Inhaltstypen die Template-Dateien mit Boilerplate-Code vorgeneriert.