Ticket #337 (new Feature Wish)
Opened 3 years ago
Save backup copies during editing
|Reported by:||bruno@…||Owned by:||somebody|
[jira2trac import : issue created on August 28, 2006 12:21:02 PM CEST http://issues.cocoondev.org/browse/DSY-337 ]
Currently the HTML editor does not save any backup copies during editing, so an eventual browser crash or misbehaviour, or user error could cause precious effort to be lost.
There have been earlier issues around this such as DSY-157 and DSY-219, which mainly aimed at saving temporary draft versions in the repository.
However, I'm not convinced we need to add this at the repository level, this rather seems something the client application (Daisy Wiki) should handle.
Some random notes/thoughts:
- this functionality should also work for new (no-ID-assigned-yet) documents
- a simple filesystem-based storage (by default in wikidata dir) could be used for this
/<timestamp> (multiple draft copies would be kept)
- interval based pushing of content from the browser to the wiki should only happen for some part types (Daisy-HTML, navigation, ...). It doens't make sense for upload-based stuff since the user has that on his hard-drive anyway. It might be done for the fields/link/misc pages, though not sure how easy/necessary that would be.
- the wiki should have a GUI to browse the auto-save archives
- there should be some automated cleanup of the auto-saved data (e.g. limited in time and/or size)
- the auto-save data could include document version information to be able to warn when other users' changes might be overwritten when restoring an auto-saved copy.
- the auto-save data should include some format version number, to be able to cope with differences between Daisy versions.
- it might be useful to enable/disable this on a per-user level, or to make the auto-save interval user-configurable (this feature might cause problems when upload speed is very slow).
And thinking further:
- it would be useful to diff between what's in the auto-save and what's currently in the repo
- the auto-save could serve as an extended undo (like the local history in Java IDEs)