APS4: The Ultimate Open Source CMS - A Cage Match

John Vieth 
Web Design, University of Wisconsin-Platteville

Nathan White 
Web Application Developer, Carleton College

Stephanie Leary 
Website Administrator, Texas A&M

The audio for this podcast can be downloaded at http://2011.highedweb.org/presentations/APS4.mp3

Announcer: This is one in a series of podcasts from the HighEdWeb Conference in Austin, 2011.

Nathan White: Hello, my name is Nathan White, I’m from Carleton College, and I’m here to tell you about the ultimate open source CMS, Reason. Kind of the big view from above, Reason is very carefully designed and it’s really designed with content editors absolutely in mind as the primary audience - that we want to make it easy for people to create and maintain content.

It’s powerful. Unlike WordPress and Drupal, when you download Reason the sort of core modules that you need to create a website to do custom forms, to have image galleries, to have an event calendar, it’s all there. You don’t have to go searching for things and try to integrate them.

And I’d say this is built from pages. It’s a simple intuitive model. People are used to this idea that I’m going to build a website. I have to make a collection of pages and I have to put them in a certain hierarchy, and Reason is really built for that concept and it’s easy for editors.


So we’ll look at this a little more. What we’re going to do is we’re going to take a look at the tale of Goldilocks and the three CMSs. Goldilocks, in going into the world of CMSs, realizes that any CMS can break, but we sit on them anyway. So Goldilocks starts out here by sitting on each of the CMSs just to get a sense of how they feel, how stable they are.

She starts with Drupal and she kind of looks in the room and sees a tiny chair and she’s like, “There’s not much there to sit on.” And that’s because Drupal, until you add one of the 8,911 available modules or many of them, doesn’t do much. The core doesn’t include an editor and you really, you have to add modules and integrate them to get it to work.

So once you do that, you actually have a solid structure made up of lots of individual components by lots of different people that you can sit on. And if you like cobbling together modules, Drupal might be the best choice for you.


Nathan White: WordPress…



Nathan White: …Goldilocks found to be pretty comfortable. It’s a real comfy tool to sit and write a blog post. However, it’s not a CMS.


Nathan White: Reason on the other hand, is just right. It’s a comfy chair you can sit in, you have a view, you can imagine possibilities, it’s stable, it looks pretty, and it has all the features that you need. So next, Goldilocks puts on a user hat imagining that she’s someone, the content editor trying to use the CMSs and digs in to them. How did they taste? We’ll start with Drupal. Drupal is made up of nodes and a node does not taste very good.

There are many steps in assembling various nodes to create a Web page in Drupal. There’s not really a clean idea of, OK, I’m going to make a page. It’s going to have these components, there it is. Instead of a Drupal, you’re often using a lot of sort of complicated administrative interfaces to assemble your page.


That might be blocks, a block might be program to show up on certain pages and not others. So when you’re at the context of one page figuring out what blocks doing don’t appear to be pretty tricky. Views, which I’m not going to talk about much because they’ve been covered. Menus, you typically have to create kind of a menu for how you want to organize your pages and the sort of the menu creation process is really distinct from creating a content.

And all in all, it’s hard, it’s hard to make a website in Drupal from a content editor’s perspective. So WordPress, WordPress on the surface when you take a bite out of it, it’s pretty spicy in a good way. It’s got a lot of flare and flash and Ajax-y interface elements that make it really pleasant to use. But when you really try to taste it, when you really swish it around in your mouth, there’s not that much substance there.

It’s really easy to create blog posts but the tools to create and manage pages are pretty limited and that’s because Drupal here…sorry, WordPress isn’t really a CMS - it wasn’t originally built to be a CMS.


So, like Stephanie said, it doesn’t really have ways that you can link from one site to another very easily. It’s hard to share content. It’s hard to reorganize the page structure of a whole site in a quick and efficient way. I mean, if you change URLs things might break unless you have the right plug-ins installed.

Reason is just right. It’s really easy to publish content for the average person. Page navigation is automatically created and typically, you don’t think about it at all. You just set up your page hierarchy and there it is. And Goldilocks, when using the Reason state, only sees the tools that she needs.

