Discover cascadingStyle

Web Development

Busy Summer

Steve and I have been insanely busy this summer so far and so we've been very quiet here lately. We are going to try to change that with some posts about what all we've been up to (when we can talk about it).

We have both been neck-deep in Drupal for the past several months. Most recently, I've been writing some custom modules and working on integration with the SMS Framework module to build a really awesome prototype system for a project here at the MIT Mobile Experience Lab. We'll be running our prototype tests later on this summer and I'll write more about what we're doing then.

A few weeks ago, Steve and I organized a Drupal BootCamp here at Bradley University that went very, very well. About 40 people attended. Steve and I tag-teamed the morning sessions on how to get started using Drupal to build a simple website, step-by-step.

Since the Campaign for a Bradley Renaissance has now been officially opened, I can start talking about the gala kickoff event, which Bradley's Multimedia and Theatre programs collaborated on to produce.

I took point on a good deal of the interactive portions of the night: alumni text messaging onto the big screens, an interactive "Bradley College Bowl" quiz app that pitted tables against one another to answer BU trivia, and some apps to display photographs that were being taken and delivered to us behind the scenes with WiFi. We also built a special iPhone interface that showed photos being taken at the event and so that iPhone users wouldn't have to use SMS messages to participate.

Coming up this Friday, April 4th, 2008, the Central Illinois Drupal Meet Up Group in conjunction with the University of Illinois Urbana-Champaign is hosting a Drupal Boot Camp on UIUC's campus. If you have heard of Drupal but never used it, feel burdened by the learning curve, or are just interested in learning more about Drupal, this is the event for you! Did I mention yet that this is FREE?

We're back from Boston DrupalCon 2008 and busy catching up with everything else. The site that I'm using this technique on will launch soon, but I wanted to share it now. Also, check out my Technorati Profile!

Drupal's Image module provides you with a pretty no-frills image gallery out of the box. In a site I was recently building, I wanted to present large imagery, but my main content column inside the site was somewhat cramped, and so I decided that some sort of Lightbox / Thickbox effect was in order to present the images to the user.

Luckily, with two extra modules and changing a single line of template.php code, you can get your gallery up and running with Lightbox.

Today was Steve's and my presentation on how to build content-managed Flash sites using Drupal. I'd just like to say thanks to everyone who came out and for the great questions. We've posted our slides as a PDF up on the session page at the DrupalCon Boston site and you can download them here as well.

It's official, Steve's and my presentation titled "Druplash and Druplex: Content-Managed Flash and Flex sites powered by Drupal" has been accepted at DrupalCon Boston 2008. We'll be presenting on strategies to create easy-to-maintain Flash and Flex sites which degrade nicely for iPhone and mobile users and maximum search engine friendliness using the Drupal content management framework.

The presentation will contain an overview of historical problems with 100% Flash websites, how with a variety of popular free toolsets most of these problems can now be overcome, different ways to get dynamic data into Flash and Flex, how the Web Services layer of Drupal makes it really easy to get data into Flash and Flex, and show some demo sites we've been producing.

Steve and I are both really excited to be heading off to our first DrupalCon and to even be presenting there!

There are a lot of really great tutorials out on Drupal.org and Adobe's sites which describe methods for using Flex with Drupal through Services and AMFPHP. (For a list of some tutorials, I'll post references at the bottom of the post) Remoting in Flex is super easy with the <mx:RemoteObject> but the one thing I noticed with all of the tutorials is that they all describe just one way of using RemoteObjects and Methods to get data from Drupal.

Imagine, if you will, that you have built a super awesome Drupal site heavily using the Views module. Now you want to tap into all of that data to create a Flex application, whether it's a new Druplex front-end for your entire site or maybe just a simple management tool.

Drupal Primary Menus with Better Active Trail

Sometimes you are using Drupal's built in Primary and Secondary menus and you'd really like that primary menu item to stay "active" on a secondary page. Drupal's default behavior for the primary links is to add classes along the entire "active trail" of the primary links menu with classes such as this:

menu-1-2-1-active

This is great, but if you already have made an "active" class for your nav elements, there would be a lot of style repitition to apply it also to all of your active trail classes, not to mention you'd need to add a new style definition anytime you added something to your menu. Not fun. Luckily, it's simple to override the default Primary links theming code to add the class "active" to all links in your active trail!

jQuery, Drupal and Navigation

jQuery's an amazing tool. You can accomplish great things with a single line of JavaScript. Here is one such snippet from a site I am working on for Bradley University. You can use this snippet to improve your navigation's usability.

Well-designed web navigation should tell you three things:

  1. Where you are
  2. Where you came from
  3. Where you can go from here

Depending on the theme you choose, Drupal does a decent to good job of highlighting the active menu trail for you so that you can add in an extra graphical effect. Most themes do so by adding the .active CSS class.

There are some snippets out there that can assist you in making your theme friendlier in this regard: many of them involve adding a custom theme_links() function.

At the end of the day, though, there's still some things that could be done better. I subscribe to the school of thought that says that active menu items should not be clickable. After all, if you have a custom .active CSS class, you can style the active menu item to show the user where they are. You should not give the user the ability to click the Home link if they're already on the home page.

Syndicate content