Wicket offeres these concepts for pages and page links (afaik):
Bookmarkable Links do not depend on any session information. The URL may not contain session ids, version numbers, etc.
Stateful Pages are stored on the server so they can be used later in the session (e.g. for AJAX communication or for the browser's back function). Stateless pages are always created freshly for each request.
Page Versioning creates one version of a page instance per request and stores it in the session. Each version has a session unique id that is used in the page links to address a specific version directly. The url looks like that (the '8' indicated the 8th version of the profile page within this session): http://.../wicket7/profile?8
The Wicket documentation mentions these dependencies:
- Stateless pages have always bookmarkable links (makes sense...)
- Non-bookmarkable links point always to stateful pages (ok, the logical inverse...)
- Stateful pages may have both, bookmarkable and non-bookmarkable links
It seems that stateful pages are always versioned. But I believe that there are situation where you want your pages stored, but not versioned. Furthermoree it seems to me that versioned pages have no bookmarkable link since the version id relies on the session. So this is my questions:
Are stateful pages always versioned? Is there a good practice to switch off versioning but keep storing stateful pages?