Here is the code from module I used as the working example in my "Intro to Module Development" presentation at BADCamp today. This is just a quick example of how to modify a Drupal form. It adds buttons at the top of your node edit form.
Sometimes Drupal is the best thing since sliced bread, sometimes it is a pain in the keister. The most painful moments are when you are trying to do something that you are sure will be simple, but ends up taking hours of trial and error.
One of the great things about Drupal is how quickly you can crank one out for a special purpose, like an upcoming event. However, you are then faced with the dilemma of what to do with that site after the event has passed.
In a classic case of the cobblers’ kids having no shoes, until yesterday starbowconsulting.com was still running on Drupal 5. With the Drupal 7 code freeze just days away, I figured it was time. Some of my hesitation stemmed from bitter memories.