-
Fragen zu MetaModels
Hallo!
Vorweg: Ich habe noch nie mit MetaModels gearbeitet bzw. nie die Notwendigkeit dafür gehabt. Jetzt plane ich ein neues (privates) Projekt und bin am Überlegen, ob ich dies komplett selber innerhalb von Contao als Erweiterung(en) entwickle oder ob sich das vielleicht gut mit MetaModels umsetzen ließe.
Konkret geht es um eine Verwaltung von Sammlungen mit Fossilien.
Es sollen sich beliebig viele Frontend-Nutzer registrieren können und diese können dann eigene Sammlungen anlegen.
Die Daten pro Eintrag eines Fossils sind vorgegeben, jedoch wäre es schön, wenn Nutzer bestimmte – nicht benötigte – Felder ausblenden könnten.
Neben einfachen Datentypen wird es auch verschiedene Verweise auf Einträge in einem Taxonomie-Baum, Stratigraphie und weiteren geben. Die Einträge der Tabellen für Taxonomie oder Stratigraphie sollten sich auch relativ einfach innerhalb der Maske eines Fossils ergänzen lassen.
Beliebig viele Fotos gehören natürlich auch dazu und ausgewählte Fotos sollten später auch gesondert in einer Galerie vom Nutzer angezeigt werden können.
Das Projekt ist noch im Anfang der Entwicklung und noch längst nicht komplett geplant. Ich würde aber gerne vorab von MetaModels Nutzern oder Entwicklern hören, ob sich das relativ gut mit MM umsetzen ließe oder ob da Probleme zu erwarten sind.
Vielen Dank!
-
Prinzipiell geht das schon mit MetaModels und mit Bezug auf Mitglieder im Rahmen des Frontend-Editings (ich habe so etwas gerade neulich mal gebaut, damit Miglieder einer NGO ihre Projekte unkompliziert einstellen und verwalten können) - ich gebe aber zu bedenken, dass MM für absolute Neulinge eine Lernkurve hat, die durchaus steil sein kann.
Grundsätzlich läuft das so ab:
- Mitgliedergruppe anlegen samt nötiger Login-Logik
- MetaModel anlegen und darin eine Verbindung zur tl_member als Feld definieren, sinnvollerweise per Select-Atribut
- Eingabemasken erstellen und der Member-Gruppe freigeben
- Permissions einstellen für die Maske
- möglicherweise mehrere Module zur Anzeige der Daten anlegen (für Gäste, für Member)
- die passende Seitenstruktur bauen, mit Rechten versehen und die Artikel mit den jeweiligen Module bestücken
- ...
Mit ist nicht so ganz klar, was Du mit 'Sammlungen' meinst.
Grundsätzlich ist das in der Dokumentation ausführlich beschrieben, aber es wird vermutlich etliche Details geben, bei denen Du individuelle Lösungen finden musst (und kannst). Insbesondere die Zuordungen von Feldern, die Vorabfilterung von Datensätzen und die Rechteverwaltung in den Eingabemasken können recht komplex ausfallen. Auch Templating kann da aufwändig sein, wenn Member nur bestimmte Optionen zur Verfügung haben sollen. Möchtest Du Mehrsprachigkeit, dann ist das im Augenblick mit ein paar Tricks möglich (daran habe ich persönlich etwas länger herumgekaut und schliesslich die Datensätze mit einem eigenen SQL-Filter vorab aussortiert ...). Wir haben da einen Freigabeworkflow mit dem Notificatione-Center eingebaut, der auch etwas umfangreicher ist.
Wie bei jedem Projekt gilt: Der Aufwand steigt mit Deinen Ansprüchen.
Machbar ist es defintiv.
-
Vielen Dank für deine ausführliche Antwort! Das hilft mir schon mal weiter und ich werde es zumindest mal mit MetaModels probieren.
Viele Grüße,
Mario
-
Als Ergänzung:
* Frontend-Editing (FEE) unterstützt ab MM 2.4 auch mehrsprachige MetaModels
* die Pflege von einer Taxonomie als hierarchische Tabelle ist im FEE nicht ganz einfach - bei solchen Basisinfos ist auch immer die Frage, ob da jeder einfach so rumfuhrwerken kann/soll; ggf. besser eine E-Mail an Admin zu senden und um Aufnahme von XY zu bitten