Der Content-o-mat für Entwickler

Für Entwickler stellt der Content-o-mat Werkzeuge zur Verfügung, die das Erstellen einer Website, das Programmieren von Anwendungen und die Datenausgabe erleichtern:

  • Datenbankverwaltung zum Erstellen und Gestalten von Datenbanktabellen und Eingabemasken
  • Template-Engine (-Parser) mit umfangreicher und erweiterbarer Makrosprache
  • Internationalisierungshilfen zum Betreiben von beliebig vielen Sprachversionen einer Website
  • Rechteverwaltung mit Zugriffs- und Bearbeitungsrechten für Gruppen und Benutzer im Content-o-mat
  • Entwicklertools: Datenbankfehler-Logging, Debug-Klasse (arbeitet mit FirePHP zusammen), Logging-Klasse
  • Weitere Hilfsmittel zur Programmierung eigener Anwendungen im Front- und im Backend wie ein Standard-Controller, Klassen für Datenbankzugriffe, Dateibehandlung, Thumbnailerstellung, zum Auslesen von Tabellenmedien und Bildergaleriedaten, zum Versenden von E-Mails und mehr.
  • Eigene Umgebungsvariablen, die überall im Content-o-mat zur Verfügung stehen.
  • Tool für Systemmeldungen an Gruppen und Benutzer.
  • uvm.

Datenbankbearbeitung

Die Datenbankverwaltung ist ein zentrales Modul des Content-o-mat. Hier lassen sich Datenbanktabelle erstellen und Datenstrukturen mit dem Feldermanager individuell gestalten. Der Content-o-mat stellt in einer Zwischenschicht weitere Datentypen zur Verfügung, z.B. Datei-Uploads, HTML-Editoren, Mehrfachauswahlfelder mit Drag'n'Drop Bedienung, Reihenfolgen, Relationen oder Verknüpfungen zwischen zwei Tabellen.

Dabei werden anhand der gewählten Feldtypen sofort und automatisch Eingabemasken generiert, die mit Hilfe von Makros strukturiert werden können. In diesen Eingabemasken können Felder in Tabs oder aufklappbaren Bereichen zusammengefasst oder mit Hilfe von Überschriften gegliedert werden. So ist in wenigen Minuten eine individuelle Anwendung zur Dateneingabe erstellt.

Selbstverständlich können auch eigene Ausgabe-Templates für jede Datenbanktabelle definiert werden. Mit Hilfe der Datenbanktools lassen sich auch alle zusätzlichen, vom Content-o-mat genutzten Datenbanktabellen erweitern. So können je nach Projektanforderung z.B. den Seiten einer Website zusätzliche Datenbankfelder (Eigenschaften) hinzugefügt und werden.

Im Feldermanager werden Datenbankfelder (Spalten) erzeugt.

Jeder Feldtyp hat besondere Eigenschaften und Funktionen.

Der Feldtyp "Relation" erzeugt ein Mehrfachauswahlfeld aus Fremdschlüsseln beliebig vieler Tabellen.

Eingabemasken können schnell und einfach mittels Makros strukturiert werden.

Individueller Workflow: der Codemanager

Wenn in den Workflow der Dateneingabe eingegriffen werden muss, etwa um die vom Benutzer eingegebenen Daten zu kontrollieren oder vor dem Speichern aufzubereiten, kommt der Codemanager ins Spiel: Eigene PHP-Skripte lassen sich für jede Datenbanktabelle an den verschiedensten Stelle im Workflow einbinden ("Hooks" bzw. "Events"). Dies kann z.B. vor dem Ausgeben einer Tabellenzeile geschehen, um zu kontrollieren, ob der User die Datenreihe überhaupt sehen darf, oder vor dem Upload eines Bildes, um ein Thumbnail der Grafik zu erzeugen.
 
Dabei hat das eingebundene PHP-Skript Zugriff auf die Daten des Events, kann diese manipulieren oder z.B. einen Speichervorgang mit einer Fehlermeldung abbrechen, wenn der Benutzer fehlerhafte Daten eingegeben hat bzw. den Zugriff auf einzelne Datensätze nach selbst definierten Kriterien unterbinden.

Der Codemanager bindet eingene Skripte in den Workflow ein.

Templates: der Parser

Sowohl im Back- als auch im Frontend arbeitet der Content-o-mat mit Templates, die vom Entwickler angepasst oder ausgetauscht werden können - auch nur für ausgewählte Datenbanktabellen innerhalb des Systems. Die Parser-Klasse stellt eine umfangreiche Makrosprache mit Kontrolstrukturen, Schleifen zur Datenausgabe oder Befehlen zur Erzeugung der Website-Navigation zur Verfügung. Im Frontend kann die Parser-Klasse um eigene Makros erweitert werden.

Seitentemplates fürs Frontend

Objekttemplates werden z.B. im Layoutmodus des Content-o-mat genutzt.