Skip to main content

collective.autosaveform

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.

Installation

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).

Sample

A form sample can be found at this address:

http://localhost:8080/<yourplonesite>/autosave_sample

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">
</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')
    try:
        tool.register_form('my_saved_form',
                           {'text_field': config.TEXT,
                            'radio_field': config.RADIO})
    except:
        # Log that the form was already registered.
        pass

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')
    tool.mark_form_processed('my_saved_form')

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

<script type="text/javascript">
  jq('#my_saved_form').autosaveform();
</script>

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

Changelog

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

Release files for collective.autosaveform 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for collective.autosaveform 0.2
File Size Uploaded
collective.autosaveform-0.2.zip 32.8 kB Details

Release files / collective.autosaveform-0.2.zip

Download URL collective.autosaveform-0.2.zip
Size 32.8 kB
Tags Source
SHA-256 checksum
How to use checksums
4ca20abb76c3dc544536be356c1d26e4fe9a5f072caeff7214d353725a76af6c
BLAKE2b-256 checksum
How to use checksums
d04a96b17ccafe55fae8005d21a292d4657ed76b7b6e3b40cdd3903da74c02d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page