February 2008

Druplash and Druplex at DrupalCon Boston 2008!

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!

Drupal Dojo Credits Animation

Now that I'm on the lookout for ways to contribute back beyond writing documentation and use cases for SWFAddress (which we're working on in hopes that we'll get to give our Boston DrupalCon talk,) I took a look through the DROP queue yesterday, and saw one relating to creating a credits video for the Drupal Dojo sessions.

I thought this would be a great way to combine a little After Effects skill-building with a contribution back to Drupal. I ended up not using any After Effects, but instead GarageBand, Soundbooth, and Flash for the animation. I also took advantage of a fantastic new CS3 feature - Export to Video. Hit the Read more link to get a look at my first draft for the Dojo outro.

Flex and Remote Objects: Using the Same Remote Method For Different Purposes

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.

DrupalCampWI and Beyond: Joining A Community

As Brian's previous post says, we've had this idea for Druplash (which means Drupal, Flash, Services/AMFPHP, and most importantly SWFAddress) since last spring. We've both been involved in Drupal in the last several years. Brian got an earlier start, and I was first exposed to Drupal through Kevin Reynen's vision for its use at Bradley University.

A Flashy presentationBrian and I get ready to deliver the first incarnation of our presentation on Druplash/Druplex.

My feelings about Drupal are probably best expressed through a comment that webchick made in IRC last weekend, which I will poorly paraphrase here, "Whenever I have a website project, I look at how I can fit Drupal to it."

Drupal's an amazing project, and you get so much with an install of Drupal - user and role management, a very secure login system, the flexibility of using theme functions to easily change output, using locale to translate parts of the user interface you want to change, and FormAPI, which I have just started working with over the past two weeks.

I bring this up because Brian and I had both been using Drupal for at least a year and a half, yet we hadn't really jumped into the community yet. Brian had gone to one Central Illinois Drupal meetup which I couldn't attend due to a musical engagement, and we'd each submitted a patch or two: I did an exceedingly simple patch to Services, and Brian submitted some new functionality back to WebFM.

Regardless, DrupalCampWI would really open my eyes to how vast the Drupal community is and how I could take part.

SWFAddress Module for Drupal Unleashed

Tonight, Steven Merrill and I committed and released our first beta version of SWFAddress.module for Drupal 5.x. We demo'd an early alpha version at DrupalCampWI a few weeks ago and Steve has been hard at work shoring it up for release.

Steve and I came up with the concept for Druplash and Druplex (what we call Drupal powered Flash and Flex sites) about a year ago and have just been toying with them ever since. We recently got ourselves in gear when Steve needed to build a new portfolio (link coming soon) for his future career as an opera singer.

Using the great SWFObject and SWFAddress javascript libraries and the Services and AMFPHP Modules for Drupal, we figured out how to build full Flash and Flex experience sites which degrade nicely to full HTML underneath for SEO.

Dreamweaver, Drupal, and Teaching Students How to Build Websites

There has been a bit of a buzz going around the Internet the last few days or so about Amy Gahran's post on Dreamweaver being taught to students at an unnamed J-School. Her stance, and she's been backed up by joshb and Ken Rickard, is that Dreamweaver is a poor tool to teach journalism students in their online journalism classes and that teaching students how to use content management systems like Wordpress or Drupal would be better.