<< ALL BLOG POSTS

Forms in Plone - PloneFormGen vs. Formstack

|
October 7, 2014
Table of Contents

When displaying forms in a Plone site, you can choose a hosted service like Formstack, or go with a Plone add-on like PloneFormGen. Let's take a look at how each of these options work from the perspective of a marketer or content creator.

Formstack

Any hosted form application like Formstack will require you to go to their website to manage your account, create your form, and collect your data. Once you use their site to create the form, there are typically several options to embed the form on a webpage on your site. Some organizations and marketing departments might find this easier or be used to it. With online services like Formstack, you can use Zapier to trigger actions on other systems when a form is submitted. Formstack will cost you $40-$250 per month depending on the plan you choose, whereas PloneFormGen is open source and free.

Formstack Builder

Formstack has three options for displaying a form embedded into a site: JavaScript, Lightbox (which also uses some JavaScript), and an IFrame. By default, Plone's visual editor strips out <script> and <iframe> tags to keep users from entering malicious code. If your site only has a couple of admin users, this shouldn't be an issue. However, before you do this make sure it won't cause any security concerns. These tags can be allowed by following these simple steps:

  1. Go to Site Setup > HTML Filtering
  2. Remove any instances of script and iframe from Nasty Tags and Stripped Tags
  3. Add script and iframe as custom tags
  4. Save

Now when editing a page, you can click the HTML button for the body text, and paste in the code from Formstack. I find this works best with the Javascript and IFrame forms.

PloneFormGen

The most popular form product for Plone is PloneFormGen (PFG). It allows forms to be added to Plone by following steps that Plone users are already used to and it keeps everything within Plone.

PFG Pros:

  • Forms are built directly within Plone.
  • No embed codes (you don't have to do the HTML Filtering steps).
  • Allows for any type of form field, similar to Formstack's blank form builder.
  • Any sensitive data stays on your server, under your control
  • One less system for your team to have to deal with
  • You are supporting open source
  • Your team can modify the code to extend PFG and fit your needs
  • There are add-ons for PFG that help connect it to other systems
PloneFormGen Builder

PFG Cons:

  • PFG does not come with Plone, so it needs to be installed. This will require a sysadmin or developer. Most likely it is already installed though.
  • Some setup is not as straight-forward as Formstack, and almost requires some training.
  • Not as easy to hook up to third party sites like payment processors or email providers like MailChimp without a developer.

Formstack also provides a way to review your data online including displaying graphs of the results of your form. With PloneFormGen the data must be downloaded in a .CSV file that can be opened in Excel or another program to look at the results.

Conclusion

If you need a simple form in your Plone site, with the results sent to an email address or csv file, it's best to use PloneFormGen. You'll likely prefer PloneFormGen if you are a long-time Plone user or have the right people on your team to customize PFG to your needs. If the form needs to be hooked up to another site for payment or customer management, Formstack is a great option that makes it easy for end users to build more advanced forms on their own.

If forms are central to your Plone site, make sure to take a look at both and pick the solution that is the best for what you want to do with the data, and how technical your team is.

  • Are you interested in this topic?
  • Would you like to see step by step how to use PloneFormGen or Formstack in Plone?
  • What is your preferred setup for managing forms?

Let us know in the comments.

Related Posts
How can we assist you?
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.