Recent Blog Posts

Greg's picture

Drupal module selection in the enterprise: lists and processes

We are driving ourselves crazy, folks. Choosing modules is really hard. And it's only getting harder on enterprise Drupal sites (and enterprise just means big teams and with big sites with big requirements).

A recent conversation on twitter started by Drupal rock star Katherine Bailey shows how module selection on a big site can drive you crazy:

So, today I'm going to lay out some ideas I've found for reducing the madness: choosing good modules both as an individual and as a member of an enterprise Drupal site. Of course the enterprise practices build on the set of guidelines for an individual site builder. I'd love to get feedback on other techniques people have used for module selection in big team, big site, enterprise environments.

Module selection best practices

  1. First, identify your need and try to be as generic as possible. If you say "Building an event system" you may skew your results toward the Event module when what you really need is some combination of Date, Calendar, Views, and Signup.
  2. Next, search around for modules that match what you need and look for recipes and tips from blogs or groups.drupal.org. This is often where you will find great advice on which is the best module to choose. Try the similar module review group which is an amazing resource.

Greg's picture

Drupal Security Report: Connect with Fans, Reason to Sponsor

Recently our company worked with partners and sponsors to create a thoroughly researched, high quality document about the state of security in the open source Drupal project. You can download the report from DrupalSecurityReport.org, but right now I want to talk about the motivations, the audience, and the funding model behind the report because we feel that we've solved a tricky problem: funding expensive work in an easily copied medium (PDF downloads). We decided to try a variation on Techdirt's strategy to "Connect with Fans and give them a Reason to Buy".

This report was something that my colleague Ben Jeavons and I had wanted to do for a long time, but we couldn't fund it entirely from our own company resources. The target audience for the report is people who are considering Drupal and we didn't feel that they would be willing to spend money purchasing the report.

Connect with Fans

Fortunately, we have built up an audience among people interested in Drupal Security. Last fall I did a security webinar for a few hundred folks leveraging Acquia's webinars. Our blogs are directly read by a few thousand people interested in Drupal and are syndicated to over 20,000 readers readers interested in the topic. We've also done several presentations on Drupal security.

So, with a purpose and some fans in tow, we turned to business contacts we've made over the years to see if they could help with funding.

Reason to Sponsor

Based on discussions with them, our sponsors were motivated to sponsor the report based on three major ideas (and one sub-idea).

  1. They sell Drupal in the enterprise space and are often confronted with questions about security and don't have a good answer. They wanted something they could point to.

Greg's picture

What content is HOT on my site? Drupal's Radioactivity module to the rescue

Earlier this year we supported the IxDA in launching a new version of their IxDA.org site. One of the many interesting new features of this site is the ability to sort content by "hotness". The goal of this tool is to create a list of interesting content on the site. Their analytics show them that most people who are involved in the site visit it at least twice a month. So, they wanted a system to highlight content over the last two to three weeks. Enter the radioactivity module.

Radioactivity Module for Drupal

The Radioactivity module works on the concept of adding energy to a piece of content which then "decays" (or diminishes) with a particular half-life. The exact behavior is up to the site administrator, but on IxDA.org we originally set it up with values roughly similar to:

  • Posting content adds a lot of energy so that the hotness favors recent items.
  • Commenting on a post adds some energy
  • Voting up adds a bit of energy, voting down subtracts some energy
  • Favoriting a post adds some energy as well

We've got a few other elements that affect energy to help offset any potential gaming.

We set the half-life for decay to 15 days. So, if a piece of content gets posted and 3 comments and 2 vote ups and 1 favorite with 100 views on the first day it will have about 500 units of energy. If it gets no new energy, it would decay down to 250 units of energy after 15 days, and then down to 125 after 30 days and so on. Eventually the energy and decay are really small and for efficiency the module simply deletes all records with less than 2 units of energy.

Extending the Radioactivity Module


Greg's picture

Contributors to Drupal.org CVS since 2000

One measure of the momentum of the fine Drupal project is the number of people who are creating contributed modules on drupal.org.