So this is the screenshot of a typical content editor view within Reason. And you can see that we have just kind of a linear hierarchical view of…we’re looking at the page screen all those various pages. You can go in and edit those pages. You can add images to them. And she has a content types that she needs for the site in the left side. And this was set up for her by an administrator so she just use what she needs to manage the quotes on this site, the pages, categories, images and media files.


And on the front end, you see the same page hierarchy in the upper left. These are very intuitive. She knows if she adds a page it’s going to appear in the menu and it’s very simple to edit the content. From this screen at the bottom she has a little link that says edit this page or she can use in-line editing to edit the content.

Linking to other content is trivially easy in Reason. From the content editor, I select some texts, click the link tool, and I can choose any site and then I can choose any page on that site. And it’s just as easy to find news or posts, events, or assets on different sites. Goldilocks is a slug a bit. When she puts on her administrative pajamas, she wants a CMS that really lets her sleep at night.

So let’s see what happens when she crawls under the covers. This time, she first checked out Reason. Goldilocks started to sleep really peacefully.


She had a dream about gazing at the beaming faces of a group of people attending a Reason training.


She explained to them in response to most of their questions, you can do it yourself. Here’s how you do it. And she was really satisfied knowing that she war really unlikely to ever hear from those people again because it’d be so easy to do what they wanted. And she just generally had visions of happy templates, themes, modules, and people just dancing in her head. It was a great dream.

So next, she crawled under the covers of the WordPress bed. She started sleeping a little bit nervously and a little sweaty, dreaming about the theater director calling saying, “Hey, I want an online ticketing system. Can you give it to me next week?” And then the dean called asking about whether or not their WordPress install has centralized campus event calendar and if not, how to get one.

And then yet another call from the off-campus studies office saying, “Hey, can we have a searchable directory of our programs?” And all these requests, which in Drupal or Reason might be easier to implement pretty quickly, in Reason, these will all be very simple, actually, because there’s an interface to create custom types and a module that would automatically create a searchable directory of programs.


In WordPress, these things will be hard. They might involve purchasing another tool or doing some real custom programming that there’s not a lot of great documentation for how you do it.

How long? OK. Drupal, Goldilocks had a full-blown nightmare.


She relived the installation of a Twitter module where she spent two days looking through the modules available and then another two days trying to integrate it into the site, and then realize she could have just written a little bit of PHP to show the tweets from a certain person on the sidebar.

Then she had a nightmare about the failed upgraded Drupal 7 where she went through the whole process and then realized that half of her modules hadn’t been upgraded yet. And then jQuery 1.2, which she was stuck with because she’s using Drupal 6, became a monster and started trying to eat her up or maybe that’s just the bears.


So in summary, Reason is the ultimate source - open source CMS.


Moderator: First round, now we go to the second one.

John Vieth: Can everyone hear me all right? OK.

Moderator: OK.

John Vieth: I’m going to bring up my notes here, lots to talk about. Heard lots of the lies today. No.


John Vieth: No, no, no. No, everybody likes something different, but just to kind of cover some of the things that we talked about here. I did want to show the…

Moderator: Are you ready?


John Vieth: Yes, start now. I’m not sure how well you can see this, but I think it’s really important to mention that in Drupal 7 the entire admin has been completely redesigned and there’s a completely different strategy and approach for the theme. In Drupal 7, the administrative interface always has a theme that was developed especially for administrative interface.

So you can change your theme all you like but in the admin, unless you really want to go out of your way to customize it, you’re going to see something that was designed. And frankly, inspired by the latest version of WordPress, to be the best admin interface that you can have. You’ve got a really rich Wysiwyg here that can be totally customized to hide and show different buns depending on what your users need. And if a user is logged into a website, no matter where they are in that website, they see the admin toolbar up at the top to add content.


They always have that length right there, add content, so it’s really easy. Drupal can be a fair amount of work for the developer but if developed well, it should be extremely easy for the users. Drupal is arguably, only as good as its developer and it’s often said that Drupal is not the easiest CMS to make easy websites but Drupal 7 is the easiest CMS to make a very complicated websites.

So if you need flexibility and you want to build what’s been imagined, Drupal 7 is, for many people, the only way to go. And whereas other CMSs are a blog first and the CMS second, Drupal is a CMS first and application development platform second.


Yeah, Drupal is really good, so.


