

TomatoCMS basiert auf den besten aktuellen Technologien zur Erstellung von Websites. Diese sind Zend Framework, jQuery und 960grid.
Das Zend Framework ist eines der hoch entwickelten PHP-Frameworks. Es garantiert, dass TomatoCMS auf der Model-View-Controller-Architektur aufbaut und objektorientierten Designprinzipien folgt.

jQuery ist vermutlich die bekannteste JavaScript-Bibliothek. Gemäß ihres Slogans "Write less, do more" macht sie die Entwicklung von Skripten einfacher als je zuvor. Zusätzlich können Sie zahlreiche verfügbare Plugins der jQuery-Community nutzen, welche von anderen Entwicklern angebnoten werden.

TomatoCMS verwendet 960grid für das Layout der Webseiten im Frontend und Backend. So wird die Anpassung des Layouts sehr komfortabel. Sie werden die Seite leichter in zwei, drei oder vier Spalten aufteilen können. .

Für TomatoCMS besteht jede Webseite aus unterschiedlichen Widgets. Der Layout Editor erlaubt Ihnen eine einfache Verwaltung des Seitenlayouts.
Wenn Sie dieses Widget Ihrer Site hinzufügen, wird es den Besuchern ermöglicht, die Widgets per Drag & Drop selbst anzuordnen. Diese Anordnugn wiord clientseitig gespeichert, so dass er beim nächsten Besuch erneut das selbst veränderte Seitenlayout sieht.
You can create page from multiple nested containers. Full-row containers can be dragged and dropped to change their order on page. You can resize width of container. Layout Editor allows you to drag widgets and drop them in same container or between containers. Off course, you can remove any widgets from container whenever you don't want to show it on page. Removing container from page will remove all widgets belong to selected container.

Sie können für jedes Widget einer Seite Einstellungen vornehmen. Anschließend können Sie eine Vorschau des Widgets anzeigen und in den Konfigurationsmodus wechseln. Der Layout Editor ermöglicht die Vorschau der gesamten Seite. .

Das integrierte Berechtigungssystem basiert auf der ACL-Architektur, so dass Sie Rollen (Gruppen) oder bestehenden Benutzern Berechtigungen für unterschiedliche Module vergeben können.

Mit Hilfe des IpLock-Plugins können Sie den Zugriff von konfigurierbaren IP-Adressen blockieren. Dieses Plugin kann selbstverständlich im Backend ein- oder ausgeschaltet werden.

Es ist einfach, Benutzern den Zugriff auf das Backend von angegebenen IP-Adressen zu verweigern.

TomatoCMS unterstützt eine modulare Architektur. Jedes Modul verfügt über separate Berechtigungen, Funktionalitäten und Sprachdateien. Diese Unabhängigkeit der Module vereinfacht die Entwicklung eigener Module sehr.
Trotzdem werden Sie feststellen, dass in den integrierten Modulen manche Module von anderen abhängig sind.
Um nur einige zu nennen:

TomatoCMS die Plugin- und Hook-Architektur.
Im Backend können Sie Plugins und Hooks installieren und deinstallieren. Darüber hinaus ist dort der Upload von Plugins oder Hooks von Ihrem lokalen Computer zu Ihrer Site möglich.
Für Plugins und Hooks gibt es zwei Level:


Sie können die vollständige Liste der verfügbaren Plugins und Hooks von TomatoCMS im Backend einsehen. Nachfolgend eine Liste einiger davon:
TomatoCMS ünterstützt Templates und Skins. Jede Site kann mehrere Templates besitzen und jedes Template kann mit verschiedenen Skins verwendet werden. Templates und Skins können einfach im Backend gewechselt werden.
Das Standard-Paket von TomatoCMS beinhaltet zwei Templates:

