For about the past 3 years, I have been all about WordPress not only for blogs, but also to be used as a content management system. The core of WordPress is for blogging, but many people have started to adapt WP for their CMS needs. WP is a great platform, very small footprint, incredibly easy to theme and extend with a plethora of plugins available.
WP has come a long since v1.2 when I started using it years ago, v3.0 is in beta and to be released soon – but it still isnt able to address my needs for a real CMS. It seems as though there has been a new release every month for the past 2 years. I’m still a big fan of WordPress for blogging, this blog (onerutter.com) is run on WP, plus about 5 other websites I run.
Recently, I was approached by a client to build out their website. The client had a long list of requirements for how they’d want to manage their data (they have 60 products with 25 different attributes per product, then about 25 pages of content). My first thought is always to use WordPress and to get it to play/manage the content, which I could get to work fine for me as web designer/developer. But the real benefit of a CMS is that the client can login and easily manage that data. I feel that WordPress does not offer that with their admin, as it is geared toward blogging and isn’t as customizable, without really hacking the core.
I was looking for a system that I could control all the fields for the data, control how much the client was able to edit, and control every aspect of the website from a high level. At first glance, since WP was out of the question – I started to explore CodeIgniter, which is a php framework very similar to Ruby on Rails. I spent 1 week planning out the database tables, then started coding in CodeIgniter. CodeIgniter allows you to get up and running quickly, all the config files, database queries, and templating are much easier to setup – as long as you use their API. If you prefer you can still write OOP PHP or just regular php, CI just gives you the tools to get a head-start. CI didn’t offer it all, I would still have to build the whole application (front-end and back-end).
I was on the CodeIgniter Forums for the better part of the 2nd week, when I noticed this product called Expression Engine which is a CMS built by the guys at EllisLab, who created CodeIgniter. I downloaded a trial of Expression Engine and played around, I couldn’t believe my eyes – how did I never know about this software before. I felt like a kid in a candy store, I was so excited – this software offered me everything I was looking for and so much more!
In a nutshell, I able to setup both a front-end and back-end in less than 2 months. I was able to offer the client a fully customized admin interface for managing 60 products with 70 custom fields – in 8 different categories. Plus, I was able to also setup their 25 pages of content in custom fields, so every piece of content is managed. EE also offers built-in cacheing, a very flexible/scalable templating system with conditionals/variables built-in, a robust user management system which allows us to block off certain content to certain users, integrated search with the custom fields, the ability to upload/manage images/pdf’s directly in the cms, all within this incredible scalable package called Expression Engine. For a complete list of features click here.
I would highly advise everyone to take a closer look at ExpressionEngine for their next web project that needs a customizable back-end interface. The only downside to Expression Engine is the cost of a commercial license ($299) – but the more I use it, the more I think what a bargain $299 is!
Check out i2Systems.com, which is the website that I have been referring to in this post.
Plus, I launched the site on 1.6.8 – but version 2.0.1 is soon to be out. (in public beta 2.0 currently). v2.0.1 will offer many more features, but the biggest improvement to me is that its running on CodeIgniter, which really opens the doors for custom development.