Ein Anwenderbericht zum Content Management Framework

MODx: Revolution
Kommentare

Viele werden es auch bereits hinter sich haben: Die Suche nach „DEM“ Content-Management-System! So erging es auch mir vor einigen Jahren, also habe ich mal zu googeln begonnen und doch etliche Systeme getestet .

Ich hatte mir dazu eine Anforderungsliste mit „must haves“ und „nice to haves“ erstellt. Aber da ich schon zuvor mit einigen Systemen gearbeitet habe, war eines der wichtigsten Kriterien das CMS-Backend. Jener Bereich, den Entwickler und auch Anwender mehr oder weniger gut nutzen können und der sich dementsprechend auf die Motivation auswirkt. Einfach zu verstehen und übersichtlich, so sollte dieser Bereich gestaltet sein. Die gängigen Module und Plug-ins sind bei den Content-Management-Systemen ja meistens bereits Bestandteil, aber wie Anwender damit arbeiten können, war und ist weiterhin einfach elementar.
MODx Facts MODx ist ein Fork von Etomite und 2005 entstanden. Ausgehend von den Gründern Raymond Irving und Ryan Thrash wurde das Projekt von einem engagierten Team vorangetrieben. 2007 wurde MODx von Packt Publishing als das vielversprechenste neue CMS ausgezeichnet.
Und hier hat die Liebe (auf den ersten Blick) zu MODx begonnen, wobei mir zu Beginn noch gar nicht klar war, welch beeindruckendes und doch einigermaßen simples Framework dahinter steckt.

Wie oder wo kann MODx nun eingeordnet werden?

Verglichen mit den populären Systemen wie TYPO3, Drupal, Joomla! oder WordPress orientiert sich MODx schon eher an TYPO3, wobei ein direkter Vergleich hinken würde, so wie die Geschichte mit den Äpfeln und Birnen. MODx ist im eigentlichen Sinne auch ein Content-Management-Framework, welches mit einem kompletten Backend und einem entsprechenden API standardmäßig ausgestattet ist.
MODx-Funktionsüberblick
  • Mehrsprachigkeit
  • Installationsprozess
  • Web Standards
  • Content- und Datenverwaltung
  • Flexible und erweiterbare Dateneingabemasken
  • Meta-Verwaltung
  • SEO
  • Berechtigung über User, Rollen und Workflow
  • Internes Message System
  • System- und Benutzerlogs
  • Import/Export
  • Backup
  • Frontend Editing
  • Backend Erweiterbar durch Komponenten und Plug-ins
Im Basispaket werden die wichtigsten Add-Ons (Snippets, Plug-ins und Komponenten), inklusive einer Demosite (Struktur und Inhalt/Dokumente, Templates und Chunks) ausgeliefert.

Die Zeiten der Core-Hacks sind (schon lange) vorbei

Aufgebaut ist das CMS über einen Softwarekern, der im Grunde nie angefasst werden muss. Das genial Einfache: Mit der MODx-Terminologie, bestehend aus Dokumenten, Links und Template -Variablen für das Erfassen von Inhalten und Templates, Chunks, Snippets, Plug-ins und Komponenten für die Verarbeitung und Ausgabe von Inhalten, wird es zu einem sehr flexiblen und anpassungsfähigen Tool, welches sich nicht hinter den anderen prominenten Systemen verstecken muss.
Terminologie Ressource: Eine Ressource dient zur Speicherung von Inhalten innerhalb von MODx. Es gibt vier verschiedene Ressource-Typen:
  • Dokument: Standardressouce für die Datenerfassung
  • Weblink: Ein Verweis auf eine interne oder externe Seite
  • Symlink: Ein symbolischer Link, wobei die Darstellung durch ein anderes Template verändert werden kann.
  • Statische Ressource: Die Einbindung von einer Datei bzw. Script über das Filesystem
