San Francisco State University's switch to Drupal and promoting Drupal to California

  I first heard of Drupal in 2007, but it wasn't until February 2008 that I would give it any thought. At that time, I began a process to help the Division of Information Technology at San Francisco State University choose a Web Content Management System. Notice, this was just for the central IT site and not for the entire university. As you can see from this Drupal timeline Drupal 6 was not yet available, and so I tested out 4.7.x and 5.x versions. It quickly became apparent that 5.x was the way to go, though there was much frustration to be had with the installation and configuration process. So, I kept Drupal in the running along with the other systems we were evaluating, but it was temporarily on the back burner. I wasn't the only one with trepidation towards it, a co-worker had this criticism towards it: 

"Sad story is just, that Drupal won the award for best open source CMS ... personally, I do not have a very high opinion of Drupal at all, I used it 3 years ago, and found it complicated and a mess to maintain; not to mention the limiting factors because of the use of PHP."

Of course I had my rebuttals to that at the time, chief among them was combating the idea that PHP was somehow worthless. I still have not quite figured out why certain developers have such a distaste for it. Personally, I started out with QuickBasic as a teen, a bit of LISP at an artificial intelligence camp, then a class on C in college, then a class on Visual Basic, then learned HTML and Javascript, then some C++, picked up some PHP, tried Ruby and didn't like it, also tried Java and felt like I needed a team of ten people to develop with it, then some Python, then some C#. What do I actually use most of the time nowadays? PHP. It is easy to learn, easy to implement, and often fits the bill. It has stood the test of time, and is run on some of the most trafficked (Facebook.com) and most prestigious (Whitehouse.gov) web sites around. However, I digress. The point is, you can see here where his suggestions are today in traffic to their distribution points vs. Drupal:

Just in case you can't tell, that's Drupal dwarfing the pack.

So back to the switch, reviewing notes it seems I was already considering user experience at the time: 

"I am a bit troubled though by all this talk of getting a new CMS without talking about the more important points of how people currently do things, what are people going to be capable of doing (for instance should we assume that many content creators are capable of more than just copying and pasting from Microsoft Word), how will standards be enforced...etc... "

Now, remember this was solely for central IT's websites, and not for the entire university, at least at the time, but I think my boss and I knew we would be branching out, as I can see now looking back at this post I put on drupal.org, questioning to wait for D6 to get moving or go with D5:

"I am a short time frame for some small immediate results needed, but I have a long-term time frame towards getting a lot of sites in a a CMS, so it is hard to decide what to do. On the one hand, I need a 'quick fix' to get something up, so running 5.x would be good for doing that with the modules I need, but on the other hand, I'm going to be running a LOT of sites through this framework, so I don't want to have a big hassle upgrading at some point."

We ended up implementing D5 and eventually moving to D6. The timeline gets mucky here and things got so complicated on trying to figure out what I was doing  that I decided to make my own Drupal timeline. Note that Drupal was not my full time job until around October 2009. Prior to that I worked on many projects at once. 

  • February 2008 
    • First Installation (Ran away screaming)
    • University releases standard web template XHTML + CSS compliant
  • April - May 2008
    • Define requirements and test many WCMs: Plone (not enough community, though was a close contender), ezPublish (couldn't produce a VPAT on accessibility cause too small a shop), OpenCMS (another close contender however didn't fit our needs well), RedDot (They never even responded to a request for information which was a sure sign of fail), Joomla (didn't meet accessibility very well), etc.
    • Here are some of the requirements we had: "
      • 508 Accessibility compliance
      • RSS Alerts
      • Review/Workflow
      • Group collaboration
      • Access controls
      • "Moderator" features to capture/review/hide and publish content
      • Preview
      • Comment features
      • E-mail notifications
      • Polls
      • Spreadsheet
      • Document Sharing/Management
      • Available NOW
      • Tags
      • Feeds
      • High Availability
      • Manage DoIT Website
      • Publish content to web server
      • End-user content publishing in university template
      • Deliver content to the university portal
      • We also got a list (at that time) of WCMs that some campuses were using. (Note that now almost all of these campuses are using Drupal in some fashion):

        • CSU East Bay - Hannon Hill Cascade Server
        • CSU Chico - Hannon Hill Cascade Server
        • CSU San Marcos - Hannon Hill Cascade Server
        • Center for Distributed Learning - WebGUI
        • Cal Poly Pomona, Div. of Student Affairs - Dreambox
        • Cal Poly (SLO) - Hannon Hill Cascade Server
        • SJSU - WebCMS (custom build of OpenCMS)
        • CSU Bakersfield - Rhythmyx by Percussion
        • CSU Monterey Bay - Ingeniux
        • CSUCI - Serena Collage
        • SDSU - Dreambox
  • June 2008
    • Decided on Drupal and put in test implementation
    • Implemented Subversion (If you are not using Version Control, you should be)
    • Got a windows box and hosted Drupal using XAMPP
    • Float the idea of using Web services (this becomes important later)
  • July 2008
    • Hashing out the design, architecture, and implementation
    • Write some scripts to try to handle exporting Drupal nodes to static .html files to put on a web server due to requirement that web pages be hosted on a server with redundancy which we did not have for Drupal at the time. These scripts eventually became the Save to FTP module that I maintain on Drupal.org
    • Had meetings to discuss information architecture and design of new site (remember that a migration process is never just about moving html around, but usually is a whole redesign and restructure). 
    • Created second Drupal install for CSU Policy review
    • Set up another Drupal site as a blog for dean of College of Business
    • Developed custom Drupal theme based on University template
  • August 2008
    • Lots of work on establishing roles and workflows
    • Established another Drupal site, IT Security Blog
  • September 2008
    • Signed up for Acquia beta and tested it out
    • Explored Oracle and possibility of running Drupal on it (since our central IT is an Oracle shop) 
    • Had argument with chx in IRC over him banning hswong
    • Found that Drupal would not run on Oracle (7.x should though, doubt we will ever go that route though)
    • Also explored Sharepoint. Decided document and project management goes to Sharepoint, web content goes to Drupal 
  • October 2008
    • Start collaborative project with Creative Arts and Academic Technology to create an online community site in Drupal "SF State Visioning"
    • Work hard to make accessible Youtube and Flickr integration
    • Connect with Twitter, Youtube, Flickr, Second Life, Facebook
  • November 2008
    • Integrate Drupal sign-on with LDAP directory using the LDAP integration modules
    • First contact with Sameer Verma (http://opensource.sfsu.edu) who later became a key partner in pushing Drupal to the campus
  • December 2008
    • Set up comment mail and messaging modules for handling comments on University system-wide IT and security policies
    • Figured out an accessible implementation of jCarousel
    • Suffered through the infamous patch update that broke all Drupal 5.13 sites running on PHP 5.4, next day update to 5.14
    • Moved Drupal off a Windows server and onto a Linux box and onto PHP 5
  • January 2009
    • Made test Drupal site for California Death Blind Society on campus
    • Created more internal Drupal sites for IT Policy and Security 

Oh man, just getting through a year was tough. Ok well you will just have to wait until the next post for the past year's worth of Drupal goodness and how we went from one Drupal site towards a campus wide implementation. That big break came in September of last year, and things have been moving breakneck speed forward with Drupal ever since.

 

 

Comment using an existing account (Google, Twitter, etc.)