Filled In Plugin

Nov 1, 2006 | Tags: , , , | Written by Administrator

Filled In is a generic form processing plugin that will validate and store data submitted through forms. You can use it for any kind of data input, from simple contact forms on a blog to full-blown questionnaires on a business site.

The basic features of Filled In are:

  • Customizable data filters and data processors
  • Central data storage, with exports to CSV and XML
  • Email reporting, with attachments and inline images
  • AJAX support (forms always work in browsers without JavaScript)
  • Built-in CAPTCHA support
  • Built-in poMMo mailing list support
  • Built-in file upload support

Read the history for a complete list of features.

Filled In is available in the following languages:

Installation

Installation is like any WordPress plugin:

  • Download filled-in.zip
  • Unzip
  • Upload the filled-in directory to /wp-content/plugins on your server
  • Activate the plugin

Note that if you are upgrading from 1.5 you will need to reconfigure your forms. As much information as possible is retained, but the configuration details of individual filters and processors are not. You are advised to backup your data before upgrading, just in case something bad happens.

You can find full details of installing a plugin on the plugin installation page.

Using Filled In - The Basics

Filled In takes an existing XHTML form and routes all data submission through it's own routines, providing you with a consistent interface for managing form validation, data processing, and data storage. In order to route data you give the form an ID that matches a receiving Filled In form name (as created in the Filled In interface).

Create a Filled In form recipient, giving it a unique name.

Edit Form Details

Create a form (or modify an existing form) and give the form element an ID attribute that matches the Filled In form recipient name.

Edit Page Xhtml

Look forward to a fully validated form!

Form Errors

Note that all messages and styles are fully configurable.

If you are unfamiliar with HTML and don't understand how this all fits together then don't worry, there are plenty of pictures and even a few movies that will hopefully explain everything. You can use any application you want to create the forms themselves (for example, Dreamweaver), and the only required action is that the form ID must match a Filled In form.

If you were paying attention to the above images you might have noticed that no action or method attribute was needed on the form. As long as the ID can be matched, Filled In will insert the required form attributes, making sure the form is fully functional.

Taking It Further with Extensions

Filled In provides a lot more than just being able to change form attributes. When a form is submitted, Filled In passes the data through several customisable layers. These layers perform all kinds of tasks from validating the data, to sending out email reports.

Layers

Each layer can have any number of extensions. Filled In comes with a selection of default extensions, and you can download or develop third-party extensions to perform any additional task yourself.

The default extensions are:

  • Pre Processors
    • Exclude/include fields - remove specified fields
    • Must be logged in/out - the user must/must not be logged into WordPress
  • Filters
    • CAPTCHA - add a CAPTCHA image to a field and ensure the field contents match the image
    • Checkbox/Radio - ensures a field is a checkbox or radio button
    • File upload - limit upload size and file type
    • Is Email - ensure a field contains an email address
    • Is Equal/Not Equal To - A logical equality comparison
    • Is Greater/Lesser - A logical comparison
    • Is Numeric - Ensure the field is a number
    • Is Required - Ensure a value is given
    • String Length - Ensure a certain number of characters are given
    • Word Count - Ensure a certain number of words are given
  • Post Processors
    • Send as email - send the data in an email with full templating, attachments, and inline images (courtesy of the super Swiftmailer)
    • Send to poMMo mailing list
    • Save to CSV - suitable for use with Excel
    • Save to XML
    • Save upload - move uploads into a directory of your choice
    • Login to WordPress - take submitted data and use it to login to WordPress
    • Register in WordPress - take submitted data and use it to register a new WordPress user
  • Result Processors
    • Display a message - simple give feedback to the user
    • Redirect to a post or URL
    • Redisplay input form - pre-filled with original data or empty

If a failure is detected on any layer then the progress of data is stopped, and a message displayed back to the user. Regardless of what happens, all data is stored, allowing you to not only review correct data, but to check what problems people have with a particular form.

The rest of these instructions will be based upon the concept of creating a contact form. Naturally you can adapt the details to any kind of form you want.

Further documentation

You can learn more about using Filled In by reading the documentation or the SDK. Details on certain extensions can be found on the extensions page.

Support

Please direct all support questions to the Filled In support forum. Any support questions left on this page may not be answered.

Bugs & New Features

Date Current outstanding bugs Status
09 Mar 2008 Creating CAPTCHA filter not working
06 Sep 2008 Downloading attachments
14 Nov 2008 Filled-in and MS Windows Server Installation

A full list of all bugs can be found in the Filled In issue tracker.

Date Current requested features
10 Nov 2008 WPMU support

A full list of all requested features can be found in the Filled In feature tracker.

Share This

