This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

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 History

Release History

0.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
collective.autosaveform-0.2.zip (32.8 kB) Copy SHA256 Checksum SHA256 Source Oct 13, 2011

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting