Discussion of PHP CMS
Over the years I have worked with a number of PHP-based Content Management Systems (CMS). Some have been open source applications and some have been custom written for the particular client or website.
For the open source projects it's usually gone something like this: demo looks good, download and install, check out the source code, learn enough about the CMS to complete the project but conclude that the CMS is not one I want to work with over several projects.
Like most programmers I'm picky about code. I have programming style and if something doesn't match that style I tend to not like it. I'm not talking about tabs-vs-spaces or brace placement. My main issue is with code that mixes HTML and PHP too much. What exactly is "too much"? If the code is constantly switching between HTM-mode and PHP-mode then that's too much. Since I do a lot of maintenance programming I'm sensitive to this. Code that is difficult to read is difficult to maintain. I prefer large chunks of PHP followed by large chunks of HTML. The HTML should have only as much PHP as it needs to display dynamic content. Code that isn't MVC should at least do what it can to separate PHP from HTML.
Open source PHP code is definetely getting better. There are applications that strive to make maintaining sites easier for non-programmers. Ideally the underlining code should never be touched. You just leave it to "core developers" and plugin writers to create new features.
As I put this site together and learn more about Concrete5, I'll add notes here. They should be useful to anyone using or considering Concrete5.