John Vieth: Drupal is the best. This is, again, a website that is going to go live shortly for us. This is a live demo that’s running on a virtual machine on my laptop for security purposes. But this is a very customized design that you can’t just taken-off-the-shelf thing and customize it for this.

You have to be able to build anything that can be imagined and it’s very dynamic and very customized. So, again, we’ve got the example layout that I built just for this demo, which is not cooperating. It’s my Internet connection. So really, you can have really rich layouts and I guess I’ll just wrap up by saying that if you want the ultimate in customizability, Drupal 7 is the way to go.



John Vieth: It’s mocking me.


Stephanie Leary: All right. Go ahead, I’m not going to start up anymore slides. All right, so a couple of fair cups in the other slides about the failings of WordPress. Page management, when you have a lot of pages is really tricky. There’s no way to sort of natively collapse the whole hierarchy down, so you end up sort of scrolling through pages and pages and pages of pages.

Of course, there is a plug-in for that it’s called Simple Page Ordering if you want it. There’s also no really good built-in events calendar. Well, there’s no built-in events calendar of any kind, let me just put it that way. Again, you have sort of sift through a bunch of plug-ins and there hasn’t been a good event calendar that sort of emerged as an industry leader in WordPress community.


So we solved that by using our central campus calendar in pulling in i-calendar assess fees, but, yeah, built-in? Not so much.

Now, the thing I would argue with, though, is that WordPress in the last two versions since 3.0, has become really a true CMS. It’s still a little rough around the edges in some cases, but you definitely can create, for example, a searchable program directory using custom post-types. And that is one area where the documentation doesn’t suck.

You are going to have to code it but there is a really good guide to doing it. What else about WordPress? Let me see. You know, this Goldilocks actually has tried those with the other content management systems we’re talking about today, does Drupal have the rich text editor built-in yet or is it still a module that you have to install?


Oh. Oh. I never could get any of them to work.


Stephanie Leary: Not a single one. Couldn’t get it to work with the…I could get either rich text or media uploads, couldn’t get both. And in WordPress, that is just built-in. You don’t get a choice of which rich text editor you use.

Now, you might have some quibbles with the way the rich text editor behaves but you get one that works most of the time for most things out of the box and includes the sort of image upload and search, video upload and search, that kind of sort of thing. I think I’m going to go ahead and cut it off and take questions at the end, actually.

Nathan White: Well, I haven’t heard too many specific attacks on Reason, so it’s a little bit hard to deliver a rebuttal, but I’m going to just spend some time…


Stephanie Leary: I never could get Reason installed.

Nathan White: Well, when did you last try? So Reason installation, like how WordPress is, just implemented all these great features that make the CMS and like Drupal, which version 7 makes everything easier to use even though, I would guess, that less than 50% of schools have actually upgrade to Drupal 7 at this point.

Reason is light, easier to install and it used to be. So I guess a couple of general points, bigger in the sense of the CMSs isn’t necessarily better. Obviously, WordPress and Drupal have large installed bases of users. However, they’re not specifically made for higher education. They don’t have…their communities are so big that actually trying to get something done can be really difficult. Finding the right module for your needs can be really difficult.


Drupal is so big and so flexible that it makes your brain want to fall out. So sometimes a small simpler tool that has the core features that you need when you install it is really the best choice. Any CMS you’re going to have to do some testing programming whether you outsource that to some sort of third-party or whether you do it in-house, a CMS takes work and a CMS could break.

Reason provides a really strong set of core functionality that is going to cover the majority of your basics. You’re not going to need to install an event calendar. It has a built-in what-you-see-is-what-you-can-get editor, though if you want, you can use a different one. But it just works from out of the box.

And it also has a system that makes it really easy for developers to write custom code to make their own modules to address the specific institutional needs. And a lot of times, sitting down and writing a code can be just as quick or more quick than finding and integrating the proper module that may or may not have the features that you need, anyway.


So just to reiterate, I believe Reason is the ultimate open source CMS and I encourage you to give it a try and see what you think. Thanks.

Moderator: OK. Now is your time. What do you want to ask them? Please, step up to the mic. Oh, come on.

Audience 1: How do any of these integrate with different development environments like, maybe, John, OK, like Dot Net, for example.

