Hi Francis, I agree with all the points you mention. (I am only saying this so I don't have to quote any specific point ... just kidding) You are right when thinking that some kind of specialization is always necessary. CMSs can do (and be) a lot of things. I view a CMS as a method to access and transform content living in a repository. Manifestions of these repositories can be news sites, forums, blogs, shops, corporate sites and what not. IMO the access to this repository is the hardest part from the programming standpoint. If it is fairly specific (like only tables for blog entries and comments) it will be hard to make a corporate website out of it. If the repo is generalized too much the implementation can get really difficult. One would have to find the sweet spot. The biggest challenge though is an easy to use and simple interface to the repository. Usability is the key here. In a more generalized system, like the one I am trying to achieve, I think it is crucial to work with a heavily categorized system and store all the data in a big tree. Although this brings not only benefits. But, as you suggest it is nearly impossible to address all possible use cases up front. Customization is always necessary. A good system that tries be flexible must allow for easy customization and extension. > So, to get back to the original post, I'd ask first: What is it that the > web site's supposed to do, anyway? A good question. But not for building a flexible CMS. This is the golden question to ask a customer who needs any kind of web site in the planning stage of a project. The most important question of all. For a CMS like I plan the most pressing question is: How do I program a blog that can later be a forum and a shop with customer relationship management including email marketing capabilities? It might not even be possible. It is fairly complicated to describe what exactly I plan to do. But if you look closely at the functionality of ezPublish and Drupal you might get a feeling. MCMS will be some kind of mixture between these two (an others). Sascha