Template Variablen Bei MODx ist prinzipiell jedes Formular mit dem Inhalte oder Strukturen (Ressourcen) erfasst werden, gleich aufgebaut, zb. Titel, SEO-Alias, Menütitel, Inhalt. Nun können mit Template-Variablen einzelne Felder (zb. Text, Rich Text Editor, Bildverknüpfung, Checkbox) einem Inhaltsformular zusätzlich zugewiesen und so können entsprechend die Anforderungen der Seite erweitert werden. Einbindungssyntax:
[[*bild]]
Templates Das HTML-Grundgerüst einer Seite wird einer Ressource zugeordnet und bestimmt dessen Aussehen. Im Template selbst können Platzhalterlogiken (Chunks, Snippets) eingebunden werden. Chunks HTML-Fragmente, werden einmal definiert und können beliebig in Templates, Snippets, Chunks(!) und Plug-ins eingebunden werden. Umgekehrt ist aber auch die Einbindung von Snippets und Chunks möglich und eignen sich vor allem für wiederverwendete Elemente. Einbindungssyntax:
{{$mein_chunk]]
Snippets Die eigentlichen Erweiterungen von MODx, ohne Snippets geht nichts! Vergleichbar mit Modulen oder Plug-ins bei anderen Systemen. Die Snippets führen PHP-Code aus und haben vollen Zugriff auf das MODx-API. Einbindungssyntax mit optionalen Parametern:
[[mein_snippet ¶m1='value1'¶m2='value2']]
Plug-ins Eine Art „Event-Override-System“ und das Geniale an MODx; Plug-ins führen wiederum PHP-Code mit vollem Zugriff auf das API aus, werden aber keinen Inhalten zugewiesen, sondern greifen bei Events ein. Standardmäßig gibt es ca. 100 Events, welche sowohl für die Frontend-Seitengenerierung, als auch für das Backend eingesetzt werden können. Zum Beispiel: OnParseDocumentOnLoadWebDocument,OnWebAuthenticationOnBeforeManagerPageInitOnChunkFormPrerender, um nur einige dieser Lebensretter zu nennen. Kurzum: Bei der Ausführung eines Events wird der PHP-Code angewendet und kann die Ausgabe, den Prozess, die PHP-Variablen uvm. ändern. Komponenten Erweitern die Funktionen im Backend, zum Beispiel Newsletter, Massenoperationen, etc. Bis zur Version Evolution hießen „Komponenten“ → „Module“. Schemenhafte Terminologie (Frontend):
Abb. 1

Abb. 1

Frontendseitig gibt es weder Vorgaben noch Beschränkungen, Sie können HTML mit Tabellenlayouts „vergewaltigen“ oder standardkonforme, barrierefreie Layouts erstellen, wobei systemseitig eine Trennung von Code, Layout und Inhalten besteht. Außerdem herrscht auch Entscheidungsfreiheit, welche JavaScript-Bibliothek eingesetzt werden soll. „Out of the box“ sind bei dem System auch die gängigen SEO-Komponenten dabei, für jedes Dokument können URL-Alias, Metadaten und wie zuvor erwähnt das komplette HTML an die SEO-Anforderungen angepasst werden. Derzeit wird an zwei verschiedenen Zweigen gearbeitet, die aktuell stabile 1.x-Version (Evolution) besteht seit der Gründungszeit und wird voraussichtlich in den nächsten Wochen durch eine finale Version 2.0 (Revolution) abgelöst. Im Großen und Ganzen ist Evolution eine nette Sache, ja wäre da nicht eval. Bei einigen Funktionen wird der PHP-Code noch durch eval erzeugt, aber nach dem Motto „eval is evil“ wird diese Funktion in Revolution zum Glück beseitigt sein.
Abb. 1-1

Abb. 1-1

Abb. 1-2: Oben das neue Revolution- und unten das alte Evolution-Backend im Vergleich

Abb. 1-2: Oben das neue Revolution- und unten das alte Evolution-Backend im Vergleich

Vive la Revolution!

Mit diesem reißerischen Titel hat Ryan Thrash am 14. Juli 2008 die MODx Community auf die Version Revolution 2.0 (Kurzform: Revo) eingestimmt. Die komplette Neuprogrammierung einer Software ist ja eigentlich in gewisser Weise ein Umsturz und sollten die vorgenommenen Ziele erreicht werden, dann ist es wahrlich eine Revolution für MODx. Die neue Applikation setzt komplett auf ein objektorientiertes MVC-Framework und nutzt dabei die ORB-Library xPDO. Damit wurde ein skalierbares und datenbankunabhängiges System geschaffen. Ein Detail am Rande: Jason Coward, seines Zeichens MODx-Lead Architect, steckt auch hinter xPDO. Das hat natürlich den Vorteil, dass die beiden Tools gut aufeinander abgestimmt werden können. Die Terminologie (Ressourcen, Templates, Snippets, Plugins …) der Ursprungsversion bleibt aber erhalten, was in jedem Fall sinnvoll ist und wahrscheinlich auch den Erfolg des Systems bisher ermöglicht hat. An manchen Stellen findet auch eine Erweiterung und Verbesserung statt.

