Spaces. Smartes Cloud Hosting für anspruchsvolle Webprojekte. Loslegen und Spaces testen. Von Mittwald.
  • CMS
Dieter Petereit 22. Februar 2010

Tomato CMS 2.x – Newcomer aus Vietnam

Schon die Herkunft die­ses recht neu­en Content Management Systems (CMS) weckt Interesse. Die TIG Corporation, die das Produkt TomatoCMS als Open Source ent­wi­ckelt, hat ihren Sitz in Hanoi City. Möglicherweise sind das nicht die bes­ten Voraussetzungen, um TomatoCMS erfolg­reich in den USA ein­zu­füh­ren, aber hier­zu­lan­de könn­te es gelin­gen. Falls die Funktionalität inter­na­tio­na­len Ansprüchen genü­gen kann natür­lich. Schaun mer mal…

logo-w500.png

Zielgruppe

TomatoCMS will aus­weis­lich der optisch und tech­nisch ganz anspre­chen­den Website das CMS für jeden Einsatzzweck sein. Aus dem nicht ganz ein­wand­frei­en Englisch der Produkt-Site lässt sich ent­neh­men, dass TomatoCMS kom­plett modu­lar auf­ge­baut ist.

TomatoCMS unter­schei­det in Module, Templates und Plugins, was zunächst einen sehr fle­xi­blen Zuschnitt auf den jewei­li­gen Einsatzzweck ver­mu­ten lässt. Anders als so manch ande­res grö­ße­res CMS eig­net sich TomatoCMS dem Vernehmen nach auch sehr gut als Blogsystem, was das Produkt-Blog zu bewei­sen ver­mag. Das Template des TomatoCMS-Blog wird übri­gens mit­ge­lie­fert, zer­schießt aber im Backend (!) die Dropdownnavigation.

TomatoCMS rühmt sich damit, DAS CMS auf der Basis des Zend Framework zu sein. Außerdem fin­den jQuery sowie das CSS-Framework 960.gs Verwendung. Letzteres stuf­ten wir bei Dr. Web ja auch schon ein­mal als taug­lich ein – genü­gend Gründe also für einen inten­si­ve­ren Produkttest.

Grundlegendes

Wenn man bereits weiß, dass TomatoCMS auf dem Zend Framework basiert, wird man sich nicht wun­dern, dass das Gesamtsystem mit gepack­ten 7,23 MB und ent­pack­ten 27,7 MB mit 3.624 Dateien in 819 Ordnern nicht eben zu den Leichtgewichten gezählt wer­den kann.

In Sachen Systemvoraussetzungen setzt TomatoCMS auf aktu­el­le Standards. Es besteht auf einem Apache Webserver, PHP ab Version 5.2 und MySQL ab Version 5.0. An PHP Erweiterungen wer­den gd, json, mbstring, mys­ql, pdo, pdo_mysql, sim­plexml, xml, xml­re­ader und zip benö­tigt. Mein Webspace bei All Inkl erfüllt alle Voraussetzungen, im Grunde dürf­te es bei aktu­el­lem Standard-Webspace kei­ne Probleme geben. Immerhin hat sogar 1&1 bereits auf MySQL 5 in den Webhosting-Produkten umge­stellt.

Installation

Die Installation läuft im Grunde typisch ab. Sie laden das Komplettpaket von der Website her­un­ter, ent­pa­cken es und geben Ihrem Lieblings-FTP-Client den Auftrag, das ent­pack­te Verzeichnis auf Ihren Webspace hoch zu laden.

Ich rich­te stets vor dem Upload eine Subdomain sowie eine ent­spre­chen­de MySQL-Datenbank ein, so dass ich im Rahmen des jewei­li­gen Installationsscripts nicht erst ins Provider-Backend wech­seln muss.

Befindet sich TomatoCMS auf Ihrem Webspace, was auf­grund der Größe durch­aus eine klei­ne Geduldsprobe dar­stellt, soll­ten Sie zuächst die Schreibberechtigungen für die Verzeichnisse app/templates, temp und upload, sowie auf die Dateien app/config/layout.ini und app/config/app.ini set­zen. Die app.ini ent­spricht hin­sicht­lich ihrer Aufgabe sehr weit­ge­hend der wp-config.php, die vie­le von Ihnen sicher­lich aus WordPress ken­nen. Die app.ini wird im Zuge der Installation auto­ma­tisch bestückt und ent­hält die wesent­lichs­ten Informationen zum Betrieb des Systems, wie die Datenbankverbindung und die zu ver­wen­den­de Sprache.

