Civic Actions recently posted their Estimating Worksheet, a tool to help generate project proposals from Request For Proposal documents (RFPs). It's awesome that they are sharing this tool with the community (under CC Attribution Share Alike 3.0 license) and I would like to thank them for doing so.

The tool is a fairly complex spreadsheet which is quite well done. The worksheet approaches proposal generation in a similar fashion to the process we follow at Raincity Studios (my day job). It's not hard to imagine that a similar method would be used at other Drupal and non-Drupal software development shops.

The worksheet provides a structure for the breakdown of the information contained in an RFP into digestible tasks. Consequently, it becomes easier to attribute values to each of the site components such as work areas (like theming or engineering) and to estimate the time required to complete the tasks. The end goal is to generate an information set that helps define the scope of the project, attribute a monetary value to it, and generate documentation to be submitted to your potential client.

The rest of this article assumes that you have a basic familiarity with proposal generation, project scoping, and production management. Furthermore, some of the terms used may sound cryptic if you haven't yet had a peek at Civic Actions' Estimating Worksheet.

I have been meaning to write about this topic for a while now. All the bits have been waiting for the right moment to be assembled. For several years, have been working with the Conseil scolaire francophone de la Colombie-Britanique (BC Francophone School Board) in developing and maintaining their job board application (https://emploi.csf.bc.ca/). I know, I know, it doesn't look very innovative from the outside, but there are some very useful admin tools in the back end. It's true, I swear.

As the site is built for francophones, all the content needs to be available in French. I have put together a simple step-by-step recipe for module creators and translators who need to have their site in a language other than English. Even if you have no immediate need for a translation of your module, providing a translation template will allow other contributors to create their own translations. Note that this recipe is Drupal 5-specific but doing this for Drupal 6 would be very similar.

If you are like me and spend many hours per day interacting with the world-out-there-via-the-web, you surely have developed preferences in the way you like and expect these interactions to take place. One simple example of this is returned search results and more specifically domains that have high ranking and yet little use for one's circumstances.

I was looking today at validating the commit 146806 to the hosting_site.module from anarcat. And so, I decided to take a look at the specification and come up with my own version of the pattern to see how it compared to anarcat's.

The first link that shows up in my autocomplete browser history when I type “dr” is http://drupal.org/node/321. There is a very simple explanation for this. This is the node I refer to when I need the CVS checkout command (the “download” command in CVS speak), that allows me to obtain a particular version of a Drupal contributed project (i.e. a theme or module). This is the line that I look for on that page: