Wicket Viewer

Configuration of the Wicket viewer.

Property Default Description

isis.viewer.wicket.ajax-debug-mode

Whether the Ajax debug should be shown, by default this is disabled.

isis.viewer.wicket.app

org.apache.isis.viewer.wicket.
viewer.wicketapp.
IsisWicketApplication

Specifies the subclass of IsisWicketApplication that is used to bootstrap Wicket.

There is usually very little reason to change this from its default.

isis.viewer.wicket.application.
about

Label used on the about page.

isis.viewer.wicket.application.
brand-logo-header

Either the location of the image file (relative to the class-path resource root), or an absolute URL.

This is rendered on the header panel. An image with a size of 160x40 works well. If not specified, the application.name is used instead.

isis.viewer.wicket.application.
brand-logo-signin

Either the location of the image file (relative to the class-path resource root), or an absolute URL.

This is rendered on the sign-in page. An image with a size of 400x40 works well. If not specified, the application name is used instead.

isis.viewer.wicket.application.css

URL of file to read any custom CSS, relative to static package on the class path.

A typical value is css. This will result in this file being read from the static/css directory (because static resources such as CSS are mounted by Spring by default under static package).

isis.viewer.wicket.application.
favicon-url

Specifies the URL to use of the favIcon.

This is expected to be a local resource.

isis.viewer.wicket.application.js

URL of file to read any custom JavaScript, relative to static package on the class path.

A typical value is js. This will result in this file being read from the static/js directory (because static resources such as CSS are mounted by Spring by default under static package).

isis.viewer.wicket.application.
menubars-layout-xml

menubars.layout.xml

Specifies the file name containing the menubars.

This is expected to be a local resource.

isis.viewer.wicket.application.
name

Apache Isis ™

Identifies the application on the sign-in page (unless a sign-in image is configured) and on top-left in the header (unless a header image is configured).

isis.viewer.wicket.application.
version

The version of the application, eg 1.0, 1.1, etc.

If present, then this will be shown in the footer on every page as well as on the about page.

isis.viewer.wicket.base-path

/wicket/

The base path at which the Wicket viewer is mounted.

isis.viewer.wicket.
bookmarked-pages.max-size

15

Specifies the maximum number of bookmarks to show.

These are aged out on an MRU-LRU basis.

isis.viewer.wicket.
bookmarked-pages.show-chooser

true

Whether the panel providing linsk to previously visited object should be accessible from the top-left of the header.

true

Whether the drop-down list of previously visited objects should be shown in the footer.

isis.viewer.wicket.breadcrumbs.
enabled

true

Whether to enable the 'where am i' feature, in other words the breadcrumbs.

isis.viewer.wicket.breadcrumbs.
max-parent-chain-length

64

null

isis.viewer.wicket.
clear-original-destination

If the end user uses a deep link to access the Wicket viewer, but is not authenticated, then this configuration property determines whether to continue through to that original destination once authenticated, or simply to go to the home page.

The default behaviour is to honour the original destination requested.

isis.viewer.wicket.credit

List of organisations or individuals to give credit to, shown as links and icons in the footer. A maximum of 3 credits can be specified.

IntelliJ unfortunately does not provide IDE completion for lists of classes; YMMV.

For further discussion, see for example this stackoverflow question and this wiki page.

isis.viewer.wicket.date-pattern

dd-MM-yyyy

The pattern used for rendering and parsing dates.

Each Date scalar panel will use getDatePattern() or #getDateTimePattern() depending on its date type. In the case of panels with a date picker, the pattern will be dynamically adjusted so that it can be used by the Bootstrap Datetime Picker component (which uses http://momentjs.com/docs//parsing/string-format/[Moment.js formats], rather than those of regular Java code).

isis.viewer.wicket.date-picker.
max-date

2100-01-01T00:00:00.000Z

Defines the first date available in the date picker.

isis.viewer.wicket.date-picker.
min-date

1900-01-01T00:00:00.000Z

Defines the first date available in the date picker.

isis.viewer.wicket.
date-time-pattern

dd-MM-yyyy HH:mm

The pattern used for rendering and parsing date/times.

Each Date scalar panel will use getDatePattern() or #getDateTimePattern() depending on its date type. In the case of panels with a date time picker, the pattern will be dynamically adjusted so that it can be used by the Bootstrap Datetime Picker component (which uses http://momentjs.com/docs//parsing/string-format/[Moment.js formats], rather than those of regular Java code).

isis.viewer.wicket.
development-utilities.enable

Determines whether debug bar and other stuff influenced by DebugSettings#isDevelopmentUtilitiesEnabled() is enabled or not.

By default, depends on the mode (prototyping = enabled, server = disabled). This property acts as an override.

isis.viewer.wicket.dialog-mode

Whether the dialog mode rendered when invoking actions on domain objects should be to use the sidebar (the default) or to use a modal dialog.

This can be overridden on a case-by-case basis using ActionLayout#promptStyle().

isis.viewer.wicket.
dialog-mode-for-menu

Whether the dialog mode rendered when invoking actions on domain services (that is, menus) should be to use a modal dialog (the default) or to use the sidebar panel.

This can be overridden on a case-by-case basis using ActionLayout#promptStyle().

isis.viewer.wicket.live-reload-url

If specified, then is rendered on each page to enable live reload.

