Arbeitsablauf bei MetaModels
Der Arbeitsablauf zum Abbilden der eigenen Datenstruktur in MetaModels untergliedert sich in einzelne Arbeitsschritte, die nacheinander für jedes MetaModel durchgeführt werden müssen. Die folgende Beschreibung richtet sich an Einsteiger in MetaModels, die aufgrund einer „best practice“ erstellt wurde - versierte Benutzer werden bestimmte Schritte weiter zusammenfassen und gleich ergänzen.
Die einzelnen Schritte sind ausführlicher in den weiteren Artikeln des Bereiches Komponenten eines MetaModel ausgeführt.
Schritt 0: Konzept der Datenstruktur
Die Gesamtzahl der MetaModels und deren Verknüpfungen ergeben eine Datenbankstruktur, mit der die Daten in gewünschter Weise gespeichert, ausgegeben und gefiltert werden können. Insbesondere bei komplexeren Aufgabenstellungen hilft eine gute Planung um nachträgliche Änderungen zu vermeiden.
Es ist zu empfehlen, dass die Struktur der MetaModels und deren Verknüpfungen grafisch festgehalten wird. Das hilft sowohl bei der Erstellung als auch bei der Dokumentation.
In MetaModels stehen neben den klassischen Relationen wie Einfach- (1:n) oder Mehrfachverknüpfung (m:n) auch weitere Optionen zur Verfügung - mehr dazu in dem Artikel Relationen in MetaModels.
Im einfachsten Fall kann man das Schema mit Papier und Stift aufzeichnen - es gibt aber auch diverse Tools wie z. B. yEd oder die Online-Variante yEd live.
Als Beispiel eine Struktur für Mitarbeiter inkl. Verknüpfungen zu Abteilung und Projekten sowie eine Eigenreferenz für eine Urlaubsvertretung:
Für die Datenspeicherung und Relationen werden in MetaModels entsprechend Attribute benötigt - welche dafür zur Verfügung stehen, findet man auf Datentypen als Attribute anlegen.
Damit kann man auch auswählen, welche Pakete von MM neben dem Core zusätzlich zu installieren sind.
Schritt 1: Basiseinstellungen für ein MetaModel
Für die Basiseinstellungen sind die wichtigsten Einstellungen vorausgewählt, so dass nur die notwendigsten Angaben und
Auswahlen erfolgen müssen. Für eine leichtere Übersicht wo was zu finden ist, gibt es den
"MM-Lageplan" zum Download.
- 1:
Neues MetaModel anlegen Mehrsprachigkeit einstellen sofern notwendig
nach dem Speichern können die Icons von links nach rechts wie folgt angesteuert werden