Comments (page 5 of 13)

  1. author
    LK :

    Jun 29, 2007 1:18 am

    Thanks for sharing this great plugin!

    Any chance a future version will include the ability to build the individual forms? The folks I work with aren't very comfortable even cutting and pasting basic HTML code.

    Here's an example of what I'm thinking:

    Right now, when you edit a form, you are presented with the options to set the extension options (pre-processors, filters, post-processors, result processor).

    How about instead adding fields and setting options on each individual field. Here's a sketch of how the editing screen might look:

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    FORM EDIT
    - name
    - quick view
    - special options

    FIELDS
    - name of field
    - field type (text line, text box, email, upload, etc.)
    - field values ("First name", "Add me to your mailing list", etc.)
    - filters to run on this field (email, is greater, is required, etc.)

    POST PROCESSORS

    RESULT PROCESSOR

    CUSTOM OPTIONS
    - submit to top of page
    - custom submit code
    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    Of course, you'd need to use a tag system like [form="contact"] to place your form on a page.

    Thanks for taking these ideas into consideration!

  2. Brett :

    Jun 29, 2007 12:45 am

    I am using Filled-in 1.6.7 with Wordpress 2.1.3. On the Manage.. Filled In .. Forms page, I get the following error:

    WordPress database error: [Unknown column 'type' in 'where clause']
    SELECT * FROM wp_filled_in_forms WHERE type='form' ORDER BY name ASC LIMIT 0,25

    Anybody know how to fix this?

  3. Croco :

    Jun 28, 2007 12:20 pm

    Hi there! The plugin is great. However, I can't add any extensions. Each time I click on the 'add' button, nothing happens except that I'm directed to the top of the page that I am on. I have WordPress 2.2.1 installed, the Filled In plugin is the only one enabled so far, and the form is processed without problems. Only the extensions that make this a problem...Any idea? Isn't the plugin WP 2.2.1 ready?Thanks!

  4. author
    andrabr :

    Jun 11, 2007 6:16 pm

    I have posted my extension (Post-Processor) "Send as Email (If...)" here: http://n0tablog.wordpress.com/my-wordpress-plug-ins/plug-in-for-a-plug-in-send-as-email-if-for-filled-in-for-wordpress/

    Enjoy!

  5. John (author) :

    Jun 11, 2007 1:50 am

    Hi Andrabr,

    The 'to' field should already be configurable. For example, if you have a field 'email' in your form then entering the 'to' as '$email$' will send the email to the value entered in the form.

    One of the features I have planned for a future version is conditional logic for all filters and processors. This would be very similar to your email extension, but applied to everything else and allowing you to create logical requirements before a filter/processor is executed.

    I have no problems with you putting it on your blog.

  6. author
    andrabr :

    Jun 6, 2007 4:11 am

    John,
    I have sinned. Horribly. Mea culpa!

    I have derived from your code, and created a new extension - an "email if" post-processor. It is a (slightly) creative merge of "email" and "if_equal" extensions.

    The idea is to make it possible to route emails to different destinations depending on field values: you just specify several email _if post-processors with different destinations (and templates) and different conditions [on the downside, even if a submission "falls through the cracks" because of this, it is still considered successful]

    So, now I need to get it into your hands for approval and posting - I would not just put it up on my blog, since 96% of the code is yours anyway (although I bet that at least 50% of sweat and anguish are mine :-)
    Drop me an email, let me know how to proceed.

    Thx!

  7. author
    andrabr :

    Jun 6, 2007 12:21 am

    John,

    sorry it took me a while to answer your question. The conflict in your admin.php is with "Themed Login and Register" plug-in: http://www.jameskelly.org/wordpress-plugins/custom-login-and-registration-forms-plugin/

    One could argue that you provide all the functionality necessary to replace it with Filled-in... yet who needs one more project? ;-) [ I just used Filled-in to replace my old contact form plug-in and with all the formatting and fiddling it took a couple of hours.]

    I notice that the email template still mentions "To" filed as being configurable by template while in fact it is not...

    It would be extremely useful to be able to send "conditional" emails, as in "to different addresses based on field values". This could be done in the email post-processor, or in the template processor, or even as a "Filter" branch... - just think about it! I will give it a try tonight, but if my meager PHP powers fail me... you will know it by the follow-up silence ;-(

    Oh, I just upgraded to 1.6.7. Very nicely polished!

  8. Tim Philippi :

    May 22, 2007 6:24 pm

    Sweet thanks for the update and the notification that it was available.

    The form with multiple uploads work!

    Kudos to you!
    Tim

  9. Tim Philippi :

    May 4, 2007 6:50 pm

    Is it not uploading multiple files?

    For details
    http://www.pimpyourtalent.com/image/

  10. Tim Philippi :

    May 3, 2007 7:01 pm

    oops, the link would help too, huh?!

    http://www.pimpyourtalent.com/upload

Leave a comment


XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Home | Software | Terms & Conditions | Sitemap | John Godley © 2008
Close
E-mail It