PloneFormGen

A through-the-web form generator for Plone

Project Description

Introduction

This package provides a generic Plone form generator. Use it to build simple, one-of-a-kind, web forms that save or mail form input.

Repository for this add on is at https://github.com/smcmahon/Products.PloneFormGen. A documentation area is at http://docs.plone.org/working-with-content/managing-content/ploneformgen/ and an issue tracker at https://github.com/smcmahon/Products.PloneFormGen/issues

Please use the Plone users' mailing list or the #plone irc channel for support requests. If you are unable to get your questions answered there, or are interested in helping develop the product, contact Steve McMahon: steve@dcn.org.

Travis CI badge; if you break it, you fix it.

1.8 Notes

PFG 1.8 is intended for use with Plone 5+. If you're using Plone 4.1.x-4.3.x, choose PFG 1.7.x. PFG 1.6.x targets Plone < 4.1.

collective.js.jqueryui is no longer required. If you've migrated from Plone 4.x and no other package is using it, you may uninstall it.

Known Issues

  • Export/Import is not yet working;
  • The ReCAPTCHA config form is primitive.

Overview

PloneFormGen is a generic Plone form generator using fields, widgets and validators from Archetypes. Use it to build simple, one-of-a-kind, web forms that save or mail form input.

To build a web form, create a form folder, then add form fields as contents. Individual fields can display and validate themselves for testing purposes. The form folder creates a form from all the contained field content objects.

Final disposition of form input is handled via plug-in action products. Action adapters included with this release include a mailer, a save-data adapter that saves input in tab-separated format for later download, and a custom-script adapter that makes it possible to script simple actions without recourse to the Zope Management Interface.

To make it easy to get started, newly created form folders are pre-populated to act as a simple e-mail response form.

Dependencies

Plone: Plone 5.0b2+

Requires PythonField, TALESField and TemplateFields from Jens W. Klein's ScriptableFields bundle: http://plone.org/products/scriptablefields/ (automatically loaded if you install via Python package).

Encryption of e-mail requires the Gnu Privacy Guard, GnuPG, also known as gpg. See README_GPG.txt for details.

CAPTCHA support requires either collective.captcha or collective.recaptcha. See README_CAPTCHA.txt for details.

Installation

  • Just add Products.PloneFormGen to the eggs section of your buildout configuration and run buildout.
  • Restart Zope.
  • Go to the Site Setup page in the Plone interface and click on the Add/Remove Products link. Choose PloneFormGen (check its checkbox) and click the Install button. If PloneFormGen is not available on the Add/Remove Products list, it usually means that the product did not load due to missing prerequisites.
  • If necessary, use the PloneFormGen configlet in the "Add-on Product Configuration" section of Site Setup to customize the product for your site.

Permissions

Site managers may control the visibility and availability of many PloneFormGen functions by changing permissions for user roles. A control panel configlet controls role/permission associations for the portal root. For an explanation of how PloneFormGen permissions map to form folder and form field fields, see improvement proposal #3, Provide ways to hide advanced options from classes of users: http://plone.org/products/ploneformgen/roadmap/3 .

Security

As shipped, only managers may use TALES expressions to override defaults and validators. You may wish to add additional roles, but keep in mind that this is a potential security risk; it basically gives the same powers as scripting or skin editing.

History

PloneFormGen has been continually updated since Plone 2. The maintainers are proud it's still maintained and reliable, but it should not be used as a good example of a current Plone packages. It contains too many historical layers.

Credits

Archetypes has been ruthlessly mined for concepts and functionality.

Form and field icons are scavenged from Martijn Faassen's Formulator, and were edited only to add transparency to make them look a bit better on the add items menu.

The mail adapter is basically a tailored version of PloneFormMailer, minus the Formulator adapter machinery. Thanks to PloneFormMailer's authors, Jens Klein and Reinout van Rees for this code and for continual assistance since the package's introduction.

Pierre-Yves Landure provided tremendous help with the i18n machinery. Sebastien Douche and Pierre-Yves Landure provided the French translation.

Martin Aspeli's RichDocument has provided an invaluable reference, particularly in how to handle installation and testing issues.

Martin Aspeli, Wichert Akkerman, Eric Steele, Jens Klein and Reinout van Rees all provided valuable early feedback.

Titus Anderson provided the base code for the Ratings-Scale Field. Andreas Jung contributed the record-editing feature for the Save Data adapter.

Fulvio Casali, Alex Tokar, David Glick, Steve McMahon, Jesse Snyder, Michael Dunlap, Paul Bugni, Jon Baldivieso and Andrew Burkhalter all did amazing things at the December 2008 PFG sprint sponsored by OneNW. Special thanks to David, for the CAPTCHA work, and Andrew for export/ import.

Thomas Buchberger provided the initial CAPTCHA field implementation.

