[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.

Cheers,
Bob

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