TomatoCMS maakt gebruik van de nieuwste technologiën om websites te bouwen. Er zijn Zend Framework, jQuery en 960grid
Dit is een PHP framework van uitermete hoog niveau. Het verzekert dat TomatoCMS de Model-View-Controller architectuur en het object oriented design principe volgt.

Waarschijnlijk is jQuery de meest populaire javascript library. Met zijn slogan "Write less, do more", wordt nieuwe scripts ontwikkelen in TomatoCMS eenvoudiger dan ooit. Aanvullend kan je gebruik maken van de vele plugins die door jQuery en andere ontwikkelaars beschikbaar worden gesteld.

TomatoCMS gebruikt 960grid om de lay-out van webpagina's van zowel de front- als de backend. Het is eenvoudig om de lay-out aan te passen. Je merkt direct dat een website in (twee, drie of vier) kolommen splitsen als vanzelf gaat.

TomatoCMS beschouwt elke webpagina als een verzameling van meerdere widgets. Met de 'Layout Editor' kan je de lay-out op een eenvoudige manier beheren.
Door het toevoegen van dit widget aan je pagina, geeft bezoekers de mogelijkheid om widget met drag en drop op de frontend te plaatsen. De aanpassingen zullen bij de bezoeker opgeslagen worden en bij een volgend bezoek nog zichtbaar zijn.
Je kan pagina's maken van verschillende in elkaar geplaatste containers. Containers die zich uitstrekken over een volledige rij kunnen versleept worden om hun volgorde aan te passen. Je kan de breedte van een container aanpassen. 'Layout Editor' laat je toe om widgets te verslepen. Zowel binnen een container als over de grenzen van containers heen. Uiteraard kan je een widget van een container verwijderen wanneer je deze niet meer wilt tonen op een pagina. Een container van een pagina verwijderen zal ervoor zorgen dat ook al de widgets binnen deze container niet meer op deze pagina getoond worden.

Je kan instellingen maken voor iedere widget op een pagina. Na het instellen, kan je het resultaat bekijken en vervolgens opnieuw wisselen naar de instellingen. 'Layout Editor' geeft de mogelijkheid om hele pagina's te bekijken zonder deze te moeten publiceren.

Met het ingebouwde permissie-systeem, gebaseerd op de ACL-architectuur, kan je de rechten instellen voor iedere rol (groep) of voor een bepaalde gebruiker voor iedere module afzonderlijk.

De IpLock plugin, kan je de toegang tot je website beperken aan de hand van het IP-adres. Deze plugin kan uiteraard in- of uitgeschakeld worden in de backend

Het is eenvoudig om gebruikers niet toe te laten tot de backend vanuit een bepaald IP-adres.

TomatoCMS ondersteunt een modulaire architectuur. Iedere module heeft afzonderlijke instelmogelijkheden voor de gebruikersrechten, functies en talen. De onafhankelijkheid van modules maakt het ontwikkelen van modules een stuk eenvoudiger.
Eens je bezig bent met TomatoCMS zal je merken dat bepaalde modules steunen op andere.
Een (beperkt) overzicht:

TomatoCMS ondersteunt plugins en hacks.
In de backend kan je deze installeren en verwijderen. Naast dit, laat het je ook toe een plugin en een hack te uploaden vanaf je eigen computer naar je website.
Er zijn twee niveaus van plugins en hacks:


Jek an een volledige lijst van beschikbare plugins en hacks in TomatoCMS bekijken in de backend van je website. Hieronder staan er enkele:
TomatoCMS ondersteunt ook sjablonen en skins. Iedere site kan meerdere sjablonen hebben en ieder sjabloon kan dan weer meerdere skins hebben. Je kan eenvoudig wisselen tussen sjablonen en skins vanuit de backend.
Standaard komt TomatoCMS samen met twee templates:

Met de krachtige functie van Layout Editor is het eenvoudig om de lay-out aan te passen, vertrekkend vanuit de ingebouwde sjablonen. In backend, kan je de skin aanpassen door de bijhorende CSS-bestanden te wijzigen.
Ook kan je met TomatoCMS snel de basis-afbeeldingen veranderen zoals je logo en het favicon 
Door de structuur van TomatoCMS, kunnen ontwikkelaars onze ingebouwde sjablonen en skins aanpassen zonder PHP-code te schrijven, maar enkel de HTML- en CSS-files aan te passen.
TomatoCMS gebruikt Zend_Layout om te wisselen tussen sjablonenTomatoCMS ondersteunt meertaligheid in zowel front- als backend. Het voorziet twee ingebouwde talen: Engels (standaard) en Tiếng Việt.
Taalbestanden worden gescheiden opgeslagen voor iedere module en widget.

In de backend van TomatoCMS, kan je een nieuw taalbestand maken of bestaande aanpassen.
Dit taalbestand is een tekstbestand (opgesteld in the ini-vorm), zodat je dit handmatig kan aanpassen indien gewenst.
TomatoCMS heeft ingebouwde ondersteuning voor RTL (Right-To-Left) talen zoals Arabisch, Iraans, ... 

TomatoCMS gaat beter overweg met zoekmachine, omdat het standaard nette URL's presenteert.
Ontwikkelaars kunnen handmatig URL's aanpassen naar de gewenste vorm 
Je kan meta sleutelwoorden en beschrijvingen toevoegen in de backend. Deze tags kunnen ook automatisch ingesteld worden in de backend, afhankelijk van wat de beheerder kiest. Bijvoorbeeld, als de gebruikers een artikel bekijken, kunnen de sleutelwoorden en beschrijving genomen worden van de titel en de tekst van het artikel.
RSS is al beschikbaar voor de nieuwsmodule. Als een gebruiker een artikel of een categorie bekijkt met de Firefox browser, dan zal het feed-icoon verschijnen in de adresbalk.

