Welcome to ShooFlyBuzz, the company weblog. We use this space to talk about what’s happening with ShooFly, but more generally to talk about web design, the challenges we encounter, the tools we use, websites we like, and provide some training on the care and feeding of your own website.

If you want to send in feedback, leave a comment, send an email, or tweet @shooflydesign.

Or: how to avoid hours of banging your head against the wall.

This past weekend, I attended DrupalCamp LA 2012. It was great. I gave just one talk this year, running down modules and what they do like the Micro Machines Man, but it seemed to go well. More on the camp in a future post.


If you use Drupal on any kind of regular basis, Drush is your friend. It's a command-line utility available for all platforms (including Windows as of version 5!) that can do sometimes-seemingly innumerable tasks for you. I've been using it for installing, enabling, and disabling modules and themes; clearing the Drupal cache; and running code and database updates for years now, but that's just scratching the surface.


In Uploading WordPress Files from my introductory WordPress course, I showed you how to upload files using a file transfer application. There's one thing I forgot to mention explicitly: files that start with a dot might not be visible (by default).


In Running the Installer from my introductory WordPress course, I don't talk about situations you can get into where the installer won't run. There potentially many, and they can vary a lot with the different ways people can host a website nowadays, but today I want to take a look at one specific error:


Introducing WordPress - Learn By Video cover Late in 2011, I got involved with the fine video training company video2brain. They're based in Austria and offer a lot of software training, especially with Adobe products, but also WordPress, Joomla, and other goodies too.


I've been a member of the Drupal community for over six years. It was the first general CMS I felt struck a good balance of usability for me and my clients, and extensibility in a way that made sense to me. I could build a website to almost any set of requirements with it, and that was nifty. I've diversified since then, using WordPress on some projects and Drupal on others, but Drupal was the first one that stuck.


I had a really great time at DrupalCamp LA this weekend. It had been a couple months since I'd been able to make any of the community meetups, and it was nice to feel like a part of the community again.

It's been years since I did much (if I'm being honest, I think the right word is probably "any") presenting for more than one or two people at a time. Since I joined up with LA Drupal, though, I've been feeling the itch to get up and speak, so for DCLA I gave three talks. Here are links to the session pages, the slides, and the screencasts:

  1. The Power of Display Suite - Video / Slides
    This is an overview of Display Suite, a tremendously powerful and useful module for Drupal 6 and 7. This was one of the first presentations of the camp, and seemed to be very well-received by the folks in the room, and even remotely by the maintainer of the module! Thanks for Steve Rifkin for organizing it, and for the second half of the presentation. Unfortunately, I couldn't attend because of…
  2. A Bajillion Modules - Video / Slides
    Drupal has a ton of modules and themes available in the contributed repository. This presentation was part of the beginner's track, and gives a quick (especially at the end when I was running out of time) overview of a bunch of the good ones.
  3. My First Module - Video / Slides
    I think there are a lot of builders of Drupal themes who don't touch module development because it seems difficult. It certainly can be if you're talking about the big ones out there, but there are cases where writing a small, simple module is the way to go, and it's not difficult. This presentation goes over the basics.

I'm still catching up and recovering from the weekend's excitement, enrichment, and foolishness (the fun kind). Once I do, I'll probably post again with some reflections on and favorites of the session I attended. There was a lot of great stuff. Can't wait for next year!

(By the way, are you wondering if I'll ever update this website, maybe even turn it into a Drupal site? Me too!)


I'm using the jQuery plugin Smooth Div Scroll on a site right now, and it's filling my needs nicely. The site is built on Drupal 6, and SDS requires jQuery 1.5, so some jiggery-pokery is needed to get all the right libraries in the right places. Drupal 6 includes jQuery 1.2, and the Drupal 6 version of jQuery Update only takes that up to jQuery 1.3. I had to mess with my theme's phptemplate_preprocess_page() function to make it all work. I don't think this is a common enough problem to bother posting about my specific solution, but here's the code I started with.

Once I was able to get it working on the pages of interest, Smooth Div Scroll has done a fine job.

The goal is a gallery with a smooth, horizontally scrolling image carousel, with thumbnails below for jumping directly to certain images. Smooth Div Scroll does this very well using its "moveToElement" method. The only problem is a distinct lack of smoothness — it just jumps straight to the image instead of animating.

I was pretty sure this wouldn't be difficult to fix. On line 384 of the non-minimized jquery.smoothDivScroll file, there's this line:"scrollWrapper").scrollLeft("scrollXPos"));

Just like it says, it sets the scrollable area's left position to whatever it's supposed to be directly, with no animation. To make it animate, replace that line with this:"scrollWrapper").animate({'scrollLeft',"scrollXPos")}, 'slow');

Same thing, but with a "slow" animation. Nice!

I recently had occasion to book a hotel in San Francisco. I don't do a lot of traveling involving hotels, usually staying with family or friends I'm visiting wherever I'm going, so I don't do this a lot. This time, I found a nice-looking, affordable hotel, and planned to book a room online.

Their website had the usual thing hotels have, where they use an outside provider for the fulfillment of online reservations. A couple steps into the process, I got a little worried. The prices were good, but the form looked really homemade (not in a good way), and was requesting a credit card number over an unencrypted connection.

This is never a good idea. I called the hotel thinking I'd make the reservation by phone instead. I actually prefer to make reservations online if I have some assurance that the tech is good, because credit card numbers are usually stored in the target database encrypted, and have been requested over an encrypted connection, so it's very difficult to steal them. The person or company who created the web application can't even see them. That's the whole point.

It looked like this company was just taking the credit card numbers, storing them (maybe even receiving an email with the number in it saying "here, book this reservation" — yet another vector for security issues), allowing future lookup by the hotel. Or anyone else who's able to compromise the account and browse the database.

I asked about this on the phone, and the person working there told me that the web developer told them "if the site doesn't have the lock on it," meaning that the connection isn't secure and you don't see the lock icon in your browser, "that means people won't try to get in and steal numbers".

The mind boggles.

I didn't belabor the point since this person had only just heard my voice for the first time, I hadn't made a reservation yet (and wasn't going to — the phone price was more expensive!), so why should they trust me? Of course, if they believed what this web developer told them, maybe they would believe me, who knows?

I did book a room at the hotel, because it does look like a good one. But I did it through Priceline, where the connection is encrypted and I feel like there's a better chance the data will be stored correctly.

If I'm feeling pushy, I might try to talk to the management of the hotel while I'm there to encourage them to look elsewhere for their online reservation provider, or at least see if they'll consider the issues they're missing. And maybe ask their mysterious current developer (whose contact information is not available on its website, to which I'm not linking) to bolster the defenses.

I attended Drupal Camp Chicago at the beginning of December and had a great time. It was the first conference I've been to since CHI back when I was a graduate student at Carnegie Mellon's HCII. I don't go to many conferences because they tend to be so expensive, but at $25 for two days, Drupal Camp was the sweetest deal around. As they say on eBay, A+++++ WOULD BUY AGAIN.

My goal was to learn some new things, meet some of the people in the community, shake a few hands without catching the flu, and maybe try to answer some questions for people who are newer at this than I am. If there was a code sprint or some opportunity to help out with the upcoming Drupal 7, I thought I'd have a go at that as well. I was able to do all of these things!



Subscribe to ShooFlyBuzz