Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

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)


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 a new “Form Folder” and “Form Online” has to be configured The proper workflow has to be applied to the “Form Folder”.


  • the user that “ask for something”(A)
  • the technical user, that dispatch the request and take care that some action will be taken (B)

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

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

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
  • A shorter workflow, for very simple approvation where we only need A and C actors


Developed with the support of:

All of them supports the PloneGov initiative.


This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

Project details

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date (59.0 kB) Copy SHA256 hash SHA256 Source None Sep 17, 2012

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