Maurits van Rees has been a co-maintainer for the 1.7.x and 1.8.x series. David Glick effectively has been co-maintainer for versions 1.2.5 through 1.7.x. Thanks, Maurits and David!

Nenad Mancevic (Manca) added the widget toolbox and dramatically enhanced the quick edit mode for his Google Summer of Code 2010 project. Thanks to Manca and Google!

Alec Mitchell, Nathan Van Gheem and Eric Steele provided vital assistance with the Plone 5 update.

See the CHANGES.txt file for the very long list of people who helped with particular features or bugs.

License

Distributed under the GPL v 2.

See LICENSE.txt and LICENSE.GPL for details.

Change History

1.8.0 (2015-10-01)

  • Moved our default_page_types setting to the registry. [maurits]
  • Get email settings from registry. Fixes several Plone 5 errors. Do not use plone_utils.getSiteEncoding(), because this is deprecated and always returns utf-8. [maurits]
  • Load widget specific css on quickedit form. [maurits]
  • Fix embedded view by removing deprecated global defines macro. [buchi]
  • Removed inline javascript that tried to block inline validation. It had no effect anymore on Plone 5, as no inline validation is done here anyway. And it interferes with themes that load jQuery near the bottom instead of in the head. [maurits]

1.8.0b4 (2015-09-09)

  • Changed our content types to use TinyMCEWidget instead of RichWidget. The old one only showed a plain textarea. Fixes issue #152.
  • Fixed propertiestool.xml to not break importing types_not_searched.

1.8.0.beta3 (2015-07-20)

  • Show loading on new form OK.

1.8.0.beta2 (2015-07-15)

  • Doc update.
  • travis config fixes.

1.8.0.beta1 (2015-07-13)

  • Quick Editor working!
  • Use bundles architecture and requirejs.

1.8.0.alpha1 (2015-06-29)

  • Check commit log for changes related to P5 update.
  • 1.8 will target Plone 5. Maintenance branch is 1.7-maintenance.
  • Use content-core instead of main macro for templates using the main_template's master macro. Among fitting better in the standard plone environment and prepares for displaying in a full view (some modifications needed). [thet]

For previous changes, see docs/HISTORY.txt.

Self-Certification

[X] Internationalized

[X] Unit tests

[X] End-user documentation

[X] Internal documentation (documentation, interfaces, etc.)

[X] Existed and maintained for at least 6 months

[X] Installs and uninstalls cleanly

[X] Code structure follows best practice

Current Release
PloneFormGen 1.8.1

Released May 01, 2016 — tested with Plone 5.0

XSS Vulnerability Fix
More about this release…

Download file Get PloneFormGen for all platforms
Python Package
If you are using Plone 3.2 or higher, you probably want to install this product with buildout. See our tutorial on installing add-on products with buildout for more information.

All Releases

