CMS Made Simple vs. Wordpress
The team at Cottage Networks, LLC develops all of our client's websites in the content management system called CMS Made Simple. Why do we prefer this system over the big three - Joomla, Wordpress and Drupal?
After developing custom themes and websites for kitchen-sink content managment systems (ie. the big three that include everything including the kitchen sink), we kept finding that we did not have sufficient control over the output to produce the high level of quality that we desired in the finished website.
Let me give you some examples.
Separation of Server-Side Code from HTML Code.
One of the fundamental principles of software development is the Separation of Concerns, which is included in the W3C's HTML design principles, and is nicely summarized by Wikipedia as follows, "In computer science, separation of concerns (SoC) is the process of separating a computer program into distinct features that overlap in functionality as little as possible." —Separation of Concerns
From this principle we get the idea of separating content from presentation, as well as separating HTML, CSS, Javascript and media into separate files. This makes websites much neater, cleaner and easier to maintain.
Front-end web designers generally only have to concern themselves with HTML, CSS and Javascript. But now that integration with a content management system is considered standard feature for most websites, there are two more layers of code: the server-side code (ex: PHP ), and the database (ex. MySQL).
In Wordpress a theme or plugin developer has no choice but to mash together the PHP code that fetches the content with the HTML structural code that presents the content.
What this means is that Wordpress themes and plugins are a mangled mess of HTML and PHP that are difficult to modify and frequently produce conflicts in the order of javascript links in the head.
Most Wordpress plugins do not have a template system to allow me to modify the presentation of the content. This means I have to go muck around in the plugin's PHP files, hope I don't break something, and also hope the client never upgrades the plugin (which will overwrite my changes). Alternatively I can build a new plugin from scratch to serve my purpose, but this defeats the labor-saving point of having a large library of pre-made plugins.
A Wordpress theme developer must be highly proficient in both front-end languages (HTML, CSS, Javascript + graphics languages used for animation), and back-end languages (PHP and MySQL).
This puts the highly specialized front-end developer at somewhat of a disadvantage, not to mention the fact that munging the PHP together with the HTML is just plain messy, and problematic to maintain!
CMS Made Simple uses the SMARTY templating language to abstract the PHP code so the front-end designer rarely has to look at it, much less modify it. You just take your front end HTML document, drop in the SMARTY tags, save it as a template, and bingo - it works!
In CMS Made Simple, third-party modules also have SMARTY templates that allow the front-end designer to easily style the content exactly how he wants it, without having to touch php.
Liberation from the Loop
Wordpress was built as a blogging platform that is ideal for non-developers who just want to get a website online and share their content with the world. With many commercially available Wordpress themes, you can get a site up and running in a few hours. Wordpress is undoubtedly the easiest platform for the do-it-yourself website owner.
But Wordpress is a serious pain in the neck for front-end designers building a custom website for anything other than blogging. Wordpress is built around the "loop" which is a way of iterating over an array of blog posts. While there are ways to bypass the loop, it takes a deep and detailed knowledge of Wordpress in order to bend it to the custom site designer's will.
Making a CMS Made Simple template is a highly flexible exercise in free-form design. You simply take your front end HTML page, and insert a few SMARTY tags to produce the content.
For example here is how to insert the code for the page title:
<h1>{title}</h1>
If you want to do something fancy, you just add whatever tags and classes you need:
<hgroup>
<h1><span>{title}</span></h1>
<h2><span>{$subtitle}</span></h2>
</hgroup>
Well, gee, that was easy!
To achieve the same thing in Wordpress you have to add a function to a page hook in your functions.PHP file to remove the page title action and replace it with a custom one. Any departure from the standard output requires a special PHP function to output some HTML code tucked away in your functions.PHP file.
Do you like doing your new sites in HTML5, using HTML5 Boilerplate? In CMS Made Simple it is a piece of cake, because you put the SMARTY tags into your HTML template instead of putting HTML in your PHP code.
Having developed proficiency in both Wordpress and CMS Made Simple, I can tell you that it is far easier to code and maintain a website or theme in CMS Made Simple because my PHP code is cleanly separated from the HTML templates. I can upgrade third-party modules without overwriting my templates or breaking my design.
Building a six page custom e-commerce site in CMS Made Simple takes about 1/3rd the development time as building the same project in Wordpress.
Better Consolidation of CSS and Javascript
In Wordpress each plugin that you use adds its own script and css calls to the <head> which results in a lot of separate resource calls when the page loads in the browser.
Ever heard the phrase, "Y'slow!"?
CMS Made Simple allows you to associate an unlimited number of stylesheets to your template, but when the page is generated the stylesheets are combined together (in the order you specify), and with a small modification, compressed as well. This gives you one single stylesheet link in the head. How nice!
There is probably a wordpress plugin to do this, but CMS Made Simple has this functionality out of the box! As a developer, this saves me a lot of time.
Server Side CSS
CMS Made Simple also allows SMARTY operations inside CSS files. Unlike client-side CSS expressions which slow down the browser, server-side CSS is calculated once when the page is generated and then cached. For site-wide design options, such as theme color, this is quite useful!
Again, no PHP code is required.
Intuitive Admin Panel
In Wordpress if I want to look at my pages, I find an unordered list that changes based on which page I edited last. For a site with a lot of pages, I have to look for and find the page I need in a different place in the list almost every time. To make a menu I have to take the pages and order them.
CMS Made Simple has site structure built into the page list. You can rearrange pages in the list and assign parents and children with JQuery drag and drop. Once you set your site structure, you can find the same page in the same place every time.
The menu system is also flexible. Each page has a checkbox - show in menu - that makes it simple to take pages out of the menu listing. The {menu} tag used to call a menu is easy to configure, and is highly flexible.
It's simple. Simplicity saves me time and frustration as a developer.
I Love CMS Made Simple
All of these reasons are why I love CMS Made Simple from a web developer's prospective. There are a lot more reasons to like it from an end-user's perspective, but I will save that for another day.
Cheers!
News
- CMS Made Simple vs. Wordpress
The team at Cottage Networks, LLC develops all of our client's websites in the content management system called...
- Restaurant Rooster is in BetaWe are glad to announce that Restaurant Rooster is now in beta testing. We are making good progress toward our...
Get in Touch!
- Phone+1 702 425-7192
- Address7260 W. Azure Dr
Suite 140-755
Las Vegas,NV 89130
USA

