Today we will talk Form API. The API allows to expand your Drupal installation with highly extendable and secure forms. In this particular post I will show how to create a multi-step survey with file upload ability. Form API is part of Drupal's core and there's no need to download it.

To make it easier to implement multi-step forms we'll use Chaos tool suite, an additional set of API's made to further streamline developing.

All code will reside in a custom module. For the purpose of this tutorial let's call it multi_step_form.

We’ve got Drupal development environments at the push of a button. We’ve got remote server setups with automated scripts, hourly and daily backups of everything we could need and a swanky dashboard to monitor it all. But still, the holy grail of the Drupal workflow eludes us. The holy grail, in this case being a completely code driven development process.

Time Sheets in Open Atrium

Codi — May 27th ’10

Fuse recently released Time Tracker for Open Atrium. Time Tracker allows us to track time for cases and with the accompanying feature we can then report on the time entries for projects by group member (or all members), for any time span we wish. This has been an excellent tool and has made Open Atrium a more complete project management system for us.

Simple theme colour picker

Codi — March 19th ’10

Have you ever woken up in the middle of the night with a sudden urge to change the header colour of your Drupal site? Us neither, but one of our recent clients felt that they might and we wanted them to be as prepared as possible. At first we were going to go the color module route. Crafting some transparent png's and coding up some bits and bytes to make it all work with the theme we had already built.

Ajax is becoming a standard, oft asked for feature in our Drupal sites. Clients like it because it makes their sites look 'slick'. We don't like it because it causes a few PITA's especially when it came time for us to integrate with Drupal's FAPI (Form API). Not so anymore. After needing to dig in and make a couple custom AJAX modules for a clients site, we got pretty familiar with the ins and outs of what is appropriately called AHAH. Now we're sharing it with you.