Version Released Description Compatibility Licenses Status
1.8.1 May 01, 2016 XSS Vulnerability Fix More about this release…
Plone 5.0
GPL final
1.8.0 Oct 01, 2015 Updated for Plone 5, still using Archetypes. More about this release…
Plone 5.0
GPL final
1.7.9 May 29, 2013 More about this release… GPL final
1.7.8 Apr 10, 2013 Bug fix release More about this release…
Plone 4.2
Plone 4.1
GPL final
1.7.7 Mar 18, 2013 Plone 4.3 compatibility; minor fixes. More about this release…
Plone 4.2
Plone 4.1
GPL final
1.7.6 Jan 18, 2013 Bug fix release More about this release…
Plone 4.2
Plone 4.1
GPL final
1.7.5 Nov 30, 2012 Bug and i18n fixes More about this release…
Plone 4.2
Plone 4.1
GPL final
1.7.4 Nov 04, 2012 Bug fixes More about this release…
Plone 4.2
Plone 4.1
Plone 4
GPL final
1.7.3 Oct 23, 2012 Bug fix release More about this release…
Plone 4.2
Plone 4.1
Plone 4
GPL final
1.7.2 Aug 16, 2012 Bug fix release More about this release…
Plone 4.2
Plone 4.1
GPL final
1.7.19 May 01, 2016 XSS Vulnerability Fix More about this release…
Plone 4.3
Plone 4.2
Plone 4.1
GPL final
1.7.17 Jun 15, 2015 Bug fixes More about this release…
Plone 4.3
Plone 4.2
GPL final
1.7.15 Jul 25, 2014 Bug fixes, collective.cover compatability More about this release…
Plone 4.3
Plone 4.2
GPL final
1.7.14 Jan 26, 2014 More about this release…
Plone 4.1
Plone 4.2
Plone 4.3
GPL final
1.7.12 Sep 04, 2013 Bug fixes for quickeditor and mailer More about this release…
Plone 4.3
Plone 4.2
GPL final
1.7.11 May 29, 2013 Vulnerability fixes. More about this release…
Plone 4.2
GPL final
1.7.10.dev0 May 29, 2013 More about this release… GPL final
1.7.10 May 29, 2013 More about this release… GPL final
1.7.1 Feb 14, 2012 Bug fix release More about this release…
Plone 4.2
Plone 4.1
Plone 4
GPL final
1.7.0 Nov 16, 2011 Adds Plone 4.1 compatibility, quick editor, bug fixes. More about this release…
Plone 4.1
Plone 4
GPL final
1.6.8 Sep 04, 2013 Do not explicitly set the MIME-Version as this would lead to a duplicate header, which can give problems with some mail servers. Backport from 1.7.3. More about this release…
Plone 4
Plone 3
GPL final
1.6.7 May 29, 2013 More about this release… GPL final
1.6.6 Jan 18, 2013 Several fixes. More about this release…
Plone 4
Plone 3
GPL final
1.6.5 Jul 13, 2011 Bug fix release in 1.6.x series More about this release…
Plone 4
Plone 3
GPL final
1.6.4 Jul 03, 2011 Maintenance Release in 1.6 series More about this release…
Plone 4
Plone 3
GPL final
1.6.3 Jun 05, 2011 Bug fixes in 1.6.x series More about this release…
Plone 4
Plone 3
GPL final
1.6.2 May 31, 2011 Maintenance release More about this release…
Plone 4
Plone 3
GPL final
1.6.1 May 20, 2011 More about this release… GPL final
1.6.0b5 More about this release… GPL beta
1.6.0b4 More about this release… GPL beta
1.6.0b3 More about this release… GPL beta
1.6.0b2 More about this release… GPL beta
1.6.0b1 More about this release… GPL beta
1.6.0 Oct 09, 2010 Plone 4 Compatability More about this release…
Plone 4
Plone 3
GPL final
1.5rc2 Jun 16, 2009 Feature enhancements including quick editor, embedded forms, export/import, captcha support and much more. More about this release…
Plone 3
Plone 2.5
GPL release-candidate
1.5rc1 May 25, 2009 Feature enhancements including quick editor, embedded forms, export/import, captcha support and much more. More about this release…
Plone 3
Plone 2.5
GPL release-candidate
1.5b5 More about this release… GPL beta
1.5b4 1.5 is a feature-addition release More about this release…
Plone 3
Plone 2.5
GPL beta
1.5b3 PFG 1.5 is a feature-addition release targeted for Plone 2.5.x and Plone 3.x. More about this release…
Plone 3
Plone 2.5
GPL beta
1.5.5 Jan 21, 2010 More about this release… GPL final
1.5.4 Nov 05, 2009 More about this release… GPL final
1.5.3 Nov 04, 2009 More about this release… GPL final
1.5.2 Sep 29, 2009 More about this release… GPL final
1.5.1 Sep 04, 2009 Bug fix for 1.5 series More about this release…
Plone 3
Plone 2.5
GPL final
1.5.0 Jul 24, 2009 More about this release… GPL final
1.5 Feature Additons including QuickEdit and Export/Import More about this release…
Plone 3
Plone 2.5
GPL beta
1.2.7 Apr 22, 2009 More about this release… GPL final
1.2.6 Mar 20, 2009 Bug fix in 1.2 series More about this release…
Plone 3
Plone 2.5
Plone 2.1
GPL final
1.2.5 Oct 16, 2008 Bug Fixes More about this release…
Plone 2.1
Plone 2.5
Plone 3
GPL final
1.2.4 Jun 15, 2008 Adds ratings-scale field and saved data editor. More about this release…
Plone 2.1
Plone 2.5
Plone 3
GPL final
1.2.3 May 08, 2008 Fixes Reinstall Bug More about this release…
Plone 2.1
Plone 2.5
Plone 3
GPL final
1.2.2 Apr 23, 2008 Bug Fix Release More about this release…
Plone 2.1
Plone 2.5
Plone 3
GPL final
1.2.1 Dec 28, 2007 Modest feature additions and Plone 3.0 compatibility. More about this release…
Plone 2.1
Plone 2.5
Plone 3
GPL final
1.2 Dec 28, 2007 Modest feature additions and Plone 3.0 compatibility. More about this release…
Plone 2.1
Plone 2.5
Plone 3
GPL final
1.1.3 May 15, 2007 Feature and usability enhancements More about this release…
Plone 2.5
Plone 2.1
GPL final
1.0.3 Nov 09, 2006 The goal of this release is a stable, reliable PloneFormGen with a generally useful feature set. More about this release…
Plone 2.5.1
Plone 2.5
Plone 2.1.4
Plone 2.1.3
GPL final