Mit Hilfe des Layout Editors, können Sie einfach das Seiten-Layout der beiden integrierten Templates verändern. Im Backend können Sie die Skins anpassen, indem Sie die verknüpften CSS-Dateien bearbeiten.
Außerdem erlaubt Ihnen TomatoCMS Basis-Elemente wie Logo oder Favicon auszutauschen 
Basierend auf der Architektur von TomatoCMS, können Frontend-Entwickler vorhandene Templates und Skins anpassen ohne PHP-Code schreiben zu müssen, indem sie einfach den HTML- und CSS-Code verändern.
TomatoCMS verwendet Zend_Layout zum Wechseln des Layouts.TomatoCMS unterstützt Mehrsprachigkeit sowohl im Frontend als auch im Backend. Englische (Standard) und vietnamesische Sprachdateien sind bereits integriert.
Die Sprachdateien von Modulen und Widgets werden getrennt verwaltet.

Im Backend von TomatoCMS können Sie neue Sprachdateien anlegen oder vorhandene Sprachdateien bearbeiten.
Sprachdateien sind einfache Textdateien (im INI-Format), daher können Sie diese bei Bedarf auch manuell bearbeiten.
TomatoCMS ermöglicht die Verwendung von RTL (Right-To-Left) Sprachen wie Arabisch, Iranisch etc. 

TomatoCMS unterstützt standardmäßig suchmaschinenfreundliche URLs zur Suchmaschinenoptimierung.
Entwickler können diese URLs manuell anpassen, um diese noch suchmaschinenfreundlicher zu gestalten als in der Standardkonfiguration 
Sie können die Meta Keywords und die Meta Description im Backend eintragen. Diese Tags werden ebenso automatisch gesetzt, wenn ein Benutzer eine Seite aufruft. Wenn ein Besucher beispielsweise einen bestimmten Artikel aufruft, werden Meta Keywords und Meta Description automatisch aus dem Titel und der Beschreibung des jeweiligen Artikels befüllt.
RSS ist bereits für das Modul News verfügbar. Wenn die Besucher einen Artikel oder eine Kategorie mit Firefox aufrufen, sehen sie in der Adressleiste das Feed-Icon und können den zugehörigen Feed abonnieren.

Das Datenbank-Schema von TomatoCMS wurde zur Verbesserung der Ladezeiten optimiert.
Zusätzlich unterstützt TomatoCMS die Verbindung zu replizierten Datenbanken mit Verbindungen zu Master- und Slave-Servern.
TomatoCMS unterstützt Datei-Caching. Im Backend können Sie eine Liste der gecachten Daten aufrufen, die nach Schlagworten gruppiert ist.
Der Cache Manager ermöglicht es Ihnen, entweder alle zu einem Tag gecachten Daten oder den gesamten Cache zu löschen.
Wenn Sie MemCache verwenden, erlaubt TomatoCMS Ihnen wegen der Begrenzungen des MemCache-Systems nur das Leeren des Caches (MemCache beherrscht beispielsweise nicht das Verwenden von Tags für den Cache).
Der Layout Editor ermöglicht es Ihnen, jedes Widget auf Ihrer Seite für eine einstellbare Lebensdauer zu cachen. Außerdem können Sie Widgets mittels AJAX laden lassen, was die Ladezeiten ebenfalls verbessern kann. .

Mit Hilfe des Layout Editors können Sie eine Werbezone für Banner an jeglicher gewünschten Position einfügen. Jede Zone kann aus verschiedenen Bannern bestehen. Ebenso können Sie das gleiche Banner auf unterschiedlichen Seiten anzeigen lassen.
TomatoCMS unterstützt Grafik- Banner (*.gif,*.jpg, *.png), Flash-Banner (*.swf, *.flv) und HTML-Banner. So können Sie auch Code von Google Adsense als HTML-Banner einfügen.
TomatoCMS unterstützt Kategorie-Hierarchien mit unbegrenzt vielen Ebenen. Die Datenbank-Struktur wurde so optimiert, dass eine Kategorie-Hierarchie mit vielen Ebenen nicht die Performance der Site beeinträchtigt.

Den Besuchern werden immer alle bereits freigeschalteten Kommentare angezeigt.
TomatoCMS unterstützt verschachtelte Kommentare mit unbegrenzt vielen Ebenen. Sie können die Liste der Kommentare sowohl im Frontend als auch im Backend verschachtelt anzeigen lassen.
Das Kommentarsystem zeigt standardmäßig den Avatar von Kommentatoren an. Der Avatar wird von Gravatar geladen.

