In essence, a CMS is not really a framework. Just like a forum software, or a blog software is not a CMS. I think unless VBulletin or Wordpress drastic changes their structure, they will not be as capable as Drupal, as a CMS.
A CMS is a platform to build systems that manage content. It happens to be the the core of most web app are about managing contents. This is why Drupal is very popular and powerful. But as you add features on top of your apps that have little to do with the management of content, you will find it difficult in Drupal. A framework is more general. With web2py (or perhaps other frameworks) you can relatively easily build something like a Stock Exchange App. With Drupal, you probably can too, but it will be more difficult, and you'll have to piggy back lots of unnecessary things that have to do with CMS. Drupal is very nice at what it is. But because of that I think it's very dangerous. Most web apps have some form of management of content. This makes it very tempting to quickly adopt something like Drupal. But as you add on top of that core behavior other things, it will bite you in the butt. But for 80% of web apps, Drupal does very well. On Jan 7, 10:48 am, Jonathan Lundell <jlund...@pobox.com> wrote: > On Jan 7, 2011, at 8:40 AM, Luther Goh Lu Feng wrote: > > > > > On Jan 7, 6:37 pm, cjrh <caleb.hatti...@gmail.com> wrote: > >> On Jan 7, 10:27 am, VP <vtp2...@gmail.com> wrote: > > >>> But as you go deeper, trying to add features, it will be so > >>> difficult. Just to make the app looks right to your taste is really a > >>> challenging job. > > >> Ok, interesting. > > > So quick question, is this challenge particular to the nature of CMS- > > es like drupal, or just drupal specific? > > I'd say it's pretty much true of the major CMS's out there (it's certainly > true of Expression Engine), but it may not be because of the nature of CMS's > generally. I think it might be possible to write a good one. Difficult, > though, especially at the definition/architecture stage. It's too easy to > leave necessary functionality out, and too easy to screw things up by > patching it in later.