A blog by the Brick Factory The Brick Factory

Five Nifty Drupal Modules

We have used Drupal as our primary platform to build web sites since 2007.  It is a robust content management system that allows us to develop powerful websites.  While it has a lot of capability out of the box, one of the most attractive things about Drupal is the wide variety of modules available that add functionality to the system.  Below are five nifty modules that we have used.

1. Draggable Views

We commonly use the Views component of Drupal to display a collection of a certain type of content in an organized fashion.  There are various ways to sort content: alphabetically, publication date, popularity (as dictated by the comments, page views, etc.), and other criteria.  However, we had a client for who such sorting was not helpful.  Further, there are several pages on their site in which they had to manually dictate the order of content in the view.  With a little research we came across the Draggable Views module that allows site admins to use their mouse to drag and drop content where it should be.  It is very handy.

2. IP Login

For another client, we had to place downloadable files into a secure folder – meaning that only users with member roles could access the files.  That in itself is not too complicated, but in addition to the client’s members, we also had to provide access to these files for people at certain organizations.  The client provided ip address ranges for the organizations.  To meet this need, we created a role that only granted access to the applicable files.  Then we created user accounts for each ip address range.  The IP Login module allowed us to automatically log users in coming from those ip ranges for seamless access.

3. Hide Submit Button

We set up a groups site for a client.  However, we ran into an issue; some of the users are impatient when they hit submit buttons.  Thus, they would hit the submit button.  Before the process finished, they would hit the button again.  This would result in duplicate submissions of comments, in this case.  We used the Hide Submit Button module to display an image indicating to the user that their submission is still being processed.  It further disabled them from hitting submit again until the process completed.  One of the cool things about this module is that the site administrators can designate which pages this behavior occurs.  This module was a quick fix to a problem.

4. Views Bulk Operations (VBO)

VBO may not be a “sexy” module, but it is handy.  It is mainly geared toward development work when it is not uncommon to make the same change to a vast number of pieces of content on a site.  This can be used in many ways.  When a site was deluged by tens of thousands of spam comments, we used VBO create pages with many more items listed on each page.  Instead of deleting 50 comments at one time, we were able to delete tens of thousands all at once.  The process took over an hour to complete, but that beat deleting 50, waiting, and then deleting 50 more.  This is just one use for this time saving and frustration preventing module.  However, be careful, because you can also screw up a lot of content; so be sure that what you’re doing is correct.  (Needless to say, we love CAPTCHA when it comes to web forms.)

5. Search and Replace Scanner

Like VBO, this is not a very sexy module.  However, it has come very useful for us.  We were tasked with porting over thousands of static pages from a site into Drupal.  We had our programmers develop a spider program to pull out the content into a csv file so that we could import it into Drupal.  However, there was still A LOT of clean up to do, and we soon realized that we came across a lot of common fixes.  This is where the scanner came in.  It was very helpful.  Having said that, like VBO, you have to be careful since you can definitely goof up a site badly if you’re not careful.  I remember pestering our systems team to back up the database a lot while using this module.

Note that the availability of these modules for various versions of Drupal (5, 6, 7…) will vary.

Five Inspirational Digital Campaigns

I’m happy to say we’ve been pretty slammed here at the Brick Factory, so there hasn’t been much time for blogging lately.  But I did want to quickly share some cool digital campaigns I’ve come across the last few weeks that inspired me (or more accurately, that I want to rip off in some way).  Here goes.

(1) 2015 Quilt > live project


Developed by One.org, 2015 Quilt let’s visitors add a panel to a virtual quilt as a way of support ending AIDs by 2015.  Executed in a way that really encourages exploration.


Five Common Web Development Pitfalls and How to Avoid Them

As a firm that builds things online, we often talk to potential clients that are unhappy with their current development partner.  Usually the break ups are amicable and there is a logical explanation for the change.  Fresh ideas are needed.  Requirements have evolved.  Personalities just don’t fit.  But sometimes the client is angry and feels let down.  Timelines weren’t met.  Budgets skyrocketed without explanation.  The work product was buggy.

Having worked in digital for 10+ years now, I’ve been on both sides of the situation.  I’ve been the guy poaching the work and I’ve been the guy that let the client down.

The truth is building things is hard and it is inexact.  No matter how talented or hard working or well intentioned you are, you are going to screw up sometimes and piss off a client.  It will happen.  To shed some light on the client-consultant dynamic and how things can go wrong, following is a list of the five most common complaints I hear people make about their web development partners and the steps we are taking at the Brick Factory to avoid having these complaints made about us.

(1) Lack of responsiveness

I can’t tell you how often people come to me complaining that their client representatives simply don’t return their calls or emails in a timely manner.  This just baffles me.

Consultants are in the customer service business.  When a customer calls or emails you, you need to get back to them as quickly as you can.  If a request is simple, just do it right away and be done with it.  If it will take time, acknowledge the request and let the client know you’ll get back to them.  People want to be acknowledged.  Silence is often interpreted as apathy, or even an act of aggression.  Being responsive will preempt a lot of problems.  It is amazing how many firms/people don’t get this. (more…)

Five Fundraising Tips from the charity:water September Campaign

From a fundraising perspective, one of the great successes of the last few years has been charity: water.  In five years the organization has evolved from a lean startup charity into a fundraising juggernaut that has raised millions online and provided potable water to an estimated two million people. 

The organization just rolled out its annual September campaign, which is their big fundraising push each year.  While charity: water clearly has more resources at its disposal than the average non-profit at this point, the fundamental set up of the campaign is something that any organization should be able to replicate. 

(1) Set a goal and a timeline.

The goal of this year’s September campaign is to raise $1,200,000 by the end of September.  On their site they include a real-time counter showing their progress in the campaign.


Setting clear goals like this and showing progress helps to make donors feel invested in the campaign and creates a sense of community.


Using the geo.position meta tag

When we recently released an updated version of our SEO Basics white paper, we added information about the geo.position meta tag.  Using this tag allows webmasters to let the search engines know where the organization is physically located by providing longitude and latitude data. 

This is a useful tool for location sensitive organizations, but it is not as helpful to all organizations.