Picking a CMS

Hi there

I am a newly graduated multimedia designer.

I can code in HTML, CSS and some jQuery.

I have been asked to design a website with a CMS. I have been examining the four most popular CMSs - Wordpress, Joomla, Drupal and DotNetNuke.

My research has been quite thorough but I feel like I am going around in circles with many differing opinions.

Many websites offering advise suggest outlining site requirements.

I was wondering if anyone out there could help me to determine which CMS best suits my needs?

Here are the site requirements:

· High volume site (for some software which currently has around 200,000 users)
· Needs a Secure cart which sells 7 products
· Private member area (for support/affiliation) and also public area (for sales as well as support/affiliation areas)
· Easy to use (End user has basic skills)
· High level of support
· Easily customised
· Needs to present: pages, photos, videos, shopping cart, link to internal and external areas/sites, download PDF, Download software, user sign in allowing access to exclusive content and user personal information, “latest news/content” areas.
· Needs to be able to communicate with CRM
· Multiple sites under the same domain (a couple of sales sites, a support site, an affiliation site)

I have been leaning towards Wordpress for end user ease of use but I am not sure if it caters for all of the functionality that I require. I understand that Wordpress has many plug-ins, but are they suitable for a reliable, robust site, site as I need?

I understand that Drupal would probably be the most powerful but most difficult to use.

I understand that Joomla! falls somewhere inbetween but is much harder for the end user than Wordpress.

DotNetNuke outscored each of the other three in a chart I created combined from http://www.cmsmatrix.org/ and a review of CMSs from last week but I am still not clear how it compares in real terms.

Can anyone out there help me with this please?

I would be most grateful for any help I receive (I know I can trust sitepont for quality advice :slight_smile: )

Thank you in advance

I recommend you take a look at ExpressionEngine. Easy to use, very powerful, great support, highly standards compliant, and I’m pretty sure it can do all you want (although not sure what you mean by CRM).

It’s a really good choice for designers who are mainly on the CSS/HTML/JS side of things.

CRM is Customer Relationship Management - a database with customer details etc stored on a server when they purchase a product.

The CMS must be able to show and change the details stored in the CRM database when the user signs into the website with their personal sign in and password.

Is expression engine a pay CMS? how does it compare to say Joomla!?

I’d do it in Spree Commerce which would make it a Ruby on Rails application, since it’s great for extending with custom features like the ones you mention, and because it’s the Ruby language which I like.

I would not suggest a huge system like Magento for something like this.

I have however used Drupal, if we’re talking PHP, and it would work for what you want to do. It’s farily easy to extend/modify, has decent default features and ecommerce extensions are available.

But WordPress has a simpler and better interface for the client, and it also has ecommerce plugins, so it’s a tough choice I guess.

The questions isn’t what is best, it’s what’s best for your client and your situation. For example, how much time you have to develop the site, what budget you have, how tech savvy the client is—these things are deciding factors.

My concern about Wordpress is Security and how it handles high levels of traffic.

How well does it handle these things? I read somewhere that to increase the capacity of wordpress beyond blogging you need to use add ons. I read in a different place that it is through add ons that wordpress loses its security.

DO you know anything about that?

EE costs about 300 dollars, but is worth the money. If a client can’t pay for that, they’re not worth dealing with, IMHO. From what I’ve heard, Joomla is a mess to deal with, while EE is a dream.

There are some very nice ecommerce addons for EE, so some more $$ there. But I think the CRM aspect of those addons should be fine. EE has nice addons like the multiple site manager, that allows multiple site to run off the same installation, and to share templates etc.

Yes, everyone roots for their home team so you’ll have to keep that in mind. I’m getting more entrenched in my chosen solutions too but I like what I like and other solutions that I’ve tried don’t have the same comfortable feel so I don’t promote them.

Whoa… That’s a pretty big job. I’ve done a few sites that fit that description and once you get through meetings, design, development and customization, you’re talking about several months of work.

NOTE: Regardless of what direction you choose, you will have to roll up your sleeves and get your hands dirty customizing and coding. No off the shelf solution will do everything that you want right out of the box.

