I've just gone live with a website for the local Francis Drake Bowls Club. I was asked to provide a site with lots of content management - so allowing the client to log in and update the contents of the website themselves.
I've added CMS to other sites, but only for one or two sections. For the Francis Drake site, almost every page has CMS and it's now easily added to the pages which don't - if necessary.
From doing this project, I now have a mechanism to add CMS to other sites. For two other new sites I'm working on, I've built the CMS into every page from the start. For one site, the client will want to log in and update the content themselves, but for the other, the client is reluctant to do so - instead wanting me to do it. So in this case, I'll just log in and use the CMS myself - this allows me test it and iron out any bugs and make it as slick as possible.
I had to find a rich text editor - to allow clients to format text and upload images. I, and a friend of mine, put a lot of work into getting nicEdit to work - but the HTML mark-up it put around text was too messy - adding deprecated "font" tags and no "p" tags. This does SEO no favours. Also, adjusting uploaded photos was awkward. So instead I used TinyMCE which solved these problems. I was also able to write an add-in to capture the change of content - allowing me to add a "Do you want to save changes" alert if the user leaves the page without saving.
There are of course existing tools to content manage a site - Wordpress, Concrete 5, Drupal for example. I think what they allow you to do is build an entire site, so add new pages, build a navigation menu and design the structure of the page. This makes these products a bit overwhelming and complicated. What my CMS offers is a scaled down version - so I build the structure of the site, add pages and navigation and only add CMS to certain sections. This means the client is only focusing on the content which is meaningful to them, and they're not bombarded with dozens of menus and options. I think it's a good balance of allowing the client to manage their own content and keeping it nice and simple.
CMS screenshot. The list of pages which can be edited is down the left and just a simple text editor box to update. For this site, only one section of the page needs to be content managed, the rest is static - so the CMS is clean and simple.
<a href="../images/lkcs-cms.png" target="_blank"><img src="../images/lkcs-cms.png" alt="Screenshot of website content management system" style="width: 300px"></a>