Configuring live reload also requires an appropriate plugin to the web browser (eg see livereload.com and a mechanism to trigger changes, eg by watching xml files.

isis.viewer.wicket.
max-title-length-in-parented-
tables

null

isis.viewer.wicket.
max-title-length-in-standalone-
tables

null

isis.viewer.wicket.
max-title-length-in-tables

12

The maximum number of characters to use to render the title of a domain object (alongside the icon) in any table, if not otherwise overridden by either #getMaxTitleLengthInParentedTables() or #getMaxTitleLengthInStandaloneTables().

If truncated, then the remainder of the title will be replaced with ellipses (…​).

isis.viewer.wicket.
prevent-double-click-for-form-
submit

true

Whether to disable a form submit button after it has been clicked, to prevent users causing an error if they do a double click. This behaviour is enabled by default, but can be disabled using this flag.

isis.viewer.wicket.
prevent-double-click-for-no-arg-
action

true

Whether to disable a no-arg action button after it has been clicked, to prevent users causing an error if they do a double click.

This behaviour is enabled by default, but can be disabled using this flag.

isis.viewer.wicket.prompt-style

Whether to use a modal dialog for property edits and for actions associated with properties.

This can be overridden on a case-by-case basis using @PropertyLayout#promptStyle and @ActionLayout#promptStyle.

This behaviour is disabled by default; the viewer will use an inline prompt in these cases, making for a smoother user experience. If enabled then this reinstates the pre-1.15.0 behaviour of using a dialog prompt in all cases.

isis.viewer.wicket.
redirect-even-if-same-object

Whether to redirect to a new page, even if the object being shown (after an action invocation or a property edit) is the same as the previous page.

This behaviour is disabled by default; the viewer will update the existing page if it can, making for a smoother user experience. If enabled then this reinstates the pre-1.15.0 behaviour of redirecting in all cases.

isis.viewer.wicket.remember-me.
cookie-key

isisWicketRememberMe

If the "remember me" feature is available, specifies the key to hold the encrypted credentials in the cookie.

isis.viewer.wicket.remember-me.
encryption-key

If the "remember me" feature is available, optionally specifies an encryption key (a complex string acting as salt to the encryption algorithm) for computing the encrypted credentials.

If not set, then (in production mode) the Wicket viewer will compute a random key each time it is started. This will mean that any credentials stored between sessions will become invalid.

Conversely, if set then (in production mode) then the same salt will be used each time the app is started, meaning that cached credentials can continue to be used across restarts.

In prototype mode this setting is effectively ignored, because the same key will always be provided (either as set, or a fixed literal otherwise).

isis.viewer.wicket.remember-me.
suppress

Whether the sign-in page should have a "remember me" link (the default), or if it should be suppressed.

If "remember me" is available and checked, then the viewer will allow users to login based on encrypted credentials stored in a cookie. An encryption key can optionally be specified.

isis.viewer.wicket.
replace-disabled-tag-with-readonly-
tag

true

In Firefox and more recent versions of Chrome 54+, cannot copy out of disabled fields; instead we use the readonly attribute (https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#the-readonly-attribute)

This behaviour is enabled by default but can be disabled using this flag

true

Whether to show the footer menu bar.

This is enabled by default.

isis.viewer.wicket.
strip-wicket-tags

true

Whether Wicket tags should be stripped from the markup.

By default this is enabled, in other words Wicket tags are stripped. Please be aware that if tags are not stripped, then this may break CSS rules on some browsers.

isis.viewer.wicket.
suppress-password-reset

Whether to suppress the password reset link on the sign-in page.

Although this is disabled by default (in other words the 'reset password' link is not suppressed), note that in addition the application must provide an implementation of the UserRegistrationService as well as a configured EmailNotificationService (same conditions as for the #isSuppressSignUp() sign-up link).

isis.viewer.wicket.
suppress-sign-up

Whether to suppress the sign-up link on the sign-in page.

Although this is disabled by default (in other words the sign-up link is not suppressed), note that in addition the application must provide an implementation of the UserRegistrationService as well as a configured EmailNotificationService (same conditions as for the #isSuppressPasswordReset() password reset link).

isis.viewer.wicket.themes.enabled

A comma separated list of enabled theme names, as defined by https://bootswatch.com.

isis.viewer.wicket.themes.initial

Flatly

The initial theme to use.

Expected to be in the list of #getEnabled() themes.

isis.viewer.wicket.themes.provider

org.apache.isis.viewer.wicket.ui.
components.widgets.themepicker.
IsisWicketThemeSupportDefault

Specifies an implementation of IsisWicketThemeSupport

isis.viewer.wicket.themes.
show-chooser

Whether the theme chooser widget should be available in the footer.

isis.viewer.wicket.
use-indicator-for-form-submit

true

Whether to show an indicator for a form submit button that it has been clicked.

This behaviour is enabled by default.

isis.viewer.wicket.
use-indicator-for-no-arg-action

true

Whether to show an indicator for a no-arg action button that it has been clicked.

This behaviour is enabled by default.

isis.viewer.wicket.welcome.text

Text to be displayed on the application’s home page, used as a fallback if welcome.file is not specified. If a @HomePage action exists, then that will take precedence.

isis.viewer.wicket.
wicket-source-plugin

Whether the Wicket source plugin should be enabled; if so, the markup includes links to the Wicket source.

This behaviour is disabled by default. Please be aware that enabloing it can substantially impact performance.

isis.viewer.wicket.
timestamp-pattern

yyyy-MM-dd HH:mm:ss.SSS

@deprecated - seemingly unused