Navigations- und Inhaltsstrukturen

„The resource is your friend“, somit wäre im Großen und Ganzen dazu alles gesagt, oder? Nun, vielleicht nicht alles, aber aufgrund des einfachen Aufbaus, wird das in ein paar Zeilen erledigt sein.
Abb. 2: Die Baumansicht im Revolution-Backend

Abb. 2: Die Baumansicht im Revolution-Backend

Die Frontend Navigations- und Inhaltsstrukturen werden im Backend im selben Baummenü hierarchisch abgebildet, siehe Abbildung 2. Nun kann ein Dokument oder Link (ab Version 2.0 gibt es mehrere Linkarten: Weblinks, Statische Links, Symlinks) angelegt werden und je nach Verwendung, wird daraus ein Menüpunkt oder Artikel, in welchem zum Beispiel angegeben wird, ob das Dokument im Menü angezeigt wird. Auch Listenansichten lassen sich so einfach erstellen, hier sorgt dann das jeweilige Template, wie der Inhalt dargestellt wird. Mit den zur Verfügung stehenden Add-Ons können die Daten entsprechend ausgegeben und formatiert werden. Das funktioniert über einfache und verständliche Anweisungslogiken, z.B. eine Menüausgabe:
[[Wayfinder? &startId='0' &level='1' &sortBy='menuindex' &rowTpl='nav_row']]


Aufbau der Anweisungs- bzw. Platzhalter-Logik
  • [[+]] Tagdefinition
  • [[+Snippetname]] Name des Snippets
  • [[+Snippetname ¶meter1='wert1' ¶meter2='wert2' ¶meter3='wert3']]Einbindung von den nötigen Parametern, wobei es hier keine Vorgaben gibt, Parameter können frei für jedes Snippet und Chunk definiert werden, auch deren eingesetzte Anzahl.
Die Anweisungslogiken sind in Dokumenten, Templates, Chunks und auch in Snippets (über eine PHP-Funktion) einsetzbar. Bei Kundenprojekten eignet sich der Aufruf innerhalb der Templates, damit der Kunde (Laie) die Anweisungen nicht sehen oder manipulieren kann. Mit dieser Logik und diesem Aufbau besteht übrigens ein großer Unterschied zu anderen Systemen, die mit Modulen – z.B. einem News-Modul – arbeiten. Bei MODx ist alles erst einmal ein Dokument (oder Link) – was im Endeffekt daraus wird, sprich ein Menüpunkt, Listenelement, Detailartikel oder „weiß der Kuckuck was“, bestimmt die Zuordnung und Einstellung der einzelnen Parameter. Besonders interessant ist bei Revo der Ausbau des MODx-APIs, wobei hier Zugriff auf alle relevanten MODx-Kernobjekte zur Verfügung steht und durch die neue Strukturierung die Performance des APIs deutlich erhöht wird. Einiges haben sich die Entwickler auch für das neue Backend einfallen lassen: Als erstes wurde das Frameset ersetzt, so kann das Backend (wird in MODx übrigens Manager genannt) komplett „customized“ werden. Für diese Anpassbarkeit wird die Template Engine von Smarty, in Kombination mit dem JavaScript-Framework ExtJS eingesetzt. Auch die Bedienung wurde weiter verbessert und vereinfacht, wobei ich leider auch feststellen muss, dass hier durch den Einsatz von ExtJS und vor allem AJAX-Action die Performance noch etwas zu wünschen übrig lässt. Bei einem mittelmäßigen Internetzugang, Webserver und Desktoprechner dauert die Seitengenerierung am Client (vor allem beim Firefox mit Firebug) doch überdurchschnittlich lange, aber da es sich (zum Zeitpunkt in dem dieser Artikel geschrieben wurde) noch um eine Betaversion (5) handelt (und wir mittlerweile beim RC 2 angekommen sind, Anm. d. Red.), bin ich bezüglich einer Verbesserung sehr zuversichtlich. Es wäre doch schade, sollte das am Ende für einige Neuanwender gleich ein Knock-out-Kriterium werden.

Perlen im Backend

Eine sehr unscheinbare, aber sehr angenehme Funktionalität bieten die jeweiligen Quickupdates, Abbildung 4.
Abb. 4: Quickupdates in MODx

Abb. 4: Quickupdates in MODx