De database van TomatoCMS is ontwikkeld om uw website sneller te laten werken.
Aanvullend ondersteunt TomatoCMS connecties naar meerdere database-servers.
TomatoCMS ondersteunt 'file caching'. In de backend kan je een lijst zien van gecachete data, gegroepeerd per tag.
De cache-manager laat je toe om de (gedeeltelijke) cache leeg te makem.
Als je MemCache gebruikt, zal TomatoCMS je enkel toelaten het cache volledig leeg te maken omwille van enkele beperkingen van het MemCache systeem (het is bijvoorbeeld niet mogelijk cache per tag te maken).
De Layout Editor maakt het mogelijk om voor elke widget vast te stellen hoe lang de cache mag blijven bestaan, onafhankelijk van de algemene instelling. Verder kan je iedere widget door Ajax latel laden, wat, indien verstandig gebruikt, de laadtijd van je pagina aanzienlijk kan verkorten.

Door gebruik te maken van Layout Editor, kan je advertentie-zones aanmaken en tonen in elke deel van je website, zoals jij het wenst. Iedere zone kan bestaan uit meerdere banners. Ook kan je dezelfde banner op meerdere pagina's tonen.
TomatoCMS ondersteunt bannners van verschillende types: afbeeldingen, flash (*.swf, *.flv) en HTML. Je kan hierdoor ook gebruik maken van Google Adsense code in je banner.
TomatoCMS ondersteunt hiërarchische categoriën zonder beperkingen. De database is ook geoptimaliseerd, zo dat de hoge niveaus de prestaties van je website niet beïnvloeden.

Alle commentaren worden enkel getoond als deze goedgekeurd zijn.
TomatoCMS biedt ondersteuning voor geneste commentaren, ook weer zonder beperkingen. Je kan de lijst van deze commentaren zowel in de front- als backend zien.
Het commentaarsysteem toont standaard de avatar van de persoon die de commentaar geeft. Deze avatar wordt opgehaald uit de dienst 'Gravatar'.

Door de hack-architectuur kan je verschillende hacks gebruiken om de inhoud van commentaren op te maken. Enkele van de ingebouwde hacks zijn:
Je kan afbeeldingen en videos uploaden door gebruik te maken van de upload module en dit kan zelfs met meerdere afbeeldingen tegelijk. Kleine afbeeldingen worden automatisch gegenereerd.
Je kan foto's organiseren en videos groeperen. Iedere set kan bestaan uit meerdere foto's en een foto kan toegewezen worden aan meerdere albums uit meerdere albums. Voor iedere afbeelding kan je een titel en omschrijving ingeven.

In de frontend kan je al de foto's van een album verkennen of een diashow bekijken van de nieuwste foto's.

TomatoCMS gebruikt TinyMCE. Dit is een WYSIWYG (What You See Is What You Get) editor en is zeer eenvoudig in gebruik.

Tijdens het toevoegen en aanpassen van artikels kan je meerdere afbeeldingen afbeeldingen tegelijk uploaden zonder de pagina te herladen. Je kan de afbeelding toevoegen aan de inhoud van een artikel en kies afbeeldingen om een diashow van te maken. Ook kan je een video toevoegen aan de inhoud van een artikel.
Zoals andere modules moet je een artikel activeren voordat dit gepubliceerd wordt. Je kan een artikel opslaan als kladversie en het later publiceren.
Je kan meerdere categoriën kiezen voor een artikel. Je hebt ook de kans om een artikel als 'sticky' (blijvend bovenaan) aan te duiden.
TomatoCMS voegt automatisch een RSS-link toe in de adresbalk als je een artikel of een categorie bekijkt.
Je kan een stemming organiseren waarbij de gebruikers 1 of meerdere antwoorden kunnen kiezen.
Gebruikers kunnen hun stem uitbrengen en het resultaat zien zonder dat de pagina herladen wordt of een nieuwe pagina te openen.


TomatoCMS laat je toe verschillende items te 'taggen' zoals artikels, foto's, videos, ...
Tijdens het toevoegen van een tag voor een bepaald item, is het niet nodig de tag exact in te geven. TomatoCMS zal een lijst van tags voorstellen afhankelijk van je input.

Er is een widget (TagCloud) die een lijst opstelt van al de tags in willekeurige volgorde. Als je op een tag klikt, krijgt je een overzicht van al de items die mat die tag verbonden zijn.

In de backend kan je zoeken naar een tag of deze verwijderen of er een toevoegen.
TomatoCMS gebruikt Zend_Tag_Cloud om de 'tagcloud' weer te geven.Deze module laat je toe om afbeeldingen te uploaden vanuit verschillende modules, zoals advertenties, nieuws, multi-media.
Het ondersteunt de meest voorkomende afbeeldings-extensies waaronder png, jpg, jpeg and png.
Je kan meerdere afbeeldingen gelijktijdig uploaden, zonder dat de pagina wordt herladen. Het aantal afbeeldingen dat kan geuploaded worden op hetzelfde moment is afhankelijk van de maximale bestandsgrootte die is ingestelt op de server.

Tijdens het uploaden worden er ook thumbnails gemaakt in verschillende groottes. Je kan deze groottes instellen in de backend. TomatoCMS ondersteund zowel GD als de meer geavanceerde ImageMagick (*) libraries om de afbeeldingen te verwerken.
* Als je ImageMagick wilt gebruikent, moet je server de ImageMagick library en de imagick extensie geïnstalleerd hebben.