The Drupal contributed projects are stored in a system called CVS and data about that is stored in some database tables that keep track of each change by each person. At the request of some fine folks who are working on important things, I got interested in the idea of the trend related to people committing code to the drupal.org CVS server. Here is the data graphed by the number of committers per month. It is not the number of commits, which would show how active those people are, but the number of people which shows how big of a group of people is doing this work.

Also, this is only about the contributed module and theme area and not about Drupal core. Drupal core commits are done by a very small group of people after that small group reviews the code contributed by hundreds of contributers. So, this really shows activity of the non-core projects.

Contributers to drupal.org contributed module repository

I've labeled 4 points on the graph.

1. 2006 through Drupal 5.0 slump

Point 1 shows a peak at June of 2006 followed by a slow down until the trough at August of 2006 and then some small increases until December of 2006. Then there is a huge increase in people in January and February of 2007 which is also when Drupal 5.0 was released.

2. 2007 Follows a similar contribution trend


Greg's picture

Ubuntu cron Isn't Running? Some things to check:

I had some issues where cron wasn't running the scripts that I had placed into /etc/cron.hourly nor /etc/cron.daily and I spent a bit of time trying out different things to figure out how to fix it. Here are some of the things I fixed. I think the problems were, in fact, not all present but several were which meant every time I thought I had it fixed I would come back later and see it was still wasn't running.

An Extension on Your Program Name in /etc/cron.*/

Cron has very specific rules about file names. In fact, those rules are:

same naming convention as used by run-parts(8): they must consist solely of upper- and lower-case letters, digits, underscores, and hyphens.

So, don't put a period nor file "extension" on those files.

Cron Scripts Inherit A Limited Environment

Unless you've added information to the top of your /etc/crontab, the environment for the user that runs cron jobs will be very limited. All commands and shell scripts should be prefixed with the path (i.e. "/usr/bin/mysqldump" instead of "mysqldump"). Specifically state the shell at the top of the file.

Make Sure The Jobs are in /etc/crontab and Cron/Anacron are installed

Just because you're using "Ubuntu" doesn't mean it's the same Ubuntu that you're used to. Make sure that appropriate jobs have been added to the /etc/crontab file. It's possible that cron/anacron won't be installed on the system. If not, try:

sudo apt-get install cron anacron

Make a Basic Script and Check the Cron Log

Depending on your system this may be in different places, but for me it was in /var/log/syslog. If that isn't helpful, try adding debugging statements to different scripts to make sure they are running and test different assumptions along the way. You can also try creating a script that will get executed first ("aaa_test_script" is my favorite) and make it do something really trivial like

echo $PATH > /tmp/cron_path.txt


Greg's picture

Get a Druplicon Hat: CertifiedToRock score of 6 and tweet about it

We've got a few exciting announcements here at Drupalcon. Two of those are related to a new site we launched yesterday, CertifiedToRock.com.

Woven Druplicon Hats

We got some beautiful hand-made, wool Druplicon hats from Peru with the help of my good friend Fernando Garcia (develcuy) and the artisans that his lovely wife Nancy works with. Now we're ready to give these hats away - for free - but of course there's a catch ;)

Webchick and Vauxia in Druplicon hats

Certification for Drupal with CertifiedToRock.com

We've built a super simple (and yet, we think, still valid) certification for Drupal users based on their involvement with the Drupal project. It's located at CertifiedtoRock.com where you can enter a drupal.org username and see the corresponding certification level of that individual. Learn more about CertifiedToRock.

certified to rock screenshot for webchick

If you want a hat, tweet a link to your score with @certifiedtorock and we'll hook you up if your score is 6 or higher. After noon on Wednesday we'll be giving out hats to anyone with a score of 5 or higher.


Greg's picture

Example Sprint Burn Down Chart: Excel, Google Spreadsheet, OpenOffice.org

I've written about the Burn Down Art site before. One unexpected result of the site is that people are visiting it based on a variety of different search terms and a few aren't getting the data they really need.

Template Burn Down Chart - Excel, Google Spreadsheet, OpenOffice.org

One thing that a lot of people have been looking for is an example or template version of a burn down chart that they can use for themselves. I won't claim that this is the best chart, but it's simple and it works pretty well.