Ich möchte das gerne anhand eines Anwendungsfalles erklären: Bei einer laufenden Portalentwicklung ist gerade ein Template mit der entsprechenden Maske geöffnet. Dabei ergibt sich eine notwendige Ergänzung in einem verknüpften Chunk-Element. Jetzt einfach im Strukturmenü über das Kontextmenü das Quickupdate aufgerufen und schon öffnet sich ein separater Layer im geöffneten Fenster zur Bearbeitung, wobei die andere Formularmaske geöffnet und so erhalten bleibt. Überhaupt wurde sehr viel Wert auf die Funktionalität gelegt, per Drap & Drop können die Sortierungen der Artikel/Dokumente geändert oder Verknüpfungen zwischen Template, Chunk und Snippet hergestellt werden, Abbildung 5.
Abb. 5: Drag & Drop im Backend

Abb. 5: Drag & Drop im Backend

Bei Evolution mussten bzw. müssen die Add-Ons (Snippets, Plug-ins, etc) noch händisch installiert werden, was nun automatisiert über den Package-Manager erledigt wird – ein paar Mausklicks und die gewünschte Erweiterung ist startklar. Sie fragen sich, ja alles wunderbar, aber wenn ich eine mehrsprachige Seite erstellen muss? Mit MODx alles kein Problem … Denn ganze ist sehr ansprechend für die heutzutage als Standard vorausgesetzte Mehrsprachigkeit gelöst. Beim Backend-Menüpunkt Lexikon Management (s.h. Abbildung 6) können alle Begriffe und Texte, die im Backend oder aber auch im Frontend so vorkommen, verwaltet und – wie Sie jetzt wahrscheinlich bereits ahnen – jeder Eintrag überall im System mit einer Anweisungslogik[[%language_string_key]] eingebunden werden. So wäre es auch möglich, dass dem Anwender die Berechtigung eingeräumt wird, seine nötigen Sprachbegriffe, wie zum Beispiel „mehr“, „zurück“ bequem über die Administrationsoberfläche in die jeweilige Sprache zu übersetzen. Die Zeiten von ausgelagerten Dateien à la lang_fr.inc.php sind also vorbei.
Abb. 6: Das Lexikon-Management

Abb. 6: Das Lexikon-Management

 

Neu im Angebot: Property Sets

Wer kennt es nicht, der Kunde bzw. Anwender würde gerne eine einfache Möglichkeit haben, verschiedene HTML-Fragmente zu definieren und einzubinden. Eine Widgetbox zum Beispiel, ist schon eine richtige Herausforderung und genau hier kommen die Property Sets ins Spiel. Vom Entwickler werden einfach Sets vordefiniert, dabei werden einzelne Felder (z.B. Überschrift, URL, Codec, etc) hinzugefügt. Nun kann der Redakteur einfach per Drap & Drop ein Chunk in seinen Content ziehen und automatisch öffnet sich ein Layer mit der vordefinierten Eingabemaske des Property Sets, in welchem schließlich die Daten befüllt werden.

Content Elements

Evolution (Version 1)

Revolution (Version 2)

Templates Zuweisung mittels Auswahl Zuweisung mittels Auswahl
Template-Variablen [*templatevar*] [[*templatevar]]
Chunks {{chunk }} [[$chunk]]
Snippets [[snippet]] [[snippet]]
Plug-ins Zuweisung über Events Zuweisung über Events
Module Keine Zuweisung Komponenten, keine Zuweisung
Content Tags
Platzhalter [+placeholder+] [[+placeholder]]
Links [~link~] [[~link]]
Systemeinstellungen [(system_setting)] [[++system_setting]]
Sprache [[%language_string_key]]
Tabelle 1: Die Tag-Syntax

Und vieles mehr…

Bilder und anderweitige Dateien werden im Filemanager verwaltet und angelegt. Die Verwaltung befindet sich ebenso wie die Ressourcen in der linken Spalte des Backends. Upload und Bearbeitung erfolgen beide über das Kontextmenü – das ist zwar leicht gewöhnungsbedürftig, aber andererseits einfach zu handhaben. Bei Revolution fehlt mir dazu nur noch der in Evolution eingesetzte Bildeditor, ein kleines Tool, mit dem Bilder über die Weboberfläche bearbeitet werden können. Bei all diesen Punkten, ist es bei genauerer Beobachtung sehr erfreulich zu sehen, dass die Entwickler bereits ein paar Schritte voraus gedacht haben und man darf sich schon auf die nächsten Versionen freuen. Ich könnte hier noch weiter ausholen, z.B. bin ich in der MODx-Dokumentation auf eine Beschreibung gestoßen, wie man mit SVN die in der Datenbank gespeicherten Snippets, Plug-ins o.ä. verwalten kann, aber das würde den Rahmen des Artikels jetzt doch etwas sprengen …

