[OSM-dev] Implementing 'undo' in Potlatch

Immanuel Scholz imi at eigenheimstrasse.de
Tue Jul 17 12:48:41 BST 2007


This was sent to talk first, sorry for that. Blame some missing reply-to
header :-D

Richard Fairhurst schrieb:
> Easily the most frequently requested Potlatch feature at SOTM was an  
> 'undo' feature.
> 
> Essentially, because Potlatch is an online editor, I'm going to  
> implement this as a history rollback. In other words, undo will return  
> to the previous version of a way. You can only undo your own work,  
> i.e. you can't roll another person's edits back[1].
> 
> So there are two ways to do it:
> 
> a) Destructive rollback - Delete the most recent version from the  
> database, and set the previous version (and any associated  
> segments/nodes) as current/visible.
> 
> b) Non-destructive rollback - Set the current version as invisible,  
> then insert the previous version as a new version, thereby maintaining  
> the "undone" version in the history.
> 
> Given that you'll only be able to undo your own edits, I'm tempted to  
> go for (a). But I would appreciate views from all and sundry,  
> particularly keepers of the flame of database purity such as SteveC  
> and TomH.

PRETTY PLEASE don't do a). This will much confuse conflict resolving
algorithms when they accidentally got a snapshot of the state before the
""""undo"""".

Just remember that for everything you added, there might be already an
replication of the data somewhere in JOSM-memory, on hard disk, in
replication servers, in planet.osms etc... and if you hard-delete your
data (in the best case) they will just think their state is more recent
and undo your undo.

Ciao, Imi.

-- 
DF0E A04F 7063 69C5 A76B  7557 0A77 608F 9172 3535





More information about the dev mailing list