In der zum Testzeitpunkt aktu­el­len Version 2.0.2 exis­tiert ein Installscript, das recht zuver­läs­sig arbei­tet und in mei­nem Fall sim­pel per Aufruf der zuvor ein­ge­rich­te­tetn Subdomain gestar­tet wur­de. Da ich die Berechtigungen nicht im Vorfeld gesetzt hat­te, sah mein Installationsscreen so aus und ich kam man­gels Next-Button nicht wei­ter:

01-install-errors-w500.png

Nach Setzen der erfor­der­li­chen Berechtigungen wider­setz­te sich TomatoCMS nicht län­ger.

02-install-sin-errors-w500.png

Im nächs­ten Schritt fragt TomatoCMS Sie    nach Informationen  zur Datenbankverbindung, den Grundeinstellungen der Website, dem Starttemplate und der zu ver­wen­den­den Zeitzone. Lassen Sie sich nicht irri­tie­ren. TomatoCMS schlägt bereits Daten für die Datenbankverbindung vor. Das hat kei­nen wei­te­ren Hintergrund. Überschreiben Sie ein­fach den Vorschlag mit Ihren eige­nen Daten.

03-config-w500.png

Haben Sie alle erfor­der­li­chen Eingaben getä­tigt, teilt TomatoCMS Ihnen das tem­po­rä­re Login mit und bit­tet um den fina­len Installationsbutton-Druck.

04-install-complete-w500.png

Je nach­dem wel­ches Template Sie für den ers­ten Start aus­ge­wählt haben, sehen Sie einen der bei­den fol­gen­den Screens:

05-first-start-empty-w500.png

Der Startbildschirm von Tomato CMS

05b-first-start-empty-blog-w500.png

Das Blog von Tomato CMS ist mit Vorsicht zu genie­ßen.

Hinweis: Wählen Sie zunächst das Template Website, da das Blogtemplate die obe­re Navigation des Backend zer­schießt (jeden­falls im Chrome, Firefox und Internet Explorer). Ohne funk­tio­nie­ren­de Dropdownnavi macht der Start ins TomatoCMS kei­ne rech­te Freude …

Erste Schritte

Um ins Backend zu gelan­gen, gibt es nir­gends einen Link, den Sie kli­cken könn­ten. Stattdessen geben Sie in mei­nem Beispiel tomatocms.blogmanufaktur.de/admin ein. Es gab übri­gens Probleme, wenn TomatoCMS in ein Unterverzeichnis instal­liert wird (zum Beispiel www.blogmanufaktur.de/tomatocms/admin). Diese Probleme sol­len nach Aussage der Entwickler mitt­ler­wei­le beho­ben sein. Da ich stets die Subdomain-Variante vor­zie­he, habe ich das Problem ohne­hin nicht.

06-admin-login-w500.png

Haben Sie sich erst­mals erfolg­reich ins Backend ein­ge­loggt, ändern Sie bit­te sofort unter Account > Change Password Ihr Passwort. Das Backend, das hier wie in WordPress Dashboard heißt, begrüßt Sie recht über­sicht­lich:

07-admin-dashboard-start.png

Das Dashboard rekru­tiert sein Layout aus der Darstellung der für die Website instal­lier­ten Module und kann daher sehr schlank, aber auch sehr bela­den daher­kom­men. Der Vorteil an der Sache: Der User sieht immer nur Möglichkeiten, die er in der kon­kre­ten Website auch tat­säch­lich hat. Bei der Gelegenheit wird auch klar, dass TomatoCMS immer nur eine ein­zel­ne Website ver­wal­ten kann.

Ein Modul nach Lesart TomatoCMS stellt eine bestimm­te Funktionalität, bei­spiels­wei­se die Kommentarfunktion, Anzeigen, Multimediaeinbindung oder Umfragen zur Verfügung. Alle Funktionen sind als Module rea­li­siert.

Soll so ein Modul nun auf der Website auch optisch zum Zuge kom­men, bedarf es neben dem Modul noch eines kor­re­spon­die­ren­den Widgets, das die Anzeige der jewei­li­gen Funktion über­nimmt. So wie sich die Funktionalität kom­plett aus Modulen gene­riert, wird die Optik kom­plett durch Widgets bestimmt, die unter Verwendung des 960.gs auf der ein­zel­nen Seite frei bezie­hungs­wei­se 960.gs-konventionskonform ange­ord­net wer­den kön­nen. Dazu wei­ter unten etwas mehr.

In Sachen Benutzerverwaltung unter­stützt TomatoCMS das Rollenmanagement unter Verwendung von Usern und Usergroups. Rechte kön­nen sehr fein gra­nu­liert für jedes Modul und des­sen Unterfunktionen ver­ge­ben wer­den.

