Texas A&M Student Activities Home Page

In the year since we set up Drupal the response from organizations has been overwhelmingly positive. Every time a webmaster stops by our offices with a bewildered look in their eyes, wondering how to change the site their old webmaster made completely in Flash or Frontpage, we tell them about Drupal. Inevitably they switch their site over to it, and a few minutes later they walk out the door claiming we just made their day. Today, 120 of our 400 hosted organizations are using Drupal on their sites, including some of the campus's largest groups.

With the success we have seen in using Drupal to power both our own department's site and the sites of over a hundred of our organizations, we strongly believe that Drupal serves an excellent role in our services and higher education at large. It is one of the best ways we have found to give students the tools they need to successfully deliver information to their web-savvy peers.

Why Drupal was chosen: 

The overall flexibility and extensibility of the Drupal codebase and its vibrant community of theme and module developers led us to select it as our CMS of choice.

Describe the project (goals, requirements and outcome): 

About Student Activities at Texas A&M University

The Department of Student Activities at Texas A&M University is responsible for overseeing the annual recognition process of the 850+ student organizations on the College Station, TX campus. The department also advises several large organizations directly and offers leadership and involvement opportunities to the entire student body. Many of the most popular traditions on campus are heavily supported by the department, including Fish Camp (an extended orientation program attended by over 5,000 freshmen a year) and The Big Event (a one-day service project in which 10,000 students complete over 1,000 community service tasks in the city and surrounding areas).

History of Student Organization Web Hosting

As part of the services offered to student organizations, Student Activities offers web and e-mail accounts to all active student organizations on campus free of charge. Originally powered by a single server hosting a small number of organizations, the demand for hosting space has soared, as the number of web-savvy students increases and student groups see an obvious need to distribute their information across the Internet.

Selecting New Hardware and a New CMS

To address the continually rising demand for bandwidth, space and features on our servers, we found it necessary to upgrade our server architecture in early 2007. At that time, our hosting services consisted of two servers, the larger of which was running Windows Server 2000 and only supported classic ASP and PHP 4. Our greatest concern with this setup was the relatively tedious process of creating new accounts and managing existing ones. Our Student Activities Information Technology team consists of two people (one programmer and one systems analyst), so ease of student organization site management was high on our priorities when choosing our upgrade path.

Having built dozens of personal web sites over the years, commercial web host management software and content management systems came to mind as an ideal combination that would allow our team to easily create and manage accounts, while giving our student organizations the power to build their own web sites with relative ease and a short learning curve.

Over the next few months, we worked out the details for a new infrastructure consisting of five virtual machines, with two SuSE Linux Enterprise Server VMs running cPanel/WebHostManager driving the web sites for almost all of the organizations.

At the same time, we were evaluating many of the popular content management systems, including Drupal, DotNetNuke, Mambo, and CMSMadeSimple. While each system excelled in delivering certain features, the overall flexibility and extensibility of the Drupal codebase and its vibrant community of theme and module developers led us to select it as our CMS of choice.

To test our new hosting infrastructure, we met with the leaders of some of our larger organizations and discussed setting their web sites up in Drupal and training their officers to maintain their sites. The student response was overwhelmingly positive, not only because their new Drupal sites required no software or web design experience to maintain, but because a quick 10-minute training session had given their entire officer team confidence to maintain the site without fear of taking a wrong step. With our tests producing consistently successful results, we concluded that our combined cPanel/Drupal setup would be ideal for our hosted student organizations.

Student Organization Online Management System

By Fall 2007, the process of creating and modifying web accounts for student organizations was consuming a great portion of our available time. With the new server infrastructure launching later in the year, we saw an opportunity to streamline this process by integrating it with StuAct Online, the new online student organization management system that was under development at the time.

The StuAct Online system was intended as a replacement for the Microsoft Access database previously used to track the recognition status of student organizations. As the system was developed, its scope quickly expanded into a comprehensive management suite that allowed organization advisors and officers to manage and track their groups online using their campus-wide "NetID" accounts.

Before the system launched in December 2007, a module was added to it that allowed it to integrate directly with cPanel's WebHostManager backend. With this module in place, organizations could log in at any time and view their account credentials, and requests for new space could be fulfilled just by the click of a button.

Distributed Drupal Installation Framework

The natural conclusion to this automated setup process was to expand its functionality to allow the Information Technology team to instantly deploy a pre-built web site to the organization's web space. While Drupal's codebase supported multiple sites, we needed a solution that would allow each group to continue to use their own separate accounts and to install whatever third-party modules and themes they wanted without interfering with other sites.

To solve this issue, an automated tool that could manage many separate Drupal installations from a single central system was required. Since no such tool existed at the time, we opted to integrate this functionality directly into our StuAct Online system. The solution we built required a few more steps than we originally expected, but proved to be a seamless and almost instant way of installing sites: a script that opens a directory containing pre-configured Drupal files, writes custom data for themes and database credentials, zips the folder contents up, uploads the zip file and a little extractor script via FTP to the destination, remotely calls the extractor script, then the install script, then a final script to set up the user account and extra modules (like TinyMCE and Webform). The entire process takes just a few seconds, and results in a Drupal site complete with one of our A&M-branded themes installed and ready to create content.

Additional Images

StuAct Online Web Accounts Panel: This is the page that organization officers see if their site is hosted on a cPanel server. The "Install Drupal" button at the top of the page links to the DrupalInstaller image. Currently, officers can only request a Drupal installation, and the actual install must be completed by IT staff to ensure organizations do not overwrite their own files in the process.

StuAct Online Drupal Auto-Installer: This page allows you to customize the settings of the Drupal site prior to beginning the install process. Once the site is installed, these settings can be changed by the organization from their StuAct Online organization profile at any time.

StuAct Online "My Drupal Site" Page: Once the Drupal site has been installed, organizations can visit this page to view their administrator login credentials, change their site's theme, and add/remove pictures from the rotating header present on some of the themes.

Example Themes 1-3

Key modules/theme/distribution used: 
Why these modules/theme/distribution were chosen: 

Individual Drupal Sites: Themes, Modules, Custom Code

All of our hosted Drupal sites are powered by a single theme, based on our department's own web site and the guidelines established by our campus-wide Branding Guide. Each of the variants of the theme (30 unique themes in 3 styles) feature the Texas A&M University primary mark in the top right and the organization name in the top left, and many also include a header image that rotates between images each time the page is reloaded.

The notable part of our setup isn't the ability to run one large powerful site but rather the ability to run and maintain a hundred simple ones. Therefore, while the number of modules we include in every site is low, each organization is empowered to expand their own sites to meet whatever specific needs they have.

For the sake of simplicity, the only modules installed by default are TinyMCE, a powerful and flexible WYSIWYG text editor which we install preconfigured with a set of buttons that play well with our CSS stylesheets, and Webform, which supports registration and feedback forms ranging in scale from two fields to dozens of separate sections.

We also enable the Upload and Path modules by default, and the default content types include supplemental instructions for steps that may otherwise seem difficult (like adding a page to the header menu or attaching an image). Clean URLs are enabled for all sites as well, and Full HTML is configured as the default input type to support the TinyMCE editor.

To support the distributed installation and management system, a small amount of custom code is used to store configuration variables, ensure that the administrator account's login information stays synchronized with other systems that use it, and restore default values if the organization somehow damages their Drupal site.

Team members: 
Drupal Installer
My Drupal Site
Web Accounts Panel
Example Theme 1
Example Theme 2
Example Theme 3