Skip to main content

Forms for Plone

Project description

latest release version badge by Badge Fury Travis CI status Coveralls status

The add on collective.easyform adds Plone content types for form creation.

EasyForm provides a Plone form builder through-the-web using fields, widgets, actions and validators (based on Dexterity).

Form input can be saved or emailed. A simple and user-friendly interface allows non-programmers to create custom forms.

Note: This Plone package is similar to Archetypes based Products.PloneFormGen for Plone versions 1 to 4.

Dexterity is the default framework for building content types in Plone 5.


Install collective.easyform by adding it to your buildout:



eggs =

Run buildout:


The last step is to activate EasyForm in the Control Panel.


  • Choose EasyForm from the toolbars ‘Add new’ menu. Insert form title, description and other settings.
  • Add fields or fieldsets to create a unique form that will meet your particular requirements. There are enough basic field types to satisfy any demands:
    • File Upload,
    • Text line (String),
    • Integer,
    • Yes/No,
    • Date, Date/Time,
    • Floating-point number,
    • Choice,
    • Rich Text,
    • Image,
    • Multiple Choice,
    • Text,
    • Password,
    • ReСaptcha.
  • Continue to customize form by setting the order of fields, defining required and hidden ones, choosing validator, if necessary, and other field type specific settings.

Click on the picture below for a short introduction video:

EasyForm instructional video

Source Code and Contributions

If you want to help with the development (improvement, update, bug-fixing, …) of collective.easyform this is a great idea!

You can clone it or get access to the github-collective and work directly on the project.

Please do larger changes on a branch and submit a Pull Request.

Maintainer of collective.easyform is the Plone Collective community.

We appreciate any contribution !

For new release, please contact one of the owners or maintainers mentioned at the Python Package Index page.


The project is licensed under the GPLv2.


  • 1.x targets Plone 4.x
  • 2.x targets Plone 5.x


2.0.0b2 (2017-08-31)

Breaking changes:

  • add item here

New features:

  • add item here

Bug fixes:

  • Update italian translations. [arsenico13]
  • Added Products.validation dependency to make it work for archetypes-free sites. [agitator]
  • In the schema editor for fields, Fix the URL to ACE library according to the modeleditor in [thet]
  • Fix saver action with non ASCII filename uploads #77 [tomgross]

2.0.0b1 (2017-06-14)

New features:

  • Add filesize upload validator [tomgross]

Bug fixes:

  • Take over signature linebreaks to HTML email [tomgross]
  • Allow multi-select fields as subject field [tomgross]
  • Update german translations. [tomgross, jensens]
  • Keep line breaks for body_pre, body_post and body_footer field. Changed field type to RichText with TextAreaWidget and default_mime_type=’text/x-web-intelligent’. Updated default mailer template. [agitator]
  • Use site email address as default recipient address also for Plone 5. [tmassman]
  • Update README [svx]
  • Allow emails (CC, BCC) separated by ‘;’ and newlines [tomgross]
  • Allow managment of fields enabled for c.easyform in controlpanel [karalics]

2.0.0a2 (2016-10-14)


  • Rename api.get_fields to api.get_schema [jensens, agitator]


  • Fix field order [jensens, agitator]

2.0.0a1 (2016-10-13)


  • Update for Plone 5, no longer support Plone 4.x [agitator]


  • Fix: Overhaul TravisCI setup to really use caches. Use bobtemplates.plone travis setup as best practice. [jensens]
  • Don’t show the reset button after form submission at the summary page. [thet]
  • Housekeeping: isort, zca decorators, autopep8 and major manual cleanup. Includes structural cleanup and [jensens, agitator]

1.0a4 (unreleased)


  • Change recipient address field to Email type so it gets properly validated [davilima6]
  • Make the default buildout use Plone 5. Update travis setup to the point where tests actually run, though many still fail. [smcmahon]
  • look up email_from_address in registry [kcleong]
  • Move the default xml configuration out into xml files. These can be picked up by i18ndude or other po file generators for translations strings. Also translate the FIELDS_DEFAULT fields. [thet]
  • Add German translations. [thet]
  • Allow the definition of some EasyForm default values via the i18n translation mechanism. [thet]
  • Reworked mail address formating, avoiding recipient address in the form of name <<>> and having instead name <>. [thet]
  • Depend on plone.schemaeditor > 2.0 for JS compatibility. [thet]
  • fix plone.schemaeditor i18n factory import. This fixes 5.0.1 support. [vangheem]
  • Fix markup so it works with barceloneta. [ebrehault]


  • fix plone.schemaeditor i18n factory import. This fixes 5.0.1 support

1.0a3 (2015-06-02)

  • Fixed templates [kroman0]
  • Fixed field order #17 [kroman0]
  • Fixed Plone 5 support [kroman0]
  • Fixed dependencies [kroman0]
  • Set script type correctly [fredvd]

1.0a2 (2014-06-13)

  • Fixed conflict with[dexterity] [kroman0]
  • Fixed rendering saved data form [kroman0]
  • Fixed and updated tests [kroman0]
  • Fix unicode encoding in download csv [gborelli]
  • Added Italian translation [gborelli]
  • Added fields parameter in Mailer override expressions [gborelli]

1.0a1 (2014-03-18)

  • Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for collective.easyform, version 2.0.0b2
Filename, size File type Python version Upload date Hashes
Filename, size collective.easyform-2.0.0b2.tar.gz (735.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page