If you listen to National Public Radio, you're probably familiar with StoryCorps; they're the ones who produce those heartwarming stories from ordinary people that are occasionally broadcast. StoryCorps is an independently run nonprofit agency that is all about listening: it collects thousands of narratives from people across the U.S. and records and archives them for posterity.
A great way to get a sense of what StoryCorps is all about is to check out their Web site, which contains numerous sound clips. The site is slick and professional, and it may surprise you to learn that it's based on the open source WordPress blogging software, as customized by Dalton Rooney, the organization's Webmaster. Rooney is responsible for every aspect of the organization's Web presence, including the design, installation, configuration, and day-to-day management of all of StoryCorps' Web sites. Dalton has been working in Web development for five years and in IT for ten.
I spoke to Dalton via Gchat about the joys of shaping your own content management application (CMA).
ITworld: What was the state of StoryCorps' Website when you arrived on the scene?
Dalton Rooney: StoryCorps was using a very basic PHP- based content management system when I got here in 2005. It was not easy to use and there were a lot of bugs. I feel like I spent as much time fixing the CMS as editing content for the first six months I was here. We were a much smaller organization then, but it was already pretty clear that we needed a system that would allow less technical users to edit content.
ITW: Was that old CMS built in-house?
DR: Yeah, it was built by a consultant. There was no full-time Web manager here at that time. It was patched together from random bits of PHP code; I don't think it was ever intended to be a long-term solution.
ITW: Just for context -- at that time, what sort of stuff were you putting up on the site, and how often were you updating?
DR: We do a weekly radio broadcast, so that is posted simultaneously to the Web. We were also developing a lot of programs besides our broadcast, so we were creating a fair amount of content on the site. On the order of 5-10 new pages a week. With the CMS we had, I was the only one who could create new pages.
ITW: And I imagine it started eating up all your time.
DR: Well, it didn't help that I was only here part time. I was a full-time student, as well. I was starting to do work from home because I couldn't fit everything I needed to do into the hours I was here. Mysterious CMS crashes while I was in class -- that was always fun.
ITW: Did you need to convince your bosses that a new CMA was a necessity, or did they get it without prompting?
DR: It happened somewhat organically, actually. We decided that we wanted some additional functionality for the audio broadcast pages -- categorization, date archives, etc. I said to myself: "Hmm, that sounds like a blog." I was actually already familiar with WordPress, so it seemed like a reasonable solution.
So we loaded up the audio broadcast content in WordPress, as a sub- section of the site. The rest of the site remained on the old platform for at least another year or so.
ITW: And I imagine that was tons easier to use than the existing system. Even someone who wasn't Dalton could do it!
DR: Oh yeah! All of the sudden, I didn't have to load up the broadcasts anymore! Someone on our production team became responsible for that, and I got to dig around in WordPress more and figure out what else it could do.
ITW: Was there any sort of hesitation in terms of "This WordPress thing, you mean there isn't anybody we can call for support?"
DR: No, I don't think there was any hesitation on the part of our management. After all, I was the one supporting our existing solution, and I knew that managing a WordPress site would have its challenges, but would end up being much more flexible and viable as a long-term platform. We have a good track record of adopting open-source technology here, as well. I think that helped.
ITW: I imagine the free price tag didn't hurt, since you're a small nonprofit.
DR: Yeah, definitely. We started pricing out full CMSes the next year. The price ended up being more than we could afford, so I started looking toward moving the whole site to an open source CMS.
At the time, it wasn't a given that we would go with WordPress, though; the CMS functions weren't that great at the time. It was a fantastic blog platform, but there wasn't any assurance that it would work well for a large site.
ITW: So to really make WP into your CMA, you had to customize it fairly extensively, I'm guessing.
DR: Yeah, we created a fully custom template and incorporated a lot of plugins and custom code to get everything we wanted out of it. At the time, it wasn't clear that it was going to work out. It was kind of a skunkworks project on my part -- maintaining the public website, but playing around with a beta version in WordPress in my spare time. When I finally unveiled it to everyone, they were pretty surprised!
ITW: All this involves working a lot in PHP ... how much PHP background did you have before you started on this? Did you have formal training, or just sort of pick it up?
DR: I picked it up completely on my own. I started fooling around with PHP while working on a couple of personal projects. That's how I discovered WordPress, in fact. I was just seeing what was out there and what could help me learn some practical skills. I think I was a pretty early user of WordPress, and I kind of learned the two together.
I think the desire to learn came directly from my previous frustrating experience with the closed-source CMS. I knew it was something that I was interested in, but the only practical tools that I could use to learn more were all open source technologies. Cold Fusion left a very bad taste in my mouth!
ITW: So it sounds like you've had to be pretty self- directed on this ... there aren't really any other IT people there, right? Or there weren't at the time?
DR: At the time, IT support was very limited. I was pretty much on my own. We have hired some full time IT staff now, so I am able to concentrate more on the Web and less on IT.
ITW: So, to create the new version of the site, did you do all your mucking about in the template files? You never had to modify the core?
DR: I made a few core modifications -- sometimes to fix bugs, sometimes to change functionality. Core mods are a pain in the neck to maintain, though. Eventually I managed to get everything into the template files and through plugins.
ITW: Did your mods get merged back to the main WP codebase?
DR: The few bugfixes I was able to manage with my fair-to-middling PHP skills were never used by the WordPress team.
They eventually fixed the same problems with much more flair than I did. But they got the job done in the interim.
ITW: This leads to my next question -- the fabled open source community. Did you feel like that collective hive mind out there was useful?
DR: I have spent countless hours on the WordPress forums and on the Trac system. That's often where I would find out about potential fixes.
ITW: How much of your interaction was with the core WP team, and how much was with folks more or less like you -- using and modifying, but not among the people who wrote it?
DR: I have found the WordPress community to be pretty incredible. It is, of course, personality driven. Certain moderators in the forums are better to work with than others. Certain questions go unanswered. But most of the time my questions have already been asked and are documented in the forums or in the Codex. It's all a work in progress, but it's an amazing resource.
I spend very little time working with the actual developers of WordPress. They have opened up the development process quite a bit.
The Ideas section on WP.org, for example, helps prioritize new features. But mostly it's moderators and other forum members. Or bloggers. There are some really fantastic blog resources out there.
ITW: So, once you unveiled your new version of the site to the Storycorps brass, was it ready to go up? Or were there tweaks necessary?
DR: Well, we had to move a lot of content into the system. Fortunately I had help on that end, and it was very easy to get our editorial team up and running on the system.
We also launched our new blog at around the same time. So we had to train a team of about 10 bloggers on that system. But it went surprisingly quickly. I started working on the WordPress version of the site in my spare time sometime around July, and we launched it in October, I think. Of 2007.
ITW: And then you lived happily ever after ... or did you? How did it perform in the real world? Had you been able to stress-test the new site before it went live?
DR: I have done at least three other WordPress-based sites since then. I'm working on a new one for a special project that will launch in September that has some interesting functionality.
We have definitely had some issues. We weren't able to do a lot of testing before we went live, so there were some issues there. There was one show-stopping WP bug that we only discovered a day or two before we launched, and it almost killed the site. Fortunately again I had access to the developer board for that one.
We have had to do a lot of performance tuning over the last couple of years -- Installing caching modules and such. We have also had to upgrade our server to keep up with the growth in traffic. But now that the development cycle has settled down, it has been very reliable. I can actually go on vacation without being terrified that I'm going to have to log on to some public Internet terminal in Barcelona and try to figure out why the site isn't loading!
ITW: Well, here is the big question skeptical types always ask the open source folks: if you had had an unlimited budget, would you have gone through the process, or would you have bought something off the shelf?
DR: I have actually been on both sides of that question. I implemented a six-figure CMS as IT Director at the Corporation for Supportive Housing. It was a nightmare. The software was not flexible, the configuration was inscrutable, and we were completely locked in to this one vendor, who was always mangling things.
We have made a site that is infinitely better to use than that one, on a very limited budget. And with open source code, we can go in and make whatever changes we want. There are thousands of developers that support it, so if we ever need some kind of functionality that I can't add myself, there is no shortage of people who can do it for us.
ITW: And of course you didn't have an unlimited budget -- and most operations your size don't.
DR: No. We were looking at much smaller scale systems, and even those were out of reach for us at the time.
But I still like to think we made the right decision, regardless of cost.
ITW: Well, thanks for taking the time to talk with us, Dalton ... looking forward to the new features on the site!
DR: Hey, thank you!