Daten und Express in Erweiterungen verwenden

Express verwaltet strukturierte Einträge mit Attributen, Formularen und Beziehungen. Wenn Sie Express in einer Erweiterung verwenden, trennen Sie Datenmodell, Eingabe und Ausgabe. Planen Sie Berechtigungen und Aufbewahrung von Anfang an mit.

Datenobjekt und Attribute planen

Ein Express-Datenobjekt beschreibt eine Art Eintrag. Attribute definieren seine Felder; Formulare legen fest, wie diese gepflegt werden. Beziehungen verbinden Objekte, wenn ein Fremdschlüssel allein die redaktionelle Aufgabe nicht gut erklärt. Entscheiden Sie vorab, welche Felder zwingend sind, welche sich ändern dürfen und welche Daten wegen Aufbewahrung oder Datenschutz besonders geschützt werden müssen. Anzeigenamen können übersetzt werden; technische Handles sollten stabil bleiben.

Die Express-Verwaltung zeigt vorhandene Datenobjekte und den Einstieg zu Attributen, Formularen und Beziehungen.

Abbildung 1: Das Datenmodell ist ein eigenständiger Verwaltungsbereich und nicht nur ein gespeicherter Content-Block.

Ein Core-Formularblock legt für Einsendungen ebenfalls Express-Strukturen an. Entfernen Sie den letzten zugehörigen Block nicht als vermeintliche Layout-Aufräumung, ohne den Datenbestand und die Core-Wirkung geprüft zu haben. Formulare gestalten und Express-Einträge verwalten erklären die redaktionellen Schritte.

Über Core-APIs statt direkt über Tabellen arbeiten

Schulungs- und Supportanfragen können in getrennten Express-Datenobjekten gespeichert werden; eine E-Mail-Benachrichtigung ist eine zusätzliche Aktion. Die Einträge liegen nicht allein in einer E-Mail oder auf der sichtbaren Seite. Greifen Sie in einer Erweiterung über die Core-Objekte und deren Manager auf Entity, Entry und Attribute zu. So bleiben Validierung, Referenzen und Ereignisse nachvollziehbar. Direkte SQL-Änderungen an Express-Tabellen umgehen diese Ebene und erschweren Upgrades.

Verwenden Sie bei Abfragen eine begrenzte Ergebnismenge und filtern Sie nur nach Feldern, deren Typ und Semantik Sie geprüft haben. Eine Seitenliste ist keine Express-Liste, und ein Attributwert ist nicht immer eine einfache Zeichenkette. Bei Beziehungen ist zu klären, ob das Zielobjekt noch existiert und ob die anfragende Person es sehen darf. Die offizielle Express-Einführung (EN) (externer Link) erklärt das Datenmodell; für produktiven Code ist die API der installierten Core-Version maßgeblich.

Rechte und Datenlebensdauer prüfen

Ein Frontend-Formular muss seine Eingaben serverseitig validieren. Der sichtbare Pflichtfeldstern ersetzt keine Prüfung. Schützen Sie Einträge in Verwaltung und Ausgabe mit passenden Rechten; ein CSRF-Token allein erteilt keinen Zugriff. Legen Sie fest, wer E-Mail-Benachrichtigungen erhält, welche Angaben darin stehen, wie lange Daten gespeichert werden und wie sie gelöscht oder exportiert werden können. Prüfen Sie diese Regeln mit einem Testeintrag, ohne echte personenbezogene Daten zu verwenden.

Bei Installation und Upgrade muss eine bestehende Express-Entity anhand ihres Handles und ihrer Eigentümerschaft erkannt werden. Eine Schemaänderung braucht einen kontrollierten Migrationsweg; ein Formular auf einer echten Site kann bereits viele Einträge besitzen. Package erstellen zeigt die nötige Vorprüfung und den Erhalt vorhandener Daten.

Weiterlesen

Quelle: Concrete CMS Dokumentation (EN) · Stand: ConcreteCMS 9.5.7