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:

img_db-schema_01

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.

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

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
  • 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 legen

  • Datenstruktur 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)