Add-Ons

Wie jedes andere Open-Source-System lebt auch MODx von den Erweiterungen, die durch die Community, aber auch vom Core-Team, beigesteuert werden, erst so richtig auf.
Abb. 7: Die Add-On-Verwaltung in MODx

Abb. 7: Die Add-On-Verwaltung in MODx

Wie schon zuvor beschrieben, geht ohne die Add-Ons erstmal gar nichts. Bei einem Release Candidate oder einem stable Release werden die Standard-Add-Ons inklusive einer Demosite gleich mitgeliefert und installiert, gerade beim Erlernen eines neuen Systems ist dies sehr hilfreich. Die manuelle Installation erfolgt im Package Manager, hier kann auch geprüft werden, ob eine neue Version eines Add-Ons verfügbar ist. Verwaltet oder bearbeitet werden installierten Erweiterungen aber über das Tag Elemente in der linken Spaltenansicht.
Ein paar „must have“ Add-Ons
  • Wayfinder (Snippet): Generiert jegliche Varianten von Menülisten
  • Ditto (Snippet): Verarbeitet Dokumente und Links, begonnen bei der Daten-Filterung, über verschiedene Ansichten Detail-, Listenansichten oder unterschiedliche Datenformate wie HTML, XML, RSS, JSON. Egal wie Ihre Vorstellungen aussehen, Ditto wird sie nicht enttäuschen.
  • Eform (Snippet): Verarbeitet Formulare, prüft die Formulareingaben und lässt eigene Prozesse einbinden.
  • Phx/IF (Plugin): Verarbeitet verschachtelte Platzhalter (zb. IF-Schleifen, String-Modifikationen) innerhalb von Templates und Chunks.
  • RTE (Plugin): Bindet einen Richtexteditor im Backend bei der Dokumentenformularmaske ein. Doc Manager (Komponenten / Module): Ermöglicht Massenoperationen in Dokumenten
MODx hat eine sehr aktive Community (mehr dazu etwas später im Text) und diese hat aktuell ca. 650 Add-Ons, vornehmlich noch für die Evolution-Version, entwickelt. Der Großteil ist leider nicht mit Revolution kompatibel und wird daher weiterentwickelt werden müssen, was ich persönlich gar nicht schlecht finde, denn dann kann ein natürlicher Reinigungsprozess stattfinden. Im Laufe der Jahre haben sich nämlich einige Skripte angesammelt, die es nicht über eine Alpha- oder Betaversion hinaus geschafft haben. Im Prinzip findet sich für (fast) jede Anforderung ein Add-On. Wobei es auch ein paar Defizite gibt. Zum Beispiel sind einige kleinere Newsletter-Module verfügbar, aber ein wirklich ausgereiftes, mächtiges und stetig weiterentwickeltes Mailing-Tool ist nicht dabei. Ähnlich ist es auch bei Shoplösungen und Foren, wobei es hier aber Schnittstellen zu fremden System gibt. Generell stellt sich bei solchen Modulen bzw. Features ohnehin die Frage, ob für eine professionelle Shoplösung, nicht entsprechende Applikationen wie Magento die bessere Alternative wären. Die Entwicklung und Einbindung von Add-Ons ist sehr einfach. Bei Templates und Chunks genügt HTML-/CSS-/JavaScript-Know-how und bei Snippets, Plug-ins oder Komponenten ist ein wenig PHP-/MySQL-Know-how erforderlich. Im Allgemeinen kann das System so für jedes denkbare Feature erweitert werden, weil mit der Architektur und dem API alle MODx-Objekte und Datenbankzugriffe zur Verfügung stehen.

Dokumentation

Jetzt wird es heikel, aber wahrscheinlich auch nicht viel heikler, als bei anderen Systemen auch. Beginnen wir beim Positiven – es gibt eigentlich für alle wichtigen Funktionen eine Dokumentation, sei es das MODx-API, Add-Ons, etc. Allerdings könnten diese durchaus ausführlicher sein und es ist bislang recht unstrukturiert, so gibt es eine eigene komplette Microseite, andere Dokumentationen befinden sich im Wiki, direkt im Installer-Paket oder auf dem Portal MODxcms.com, z.B. im Forum. Meine persönliche Erfahrung ist, dass es erst schwierig wird, wenn man zum ersten Mal wirklich komplexe und knifflige Anforderungen umsetzen muss. Dann wird es mehr zu einem „Try & Error“ Thema, aber in den Foren findet man schnell Hilfe oder Unterstützung.
Abb. 8: Die Dokumentation

