MODX

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von MODx)
Wechseln zu: Navigation, Suche
MODX
Aktuelle Version Evolution 1.0.13 / Revolution 2.2.14-pl
(03. März 2014 / 04. April 2014)
Betriebssystem Apache oder IIS, PHP ab 5.1.1+ (außer 5.1.6/5.2.0), MySQL ab 4.1.2+ (außer 5.0.51)
Kategorie Content-Management-Framework
Lizenz GPL
Deutschsprachig ja
modx.com
Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung.

MODX ist ein freies Content-Management-Framework (CMF) zum Erstellen von Online-Inhalten. Es basiert ursprünglich auf dem CMS Etomite und war in seiner ersten Version ein Mod dieses Systems, woraus sich der Name MODX ableitet.

Das PHP Application Framework besitzt einen schlanken Kern, SEO-Funktionalität und ein Backend auf der Basis von MooTools und MySQL.

MODX wurde im November 2007 von Packt Publishing zum vielversprechendsten CMS des Jahres gekürt.[1] 2010 erhielt es bei den, ebenfalls von Packt Publishing ausgerichteten, Open Source Awards den dritten Platz im Bereich CMS.[2] Ziel der Entwickler ist ein Content-Management-Framework mit objektorientiertem Kern, das Webdesignern ein hohes Maß an Flexibilität erlaubt und den Einsatz der neuesten AJAX und Web 2.0-Technologien ermöglicht.

Zu diesem Zweck wurde der Framework-Kern auf Basis der neu entwickelten ORB-Bibliothek OpenExpedio (einer freien Erweiterung der Datenbankabstraktionsebene PDO) mittlerweile gegenüber dem Vorgänger Etomite vollständig umgeschrieben.[3]

MODX steht unter GPL und ist kostenlos verfügbar, mittlerweile wird auch ein kostenpflichtiger Support angeboten.

Grundlegende Funktionsweise[Bearbeiten]

MODX zeichnet sich vor allem durch seine Anpassbarkeit und Flexibilität aus. So kann es in der Beispielinstallation der Version Evolution 1.0.7 mit den Erweiterungen (Plugins) für die wichtigsten CMS-Funktionen – Wayfinder, eForm, Weblogin, AjaxSearch, Breadcrumbs, Ditto und Jot – konfiguriert werden. Diese sind jedoch auch austauschbar oder können nach Belieben ganz weggelassen werden. Anders als bei manch anderen CMS müssen die Parameter dieser Anwendungen nicht zentral und damit einheitlich für alle mit ihnen erstellten Dokumente vorgegeben werden, sondern können in jedem Dokument unterschiedlich eingestellt werden.

Ein wesentlicher Unterschied zu anderen CMS ist die strikte Trennung von HTML, CSS und PHP.

MODX folgt strikt dem MVC-Paradigma (Model View Controller), was vor allem für Entwickler interessant ist.

Für Anwender ist das System flexibel anpassbar, so dass auch ungeübte Redakteure Inhalte einfach, sicher und schnell verwalten können.

Templates, Template-Variablen, Snippets und Chunks[Bearbeiten]

Templates[Bearbeiten]

Die Seitengestaltung in MODX basiert auf Templates, welche die Struktur und Platzierung von Inhalt von Dokumenten vorgeben. Die Anzahl der Templates ist beliebig. Jedem Dokument kann bei Bedarf ein individuelles Template zugewiesen werden.

Templates können frei und W3C-konform gestaltet werden. Der gesamte HTML-Code einer Seite kann frei definiert werden. Dynamische Inhalts-Elemente und Navigationsstrukturen werden in den Templates mittels einer Platzhalter-Notation eingebunden. Dabei wird zwischen Template-Variablen, Snippets und Chunks unterschieden.

Template-Variablen[Bearbeiten]

Template-Variablen werden beim Anlegen mit einem oder mehreren Templates verknüpft. Wird ein neues Dokument im Backend erzeugt, können diese Variablen über die Verknüpfung von Template ↔ Template-Variable im Backend in der Bearbeitungsmaske des jeweiligen Dokuments genutzt werden. Template-Variablen können entweder direkt in das Template geschrieben werden oder vom Redakteur direkt im Content platziert werden.

Chunks[Bearbeiten]

