The Story and Recipe of This Website
Many people and organizations have asked us, why did we use Drupal to build this site and was it the right tool? As the one who advised it and did the bulk of the technical work, I thought I'd make that the subject of my first MMT Blog entry. Right from the beginning of the project to rebuild our site, we knew we wanted to use open source and we knew we wanted to share what we'd learned with other nonprofits and, well, everyone. We were hopeful that the lessons we learned and our shared thinking and ideas would be useful to others. So here follows our rationale.
The Short Version
I had used Drupal before, but that alone was not reason enough for MMT to use it. In fact, we try to have no preferences here. I have to advise on grant applications involving web projects and I regularly share what I know with any nonprofit that asks. This requires that I have a more general knowledge of the strengths and weaknesses of a range of software and web approaches. We do favor free open source software (FOSS), as our experience has shown that nonprofits most often save a lot of money by using FOSS.
It's not just about price, it's also about quality, and FOSS is a leader on the web. I've done a lot of homework on the subject, poring over surveys, talking to people at user groups, reading blog entries and articles, checking into comparisons, and so on. What I found was that most nonprofits, most organizations really, need a CMS, a Content Management System. In short, a CMS gives most ownership of a website to the people who write the content, removing the technical bottleneck all too common in other solutions. Think of how great it would be to maintain your website with similar skills you use to write a blog entry. It's empowering, saves a fortune and it enables a website to really come alive.
Many nonprofits also need a CRM (Constituent Relationship Manager) to help them interact with their supporters and coordinate their volunteers, but that is another blog post.
In the CMS world right now, Drupal is king. This is what all of my research led me to. There is no "one size fits all" solution. If you are able, you should always consider multiple options carefully. But the closest thing to a catch-all out there is Drupal. It's super powerful and every new version is vastly easier to use than the last, and far more powerful. FOSS often outstrip other solutions through large communities of active contributors, and Drupal rules on this front too. All this means that going forward, Drupal also has the best prognosis for growth.
As the best tool with the best future, we picked Drupal and, now that we're done, we are really pleased that we did. And this was Drupal 6. Drupal 7 is much better, though it was not yet ready for use when we were building our site.
We also shared our detailed site recipe, which should be useful to many site developers out there.
The Long Version
Why Open Source?
Years of experience on both the technical side and the grant program side of things has taught us that open source web products are leading the way on the web, but also that the open source community is a fellow gift community that is an excellent match for our nonprofit gift community. The high quality of the leading open source projects is complimented by it all being free, open and shared. We strongly believe -- backed up by studies and the results we have seen with our own eyes -- that these products should be used by more nonprofits, probably most nonprofits... and that included us. We drank our own koolaid... and it was delicious.
Why a CMS?
In the past the most common scenario was that a nonprofit's website would be built by a volunteer/volunteers or by staff, or by an outside vendor. Being dependent on a volunteer who might not stick around can be perilous and the other options can be expensive. In larger nonprofits, one or more techie staff members would create the site. Thereafter, in all of these scenarios, every change would have to be made by someone with these technical skills. But what if your volunteer was out of the country for a month, or if your web firm could not fit you into their schedule for a month, or if your web team was working on some other deadline? This often meant long, frustrating delays and static sites that changed too infrequently and could not keep up with the vibrance or growth of the organization. Changes could be expensive or too late to be meaningful.
For this reason, one of our top requirements at MMT was that those who were responsible for maintaining the website's content, its information if you will, would be those who owned the site as well. Examples of this content include the blog entries, the about us pages, past awards, FAQ, gallery and staff pages. It's not one of us geeks who writes the content, so it should not depend on a geek like me to change it. Not only that, but making the changes should be as easy as posting a blog entry, or a comment on your favorite book on a shopping site... nearly as easy as using a word processor. This is the trend of the modern web. We geeks set up and maintain the infrastructure of the website, but the content is owned and controlled, in real time, by the people who write the information.
For this reason there has been a strong trend towards the use of CMS for websites; a Content Management System. A CMS empowers those who own the content, allowing them to keep the site vital, flexible and alive, Anyone granted the appropriate access can be a part of it.... and that access is determined fairly easily, through user ids and roles.
A CMS also allows you to have a complex site that can grow with your organization. It will let you list events, surveys, staff lists, and/or a community with levels of contribution. You can, for example, allow visitors to post forum discussions, but nothing else, and then define another role that can post blog entries and forum entries, but nothing else, and another group who can create events, surveys, etc. You have almost limitless options to control who updates the site and to what degree. Best of all, you don't have to do it all at once. With some caveats based on complexity, you can build what you need and then add new functionality as you go.
Why Drupal?
We did our homework (see the additional resources section below). The top contenders were Drupal, Joomla!, Plone and Wordpress. All of these are excellent projects, but for us Drupal was the standout. Wordpress was the easiest to use, but it is a low-grade CMS and does not really have the muscle for most organizations. They are starting to try to emulate Drupal's functionality, but they are years away. They do not yet have the functionality needed by most small NPs, and might never have it. Joomla! has many strong points, but is also less powerful and contains many monetized elements, blurring the line between FOSS and proprietary software. Plone has many outstanding qualities, but the barrier for entry is higher, as is the cost of developers. Further, it did not match our own internal skill-set as it is written in Python. Drupal is the most powerful, the most robust and it has the most momentum going forward. It is also extensively customizable, both in the design and in adding custom functionality.
It was also interesting to see surveys rank Drupal, Joomla and Plone above proprietary services for customer support. Worst of all were custom CMS. You'd think that having a CMS tailor-made for you would render the best results, but the reality is that small teams can't compete with the bigger projects. Further, why have your own CMS when you can create a customized version of Drupal, or something like it?
At MMT our needs ran into volume and complexity of information. We needed a CMS that could handle all that, as well as our future growth, and we needed it to be FOSS, so that we could be following our own beliefs.
Are We Happy With Our Decision?
Very much so. There has certainly been a learning curve and the site was a lot of work. It is usually harder than you think it will be, and most of the reasons for this are organizational, no matter what tool you pick. It is also true that no CMS is perfect, including Drupal, but it is probably true to say that all of those on our team are much bigger fans of Drupal after finishing this website than we were before we started. That is quite something.
How Did We Do It?
We make no claim to having done this "just right." Like anyone else, we did the best we could and there are always things you wish you'd done differently or that you'd use another route with. This is normal. We think it would be useful to share this, warts and all, and we'll do so in upcoming blog entries and we'll also share some of the modules we used and why.
Is a CMS What You Need? What are Your Challenges?
If you need anything more complex than a blog, or if you will within the next couple of years, then most likely, yes. However, this is software, not magic. You don't just install it one day and then have a website the next day that is doing half your work for you. There are costs involved, both in setting up the website and in ongoing maintenance, and in training. An investment of time is required from your organization. If you have a group of overworked staff and/or volunteers who have no time to contribute to the plan for building the website and to the maintenance of the website afterwards, then you have a problem. Similarly, even with free software there are ongoing maintenance tasks that someone technical will have to do, so you need some kind of budget for these maintenance tasks too. Creating a new website can take weeks to many months, depending on your needs.
There is so much that a website can do for you: PR, fundraising, news updates, recruiting, coordinating, answering common questions, making first impressions, etc. It can raise your profile and help you to be more efficient and effective, but it takes people points to make all that happen. These are all factors to consider when dealing with a new website, and they should be part of whatever plans you make. You have to analyze whether the benefits are worth it for you, and if they are (and mostly they are), then you will need to ensure that you allocate the people points and budget needed for these tasks, and that you are able to do so.
More Information and Additional Resources
- Report on Content Management Systems Powering Foundation Websites - Research showing graphs and stats on the CMS systems other foundations are using. The trend is to open source and Drupal is in the lead on the open source front.
- CMS, including a definition and some lessons learned.
- Drupal as a CMS including awards it has won and some sites that use it.
- Drupal Cheat Sheet a useful resource for those of you considering using Drupal.
- Our Full Drupal Administration Recipe - Do you like our website? Do you want to build one with some of its features? Now you can. In the spirit of openness and sharing, we're offering the full recipe of all the Drupal modules and themes we used, the lessons we learned and some additional pointers. Take it from here!
- Open Source, including a definition, some background and more information sources.
- More about FOSS
Commenting on this Blog entry is closed.