Abb. 8: Die Dokumentation

Ausgehend von Revolution kehrt aber auch hier Ordnung im Hause MODx ein. Dafür wurde eigens das Enterprise-Wiki Confluence für die eigene API-Dokumentation eingesetzt, das jetzt langsam aber sicher mit Inhalten befüllt wird. Vorbildhaft wird auch die Dokumentation für Evolution migriert – denn Dokumentation muss sein. Sie zu schreiben ist wahrscheinlich so beliebt wie ein Fahrrad ohne Sitz, aber um die Lernkurve des Systems für potenzielle neue Anwender zu senken und diese entsprechend zu motivieren, ist dokumentieren einfach unerlässlich.

Community

Neben einem engagierten Core-Entwicklerteam, ist die Community das Rückgrat einer jeden Open-Source-Anwendung. Und wie bei anderen Open-Source-Systemen auch, wo unzählige Stunden an Arbeit von Enthusiasten einfließen, haben die beiden MODx dahin gebracht, wo es heute steht. Die Community von MODx ist sehr aktiv und man bekommt ziemlich schnell in einem der Foren Hilfe, so fern sie benötigt wird. Dabei ist es auch sehr interessant zu sehen, dass es mit MODx meistens mehrere Wege gibt, um an das gewünschte Ziel gelangen. Zentraler Ort der Community ist das Forum auf dem Portal MODxcms.com. Im deutschsprachigen Raum ist das Forum unter MODxcms.de ebenfalls ein beliebter Anlaufpunkt. Das Portal wird von Marc Hinse, der sich auf die Entwicklung von MODx-Webseiten fokussiert hat, betrieben. Die Verbreitung von MODx schreitet voran, dass merkt man am Feedback über Twitter und der regen Betriebsamkeit in den Foren. Etwas überraschend dabei ist, dass MODx, zumindest in den deutschsprachigen Fachmedien, noch eher wenig Beachtung findet, hier dominieren eindeutig TYPO3, WordPress, Joomla! und Drupal.

Fazit

Gerade beim Schreiben des Artikels habe ich mich auch mit TYPO3 und Drupal beschäftigt, aber das Handling mit MODx und der Aufbau sind einfach genial und vereinen die Vorzüge eines einfach zu nutzenden und doch sehr flexiblen, mächtigen Systems. Ohne Umschweife, ich stehe auf MODx. Der Aufbau und das Zusammenspiel der einzelnen Komponenten (Templates, Chunks, Snippets, Plug-ins) machen das System nun mit der Version 2.0 zu einem richtigen Rohdiamanten. Und dieser Rohdiamant, da gehe ich jede Wette ein, wird vom Entwicklerteam weiter fleißig geschliffen. Man merkt schon jetzt, dass die Entwicklungen wohl überlegt sind und mit viel Weitsicht implementiert werden. Das sieht man auch an den Weiterentwicklungszyklen, die eher weit auseinander liegen. Das ist teils Open-Source-bedingt und andererseits gibt es so bei den stabilen Releases weniger Bugs und Sicherheitslöcher. Die letzte Security Notice datiert auf den 7. Juni (bzw. wurde bereits am 28. Mai eingereicht und noch am selben Tag gefixt). Aus meiner Sicht kann das System einen recht großen Anwenderkreis erschließen, vom einfachen Hobby-Webmaster, über den Designer, bis zum Entwickler-Guru. Um eine Seite prinzipiell zum Laufen zu bringen, sind eigentlich keine PHP-Kenntnisse nötig. Das System geht sogar einen Schritt weiter – da es auch Frontend-Templatevorlagen gibt, sind nicht einmal HTML-/CSS-Kenntnisse notwendig (wobei man die meisten Features so aber nicht wird nützen können). Auf der anderen Seite bietet diese Applikation einem professionellen Webentwickler mit dem Backend, dem API und der Flexibilität bzw. Anpassungsfähigkeit alles Nötige, um skalierbare Webapplikationen zu programmieren. Ich hoffe, ich konnte Ihnen einen ersten Einblick in MODx geben und werde gerne in einer nächsten Ausgaben des PHP Magazins näher auf gewünschte Bereiche von MODx eingehen. Und worauf warten Sie? MODx – check it out!
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -