Wednesday, October 26, 2011

Upgrade Madness

One of my current tasks is to plan the next major upgrade to our website. It seems I have an unofficial 12-14 month policy on major overhauls.

Since the last major overhaul was to get us using a content management system (the 1.x tree of MODx) which has since release a 2.x build. My initial thought was to simply upgrade the software, redo custom code to fit the new framework and be done with it. Of course our online catalog was upgraded in the interim to a new look which really impressed me (and my boss). So the change to the backend quickly became a project to implement a new look as well. The new look will make the transition between our catalog and website less severe.

Somewhere along the line, I decided that I need to also evaluate at least one other cms and chose drupal as the primary person who recommended MODx said if they hadn't gone that route they would have used drupal. So now my project has morphed into choosing a cms upgrade, and developing the new front end for the website.

In following some web development blogs I also came across the idea of treating the website as an application and using an a framework (php since that's where my knowledge is) to basically custom code a new system since, for any given cms we would only be using a small fraction of the features.

Overall whatever we go with my requirements are:

  1. Easy to manage - both to make my job easier and because I still have delusions of getting other staff members on board as contributors to the public site and to help manage the intranet site (see #2)
  2. Allow different templates for different areas - our intranet site is still not on a content management system and I'm really hoping for a single administration interface for both our public and our staff site. 
  3. Allow or provide some mechanism to book meeting rooms - Our current system is a module I custom coded for the 1.x MODx system. Either way I'm looking at re-coding it, so my main goal is to be able to either have something pre-made that I can implement or where I can use most of my existing code as a model with a few modifications.