Nicht gut gelöst ist die Multilingualität. Zwar kann TomatoCMS grund­sätz­lich in allen Sprachen der Welt, auch LTR betrie­ben wer­den, jedoch ist es erfor­der­lich, für jedes Modul eine sepa­ra­te Sprachdatei zu erstel­len und im jewei­li­gen Unterverzeichnis des Moduls abzu­le­gen. Das hät­te man sich weit ein­fa­cher vor­stel­len kön­nen, ist aber dem Konzept geschul­det, dass jeder­mann wei­te­re Module frei ent­wi­ckeln kön­nen soll. Im Falle feh­ler­haf­ter Modulübersetzungen fällt es nicht auf die Sprachdatei als Ganzes zurück ;-).

Die Aktivierung einer ande­ren Sprache hin­ge­gen ist ein­fach. Dazu öff­net man am bes­ten die app.ini, die man so wenigs­tens auch etwas bes­ser ken­nen­lernt und plat­ziert den gän­gi­gen Sprachcode:

08-config-app-ini-w500.png

Ist für ein Modul die gewünsch­te Sprache nicht vor­han­den, soll die Standardsprache – also Englisch – ver­wen­det wer­den. Die Sprachdateien kön­nen per Backend dia­log­ge­steu­ert ange­legt wer­den. Praktikabler erscheint mir aber das Herunterladen der jewei­li­gen eng­li­schen Sprachdatei mit nach­fol­gen­dem Übersetzen en bloc.

Oberflächendesign

Grundsätzlich ist das Layouten eines Templates für TomatoCMS auf­grund der Verwendung des 960.grid recht ein­fach. Dies vor allem des­halb, weil 960.gs gut doku­men­tiert ist und von daher kei­ne tief­grei­fen­den Codeanalysen im Beispieltemplate erfor­der­lich wer­den. Da habe ich in ande­ren Systemen schon die dolls­ten Sachen erlebt.

Noch tol­ler aber wäre es, wenn der inte­grier­te Layout-Editor des TomatoCMS funk­tio­nie­ren wür­de. Dessen im Grunde beein­dru­cken­de Funktionalität beschreibt das fol­gen­de YouTube-Video:

Danach hat der Layout-Editor vol­len Zugriff auf das Grid-Framework und ist so theo­re­tisch in der Lage, auch Personen, denen das Layouten mit 960.gs eher fremd erscheint, die Nutzung aller Layoutvarianten zugäng­lich zu machen. Leider ist es mir nicht gelun­gen, den Layout-Editor, der über das Dashboard unter Extend > Template > List Of Pages > Edit Layout auf­ge­ru­fen wird, zu benut­zen. Stets ver­sucht der Editor eine Datei auf­zu­ru­fen, die es im ent­spre­chen­den Verzeichnis nicht gibt, was letzt­lich zu einem “fai­led to open stream” führt. Schade, denn der Layout-Editor könn­te ein ech­ter Alleinstellungspunkt sein.

Zudem erscheint mir die Einbindung der diver­sen Bibliotheken tech­nisch stark ver­bes­se­rungs­be­dürf­tig zu sein. So gibt es immer wie­der Darstellungsfehler und nicht funk­tio­nie­ren­de Elemente im Backend, ohne dass man ein Fehlermuster erken­nen könn­te.

Fazit: TomatoCMS ist ein jun­ger, aber inter­es­san­ter Mitbewerber in der Arena der CMS. Derzeit ist er nicht aus­ge­reift genug, um ihn ernst­haft für die pro­duk­ti­ve Nutzung in Erwägung zu zie­hen. Ich pro­phe­zeie auch, dass TomatoCMS kurz­fris­tig unter einem ande­ren Namen auf­tre­ten wird, denn die Bezeichnung TomatoCMS wird vom bri­ti­schen Tomatonetwork bereits seit Jahren für ihr eige­nes, geschlos­se­nes KaufCMS ver­wen­det. Dass man selbst den Namen nicht ordent­lich recher­chiert hat, passt ins ins­ge­samt unrei­fe Gesamtbild der viet­na­me­si­schen CMS-Hoffnung. In jedem Falle aber soll­te man TomatoCMS oder wie auch immer es bald hei­ßen mag, in Zukunft min­des­tens aus dem Augenwinkel beob­ach­ten.

Dieter Petereit

Dieter Petereit

ist seit 1994 im Netz unterwegs, aber bereits seit über 30 Jahren in der IT daheim. Seit Anfang des neuen Jahrtausends schreibt er für diverse Medien, hauptsächlich zu den Themenfeldern Technik und Design.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.