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:
https://gerrit.wikimedia.org/r/#/c/5130/ 
<https://gerrit.wikimedia.org/r/#/c/5130/>

Of this, I also have an alternate implementation:
https://gerrit.wikimedia.org/r/#/c/157818/ 
<https://gerrit.wikimedia.org/r/#/c/157818/>
https://gerrit.wikimedia.org/r/#/c/159626/ 
<https://gerrit.wikimedia.org/r/#/c/159626/>

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. 

DJ
_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to