= Data Saver Plugin = == Description == Prevents unsaved form data loss by providing a restore button to ~~ the meta-navigation bar~~ context-navigation ^![1]^. [[Image(ticket:7518:datasaver_screenshot_2-0-0_ctxtnav-patched.png)]] [[BR]]Screenshot of `Restore Form` link with German localization provided by DataSaverPlugin within Trac 0.12 ^![1]^ moved since changeset [8702] (see ticket #7518 for details) == Bugs/Feature Requests == If you have any issues, check existing bugs and feature requests for !DataSaverPlugin [http://trac-hacks.org/query?status=new&status=assigned&status=reopened&component=DataSaverPlugin&order=priority here] [[BR]]and take care of closed tickets as well. In case this is a new issue, you're welcome to create a [http://trac-hacks.org/newticket?component=DataSaverPlugin&owner=hasienda 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. == Download == Download the zipped source from [download:datasaverplugin here]. == Source == You can check out DataSaverPlugin from [http://trac-hacks.org/svn/datasaverplugin here] using Subversion, or [source:datasaverplugin browse the source] with Trac. == Installation == Do your normal Trac plugin install. If you are taking the install-into-Python route, add to your trac.ini: {{{ [components] datasaver.* = enabled }}} == Example == Suppose you write a lengthy wiki page, but accidentally hit refresh or the back button? You'd be out of luck most of the time. I know I was. But 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 you can simply click "Restore Form" to retrieve it. == About i18n/l10n support == The development version of this plugin is prepared for localization.[[BR]] But English message texts are still the (POSIX) default. If this isn't your preferred language, you can 1. look, if it's already available from the [TracPluginTranslation Trac plugin l10n project] at [http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/datasaver Transifex] or 2. do it yourself (see the [http://trac.edgewall.org/wiki/CookBook/PluginL10N#Dotranslatorswork l10n cookbook page for Trac plugins] for more details). You've done a new translation? Superb! Contributing your translation is highly appreciated.[[BR]] You could send it to the plugin's maintainer or contribute to [TracPluginTranslation Trac plugin l10n project] via [http://www.transifex.net/projects/p/Trac_Plugin-L10N/ Transifex]: Top translations: Trac_Plugin-L10N ยป [http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/datasaver/ datasaver][[BR]] [[Image(http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/datasaver/chart/image_png, title=Go to Trac_Plugin-L10N project page on Transifex.net, link=http://www.transifex.net/projects/p/Trac_Plugin-L10N/c/datasaver/)]] Kindly provided by [[Image(http://sw.transifex.net/2/static/charts/images/tx-logo-micro.png, link=http://www.transifex.net/, title=the open translation platform, valign=bottom)]] 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 [t:wiki:CookBook/PluginL10N#Compileanduseit l10n cookbook page for Trac plugins]. == Recent Changes == [[ChangeLog(datasaverplugin, 3)]] == Author/Contributors == '''Author:''' [wiki:rharkins][[BR]] '''Maintainer:''' [wiki:hasienda][[BR]] '''Contributors:''' [wiki:jun66j5]