wicket-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matej Knopp <matej.kn...@gmail.com>
Subject Re: [wicket 1.5] removing page version manager
Date Fri, 02 Oct 2009 21:35:01 GMT
On Fri, Oct 2, 2009 at 11:29 PM, Carl-Eric Menzel
<cm.wicket@users.bitforce.com> wrote:
> On Fri, 2 Oct 2009 23:15:56 +0200
> Matej Knopp <matej.knopp@gmail.com> wrote:
>> Main problem with Change is that it only can do undo. It can not do
>> redo which is what we need when user clicks the "Forward" browser
>> button. Plus wicket pages can change significantly between versions.
>> Representing these differences as chain of Changes is extremely
>> challenging if not impossible. Plus you still have to serialize model
>> objects, etc, which can cause another headache and it completely
>> ignores the rest of page state like simple class variables.
> Okay, I understand this. I guess I'll have to tear a few pages out of
> the book ;-)
> How does the back button support work then - when an older version of
> the page is loaded, the component state is restored as it was, since it
> was all serialized. Is this all mostly for allowing stuff like
> Link#onClick() to work on old page versions? How do you avoid running
> into problems when you have, for example, LoadableDetachableModels and
> you have changed your domain objects. Or you have changed something not
> under control of the Page, some sort of application state. Would there
> be no undo mechanism at all then? At least in principle I liked the
> idea of simply handing Wicket a couple of undo operations. Is it
> possible to be notified when an old page version is loaded? That way
> one could in principle build a custom undo.

Wicket version management is concerned with components. We don't
version your domain objects (unless you keep hard references to them
and they get serialized with the page). If you are using models
properly most of the time when you deserialize and render the page
your entities get reloaded so user sees the current state of your
domain objects.


> Carl-Eric
> PS: I hope I wrote my questions clearly, it's a bit late here already...

View raw message