John Vieth: Well, from a Drupal standpoint, I guess I’ll say that if you have a Dot Net system and you want your Drupal website to talk with it, you can use what’s called the feeds module to automate schedule of imports of X amount of exports from other systems as native content notes. So it’s very flexible in that way.


So if you can automate some sort of export from the one system, you’re always going to be able to import it and with the feeds module. And then there are also custom APIs that work with Drupal’s native core APIs so that you can…these various systems can talk to each other with X amounts open and basically, Web services in general. So I’d say Drupal is probably, when it comes to integrating systems, Drupal is your choice.

Stephanie Leary: WordPress also has some APIs for that sort of thing. You can share things, Web services, and I think that would be the way to go. You could also write some sort of custom importer and set it on schedule.


Again, though, these are written…I think both of these are written in PHPs. Reason, as well? Yeah, these are all PHP and my is through often the most part based systems. So integrating with that then is going to be a little tricky.

Nathan White: Yeah, we integrate with a lot of other systems and we may use the API that that system provides. Reason has a very sophisticated object caching system that we might import the data and then save it locally and only refresh it periodically, or you could import everything in doing actual content type in Reason. I think it really depends in the details of the project.

Stephanie Leary: I think that answers pretty much the same for all these systems, actually.

Audience 2: I was just wondering, what are the sizes of your development teams and maintenance teams? How many have you actually worked on this a lot? So I mean, that really influences the decision of using one of these products.

Nathan White: Carleton, we have, I guess, two developers, Web administrator, a graphic designer and then a content editing person and then a jack-of-all-trades person and a director. So we have seven people on our team.


I believe that our team takes on a lot of projects that would be traditional IT projects such as we maintain an IRB system in Reason, we maintain the Institutional Animal Care and Use Committee. There’s a lot of sort of office-specific Web applications that we’ve written within Reason that I think a lot of smaller Web teams don’t get those projects. They out source them or they go through IT and not their Web department.

Stephanie Leary: As far as development teams go from my office, it’s just me. I’m maintaining a network of about 14 sites in a WordPress network installation. Now that said, I have content users and all these other offices, in particular, the largest one that I work with is the office I spend the most time on, we have a fulltime staff of six.

We have 45 to 50 student workers and grad students and most of those are putting in pages, putting in posts, entering courses into that custom course directory that we have, podcasting, posting stuff on YouTube and then embedding the YouTube video into those pages.


So almost all of those are content creators and they rarely require more than about 30 to 45 minutes of sit-down training on the whole system.

Moderator: You have five minutes left.

John Vieth: At University of Wisconsin-Platteville, we have two fulltime Web developers, myself and a peer, and we handle all the ongoing development. For our current project, we’re replacing all of the Web content for our entire university with one Drupal installation. For that we’ve consulted, we’ve outsourced too, basically two fulltime consultants, but really, a firm that can provide what we need to do some heavy lifting specifically a developer from the consulting firm and a project manager to help us just keep everything organized, which has been very important.


And we also have a team of student workers who earn student wages and it’s sort of opportunity for them to learn skills but they also do a lot of…really do a lot for us, but two fulltime developers for UW-Platteville. We also…I should mention that once our Drupal cycle is live, our ongoing content management and editing will be provided by all the various content stewards all over campus and that’s because Drupal is so awesome and the user interface is so easy for them to use, we’re going to be able to let them handle all that, we can focus on development.

Audience 3: Hi, I prefer to take this to a professional organization that’s actually primarily non-technical and this is an elected position that runs out at the end of another year. They’ve expressed an interest in going to a CMS system. My big concern is if I believe in what the CMS system and they don’t have…since they have very few people with technical skills, which is easiest to maintain, which is easiest to basically turn over to someone who can…if I tell you to push the button, just push the button?


John Vieth: Well, I’ll be honest, Drupal is going to excel if you need a very complex website with a large information architecture, very customized. It does require a lot of development and it does require maintenance. If you can’t provide that and end users are going to be kind of maintaining the system themselves, and frankly, WordPress may be a better choice. Reason is also a very easy to use and maintain once it’s set up and running. So it really depends on what your needs are.

Stephanie Leary: I’m in that exact same situation with a couple of offices and having a sort of impending deadline here in December, I would like to be able to hand them off. They’ve been sort of the thing where every time the board changes, the site gets hosted at a different school and I want to end that.


