Hi,

Wicket has excellent support of versioning due to its server side
state, and not only that, it is well documented e.g. in the feature
list, wiki.

In my use case, versioning is controlled with the objective of turning
it off with Component#setVersioned(false) on page level.

This appears to work for me in the following scenarios:

a) Page URL is non-bookmarkable, no explicit mount() for the page
   ?wicket:interface=:2:menu:edit-link::ILinkListener::
1   -> ?wicket:interface=:3::::
1   -> ?wicket:interface=:3::::
1   -> ?wicket:interface=:3::::

b) Page URL is bookmarkable, mount() with HybridUrlCodingStrategy
   /edit
1   -> /edit.3
1   -> /edit.3
1   -> /edit.3


The page changes state, i.e. it shows error messages and panels are
replaced while the user interacts with it.

When the user presses the back button, then the user does not get an
old version of the page but gets the page linking to it, which is good
in this use case.

The following scenario is bad for the use case:
c) Page URL is bookmarkable, no explicit mount() for the page
   ?wicket:bookmarkablePage=:EditPage
1   -> ?wicket:bookmarkablePage=:EditPage
2   -> ?wicket:interface=:3::::
2   -> ?wicket:interface=:3::::
The back button shows the user 2 diferent versions of the page, the
latest one and the first.

My question is how Wicket can support this use case with bookmarkable
URLs bu without expensive page mounts.


I want that because with scenario b), I seem to need one mount for
every single page. With the number of mounts increasing, performance
is getting worse. Isn't there a cheap global mount with a URL coding
strategy that does not have that performance penalty, and that can be
applied to all pages while producting the same result as in scenario
b)?

Many thanks.

Bernard



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to