CMS Made Simple: Best Choice For Developers?
Alright folks, it is time once again for another CMS review. And today, I shall be taking a closer look at CMS Made Simple. Considering the fact, that CMS Made Simple believes in, well, simplicity, let us keep this introduction crisp, short and simple and head straight into discussion.
CMS Made Simple is not the world’s most popular CMS. However, it has a loyal following and a decent set of users who keep looking up to CMS-MS for building websites. So, there has to be something special about the software, hasn’t it?
Simply put, CMS Made Simple projects itself not as the primary CMS, but as an alternative. It claims to be much easier to use and more agile as compared to most other CMSs out there. Thus, while CMS Made Simple does not seem to be replacing WordPress anytime soon, it surely pitches itself as an alternative to bigger heavyweights.
Among other things, CMS Made Simple is flexible and pretty nimble in its operation. Oh, and it is also open source! But so is every other CMS, isn’t it?
In order to understand the positive aspects of CMS Made Simple, one needs to look under the hood. CMS Made Simple is a fairly simple (ehm…the name does say so) content management system with a straight-forward approach to content creation. The template system is flexible, the code is clean and there are regular updates.
Let us turn to the template system, for example. CMS Made Simple uses the Smarty library to handle its template support. Smarty comes with a small set of advantages of its own, and naturally CMS Made Simple does not hesitate in inheriting them:
- You do not need to worry about the templates at rendering time. Smarty offers ample flexibility to suit your needs.
- However, the biggest and most important advantage is the fact that Smarty covers most of the commonly used escaping and conditional layout flows.
- In reference to point two above: Smarty does not need inline PHP to prove its awesomeness. Thus, it can help you save a lot of time and efforts when you are trying to extend it.
Now, allow me to pause the discussion here and shed some light on the usage of the word ‘simple’ in CMS Made Simple.
As far as I get it, CMS-MS uses custom tags to extend the functionality of Smarty. You can make references to and employ custom tags within templates. Not only does this process save a lot of time, it also removes the need to employ inline PHP or add new functions directly to the codebase. Obviously, having a custom tags mechanism such as this will probably not matter much to the end user, but for a developer building a website from scratch, extending CMS Made Simple can be really, well, simple!
What about the template structure?
In CMS Made Simple, each template can have multiple style sheets associated with it. Once again, the Smarty tag system comes into play to help you create sub-templates. Each template contains Placeholders or, in easier words, editable sections and can also call external modules for additional functionality. Once you are done creating templates, simply head on to pages!
Apart from that, CMS Made Simple is easy on resources and is definitely not going to eat up your server’s resources.
It is generally difficult to find drawbacks in a CMS that does not make any grand claim at all. After all, if it is a developer’s CMS, it will obviously have dev-friendly aspects! However, there are certain areas where, in my opinion, CMS Made Simple can surely use some work.
To begin with, like I mentioned above, CMS Made Simple has ‘simplified’ the concept of website creation — which, by all means, is a wonderful thing. You can have custom tags and modules to extend the software in whichever manner you see fit.
This is where a drawback surfaces. In certain areas, CMS-MS seems to have overdone the concept of custom modules and tags. Take a look at the inclusion of a blog in a website, for example. In most genres of websites — corporate, portfolio, et al — a blog often forms a vital component of the overall site. CMS-MS can accomplish the creation of a blog, but you will need to turn towards custom modules (unless all you want is a chronological appearance of articles). This beats the purpose of modules and templates: instead of saving efforts, a developer might just end up repeatedly turning to third party modules for additional functionality, simply because it is missing from the CMS’s core. Event calendars and image galleries too are available as modules — with the advent of HTML5, such features belong in the central core.
Furthermore, the integration of modules with CMS-MS often leaves a bitter taste. Agreed, CMS Made Simple has enhanced its agility and speed of operation by offloading a good section of features to modules and plugins; but the absence of certain core features is also hindering CMS Made Simple from projecting itself as a viable CMS for a wide genre of websites. Beyond that, it must also be mentioned that most of the time, the module developers are not the same people as the core developers; this leads to even poorer integration, followed by issues and at times, inconsistency of code and functionality.
CMS Made Simple seems to be a complete package in all aspects. The documentation is really good (for example, check out this guide on caching — easy, neat and crisp). There is a decent selection of themes, modules and plugins, as well as full API documentation and database abstraction.
Well then, what exactly does CMS Made Simple do, and who should use it?
Before I answer this question, let us spend some time reading CMS Made Simple’s own answer to the above question:
If you’re an experienced web developer. If you have found that sometimes creating a simple corporate or organization website is difficult in some of the other content management systems. If you have found that other CMS’s are sometimes “overkill” for what you need. If you want to be able to hand off the content management to editors. If you want complete control over the layout and appearance of the site, and you know how to do it… If you want a simple, easy to use, yet expandable tool – then CMS Made Simple is probably for you.
Exactly! The key phrases in the above quote are: “If you’re an experienced web developer” and “you know how to do it…”
CMS Made Simple is not your everyday rookie’s CMS. It projects itself as a tool that can help developers and reduce their burden: using custom tags and plugins as well as modules, you can expect to extend CMS Made Simple in a much easier fashion than most other CMSs. Yes, there is a tutorial section for end users, but even that is primarily meant to attract new developer-level users, not truly ‘end users’.
All in all, CMS Made Simple can best be described as a bare-bones’ CMS. While I will not dare call it a framework, it is more of a starting rig for you to build your website on, rather than a complete and absolute web management package.
To Sum it Up…
You should use CMS Made Simple if:
- You need a nimble and light-weight CMS that you can extend easily.
- You do not need the bloated super-features of Drupal and others.
- You do not mind adding new functionality to the CMS yourself, or turning to external modules for help (in other words, if you find things missing from the core, you should not lose your calm).
And, you should not use CMS Made Simple if:
- You are planning to build a super-heavyweight website, and need a lot of functionality. In this case, stay away from CMS-MS, because if you opt for a lot of modules, you will kill the agility of the CMS, and if you choose to code the additional functionality yourself, you might end up spending more time instead of saving it.
- Once again, if building a heavy website, look for other alternatives. I am not claiming that CMS-MS is impotent when it comes to creating heavy websites — it’s just that there are better tools for the job in that case.
What do you think of CMS Made Simple? Have your say in the comments below!
Sufyan bin Uzayr writes for various magazine and blogs, and is the author of "Sufism: A Brief History". He blogs about technology, Linux and open source, mobile, web design and development, typography, and Content Management Systems at Code Carbon. You can learn more about him, follow him on Twitter or friend him on Facebook and Google+.