If you follow this blog you know that I’ve been working on a Drupal project most of the spring. The project was a redesign of the OCLC Developer Network site using Drupal. Like any redesign lots of people contributed to the project, so a big thanks to my colleagues at OCLC who participated in the redesign process, especially the design group who created the look and feel of the site.
I did the majority of the Drupal work. So, I wanted to share with some of the cool Drupal things I learned working on the project and what gooey Drupal goodness we’re taking advantage of.
First, the CCK and Views are at the heart of the site because without them we wouldn’t be able to create our structured content like the Application Gallery or list of code libraries. Two essential modules that extend Views which I’m using are Calendar and Views Custom Field. Calendar builds in nice calendar of Events that is part of the site. Via Views Custom Field I’m able to write custom PHP code to do conditional display of fields within my Views. Without it I’d have to theme my Views more. Something which I’ve done but I’m not as comfortable with as I’d like. This makes it a whole lot easier.
ImageField and ImageCache power our application screenshots and thumbnails. Making uploading and resizing easy. In order to pull in videos we’ve posted to YouTube and other sites we’re using Embeddable Media Field. Thanks to the Rules module we know when developers add new content to the site.
Some modules the site leverages that I’ve never implemented before?
- Organic Groups
I’ve heard a lot about Organic Groups before and seen it in action on ALA Connect and the Drupal Groups site, but I’ve never used it. We’re using it to provide sections of the site devoted to the discussion of particular tools and topics.
This modules let’s you keep a bibliography. We’re using it to have a list of publications related to OCLC web services that we can link to.
This was the best new module I found working on this project. I’ve always wondered how people handled different blocks appearing in different sections of their site. The Blocks management part of Drupal frankly is extremely weak for this. With Context you can define site sections and tell which blocks to appear where. You can also define what the active menu is and set theme variables.
- Menu Breadcrumb
This module lets you create the Breadcrumb trail from your menus. So you can have the breadcrumbs mirror a particular piece of site navigation.
A rating module that lets you allow users to rate content. You can also use it to create a CCK field for ratings that only privileged users can add data to.
- CAPTCHA and reCAPTCHA
We’re using these modules to prevent spam. The thing I like best about them is that I can turn off the CAPTCHA if a user is logged in.
- Cache Actions
This module adds the ability to refresh the cache or part of the cache as part of Rules. So I can cache the heck out of the site and only refresh it if content is added or updated.
- Chat Room
This module provides chat functionality within Drupal. I’ve implemented and were planning on using it at the Boston Mashathon next week to provide Chat Room functionality at the event.