Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

Utilities to auto save forms while user fills them

Project description


The goal of this product is to save what user entered in a form and possibly repopulate the form when something bad happened (browser crash, lost internet access etc).

If available, it stores data entered in the browser’s local storage and sends them to the server to copy them. If the local storage is not available, it always sends the data to the server. If a problem arise, the form will be prepopulated when the user opens is again.


Add ‘collective.autosaveform’ to your list of eggs in the buildout. Run buildout again, then install it using Zope quick installer (or Plone product managment).


A form sample can be found at this address:


Setting up forms

To enable auto saving of a form, you first need to add an ID to your form:

<form id="my_saved_form">

Then, you have to register it on the Python side. This can be done via an upgrade step for example:

from collective.autosaveform import config
from Products.CMFCore.utils import getToolByName

def register_form(context):
    tool = getToolByName(context, 'portal_autosaveform')
                           {'text_field': config.TEXT,
                            'radio_field': config.RADIO})
        # Log that the form was already registered.

When you process the form, you should also mark it as processed (so the data will not be filled again):

def process_form(...):
    # Process the form ...
    tool = getToolByName(context, 'portal_autosaveform')

Last step, in the template where your form is located, enable the jQuery plugin to have your form automatically saved:

<script type="text/javascript">

You can have a look at the jQuery plugin for available options (collective/autosaveform/skins/autosaveform/jquery.autosaveforms.js).


0.2 (2011-10-13)

  • Bugfix: calback was not called when the form is marked as processed. [vincent]

0.1 (2011-10-13)

  • 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.autosaveform, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size (32.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page