There’s always something to howl about.

Building an even more universal Universal Contact Form

I’ve talked before about the idea of a software universe — where the set of actions possible in a given software configuration is so large that you can come up with tools and techniques never anticipated by the developers.

We went through this last fall when we started playing with WordPress Multiuser — and I ended up with my “featured listings” database running out of two Scenius scenes.

I’ve been enthralled all week with the idea of web-based forms that can talk to — and drive — my Heap database. I want to revise every form we have to work the Heap way, and I have a zillion ideas for a zillion new forms.

In consequence, today I rewrote my Universal Contact Form for the fourth time.

What I wanted was something I could use in many circumstances, in pursuit of many objectives, without creating one-off, manually-edited versions of the form.

For one thing, I want to play with “Gooder Group”-style ideas in a big way, and that will require a bunch of unique forms. So I built a form that I could make unique by editing parameter files, rather than by editing and re-editing PHP code.

Here are the major changes:

1. Any headlines or text setting up the form are now outside of the form and are your responsibility. The form begins with the anti-spam disclaimer and ends with the “submit” button. Everything else is up to you.

2. The behavior of the Heap-specific initialization file now includes optional menu-selected landing pages. Kudos to Scott Cowan for this wonderful idea.

3. The form behaves differently based on the contents of the Heap-specific initialization file.

4. It is now possible to invoke custom configurations of the form via the calling URL.

5. I added optional source-tracking.

Taken altogether, this change to the Universal Contact Form permits you to create as many unique variations of the form as you might need.

But: That’s all just chatter. Let’s see it in action:

Register here to get your own copy of the newer, even more-universal Universal Contact Form

< ?PHP include("http://www.bloodhoundrealty.com/UniversalContactForm.php?action=Register&source=BHB"); ?>

Play with it. Work with it. Let me know if you can break it.