I recently updated my much-neglected blog/personal site using the Silverstripe CMS. It was relatively easy to install and customize for someone like me with decent html skills and a little (ie: dangerous) level of knowledge in PHP. MySql knowledge helps too, but as I already had a running MySql database that side of the install was pretty transparent.
SilverStripe is built on the backbone of an object-oriented PHP5 web framework called Sapphire. Their Model-View-Controller approach allows you to easily separate code from logic. The out of the box classes in Sapphire provide a sturdy foundation for to build from. The folks at SilverStripe boast about how flexible the platform is. Using their modular approach it’s easy to understand why. The code that’s already written and the code you write when extending the CMS is very logical, and easily reusable.
The SilverStripe template engine is set up deliberately simple in an effort to further emphasize separating logic from design. Using the templates allows you to interact through control loops that are built in and others that you can add by extending your pages.
The CMS interface is easy to use once you get everything up and running, it makes it easy to add/remove/customize certain pages and adjust features without digging into code.
All in all I recommend it, but it’s not really for beginners.