Durch die Hook-Archiotektur können Sie versciedene Hooks verwenden, um den Inhalt von Kommentaren zu formatieren und zu filtern. Einige der eingebauten Hooks sind:
Sie können Bilder und Videos hochladen. Mit Hilfe von Helpern des Moduls Upload können Sie auch mehrere Bilder gleichzeitig hochladen. Vorschaugrafiken werden dabei automatisch generiert.
Sie können Fotos und Videos als Set organisieren. Jedes Set kann aus mehreren Fotos bestehen und ein Foto kann zu mehreren Sets gehören. Sie können jederzeit den Titel und die Beschreibung von Fotos, Videos und Sets bearbeiten.

Im Frontend können Sie alle Fotos eines Sets oder eine Diashow der neuesten Fotos anzeigen lassen.

TomatoCMS verwendet TinyMCE, einen einfach zu bedienenden WYSIWYG (What You See Is What You Get) Editor.

Während Sie einen Artikel hinzufügen oder bearbeiten, können Sie mehrere Bilder gleichzeitig hochladen, ohne die Seite neue laden zu müssen. Sie können ebenso Vorschaubilder im Artikelinhalt einfügen und hochgeladene Bilder als Hauptbild eines Artikels festlegen. Genauso können Sie Videos dem Artikelinhalt hinzufügen.
Wie bei anderen Modulen muss ein Artikel freigeschaltet werden, bevor er veröffentlicht wird. Sie können Ihre Artikel als Entwurf speichern und später veröffentlichen.
Sie können Artikel mehreren Kategorien zuordnen. Es ist außerdem möglich, einen Artikel in einer gewählten Kategorie festzusetzen (sticky).
TomatoCMS fügt dem Kopfbereich Ihrer Seite automatisch RSS-Links hinzu, wenn Besucher einen Artikel oder eine Kategorie aufrufen.
Sie können Umfragen erstellen, die es Ihren Besuchern erlauben, eine oder mehrere Optionen auszuwählen.
Die Besucher können abstimmen und die Ergebnisse auf der gleichen Seite sehen, ohne diese neue laden zu müssen oder ein Popup-Fenster zu öffnen.


TomatoCMS macht es möglich, verschiedenartige Inhaltselemente mit Schlagworten (Tags) zu versehen, z.B. Artikel, Fotos, Videos etc.
Bei der Eingabe eines Tags für ein Inhaltselement müssen Sie sich nicht genau an die Schreibweise erinnern. Das System schlägt automatisch Tags vor, die Ihrer Eingabe ähneln.

Es gibt ein TagCloud Widget, welches alle Tags in einer zufälligen Reihenfolge anzeigt. Ein Klick auf eines der Tags zeigt alle Inhalte auf einer Seite an, die mit dem ausgewählten Tag versehen wurden.

Im Backend können Sie nach Tags suchen, Tags hinzufügen oder Tags löschen.
TomatoCMS verwendet Zend_Tag_Cloud zur Anzeige des TagCloud..Dieses Modul ermöglicht es Ihnen, Bilder auch von anderen Modulen als Banner, News und Multimedia hochzuladen.
Es unterstützt die am weitesten verbreiteten Grafikformate, darunter GIF, JPG und PNG.
Sie können mehrere Bilder gleichzeitig hochladen, ohne die Seite neu laden zu müssen. Die Anzahl der gleichzeitig hochladbaren Bilder hängt von der maximalen Uploadgröße Ihres Servers ab.

Während des Uploads werden automatisch Vorschaugrafiken in unterschiedlichen Größen generiert. Die Größe der Vorschaugrafiken können Sie im Backend einstellen. TomatoCMS unterstützt sowohl die GD- und die ImageMagick- (*) Bibliothek für die Verarbeitung von Bildern. .
* Wenn Sie ImageMagick verwenden möchten, muss auf Ihrem Server die ImageMagick-Bibliothek und die imagick-Extension installiert sein.