Application
    development
         is the
    union
         of
 creativity & logic.

Drupal and Web Development Blog Entries

February 18, 2011

One of the best features of the Drupal theme system is the concept of sub-themes, which allow you to inherit a parent theme's style and selectively override design properties. In fact, the top two most popular themes on drupal.org are base themes specifically intended for this purpose. Perhaps the most powerful aspect of this feature is the limitless number of sub-themes you can chain together, all building on (or modifying) their inherited parents.

January 25, 2011

I am assisting in the search for a Drupal developer for one of my projects.

We are seeking a mid- to senior-level Drupal 6 developer to help finish and launch an application which lists Horse show events and allows for online registrations and payments. This is an entirely new application for a start-up company based in northern Virginia; this is an exciting opportunity to be a part of a totally new concept and to contribute to decision-making and overall success of the project.

October 14, 2010

Drupal content forms have a field in the Publishing section labeled as "Promoted to front page". This is a convenience feature that allows you to easily mark nodes to appear on your site's homepage, but you may not necessarily want to manage your content this way. It's easy enough to change the default for this in each content type's administration form, but how can you ensure that nodes are never placed in this state?

Here is a very simple process for D6 to ensure that no nodes, or only those nodes that you specify, are Promoted to front page:

April 14, 2010

Drupal has a great built-in caching mechanism that can significantly improve your site's performance, particularly for anonymous users. Once enabled, Drupal will automatically cache entire page views, on top of the automatic caching it does for menus, site variables, and content that has been filtered. Like most other aspects of Drupal, the caching system is extensible and is fully available to your custom module. There are two key aspects to learn for this technique: the Cache schema and the Cache API.

April 2, 2010

Yesterday, I responded to a forum question about CSS changes not appearing on a Drupal site. The user was frustrated that their updates were not appearing, even after clearing both their browser's and the Drupal site's caches. The subject of my response was "Start with Basic Troubleshooting" and it caused me to reflect on how this is one of my favorite questions when interviewing technical candidates.

There isn't a coder or administrator alive who gets everything right, the first time, every time. Invariably, all of us need to troubleshoot somethin' that just ain't workin' quite right. In mind my, a competent and seasoned professional has a good troubleshooting methodology as a result of experience; therefore, I consider this a critical question for almost any technical position and have been continually amazed at some of the responses I get.

March 31, 2010

DrupalCon SF 2010DrupalCon SF 2010
I've just registered to attend DrupcalCon SF in San Francisco. This will be my first big Drupal event, as I've only attended local meetups before.

I've already setup my profile and chosen the sessions that I plan to attend. I very excited to get to meet lots of great Drupalers, learn a TON about Drupal and just generally have a good time.

The event is amazingly cheap for a conference - only $220 for a ticket for 3 days which includes full...

March 30, 2010

One of the irrefutable needs for any website is, of course, hosting. Your choice of hosting provider can play a big part in the success of your site; presumably, you want your site to enjoy maximum uptime and you rely on your hosting provider to ensure its reliability.

A fair number of website development companies will happily provide hosting services, yet you should steer clear of this insidious trap. While it is OK to consider an independent hosting provider that your development team recommends, it's highly inadvisable to actually pay for your hosting through the development company for three primary reasons.

February 28, 2010

I recently responded to a Drupal forum question about adding a simple, visual progress bar to a website. While there are plenty of libraries for sophisticated graphing, since the user had a simple problem I proposed a simple solution based on just a little HTML and CSS.

The user wanted the value of the progress bar to be based on a number stored in his Drupal custom content type. So, I had him create a new theme file named “node-project.tpl.php" and add code to pull out the value and create a two DIV set. The outer DIV is the progress bar container, and the inner DIV displays the progress value.

Since you can’t directly program CSS, the solution uses an in-line style element. While normally you strive to avoid using these, in this case we are limiting its use to controlling only the width of the inner DIV; we will control all over attributes in the CSS, where they belong.

Note that the PHP code includes checks of the...

February 24, 2010

I was reading an article today about common mistakes in writing JavaScript when I got to the section on comments and it reminded me of a technique I developed early in my career and that I teach to junior developers.

I write my function's comments first, before I write any code.

February 11, 2010

Disclaimer: I have no affiliation with or endorsement from TurboTax

As a career-long applications developer, I tend to have a critical eye when I'm using systems of almost any kind. For example, national retail chains all have different forms of electronic payment keypads for debit-card purchases, but they vary widely in their usability. Noticing little things like color-coded choices (I'm a huge fan of green for "yes" buttons and red for “no" buttons) reminds me that somewhere, sometime, a human made decisions about how the interface would be designed. I suppose you can tell something about the team that designed an interface by its usability and overall quality; the output reflects their collective aptitude.

This year, as in several (though not all) years past, I prepared my taxes using the online version of TurboTax. Once again, I walked away duly impressed with the entire experience. From the pre-sales information...