Keeping in mind that I’m biased (like everyone else here), I would use Drupal as my platform. It’s big and powerful and once you get to know it, it isn’t all that hard to work with. I think of Drupal as my “anything CMS”. It comes out of the box as a blank slate but I can configure it to do pretty much anything and now that Drupal 7 is out it’s probably the easiest one to configure, update and maintain. I did mention that I’m biased right? :wink:

Ok, here’s why I would go this route…

High Volume - As far as I know none of the other solutions will match Drupal for response and scalability. I’ve done quite a bit of research in this particular area and according to all of the head to head studies I’ve seen, Drupal mops the floor with the competition.

Speaking from experience, one caveat is that you will need to ensure that the server(s) that you host your site on will need to have plenty of Ram allocated, fast hardware and a big pipe connected to the internet.

Secure Cart - Make sure you have an SSL certificate and use Drupal’s Ubercart Module. Setting it up isn’t that difficult but keep in mind that you have to make yourself familiar with the system and modules to customize them to your needs.

Private member area - Drupal was made to manage members. I’ve built several Drupal sites for member organizations that have a few thousand members and they are managed through Drupal’s user system, spanning several levels of membership using Drupal’s “Roles” to manage the levels.

Easy to use (End user has basic skills) - That’s up to you. You have to configure the site and choose the right modules and member role permissions so that the end user gets enough control but not so much that they’re overwhelmed with possibilities. I create several member levels and then grant them just enough permission to achieve their goals. Then I review their member levels a month or two post-launch to get feedback on how it’s working.

  • Also… Training and instructions make it easier to understand.

High level of support - Drupal has literally tens of thousands of people contributing to the project however, it is largely self serve as far as troubleshooting goes. There are lots of tutorials for how to get things going and in my experience (4 or 5 years), Drupal works very well and reliably but like any software, there will be module and core updates as well as security patches.

Drupal 7 automates updates by presenting a list of outdated modules that you can update via a couple of mouse clicks (without any need to upload or FTP files) but core updates require that you upload the new core and then run an update script. Not a huge deal but all the same, you will have to make sure that someone looks at the reports every now and again to make sure all of the moduels are up to date.

  • I think Drupal 7 will email you when modules need to be updated but I haven’t confirmed that so take it for what it’s worth.

If you run into a module that doesn’t play well with others you really have to take matters into your own hands and do some research (Google). You can you to the module’s project page and look at the bug reports or even lodge a report of your own and then check back to see if it has been answered. Troubleshooting can be frustrating especially when you push the boundaries to customize your project. It hasn’t ever been a deal breaker but you do have to think on your feet sometimes and roll up your sleeves to get into the problem and solve it.

Easily customised - Nothing is easily customized until you know the system. It seems that everyone (including me) who has a favorite (Joomla, WP, Drupal DNN) claims that their’s is the easiest so at least you can take comfort that once you choose your path and once you know what you’re doing, you will find that it is easy to customize.

Needs to be able to communicate with CRM - Now we’re getting into some fun stuff. I posted a thread a year ago or so on the subject and it garnered absolutely zero response :rolleyes: Contact Relations Management or Customer Relations Management is a huge part of what our studio works with so I have a few thoughts about this too.

There is a CRM called civiCRM that will plug into Drupal. As far as I know it only works with Drupal 6 however there is a standalone version and a Joomla version too.

Setting up a CRM from scratch is a monumental task. There is a lot of setup and even more importing just for the CRM and then you need to make it work with the CMS. With Drupal it isn’t too, too bad, the systems work very well with each other but you must install the Drupal Admin Menu module (then turn off the regular administration menus) to make it easier to move from the CMS admin area and back over to the CRM admin area.

The cool thing about integrating civiCRM with Drupal is that both systems will work very well with each other and they seem seamless. Once you’ve got it going you can set it up for events (paid for or free) as well as membership signups and renewals or even go further and allow each member to have and maintain their own personal/public member profile page.

I’ve tried DNN since it first came out. It has some nifty features and the theming system is pretty cool however, it breaks too easily.

