CMS Vs Framework

About a year ago we decided to add to our development offerings and move into PHP based web development. Up until then we had predominantly used windows based server side technology (classic asp and then asp.net, c# etc) mainly because a good number of our customers were using Windows hosting (IIS) and required us to follow suit. We’ve been happy to do this and still have many clients running web sites and applications utilising the .net framework. However, it came to be for several key reasons that adding PHP to our key skills made sense for our business and for our clients. Here’s just a few:

  • Recruitment: the majority of web design / new media courses include server side modules and universities tend to use PHP; therefore it’s easier to recruit and employ a graduate who has already received some formal training and doesn’t require re-skilling
  • Open standard: with plenty of support and knowledge available plus with cost benefits which we can pass onto our customers
  • Hosting: cost effective web and database hosting
  • Rapid development: with the multitude of support and understanding out there we can quickly build upon others peoples ideas and knowledge

I’d be interested in other’s opinions / additions to this list. I am sure there are many.

Once we’d made the decision, we mulled over several options. One was to source a pre-made content management system and the latter a PHP framework. Having looked at various CMS we installed and trialed DRUPAL (http://drupal.org/). Our initial thoughts were that we could release CMS driven sites pretty quickly and easily and concentrate on the UI design and front end design aspects. However, it became clear that for a business so used to providing bespoke builds with initial business analysis and design that we were not comfortable with having too much of the development control taken out of our hands – and that is how it seemed with DRUPAL. Additionally, DRUPAL is all things to all men in the CMS world but our belief is that our customers would prefer a little less complexity: we are used to building CMS from the ground up to enable our customers to perform the tasks they require easily and with minimal training. Our worry was that we would potentially be delivering something that performed the task but was not quite what our customers were envisaging. I’d also say that there was a potential danger in us losing part of what makes us good at what we do – sitting down with a customer and listening to what it is they want and then suggesting a solution with impartiality (ie: using the best technology for the job).

So our search moved on and we researched several PHP frameworks in the belief that we could find a happy medium between – from the ground up – development and using an off the shelf CMS, providing us the flexibility and freedom to offer fully bespoke, customised solutions but allowing us to build rapidly and effectively using pre-built modules that can be plugged into your own business entities. Based on several recommendations and a good few months trialing we have settled on using CodeIgniter (http://codeigniter.com/) and have begun to build our own CMS around the framework. Thus far I am happy to report it is just the job and we have had a great deal of success. Soon we will post some more specific information about the projects involved.

Edit: Please note that we are now well into our first iteration of our CMS and our framework of choice is Zend (version 1.11 so far). For reasons out of scope for this post Zend ticked far more boxes.


Kirsten, or the K-dog as he is known on the mean streets of his North London home, is the pater familias of UVd and has seen the company through nearly a decade of trading in Brick Lane, East London (be wary of 'back in the day' stories). Experienced snowboarder, footballer, gardener and general healthy person. Do not underestimate his ability to gain injury from any one of these extreme sports!

3 Responses to “CMS Vs Framework”

  1. Im new to codeigniter and i think i do agree with you it is amazing and really easy to use.

    im not sure if you’ve run into a similar problem with code igniter as I have which is the structure is such that the 2nd segment in uri is a class name which really makes me think if i have table called pages do i always have to have a url like this: http://www.mywebsite/pages/contact/. However, i want to make it look like http://www.mywebsite/contact/ – see the problem? would you know how to overcome this issue?

    i would appreciate ur help in this regard.

    cheers

    UD

  2. Hi UD,
    I’m not sure what you mean when you mention a ‘table called pages’? Do you mean a class called pages?
    Within CI the standard practice is to use you’re controllers and their methods to define the URIs (eg http://www.mysite.com/classname/methodwithinclassname) however there is a second option which is to use routing which is a very useful CI functon – http://codeigniter.com/user_guide/general/routing.html

    Hope this helps,

    G

  3. Very useful information. Thanks for this. You got a great blog .I will be interested in more similar topics.I’m very interested in CMS and all its related subjects.

Search