Skip to main content

An adapter for PloneFormGen that add to Plone a way for manage online forms submission

Project description


The Form Online product is a Plone add-on composed by three modules:

It is designed for intranets or web sites. Using this, users of the site can handle on-line some company specific tasks. Some example:

  • ask for technical assistance from the IT Department

  • plan user vacations with the Administration/Human Resource office

  • ask to the administration to buy something expensive

This is designed keeping in mind not-too-large sized companies.

How to use it

The general structure

This product is heavily based on the PFG features. You can create the form, where you ask for user information, as you want.

A custom form done using PloneFormGen

The only required field (but you can name/configure it as you want) is an e-mail field end the user will fill with his overseer address (see below).

After that you must use the new PFG adapter: Form Online Adapter

Before being ready to use the form, you need to choose a place (a Folder, or a Large Folder if you think to manage a lot of requests).

If you will use multiple PFG with Form Online Adapter (more than an online form), you can also use multiple storages.

It’s important to know that:

  • every user that must be able to use a specific Form Online, need to have the Contributor role on the storage folder (play with the “Restriction” link inside the “Add new” to limit the user power to create other contents).

  • the user(s) who finally perform the request dispatch must be Reviewer on that folder.

An example of configuration of the PFG adapter

Default Workflow (formonline_workflow)

Let’s explaing the default workflow (3-steps).


There are three main actor in the life-cycle of a form:

  • the user that “ask for something” (A)

  • his overseer, that must approve the request (B)

  • the technical user, that dispatch the request and take care that some action will be taken (C)

When user A ask for something, he always need to receive user B authorization before any other action can be taken.

To simplify the process and not being forced to have a Company Organization Chart, is user A itself that “choose” who is his overseer. This is done by A writing down the B’s e-mail address when filling the form.

When saving, user B will receive special power onto the generated form, so he can go there and edit, reject or approve the form.

When he finally choose to accept the request, the game goes to user C, that is the one who perform some action.

Users receive e-mail address when the request need their attention.

Wait! Is user A that choose user B?!

As said above: this is targeted on small companies. If user A put the e-mail address of someone that isn’t is boss, or simply is own e-mail (so auto-approving), user C is aways the last step of the procedure. He’s responsible to check if user B is really one of the company overseer.

Simple Workflow (formonline_single_steps_workflow)

When overseer’s approval is not necessary “Simple workflow” allows end users to submit a form and ask for dispatch directly.

In order to achive this goal, “Form Online” type has to be configured to use this alternative workflow. You can do this changing the workflow globally for the types, or enabling CMFPlacefulWorkflow product, available in every Plone site.

Simple Workflow actors

  • the user that “ask for something”(A)

  • the technical user, that dispatch the request and take care that some action will be taken (C)

When user A ask for something, the request goes directly to C that is the one who perform some action.

Users receive e-mail address when the request need their attention.

No user B is needed there.

Generated content type

The basic installation of auslfe.formonline.content try to be simple as possible. It provide a required workflow for working with the PFG Adapter, and the “Form Online” content types.

You can also choose to use another content type when configuring the adapter, from the “Document type to generate” field. The adapter can work with whatever content type you want (it need to behave a text field, like Page and News Items). But in this way you must configure other stuff, like assigning the proper worlflow to the content type (globally, or locally using CMFPlacefulWorkflow).

Alternative configuration

Anonymous submitter

You can also configure your Plone site to allow anonymous users to fill the form and generate contents. What you simply need is to give to Anonymous role following permission:

  • auslfe.formonline.content: Add FormOnline

  • Request review

For security reason is better to give those permissions only onto the folder where you want to store generated document.

You can do this using a specific workflow for that folder (maybe using a workflow policy) or (not suggested) simply giving this permission directly from ZMI on the target folder.

In that case you can also use the “Name of the form field that keep the sender e-mail” adapter field, so the anonymous user can leave his e-mail, to be notified later.

Anonymous overseer

If you want the overseer e-mail address to be (potentially) an external address, you can take a look at auslfe.formonline.tokenaccess.


This product has been tested with:

  • Plone 3.3 (PloneFormGen 1.6.5)

  • Plone 4.2 (PloneFormGen 1.7.1)


  • We are planning an integration of the PFG adapter with Easy Template

  • Automatically save the overseer e-mail in the user data, so automatically fill future requests


Developed with the support of:

All of them supports the PloneGov initiative.


This product was developed by RedTurtle Technology team.

RedTurtle Technology Site


0.7.2 (2014-10-28)

  • Fixed translations [keul]

0.7.1 (2012-10-03)

  • Fixed italian translations [keul]

  • Raised the subject’s field default size [keul]

  • Fixed dependencies [keul]

  • Fixed a bug: “edit” power were tested on the adapter object, not form online [keul]

0.7.0 (2012-09-17)

  • a new workflow has been added (simple workflow) [nicola.senno]

  • redirect check. If the owner doesn’t have “Modify portal content” permission it won’t be able to modify the document after submission.

0.6.0 (2012-07-12)

Updated to Plone 4.2

  • fix translation of mail_text_rejected, missed literal block [fdelia]

  • added fields to FormOnlineAdapter for subject and text of notification email [fdelia]

  • moved fields related to work with anonymous to a separate fieldset [keul]

  • now the required e-mail field names are taken from a dropdown of all PFG string field (do not need to write it manually anymore) [keul]

  • enable by default the “withtypes” profile of auslfe.formonline.content [keul]

0.5.0 (2012-01-20)

  • removed old unused code [keul]

  • moved the form-filling procedure to a IFormOnlineComposer adapter: 3rd party code could customize how the IFormOnline is filled [keul]

  • added a new “Name of the form field that keep the sender e-mail” field in the adapter (for use the product with anonymous submitters) [keul]

0.4.1 (2012-01-15)

  • FormOnlineAdapter now removed from searchable/navigation types [keul]

  • a general approach to the e-mail adapter, simpler for developers to customize it using a browserlayer interface [keul]

0.4.0 (2012-01-11)

  • fixed translations [keul]

  • added a soft dependency on auslfe.formonline.tokenacces [keul]

0.3.0 (2011-12-13)

First pubic release

  • documentation fixes

  • light support for “Site Administrator” role (this not mean that we tested this on Plone 4.1 yet) [keul]

  • added a new “contentToGenerate” field, for choosing the content type to be generated [keul]

0.2.0 (2011-05-06)

  • better i18ndude support [keul]

  • mail sending refactoring [keul]

  • added an Unauthorized check in the current user can’t write in the storage folder [keul]

  • translations changes [keul]

  • added documentation and manual [keul]

  • egg cleanup and dependencies checks [keul]

0.1.0 (2010-07-19)

  • Initial release [fdelia]

Project details

Download files

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

Source Distribution (63.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page