A couple of suggestions:

  • It counts your stories and sets them for number of stories to burn down
  • It will count the days in your sprint and decrement the expected stories remaining row by that amount
  • There is a row to show how to add a story mid-way through the sprint
  • Some people like to add more columns to the raw data showing the priority and the status
  • Some people like to add formatting to the 0/1 cells to show when it became a 0 as a more visual indicator on the data sheet.

Regarding the Google Spreadsheet - I created both of these documents using Google Spreadsheets and then exported them. But there's no way for me to share the current burn down spreadsheet from Google Docs to the rest of the world to use as a template. Bummer! However, you can import either of the attached documents and it will work just fine. Enjoy!


Greg's picture

April 4th D7CX Sprint: Upgrade contrib to Drupal 7 at GVS Office

The D7CX movement is based around the idea that while it's really important that we launch Drupal 7 by finishing off the critical issue queue it's also enormously important that we have our many contributed modules ready to go the day that Drupal 7 is launched.

Drupal core is an amazing piece of software, but Drupal core without the many wonders of contributed modules and themes is nowhere near as much fun.

GVS Hosts D7CX Sprint Day

So, April 4th we are hosting a D7CX Sprint Day here at our office. We will provide power strips, internet, coffee, camraderie. You should bring your laptop, and some skills in testing out and upgrading Drupal's contributed modules. The sprint will run from 9:30 AM until about 6:00PM - but you are welcome to show up for any part of that time.

Some possible tasks:

  • Rewriting documentation for Drupal 7
  • Helping to write simpletests so that contributed modules can benefit from a test-driven-development cycle much like core has benefited from it
  • Creating patches for the modules and themes to work with the new api.

Folks will be available to help provide instruction in checking out code with cvs, rolling patches, and posting responses in the issue queue.

Some people on hand with specific module experience


Greg's picture

Better Screencasting with Screenflow Pro

Nearly four years ago I created my first screencast about using iCal calendars in Google Calendar. At the time I used Wink (free) which is a fun tool and has some interesting features, but it's also a bit limited and time consuming to build the videos. Then I started using Camtasia from TechSmith (~$800), which is also a decent tool but is only compatible with Microsoft and isn't particularly fun to use.

Life with iShowUHD Pro

When I moved to a Mac a year ago I started using iShowUHD which costs $30 or $60 (I went for the $60 version) but has a lot of different options that are pretty confusing. I used iShowUHD to do a few short screencasts and then used it to record a live webinar so that we could share the webinar after the fact. It's impossible to redo a webinar - you've got people on the line who don't want to call back in, etc. And unfortunateley, iShowUHD failed to record the video. The audio was recorded fine, but the video stopped working after 10 minutes. I mailed support, upgraded to a newer version and the problem persists. So, I decided to look around for alternatives.

Screenflow: Screencasting Nirvana

I tried out the demo version of Screenflow ($100). The interface is drastically simpler than any of the other tools. It records everything and lets you zoom, rotate, re-arrange, etc. in its editing tools. The editing tools are perhaps one of the best features. They are enormously simple and yet very powerful. I've long wanted to do slow-motion and fast motion in iMovieHD, but it's simply not possible (this depends on your version of MacOS/iLife).


Greg's picture

Happy Birthday, Drupal! For 2010 GVS Celebrates with stamps

As you may know the 15th of January is the birthday of Drupal. Dries has done crafts and posts about the celebration of Drupal in the past like the cake he made for the fifth birthday). This year we decided to create some stamps for the Drupal birthday.

Start: Monochrome Miniature Druplicon

miniature monochrome druplicon

As web developers and designers we get spoiled by the ability to make something really big and high resolution. The world of printing and stamps is a little different: stamps can really only do one color and they don't handle thin lines very well. That's exactly what the miniature monochrome Druplicon was made for. We originally used that Druplicon for our business cards but it works perfectly for stamps as well.



Syndicate content

Featured Team Member

Lisa has a passion for making sites more usable and has a broad background in information design for the web.

Drupalcamp Colorado

We had fun at Drupalcamp Colorado!

Drupalcamp Colorado

We Wrote the Book On Drupal Security:

Cracking Drupal Book Cover

We were at Drupalcon San Francisco

See the videos now: