Last modified: 2014-11-18 09:57:30 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T75241, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 73241 - Auto-save to increase chances of lost edits recovery
Auto-save to increase chances of lost edits recovery
Product: MediaWiki
Classification: Unclassified
Page editing (Other open bugs)
All All
: Normal enhancement (vote)
: 1.25.0 release
Assigned To: Derk-Jan Hartman
Depends on:
  Show dependency treegraph
Reported: 2014-11-10 21:16 UTC by Nemo
Modified: 2014-11-18 09:57 UTC (History)
3 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Description Nemo 2014-11-10 21:16:37 UTC
As a use who is preparing an edit, I'd like to be confident that if some bad interruption happens before I save it (e.g. power outage) I'll likely be able to recover most of my work when I try to edit the page again, even if other countermeasures (e.g. browser cache, local copy) are missing or failed.

Local vs. remote storage, frequency of autosave, expiry etc. are negotiable. The less interface there is, the better; there should be no added preference(s).

Creating because of and the lack of a bug in core to track this.


Something else that I have had in the pipeline for a long while is autosave drafts. Basically, whenever you type, the article is saved to your local computer. If the browser crashes, and you visit the same article, it will prompt you for recovery. Making a Special:Autosave drafts index page would be trivial.

Implementation: <>

Of this, I also have an alternate implementation: <> <>

The original one is based on code by Joancreus and uses localStorage. It works, quite well actually, but while improving it, I became of the opinion that localStorage is basically so limited in storage and gives you so little feedback as an API and an enduser, that it's not really suited for much more than usersettings (big cookies). Not for saving potentially multiple 1MB articles, with structured details.

As a storage layer, indexedDB is much nicer in that regard. API wise, it's a bit convoluted, but a jQuery plugin makes it usable and readable. There are WebSQL polyfills for platforms that don't have indexedDB, which would allow us to support browsers of the past 6 years.

I would like some opinions on which way to go here. Additionally, i would love to hear what else people think would be required to make this usable for the Wikipedia audience and the naming. Would this be Drafts ? Autosave drafts ? autosave ? Would you say 'recover' when asking the user to use the version from drafts, or just 'use draft' etc?

Note that the '2nd' version also has a few more improvements like a separate RL module and a preference option, but those can easily be added to the first implementation as well. 


Clearly, I prefer the word "autosave", which reminds people of the recovery features endemic in any document editing software; rather than "draft", which in the past caused a lot of confusion. LibreOffice, when restarted, asks if you want to "recover" a previous document, and many other FLOSS productivity softwares use the same terminology: what do they do on the devil's side (M$ and Apple)?
Comment 1 Gerrit Notification Bot 2014-11-10 21:18:02 UTC
Change 5130 had a related patch set uploaded by Nemo bis:
mediawiki.action.edit: Autosave edit textareas in localStorage
Comment 2 Gerrit Notification Bot 2014-11-10 21:18:17 UTC
Change 159626 had a related patch set uploaded by Nemo bis:
Drafts: Refactor with IndexedDB
Comment 3 Umherirrender 2014-11-11 16:17:26 UTC
You have linked the bug, but there should also be a link to [[mw:Extension:Drafts]], which supports auto saving on the server side.
Comment 4 James Forrester 2014-11-13 19:32:03 UTC
(In reply to Umherirrender from comment #3)
> You have linked the bug, but there should also be a link to
> [[mw:Extension:Drafts]], which supports auto saving on the server side.

Sure, though that's not ready and even if it was, is not getting deployed to Wikimedia wikis, for reasons explained at length.
Comment 5 Nemo 2014-11-18 09:57:30 UTC
Merged in ContentTranslation: 00ebcc6e3e31b278092abde755cbd9009ef65cf4
No idea how much of its code/idea is reusable.

Note You need to log in before you can comment on or make changes to this bug.