For the past decade Dreamweaver and Contribute were the primary web workhorses at Luther College. In 2005 EZ Publish, an open-source content management system (CMS), was chosen to process admissions applications. The following year EZ Publish was decommissioned, and the entire admissions site and home page were moved into a commercial CMS, which failed to meet expectations. The process of moving content from Dreamweaver and Contribute into a CMS was only begun in earnest when Reason was chosen in January 2009 as the top candidate from an extensive list that included both Drupal and dotCMS as finalists.
What is Reason?
Reason is an open-source web-based CMS licensed under the GNU General Public License; it’s ideally suited for small teams operating on a limited budget. It was developed by higher education (Carleton College) for higher education. Unlike Drupal it is a full-featured CMS out of the box.
Luther College runs Reason in a LAMP (Linux, Apache, MySQL, PHP) environment although it can also be installed under Windows and Mac OS X. There is no cost for the software itself; technical support via the Reason discussion group is outstanding; and content contributors on campus give it thumbs-up for ease of use. With knowledge of PHP programming, Reason can be extended and customized to suit the specific needs of the institution.
Reason’s feature list is substantial. At a glance it includes:
- ability to create an unlimited number of sites with a single installation and to share content across those sites
- a WYSIWYG editor called Loki (TinyMCE, FCKeditor and others can also be used)
- full version control
- a large number of content types, including blogs, newsletters, images, text blurbs, events calendars, attached documents, and multimedia
- built-in integration with LDAP for authentication and identity management
- ability for an administrator to assume the role of any user
- a WYSIWYG form editor to create and edit web forms
- automatic generation of RSS feeds for common data types such as blogs, newsletters, and events
At Luther College, Reason is deployed on a dual-core Intel(R) Xeon(TM) CPU running at 2.80GHz, which more than adequately handles the over two million page requests the server receives each month. Reason’s required MySQL database operates on the same server as Reason, and there is also a devoted server for development and testing.
Initial setup began in late February 2009. Installation requires a system administrator with Linux knowledge but is nothing out of the ordinary. Integration with LDAP went smoothly. By early March a skeleton template of the home page had been moved into Reason. Much of April was spent learning the Reason administrative interface and becoming familiar with the Reason code base. In mid-May a design concept for the new admissions site was finalized and June was frantically spent developing its template. On June 30, 2009, just over four months after our initial kick-off, the home page and redesigned admissions site went live in Reason.
Fast forward a year later: 140 sites are now in Reason, about two thirds of those live and the balance in development. The goal is have all departments currently using Dreamweaver and Contribute deployed in Reason by summer’s end then commence to move sports and music. Did I mention that there is a complete site redesign of www.luther.edu thrown into the mix due to be completed in October 2010?
Luther College has three FTEs devoted to supporting the web for its 2,500 students, 180 faculty, 500 staff, 22,000 alumni, 20,000 prospective students, and the general public. The reality is that resources are needed to maintain a CMS, open-source or not. With an open-source product staff are required to maintain a server, write templates, develop style sheets, create content, customize code, and support users. With a commercial product resources are needed to maintain a server, write templates, develop style sheets, create content, convince a vendor to customize its code, and support users.
Instead of paying the high up-front cost of a commercial CMS and on-going yearly maintenance fee Library and Information Services reassigned one of its full-time programmer/analysts specifically to Reason system administration, writing extensions to Reason, and training and supporting the 150 or so content contributors on campus. In addition the Publications Office has two full-time staff members dedicated to web work, one of whom is responsible for writing content critical to the marketing mission of the college and assisting Reason users, the other for developing templates and style sheets, writing custom modules in Reason, and supporting campus wide web infrastructure. A student worker is also devoted to web work for 10 hours each week during the school year.
What Reason could do better
Luther College’s current web architecture makes extensive use of http proxy to take advantage of different back-end servers, including Reason. One complaint of Reason is that it doesn’t behave well under an assumed name. The server name is hard-coded into much of its code base, and the Loki editor automatically converts any relative link to absolute. So /admissions/students becomes reason.luther.edu/admissions/students, instead of letting Apache prepend the appropriate www.luther.edu during proxy. Reason does this by design since a Reason site may be based on a virtual server name such as sports.luther.edu and music.luther.edu. Carleton College does not make use of proxy but rather redirects most of its web traffic to its Reason server hosted at apps.carleton.edu. For example carleton.edu/admissions gets redirected to apps.carleton.edu/admissions.
Another annoyance is the Reason console’s lack of ability to select a group of items to be included on a page all at once. For example if a user wants to include 20 images on a given page each must be selected one at time from a list, with a page refresh each time. The process needs to be repeated for each of the 20 images.
It is an understatement when I mentioned earlier that technical support for Reason is outstanding—it’s phenomenal. I would go as far as saying that Reason’s unofficial support exceeds the service received on any platform campus wide. When a question is posted to the Reason discussion group, Nathan White or Matt Ryan at Carleton College reply back usually within the hour with a detailed and accurate remedy to the problem. On several occasions Carleton’s web group has welcomed us to campus for day-long tutorials and coding sessions. Documentation is certainly adequate, and for you budding authors out there, the Reason bible has yet to be written. There has even been talk of Reasonpalooza, the first ever Reason Users Group conference, rumored to be held next winter in the U.S. Virgin Islands.
Extending Reason to integrate with other systems
The beauty of open-source programs is that you don’t have to wait for a vendor to develop a requested feature—you can do it in-house if you have an experienced PHP programmer on board. Reason is laid out in such a way that it is easily extensible. A directory called reason_package has the complete Reason code base, and a corresponding directory named reason_package_local contains any user modifications. Reason is smart enough to first look for local customizations before loading the core modules.
Luther College has developed several extensions to Reason including:
- an image slideshow that loads images directly from a Flickr account
- enhanced media capabilities to include YouTube videos
- customized Twitter feeds
By default, when a thumbnail of an image is linked to a corresponding full-size image, the larger image appears in a pop-up window. Luther College easily changed this default functionality to utilize Highslide instead.
The Image Slideshow module is fairly basic in Reason. Luther College enhanced this module and then went one step further to serve images directly from Flickr. The campus wide response to the Flickr solution has been overwhelmingly positive with many departments jumping on the bandwagon.
Luther College moved much of its video hosting to YouTube during the 2009-10 academic year. The publications office was spending too much time creating and encoding Quicktime videos then embedding them in Dreamweaver and Contribute pages by hand. By writing an extension to Reason’s Media Works module, placement and styling of a YouTube video is dictated by Reason template instead of haphazard positioning of an html embed tag in the main content. Note that the thumbnail used to link to the video itself is loaded directly from YouTube.
Student groups in particular needed a solution to incorporate Twitter feeds. Reason not only has a way to extend modules but also a method to create or customize a content manager itself. Luther College’s Twitter feed content manager has its own administrative form in Reason designed to gather information about a specific Twitter account. Be aware that writing a content manager can be overwhelming at first and is certainly more involved than extending a module. But once completed it is fully integrated within the Reason framework.
Other projects in the works are a campus wide e-commerce solution and a Reason interface to Google Calendar. Although users can sign on to the Reason server using LDAP, single sign on from Reason has yet to be integrated with other campus services.
In .eduGuru’s most recent CMS survey Reason topped the customer satisfaction list in the open-source category. Luther College has been very pleased with Reason and can vouch firsthand for the high marks Reason received in the polling. If we had it do all over again, we’d choose Reason. For those currently searching for a CMS I would definitely take a serious look at what Reason has to offer.