Jul 28 2010 - 9:55am
Thank you!
Thank you, Grant & Shawn! Very helpful. -Kim
Jul 28 2010 - 8:52am
CMS is the way to go. DotNetNuke is another CMS alternative
I am the Information Systems Manager for The Ford Family Foundation, and we too use an Open Source CMS called DotNetNuke. Just about everywhere I have worked, one of my first projects is to move clients to a Content Management System to manager their web content.
As Grant excellent points out, decentralization and reduction of costs being the two most important reasons. Decentralization in the sense that you can usually give "permission" to certain people within your org to update their own content, rather than sending this to a "central" person (either the tech guy inside your org, or to a web consultant) which tends to be the bottleneck of getting material published. Reduction in costs comes from the fact that a CMS already comes with a certain framework of "tools" with which you can customize your website, rather than pay an outside vendor to build from scratch. The savings can be dramatic (the difference between $5,000 and $50,0000). In fairness, the drawbacks are that you might have shifted some of the web work internal, but in my opinion it is usually the correct course of action.
We use an Open Source CMS called DotNetNuke (already in place when I arrived - although we recently redesigned), which can be freely downloaded and installed (they do have a version for sale as well). I have used many CMS's - Drupal, Joomla, TikiWiki, Windows Sharepoint Services (free with Windows 2003 server). An advantage of DotNetNuke is that it is primarily Windows operating system based (most CMS's are Linux based, although most have a "trickier" path to install on Windows) and might be easier for some techs to install and maintain within their orgs (I love linux though. More stable in my opinion, and free! But, the pool of techs who can maintain is smaller). If you plan on "hosting" your website outside your org though, this would be of no concern to you. Another advantage of DotNetNuke is there is a tremendous library (see a website called SnowCovered) of "modules" that you can purchase to extend the features of your website. A disadvantage of DotNetNuke is that there isnt a large community of developers building "free" modules for your use, as other CMS's do.
We are mainly using DotNetNuke CMS because it was already in use when I got here, and we are a Windows OS environment. But, if I was going to install a CMS at a non-profit which they were going to host internally, I would use Linux and Drupal would be a fine choice for a CMS.
Jul 28 2010 - 2:07pm
Great to hear from a fellow foundation techie
Hi Shawn,
Thanks for your well made points. It's fantastic to hear from a techie at another local foundation. It is also a reminder that there are a lot of CMS out there and that they all have their uses.
I have looked into DotNetNuke and have recommended it to a couple of nonprofits who already had Microsoft .NET technology in-house. I believe existing knowledge and resources are one of the most important reasons to pick a CMS. It's a great example of why this is a case by case decision. More than that, DotNetNuke seems to be a quality CMS.
As I said above, we favor open source and I have reservations about CMS with monetized elements as it is hard to know all your hidden costs up front. This is even more so with DotNetNuke because, even though DotNetNuke is open source, the software it is built on is not free, meaning that at a minimum nonprofits first have to pay for ASP.NET Framework and SQL Express/SQL Server. Further, my understanding is that the free portion of the CMS is not as powerful or reliable as the paid versions, so a nonprofit could theoretically find themselves needing new features that only the paid version has and having to unexpectedly have to pay for the CMS after all.
A fully open CMS, especially one as powerful as Drupal or Plone, gives you more power than most other CMS out there, but there are no hidden costs because it is built using FOSS languages and FOSS databases, and you can even use FOSS server software. All of these are free, super reliable and immensely popular. This makes it hard to recommend DotNetNuke to nonprofits who do not already have ASP.NET software and skills.
It sounds like you have a very similar outlook, but you might have a different perspective and I'd love to know your thoughts on this. Always keen to expand my knowledge base through conversations as you just can't try them all.
I might have misunderstood, but I have to disagree about Drupal being mainly for Linux or internal hosting. The way I see it, you're either going to host it yourself, in which case you have a one-off install of WAMP or WIMP that should not tax your sysadmin much, or you're going to host it with a paid hosting service, in which case you can host your site almost anywhere and the OS your host is using matters to few. In fact, it's hard to find hosts that can't host Drupal sites. Most hosts out there handle the AMP stack and in fact it is this very popularity of AMP that has driven the popularity of AMP-based CMS like Drupal, WordPress, Joomla and many others.
Distros like Acquia even have a Windows installer that you can use. Certainly there are loads of Windows users in evidence at our local Drupal user group and Microsoft themselves have a number of Drupal sites and sponsor many Drupal events. Microsoft even feature a Drupal page on their site. Drupal would not be as popular as it is if it were not able to work easily on most platforms.
Of course there is a lot more to all this discussion on the techie end, as we both know, and I've probably gone in to too much detail already. It would be great to sit and chat to you some time and maybe exchange demos.
Thanks again for your thoughtful comment.
Jul 28 2010 - 8:03am
Drupal is FOSS?
Thanks for this posting, Grant. It is timely for us and very informative. Am I understanding correctly that Drupal is the free open source software option? Sorry for being rather lame about this subject. :) Thank you for clarifying.
-Kim
Jul 28 2010 - 8:47am
Yes, Drupal is free
Hi Kim,
Drupal is open-source software distributed under the GPL ("GNU General Public License"). The simplified way of looking at this license is that you can use the software freely and without paying for it and you can even change it and add your own code, if you need to.
The only aspect of this license that you have to be worried about is if you release that actual code back into the world (e.g. as a product or a service, or just to give back), in which case it has to have the same GPL license. And to be clear, if you put a website live then that is only the website, not the code. In other words, most nonprofits use Drupal to get a website like this and never worry about licensing or fees, and the same is true of us.
And don't worry about questions. There are no lame questions. We posted this because we wanted to share what we've learned and the only way to learn is to ask questions. Please ask anything you like.