Kevin's Blog

All blog entries reflect the opinions of the author and have not been expressly endorsed by the Ivan Allen College of Liberal Arts or the Georgia Institute of Technology.

Drupal Blocks and Contextual Menus

Submitted by Kevin on

All blog entries reflect the opinions of the author and have not been expressly endorsed by the Ivan Allen College of Liberal Arts or the Georgia Institute of Technology.

Time for a tech-heavy post about making Contextual Menus work even better for blocks generated by a custom module.

Why does this matter?  If your block is displaying information pulled from elsewhere in your Drupal ecosystem, it's very helpful if your site's content manager can easily get to the content that drives that block.  Otherwise, it becomes the guessing game of "Where did this content come from?", especially when months or years have passed since the module was built.

The real beauty of this technique comes when you have a number of custom module-generated blocks on a landing page, and you can then hover over that contextual menu on any of them and jump right to the data source. Suddenly, maintaining the data on that page has become ten times easier than it was before.

WordPress Faculty Profile Module

Submitted by Kevin on

All blog entries reflect the opinions of the author and have not been expressly endorsed by the Ivan Allen College of Liberal Arts or the Georgia Institute of Technology.

One of my recent adventures has been trying to build a WordPress plugin to display faculty profiles pulled from our college's Faculty / Staff Directory Service.  This has been quite a wild ride, as I came into this knowing nothing about WordPress plugin development, albeit I'm a very experienced PHP coder and have been writing Drupal modules for several years now.  It also turns out that there's no straightforward way of porting my faculty/staff profile Drupal module over to WordPress, so below I'm going to attempt to document the hoops I jumped through to make this work.  If you are on-campus or on the VPN, you can see an example of the plugin in action here:

  http://pwp-dev.gatech.edu/webdev/bio/

Next Generation Faculty Profiles

Submitted by Kevin on

All blog entries reflect the opinions of the author and have not been expressly endorsed by the Ivan Allen College of Liberal Arts or the Georgia Institute of Technology.

Perhaps one of the biggest challenges I've faced in assessing and planning the rebuilds of several Ivan Allen College (IAC) school websites so far is the need to provide faculty profiles.  The challenge is that this is much more than just a simple biography page these days - faculty and administrators want a lot of intricate details about their work posted, including listings of publications and courses taught.  You also have the issue of instructors with appointments in multiple schools, who traditionally end up with multiple profiles that never stay in sync.

Adventures in Photo Galleries

Submitted by Kevin on

All blog entries reflect the opinions of the author and have not been expressly endorsed by the Ivan Allen College of Liberal Arts or the Georgia Institute of Technology.

One of the things I've always dreaded about putting together a website these days is the request to have a photo gallery in it.  Yes, you can add modules to Drupal to give it something akin to photo gallery capabilities, but I've never tested anything that really worked well or offered the features of a stand-alone system.  So, with six school websites on my plate for redevelopment over the course of this year and next, I decided it was time to figure out a way to really integrate a stand-alone photo gallery system in with Drupal and the Georgia Tech theme in a neat and tidy way.

Alternate Ways of Handling Mercury News and Events

Submitted by Kevin on

All blog entries reflect the opinions of the author and have not been expressly endorsed by the Ivan Allen College of Liberal Arts or the Georgia Institute of Technology.

In my quest to simplify the back-end designs for the new websites I'm building for the Ivan Allen College, I knew early on that I'd have to tackle the handling of news and events.  Since the advent of the central Mercury news system, news and events have been traditionally pulled into campus websites in one of two ways:

  1. Import news and events into nodes using the Feeds XPath Parser, then format the nodes, typically by using Views
  2. Use the slightly newer 'Turnkey' option that polls Mercury to update a local cache and displays news and events in a standardized row-based format via a Drupal block

The trade-off has been that the first method gives you more programmatic control over the display of news and events (without having to code anything in PHP), while the later is much easier to setup with less overhead, but also with less flexibility in the way news and events are displayed.