Forms are a fundamental part of many websites. Think of how many times you see forms everyday; like email subscription signups, questionnaires, contact form, guestbooks, event registrations, and so many more. Most forms require special code called "PHP" to receive the form data and send it to where it needs to go. Unfortunately some web hosting companies have very poor PHP support. This means you may not be able to use some of the form addons available for RapidWeaver. Form reliability is of paramount importance - a lot of website users won't tell you if your forms break!

So the Formulate stack was invented. The idea being that Formulate provides the basis to quickly construct attractive and accessible web forms in RapidWeaver, using drag and drop components. However rather than "chaining" you down into only using one type of form submission, Formulate gives you the choice of many.

If Formulate is configured to use Formbucket or Formspree, Formspark or SheetMonkey, the contact form data is sent through to one of these services. From here, you can either login to read the messages sent or have the messages forwarded onto a normal email address. And unlike a conventional PHP form, the email address messages are sent to does not need to be an address managed by the hosting company - you can just as easily have messages sent to a free Gmail, Outlook or Yahoo email address of your choosing. Or assign access for a client to login and view their messages. This really is quite a ground-breaking stack!

Formulate is perfect for quick and simple contact forms. It is not intended as a replacement to more heavy-weight and feature-rich solutions, like FormsPlus. However there are enough input types and customisable options offered in Formulate to help build any basic form. Formulate was primarily designed for users of ThemeFlood RapidWeaver themes (with Bootstrap support) but a custom styling option exists if you want to try and bend this stack to work with other themes and frameworks. A free trial version if provided for download.

Example

This is a quick example showing the type of contact form Formulate can be used to create. This form is in 'test mode', so it will not send any actual messages in the current configuration. Note that the submit button only becomes active, once all mandatory (*) inputs are completed.
 
Please choose an enquiry type from the menu, that best describes why you are contacting us today.
5
* Required fields
 
In this example, the form was constrained to a maximum width of 800px using the free UsefulStack and the box shadow effect is achieved with the free Shady stack.

By default, Formulate is designed to be styled by a theme that includes Bootstrap. However there is a checkbox option that will let you set some custom styling for use in other themes. Parameters like the label colours, borders, rounded corners and submit button colour can be quickly amended. And as with many of our other stacks, there is additionally a huge amount of customisation feasible with custom CSS code.

Setup

Formulate is easy to get working in most webpages. In essence you can follow these steps:
  1. Once installed into Stacks and RapidWeaver, open your Stacks Library (on a Stacks page type).
  2. Drag and drop a copy of Forumulate into the webpage.
  3. With your mouse or touchpad, click the blue button to add input types to your form. Formulate supports lots of traditional form inputs and some much newer HTML5 input types. Each input type has its own settings.
  4. Give every input a sensible label (this is shown to the website user) and a unique name (shown in emails and form processing).
  5. Select the main Formulate stack to configure how and where messages should be sent. Some other options are also provided to customise the labelling of the form, your submit button and custom styling.
  6. Publish or export your website when done.

Online form processing services like Formbucket or Formspree, Formspark or SheetMonkey, require that you sign-in and setup an account on their websites first. Then you are given the appropriate keys or IDs, to use in Formulate. Each of these services have different costs and features available, so it's well worth researching them carefully to choose the one you think works best for you. Formulate does not include membership or technical support for these form processing services; the license fee for Formulate only covers support and updates for the Formulate stack itself.

If you like Formulate, but don't like the idea of sending form data to a third party, then another option is to use either the GET or POST submission types. These send your form data to another page or a script you can write to process the data. Obviously this does require suitable technical "knowhow" and coding to get working. But carries the advantage of letting you truly unlock your form data and do practically anything with it. Stacks like Builder could come in handy. Paid help is also available for coding and testing custom form processing scripts.