Chunks sind statische HTML-Fragmente (vergleichbar mit einem Textbaustein in der Textverarbeitung), die mittels Platzhaltern in Templates oder Dokumenten eingebunden werden können. Die wichtigste Aufgabe von Chunks besteht darin, nicht den gesamten HTML-Code einer Seite in ein Template schreiben zu müssen, sondern wiederkehrende Elemente (z.B. ein Copyrighthinweis, eine Adresse, ein weiterführender Link), die in unterschiedlichen Templates verwendet werden, auszugliedern. Einerseits können dadurch neue Templates aus vorhandenen Chunk-Bausteinen zusammengesetzt werden, ohne jeweils den ganzen HTML-Code neu zu erstellen, andererseits ermöglichen Chunks die Änderung eines in mehreren Templates verwendeten Bausteines an zentraler Stelle, ohne alle Templates oder Dokumente einzeln bearbeiten zu müssen. Chunks können Template-Variablen, Plugin-Aufrufe und Link-Platzhalter, als Inhalts-Elemente enthalten, und sind dadurch dynamisierbar. Chunks können kein PHP enthalten!

Snippets[Bearbeiten]

Snippets werden ebenfalls durch Platzhalter in Templates und Dokumenten eingebunden, unterscheiden sich von Chunks aber dadurch, dass sie keine statischen HTML-Fragmente sind, sondern eigene, auf der Programmiersprache PHP basierende Programmlogik enthalten und Datenbankzugriffe ausführen können. Sie sind damit die flexibelsten Template-Elemente.

Das Zusammenspiel von Template-Variablen, Chunks und Snippets stellt bei richtiger Verwendung die strikte Trennung von HTML-Code, Content und Programmlogik sicher und sorgt für eine außerordentliche Flexibilität und Erweiterbarkeit des Systems. MODX wird deshalb manchmal nicht als Content Management System sondern als Content Management Framework bezeichnet. HTML/CSS Kenntnisse sowie Programmierkenntnisse in der Sprache PHP für die Entwicklung von Snippets sind aber vonnöten, um das volle Potential des Systems zu nutzen.

Plugins und Module[Bearbeiten]

Abweichend von einigen anderen Content Management Systemen werden in MODX nur Erweiterungen der Backend-Funktionalität als Plugin bezeichnet. Sie basieren auf PHP Quellcode und werden aufgrund von definierten Systemereignissen ausgeführt. So ist zum Beispiel der in der Grundinstallation enthaltende WYSIWYG-Editor TinyMCE ein Plugin. Module sind ebenfalls Erweiterungen der Backend-Funktionalität, werden aber nicht durch Systemereignisse ausgeführt, sondern weitgehend unabhängig vom Kernsystem eingebunden. Es existieren verschiedene Module, z.B. zum Anlegen mehrerer Dokumente in einem Arbeitsschritt oder zum Import und Export von Daten.

Sicherheit[Bearbeiten]

MODX wurde bislang nicht Ziel systematischer Angriffe. User sollten dennoch aufgrund bekannt gewordener Schwachstellen immer auf die jeweils aktuelle Version upgraden.

Versionen[Bearbeiten]

Seit dem 7. Oktober 2013 steht mit MODX Revolution (Versionsnummer: Revolution 2.2.10-pl) eine neue Release-Version für MODX bereit. Der bisher geführte Entwicklungsstrang mit der aktuellen Versionsnummer 1.0.10 wurde zudem in MODX Evolution umbenannt. Bei MODX Revolution handelt es sich um eine grundlegende Neuentwicklung, für die inzwischen mehr Snippets zur Verfügung stehen als für MODX Evolution. Für den produktiven Einsatz stehen damit zwei alternative Versionen bereit.

besondere Merkmale von MODX Revolution[Bearbeiten]

  • objektorientierter Kern auf der Basis von OpenExpedio (xPDO)
  • objektorientierte und konsistentere API
  • neuer Manager auf der Basis von Smarty, Ext (1.0) und MooTools
  • flexiblere Installation und Aktualisierungen
  • vereinfachte Erweiterung durch eine Pakete-Verwaltung (Package Manager)
  • vereinheitlichtes Rollenmodell
  • verbesserte Internationalisierung
  • Konzept der Kontexte

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Auszeichnung Packt Publishing 2007
  2. packtpub.com open source awards 2010 – dritter Platz für MODX
  3. Roadmap