[Seaside] Re: strong undo

Bob Arning arning315 at comcast.net
Thu Dec 12 23:39:15 UTC 2013

Figuring out what you really want seems like the first step...

- if you save successive model states, rolling them back could 
obliterate (part of) someone else's work. Is this really a problem - do 
two people work on the same thing?

- if you save deltas ("I added 2 to bucket 7", e.g.), then you could 
reverse that action leaving changes mage by others in place. But, did 
another user see what was in bucket 7 and make a big decision based on 
that? Perhaps in many applications, but not in some.

- if you give a user a copy of the world to play with, how would you 
merge those changes back into the trunk if that were desired in the end?

Maybe something like this would work:

- keep a list of modifications as user1 makes them
- undo as many of the modifications as user1 wishes
- if user2 ever reads or writes something that user1 has modified, then 
user1's undo stack is truncated at that point. Nothing that user2 has 
seen may be reverted.


On 12/12/13 5:38 PM, Paul DeBruicker wrote:
> Something like that.  I don't know where to find a definition I can point
> to.  So to be less vague this is what I have in mind.
> As you both know the back button 'undoes' your navigation on regular links
> but can't undo a form submission or ajax requests that change things in the
> app.  I'd like to be able to offer a way to undo/redo those too, when
> appropriate.  To make experimenting and mistakes less costly for a user.  So
> that they do not have to remember what they changed, and when.
> Ideally the undo of the navigation and the undo of the app changes would be
> tied either to the back button or just a button on the page.  One canonical
> spot for 'undo-ing' things a user does. I know I can't undo things like
> sending emails, but I'd like to be able to say: if you spend a half hour
> experimenting on this you can get back to where you were exactly before you
> started.
> If it were a single user app I could probably get away with keeping a stack
> of model states for the user's whole model.  Since it is a  multi-user app
> that seems really complicated.  User A's temporary changes may or may not
> conflict with user B's permanent changes.
> Maybe, as a first step, what I need is to just let a user make a copy of
> their whole model and pretend there is a playground/walled garden/simulator
> where a they can do experiments, and then when they're done either let them
> adopt the copy as their new model or keep it to mess with later.
> Anyway, if you have any ideas I'd love to hear them.
> Thanks
> Paul
> Bob Arning-2 wrote
>> maybe something like (from Gimp):
>> *Strong undo/redo*
>> By pressing Shift+Ctrl+Z / Shift+Ctrl+Y it is now possible to undo a
>> bunch of actions at one time. This is good for experimenting on something!
>> On 12/12/13 4:05 PM, Philippe Marschall wrote:
>>> On Thu, Dec 12, 2013 at 8:09 PM, Paul DeBruicker <
>> pdebruic@
>> > wrote:
>>>> Does anyone have a strategy for implementing strong undo in a Seaside
>>>> app?
>>> What is strong undo?
>>> Cheers
>>> Philippe
>>> _______________________________________________
>>> seaside mailing list
>> seaside at .squeakfoundation
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>> _______________________________________________
>> seaside mailing list
>> seaside at .squeakfoundation
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> --
> View this message in context: http://forum.world.st/strong-undo-tp4729692p4729742.html
> Sent from the Seaside General mailing list archive at Nabble.com.
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20131212/be4ce4dd/attachment.htm

More information about the seaside mailing list