And so, I want to put those people on wordpress.com, actually, words is not going to allow them a whole lot of flexibility but we’ll still give them pages and posts. They can create their page hierarchy. They can add a blog if they want. They can choose from the themes that are on wordpress.com. They can override CSS if they really want to make it look a little bit customized.

But nobody is going to have to be responsible for maintaining it and installing that and they can just hand off a user admin account when they need to switch it to a different person’s responsibility and that’s what I’m aiming for with that group that I work.

Nathan White: So once you’ve set up a site, which is called a mini-site in Reason with like the features that it needs, it’s pretty quick to train somebody how they create pages, how to upload images and basically manage that site. Reason, they’re typically would be someone behind the scenes where if they wanted some sophisticated changes or they want new capabilities to add to their site, then you would have someone basically put that content type on the site and then tell them how to use it.


So it kind of depends on how much this site change. If it never change, you could set up once and someone will be able to maintain it quite easily. If it needed some significant changes and new capabilities and you would want to have somebody set that up, train the person, and it’s pretty much it’s self-serve from there. But generally, Reason is very self-serve once you have the site set up.

Audience 4: Just real quick. What’s the performance envelopes of these CMSs in a high-traffic environment either with or without caching?

Nathan White: Well, Reason…I mean, it’s hard to say because we at Carleton, we have around 2,500 students about and it’s never been installed. I think we’re the biggest install that I’m aware of. We have several hundred thousand images and probably a hundred thousand pages and it’s scaled quite well.


But it’s hard for me to answer specifically how it would work in a much larger environment. Yeah, Reason has page level caching and object caching. Object caching is usually used in module code but you can turn on caching page, all the caching for the whole site. So we only use then I think our admission site right now because generally, performance has been good, but if we start having problems we might use caching more widely than we are now.

Stephanie Leary: WordPress is sort of famous especially if you read variable for going down when it gets linked to by some sort of high-traffic site. That’s generally because they don’t have a caching plug-in installed. And like I said, you really need a caching plug-in.

There’s one code, Super Cache, that’s very popular and easy to install. There’s another one called W3 Total Cache which does a better job but it’s harder to install and get running. Requires some stuff on your server that I don’t have.


So with those installed, WordPress can handle anything. Without them, it’s going to go down when you get more than a few hundred users at a time.

John Vieth: I think when it comes to performance there’s a lot of common issues with all of these. I will say that Drupal tends to the performance advantages tend to be seen on the larger sites. But even Drupal is going to need some modules to improve performance and you want to be able to make those choices.

You don’t really want those kinds of things built in where you don’t have any choices. So really, that’s by design and that it should be that way. For Drupal, you have modules like Boost, which provides static page rendering to drastically improve performance, APC which basically caches opcode, PHP opcode, so that your PHP performance in general improves. And then of course, you can always add in extreme situations, almost all these you’re going to see a proxy server added that sits in between your website or your cluster websites and the public to basically cache and improve performance that way.


Moderator: Anne, likely now, you guys have 15 seconds each, go.

Anne: This is really fast. There’s been a lot of talk about things that are built-in and things that have to be added on with plug-ins or modules or whatever, can you talk to the developer if the thing you want to have in your site is not there and nobody has written a module or plug-in for it? How accessible is that with the basic understanding of PHP?

John Vieth: Well, the basic understanding of PHP for Drupal, I would recommend that a developer just crack a book and just invest some time, probably a few weeks, to just really go through a sort of self-directed boot camp. And at that point, if they’re a competent developer, PHP developer, I really think anything is possible as far as Drupal module development.


Stephanie Leary: For WordPress, I would agree you can grab the professional WordPress plug-in development book, learn what you need to do, implement it yourself, or hop into one of the IRC Channels with the core developers and say, hey, is there any chance that this might be included soon. Or check to the track ticket and see if it’s already been found as a bug, and might have a patch actually available where you can just kind of patch your installation until it gets accepted into the actual core module.

Nathan White: Reason is a small very friendly community and I often times help people who are trying to write modules from other schools. And we have a Google groups discussion list where issues of creating modules also comes out. But I’d say creating modules in Reason in my experience is much simpler than creating modules in Drupal or WordPress.

Moderator: Thank you very much. We hope that you have found your.