- 1:
- 2:
Attribute anlegen nach dem Anlegen aller Attribute unbedingt DB-Migration (Contao-Manager oder Konsole) ausführen und Cache leeren
- 2:
- 3.a:
Render-Einstellung anlegen Grundeinstellung für die Listenansicht
- 3.a:
- 3.b:
Attribute in Render-Einstellung hinzufügen bestimmt, welche Attribute in der jeweiligen Liste für eine Ansicht zur Verfügung stehen
- 3.b:
- 4.a:
Eingabemaske anlegen Grundeinstellung für Eingabemaske
- 4.a:
- 4.b:
Attribute für Eingabemaske anlegen bestimmt, welche Attribute in der jeweiligen Eingabemaske für eine Ansicht zur Verfügung stehen
- 4.b:
- 5:
Eingabe-/Render-Zuordnungen anlegen angelegte Render-Einstellung und Eingabemaske auswählen und speichern
- 5:
Ist Punkt 5 abgeschlossen, sollte das neue MetaModel links in der Contao-Navigation in der Sektion „METAMODELS“ erscheinen.
Nun können bzw. sollten die ersten Test-Datensätze eingegeben werden.
Schritt 2: Basisausgabe
1: Seite und Artikel in Contao anlegen
2.a: In dem Artikel ein Inhaltselement „MetaModel-Liste“ anlegen
2.b: In der MetaModel-Liste das angelegte MetaModel sowie die Render-Einstellung auswählen und speichern
Im Frontend sollte nun auf der angelegten Seite eine Liste mit den eingegebenen Test-Datensätzen aus Schritt 1 zu sehen sein.
Schritt 3: Einstellungen aus Schritt 1 anpassen
- 1:
MetaModel anpassen Varianten aktivieren, wenn für Datenstruktur erforderlich
- 1:
- 3.a:
Render-Einstellung anpassen spezifische Render-Einstellung anlegen z. B. für Listenausgabe im FE
Variante des Templates „metamodels_prerendered“ auswählen für individuelle Ausgabe
Einstellung der „jumpTo“-Seite für Detailansicht
- 3.a:
- 3.b:
Attribute in Render-Einstellung anpassen spezifische Einstellungen bei den Attributen vornehmen - z. B. Ausgabe von Bildern inkl. Bildgröße
Variante des Templates „mm_attr_ auswählen für individuelle Ausgabe
- 3.b:
- 4.a:
Eingabemaske anpassen Keys für Ausgabe von Filter, Suche, Sortierung, Limit angeben
Auswahl des Backendbereiches, wo das MetaModel auftauchen soll z. B. Inhalte oder eigener Bereich
Anzeige als Tabelle im Backend
Berechtigungen für Bearbeitung
- 4.a:
- 4.b:
Attribute für Eingabemaske anpassen CSS-Klasse wie w50
Pflichtfeld, Nur lesen (Readonly)
Option, ob das Attribut in BE-Liste filterbar und/oder suchbar sein soll
Legenden hinzufügen, um größere Eingabemasken logisch zu unterteilen
- 4.b:
- 4.c:
Sortierung/Gruppierung anlegen Standard-Sortierung anlegen oder weitere Sortierungen für Auswahl in Liste
- 4.c:
- 4.d:
Ansichtsbedingungen anlegen Eingabewidgets können anhand von Werten anderer Widgets ein bzw. ausgeblendet werden
- 4.d:
- 5:
Eingabe-/Render-Zuordnungen anlegen Auswahl an Render-Einstellungen und Eingabemasken für Benutzergruppen (BE) oder Mitgliedergruppen (FE) zuweisen
- 5:
- 6.a:
Filter anlegen Name für Filter vergeben
- 6.a:
- 6.b:
Filterregeln anlegen Filterregeln einfügen
Verschachtelungen mit AND bzw. OR möglich
ohne weitere Angabe sind alle Filterregeln automatisch mit AND verknüpft
- 6.b:
Mit den erfolgten Anpassungen sollte die Anzeige im Backend und Frontend den individuellen Wünschen entsprechen.
Neben den aufgeführten Optionen gibt es weitere Möglichkeiten, die auf den verlinkten Seiten nachzulesen sind.
Schritt 4: Weitere Optionen für Ausgabe aus Schritt 2
- 2.c: Inhaltselement „MetaModel-Liste“ aus Schritt 2
Filter auswählen
Sortierung nach einem Attribut definieren - siehe auch Sondersortierung oder Sortierlinks
Limit und Paginierung einstellen
3.a: In dem Artikel ein Inhaltselement „MetaModel-Filter“ anlegen
3.b: MetaModel auswählen sowie den Filter (meist identisch dem aus der MM-Liste) mit den gewünschten Filterregeln
Auf der Seite sollte im Frontend ein Filter mit entsprechenden Filterwidgets zu sehen sein und die Liste auf die Filterung reagieren.
Die Ausgabe im Frontend kann mit verschiedenen Einstellungen für eine Suchmaschinenoptimierung (SEO) angepasst werden.
Tipps:
für „MM-Starter“ ist zu empfehlen, das Beispiel „Das erste MetaModel“ aufzubauen
den
"MM-Lageplan"ggf. ausdrucken und bereit legenDatenstruktur grafisch darstellen - es müssen nicht alle Attribute eingetragen werden - es hilft beim Aufbau und Kommunikation mit Kunden und Anfragen zum Support
beim Anlegen der Models „von Außen nach Innen“ vorgehen - im Beispiel oben also erst Abteilung und Projekte und dann Mitarbeiter - damit sind die Models beim Anlegen der Attribute für die Referenzen (hier die Einzelauswahl) schon in der Auswahl vorhanden
bei größeren Datenstrukturen kann man zusammengehörige Models mit einem eigenen „Präfix“ wie „events“ versehen, so dass die Tabellen z. B. lauten „mm_events_categories“, „mm_events_contacts“ usw. - die Tabelle der Models kann dann nach „mm_events_“ gefiltert werden und ist übersichtlicher bei der Bearbeitung
gleichartige Attribute nacheinander anlegen - bei „Speichern und neu“ wird vorheriger Attributstyp beibehalten und spart die Auswahl
für „Hilfsangaben“ wie Anrede, Maßeinheiten o. ä. muss man nicht jeweils ein MetaModel als Referenz anlegen - mit z. B. einem Hilfsmodel-Konstrukt kann man das auch lösen
nach Anlegen eines Models oder Attributes DB-Migration durchführen und Cache leeren
vor dem Start prüfen, ob man die Model bzw. Attribute mehrsprachig benötigt - ein späterer Wechsel ist nicht leicht möglich
das Anlegen der Attribute bei Render-Einstellung und Eingabemaske wird mit den Button „Alle hinzufügen“ vereinfacht
es gibt eine Reihe von Checklisten, die bei der Arbeit helfen
Hilfe gibt es im Forum und auf Slack (#metamodels) - man kann sich auch bei Projekten vom MM-Team coachen lassen (mail@metamodels.me)
