1. Technik
  2. Technologie

Das steckt drin im System

Der Kern von CONTENIDO wurde seit der allerersten Veröffentlichung im Jahr 2000 stark angepasst. Das System basiert auf PHP (mindestens Version 5.4) und bindet über ein spezielles Datenbankkonzept, die so genannte „Generic DB“, mehrere Datenbanksysteme an. An dieser Schnittstelle ist auch das systemeigene Framework („cApi“) angebunden. Unter anderem kann das CMS mit einer MySQL-Datenbank betrieben werden. Das Installationsprogramm des Systems prüft alle notwendigen Voraussetzungen.

Bei der Entwicklung der aktuellen Version 4.9 wurde die Möglichkeit zur kollaborativen Entwicklung besonders berücksichtigt. Module und Layouts, die vorher in der Datenbank gespeichert wurden, können nun durch eine Ablage im Dateisystem besser in einer Versionskontrolle verwaltet werden. Damit erhält auch das Thema Continuous Integration einen höheren Stellenwert, da Deployments deutlich vereinfacht werden.


Dokumentation aller Weiterentwicklungen: 
docs.contenido.org


CONTENIDO bietet von Haus aus Dutzende von Klassen, die bereits mehrfache benötigte Aufgaben bereitstellen. Dazu gehören beispielsweise der „cDirHandler“ und „cFileHandler“, mittels denen Ordner und Dateien auf dem Webserver erstellt, umbenannt oder entfernt werden können. Die „cGuiPage“ erstellt automatisch eine Seite mit Aktionsfeldern nach Ihrem Belieben. All diese, beispielhaft für viele weitere Funktionen aufgezählten PHP-Klassen unterliegen einer ständigen Weiterentwicklung und werden stets unter docs.contenido.org in der Entwickler-Dokumentation dokumentiert.

Das System setzt dabei auf eine strikte Trennung von Layout und Inhalten, aber auch von PHP-Funktionen und die Umsetzung in (x)HTML und CSS. CONTENIDO ist komplett in englischer Arbeitssprache geschrieben und ermöglicht die Übersetzung jeder einzelnen (englischsprachigen) Strings (Texte). Neben Englisch wird in CONTENIDO standardmäßig auch eine deutsche Auslieferung angeboten.

Für das Frontend bietet CONTENIDO die Verwendung von Smarty an (Implementierung im Beispielmandanten). Mittels Smarty können dynamische Templates erstellt werden. Smarty wiederum ist in CONTENIDO als ein Plugin realisiert: Plugins erweitern Ihre CONTENIDO-Installation kollissionsfrei zum Kernsystem. Die Definition von Plugins findet in einer standardisierten Xml-Datei statt.