Bookmarked pages

The Wicket viewer supports the automatic bookmarking of domain objects, as per @DomainObjectLayout#bookmarking(). However, it does not support bookmarking of action prompts (@ActionLayout#bookmarking()).

Whenever a bookmarkable object/action is visited, then a bookmark is created. To avoid the number of bookmarks from indefinitely growing, bookmarks that have not been followed after a while are automatically removed (an MRU/LRU algorithm). The number of bookmarks to preserve can be configured.

Screenshots

The following screenshot shows how bookmarks are rendered in the Wicket viewer:

panel estatio

This screenshot demonstrates that bookmarks can be nested. Some - like Property and Lease - are root nodes. However, Unit is bookmarkable as a child of Property. This parent/child relationship is reflected in the layout.

Domain Code

To indicate a class is bookmarkable, use the @DomainObjectLayout annotation:

@DomainObjectLayout(
    bookmarking=BookmarkPolicy.AS_ROOT
)
public class Lease { /* ... */ }

To indicate a class is bookmarkable but only as a child of some parent bookmark, specify the bookmark policy:

@DomainObjectLayout(
    bookmarking=BookmarkPolicy.AS_CHILD
)
public class LeaseItem { /* ... */ }

User Experience

The sliding panel appears whenever the mouse pointer hovers over the thin blue tab (to the left of the top header region).

Alternatively, alt+[ will toggle open/close the panel; it can also be closed using Esc key.

Configuration

The maximum number of bookmarks that are shown can be overridden using the causeway.viewer.wicket.bookmarked-pages.max-size configuration property.