wiki:DataSaverPlugin

Prevent loss of unsaved form data

Description

This plugin prevents unsaved form data loss by providing a restore button to context-navigation.

Screenshot of Restore Form link with German localization ("Wiederherstellen") provided by DataSaverPlugin within Trac 0.12:

»Restore Form« button of a patched version of DataSaverPlugin in German Trac 0.12 test environment

It could previously be found among the meta-navigation bar, but was moved since changeset [8702], see #7518 for details.

Bugs/Feature Requests

If you have any issues, check existing bugs and feature requests here.

In case this is a new issue, you're welcome to create a new ticket.

Patches welcome in favor of complete files, in case you have already developed some better code. Include version, if patch is not against current stable release or trunk development version.

defect

6 / 6

enhancement

1 / 3

task

2 / 2

Download

Download the zipped source from here.

Source

You can check out DataSaverPlugin from here using Subversion, or browse the source with Trac.

Installation

Perform a usual Trac plugin install. If you are taking the install-into-Python route, add the following to your trac.ini file:

[components]
datasaver.* = enabled

Example

Suppose you write a lengthy wiki page, but accidentally hit refresh or the back button. With this hack, a link called "Restore Form" will allow you to retrieve your data from your last save. Any time you navigate away from a form page, the contents will be saved in a cookie and when you return to it, you can simply click "Restore Form" to retrieve it.

About i18n/l10n support

The development version of this plugin is prepared for localization.
But English message texts are still the (POSIX) default. If this isn't your preferred language, you can

  1. check if it is already available from the Trac plugin l10n project at Transifex or
  2. do it yourself, see the l10n cookbook page for Trac plugins for more details.

Contributing your translation is highly appreciated.
You could send it to the plugin's maintainer or contribute to Trac plugin l10n project via Transifex:

Top translations: Trac_Plugin-L10N » datasaver

http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/datasaver/chart/image_png

Top translations: Trac_Plugin-L10N » datasaver-js

http://www.transifex.net/projects/p/Trac_Plugin-L10N/resource/datasaver-js/chart/image_png

Kindly provided by https://ds0k0en9abmn1.cloudfront.net/static/charts/images/tx-logo-micro.png

Preparing the plugin from source requires the additional step of compiling message catalog files. This will be done automatically by invoking a suitable Babel install. Walk through:

cd datasaver
python ./setup.py compile_catalog -f
python ./setup.py bdist_egg

Step 2 is almost obsolete, and only needed to include translations marked as # fuzzy by the translator, since the compilation before packaging will do message catalog compilation compile only without the extra -f argument. Again, for more details see the l10n cookbook page for Trac plugins.

Recent Changes

15561 by rjollos on 2016-05-29 09:28:33
2.0dev: Check if js resource exists before adding

Fixes #12785.

15560 by rjollos on 2016-05-29 09:10:43
2.0dev: Replace tab indentation with space

Refs #12785.

13560 by hasienda on 2014-01-09 00:44:29
DataSaverPlugin: Correct new JavaScript function name, refs #11474.
(more)

Author/Contributors

Author: rharkins
Maintainer: Steffen Hoffmann
Contributors: jun66j5

Last modified 7 months ago Last modified on Dec 2, 2015, 4:11:32 PM