Blog

Feb 11 2011 - 12:51am
Skills: DrupalTags: GIT

Last night the Portland Drupal User Group had a coordinated series of lightning talks about the migration of Drupal and its contributed modules and themes from CVS version control to GIT version control. It is pretty amazing how many star Drupalists are located right here in Portland and making such a major community contribution. A few things are particularly exciting about this change:

  1. I get the impression that with GIT's handling of branching and merging/rebasing, if I start using it I might actually use branching. With Subversion, I don't really create code branches at all...but I have always had the impression that branching is part of how version control ought to be used.
  2. Everyone with a drupal.org account will get a sandbox on drupal.org for committing code without making it an official contributed module. Thus, it gives people a place to play with code ideas. It also reduces the barrier to entry to contributing your own module: once you have a project in the sandbox, you can apply to get it promoted to contributed module.
  3. Eliza411 has pushed to get excellent documentation for using GIT with Drupal on the web site...this will further reduce the barriers to entry. Yay!
Feb 2 2011 - 2:59am

Met a bunch of designers and developers tonight at the first of what I hope become monthly happy hour meetups. There were some truly hilarious people there. Things now on my radar after hearing about them at the meetup group:

Jan 11 2011 - 3:05am

The other day, I ran into an old friend and colleague of mine, who told me that an unfinished site on which he was working showed up in Google search results. Fortunately, he was able to remove the entry from Google's search index after submitting a request to Google, but I imagine his client was disappointed by the situation and unhappy while waiting for Google to process the removal request. My friend was surprised that the site appeared in Google's index, because he had set up his robots.txt file to block search engines from the site.

Learning the hard way

I can't claim any moral high ground on this issue; I made a similar mistake years ago on one of my first professional web projects. I wrongly assumed that, if there were no sites linking to the development copy of the site on which I was working, search engines would have no way to find and crawl the development site. Wrong! I got a nasty surprise when my client sent me an angry e-mail asking why his half-complete new site was showing up in Google. I had to rush to send a removal request to Google, check several other major search engines to confirm that they had not indexed the site, and apologize profusely to the client. Fortunately he forgave me, and the development site dropped out of Google's search index.

Nov 21 2010 - 6:14pm

This tutorial demonstrates one way of setting up an audio player for a page with multiple audio clips. The end result is the following.

Rain and thunder
Elevator door
Door handle creaking
Applause
School bell

Here's a little background on what led to this solution. Some time ago, I was asked to build a small site that included dozens of audio clips on one page. The client suggested I base this site on an existing site of hers that also had a page with dozens of audio clips. Visitors to the site could play different audio clips by clicking on a play button for each clip. The play buttons for the clips were laid out in a table similar to the one depicted below:

Table of audio clip play buttons

Nov 21 2010 - 4:59pm

This site, like many personal projects, is a work in progress. I created this site as a long-overdue replacement for my first portfolio site, which lived at danobrienmuzyka.com (domain now redirects here). I built this site in Drupal 6 because Drupal is now my favorite content management system / development framework. I came up with an elaborate scheme for organizing the data in this site, which includes not only blog posts, portfolio pieces, and annotated links to recommended external resources, but also a resume in which each bullet point is a separate content item (node), put together to form job descriptions, which are in turn put together to form the resume itself. I broke down the data to such a granular level in order to expose specific pieces of the resume to the searching and browsing functionality.

Speaking of search, I also used this site rebuild as an opportunity to experiment with Drupal's Search Lucene API module, which uses the PHP port of the Lucene search engine. The faceted browsing capability provided by Lucene particularly interested me, and I tried to take advantage of it by setting up facets for browsing by tag, skills used/required/taught, and content type (blog post, portfolio piece, external resource, etc.).