I thought it was just because it was relatively new (about 6/7 years ago) but when I tried it out again last time, on their own demo server it just crashed and never did work. They’ll let you sign up for an account and then they create a private test site for you to mess about with but it never did actually work the last time I was spec’ing it out for a job so I went with another solution.

You have a lot to consider so good luck :smiley:

Is there an existing CRM or will you be setting that up? I use Drupal with CiviCRM and the integration is great. On top of that all the rest of your requirements could be easily met as well.

Some great answers so far. Thanks guys.:slight_smile:

I am surprised that no-one has stepped forward to champion Joomla! so far…

It seems that maybe Drupal is the answer?

The CRM is already in Existance, located on a server.

Am I going to need to learn a coding language to use Drupal?


I’d suggest a couple of books. The first one Using Drupal will give you a lot of examples that you can try out yourself to get the hang of figuring out what modules and configurations you can use to achieve website goals. The examples are a lot less complex than what you have planned but I really like this book. It’s very elementary but it doesn’t baby the reader and in fact I still grab it every now and again to review particular items and solutions.

The second, Pro Drupal 6 Development covers coding inside of the Drupal system and teaches you how to use Drupal’s API to achieve your goals. This book is deep but once you’ve got a grasp of how the system works it makes more and more sense.

The reason I am directing you to D6 resources is that you are planning to use a CRM and as far as I can tell there are no Drupal 7 CRM’s available.

Although with Drupal you can do a lot without knowing backend coding, your project will undoubtedly require customization beyond what is available from off the shelf modules and themes. If I were in your position, I would audition a few Drupal developers that I could depend upon for the heavy lifting should they be required. Also for a project of this size and complexity I would recommend that you find a coder who you can actually meet face-to-face.

For the last couple of years the majority of our work has come in the form of these complicated and fairly large projects. We usually assemble a team to tackle them consisting of:

  • Art Director (graphic designer) who oversees the design, flow of information, branding, etc…
  • Project manager, can be the Art Director
  • Lead Developer to scope out the project and make the decisions about what technologies will be used and how the individual components will fit together. I’m usually this guy and I try to spend my time between managing the big picture stuff as well as coding.
  • Developer to assist in getting the job done and figure out gnarly integration issues and testing/troubleshooting.

Good luck and I look forward to hearing more about how you make out.


Thanks for your advice Andrew. It is really appreciated.

I just wanted to be sure that Drupal is capable of running more than one site connected to the same CRM database?

Two of the sites I need to build in to this need to communicate with the same CRM database. The affliates - affiliates.website.com - and support clients - support.website.com - both have personal data in the CRM database and need to be able to access and change this data.

DO you know if this is possible with Drupal? I found out that it is not possible with Joomla!

If it isn’t possible, I may be able to work around it anyway.

Thanks for the advice about building a team, I shall speak to the powers that be about this :slight_smile: and thanks for the resources, they will be most helpful.



No worries Richard. Glad to be of help.

For information about multiple sub sites connecting with the same CRM, I would check the civiCRM forums and literature. My gut tells me that it probably won’t happen without quite a bit of work because civiCRM works with the USER database of your Drupal site and I think a multi-site installation will have seperate USER database tables per site. I’m sure someone over at civiCRM will have an answer though.

Good luck!


I’ve been able to connect two sites to the same CRM database with Drupal and CiviCRM. It’s not that hard really, just takes a little manual configuration.

Looking at the requirements, I would choose to go with Business Catalyst (see the ads at the top). It is not only a CMS, but provides e-commerce and CRM functionality built-in.

However, if you need to interface with an existing CRM, then BC might not be such a good candidate because you can’t write server-side code. There are some ways around it, such as using the API to access data and run the code elsewhere, but the API may not be fully featured.

Otherwise, if you have knowledge of PHP, I would recommend EE as others have.

Interesting… I figured if anyone did, you might have some info about that Chris :wink:

I thought that civiCRM’s “civicrm.settings.php” file in sites/default also had the user table written in it but on further inspection it appear that it only has connections to the databases.

I don’t know if I’ll have the need for this but you never know. Glad to hear it’s possible.

If you’re interested in a decent CMS solution on the .NET framework then I’d highly recommend looking at Umbraco.