views:

432

answers:

5

I'm going to be creating a site that's an aggregation of personal activities like Delicious, twitter, last.fm, etc. along with a blog.

I'd like to try a CMS to manage/develop this site, but there's several very strong competitors: Joomla, Drupal, Xoops, Wordpress, etc. Language is not an issue, as a Java dev I'll be learning as I go regardless of implementation language, although I will admit I've been looking for a reason to use Python.

So the question is this: Can anyone give me or link me to a balanced, concise summary of the strengths, weaknesses, and features of the most popular/best CMSs?

+1  A: 

If you're looking for a reason to use Drupal, build your own on Django. It's definitely the most fun and educational route.

In short: all of the most popular CMSes are far too stretched out for what you want to do. I'm definitely not saying you couldn't do it in any of them, but they'll all waste valuable clock cycles fapping around doing things you don't need.

Oli
A: 

Yeah i second Oli's suggestion. Look at Django: it makes building CMS trivially easy and it's probably easier to customize than any off-the-shelf CMS.

L.

+1  A: 

It depends on what your goal is. If it's to have the site up and going without having to do too much coding then go with Drupal. It's constantly under development, security updates are quite timely and there are modules to do just about anything.

For example, of the features you mentioned there are Drupal modules to integrate with Delicious.com, a twitter module. And of course last.fm you can just embed the badge code like you would on any other site, but I don't know much about it's other capabilities.

If you want an avenue to explore programming your own CMS then Django is a good choice, but you'll be investing a lot more time into it than you may be willing to for just a personal site.

alxp
+2  A: 

For the open source CMS's you can look at opensourcecms.com they provide a large collection of CMS's that you can play around with a bit to see their user experiences.

I mostly know about Drupal and Joomla!, both of which have fairly active communities, and are highly flexible, with good plug-in libraries and frameworks. My sense has been that for the past two or three years Drupal has been more active, and is starting to pull away a little in popularity.

I disagree with others here that you should role you own. I think programmers often have an instinct to build their own instead of work with something existing. Before Django, you often heard PHP programmers say it was so easy that you should just do your own. The biggest reason I said not to build it yourself is that getting the security just right is hard. If you want to allow people to interact with your site in flexible ways, getting the security open enough to be useful, but tight enough to be safe requires spending lots of time thinking like a bad guy. The larger communities have lots of real world experience and have had to deal with attacks before, and they know the first couple thousand mistakes not to make.

Oh, and knowing an existing CMS is a salable skill. There is plenty of work for Drupal developers these days.

acrosman
+1  A: 

I've evaluated a bunch of CMSs, but the only one I have any major experience with is the proprietary one we use at work. These links might be useful to you, though: CMSMatrix & CMSMatrix Links.

If I were looking to do a personal project right now, I'd probably look at Drupal because of its large community. I'd also look at building something using one of the PHP MVC frameworks like CodeIgniter, CakePHP, or Symfony.

braveterry