supportunitedway.org case study
This is a writeup of how and why United Way of Massachusetts Bay and Merrimack Valley chose Drupal for the redesign of supportunitedway.org. I'll talk about our history with Drupal, how we structured the new site, which modules we used, and how we migrated data from our old site.
History
About a year ago, United Way of Massachusetts Bay and Merrimack Valley decided our web presence needed some love. We had already used Drupal for a few projects such as the CFC Eastern Massachusetts campaign and mycaringclub.org, and between the success of those projects and the familiarity we gained with Drupal in doing them, we decided to use Drupal 5 for our reworking.
The first attempt we made was to re-create our existing website, both in content and structure. Most of the content was migrated when our annual campaign season came along and redirected most peoples' attentions. However, we were able to reuse the framework created by this exercise to launch our blog, speakunited.org.
So, several months pass. We continue to use Drupal for multiple internal projects, as well as upgrade mycaringclub.org to Drupal 5 and give it a good re-themeing. During these months, United Way of America, our parent organization, announces its new message of Live United. We decide to use the branding and messaging suggested by UWOA in our United Way, and take this as an impetus to begin working on a new site again.
Live United
This time, we had a much clearer design and content goal, as well as a deadline of June, when UWOA's liveunited.org goes live. We established a five member team; our current webmaster, our writer, one of our designers, our communications director, and myself. I'm going to talk more about the technical aspects of the site here, since the design and tone were largely handled by the others.
Structure
The biggest challenge from an information structure perspective was that we were essentially running many sites for different audiences on the same site. We have our general public audience, but also more engaged groups of agency representatives, campaign managers, media, and staff. To provide useful portals for what each of these audiences needs from us, we decided to use the Domain Access module.
We leaned very heavily on CCK, creating 20 content types so far. This was based on some good advice from Agaric, and it has really been helpful to have such cleanly defined roles for each content type instead of trying to do ten different things with pages. We even ended up replacing the core Blog and Forum content types with CCK/view constructs, and providing structure through domains and OG instead.
Pathauto and Custom Breadcrumbs are used to place most content within the site. User-generated content falls directly below a view which presents a summary of entries for that content type, and the breadcrumb for an entry leads back to this view. In other words, user-generated content is only three levels deep: home > view > content. Blog entries and events are exceptions: their views, paths, and crumbs also includes dates and, in the case of blogs, blogger names.
Certain content types, such as pages, are still set to be menu children by hand, because their structure is unpredictable. These make up a small portion of the site; nothing community contributed falls under this category. Recommended links are being used to aid navigation further on these pages, since the editors can create links to other relevant or child content.
We also wanted to create more engagement within the site, so Organic Groups was a natural. Of course, this introduced the need for the Domain/OG patch, and I'm happy that my work on the site could contribute to the integration between these modules. We created OG content types for Companies, Agencies, and internal Divisions for use by Campaign Managers, Agency Representatives, and Staff roles, respectively. We also have a generic Community type anyone can create and invite others to join; more of your standard OG use.
A couple additions to the domain_conf.inc file allowed us to specify different secondary menus and google analytics settings for each subdomain, which is handy. Panels 1 are being used to set the homepage for each subdomain right now, but their use is likely to expand.
Theming
The site's theme is based off Zen, for the standards compliance and SEO if nothing else. We tried to emulate liveunited.org to a large degree. The subdomains all use the same theme, but we added the active domain to the body classes to allow for targeted tweaks, such as different background colors.
CCK, Imagecache, Related Links, and templates were used to give editors the ability to create nicely rich pages in browser. They can define a sidebar, upload and place images/video within the page, and create navigation blocks.
Migration
While all this was being set up, the blog at speakunited.org continued to be updated. I pre-gamed the transition of that data, and have already done a writeup. I'm happy to report it worked very well!
The path redirect module is being used so all our old links go the correct place still. The mapping was a manual process (the structure of the old site was unpredictable), but it was aided by taking a dump of Google's search index for the existing site. Redirect seems to respect Domain settings, by the way.
A great deal of the content on the new site was newly written to be in line with the new messaging. Stuff that wasn't was migrated by hand; I think it was about 100 pages, and about 100 files attached.
Other Notes
For video, we had originally planned to manage everything though a YouTube channel. We then realized that a lot of our audience is behind firewalls and wouldn't be able to access that content. To get around this, we set up the Flashvideo module and are already enjoying the benefits of having such fine control over our video content.
There was only one custom full module we needed to develop; our donation form. This was helped along by the Drupal Wizard API module. There are a couple of snippets in site-specific helper module; some for OG/Domain integration, custom blocks, come calendar modifications, and special handling of the "wiki" content type.
Conclusion
We launched the site a couple weeks ago, and so far it has been very well received. The membership is all internal staff so far; our next step is to decide how we're going to moderate external members. We are still fine-tuning all the little knobs, so if you have a suggestion, please let me know.


Ical feed
Could you expound on the
Could you expound on the staff responsibilities for managing the site? You mentioned "current webmaster, our writer, one of our designers, our communications director, and myself". What does the webmaster do, and are you the web developer, and what does that entail?
I can relate to site development getting lost, pushed aside. It's helpful to hear a real world example of salvaging that work later! When you say "reuse the framework," how much did you have to change to get it live as your blog?
Thanks for sharing!
Sure, I can expand on the roles.
Sure, I can expand on the roles. The current webmaster was the most familiar with the existing content. As such, he was able to identify what had to be brought over first and what could be left to the side. He is also most familiar with how others in the organization work with the site, so provided good guidance on creating a structure everyone would be comfortable with. He is also in charge of the usability testing.
The writer produced the new content for the high-level pages. Much of the deeper stuff was transfered directly.
Our designer combined the existing look and feel of liveunited.org with the template files we were provided into Photoshop templates. They had to be adjusted a good deal to support our impact areas and desired architecture.
Our communications director was the project lead. She also helped transfer over a good deal of content. She'd had some previous exposure to Drupal through her work on our blog project, and was very adaptive and insightful.
I guess that would make me the web developer for this project. I was responsible for the actual implementation of these ideas, including the theme. The only content migration of note I did was the blog content, and I did that programmatically. I was also in charge of server setup, though I had a good deal of help with that from our host.
There was a lot of collaboration in this project. We met as a whole team about once a week, and smaller groups met several times a day. It was also not the case that this was our only project or role at work.
In terms of reusing the framework of the initial attempt, it was basically a matter of setting up a new URL for the blog with a modified settings.php, but connected to the same database. The biggest change was creating another theme. The hope was that we'd be coming back to the work we'd already done, and in the interim a bunch of new content would have appeared! When that didn't happen, at least we already had our whole blog in a Drupal-structured database, which aided the migration quite a lot.
Thanks for the further
Thanks for the further details. Sounds like you have a great team and that it ran pretty smoothly. How long did it take?
Thanks for sharing
BTW, many of your links in this article are to groups.drupal.org, but i think you want drupal.org (e.g. /project/zen should be http://drupal.org/project/zen)
--
Markus Sandy
http://apperceive.com
http://ourmedia.org
Great write-up
This write-up was a great help in getting our United Way started down the Drupal path. Knowing that a big United Way like United Way of Massachusetts Bay and Merrimack Valley was on the system helped me when I was presenting the options to our leadership. It was also great to get pointed in the right direction with modules and setup. Since reading this I have been working on a standard configuration/setup of Drupal that could be shared with any United Way (right now different website approaches/systems are employed by each region). I think the possibilities are endless if we can get the different communities working together. We are just starting but you can checkout the work we have done so far at: http://skunkworks.unitedwayweb.org/