You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/04/06 11:45:03 UTC

[isis] 01/01: ISIS-2484: updated wicket viewer docs for v2

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch 2.0.0-M5
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 6b0918d46d4bbf453c9bb165188b722095b941a0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Apr 6 12:21:47 2021 +0100

    ISIS-2484: updated wicket viewer docs for v2
---
 .../what-is-apache-isis/isis-in-pictures.adoc      |   2 +-
 .../powered-by/gesconsultor-grc.adoc               |   2 +-
 .../pages/what-is-apache-isis/screencasts.adoc     |  10 +-
 .../hooks/ActionLayout_021-promptStyle.adoc        |   2 +-
 .../hooks/ActionLayout_023-describedAs.adoc        |   2 +-
 .../hooks/ActionLayout_026-bookmarking.adoc        |   4 +-
 .../hooks/ActionLayout_029-redirect.adoc           |   2 +-
 .../hooks/CollectionLayout_021-defaultView.adoc    |   2 +-
 .../hooks/CollectionLayout_022-paged.adoc          |   2 +-
 .../hooks/CollectionLayout_023-describedAs.adoc    |   2 +-
 .../hooks/Collection_021_domainEvent.adoc          |   2 +-
 .../hooks/DomainObjectLayout_021-describedAs.adoc  |   2 +-
 .../hooks/DomainObjectLayout_025-bookmarking.adoc  |   2 +-
 .../hooks/DomainObjectLayout_026-paged.adoc        |   2 +-
 .../hooks/DomainObject_021-objectType.adoc         |   2 +-
 .../hooks/DomainObject_027-bounding.adoc           |   2 +-
 .../hooks/DomainServiceLayout_021-menuBar.adoc     |   2 +-
 .../hooks/DomainService_021-objectType.adoc        |   2 +-
 .../hooks/ParameterLayout_023-describedAs.adoc     |   2 +-
 .../hooks/ParameterLayout_027-typicalLength.adoc   |   2 +-
 .../hooks/PropertyLayout_025_describedAs.adoc      |   2 +-
 .../hooks/PropertyLayout_31_typicalLength.adoc     |   2 +-
 .../pages/index/mixins/dto/hooks/Dto_see-also.adoc |   2 +-
 .../BookmarkUiService_010-implementation.adoc      |   2 +-
 .../GridSystemService_010-implementation.adoc      |   2 +-
 .../hooks/HintStore_020-examples-and-usage.adoc    |   2 +-
 .../hooks/LocaleProvider_010-implementation.adoc   |   2 +-
 .../TranslationsResolver_010-implementation.adoc   |   2 +-
 .../hooks/DeepLinkService_010-implementation.adoc  |   2 +-
 .../SwaggerService_020-examples-and-usage.adoc     |   4 +-
 .../hooks/UserService_020-examples-and-usage.adoc  |   2 +-
 .../UserProfileService_020-examples-and-usage.adoc |   2 +-
 ...NotificationService_020-examples-and-usage.adoc |   2 +-
 ...RegistrationService_020-examples-and-usage.adoc |   4 +-
 .../pages/index/value/hooks/Blob_usage-notes.adoc  |  25 +-
 .../pages/index/value/hooks/Clob_usage-notes.adoc  |  23 +-
 .../modules/applib-ant/pages/Discriminator.adoc    |   2 +-
 .../applib-ant/pages/PersistenceCapable.adoc       |   2 +-
 .../applib-classes/pages/layout/menubars.adoc      |   6 +-
 .../applib-classes/pages/layout/object-layout.adoc |   6 +-
 .../modules/applib-classes/pages/value-types.adoc  |   2 +
 .../applib-methods/pages/ui-hints/cssClass.adoc    |   2 +-
 .../applib-methods/pages/ui-hints/iconName.adoc    |   2 +-
 .../refguide/modules/applib-svc/pages/about.adoc   |   2 +-
 .../partials/_presentation-layer-api.adoc          |   2 +-
 .../modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc |   8 +-
 .../modules/ROOT/pages/2020/2.0.0-M4/relnotes.adoc |   2 +-
 .../userguide/modules/ROOT/pages/about.adoc        |  13 +-
 .../modules/_to-repurpose/attachments/.gitkeep     |   0
 ...alysis-of-commands-vs-eventmetadata-vs-etc.xlsx | Bin 15630 -> 0 bytes
 ...mand-dto-vs-interaction-dto-vs-interaction.xlsx | Bin 14110 -> 0 bytes
 .../pptx/commands-vs-actioninvocationevent.pptx    | Bin 70543 -> 0 bytes
 .../_to-repurpose/attachments/theme/isis-logo.png  | Bin 14160 -> 0 bytes
 .../modules/_to-repurpose/examples/.gitkeep        |   0
 .../modules/_to-repurpose/images/.gitkeep          |   0
 .../modules/_to-repurpose/images/PDF-50.png        | Bin 587 -> 0 bytes
 .../images/index-screenshots/010-sign-in.pdn       | Bin 112849 -> 0 bytes
 .../images/index-screenshots/010-sign-in.png       | Bin 18022 -> 0 bytes
 .../images/index-screenshots/020-object-layout.pdn | Bin 223175 -> 0 bytes
 .../images/index-screenshots/020-object-layout.png | Bin 35937 -> 0 bytes
 .../030-declarative-business-rules.pdn             | Bin 166549 -> 0 bytes
 .../030-declarative-business-rules.png             | Bin 32882 -> 0 bytes
 .../040-imperative-business-rules.pdn              | Bin 211964 -> 0 bytes
 .../040-imperative-business-rules.png              | Bin 38084 -> 0 bytes
 .../index-screenshots/050-action-with-args.pdn     | Bin 132833 -> 0 bytes
 .../index-screenshots/050-action-with-args.png     | Bin 36121 -> 0 bytes
 .../060-action-with-args-autocomplete.pdn          | Bin 190892 -> 0 bytes
 .../060-action-with-args-autocomplete.png          | Bin 44167 -> 0 bytes
 .../images/index-screenshots/070-jdo.pdn           | Bin 206627 -> 0 bytes
 .../images/index-screenshots/070-jdo.png           | Bin 41248 -> 0 bytes
 .../images/index-screenshots/080-rest-api.pdn      | Bin 196013 -> 0 bytes
 .../images/index-screenshots/080-rest-api.png      | Bin 55573 -> 0 bytes
 .../images/index-screenshots/090-integtesting.pdn  | Bin 366973 -> 0 bytes
 .../images/index-screenshots/090-integtesting.png  | Bin 246766 -> 0 bytes
 .../modules/_to-repurpose/images/isis-favicon.png  | Bin 1597 -> 0 bytes
 .../_to-repurpose/images/isis-logo-48x48.pdn       | Bin 9585 -> 0 bytes
 .../_to-repurpose/images/isis-logo-48x48.png       | Bin 2622 -> 0 bytes
 .../_to-repurpose/images/isis-logo-568x286.pdn     | Bin 94148 -> 0 bytes
 .../_to-repurpose/images/isis-logo-568x286.png     | Bin 54831 -> 0 bytes
 .../_to-repurpose/images/todoapp/dashboard.png     | Bin 137248 -> 0 bytes
 .../_to-repurpose/images/todoapp/swagger-ui.png    | Bin 105485 -> 0 bytes
 .../_to-repurpose/images/todoapp/todoitem.png      | Bin 98559 -> 0 bytes
 .../userguide/modules/_to-repurpose/nav.adoc       |   7 -
 .../modules/_to-repurpose/pages/about.adoc         |   7 -
 .../btb/pages/hints-and-tips/custom-css.adoc       |   2 +-
 .../hints-and-tips/transactions-and-errors.adoc    |   6 +-
 .../userguide/modules/btb/pages/i18n.adoc          |   2 +-
 .../apache-isis-vs-cqrs-and-event-sourcing.adoc    |   2 +-
 .../fun/pages/concepts-patterns/core-values.adoc   |   2 +-
 .../domain-services.adoc                           |   8 +-
 .../modules/fun/pages/drop-downs-and-defaults.adoc |   2 +-
 .../modules/fun/pages/overview/identifiers.adoc    |   2 +-
 .../pages/overview/types-of-domain-objects.adoc    |   6 +-
 .../modules/fun/pages/ui/object-layout.adoc        |   2 +-
 .../fun/pages/ui/object-titles-and-icons.adoc      |   6 +-
 .../modules/fun/partials/_deployment-options.adoc  |   4 +-
 antora/playbooks/site-incubator.yml                |   6 +-
 antora/playbooks/site.yml                          |   6 +-
 .../src/main/adoc/modules/config/pages/about.adoc  |  22 +-
 .../application-specific/application-css.adoc      |   6 +-
 .../customui/vm/WhereInTheWorldVm-description.adoc |   6 +-
 extensions/adoc/modules/ROOT/pages/about.adoc      |   2 +-
 .../adoc/modules/ROOT/partials/component-nav.adoc  |   1 -
 .../kroviz/adoc/modules/kroviz/pages/about.adoc    |   4 +-
 mappings/adoc/antora.yml                           |   2 +-
 .../ROOT/pages/setup-and-configuration.adoc        |   4 +-
 .../modules/ROOT/pages/usage-by-isis-viewers.adoc  |   2 +-
 .../pages/about/configuring-isis-to-use-shiro.adoc |   2 +-
 .../adoc/modules/starters/pages/helloworld.adoc    |   6 +-
 .../adoc/modules/starters/pages/simpleapp.adoc     |   6 +-
 valuetypes/adoc/modules/ROOT/pages/about.adoc      |   2 +
 .../ROOT/partials/security/user-registration.adoc  |   2 +-
 .../modules/ROOT/partials/security/web-xml.adoc    |   2 +-
 .../modules/ROOT/images/about-page/about-page.png  | Bin 59612 -> 341021 bytes
 .../ROOT/images/bookmarked-pages/panel-940.png     | Bin 99602 -> 0 bytes
 .../images/bookmarked-pages/panel-estatio-940.png  | Bin 136219 -> 0 bytes
 .../ROOT/images/bookmarked-pages/panel-estatio.png | Bin 172961 -> 439368 bytes
 .../modules/ROOT/images/bookmarked-pages/panel.png | Bin 121632 -> 0 bytes
 .../images/features/recent-pages/recent-pages.png  | Bin 186541 -> 0 bytes
 .../ROOT/images/security/WebPage-hierarchy.png     | Bin 0 -> 360099 bytes
 .../user-registration/login-page-default.png       | Bin 11372 -> 7429 bytes
 .../sign-up-login-page-after-sign-up.png           | Bin 13570 -> 10441 bytes
 .../ROOT/images/user-registration/sign-up-page.png | Bin 8911 -> 4212 bytes
 .../sign-up-registration-page.png                  | Bin 11446 -> 7889 bytes
 .../ROOT/images/where-am-i/hello_grey_bg.png       | Bin 38257 -> 420128 bytes
 viewers/wicket/adoc/modules/ROOT/pages/about.adoc  |   2 -
 .../ROOT/pages/configuration-properties.adoc       | 942 ---------------------
 .../adoc/modules/ROOT/pages/customisation.adoc     |  10 +-
 .../ROOT/pages/customisation/about-page.adoc       |  83 +-
 .../ROOT/pages/customisation/brand-logo.adoc       |  13 +-
 .../customisation/cheap-n-cheerful-theme.adoc      |   5 +-
 .../{tweaking-css-classes.adoc => custom-css.adoc} |   8 +-
 .../pages/customisation/custom-javascript.adoc     |  16 +-
 ...{request-parameters.adoc => embedded-view.adoc} |   4 +-
 .../pages/customisation/top-level-index-page.adoc  |  16 +-
 .../customisation/using-different-css-file.adoc    |  18 -
 .../wicket/adoc/modules/ROOT/pages/extending.adoc  |  13 +-
 .../pages/extending/custom-bootstrap-theme.adoc    |   2 +-
 .../modules/ROOT/pages/extending/custom-pages.adoc |  36 +-
 .../login-via-query-args-prototyping.adoc          |  48 --
 .../pages/extending/replacing-page-elements.adoc   |  87 +-
 .../wicket/adoc/modules/ROOT/pages/features.adoc   |   4 -
 .../ROOT/pages/features/blob-attachments.adoc      | 117 ---
 .../ROOT/pages/features/bookmarked-pages.adoc      |  55 +-
 .../ROOT/pages/features/hints-and-copy-url.adoc    |  75 --
 .../modules/ROOT/pages/features/recent-pages.adoc  |  50 --
 .../pages/features/sidebar-vs-modal-dialogs.adoc   |  27 +-
 .../ROOT/pages/features/titles-in-tables.adoc      |  20 +-
 .../ROOT/pages/features/user-registration.adoc     |  11 +-
 .../modules/ROOT/pages/features/where-am-i.adoc    |  53 +-
 .../adoc/modules/ROOT/pages/hints-and-tips.adoc    |   8 +-
 .../auto-refresh.adoc                              |   9 +-
 .../hints-and-tips/highlight-current-row.adoc      |  91 --
 .../ROOT/pages/hints-and-tips/per-user-themes.adoc |   2 +-
 .../adoc/modules/ROOT/pages/other-resources.adoc   |   7 -
 .../wicket/adoc/modules/ROOT/pages/security.adoc   |   2 -
 .../ROOT/pages/setup-and-configuration.adoc        | 304 +++++++
 .../adoc/modules/ROOT/partials/module-nav.adoc     |   9 +-
 .../adoc/modules/ROOT/partials/security/pages.adoc |  19 +-
 .../ROOT/partials/security/user-registration.adoc  |  10 -
 160 files changed, 576 insertions(+), 1918 deletions(-)

diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/isis-in-pictures.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/isis-in-pictures.adoc
index 82fcd57..847a345 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/isis-in-pictures.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/isis-in-pictures.adoc
@@ -4,7 +4,7 @@
 
 // TODO: v2: NICE-TO-HAVE: these screenshots should be updated, but first need to port the todoapp over first (which also means the various modules from incode-platform)
 
-On this page we want to show you what an Apache Isis application looks like, running on the xref:vw:ROOT:about.adoc[Wicket viewer].
+On this page we want to show you what an Apache Isis application looks like, running on the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 The screenshots below are taken from a "Todo" application.
 
 NOTE: these screenshots are based on an app running against v1.13  and v1.10 of the framework.
diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc
index b1d50f1..dc92605 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/powered-by/gesconsultor-grc.adoc
@@ -76,7 +76,7 @@ All the business rules are on a Domain fully implemented in Apache Isis.
 The GRC application require a more sophisticating and customizable viewer than is provided "out-of-the-box" by Apache Isis.
 We chose http://wavemaker.com[Wavemaker] for implementing the viewer, also leveraging and integrating with various Wavemaker services.
 
-Even so, while GRC does (as the figures above show) include custom views, the majority of the views exposed by GRC are automatically generated from the underlying domain entities; the GRC viewer is a proprietary version of Isis' own xref:vw:ROOT:about.adoc[Wicket viewer].
+Even so, while GRC does (as the figures above show) include custom views, the majority of the views exposed by GRC are automatically generated from the underlying domain entities; the GRC viewer is a proprietary version of Isis' own xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 At the last count more than 400 domain entities, across 6 different Bounded Contexts, are surfaced in the UI in this this way.
 
 At the Domain level, we also extensively use the xref:userguide:fun:overview.adoc#domain-events[domain events] functionality available in Apache Isis, along with many of the (non-ASF) link:https://platform.incode.org[Incode Platform^] (such as audit, security and excel modules).
diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index ae33ea6..bf538da 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -207,20 +207,20 @@ Using xref:userguide:fun:ui.adoc#object-layout[dynamic (XML) layouts] to specify
 include::screencasts/playlists.adoc[]
 
 |link:https://www.youtube.com/watch?v=0d713-V4vrg[019^] +
-Demonstrates how Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer] remembers the state of rendered domain objects, and how the end-user of the
+Demonstrates how Apache Isis' xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] remembers the state of rendered domain objects, and how the end-user of the
  application can clear these UI hints using the (framework-provided) xref:refguide:viewer:index/wicket/viewer/mixins/Object_clearHints.adoc["clear hints"] mixin action.
 |||X||||||||
 
 
 
 |link:https://www.youtube.com/watch?v=Kqch-XNlBMA[020^] +
-Demonstrates how the end-user can copy and share URLs for domain objects - including UI hints - using Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer].
+Demonstrates how the end-user can copy and share URLs for domain objects - including UI hints - using Apache Isis' xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 |||X||||||||
 
 
 
 |link:https://www.youtube.com/watch?v=a0QQLT_16To[021^] +
-Demonstrates how the end-user can use bookmarks and breadcrumbs within Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer], and how the developer can ensure that xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#bookmarking[domain objects] and (xref:refguide:applib:index/annotation/Action.adoc#semantics[query-only]) xref:refguide:applib:index/annotation/ActionLayout.adoc#bookmarking[actions] can be bookmarked.
+Demonstrates how the end-user can use bookmarks and breadcrumbs within Apache Isis' xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], and how the developer can ensure that xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#bookmarking[domain objects] and (xref:refguide:applib:index/annotation/Action.adoc#semantics[query-only]) xref:refguide:applib:index/annotation/ActionLayout.adoc#bookmarking[actions] can be bookmarked.
 |||X||||||||
 
 
@@ -416,7 +416,7 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=esujf_DFeWA[041^] +
-Using BigDecimal as a property within a domain object, also demonstrating the "summary" view within the xref:vw:ROOT:about.adoc[Wicket viewer].
+Using BigDecimal as a property within a domain object, also demonstrating the "summary" view within the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 |||||||X||X|X|
 
 
@@ -540,7 +540,7 @@ The (very simple) steps required to rename a domain entity class.
 
 
 |link:https://www.youtube.com/watch?v=J5xobU6X0ng[057^] +
-How to rename a menu (on the top-level menubar) as rendered in the  xref:vw:ROOT:about.adoc[Wicket viewer].
+How to rename a menu (on the top-level menubar) as rendered in the  xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 |X||||||||||
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc
index 4eddcdd..adf86f3 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc
@@ -7,7 +7,7 @@
 The xref:refguide:applib:index/annotation/ActionLayout.adoc#promptStyle[promptStyle()] element is used to specify whether, when invoking an action associated with a domain object property, the parameters for the action are prompted either in modal dialog box, a (non-modal) sidebar dialog box, or is prompted using an inline panel (replacing the property on the page).
 For more on sidebar vs modal dialogs, see xref:vw:ROOT:features.adoc#sidebar-vs-modal-dialogs[Wicket viewer features].
 
-The prompt style is influenced by two xref:vw:ROOT:configuration-properties.adoc[configuration properties]:
+The prompt style is influenced by two xref:vw:ROOT:setup-and-configuration.adoc[configuration properties]:
 
 * if the xref:refguide:applib:index/annotation/ActionLayout.adoc#promptStyle[promptStyle()] element is set to `DIALOG`, then a configuration property is used to determine whether to render using a modal dialog or a sidebar:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_023-describedAs.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_023-describedAs.adoc
index ddaa8e8..2186034 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_023-describedAs.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_023-describedAs.adoc
@@ -4,7 +4,7 @@
 :page-partial:
 
 The xref:refguide:applib:index/annotation/ActionLayout.adoc#describedAs[describedAs()] attribute is used to provide a short description of the action to the user.
-In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] it is displayed as a 'tool tip'.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_026-bookmarking.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_026-bookmarking.adoc
index 780d8c5..0799d71 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_026-bookmarking.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_026-bookmarking.adoc
@@ -6,11 +6,11 @@
 
 The xref:refguide:applib:index/annotation/ActionLayout.adoc#bookmarking[bookmarking()] element indicates if an action (with safe xref:refguide:applib:index/annotation/Action.adoc#semantics[action semantics]) is automatically bookmarked.
 
-In the xref:vw:ROOT:about.adoc[Wicket viewer], a link to a bookmarked object is shown in the bookmarks panel.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], a link to a bookmarked object is shown in the bookmarks panel.
 
 [TIP]
 ====
-The xref:vw:ROOT:about.adoc[Wicket viewer] supports `alt-[` as a shortcut for opening the bookmark panel.  `Esc` will close.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] supports `alt-[` as a shortcut for opening the bookmark panel.  `Esc` will close.
 ====
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc
index 6798de9..05b055c 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc
@@ -19,7 +19,7 @@ Any properties with xref:refguide:applib:index/annotation/PropertyLayout.adoc#re
 
 * if set to `EVEN_IF_SAME`, then a redirect occurs and a new web page is rendered.
 
-* if set to `AS_CONFIGURED`, then the default behaviour is as specified by the `isis.viewer.wicket.redirectEvenIfSameObject` xref:vw:ROOT:configuration-properties.adoc[configuration property]).
+* if set to `AS_CONFIGURED`, then the default behaviour is as specified by the `isis.viewer.wicket.redirectEvenIfSameObject` xref:vw:ROOT:setup-and-configuration.adoc[configuration property]).
 
 One use case for choosing `EVEN_IF_SAME` is if the action "returning this" is intended in some way to require that the object use a different layout, as per multiple layout support, as specified using the xref:refguide:applib-methods:ui-hints.adoc#layout[layout()] method.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_021-defaultView.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_021-defaultView.adoc
index 9c59b8a..2596b22 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_021-defaultView.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_021-defaultView.adoc
@@ -24,6 +24,6 @@ public class BusRoute {
 ----
 <.> renders the collection as a table view.
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] allows additional views to be configured to render collections of objects, eg xref:vw:exceldownload:about.adoc[Excel Download] ("excel"), xref:vw:fullcalendar:about.adoc[Fullcalendar] ("fullcalendar") and xref:vw:gmap3:about.adoc[Gmap3] ("map") extensions.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] allows additional views to be configured to render collections of objects, eg xref:vw:exceldownload:about.adoc[Excel Download] ("excel"), xref:vw:fullcalendar:about.adoc[Fullcalendar] ("fullcalendar") and xref:vw:gmap3:about.adoc[Gmap3] ("map") extensions.
 This attribute can be used to select any of these alternative views instead.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc
index 452c299..8010696 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc
@@ -8,7 +8,7 @@ The xref:refguide:applib:index/annotation/CollectionLayout.adoc#paged[paged()] e
 [WARNING]
 ====
 The xref:vro:ROOT:about.adoc[RestfulObjects viewer] currently does not support paging.
-The xref:vw:ROOT:about.adoc[Wicket viewer] _does_ support paging, but note that the paging is performed client-side rather than server-side.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] _does_ support paging, but note that the paging is performed client-side rather than server-side.
 
 We therefore recommend that large collections should instead be modelled as actions (to allow filtering to be applied to limit the number of rows).
 ====
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_023-describedAs.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_023-describedAs.adoc
index 96f94ef..d75f006 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_023-describedAs.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_023-describedAs.adoc
@@ -4,7 +4,7 @@
 :page-partial:
 
 The xref:refguide:applib:index/annotation/CollectionLayout.adoc#describedAs[describedAs()] element is used to provide a short description of the collection to the user.
-In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] it is displayed as a 'tool tip'.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc
index d943d80..f12bcac 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc
@@ -16,7 +16,7 @@ Subscribers (which must be domain services) subscribe to events posted through t
 
 [WARNING]
 ====
-The xref:vw:ROOT:about.adoc[Wicket viewer] does _not_ currently support the modification of collections; they are rendered read-only.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] does _not_ currently support the modification of collections; they are rendered read-only.
 However, domain events are still relevant to determine if such collections should be hidden.
 
 The workaround is to create add/remove actions and use xref:refguide:applib:index/annotation/MemberOrder.adoc[UI hints] to render them close to the collection.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_021-describedAs.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_021-describedAs.adoc
index edb0663..4bcbe02 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_021-describedAs.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_021-describedAs.adoc
@@ -5,7 +5,7 @@
 
 
 The xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#describedAs[describedAs()] element is used to provide a short description of the domain object to the user.
-In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] it is displayed as a 'tool tip'.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_025-bookmarking.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_025-bookmarking.adoc
index d3021dd..5f15d38 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_025-bookmarking.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_025-bookmarking.adoc
@@ -7,7 +7,7 @@
 
 The xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#bookmarking[bookmarking()] element indicates that an entity is automatically bookmarked.
 
-In the xref:vw:ROOT:about.adoc[Wicket Viewer], a link to a bookmarked object is shown in the bookmarks panel, top right.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], a link to a bookmarked object is shown in the bookmarks panel, top right.
 
 
 For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc
index 9edba8c..085de0c 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc
@@ -9,7 +9,7 @@ The xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#paged[paged()]
 [WARNING]
 ====
 The xref:vro:ROOT:about.adoc[RestfulObjects viewer] currently does not support paging.
-The xref:vw:ROOT:about.adoc[Wicket viewer] _does_ support paging, but note that the paging is performed client-side rather than server-side.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] _does_ support paging, but note that the paging is performed client-side rather than server-side.
 
 We therefore recommend that large collections should instead be modelled as actions (to allow filtering to be applied to limit the number of rows).
 ====
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc
index 33fdddf..b1c0620 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc
@@ -12,7 +12,7 @@ This can appear in several contexts, including:
 (see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
-* in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer]
+* in the URLs of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]
 * in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService]
 
 == Examples
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc
index 9edc0ef..6d8f6e8 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc
@@ -8,7 +8,7 @@ Often these are "reference" ("standing") data, or lookup data/pick lists.
 Typical examples could include categories, countries, states, and tax or interest rate tables.
 
 Where the number of instances is relatively small, ie bounded, then the xref:refguide:applib:index/annotation/DomainObject.adoc#bounding[bounding()] element can be used as a hint.
-For such domain objects the framework will automatically allow instances to be selected; xref:vw:ROOT:about.adoc[Wicket viewer] displays these as a drop-down list.
+For such domain objects the framework will automatically allow instances to be selected; xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] displays these as a drop-down list.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc
index a177509..bba9a4d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc
@@ -18,7 +18,7 @@ public class ToDoItems {
 }
 ----
 
-In the xref:vw:ROOT:about.adoc[Wicket viewer], domain services placed:
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], domain services placed:
 
 * on the `PRIMARY` menu bar appears to the left.
 * on the `SECONDARY` menu bar appear to the right:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc
index 6b7b5dc..6b7910d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc
@@ -13,7 +13,7 @@ This can appear in several contexts, including:
 (see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
-* in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer] (specifically, for bookmarked actions)
+* in the URLs of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] (specifically, for bookmarked actions)
 
 == Example
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_023-describedAs.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_023-describedAs.adoc
index 082476b..49e72c1 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_023-describedAs.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_023-describedAs.adoc
@@ -6,7 +6,7 @@
 
 The xref:refguide:applib:index/annotation/ParameterLayout.adoc#describedAs[describedAs()] element is used to provide a short description of the action parameter to the user.
 
-In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] it is displayed as a 'tool tip'.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_027-typicalLength.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_027-typicalLength.adoc
index cf42415..2c7b368 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_027-typicalLength.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_027-typicalLength.adoc
@@ -34,5 +34,5 @@ public class Customer {
 }
 ----
 
-NOTE: All that said, the xref:vw:ROOT:about.adoc[Wicket viewer] uses the maximum space available for all fields, so in effect ignores this element.
+NOTE: All that said, the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] uses the maximum space available for all fields, so in effect ignores this element.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_025_describedAs.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_025_describedAs.adoc
index 1266450..051d4a5 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_025_describedAs.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_025_describedAs.adoc
@@ -7,7 +7,7 @@
 
 The xref:refguide:applib:index/annotation/PropertyLayout.adoc#describedAs[describedAs()] element is used to provide a short description of the property to the user.
 
-In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] it is displayed as a 'tool tip'.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_31_typicalLength.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_31_typicalLength.adoc
index b9fb4b9..fc93550 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_31_typicalLength.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_31_typicalLength.adoc
@@ -29,5 +29,5 @@ public class Customer {
 }
 ----
 
-NOTE: All that said, the xref:vw:ROOT:about.adoc[Wicket viewer] uses the maximum space available for all fields, so in effect ignores this element.
+NOTE: All that said, the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] uses the maximum space available for all fields, so in effect ignores this element.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/mixins/dto/hooks/Dto_see-also.adoc b/antora/components/refguide-index/modules/applib/pages/index/mixins/dto/hooks/Dto_see-also.adoc
index 68ae699..188d4b6 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/mixins/dto/hooks/Dto_see-also.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/mixins/dto/hooks/Dto_see-also.adoc
@@ -183,7 +183,7 @@ In our case we focus on the validation (to determine the nature of the inbound m
 //The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module provides an out-of-the-box solution of this design.
 //It provides an implementation of the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber], but which simply publishes instances of xref:refguide:schema:ixn.adoc[InteractionDto] to an ActiveMQ queue.
 //Camel (or similar) can then be hooked up to consume these events from this queue, and use a processor to parse the action memento to determine what has changed on the source system.
-//Thereafter, a subsequent Camel processor can then call back to the source - via the xref:vro:ROOT:about.adoc[Restful Objects viewer] - to enrich the message with additional details using a DTO.
+//Thereafter, a subsequent Camel processor can then call back to the source - via the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] - to enrich the message with additional details using a DTO.
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/bookmarkui/hooks/BookmarkUiService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/bookmarkui/hooks/BookmarkUiService_010-implementation.adoc
index 28005a4..f67e361 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/bookmarkui/hooks/BookmarkUiService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/bookmarkui/hooks/BookmarkUiService_010-implementation.adoc
@@ -4,4 +4,4 @@
 
 == Implementation
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] provides an implementation of this service, `o.a.i.viewer.wicket.viewer.services.BookmarkUiServiceWicket`.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] provides an implementation of this service, `o.a.i.viewer.wicket.viewer.services.BookmarkUiServiceWicket`.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_010-implementation.adoc
index c5ac13b..fc861c7 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_010-implementation.adoc
@@ -7,4 +7,4 @@
 
 The framework provides a single grid implementation, `o.a.i.core.metamodel.services.grid.bootstrap3.GridSystemServiceBS3`, which supports Bootstrap3.
 
-(The framework also provides xref:vw:ROOT:about.adoc[Wicket viewer] components that are capable of interpreting and rendering this metadata.
+(The framework also provides xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] components that are capable of interpreting and rendering this metadata.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/hint/hooks/HintStore_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/hint/hooks/HintStore_020-examples-and-usage.adoc
index 6eaa29a..d74fe4f 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/hint/hooks/HintStore_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/hint/hooks/HintStore_020-examples-and-usage.adoc
@@ -11,7 +11,7 @@ An alternative implementation might be more sophisticated (eg implementing an MR
 
 == See Also
 
-* The xref:vw:ROOT:about.adoc[Wicket viewer] exposes the  xref:refguide:viewer:index/wicket/viewer/mixins/Object_clearHints.adoc["clear hints"] mixin action
+* The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] exposes the  xref:refguide:viewer:index/wicket/viewer/mixins/Object_clearHints.adoc["clear hints"] mixin action
 that is for use by end-users of the application to clear any UI hints that have accumulated for a domain object.
 
 * Mutable view models should implement the xref:refguide:applib:index/services/hint/HintIdProvider.adoc[] in order for hints to work.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_010-implementation.adoc
index c396a9e..e1901f2 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_010-implementation.adoc
@@ -5,6 +5,6 @@
 
 == Implementation
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] provides an implementation of this service (`LocaleProviderWicket`) which leverages Apache Wicket APIs.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] provides an implementation of this service (`LocaleProviderWicket`) which leverages Apache Wicket APIs.
 
 There is (currently) no equivalent implementation for the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_010-implementation.adoc
index 969abcc..be33a82 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_010-implementation.adoc
@@ -5,6 +5,6 @@
 
 == Implementation
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] provides an implementation of this service (`TranslationsResolverWicket`) which leverages Apache Wicket APIs.  This searches for translation files in the standard `WEB-INF/` directory.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] provides an implementation of this service (`TranslationsResolverWicket`) which leverages Apache Wicket APIs.  This searches for translation files in the standard `WEB-INF/` directory.
 
 There is no equivalent implementation for the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc
index 498b6fc..636b433 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc
@@ -5,7 +5,7 @@
 
 == Implementation
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] provides an implementation of this service `o.a.i.viewer.wicket.viewer.services.DeepLinkServiceWicket`.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] provides an implementation of this service `o.a.i.viewer.wicket.viewer.services.DeepLinkServiceWicket`.
 
 There is no domain service to support deep links to the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
 However, a URL can be constructed easily enough according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/swagger/hooks/SwaggerService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/swagger/hooks/SwaggerService_020-examples-and-usage.adoc
index 04a704d..c233924 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/swagger/hooks/SwaggerService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/swagger/hooks/SwaggerService_020-examples-and-usage.adoc
@@ -4,7 +4,7 @@
 
 == Usage Notes
 
-Not all of the REST API exposed by the xref:vro:ROOT:about.adoc[Restful Objects viewer] is included in the Swagger schema definition files; the emphasis is those REST resources that are used to develop custom apps: domain objects, domain object collections and action invocations.
+Not all of the REST API exposed by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] is included in the Swagger schema definition files; the emphasis is those REST resources that are used to develop custom apps: domain objects, domain object collections and action invocations.
 
 When combined with Apache Isis' own xref:vro:ROOT:simplified-representations.adoc[simplified representations], these are pretty much all that is needed  for this use case.
 
@@ -16,7 +16,7 @@ The service is_not_ (currently) used by the framework itself; it is provided as
 
 * xref:refguide:viewer:index/restfulobjects/rendering/service/swagger/SwaggerServiceMenu.adoc[SwaggerServiceMenu]
 +
-part of the xref:vro:ROOT:about.adoc[Restful Objects viewer], this provides a prototype action that enables the swagger spec to be downloaded from theUI.
+part of the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)], this provides a prototype action that enables the swagger spec to be downloaded from theUI.
 
 * xref:refguide:testing:index/integtestsupport/applib/swagger/SwaggerExporter.adoc[SwaggerExporter]
 +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/user/hooks/UserService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/user/hooks/UserService_020-examples-and-usage.adoc
index 42ac9ae..029945a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/user/hooks/UserService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/user/hooks/UserService_020-examples-and-usage.adoc
@@ -7,7 +7,7 @@
 
 The roles associated with the `UserMemento` will be based on the configured xref:security:ROOT:about.adoc[security] (typically Shiro).
 
-In addition, when using the xref:vw:ROOT:about.adoc[Wicket viewer] there will be an additional "org.apache.isis.viewer.wicket.roles.USER" role; this is used internally to restrict access to web pages without authenticating.
+In addition, when using the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] there will be an additional "org.apache.isis.viewer.wicket.roles.USER" role; this is used internally to restrict access to web pages without authenticating.
 
 
 == See also
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/userprof/hooks/UserProfileService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/userprof/hooks/UserProfileService_020-examples-and-usage.adoc
index da347d8..235a1f4 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/userprof/hooks/UserProfileService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/userprof/hooks/UserProfileService_020-examples-and-usage.adoc
@@ -5,7 +5,7 @@
 
 This service provides the ability for the domain application to return supplementary metadata about the current user.
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] uses this to customize the appearance of the tertiary "Me" menu bar (top right).
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] uses this to customize the appearance of the tertiary "Me" menu bar (top right).
 For example, rather than display the username, instead the user's first and last name could be displayed.
 
 [NOTE]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc
index c769096..083f756 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc
@@ -15,7 +15,7 @@ If necessary, one can be created on the fly using the `InteractionFactory#runAut
 
 == User Registration
 
-The `EmailNotificationService` supports the xref:vw:ROOT:features.adoc#user-registration[user registration] (self sign-up) features of the xref:vw:ROOT:about.adoc[Wicket viewer] whereby a user can sign-up to access an application by providing a valid email address.
+The `EmailNotificationService` supports the xref:vw:ROOT:features.adoc#user-registration[user registration] (self sign-up) features of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] whereby a user can sign-up to access an application by providing a valid email address.
 
 * The Wicket viewer will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService]) is available, and if so will (unless configured not to) expose a sign-up page where the user enters their email address.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc
index f7bf0b6..43e5b05 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc
@@ -5,7 +5,7 @@
 
 == Usage by the framework
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] supports user registration, relying on
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] supports user registration, relying on
 both the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService] and xref:refguide:applib:index/services/email/EmailService.adoc[EmailService].
 
 The framework provides default implementations of both of these services.
@@ -14,7 +14,7 @@ The email service (`EmailServiceDefault`) _does_ require a couple of configurati
 
 === User sign-up
 
-For user sign-up, the xref:vw:ROOT:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService]) is available, and if so will render a sign-up page where the user enters their email address.
+For user sign-up, the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService]) is available, and if so will render a sign-up page where the user enters their email address.
 A verification email is sent (using the aforementioned `EmailNotificationService`) which includes a link back to the running application; this allows the user then to complete their registration process (choose user name, password and so on).
 When the user has provided the additional details, the Wicket viewer calls _this_ service in order to create an account for them, and then logs the user on.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Blob_usage-notes.adoc b/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Blob_usage-notes.adoc
index f14bf56..652e75d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Blob_usage-notes.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Blob_usage-notes.adoc
@@ -4,23 +4,20 @@
 
 == Usage Notes
 
-Mandatory properties of this type can be mapped with xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] using:
+If using xref:pjdo:ROOT:about.adoc[JDO/DataNucleus], `Blob` properties can be mapped using:
 
 [source,java]
 ----
-import javax.jdo.annotations.Persistent;
-import javax.jdo.annotations.Column;
-
-@Persistent(defaultFetchGroup="false", columns = {
-    @Column(name = "someImage_name"
-            , allowsNull = "false"),
-    @Column(name = "someImage_mimetype"
-            , allowsNull = "false"),
-    @Column(name = "someImage_bytes"
-            , allowsNull = "false")
-})
-private Blob someImage;
+@javax.jdo.annotations.Persistent(defaultFetchGroup="false")
+    @javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
+            @javax.jdo.annotations.Column(name = "attachment_name"),
+            @javax.jdo.annotations.Column(name = "attachment_mimetype"),
+            @javax.jdo.annotations.Column(name = "attachment_bytes", jdbcType = "BLOB", sqlType = "BLOB")
+    })
+@Property(optionality = Optionality.OPTIONAL)
+@Getter @Setter
+private Blob attachment;
 ----
 
-while optional properties can be mapped the same, but using `allowsNull = "true` for each of the ``@Column``s.
+If the property is mandatory, add `allowsNull = "false` for each of the ``@Column``s.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Clob_usage-notes.adoc b/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Clob_usage-notes.adoc
index a8c57db..f79a293 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Clob_usage-notes.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/value/hooks/Clob_usage-notes.adoc
@@ -5,23 +5,18 @@
 
 == Usage Notes
 
-Mandatory properties of this type can be mapped to xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] using:
+If using xref:pjdo:ROOT:about.adoc[JDO/DataNucleus], `Clob` properties can be mapped using:
 
 [source,java]
 ----
-import javax.jdo.annotations.Persistent;
-import javax.jdo.annotations.Column;
-
-@Persistent(defaultFetchGroup="false", columns = {
-    @Column(name = "someClob_name"
-            , allowsNull = "false"),
-    @Column(name = "someClob_mimetype"
-            , allowsNull = "false"),
-    @Column(name = "someClob_chars"
-            , jdbcType = "CLOB"
-            , allowsNull = "false")
+@javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
+        @javax.jdo.annotations.Column(name = "doc_name"),
+        @javax.jdo.annotations.Column(name = "doc_mimetype"),
+        @javax.jdo.annotations.Column(name = "doc_chars", jdbcType = "CLOB", sqlType = "CLOB")
 })
-private Clob someClob;
+@Property( optionality = Optionality.OPTIONAL )
+@Getter @Setter
+private Clob doc;
 ----
 
-while optional properties can be mapped the same, but using `allowsNull = "true` for each of the ``@Column``s.
+If the property is mandatory, add `allowsNull = "false` for each of the ``@Column``s.
diff --git a/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc b/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc
index dfe8696..aeb0ce4 100644
--- a/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc
@@ -26,7 +26,7 @@ This can appear in several contexts, including:
 (see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
-* in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer]
+* in the URLs of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]
 * in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService]
 
 == Examples
diff --git a/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc b/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc
index 8e810eb..26446eb 100644
--- a/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc
@@ -25,7 +25,7 @@ This can appear in several contexts, including:
 (see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
-* in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer]
+* in the URLs of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]
 * in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService]
 
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc b/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc
index f33c04a..6d7352f 100644
--- a/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc
@@ -16,7 +16,7 @@ Service actions are grouped into menu sections.
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (in the `http://isis.apache.org/applib/layout/menubars/bootstrap3` XSD namespace).
 This ability to serialize to/from XML is used by the xref:refguide:applib:index/services/menu/MenuBarsLoaderService.adoc[MenuBarsLoaderService], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
-It also allows the menu bars to be exposed through the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects viewer], as either XML or JSON.
+It also allows the menu bars to be exposed through the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)], as either XML or JSON.
 
 The service action component also allows a link to be associated with it.
 Each such link is populated by the framework automatically when exposing the menu bars layout through the REST API, pointing back to the standard Restful Objects resources.
@@ -31,7 +31,7 @@ The menu classes reside in the `org.apache.isis.applib.layout.menubars.bootstrap
 
 +
 The top-level structure that define three fields: a primary `BS3MenuBar`, secondary `BS3MenuBar` and tertiary `BS3MenuBar`.
-The xref:vw:ROOT:about.adoc[Wicket viewer] places the primary bar to the left, the secondary bar aligned right, and the tertiary bar (expected to consist of just one `BS3Menu`) under the user names.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] places the primary bar to the left, the secondary bar aligned right, and the tertiary bar (expected to consist of just one `BS3Menu`) under the user names.
 
 * `BS3MenuBar`
 
@@ -42,7 +42,7 @@ consisting of one or many ``BS3Menu``s.
 
 +
 consisting of one or many ``BS3MenuSection``s.
-The xref:vw:ROOT:about.adoc[Wicket viewer] renders a separator between each section.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] renders a separator between each section.
 
 * `BS3MenuSection`
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc b/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc
index 12bfd38..dd5330a 100644
--- a/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc
@@ -13,7 +13,7 @@ These classes fall into two main categories:
 * common component classes, that capture the layout metadata for an object's properties, collections and actions.
 These are bound (or associated) to the regions of the grid
 
-The framework provides an implementation of the grid classes modelled closely on link:http://getbootstrap.com[Bootstrap 3], along with xref:vw:ROOT:about.adoc[Wicket viewer] components capable of rendering that grid system.
+The framework provides an implementation of the grid classes modelled closely on link:http://getbootstrap.com[Bootstrap 3], along with xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] components capable of rendering that grid system.
 In principle it is also possible to extend the layout architecture for other grid systems.
 The component classes, though, are intended to be reusable across all grid systems.
 
@@ -21,7 +21,7 @@ The component classes, meanwhile, are broadly equivalent to the "layout" annotat
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (the `component` classes in the `http://isis.apache.org/applib/layout/component` XSD namespace, the bootstrap 3 grid classes in the `http://isis.apache.org/applib/layout/grid/bootstrap3` XSD namespace).
 This ability to serialize to/from XML is used by the xref:refguide:applib:index/services/grid/GridLoaderService.adoc[GridLoaderService], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
-It also allows the grid to be exposed through the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects viewer], as either XML or JSON.
+It also allows the grid to be exposed through the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)], as either XML or JSON.
 
 The various components (properties, collections, actions and domain object) also allow a link to be associated with each.
 These links are populated by the framework automatically when exposing the object layout grid through the REST API, pointing back to the standard Restful Objects resources.
@@ -105,7 +105,7 @@ These map to Bootstrap's link:http://getbootstrap.com/css/#responsive-utilities[
 As you can probably guess, the `BS3Grid` is the top-level object (that is, it is JAXB `@XmlRootElement`); this is the object that is serialized to/from XML.
 
 All of these classes also allow custom CSS to be specified; these are added to the CSS classes for the corresponding `<div`> in the rendered page.
-The xref:vw:ROOT:customisation.adoc#tweaking-css-classes[application.css] file can then be used for application-specific CSS, allowing arbitrary fine-tuning of the layout of the page.
+The xref:vw:ROOT:customisation.adoc#custom-css[application.css] file can then be used for application-specific CSS, allowing arbitrary fine-tuning of the layout of the page.
 
 The XSD for these classes is available at link:http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd[].
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/value-types.adoc b/antora/components/refguide/modules/applib-classes/pages/value-types.adoc
index 16ed3f6..7a0f078 100644
--- a/antora/components/refguide/modules/applib-classes/pages/value-types.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/value-types.adoc
@@ -52,3 +52,5 @@ The framework also defines a number of custom value types:
 * xref:refguide:applib:index/value/LocalResourcePath.adoc[LocalResourcePath]
 * xref:refguide:applib:index/value/Password.adoc[Password]
 
+In addition, there are a number of non-core value types that can be brought in individually.
+These can be found in the xref:valuetypes:ROOT:about.adoc[Value Type Catalog].
diff --git a/antora/components/refguide/modules/applib-methods/pages/ui-hints/cssClass.adoc b/antora/components/refguide/modules/applib-methods/pages/ui-hints/cssClass.adoc
index b14fd6a..17a362c 100644
--- a/antora/components/refguide/modules/applib-methods/pages/ui-hints/cssClass.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/ui-hints/cssClass.adoc
@@ -6,7 +6,7 @@
 
 The `cssClass()` returns a CSS class for a particular object instance.
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] wraps the object's representation in a containing `<div>` with the class added.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] wraps the object's representation in a containing `<div>` with the class added.
 This is done both for rendering the object either in a table or when rendering the object on its own page.
 
 In conjunction with xref:refguide:config:application-specific/application-css.adoc[custom CSS] (usually CSS in the `static/css/application.css`), we can therefore provide custom styling of an object instance wherever it is rendered.
diff --git a/antora/components/refguide/modules/applib-methods/pages/ui-hints/iconName.adoc b/antora/components/refguide/modules/applib-methods/pages/ui-hints/iconName.adoc
index 90001ba..d29fb4d 100644
--- a/antora/components/refguide/modules/applib-methods/pages/ui-hints/iconName.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/ui-hints/iconName.adoc
@@ -5,7 +5,7 @@
 
 
 Every object is represented by an icon; this is based on the domain object's simple name.
-The xref:vw:ROOT:about.adoc[Wicket viewer] searches for the image in the same package as the `.class` file for the domain object or in the `images` package.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] searches for the image in the same package as the `.class` file for the domain object or in the `images` package.
 It will find any matching name and one of the following suffixes `.png`, `.gif`, `.jpeg`, `.jpg` or `.svg`.
 If none is found, then `Default.png` will be used as fallback.
 
diff --git a/antora/components/refguide/modules/applib-svc/pages/about.adoc b/antora/components/refguide/modules/applib-svc/pages/about.adoc
index 89fbdce..97de557 100644
--- a/antora/components/refguide/modules/applib-svc/pages/about.adoc
+++ b/antora/components/refguide/modules/applib-svc/pages/about.adoc
@@ -25,7 +25,7 @@ This is most easily done using the Spring link:https://docs.spring.io/spring-fra
 Generally speaking in such cases higher precedence implementation will be used instead of the framework-provided implementation.
 For some services, though, _all_ available implementations are delegated to; these are typically subscribers such as xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber].
 
-A small number of domain services can be considered both API and SPI; a good example is the xref:refguide:applib:index/services/email/EmailService.adoc[EmailService] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:vw:ROOT:features.adoc#user-registration[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
+A small number of domain services can be considered both API and SPI; a good example is the xref:refguide:applib:index/services/email/EmailService.adoc[EmailService] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:vw:ROOT:features.adoc#user-registration[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 The same is true of the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService]; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for
 xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()] etc.
 For these hybrid services we have categorized the service as an API service.
diff --git a/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-api.adoc b/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-api.adoc
index 49037ba..ace7a6b 100644
--- a/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-api.adoc
+++ b/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-api.adoc
@@ -29,6 +29,6 @@ Domain service APIs for the presentation layer allow the domain objects to contr
 |===
 
 
-CAUTION: The implementations are specific to the particular viewer (xref:vw:ROOT:about.adoc[Wicket viewer] or xref:vro:ROOT:about.adoc[Restful Objects viewer]) so domain code must guard against them being unavailable in some cases.
+CAUTION: The implementations are specific to the particular viewer (xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] or xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)]) so domain code must guard against them being unavailable in some cases.
 
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
index a93c1ae..26f83a7 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
@@ -27,10 +27,10 @@ This milestone also introduces a number of new features:
 
 * New extensions:
 ** xref:userguide:flyway:about.adoc[Flyway] (integrating with Spring Boot's support)
-** xref:vro:cors:[CORS] for the REST API (xref:vro:ROOT:about.adoc[Restful Objects viewer])
-** xref:vw:pdfjs:about.adoc[pdf.js] (for xref:vw:ROOT:about.adoc[Wicket viewer])
-** xref:vw:fullcalendar:about.adoc[fullcalendar] (for xref:vw:ROOT:about.adoc[Wicket viewer])
-** xref:vw:exceldownload:about.adoc[excel download] (for xref:vw:ROOT:about.adoc[Wicket viewer])
+** xref:vro:cors:[CORS] for the REST API (xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)])
+** xref:vw:pdfjs:about.adoc[pdf.js] (for xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)])
+** xref:vw:fullcalendar:about.adoc[fullcalendar] (for xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)])
+** xref:vw:exceldownload:about.adoc[excel download] (for xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)])
 
 Improvements:
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M4/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M4/relnotes.adoc
index 50190e3..901293e 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M4/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M4/relnotes.adoc
@@ -16,7 +16,7 @@ This release also has a reworking/simplification of the command service and back
 This includes new extension modules to persist commands (xref:extensions:command-log:about.adoc[Command Log] and xref:extensions:command-replay:about.adoc[Command Replay], to assist regression testing.
 
 Also in this release, the xref:incubator:kroviz:about.adoc[Kroviz client] has been brought into the incubator.
-This is a single-page app that runs within the browser to provide a UI similar to that of the xref:vw:ROOT:about.adoc[Wicket Viewer], but interacting with the domain application exclusively through the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects Viewer].
+This is a single-page app that runs within the browser to provide a UI similar to that of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], but interacting with the domain application exclusively through the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
 
 The release also includes some preliminary work preparing the way for support for JPA (as an alternative to xref:pjdo:ROOT:about.adoc[JDO/DataNucleus].
 This support is expected to be in the next milestone release.
diff --git a/antora/components/userguide/modules/ROOT/pages/about.adoc b/antora/components/userguide/modules/ROOT/pages/about.adoc
index 8cdcc6f..1a3a633 100644
--- a/antora/components/userguide/modules/ROOT/pages/about.adoc
+++ b/antora/components/userguide/modules/ROOT/pages/about.adoc
@@ -4,18 +4,15 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-This guide introduces the xref:userguide:fun:concepts-patterns.adoc[core concepts] and then an xref:userguide:fun:overview.adoc[overview] of the building blocks of Apache Isis applications.
+This guide introduces the xref:userguide:fun:concepts-patterns.adoc[core concepts] and provides an xref:userguide:fun:overview.adoc[overview] of the building blocks of Apache Isis applications.
 
 It next describes the basics of the Apache Isis' programming model: xref:userguide:fun:domain-entities-and-services.adoc[domain entities and services], xref:userguide:fun:object-members.adoc[object members], xref:userguide:fun:ui.adoc[UI layout and hints], xref:userguide:fun:business-rules.adoc[business rules] and xref:userguide:fun:drop-downs-and-defaults.adoc[drop downs and defaults].
+This includes a discussion on xref:userguide:fun:domain-entities-and-services.adoc#object-management-crud[the basic CRUD operations].
+
 
 It then moves on to discuss some slightly more advanced areas of the programming model: xref:userguide:fun:meta-annotations.adoc[meta-annotations], xref:userguide:fun:view-models.adoc[view models] and xref:userguide:fun:mixins.adoc[mixins].
 These all allow you to develop more sophisticated applications, while remaining maintainable and elegant.
+There is also a discussion on how to structure your application using xref:userguide:fun:modules.adoc[modules].
 
-To finish up, there is a chapter on xref:userguide:fun:domain-entities-and-services.adoc#object-management-crud[CRUD] which runs through these basic operations, and a chapter explaining how to structure your application using xref:userguide:fun:modules.adoc[modules].
-
-There is one further chapter, xref:userguide:btb:about.adoc[Beyond the Basics], which tackles more advanced topics.
-
-As an appendix, the guide also references some of the extensions that you are likely to use often and routinely:
-
-* xref:userguide:flyway:about.adoc[Flyway]
+Finally the xref:userguide:btb:about.adoc[Beyond the Basics] tackles some more advanced topics.
 
diff --git a/antora/components/userguide/modules/_to-repurpose/attachments/.gitkeep b/antora/components/userguide/modules/_to-repurpose/attachments/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/antora/components/userguide/modules/_to-repurpose/attachments/excel/analysis-of-commands-vs-eventmetadata-vs-etc.xlsx b/antora/components/userguide/modules/_to-repurpose/attachments/excel/analysis-of-commands-vs-eventmetadata-vs-etc.xlsx
deleted file mode 100644
index c40606c..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/attachments/excel/analysis-of-commands-vs-eventmetadata-vs-etc.xlsx and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/attachments/excel/command-dto-vs-interaction-dto-vs-interaction.xlsx b/antora/components/userguide/modules/_to-repurpose/attachments/excel/command-dto-vs-interaction-dto-vs-interaction.xlsx
deleted file mode 100644
index 5006103..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/attachments/excel/command-dto-vs-interaction-dto-vs-interaction.xlsx and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/attachments/pptx/commands-vs-actioninvocationevent.pptx b/antora/components/userguide/modules/_to-repurpose/attachments/pptx/commands-vs-actioninvocationevent.pptx
deleted file mode 100644
index 75f7a79..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/attachments/pptx/commands-vs-actioninvocationevent.pptx and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/attachments/theme/isis-logo.png b/antora/components/userguide/modules/_to-repurpose/attachments/theme/isis-logo.png
deleted file mode 100644
index 5284fe7..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/attachments/theme/isis-logo.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/examples/.gitkeep b/antora/components/userguide/modules/_to-repurpose/examples/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/antora/components/userguide/modules/_to-repurpose/images/.gitkeep b/antora/components/userguide/modules/_to-repurpose/images/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/antora/components/userguide/modules/_to-repurpose/images/PDF-50.png b/antora/components/userguide/modules/_to-repurpose/images/PDF-50.png
deleted file mode 100644
index e2694ca..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/PDF-50.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/010-sign-in.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/010-sign-in.pdn
deleted file mode 100644
index efbc714..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/010-sign-in.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/010-sign-in.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/010-sign-in.png
deleted file mode 100644
index f5a61cb..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/010-sign-in.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/020-object-layout.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/020-object-layout.pdn
deleted file mode 100644
index c37c528..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/020-object-layout.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/020-object-layout.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/020-object-layout.png
deleted file mode 100644
index 821aa5e..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/020-object-layout.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/030-declarative-business-rules.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/030-declarative-business-rules.pdn
deleted file mode 100644
index 2c4902d..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/030-declarative-business-rules.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/030-declarative-business-rules.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/030-declarative-business-rules.png
deleted file mode 100644
index 00a9cc1..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/030-declarative-business-rules.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/040-imperative-business-rules.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/040-imperative-business-rules.pdn
deleted file mode 100644
index 086afe6..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/040-imperative-business-rules.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/040-imperative-business-rules.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/040-imperative-business-rules.png
deleted file mode 100644
index 35c5149..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/040-imperative-business-rules.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/050-action-with-args.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/050-action-with-args.pdn
deleted file mode 100644
index d559779..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/050-action-with-args.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/050-action-with-args.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/050-action-with-args.png
deleted file mode 100644
index a9b7ab9..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/050-action-with-args.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/060-action-with-args-autocomplete.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/060-action-with-args-autocomplete.pdn
deleted file mode 100644
index 2082db2..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/060-action-with-args-autocomplete.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/060-action-with-args-autocomplete.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/060-action-with-args-autocomplete.png
deleted file mode 100644
index 6a54333..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/060-action-with-args-autocomplete.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/070-jdo.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/070-jdo.pdn
deleted file mode 100644
index e37df11..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/070-jdo.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/070-jdo.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/070-jdo.png
deleted file mode 100644
index e5459b1..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/070-jdo.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/080-rest-api.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/080-rest-api.pdn
deleted file mode 100644
index 1580e3f..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/080-rest-api.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/080-rest-api.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/080-rest-api.png
deleted file mode 100644
index ded43c9..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/080-rest-api.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/090-integtesting.pdn b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/090-integtesting.pdn
deleted file mode 100644
index 6123b08..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/090-integtesting.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/090-integtesting.png b/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/090-integtesting.png
deleted file mode 100644
index 708d35f..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/index-screenshots/090-integtesting.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/isis-favicon.png b/antora/components/userguide/modules/_to-repurpose/images/isis-favicon.png
deleted file mode 100644
index d1b0ea1..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/isis-favicon.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-48x48.pdn b/antora/components/userguide/modules/_to-repurpose/images/isis-logo-48x48.pdn
deleted file mode 100644
index a540e63..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-48x48.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-48x48.png b/antora/components/userguide/modules/_to-repurpose/images/isis-logo-48x48.png
deleted file mode 100644
index 08e012c..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-48x48.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-568x286.pdn b/antora/components/userguide/modules/_to-repurpose/images/isis-logo-568x286.pdn
deleted file mode 100644
index 13ce035..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-568x286.pdn and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-568x286.png b/antora/components/userguide/modules/_to-repurpose/images/isis-logo-568x286.png
deleted file mode 100644
index df3db1d..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/isis-logo-568x286.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/todoapp/dashboard.png b/antora/components/userguide/modules/_to-repurpose/images/todoapp/dashboard.png
deleted file mode 100644
index 16f2c59..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/todoapp/dashboard.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/todoapp/swagger-ui.png b/antora/components/userguide/modules/_to-repurpose/images/todoapp/swagger-ui.png
deleted file mode 100644
index 32239ae..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/todoapp/swagger-ui.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/images/todoapp/todoitem.png b/antora/components/userguide/modules/_to-repurpose/images/todoapp/todoitem.png
deleted file mode 100644
index 603073b..0000000
Binary files a/antora/components/userguide/modules/_to-repurpose/images/todoapp/todoitem.png and /dev/null differ
diff --git a/antora/components/userguide/modules/_to-repurpose/nav.adoc b/antora/components/userguide/modules/_to-repurpose/nav.adoc
deleted file mode 100644
index ec6e4b9..0000000
--- a/antora/components/userguide/modules/_to-repurpose/nav.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-* Module Template
-
-** xref:about.adoc[About]
-
diff --git a/antora/components/userguide/modules/_to-repurpose/pages/about.adoc b/antora/components/userguide/modules/_to-repurpose/pages/about.adoc
deleted file mode 100644
index b5c499f..0000000
--- a/antora/components/userguide/modules/_to-repurpose/pages/about.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-= About
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-This doc module is empty, intended for use as a template when creating new modules.
-
-
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc
index 03c14b2..10651e6 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/custom-css.adoc
@@ -36,7 +36,7 @@ Custom CSS styles can be associated with specific regions of the layout:
 <3> Ditto
 
 For example the `custom-width-100` style is used to "stretch" the button for the `exportToWordDoc` action in the left-most column.
-For the xref:vw:ROOT:about.adoc[Wicket Viewer] this is accomplished with xref:refguide:config:application-specific/application-css.adoc[custom CSS], usually CSS in the `static/css/application.css` file:
+For the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] this is accomplished with xref:refguide:config:application-specific/application-css.adoc[custom CSS], usually CSS in the `static/css/application.css` file:
 
 [source,css]
 ----
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
index ebdb185..5087bd6 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
@@ -36,8 +36,8 @@ public class SomeLongRunningFixtureScript extends FixtureScript
 == Raise message in the UI
 
 The framework provides the xref:refguide:applib:index/services/message/MessageService.adoc[MessageService] as a means to return an out-of-band message to the end-user.
-In the xref:vw:ROOT:about.adoc[Wicket viewer] these are shown as "toast" pop-ups; the
-xref:vro:ROOT:about.adoc[Restful Objects viewer] returns an HTTP header.
+In the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] these are shown as "toast" pop-ups; the
+xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] returns an HTTP header.
 
 The `UserService` provides three APIs, for different:
 
@@ -55,7 +55,7 @@ None of these messages/errors has any influence on the transaction; any changes
 == Aborting transactions
 
 If you want to abort Apache Isis' transaction, this can be done by throwing an exception.
-The exception message is displayed to the user on the error page (if xref:vw:ROOT:about.adoc[Wicket viewer]) or a 500 status error code (if the
+The exception message is displayed to the user on the error page (if xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]) or a 500 status error code (if the
 xref:vro:ROOT:about.adoc[Restful Objects] viewer).
 
 If the exception thrown is because of an unexpected error (eg a `NullPointerException` in the domain app itself), then the error page will include a stack trace.
diff --git a/antora/components/userguide/modules/btb/pages/i18n.adoc b/antora/components/userguide/modules/btb/pages/i18n.adoc
index d69db2a..9a1ee87 100644
--- a/antora/components/userguide/modules/btb/pages/i18n.adoc
+++ b/antora/components/userguide/modules/btb/pages/i18n.adoc
@@ -9,7 +9,7 @@ Apache Isis' support for internationlization (i18n) allows every element of the
 
 It also supports translations of messages raised imperatively, by which we mean as the result of a call to `title()` to obtain an object's title, or messages resulting from any business rule violations (eg xref:refguide:applib-methods:prefixes.adoc#disable[disable...()] or xref:refguide:applib-methods:prefixes.adoc#validate[validate...()], and so on.
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] (that is, its labels and messages) is also internationalized using the same mechanism.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] (that is, its labels and messages) is also internationalized using the same mechanism.
 If no translations are available, then the Wicket viewer falls back to using Wicket resource bundles.
 
 Isis does not translate the values of your domain objects, though.
diff --git a/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc b/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc
index 1cc0f23..7396593 100644
--- a/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc
+++ b/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc
@@ -39,7 +39,7 @@ But then again, having a separate read model just so that the querying is very s
 It is possible though to use Apache Isis in a CQRS style.
 The entities would have no behaviour in and of themselves to modify their state, they would just be data structures.
 The behaviour (commands) would instead be implemented as xref:userguide:fun:mixins.adoc[mixins] that act upon those commands.
-In the UI (surfaced by the xref:vw:ROOT:about.adoc[Wicket viewer]) or in the REST API (surfaced by the xref:vro:ROOT:about.adoc[RestfulObjects viewer]) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait), only at runtime.
+In the UI (surfaced by the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]) or in the REST API (surfaced by the xref:vro:ROOT:about.adoc[RestfulObjects viewer]) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait), only at runtime.
 However, this wouldn't be true CQRS because those mixins would modify those entities which would then be flushed back to the single database.
 
 Apache Isis' cross-cutting design does allow for denormalized data stores to be implemented.
diff --git a/antora/components/userguide/modules/fun/pages/concepts-patterns/core-values.adoc b/antora/components/userguide/modules/fun/pages/concepts-patterns/core-values.adoc
index 41fdd0e..329dcfe 100644
--- a/antora/components/userguide/modules/fun/pages/concepts-patterns/core-values.adoc
+++ b/antora/components/userguide/modules/fun/pages/concepts-patterns/core-values.adoc
@@ -7,7 +7,7 @@ This section describes the core values that the the Apache Isis framework tries
 
 == Aligned with the Business
 
-Apache Isis is primarily aimed at custom-built "enterprise" applications, with a UI provided by the xref:vw:ROOT:about.adoc[Wicket viewer] is intended to be usable by domain experts, typically end-users within the organization.
+Apache Isis is primarily aimed at custom-built "enterprise" applications, with a UI provided by the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] is intended to be usable by domain experts, typically end-users within the organization.
 
 But why should an organisation build software, when it could just buy it?
 
diff --git a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
index 179e470..20bfe22 100644
--- a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
+++ b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
@@ -32,11 +32,11 @@ Its xref:refguide:applib:index/annotation/DomainService.adoc#nature[#nature()] a
 
 * `VIEW` (the default if not specified)
 +
-which indicates that the actions should appear on the menu of the xref:vw:ROOT:about.adoc[Wicket viewer], and as top-level actions for the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects viewer].
+which indicates that the actions should appear on the menu of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], and as top-level actions for the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
 
 * `REST`
 +
-which indicates that the actions should appear in the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects viewer], but not rendered by the xref:vw:ROOT:about.adoc[Wicket viewer].
+which indicates that the actions should appear in the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)], but not rendered by the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
 
 It's also possible to define a "programmatic" domain service, meaning one that is instantiated and injected by Spring Boot, but is not visible in the UI or REST API.
 For example, the xref:subdomains:docx:about.adoc[Docx Library] provides a domain service that performs mail merge using MS Word, but this domain service is not intended to appear in the UI.
@@ -97,10 +97,10 @@ These can be executed through the xref:refguide:persistence:index/jdo/applib/ser
 
 Menu services provide actions to be rendered on the menu.
 
-For the xref:vw:ROOT:about.adoc[Wicket Viewer], each service's actions appear as a collection of menu items of a named menu, and this menu is on one of the three menu bars provided by the Wicket viewer.
+For the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], each service's actions appear as a collection of menu items of a named menu, and this menu is on one of the three menu bars provided by the Wicket viewer.
 Although these can be organised using annotations, it's usually easier to use a xref:vw:ROOT:menubars-layout.adoc#file-based[file-based layout file] (`menubars.layout.xml`).
 
-For the xref:vro:ROOT:about.adoc[Restful Objects Viewer], all menu services are shown in the services representation.
+For the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)], all menu services are shown in the services representation.
 
 [source,java]
 ----
diff --git a/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
index dc496a1..3fe3002 100644
--- a/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
+++ b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
@@ -189,7 +189,7 @@ public List<Tag> autoCompleteTag(@MinLength(1) search) {
 
 If the action has been associated with a collection, using xref:refguide:applib:index/annotation/Action.adoc#associateWith[@Action#associateWith()], then the collection can be used to provide a list of candidate values.
 
-The xref:vw:ROOT:about.adoc[Wicket Viewer] handles this by rendering checkboxes against the associated collection; the user can select/deselect these checkboxes and the selected items are taken as the values for the multi-select action.
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] handles this by rendering checkboxes against the associated collection; the user can select/deselect these checkboxes and the selected items are taken as the values for the multi-select action.
 
 
 
diff --git a/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc b/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc
index 7bda812..a2e7b8d 100644
--- a/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc
@@ -64,7 +64,7 @@ When the PDF is scanned by the mail room, the barcode could be read to attach th
 
 * similarly within implementations of xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] to persist published action invocations
 
-* and of course both the xref:vro:ROOT:about.adoc[RestfulObjects viewer] and xref:vw:ROOT:about.adoc[Wicket viewer] use the oid tuple to look up, render and allow the user to interact with domain objects.
+* and of course both the xref:vro:ROOT:about.adoc[RestfulObjects viewer] and xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] use the oid tuple to look up, render and allow the user to interact with domain objects.
 
 Although the exact content of an OID should be considered opaque by domain objects, it is possible for domain objects to obtain OIDs.
 These are represented as ``Bookmark``s, obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
diff --git a/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc b/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
index f59935c..06440db 100644
--- a/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
@@ -79,7 +79,7 @@ Similarly, entities might also have a corresponding factory service: a `Customer
 On the other hand, from an end-users' perspective the act of finding an existing object vs creating a new one are quite closely related.
 For this reason, in Apache Isis it's therefore quite common to have a single domain service that acts as both a factory and a repository (and is usually called just a "repository").
 
-The behaviour of these services is rendered in various ways, though the most obvious is as the menu actions on the top-level menu bars in the xref:vw:ROOT:about.adoc[Wicket viewer]'s UI.
+The behaviour of these services is rendered in various ways, though the most obvious is as the menu actions on the top-level menu bars in the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]'s UI.
 
 Domain services can also be used for a number of other purposes:
 
@@ -121,7 +121,7 @@ End users interact with view models in the same way as a domain entity, indeed t
 
 However, whereas domain entities are mapped to a datastore, view models are not.
 Instead they are recreated dynamically by serializing their state, ultimately into the URL itself (meaning their state it is in effect implicitly managed by the client browser).
-You will notice that the URL for view models (as shown in xref:vw:ROOT:about.adoc[Wicket viewer] or xref:vro:ROOT:about.adoc[RestfulObjects viewer]) tends to be quite long.
+You will notice that the URL for view models (as shown in xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] or xref:vro:ROOT:about.adoc[RestfulObjects viewer]) tends to be quite long.
 
 This capability opens up a number of more advanced use cases:
 
@@ -211,7 +211,7 @@ To support this use case, a view model can be defined such that it can act as a
 This is done by annotating the class using JAXB annotations; this allows the consumer to obtain the DTO in XML format along with a corresponding XSD schema describing the structure of that XML.
 
 
-These DTOs are still usable as "regular" view models; they will render in the xref:vw:ROOT:about.adoc[Wicket viewer] just like any other.
+These DTOs are still usable as "regular" view models; they will render in the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] just like any other.
 In fact (as the xref:userguide:fun:view-models.adoc#jaxb[programming model] section below makes clear), these JAXB-annotated view models are in many regards the most powerful of all the alternative ways of writing view models.
 
 It's also worth noting that it is also possible to download the XML (or XSD) straight from the UI, useful during development.
diff --git a/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc b/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc
index fa5a39a..01a1a4a 100644
--- a/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc
@@ -33,7 +33,7 @@ The layout file distinguishes between two types of element:
 
 * those that define a grid structure, of: rows, columns, tab groups and tabs.
 +
-The rows and columns are closely modelled on link:http://getbootstrap.com[Bootstrap 3] (used in the implementation of the xref:vw:ROOT:about.adoc[Wicket viewer]).
+The rows and columns are closely modelled on link:http://getbootstrap.com[Bootstrap 3] (used in the implementation of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]).
 
 * those that define common components, of: fieldsets (previously called member groups or property groups), properties, collections, actions and also the title/icon of the domain object itself.
 
diff --git a/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc b/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc
index 5e7484f..2045cab 100644
--- a/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc
@@ -12,7 +12,7 @@ The icon is often the same for all instances of a particular class, but it's als
 This could represent the state of that object (eg a shipped order, say, or overdue library book).
 
 It is also possible for an object to provide a CSS class hint.
-In conjunction with xref:vw:ROOT:customisation.adoc#tweaking-css-classes[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
+In conjunction with xref:vw:ROOT:customisation.adoc#custom-css[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
 
 Finally, a domain object can even indicate the xref:ui.adoc#object-layout[layout] that should be used to render it.
 For example, a domain object may be rendered differently depending upon the role of the user viewing it.
@@ -263,7 +263,7 @@ public class OrderSubscriptions {
 == Object CSS Styling
 
 It is also possible for an object to return a xref:refguide:applib-methods:ui-hints.adoc#cssclass[CSS class].
-In conjunction with a viewer-specific customisation of CSS (eg for the xref:vw:ROOT:about.adoc[Wicket Viewer], seexref:vw:ROOT:customisation.adoc#tweaking-css-classes[here]) this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
+In conjunction with a viewer-specific customisation of CSS (eg for the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], seexref:vw:ROOT:customisation.adoc#custom-css[here]) this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
 
 === Declarative style
 
@@ -271,7 +271,7 @@ To render an object with a particular CSS, use
 xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClass[@DomainObjectLayout#cssClass()] or in the xref:userguide:fun:ui.adoc#object-layout[layout.xml] file.
 
 The usage of this CSS class is viewer-specific.
-In the case of the xref:vw:ROOT:about.adoc[Wicket Viewer], when the domain object is rendered on its own page, this CSS class will appear on a top-level `<div>`.
+In the case of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], when the domain object is rendered on its own page, this CSS class will appear on a top-level `<div>`.
 Or, when the domain object is rendered as a row in a collection, then the CSS class will appear in a `<div>` wrapped by the `<tr>` of the row.
 
 One possible use case would be to render the most important object types with a subtle background colour: ``Customer``s shown in light green, or ``Order``s shown in a light pink, for example.
diff --git a/antora/components/userguide/modules/fun/partials/_deployment-options.adoc b/antora/components/userguide/modules/fun/partials/_deployment-options.adoc
index e27c6cf..cf86b98 100644
--- a/antora/components/userguide/modules/fun/partials/_deployment-options.adoc
+++ b/antora/components/userguide/modules/fun/partials/_deployment-options.adoc
@@ -18,7 +18,7 @@ Once you've sketched out your domain model, you can then either start-over and d
 
 One of the original motivations for Apache Isis was to be able automatically generate a user interface for a domain object model.
 The framework's architecture allows for different user interface technologies.
-The principal implementation is the xref:vw:ROOT:about.adoc[Wicket viewer], which as well as providing an appealing default user interface also has the ability to be customized the user interface by writing new link:http://wicket.apache.org[Apache Wicket] components.
+The principal implementation is the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], which as well as providing an appealing default user interface also has the ability to be customized the user interface by writing new link:http://wicket.apache.org[Apache Wicket] components.
 The framework provides a xref:extensions:ROOT:about.adoc[number of these].
 
 Deploying on Apache Isis means that the framework also manages object persistence.
@@ -30,7 +30,7 @@ JDO/DataNucleus historically has link:https://www.datanucleus.org/products/acces
 
 == Deploy with custom controllers
 
-If the xref:vw:ROOT:about.adoc[Wicket viewer]'s extensions are too restrictive, another option is to deploy custom controllers/views for specific use cases _alongside_ the generic viewer.
+If the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]'s extensions are too restrictive, another option is to deploy custom controllers/views for specific use cases _alongside_ the generic viewer.
 This way you can use the generic viewer to deliver the majority of the app's functionality, but you can justify the additional effort of writing a custom controller for those specialised/high volume use cases where a different flow is needed.
 
 Because Apache Isis runs on top of link:https://spring.io/projects/spring-boot[Spring Boot], you can easily integrate any of the UI technologies supported by Spring, or of course use Apache Wicket for a similar look-n-feel.
diff --git a/antora/playbooks/site-incubator.yml b/antora/playbooks/site-incubator.yml
index bee0da9..686b6fa 100644
--- a/antora/playbooks/site-incubator.yml
+++ b/antora/playbooks/site-incubator.yml
@@ -46,9 +46,9 @@ content:
     - url: .
       start_path: incubator/viewers/vaadin/adoc # incubator
       branches: HEAD
-    - url: .
-      start_path: incubator/mappings/microprofile/src/main/adoc # incubator
-      branches: HEAD
+#    - url: .
+#      start_path: incubator/mappings/microprofile/src/main/adoc # incubator
+#      branches: HEAD
 
 # mavendeps
     - url: .
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index b7a4a42..a940923 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -163,9 +163,9 @@ content:
     - url: .
       start_path: incubator/viewers/vaadin/adoc # incubator
       branches: HEAD
-    - url: .
-      start_path: incubator/mappings/microprofile/src/main/adoc # incubator
-      branches: HEAD
+#    - url: .
+#      start_path: incubator/mappings/microprofile/src/main/adoc # incubator
+#      branches: HEAD
 
 # legacy
     - url: .
diff --git a/core/config/src/main/adoc/modules/config/pages/about.adoc b/core/config/src/main/adoc/modules/config/pages/about.adoc
index 89463c3..31cae60 100644
--- a/core/config/src/main/adoc/modules/config/pages/about.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/about.adoc
@@ -19,7 +19,7 @@ This chapter describes the configuration properties available to configure an Ap
 Apache Isis distinguishes between the application being run in prototyping mode vs running in production mode.
 The framework calls this the "deployment type" (corresponding internally to the `DeploymentType` class).
 
-A similar concept appears in the link:https://wicket.apache.org[Apache Wicket] framework (which is the library with which the xref:vw:ROOT:about.adoc[Wicket viewer] is implemented, of course).
+A similar concept appears in the link:https://wicket.apache.org[Apache Wicket] framework (which is the library with which the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] is implemented, of course).
 Wicket's term is the "configuration".
 
 .Wicket equivalent concepts
@@ -132,7 +132,7 @@ It looks like this:
 @Import({
         IsisModuleCoreRuntimeServices.class,                    // <.>
         IsisModuleSecurityShiro.class,                          // <.>
-        IsisModuleJdoDataNucleus5.class,                        // <.>
+        IsisModuleJpaEclipselink.class,                         // <.>
         IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,     // <.>
         IsisModuleViewerWicketViewer.class,                     // <.>
         ...
@@ -146,10 +146,14 @@ public class AppManifest {
 <.> Mandatory - specifies the core of the Apache Isis framework
 <.> Enables the Shiro security mechanism.
 There are several security implementations, precisely one must be selected
-<.> Enables JDO/DataNucleus for persistence.
+<.> Enables xref:pjpa:ROOT:about.adoc[JPA/Eclipselink] for persistence.
++
+Alternatively, `IsisModuleJdoDataNucleus5.class` would be specified in order to use xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] instead.
++
 Optional (though if omitted then only xref:userguide:fun:overview.adoc#view-models[view models] may be used, with hand-rolled persistence).
-<.> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
-<.> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
+
+<.> Enables the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
+<.> Enables the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]
 <.> References the application's module(s), in this case just the one, `ApplicationModule`. +
 
 All of the components available are named in the form`IsisModuleXxx`, so they are easy to discover.
@@ -165,7 +169,13 @@ For that matter, so do some of the xref:subdomains:ROOT:about.adoc[subdomain] li
 
 The remainder of this guide lists the various configuration properties available, broken out into logical sections.
 
-=== `IsisConfiguration` domain service
+=== IsisConfiguration domain service
 
 Applications can discover the current configuration properties for the framework (under the `isis` top-level key) by injecting the `IsisConfiguration` domain service.
+There are similar domain services for xref:pjpa:ROOT:about.adoc[JPA/Eclipselink] (`EclipselinkConfiguration`), xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] (`DatanucleusConfiguration`) and RestEasy (`RestEasyConfiguration`),  as used by xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
+
 Applications can also create their own configuration properties file; the xref:docs:starters:simpleapp.adoc[simpleapp] starter app provides an example.
+
+
+
+include::application-specific/application-css.adoc[leveloffset=+1]
diff --git a/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc b/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc
index c6a81eb..753ecc8 100644
--- a/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc
@@ -1,5 +1,5 @@
 [#application-css]
-= `application.css`
+= application.css
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
@@ -12,10 +12,10 @@ All of the layout annotations provide the ability to specify adhoc CSS classes,
 
 CSS can also be specified using the xref:userguide:fun:ui.adoc#object-layout[Xxx.layout.xml] layout files.
 The viewer can then use this information within the rendered page.
-For example, the xref:vw:ROOT:about.adoc[Wicket Viewer] adds the CSS as a style in a containing `<div>` for each element.
+For example, the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] adds the CSS as a style in a containing `<div>` for each element.
 
 The serving of the CSS (containing the style definitions) is also viewer-specific.
-In the case of the xref:vw:ROOT:about.adoc[Wicket Viewer] it uses Spring Boot to serve the CSS file, under `static` package on the classpath.
+In the case of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] it uses Spring Boot to serve the CSS file, under `static` package on the classpath.
 
 The name of the file under `static` is configurable, in either `application.yml` or `application.properties`.
 For example, the xref:docs:starters:simpleapp.adoc[SimpleApp] starter app uses `application.yml`:
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm-description.adoc
index a0b55f1..7c7eb5e 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/customui/vm/WhereInTheWorldVm-description.adoc
@@ -75,7 +75,7 @@ Note that this must _also_ be serializable.
 [source,java,indent=0]
 .WhereInTheWorldPanel.java
 ----
-include::../wicket/WhereInTheWorldPanel.java[tags=onInitialize]
+include::../../../../webapp/wicket/ui/custom/WhereInTheWorldPanel.java[tags=onInitialize]
 ----
 <.> obtain the core framework's `ManagedObject` from the Wicket model...
 <.> \... and obtain the domain object in turn.
@@ -96,7 +96,7 @@ Wicket requires there to be corresponding HTML (`WhereInTheWorld.html`) file for
 [source,java,indent=0]
 .WhereInTheWorldPanel.java
 ----
-include::../wicket/WhereInTheWorldPanel.java[tags=createMapComponent]
+include::../../../../webapp/wicket/ui/custom/WhereInTheWorldPanel.java[tags=createMapComponent]
 ----
 <.> call the `GeoapifyClient` to download the JPEG...
 <.> \... and returns an `Image` component holding same
@@ -106,7 +106,7 @@ include::../wicket/WhereInTheWorldPanel.java[tags=createMapComponent]
 [source,java,indent=0]
 .WhereInTheWorldPanel.java
 ----
-include::../wicket/WhereInTheWorldPanel.java[tags=createPropertyComponent]
+include::../../../../webapp/wicket/ui/custom/WhereInTheWorldPanel.java[tags=createPropertyComponent]
 ----
 <.> obtains the `ObjectSpecification` (the framework's equivalent of `java.lang.Class`) for the domain object
 <.> obtains the `OneToOneAssociation` (the framework's equivalent of a `java.lang.reflect.Method`) for the specified property
diff --git a/extensions/adoc/modules/ROOT/pages/about.adoc b/extensions/adoc/modules/ROOT/pages/about.adoc
index 049b713..01065c2 100644
--- a/extensions/adoc/modules/ROOT/pages/about.adoc
+++ b/extensions/adoc/modules/ROOT/pages/about.adoc
@@ -9,7 +9,7 @@ These typically are for use directly within by the domain application itself.
 
 For convenience, some of the extensions catalogued here are incorporated in other guides:
 
-* in the xref:security:ROOT:about.adoc[security] guide, and the xref:vw:ROOT:about.adoc[wicket viewer] guide).
+* in the xref:security:ROOT:about.adoc[security] guide, and the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] guide).
 +
 These extensions extend the capability of those components, or provide alternative implementations
 
diff --git a/incubator/adoc/modules/ROOT/partials/component-nav.adoc b/incubator/adoc/modules/ROOT/partials/component-nav.adoc
index c7f0015..9868aa9 100644
--- a/incubator/adoc/modules/ROOT/partials/component-nav.adoc
+++ b/incubator/adoc/modules/ROOT/partials/component-nav.adoc
@@ -1,5 +1,4 @@
 include::incubator:ROOT:partial$module-nav.adoc[]
-include::incubator:microprofile:partial$module-nav.adoc[]
 //include::incubator:javafx:partial$module-nav.adoc[]
 include::incubator:kroviz:partial$module-nav.adoc[]
 include::incubator:vaadin:partial$module-nav.adoc[]
diff --git a/incubator/clients/kroviz/adoc/modules/kroviz/pages/about.adoc b/incubator/clients/kroviz/adoc/modules/kroviz/pages/about.adoc
index 51f2243..9ac8f1e 100644
--- a/incubator/clients/kroviz/adoc/modules/kroviz/pages/about.adoc
+++ b/incubator/clients/kroviz/adoc/modules/kroviz/pages/about.adoc
@@ -3,8 +3,8 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The Kroviz client provides a user interface for Apache Isis applications, the same as other viewers such as the xref:vw:ROOT:about.adoc[Wicket Viewer].
-Krovix is called a "client" (rather than a "viewer") because it runs within the web browser, and consumes the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects Viewer].
+The Kroviz client provides a user interface for Apache Isis applications, the same as other viewers such as the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)].
+Krovix is called a "client" (rather than a "viewer") because it runs within the web browser, and consumes the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
 
 
 
diff --git a/mappings/adoc/antora.yml b/mappings/adoc/antora.yml
index 405a629..6678cf1 100644
--- a/mappings/adoc/antora.yml
+++ b/mappings/adoc/antora.yml
@@ -16,7 +16,7 @@
 #  under the License.
 
 name: mappings
-title: "BC Mappings Catalog"
+title: "BC Mapping Libraries"
 version: 2.0.0-M5
 start_page: ROOT:about.adoc
 nav:
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc b/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
index 56112a1..fe485e0 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/setup-and-configuration.adoc
@@ -4,7 +4,7 @@
 
 
 
-This section describes how to include the JDO module and setup its configuration properties.
+This section describes how to include the JDO module and set its configuration properties.
 
 
 == Maven pom.xml
@@ -189,7 +189,7 @@ For example, use `datanucleus.schema.autoCreateAll` not `datanucleus.schema.auto
 
 
 [[persistence-xml]]
-== `persistence.xml`
+== persistence.xml
 
 DataNucleus will for itself also read the `META-INF/persistence.xml`.
 In theory this can hold mappings and even connection strings.
diff --git a/security/adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc b/security/adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc
index 9a04916..11ed436 100644
--- a/security/adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc
+++ b/security/adoc/modules/ROOT/pages/usage-by-isis-viewers.adoc
@@ -11,7 +11,7 @@ By and large the security mechanisms within Isis are transparent to the rest of
 That said, it is the responsibility of the viewers to ensure that for each request there is a valid user session present.
 The sections below explain how this works.
 
-NOTE: the content below also appears in the respective user guides for the xref:vw:ROOT:about.adoc[Wicket Viewer] and the xref:vro:ROOT:about.adoc[Restful Objects viewer].
+NOTE: the content below also appears in the respective user guides for the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] and the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
 
 == Wicket Viewer
 
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
index e37d8b4..e3290ff 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/configuring-isis-to-use-shiro.adoc
@@ -53,7 +53,7 @@ This can be configured in `authentication_shiro.properties` file:
 isis.security.shiro.autoLogoutIfAlreadyAuthenticated=false
 ----
 
-This configuration property only comes into effect for the xref:vro:ROOT:about.adoc[Restful Objects viewer]; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated.
+This configuration property only comes into effect for the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)]; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated.
 
 [WARNING]
 ====
diff --git a/starters/adoc/modules/starters/pages/helloworld.adoc b/starters/adoc/modules/starters/pages/helloworld.adoc
index fc3d8fe..e6acc84 100644
--- a/starters/adoc/modules/starters/pages/helloworld.adoc
+++ b/starters/adoc/modules/starters/pages/helloworld.adoc
@@ -56,7 +56,7 @@ Then browse to link:http://localhost:8080[], and read on.
 
 == Using the App
 
-When you start the app, you'll be presented with a welcome page from which you can access the webapp using either the generic UI provided by xref:vw:ROOT:about.adoc[Wicket viewer] or use Swagger to access the xref:vro:ROOT:about.adoc[Restful Objects viewer]:
+When you start the app, you'll be presented with a welcome page from which you can access the webapp using either the generic UI provided by xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] or use Swagger to access the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)]:
 
 image::helloworld/using/010-root-page.png[width="600px"]
 
@@ -358,9 +358,9 @@ There are several security implementations, precisely one must be selected
 <.> Enables JDO/DataNucleus for persistence.
 Optional (though if omitted then only xref:userguide:fun:overview.adoc#view-models[view models] may be used, with hand-rolled persistence).
 
-<.> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
+<.> Enables the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] (ie REST API).
 
-<.> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
+<.> Enables the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]
 
 <.> Enables the H2 Console (menu from the "Prototyping" menu), applicable only if running against h2 in-memory database.
 
diff --git a/starters/adoc/modules/starters/pages/simpleapp.adoc b/starters/adoc/modules/starters/pages/simpleapp.adoc
index e7df446..6f932aa 100644
--- a/starters/adoc/modules/starters/pages/simpleapp.adoc
+++ b/starters/adoc/modules/starters/pages/simpleapp.adoc
@@ -65,7 +65,7 @@ Then browse to link:http://localhost:8080[], and read on.
 
 == Using the App
 
-When you start the app, you'll be presented with a welcome page from which you can access the webapp using either the generic UI provided by xref:vw:ROOT:about.adoc[Wicket viewer] or use Swagger to access the xref:vro:ROOT:about.adoc[Restful Objects viewer]:
+When you start the app, you'll be presented with a welcome page from which you can access the webapp using either the generic UI provided by xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] or use Swagger to access the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)]:
 
 image::simpleapp/using/010-root-page.png[width="600px"]
 
@@ -743,9 +743,9 @@ There are several security implementations, precisely one must be selected
 +
 If using JDO as the ORM, replace with `IsisModuleJdoDataNucleus5`.
 
-<.> Enables the xref:vro:ROOT:about.adoc[Restful Objects viewer] (ie REST API).
+<.> Enables the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] (ie REST API).
 
-<.> Enables the xref:vw:ROOT:about.adoc[Wicket viewer]
+<.> Enables the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)]
 
 <.> Enables the H2 Console (menu from the "Prototyping" menu), applicable only if running against h2 in-memory database.
 
diff --git a/valuetypes/adoc/modules/ROOT/pages/about.adoc b/valuetypes/adoc/modules/ROOT/pages/about.adoc
index cd5d313..7962428 100644
--- a/valuetypes/adoc/modules/ROOT/pages/about.adoc
+++ b/valuetypes/adoc/modules/ROOT/pages/about.adoc
@@ -3,3 +3,5 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 WARNING: TODO
+
+In addition, the core framework defines a number of value types; see xref:refguide:applib-classes:value-types.adoc[].
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc b/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc
index b09aaab..065383a 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc
@@ -5,7 +5,7 @@
 
 WARNING: TODO - v2 : this documentation has not yet been updated.
 
-Unlike the Wicket viewer, the xref:vro:ROOT:about.adoc[Restful Objects viewer] does *not* provide any sort of login page; rather it provides a pluggable authentication strategy, delegated to by the `IsisSessionFilter` filter (set up by the framework's web bootstrapping).
+Unlike the Wicket viewer, the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] does *not* provide any sort of login page; rather it provides a pluggable authentication strategy, delegated to by the `IsisSessionFilter` filter (set up by the framework's web bootstrapping).
 The authentication strategy is responsible for ensuring that a session is available for the REST resource.
 
 The API of `AuthenticationSessionStrategy` is simply:
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/partials/security/web-xml.adoc b/viewers/restfulobjects/adoc/modules/ROOT/partials/security/web-xml.adoc
index 1bfc660..aaf1bdc 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/partials/security/web-xml.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/partials/security/web-xml.adoc
@@ -6,7 +6,7 @@
 WARNING: TODO v2 - this documentation has not yet been updated.
 
 
-Unlike the Wicket viewer, the xref:vro:ROOT:about.adoc[Restful Objects viewer] does *not* provide any sort of login page; rather it provides a pluggable authentication strategy, delegated to by the `IsisSessionFilter` filter (set up by the framework's web bootstrapping).
+Unlike the Wicket viewer, the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)] does *not* provide any sort of login page; rather it provides a pluggable authentication strategy, delegated to by the `IsisSessionFilter` filter (set up by the framework's web bootstrapping).
 The authentication strategy is responsible for ensuring that a session is available for the REST resource.
 
 The API of `AuthenticationSessionStrategy` is simply:
diff --git a/viewers/wicket/adoc/modules/ROOT/images/about-page/about-page.png b/viewers/wicket/adoc/modules/ROOT/images/about-page/about-page.png
index ae5dfc8..3a802ef 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/about-page/about-page.png and b/viewers/wicket/adoc/modules/ROOT/images/about-page/about-page.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-940.png b/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-940.png
deleted file mode 100644
index c572707..0000000
Binary files a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-940.png and /dev/null differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio-940.png b/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio-940.png
deleted file mode 100644
index 2fad852..0000000
Binary files a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio-940.png and /dev/null differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio.png b/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio.png
index 0fa0cfa..7ca24fc 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio.png and b/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel-estatio.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel.png b/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel.png
deleted file mode 100644
index b0d85f7..0000000
Binary files a/viewers/wicket/adoc/modules/ROOT/images/bookmarked-pages/panel.png and /dev/null differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/features/recent-pages/recent-pages.png b/viewers/wicket/adoc/modules/ROOT/images/features/recent-pages/recent-pages.png
deleted file mode 100644
index 8be97de..0000000
Binary files a/viewers/wicket/adoc/modules/ROOT/images/features/recent-pages/recent-pages.png and /dev/null differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/security/WebPage-hierarchy.png b/viewers/wicket/adoc/modules/ROOT/images/security/WebPage-hierarchy.png
new file mode 100644
index 0000000..0eed8c8
Binary files /dev/null and b/viewers/wicket/adoc/modules/ROOT/images/security/WebPage-hierarchy.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/user-registration/login-page-default.png b/viewers/wicket/adoc/modules/ROOT/images/user-registration/login-page-default.png
index fdf2dee..2add72e 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/user-registration/login-page-default.png and b/viewers/wicket/adoc/modules/ROOT/images/user-registration/login-page-default.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-login-page-after-sign-up.png b/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-login-page-after-sign-up.png
index 3402bf6..c4a30d8 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-login-page-after-sign-up.png and b/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-login-page-after-sign-up.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-page.png b/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-page.png
index 8e3bdaa..5dfd3d1 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-page.png and b/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-page.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-registration-page.png b/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-registration-page.png
index 189965a..a4598a3 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-registration-page.png and b/viewers/wicket/adoc/modules/ROOT/images/user-registration/sign-up-registration-page.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/images/where-am-i/hello_grey_bg.png b/viewers/wicket/adoc/modules/ROOT/images/where-am-i/hello_grey_bg.png
index e215cc3..254ebdd 100644
Binary files a/viewers/wicket/adoc/modules/ROOT/images/where-am-i/hello_grey_bg.png and b/viewers/wicket/adoc/modules/ROOT/images/where-am-i/hello_grey_bg.png differ
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/about.adoc b/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
index 6153684..89d2f27 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/about.adoc
@@ -3,8 +3,6 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-aliases: guides:ugvw:ugvw.adoc
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
-
 The Wicket Viewer automatically exposes an Apache Isis domain object model for use by end-users.
 The viewer is implemented using link:http://wicket.apache.org[Apache Wicket].
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc b/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc
deleted file mode 100644
index 0abc426..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc
+++ /dev/null
@@ -1,942 +0,0 @@
-= Configuration Properties
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
-
-The xref:refguide:config:about.adoc[Configuration Guide] includes a xref:refguide:config:sections/isis.viewer.wicket.adoc[section] for the Wicket viewer.
-
-// TODO - v2 - detail on original config properties (not yet reviewed) currently commented out.
-
-//Wicket configuration properties alter the way in which Apache Isis' Wicket viewer renders domain objects.
-//
-//== Loading Configuration Properties
-//
-//Configuration properties are typically stored in `WEB-INF/isis.properties` or in `WEB-INF/viewer_wicket.properties`.
-//
-//To tell Apache Isis that the Wicket viewer is in use (and should therefore search for the `viewer_wicket.properties` file), add the following to `WEB-INF/web.xml`:
-//
-// TODO: v2: is this still supported?  I doubt it.
-//
-//[source, xml]
-//----
-//<context-param>
-//    <param-name>isis.viewers</param-name>
-//    <param-value>wicket</param-value>
-//</context-param>
-//----
-//
-//Alternatively, because most of these configuration properties tend not to change between environment (development and production), another practice is to load them programmatically from the `AppManifest`:
-//
-// TODO: v2: any reference to AppManifestAbstract will need updating.
-//
-//[source,java]
-//----
-//public class MyAppAppManifest extends AppManifestAbstract2 {
-//
-//    public static final Builder BUILDER = Builder
-//            .forModule(new MyApplicationModule())
-//            //...
-//            .withConfigurationPropertiesFile(
-//            MyAppManifest.class, "isis-non-changing.properties") ;
-//
-//    ...
-//}
-//----
-//
-//where `isis-non-changing.properties` is on the classpath in the same package as `MyAppAppManifest`.
-//
-//Whichever approach is used, the configuration properties from all config files are merged together.
-//
-//
-//== Application Identity
-//
-//Configuration properties that identify the application, in the sign-in page, welcome and about pages.
-//
-//These also include top-level overrides for CSS and JavaScript.
-//
-//.Application Identity
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//|`isis.viewer.wicket.` +
-//`application.about`
-//|Apache Isis â„¢
-//|Label used on the about page.
-//
-//If not specified, then `application.name` is used instead.
-//
-//|`isis.viewer.wicket.` +
-//`application.` +
-//`brandLogoHeader`
-//|Image URL
-//|Either the location of the image file (relative to `src/main/webapp`), 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.` +
-//`brandLogoSignin`
-//|Image URL
-//|Either the location of the image file (relative to `src/main/webapp`), 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`
-//|File name +
-//(_`scripts/application.css`_)
-//|File to read any custom CSS, relative to `src/main/webapp` directory.
-//
-//|`isis.viewer.wicket.` +
-//`application.js`
-//|File name +
-//(_`scripts/application.js`_)
-//|File to read any custom JavaScript, relative to `src/main/webapp` directory.
-//
-//|`isis.viewer.wicket.` +
-//`application.name`
-//|Apache Isis â„¢
-//|Identifies the application on the sign-in page (unless a `brandLogoSignin` image is configured) and on top-left in the header (unless a `brandLogoHeader` image is configured).
-//
-//|`isis.viewer.wicket.` +
-//`application.version`
-//|(none)
-//|The version of the application, eg `1.0`, `1.1`, or something more complex such as `20181115.2011.EST-1862.8d8e1c16`.
-//
-//If present, then this will be shown in the footer on every page as well as on the about page.
-//
-//See below for further discussion on this topic.
-//
-//
-//|`isis.viewer.wicket.` +
-//`welcome.file`
-//|File name +
-//(_`welcome.html`_)
-//|Location of the HTML file (relative to `src/main/webapp`) whose contents should be displayed on the application's home page.
-//
-//Note though that if a xref:refguide:applib:index/annotation/HomePage.adoc[@HomePage] action exists, then that will take precedence.
-//
-//If no welcome file exists, then the value of `welcome.text` is shown as a fallback.
-//
-//|`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.
-//
-//Note though that if a xref:refguide:applib:index/annotation/HomePage.adoc[@HomePage] action exists, then that will take precedence.
-//
-//
-//|===
-//
-//
-//
-//
-//=== Application versioning
-//
-//If the `isis.viewer.wicket.application.version` configuration property is present, then this will be shown in the footer on every page as well as on the about page.
-//
-//However, maintaining this configuration property manually is likely to be error prone.
-//An alternative approach is to configure your build system to generate a version identifier automatically.
-//
-//For example, the version `20181115.2011.EST-1862.8d8e1c16` consists of four parts:
-//
-//* the date of the build
-//* the time of the build (to the nearest minute)
-//* the branch
-//* the git shaId
-//
-//This can be computed using a simple script, for example:
-//
-//[source,bash]
-//----
-//DATE=$(date +%Y%m%d.%H%M)
-//BRANCH=$(echo $GIT_BRANCH | sed 's|^rel/||g' | sed 's|[.]|_|g' | awk -F/ '{ print $NF }')
-//GIT_SHORT_COMMIT=$(echo $GIT_COMMIT | cut -c1-8)
-//APPLICATION_VERSION=$DATE.$BRANCH.$GIT_SHORT_COMMIT
-//----
-//
-//where `$GIT_BRANCH` and `$GIT_COMMIT` are provided by the CI server/build environment.
-//
-//This environment variable can be passed into the (Maven) build using a system property, for example:
-//
-//[source,bash]
-//----
-//mvn -DapplicationVersion=$APPLICATION_VERSION clean install
-//----
-//
-//Suppose we now provide a file `application-version.properties` is in the same package as the app manifest file, but in the `src/main/resources` directory:
-//
-//[source,ini]
-//.application-version.properties
-//----
-//isis.viewer.wicket.application.version=$\{applicationVersion}
-//----
-//
-//then Maven will automatically interpolate the actual revision when this file is copied over to the build (ie `target/classes`) directory.
-//
-//The last step is for Spring Boot to also load this file.
-//One way to do this is using the Spring link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/PropertySource.html[@PropertySource] annotation on the top-level "app manifest":
-//
-//[source,java]
-//----
-//@Configuration
-//@Import({
-//        IsisModuleCoreRuntimeServices.class,
-//        IsisModuleSecurityShiro.class,
-//        IsisModuleJdoDataNucleus5.class,
-//        IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
-//        IsisModuleViewerWicketViewer.class,
-//
-//        /* ... application-specific modules ... */
-//})
-//@PropertySource("classpath:application-version.properties")     //<1>
-//public class AppManifest {
-//}
-//----
-//<1> picks up the additional configuration property.
-//
-//
-//
-//
-//
-//== Sign-in, Sign-up and Remember Me
-//
-//Configuration properties that influence the behaviour and appearance of the sign-in page.
-//
-//.Sign-in, Sign-up and Remember Me
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//|`isis.viewer.wicket.` +
-//`rememberMe.cookieKey`
-//| ascii chars +
-//(`_isisWicketRememberMe_`)
-//|Cookie key holding the (encrypted) 'rememberMe' user/password.
-//There is generally no need to change this.
-//
-//Valid values as per link:http://stackoverflow.com/a/1969339/56880[this StackOverflow answer].
-//
-//|`isis.viewer.wicket.` +
-//`rememberMe.encryptionKey`
-//| any string +
-//(in prod, a random UUID each time)
-//|Encryption key is used to encrypt the rememberMe user/password.
-//
-//Apache Isis leverages link:http://wicket.apache.org[Apache Wicket]'s rememberMe support which holds remembered user/passwords in an encrypted cookie.
-//
-//If a hard-coded and publicly known value were to be used (as was the case prior to `1.13.0`), then it would be possible for rememberMe user/password to be intercepted and decrypted, possibly compromising access.
-//This configuration property therefore allows a private key to be specified, baked into the application.
-//
-//If no value is set then, in production, a random UUID will be used as the encryption key.
-//The net effect of this fallback behaviour is that 'rememberMe' will work, but only until the webapp is restarted (after which the end-user will have to log in again.
-//In prototype mode, though, a fixed key will still be used; this saves the developer having to login each time.
-//
-//|`isis.viewer.wicket.` +
-//`rememberMe.suppress`
-//| `true`,`false` +
-//(`_false_`)
-//|Whether to suppress "remember me" checkbox on the login page.
-//
-//Further discussion xref:vw:ROOT:configuration-properties.adoc#sign-in_remember-me[below].
-//
-//|`isis.viewer.wicket.` +
-//`suppressPasswordReset`
-//| `true`,`false` +
-//(`_false_`)
-//|If user registration is enabled, whether to suppress the "password reset" link on the login page.
-//
-//Further discussion xref:vw:ROOT:configuration-properties.adoc#sign-in_password-reset[below].
-//
-//|`isis.viewer.wicket.` +
-//`suppressSignUp`
-//| `true`,`false` +
-//(`_false_`)
-//|Whether to suppress "sign-up" link.
-//
-//Note though that user registration services must also be configured.
-//
-//Further discussion xref:vw:ROOT:configuration-properties.adoc#sign-in_sign-up[below].
-//
-//
-//|===
-//
-//
-//
-//=== Remember Me
-//
-// TODO: v2: these screenshots could be updated, perhaps now with secman we could use examples from helloworld?
-//
-//The 'remember me' checkbox on the login page can be suppressed, if required, by setting a configuration flag:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.rememberMe.suppress=true
-//----
-//
-//
-//With 'remember me' not suppressed (the default):
-//
-//image::suppress-remember-me/login-page-default.png[width="300px"]
-//
-//and with the checkbox suppressed:
-//
-//image::suppress-remember-me/login-page-suppress-remember-me.png[width="300px"]
-//
-//
-//
-//
-//
-//
-//=== Sign-up
-//
-//If user registration has been configured, then the Wicket viewer allows the user to sign-up a new account and to reset their password from the login page.
-//
-//The 'sign up' link can be suppressed, if required, by setting a configuration flag.
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.suppressSignUp=true
-//----
-//
-//
-//With 'sign up' not suppressed (the default):
-//
-//image::suppress-sign-up/login-page-default.png[width="300px"]
-//
-//and with the link suppressed:
-//
-//image::suppress-sign-up/login-page-suppress-sign-up.png[width="300px"]
-//
-//
-//
-//=== Password Reset
-//
-//If user registration has been configured, then the Wicket viewer allows the user to sign-up a new account and to reset their password from the login page.
-//
-//The 'password reset' link can be suppressed, if required, by setting a configuration flag:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.suppressPasswordReset=true
-//----
-//
-//
-//With 'password reset' not suppressed (the default):
-//
-//image::suppress-password-reset/login-page-default.png[width="300px"]
-//
-//and with the link suppressed:
-//
-//image::suppress-password-reset/login-page-suppress-password-reset.png[width="300px"]
-//
-//
-//
-//
-//
-//
-//== Header and Footer
-//
-//Configuration properties that influence the appearance of the header and footer panels.
-//
-//See also the xref:vw:ROOT:configuration-properties.adoc#bookmarks-and-breadcrumbs[bookmarks and breadcrumbs] and xref:vw:ROOT:configuration-properties.adoc#themes
-//[themes] configuration properties, because these also control UI elements that appear on the header/footer panels.
-//
-//.Header and Footer
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//
-//|`isis.viewer.wicket.` +
-//`credit.1.image`
-//|File path
-//|File path to a logo image for the first credited organisation, relative to `src/main/webapp` directory.
-//
-//For example: +
-//`/images/apache-isis/logo-48x48.png`.
-//
-//Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
-//
-//|`isis.viewer.wicket.` +
-//`credit.1.name`
-//|String
-//|Name of the first credited organisation.
-//
-//For example: "Apache Isis"
-//
-//Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
-//
-//|`isis.viewer.wicket.` +
-//`credit.1.url`
-//|URL
-//|URL to the website of the first credited organisation.
-//
-//For example: +
-//`http://isis.apache.org`.
-//
-//Optional.
-//
-//|`isis.viewer.wicket.` +
-//`credit.2.image`
-//|File path
-//|File path to a logo image for the second credited organisation, relative to `src/main/webapp` directory.
-//
-//Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
-//
-//|`isis.viewer.wicket.` +
-//`credit.2.name`
-//|String
-//|Name of the second credited organisation.
-//
-//Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
-//
-//|`isis.viewer.wicket.` +
-//`credit.2.url`
-//|URL
-//|URL to the website of the second credited organisation.
-//
-//Optional.
-//
-//|`isis.viewer.wicket.` +
-//`credit.3.image`
-//|File path
-//|File path to a logo image for the third credited organisation, relative to `src/main/webapp` directory.
-//
-//Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
-//
-//|`isis.viewer.wicket.` +
-//`credit.3.name`
-//|String
-//|Name of the third credited organisation.
-//
-//Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
-//
-//|`isis.viewer.wicket.` +
-//`credit.3.url`
-//|URL
-//|URL to the website of the third credited organisation.
-//
-//Optional.
-//
-//|`isis.viewer.wicket.showFooter`
-//| `true`,`false` +
-//(`_true_`)
-//| Whether to show the footer at all.
-//
-//|===
-//
-//
-//
-//== Presentation
-//
-//These configuration properties that effect the overall presentation and appearance of the viewer.
-//
-// TODO: v2: we should rename these
-//
-//[NOTE]
-//====
-//Some of the properties below use the prefix `isis.viewers.` (rather than the usual `isis.viewer.wicket.`).
-//====
-//
-//.Presentation
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(default value)
-//|Description
-//
-//
-//|`isis.viewers.` +
-//`collectionLayout.` +
-//`defaultView`
-//|`hidden`, `table` +
-//(`hidden`)
-//|Default for the default view for all (parented) collections if not explicitly specified using xref:refguide:applib:index/annotation/CollectionLayout.adoc#defaultView[@CollectionLayout#defaultView()]
-//
-//By default the framework renders (parented) collections as "hidden", ie collapsed.
-//These can be overridden on a case-by-case basis using the xref:refguide:applib:index/annotation/CollectionLayout.adoc#defaultView[@CollectionLayout#defaultView()] or the corresponding `<collectionLayout defaultView="...">` element in the `Xxx.layout.xml` layout file.
-//
-//If the majority of collections should be displayed as "table" form, then it is more convenient to specify the default view globally.
-//
-//
-//|`isis.viewers.` +
-//`paged.parented`
-//|positive integer (12)
-//|Default page size for parented collections (as owned by an object, eg `Customer#getOrders()`)
-//
-//
-//|`isis.viewers.` +
-//`paged.standalone`
-//|positive integer (25)
-//|Default page size for standalone collections (as returned from an action invocation)
-//
-//
-//|`isis.viewers.` +
-//`propertyLayout.` +
-//`labelPosition`
-//|`TOP`, `LEFT` +
-//(`LEFT`)
-//|Default for label position for all properties if not explicitly specified using xref:refguide:applib:index/annotation/PropertyLayout.adoc#labelPosition[@PropertyLayout#labelPosition()]
-//
-//
-//If you want a consistent look-n-feel throughout the app, eg all property labels to the top, then it'd be rather frustrating to have to annotate every property.
-//
-//If these are not present then Apache Isis will render according to internal defaults.
-//At the time of writing, this means labels are to the left for all datatypes except multiline strings.
-//
-//
-//|`isis.viewer.wicket.` +
-//`maxTitleLength` +
-//`InParentedTables`
-//| +ve integer +
-//(`_12_`)
-//| See further discussion (immediately below).
-//
-//|`isis.viewer.wicket.` +
-//`maxTitleLength` +
-//`InStandaloneTables`
-//| +ve integer, +
-//(`_12_`)
-//| See further discussion (immediately below).
-//
-//|`isis.viewer.wicket.` +
-//`maxTitleLengthInTables`
-//| +ve integer, +
-//(`_12_`)
-//| See further discussion (immediately below).
-//
-//|`isis.viewer.wicket.` +
-//`promptStyle`
-//|`dialog`,`inline`, +
-//`inline_as_if_edit` +
-//(`inline`)
-//| whether the prompt for editing a domain object property or invoking an action (associated with a property) is shown inline within the property's form, or instead shown in a modal dialog box.
-//For actions, `inline_as_if_edit` will suppress the action's button, and instead let the action be invoked as if editing the property.
-//The net effect is that being able to "edit" complex properties with multiple parts (eg a date) using a multi-argument editor (this editor, in fact, being the action's argument panel).
-//
-//The property can be overridden on a property-by-property basis using xref:refguide:applib:index/annotation/PropertyLayout.adoc#promptStyle[@Property#promptStyle()]) or  xref:refguide:applib:index/annotation/ActionLayout.adoc#promptStyle[@Action#promptStyle()]).
-//
-//Note that `inline_as_if_edit` does not make sense for a configuration property default, and will instead be interpreted as `inline`.
-//
-//
-//|`isis.viewer.wicket.` +
-//`dialogMode`
-//| `sidebar`,`modal` +
-//(`_sidebar_`)
-//| Whether an action on a domain object (entity or view model) which prompts with a style of `DIALOG` - as in, `@ActionLayout(promptStyle="DIALOG")` - should be rendered using a sidebar or alternatively in a modal dialog box.
-//
-//See the discussion on the xref:vw:ROOT:features.adoc#sidebar-vs-modal-dialogs[sidebar vs modal dialogs] feature for further details.
-//
-//|`isis.viewer.wicket.` +
-//`dialogModeForMenu`
-//| `sidebar`,`modal` +
-//(`_sidebar_`)
-//| Whether an action for a domain service should be rendered using a sidebar or alternatively in a modal dialog box.
-//
-//See the discussion on the xref:vw:ROOT:features.adoc#sidebar-vs-modal-dialogs[sidebar vs modal dialogs] feature for further details.
-//
-//
-//
-//|===
-//
-//
-//Objects whose title is overly long can be cumbersome in titles.
-//The Wicket viewer has a xref:vw:ROOT:features.adoc#titles-in-tables[mechanism to automatically shorten] the titles of objects specified using `@Title`.
-//As an alternative/in addition, the viewer can also be configured to simply truncate titles longer than a certain length.
-//
-//The properties themselves are:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.maxTitleLengthInStandaloneTables=20
-//isis.viewer.wicket.maxTitleLengthInParentedTables=8
-//----
-//
-//If you wish to use the same value in both cases, you can also specify just:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.maxTitleLengthInTables=15
-//----
-//
-//This is used as a fallback if the more specific properties are not provided.
-//
-//If no properties are provided, then the Wicket viewer defaults to abbreviating titles to a length of `12`.
-//
-//
-//
-//
-//
-//
-//
-//== Bookmarks and Breadcrumbs
-//
-//These configuration properties enable or disable the mechanisms for locating previously accessed objects.
-//
-//.Bookmarks and Breadcrumbs
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//|`isis.viewer.wicket` +
-//`whereAmI.` +
-//`maxParentChainLength`
-//| +ve int +
-//(`_64_`)
-//| The number of levels to show in the "Where am I" chain.
-//
-//|`isis.viewer.wicket.` +
-//`bookmarkedPages.maxSize`
-//| +ve int +
-//(`_15_`)
-//| number of pages to bookmark
-//
-//|`isis.viewer.wicket.` +
-//`bookmarkedPages.showChooser`
-//| +ve int +
-//(`_15_`)
-//| whether to show the bookmark panel (top-left in the Wicket viewer)
-//
-//|`isis.viewer.wicket.` +
-//`breadcrumbs.showChooser`
-//| `true`,`false` +
-//(`_true_`)
-//| Whether to show chooser for Breadcrumbs (bottom-left footer in the Wicket viewer)
-//
-//
-//
-//|===
-//
-//
-//
-//
-//== Themes
-//
-//These configuration properties control the switching of themes.
-//
-//.Themes
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(default value)
-//|Description
-//
-//|`isis.viewer.wicket.` +
-//`themes.enabled`
-//| comma separated list ...
-//| \... of bootswatch themes.  Only applies if `themes.showChooser`==`true`.
-//
-//See further discussion below.
-//
-//|`isis.viewer.wicket.` +
-//`themes.initial`
-//| theme name
-//| Which theme to show initially.
-//
-//See further discussion below.
-//
-//|`isis.viewer.wicket.` +
-//`themes.showChooser`
-//| `true`,`false` +
-//(`_false_`)
-//| Whether to show chooser for Bootstrap themes.
-//
-//See further discussion below.
-//
-//|`isis.viewer.wicket.` +
-//`themes.default`
-//| bootswatch theme name +
-//(`_Flatly_`)
-//| Which Bootstrap theme to use by default.
-//
-//
-//|===
-//
-//
-//
-//The Wicket viewer uses link:http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
-//
-//By default the viewer uses the "Flatly" theme from http://bootswatch.com[bootswatch.com].
-//This can be overridden using the following configuration property:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.themes.initial=Darky
-//----
-//
-//[TIP]
-//====
-//Set this configuration property to different values for different environments (dev, test, prod) so you can know at a glance which environment you are connected to.
-//====
-//
-//The end-user can also be given the choice of changing the theme:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.themes.showChooser=true
-//----
-//
-//.Example 1
-//image::theme-chooser/example-1.png[width="720px"]
-//
-//
-//.Example 2:
-//image::theme-chooser/example-2.png[width="720px"]
-//
-//
-//It is also possible to restrict the themes shown to some subset of those in bootswatch.
-//This is done using a further
-//property:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.themes.enabled=bootstrap-theme,Cosmo,Flatly,Darkly,Sandstone,United
-//----
-//
-//where the value is the list of themes (from http://bootswatch.com[bootswatch.com]) to be made available.
-//
-//[TIP]
-//====
-//You can also develop and install a custom themes (eg to fit your company's look-n-feel/interface guidelines); see the xref:vw:ROOT:extending.adoc#custom-bootstrap-theme[Extending] chapter for further details.
-//====
-//
-//
-//
-//== Date Formatting & Date Picker
-//
-//These configuration properties influence the way in which date/times are rendered and can be selected using the date/time pickers.
-//
-//.Date Formatting & Date Picker
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//
-//|`isis.viewer.wicket.` +
-//`datePattern`
-//| date format +
-//(`dd-MM-yyyy`)
-//|The `SimpleDateFormat` used to render dates.
-//For the date picker (which uses `moment.js` library), this is converted dynamically into the corresponding `moment.js` format.
-//
-//|`isis.viewer.wicket.` +
-//`dateTimePattern`
-//| date/time format +
-//(`dd-MM-yyyy HH:mm`)
-//|The `SimpleDateFormat` used to render date/times.
-//For the date picker (which uses `moment.js` library), this is
-//converted dynamically into the corresponding `moment.js` format.
-//
-//|`isis.viewer.wicket.` +
-//`datePicker.maxDate`
-//| ISO format date +
-//(`2100-01-01T00:00:00.000Z`)
-//|Specifies a maximum date after which dates may not be specified.
-//
-//See link:http://eonasdan.github.io/bootstrap-datetimepicker/Options/#maxdate[datetimepicker reference docs] for further details.
-//The string must be in ISO date format (see link:https://github.com/moment/moment/issues/1407[here]
-//for further details).
-//
-//|`isis.viewer.wicket.` +
-//`datePicker.minDate`
-//| ISO format date +
-//(`1900-01-01T00:00:00.000Z`)
-//|Specifies a minimum date before which dates may not be specified.
-//
-//See link:http://eonasdan.github.io/bootstrap-datetimepicker/Options/#mindate[datetimepicker reference docs] for further details.
-//The string must be in ISO date format (see link:https://github.com/moment/moment/issues/1407[here] for further details).
-//
-//
-//|`isis.viewer.wicket.` +
-//`timestampPattern`
-//| date/time format +
-//(`yyyy-MM-dd HH:mm:ss.SSS`)
-//|The `SimpleDateFormat` used to render timestamps.
-//
-//
-//
-//
-//|===
-//
-//
-//== Debugging
-//
-//These configuration properties can assist with debugging the behaviour of the Wicket viewer itself.
-//
-//.Debugging
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//|`isis.viewer.wicket.` +
-//`ajaxDebugMode`
-//| `true`,`false` +
-//(`_false_`)
-//| whether the Wicket debug mode should be enabled.
-//
-//|`isis.viewer.wicket.` +
-//`developmentUtilities.enable`
-//| `true`,`false` +
-//(`_false_`)
-//| when running in production mode, whether to show enable the Wicket development utilities anyway.
-//From a UI perspective, this will cause the DebugBar to be shown (top-right).
-//
-//If running in prototyping mode, the development utilities (debug bar) is always enabled.
-//This feature is primarily just to help track any memory leakage issues that might be suspected when running in production.
-//
-//|`isis.viewer.wicket.` +
-//`liveReloadUrl`
-//| URL
-//|Specifies the URL if live reload is set up, eg: +
-//`http://localhost:35729/livereload.js?snipver=1`
-// xref:setupguide:intellij:hints-and-tips.adoc#using-gradle-for-livereload[live reload] is set up, eg: +
-//
-//|`isis.viewer.wicket.` +
-//`stripWicketTags`
-//| `true`,`false` +
-//(`_true_`)
-//| Whether to force Wicket tags to be stripped in prototype/development mode.
-//
-//[NOTE]
-//====
-//In 1.7.0 and earlier, the behaviour is different; the Apache Isis Wicket viewer will preserve wicket tags when running in Apache Isis' prototype/development mode, but will still strip wicket tags in Apache Isis' server/deployment mode.
-//
-//We changed the behaviour in 1.8.0 because we found that Internet Explorer can be sensitive to the presence of Wicket tags.
-//====
-//
-//|`isis.viewer.wicket.` +
-//`wicketSourcePlugin`
-//| `true`,`false` +
-//(`_false_`)
-//| Whether the WicketSource plugin should be enabled; by default it is not enabled.
-//
-//[WARNING]
-//====
-//Enabling this setting can significantly slow down rendering performance of the Wicket viewer.
-//====
-//
-//|===
-//
-//
-//
-//
-//
-//
-//
-//
-//
-//== Feature Toggles
-//
-//These configuration properties are used to enable/disable features that are either on the way to becoming the default behaviour (but can temporarily be disabled) or conversely for features that are to be removed (but can temporarily be left as enabled).
-//
-//.Feature Toggles
-//[cols="2a,1,3a", options="header"]
-//|===
-//|Property
-//|Value +
-//(_default value_)
-//|Description
-//
-//|`isis.viewer.wicket.` +
-//`whereAmI.enabled`
-//| `true`,`false` +
-//(`_true_`)
-//| To disable the xref:vw:ROOT:features.adoc#where-am-i["Where am I"] feature.
-//
-//
-//|`isis.viewer.wicket.` +
-//`disableDependent` +
-//`ChoiceAutoSelection`
-//| `true`,`false` +
-//(`_false_`)
-//| For dependent choices, whether to automatically select the first dependent (eg subcategory) when the parameter on which it depends (category) changes.
-//
-//|`isis.viewer.wicket.` +
-//`disableModalDialogs`
-//| `true`,`false` +
-//(`_false_`)
-//|No longer supported.
-//
-//|`isis.viewer.wicket.` +
-//`preventDoubleClick` +
-//`ForFormSubmit`
-//| `true`,`false` +
-//(`_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.
-//
-//|`isis.viewer.wicket.` +
-//`preventDoubleClick` +
-//`ForNoArgAction`
-//| `true`,`false` +
-//(`_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.
-//
-//
-//|`isis.viewer.wicket.` +
-//`redirectEvenIfSameObject`
-//| `true`,`false` +
-//(`_false_`)
-//| By default, an action invocation that returns the same object will result in the page being updated.
-//The same is true for property edits.
-//
-//If this setting is enabled, then the viewer will always render to a new page.
-//
-//|`isis.viewer.wicket.` +
-//`regularCase`
-//| `true`,`false` +
-//(`_false_`)
-//| Ignored for 1.8.0+; in earlier versions forced regular case rather than title case in the UI
-//
-//|`isis.viewer.wicket.` +
-//`replaceDisabledTag`- +
-//`WithReadonlyTag`
-//| `true`,`false` +
-//(`_true_`)
-//| Whether to replace 'disabled' tag with 'readonly' (for link:https://www.w3.org/TR/2014/REC-html5-20141028/forms.html#the-readonly-attribute[w3 spec]-compliant browsers such as for Firefox and Chrome 54+) which prevent copy from 'disabled' fields.
-//
-//|`isis.viewer.wicket.` +
-//`useIndicatorForFormSubmit`
-//| `true`,`false` +
-//(`_true_`)
-//| Whether to show an indicator for a form submit button that it has been clicked.
-//
-//|`isis.viewer.wicket.` +
-//`useIndicatorForNoArgAction`
-//| `true`,`false` +
-//(`_true_`)
-//| Whether to show an indicator for a no-arg action button that it has been clicked.
-//
-//
-//|===
-//
-//
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation.adoc
index caccf07..548d1ca 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation.adoc
@@ -3,17 +3,13 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
-
 This chapter describes a number of mechanisms by which the UI provided by the Wicket viewer can be customised.
 
 include::customisation/top-level-index-page.adoc[leveloffset=+1]
 include::customisation/brand-logo.adoc[leveloffset=+1]
 include::customisation/welcome-page.adoc[leveloffset=+1]
 include::customisation/about-page.adoc[leveloffset=+1]
-include::customisation/tweaking-css-classes.adoc[leveloffset=+1]
-include::customisation/cheap-n-cheerful-theme.adoc[leveloffset=+1]
-include::customisation/using-different-css-file.adoc[leveloffset=+1]
+include::customisation/custom-css.adoc[leveloffset=+1]
 include::customisation/custom-javascript.adoc[leveloffset=+1]
-include::customisation/auto-refresh.adoc[leveloffset=+1]
-include::customisation/request-parameters.adoc[leveloffset=+1]
+include::customisation/cheap-n-cheerful-theme.adoc[leveloffset=+1]
+include::customisation/embedded-view.adoc[leveloffset=+1]
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/about-page.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/about-page.adoc
index e207e07..3bcc6c5 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/about-page.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/about-page.adoc
@@ -4,90 +4,11 @@
 
 
 
-Isis' Wicket viewer has an About page that, by default, will provide a dump of the JARs that make up the webapp.
-This page will also show the manifest attributes of the WAR archive itself, if there are any.
-One of these attributes may also be used as the application version number.
-
-
-== Screenshot
-
-Here's what the About page looks like with this configuration added:
+Isis' Wicket viewer has an About page that, accessed by clicking on the application version in the footer.
 
 image::about-page/about-page.png[width="800px"]
 
-[NOTE]
-====
-Note that this screenshot shows an earlier version of the xref:vw:ROOT:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
-====
-
-Note that the `Build-Time` attribute has been used as the version number.
-The Wicket viewer is hard-coded to search for specific attributes and use as the application version.
-In order, it searches for:
-
-* `Implementation-Version`
-* `Build-Time`
-
-If none of these are found, then no version is displayed.
-
-
-== Configuration
-
-=== Adding attributes to the WAR's manifest
-
-Add the following to the webapp's `pom.xml` (under `<build>/<plugins>`):
-
-[source,xml]
-----
-<plugin>
-    <groupId>org.codehaus.mojo</groupId>
-    <artifactId>build-helper-maven-plugin</artifactId>
-    <version>1.5</version>
-      <executions>
-        <execution>
-          <phase>validate</phase>
-          <goals>
-            <goal>maven-version</goal>
-          </goals>
-        </execution>
-      </executions>
-</plugin>
-
-<plugin>
-    <artifactId>maven-war-plugin</artifactId>
-    <configuration>
-        <archive>
-            <manifest>
-                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-            </manifest>
-            <manifestEntries>
-                <Build-Time>${maven.build.timestamp}</Build-Time>
-                <Build-Number>${buildNumber}</Build-Number>
-                <Build-Host>${agent.name}</Build-Host>
-                <Build-User>${user.name}</Build-User>
-                <Build-Maven>Maven ${maven.version}</Build-Maven>
-                <Build-Java>${java.version}</Build-Java>
-                <Build-OS>${os.name}</Build-OS>
-                <Build-Label>${project.version}</Build-Label>
-            </manifestEntries>
-        </archive>
-    </configuration>
-    <executions>
-        <execution>
-            <phase>package</phase>
-            <goals>
-                <goal>war</goal>
-            </goals>
-            <configuration>
-                <classifier>${env}</classifier>
-            </configuration>
-        </execution>
-    </executions>
-</plugin>
-----
-
-If you then build the webapp from the Maven command line (`mvn clean package`), then the WAR should contain a `META-INF/MANIFEST.MF` with those various attribute entries.
-This will be picked up automatically and used in the about page.
-
+The about page provides a dump of the JARs that make up the webapp, along with the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.name[configured application name] and xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.about[configured about text].
 
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc
index 43d0a80..69f65ec 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc
@@ -10,7 +10,7 @@ This can be changed to display a png logo instead.
 
 == Screenshots
 
-The screenshot below shows the example https://github.com/apache/isis-app-todoapp/[TodoApp] with a 'brand logo' image in its header:
+The screenshot below shows an app with a 'brand logo' image in its header:
 
 image::brand-logo/brand-logo.png[width="750px"]
 
@@ -20,15 +20,18 @@ image::brand-logo/brand-logo-signin.png[width="750px"]
 
 
 
-To configure, simply specify the appropriate configuration properties:
+To configure, set the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.brand-logo-signin[isis.viewer.wicket.application.brand-logo-signin] and xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.brand-logo-header[isis.viewer.wicket.application.brand-logo-header] config properties:
 
 [source,properties]
 ----
-isis.wicket.viewer.application.brandLogoSignin=/images/todoapp-logo-signin.png
-isis.wicket.viewer.application.brandLogoHeader=/images/todoapp-logo-header.png
+isis.wicket.viewer.application.brand-logo-signin=images/todoapp-logo-signin.png
+isis.wicket.viewer.application.brand-logo-header=images/todoapp-logo-header.png
 ----
 
-These are resolved relative to `src/main/webapp`, or an absolute URL can be specified.
+These files are resolved relative to the `static` package in `src/main/resources`.
+Alternatively an absolute URL can be specified.
+
+In terms of sizing:
 
 * for the signin image, a size of 400x100 works well.
 * for the header image, a size of 160x40 works well.
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/cheap-n-cheerful-theme.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/cheap-n-cheerful-theme.adoc
index 9737d12..fe8aecb 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/cheap-n-cheerful-theme.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/cheap-n-cheerful-theme.adoc
@@ -6,7 +6,7 @@
 
 
 
-The application name (as defined by `isis.viewer.wicket.application.name` configuration property) is also used (in sanitized form) as the CSS class in a `<div>` that wraps all the rendered content of every page.
+The application name (as defined by xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.name[isis.viewer.wicket.application.name]) is also used in sanitized form as the CSS class in a `<div>` that wraps all the rendered content of every page.
 
 For example, if the application name is "ToDo App", then the `<div>` generated is:
 
@@ -19,10 +19,7 @@ For example, if the application name is "ToDo App", then the `<div>` generated i
 
 You can therefore use this CSS class as a way of building your own "theme" for the various elements of the wicket viewer pages.
 
-[TIP]
-====
 Alternatively you could "do it properly" and create your xref:vw:ROOT:extending.adoc#custom-bootstrap-theme[own Bootstrap theme], as described in the xref:vw:ROOT:extending.adoc[extending] chapter.
-====
 
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-css.adoc
similarity index 96%
rename from viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
rename to viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-css.adoc
index 358585c..015b548 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-css.adoc
@@ -1,5 +1,5 @@
-[[tweaking-css-classes]]
-= Tweaking CSS classes
+[[custom-css]]
+= Custom CSS
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
@@ -177,7 +177,7 @@ For example:
 ----
 <1> the parent class identifier
 <2> the collection identifier.
-This element's class also has the entity type within the collection (as xref:vw:ROOT:customisation/tweaking-css-classes.adoc#columns-in-tables_globally[discussed above]).
+This element's class also has the entity type within the collection (as xref:vw:ROOT:customisation/custom-css.adoc#columns-in-tables_globally[discussed above]).
 
 Using this, the `productRef` property could be targeted using:
 
@@ -221,7 +221,7 @@ For example:
 </div>
 ----
 <1> action identifier.
-This element's class also identifies the entity type within the collection (as xref:vw:ROOT:customisation/tweaking-css-classes.adoc#columns-in-tables_globally[discussed above]).
+This element's class also identifies the entity type within the collection (as xref:vw:ROOT:customisation/custom-css.adoc#columns-in-tables_globally[discussed above]).
 
 Using this, the `quantity` property could be targeted using:
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-javascript.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-javascript.adoc
index 779ccb5..3bfb075 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-javascript.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/custom-javascript.adoc
@@ -7,25 +7,19 @@
 
 The Wicket viewer ships with embedded JQuery, so this can be leveraged, for example to perform arbitrary transformations of the rendered page on page load.
 
-To register your JavaScript code, then just specify the appropriate configuration property:
-
-
-[source,properties]
-----
-isis.viewer.wicket.application.js=stylesheets/myapp.js
-----
-
-This file is resolved relative to `src/main/webapp`.
-
+Similar to the xref:customisation.adoc#custom-css[application.css] file, the Wicket viewer automatically serves the `scripts/application.js` javascript file in every page load.
+This is relative to the `static` package, under `src/main/resources`.
 Currently only one such `.js` file can be registered.
 
+If you wish to change the location of the file, use the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.js[isis.viewer.wicket.application.js] configuration property.
+
 
 [WARNING]
 ====
 Just because something is possible, it doesn't necessarily mean we encourage it.
 Please be aware that there is no formal API for any custom JavaScript that you might implement to target; future versions of Apache Isis might break your code.
 
-As an alternative, consider using the `ComponentFactory` API described in the xref:vw:ROOT:extending.adoc[Extending] chapter.
+As an alternative, consider using the `ComponentFactory` API described in the xref:vw:ROOT:extending.adoc[extending] chapter.
 ====
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/request-parameters.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/embedded-view.adoc
similarity index 98%
rename from viewers/wicket/adoc/modules/ROOT/pages/customisation/request-parameters.adoc
rename to viewers/wicket/adoc/modules/ROOT/pages/customisation/embedded-view.adoc
index 015a5ff..abd49e4 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/request-parameters.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/embedded-view.adoc
@@ -1,12 +1,10 @@
-[[request-parameters]]
+[[embedded-view]]
 = Embedded View
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-
 The Wicket viewer provides some support such that an Apache Isis application can be embedded within a host webapp, for example within an iframe.
-
 Currently this support consists simply of being able to suppress the header and/or footer.
 
 == Screenshots
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/top-level-index-page.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/top-level-index-page.adoc
index 55d8d70..66fb8af 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/top-level-index-page.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/top-level-index-page.adoc
@@ -4,20 +4,10 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-If the user visits the root of the webapp (eg http://localhost:8080[]), then a top-level index page can specified.
-This is a static file that typically has hyperlinks to the available resources available (eg the Wicket viewer at `/wicket/`, the Swagger UI is bound to `/swagger-ui`, the Restful at `/restful/`).
-
-The example apps provide an example in the `about/index.html` file (relative to `src/main/webapp`).
-This is configured using the `web.xml`:
-
+If the user visits the root of the webapp (eg http://localhost:8080[]), then the top-level `index.html` page is shown.
+Spring Boot specifies that the location of this `index.html` is in the `static` package, typically under `src/main/resources` in the `webapp` module.
 
-.web.xml
-[source,xml]
-----
-<welcome-file-list>
-    <welcome-file>about/index.html</welcome-file>
-</welcome-file-list>
-----
+This is a static file that typically has hyperlinks to the available resources available (eg the Wicket viewer at `/wicket/`, the Swagger UI is bound to `/swagger-ui`, the Restful at `/restful/`).
 
 If instead you want to redirect users directly to the Wicket viewer, then this file should contain simply:
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/using-different-css-file.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/using-different-css-file.adoc
deleted file mode 100644
index 78ae7aa..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/using-different-css-file.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-[[using-different-css-file]]
-= Using a different CSS file
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-
-If for some reason you wanted to name the CSS file differently (eg `stylesheets/myapp.css`), then just specify the appropriate configuration property:
-
-[source,java]
-----
-isis.viewer.wicket.application.css=stylesheets/myapp.css
-----
-
-This file is resolved relative to `src/main/webapp`.
-
-
-
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/extending.adoc b/viewers/wicket/adoc/modules/ROOT/pages/extending.adoc
index 40c2c56..c2b00fd 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/extending.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/extending.adoc
@@ -2,26 +2,19 @@
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The Wicket viewer allows you to customize the GUI in several (progressively more sophisticated) ways:
+The Wicket viewer allows you to customize the GUI in several (progressively more sophisticated) ways.
 
-* the xref:vw:ROOT:customisation.adoc[customisation] chapter described:
+In the xref:vw:ROOT:customisation.adoc[customisation] chapter described tweaking the UI using xref:vw:ROOT:customisation.adoc#custom-css[custom CSS] and  xref:vw:ROOT:customisation.adoc#custom-javascript[custom JavaScript].
 
-** by xref:vw:ROOT:customisation.adoc#tweaking-css-classes[tweaking the UI using CSS]
-** by xref:vw:ROOT:customisation.adoc#custom-javascript[tweaking the UI using JavaScript]
-
-* in this chapter we have a number of heavier-weight approaches:
+In this chapter we have a number of more heavy-weight approaches:
 
 ** by writing a xref:vw:ROOT:extending.adoc#custom-bootstrap-theme[custom bootstrap theme]
 ** by xref:vw:ROOT:extending.adoc#replacing-page-elements[replacing elements of the page] using the `ComponentFactory` interface
 ** by implementing xref:vw:ROOT:extending.adoc#custom-pages[replacement page implementations] for the standard page types
 
-The chapter also includes a technique useful when prototyping, allowing xref:vw:ROOT:extending.adoc#login-via-query-args-prototyping[user/passwords to be specified as query arguments].
-
 
 
 include::extending/custom-bootstrap-theme.adoc[leveloffset=+1]
 include::extending/replacing-page-elements.adoc[leveloffset=+1]
 include::extending/custom-pages.adoc[leveloffset=+1]
-include::extending/login-via-query-args-prototyping.adoc[leveloffset=+1]
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-bootstrap-theme.adoc b/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-bootstrap-theme.adoc
index cd89a5f..bbe9f1a 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-bootstrap-theme.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-bootstrap-theme.adoc
@@ -8,7 +8,7 @@
 The Apache Isis Wicket viewer uses http://getbootstrap.com/[Bootstrap] styles and components, courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration.
 
 By default the viewer uses the default bootstrap theme.
-It is possible to configure the Wicket viewer to allow the user to xref:vw:ROOT:configuration-properties.adoc#themes[select other themes] provided by http://bootswatch.com[bootswatch.com], and if required one of these can be xref:vw:ROOT:customisation.adoc#default-theme[set as the default].
+It is possible to configure the Wicket viewer to allow the user to xref:vw:ROOT:setup-and-configuration.adoc#themes[select other themes] provided by http://bootswatch.com[bootswatch.com], and if required one of these can be xref:vw:ROOT:customisation.adoc#default-theme[set as the default].
 
 However, you may instead want to write your own custom theme, for example to fit your company's look-n-feel/interface guidelines.
 This is done by implementing https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap]'s `de.agilecoders.wicket.core.settings.ITheme` class.
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-pages.adoc b/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-pages.adoc
index 5917de9..fffe229 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-pages.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/extending/custom-pages.adoc
@@ -8,7 +8,7 @@
 In the vast majority of cases customization should be sufficient by xref:vw:ROOT:extending.adoc#replacing-page-elements[replacing elements of a page].
 However, it is also possible to define an entirely new page for a given page type.
 
-Isis defines eight page types (see the `org.apache.isis.viewer.wicket.model.models.PageType` enum):
+The Wicket viewer defines these page types (see the `org.apache.isis.viewer.wicket.model.models.PageType` enum):
 
 .PageType enum
 [cols="1,4", options="header"]
@@ -31,6 +31,9 @@ Isis defines eight page types (see the `org.apache.isis.viewer.wicket.model.mode
 | HOME
 | The home page, displaying either the welcome message or dashboard
 
+| HOME_AFTER_PAGETIMEOUT
+| Variation on home page after a timeout.
+
 | ABOUT
 | The about page, accessible from link top-right
 
@@ -55,11 +58,13 @@ Isis defines eight page types (see the `org.apache.isis.viewer.wicket.model.mode
 The `PageClassList` interface declares which class (subclass of `org.apache.wicket.Page` is used to render for each of these types.
 For example, Apache Isis' `WicketSignInPage` renders the signin page.
 
-To specify a different page class, create a custom subclass of `PageClassList`:
+To specify a different page class, create a new implementation of `PageClassList` and annotate with an earlier precedence than the default.
+If you are just tweaking the defaults, then its easiest to override `PageClassListDefault`:
 
 [source,java]
 ----
-@Singleton
+@Service
+@Order(OrderPrecedence.EARLY)
 public class MyPageClassList extends PageClassListDefault {
     protected Class<? extends Page> getSignInPageClass() {
         return MySignInPage.class;
@@ -67,28 +72,3 @@ public class MyPageClassList extends PageClassListDefault {
 }
 ----
 
-
-You then need to register your custom `PageClassList`.
-This is done by subclassing `IsisWicketApplication` (register the subclass in `web.xml`) and adjusting the Guice bindings of the guice `Module` returned by the `newIsisWicketModule()` method:
-
-[source,java]
-----
-public class MyAppApplication extends IsisWicketApplication {
-    @Override
-    protected Module newIsisWicketModule() {
-        final Module isisDefaults = super.newIsisWicketModule();
-        final Module myAppOverrides = new AbstractModule() {
-            @Override
-            protected void configure() {
-                ...
-                bind(PageClassList.class).to(MyPageClassList.class);
-                ...
-            }
-        };
-        return Modules.override(isisDefaults).with(myAppOverrides);
-    }
-}
-----
-
-
-
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/extending/login-via-query-args-prototyping.adoc b/viewers/wicket/adoc/modules/ROOT/pages/extending/login-via-query-args-prototyping.adoc
deleted file mode 100644
index f22f4b4..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/extending/login-via-query-args-prototyping.adoc
+++ /dev/null
@@ -1,48 +0,0 @@
-[[login-via-query-args-prototyping]]
-= Login via Query Args (for Prototyping)
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-This section describes a (slightly hacky) way of allowing logins using query args, eg http://localhost:8080/?user=sven&pass=pass[http://localhost:8080/?user=sven&pass=pass].  This might be useful while prototyping or demonstrating a scenario involving multiple different interacting users.
-
-First, you'll need to subclass `IsisWicketApplication` (and register in `web.xml`).
-Then, override `newSession()`:
-
-[source,ini]
-----
-private final static boolean DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS = false;
-
-@Override
-public Session newSession(final Request request, final Response response) {
-    if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
-        return super.newSession(request, response);
-    }
-    // else demo mode
-    final AuthenticatedWebSessionForIsis s = (AuthenticatedWebSessionForIsis) super.newSession(request, response);
-    IRequestParameters requestParameters = request.getRequestParameters();
-    final org.apache.wicket.util.string.StringValue user = requestParameters.getParameterValue("user");
-    final org.apache.wicket.util.string.StringValue password = requestParameters.getParameterValue("pass");
-    s.signIn(user.toString(), password.toString());
-    return s;
-}
-
-@Override
-public WebRequest newWebRequest(HttpServletRequest servletRequest, String filterPath) {
-    if(!DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS) {
-        return super.newWebRequest(servletRequest, filterPath);
-    }
-    // else demo mode
-    try {
-        String uname = servletRequest.getParameter("user");
-        if (uname != null) {
-            servletRequest.getSession().invalidate();
-        }
-    } catch (Exception e) {
-    }
-    WebRequest request = super.newWebRequest(servletRequest, filterPath);
-    return request;
-}
-----
-
-//Rather than using the static `DEMO_MODE_USING_CREDENTIALS_AS_QUERYARGS`, you might also explore using the feature toggle library provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s togglz module.
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/extending/replacing-page-elements.adoc b/viewers/wicket/adoc/modules/ROOT/pages/extending/replacing-page-elements.adoc
index 2bc867a..cc1aa59 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/extending/replacing-page-elements.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/extending/replacing-page-elements.adoc
@@ -49,10 +49,16 @@ For example, you might switch out Apache Isis' sliding bookmark panel and replac
 
 First, you need to write a `ComponentFactory` and corresponding `Component`.
 The recommended approach is to start with the source of the `Component` you want to switch out.
+
+The `ComponentFactory` should be annotated as a Spring service, typically using Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Service.html[@Service] annotation.
+
 For example:
 
 [source,java]
 ----
+import org.springframework.stereotype.Service;
+
+@Service
 public class MyBookmarkedPagesPanelFactory extends ComponentFactoryAbstract {
     public MyBookmarkedPagesPanelFactory() {
         super(ComponentType.BOOKMARKED_PAGES);
@@ -82,50 +88,7 @@ public class MyBookmarkedPagesPanel
 Here `PanelAbstract` ultimately inherits from `org.apache.wicket.Component`.
 Your new `Component` uses the information in the provided model (eg `BookmarkedPagesModel`) to know what to render.
 
-Next, you will require a custom implementation of the `ComponentFactoryRegistrar` that registers your custom `ComponentFactory` as a replacement:
-
-[source,java]
-----
-@Singleton
-public class MyComponentFactoryRegistrar extends ComponentFactoryRegistrarDefault {
-    @Override
-    public void addComponentFactories(ComponentFactoryList componentFactories) {
-        super.addComponentFactories(componentFactories);
-        componentFactories.add(new MyBookmarkedPagesPanelFactory());
-    }
-}
-----
-
-This will result in the new component being used instead of (that is, discovered prior to) Isis' default implementation.
-
-[WARNING]
-====
-Previously we suggested using "replace" rather than "add"; however this has unclear semantics for some component types; see https://issues.apache.org/jira/browse/ISIS-996[ISIS-996].
-====
-
-
-Finally, you'll need to subclass `IsisWicketApplication` (register in `web.xml`)and then adjust the Guice bindings returned in the Guice `Module` returned by `newIsisWicketModule()`:
-
-[source,java]
-----
-public class MyAppApplication extends IsisWicketApplication {
-    @Override
-    protected Module newIsisWicketModule() {
-        final Module isisDefaults = super.newIsisWicketModule();
-        final Module myAppOverrides = new AbstractModule() {
-            @Override
-            protected void configure() {
-                ...
-                bind(ComponentFactoryRegistrar.class)
-                    .to(MyComponentFactoryRegistrar.class);
-                ...
-            }
-        };
-
-        return Modules.override(isisDefaults).with(myAppOverrides);
-    }
-}
-----
+Your new component will be used instead of the default implementation.
 
 
 
@@ -133,24 +96,12 @@ public class MyAppApplication extends IsisWicketApplication {
 == Additional Views of Collections
 
 As explained above, in most cases Apache Isis' Wicket viewer will search for the first `ComponentFactory` that can render an element, and use it.
-In the case of (either standalone or parented) collections, though, Apache Isis will show all available views.
+In the case of (either standalone or parented) collections, though, the viewer will show all available views.
 
 For example, out-of-the-box Apache Isis provides a table view, a summary view (totals/sums/averages of any data), and a collapsed view.
 These are selected by clicking on the toolbar by each collection.
 
-Additional views though could render the objects in the collection as a variety of ways.
-Indeed, some third-party implementations in the (non-ASF) link:https://platform.incode.org[Incode Platform^] already exist, including:
-
-* excel component - collection as a downloadable excel spreadsheet
-* gmap3 component - render any objects with a location on a map
-* pdf.js component - render Blob containined PDF as a scrollable image
-* wicked charts component - barchart of any data
-* full calendar - render any objects with date properties on a calendar
-
-Registering these custom views is just a matter of adding the appropriate Maven module to the classpath.
-Apache Isis uses the JDK `ServiceLoader` API to automatically discover and register the `ComponentFactory` of each such component.
-
-If you want to write your own alternative component and auto-register, then include a file `META-INF/services/org.apache.isis.viewer.wicket.ui.ComponentFactory` whose contents is the fully-qualified class name of the custom `ComponentFactory` that you have written.
+Additional views though could render the objects in the collection as a variety of ways; as illustrated by the xref:vw:gmap3:about.adoc[Gmap3], xref:vw:fullcalendar:about.adoc[Fullcalendar] and xref:vw:exceldownload:about.adoc[Excel Download] extensions.
 
 Wicket itself has lots of components available at its http://wicketstuff.org[wicketstuff.org] companion website; you might find some of these useful for your own customizations.
 
@@ -162,25 +113,9 @@ Wicket itself has lots of components available at its http://wicketstuff.org[wic
 == Custom object view (eg dashboard)
 
 One further use case in particular is worth highlighting; the rendering of an entire entity.
-Normally entities this is done using `EntityCombinedPanelFactory`, this being the first `ComponentFactory` for the `ComponentType.ENTITY` that is registered in Apache Isis default `ComponentFactoryRegistrarDefault`.
+Normally for entities this is done using `Bs3GridPanelFactory`, this being the first `ComponentFactory` for the `ComponentType.ENTITY` that is registered in Apache Isis default `ComponentFactoryRegistrarDefault`.
 
 You could, though, register your own `ComponentFactory` for entities that is targeted at a particular class of entity - some sort of object representing a dashboard, for example.
 It can use the `EntityModel` provided to it to determine the class of the entity, checking if it is of the appropriate type.
-Your custom factory should also be registered before the `EntityCombinedPanelFactory` so that it is checked prior to the default `EntityCombinedPanelFactory`:
-
-[source,java]
-----
-@Singleton
-public class MyComponentFactoryRegistrar extends ComponentFactoryRegistrarDefault {
-    @Override
-    public void addComponentFactories(ComponentFactoryList componentFactories) {
-        componentFactories.add(new DashboardEntityFactory());
-        ...
-        super.addComponentFactories(componentFactories);
-        ...
-    }
-}
-----
-
-
 
+The link:https://demo-wicket.isis.incode.work[demo app] includes an example of this technique (`Featured > Where in the World`).
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features.adoc
index 19c0948..f1909f2 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features.adoc
@@ -2,19 +2,15 @@
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
 This chapter highlights a number of features of the wicket viewer from the perspective of an end-user actually using your Apache Isis application.
 
 
 
 include::features/sidebar-vs-modal-dialogs.adoc[leveloffset=+1]
-include::features/recent-pages.adoc[leveloffset=+1]
 include::features/bookmarked-pages.adoc[leveloffset=+1]
-include::features/hints-and-copy-url.adoc[leveloffset=+1]
 include::features/where-am-i.adoc[leveloffset=+1]
 include::features/titles-in-tables.adoc[leveloffset=+1]
-include::features/blob-attachments.adoc[leveloffset=+1]
 include::features/user-registration.adoc[leveloffset=+1]
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/blob-attachments.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/blob-attachments.adoc
deleted file mode 100644
index cbba397..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/blob-attachments.adoc
+++ /dev/null
@@ -1,117 +0,0 @@
-[[blob-attachments]]
-= File upload/download
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-
-The Apache Isis application library provides the xref:refguide:applib:index/value/Blob.adoc[Blob] value type (binary large objects) and also the xref:refguide:applib:index/value/Clob.adoc[Clob]
-value type (character large object), each of which also includes metadata about the data (specifically the filename and mime type).
-
-A class can define a property using either of these types, for example:
-
-
-
-
-== Screenshots
-
-The following screenshots are taken from the example https://github.com/apache/isis-app-todoapp[TodoApp]:
-
-
-
-=== View mode, empty
-
-`Blob` field rendered as attachment (with no data):
-
-image::blob-attachments/010-attachment-field-940.png[width="800px"]
-
-Note that this screenshot show an earlier version of the xref:vw:ROOT:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
-
-
-=== Edit mode
-
-Hit edit; 'choose file' button appears:
-
-image::blob-attachments/020-edit-choose-file-940.png[width="800px"]
-
-
-
-=== Choose file
-
-Choose file using the regular browser window:
-
-image::blob-attachments/030-choose-file-using-browser-520.png[width="520px"]
-
-
-Chosen file is indicated:
-
-image::blob-attachments/040-edit-chosen-file-indicated-940.png[width="800px"]
-
-
-
-=== Image rendered
-
-Back in view mode (ie once hit OK) if the `Blob` is an image, then it is shown:
-
-image::blob-attachments/050-ok-if-image-then-rendered-940.png[width="800px"]
-
-
-
-=== Download
-
-`Blob` can be downloaded:
-
-image::blob-attachments/060-download-940.png[width="800px"]
-
-
-
-=== Clear
-
-Back in edit mode, can choose a different file or clear (assuming property is not mandatory):
-
-image::blob-attachments/070-edit-clear-940.png[width="800px"]
-
-
-
-
-
-== Domain Code
-
-To define a `Blob`, use:
-
-[source,java]
-----
-private Blob attachment;
-@javax.jdo.annotations.Persistent(defaultFetchGroup="false")
-    @javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
-            @javax.jdo.annotations.Column(name = "attachment_name"),
-            @javax.jdo.annotations.Column(name = "attachment_mimetype"),
-            @javax.jdo.annotations.Column(name = "attachment_bytes", jdbcType = "BLOB", sqlType = "BLOB")
-    })
-@Property(
-        domainEvent = AttachmentDomainEvent.class,
-        optionality = Optionality.OPTIONAL
-)
-public Blob getAttachment() { return attachment; }
-public void setAttachment(final Blob attachment) { this.attachment = attachment; }
-----
-
-To define a `Clob`, use:
-
-[source,java]
-----
-private Clob doc;
-@javax.jdo.annotations.Persistent(defaultFetchGroup="false", columns = {
-        @javax.jdo.annotations.Column(name = "doc_name"),
-        @javax.jdo.annotations.Column(name = "doc_mimetype"),
-        @javax.jdo.annotations.Column(name = "doc_chars", jdbcType = "CLOB", sqlType = "CLOB")
-})
-@Property(
-        optionality = Optionality.OPTIONAL
-)
-public Clob getDoc() { return doc; }
-public void setDoc(final Clob doc) { this.doc = doc; }
-----
-
-The `Blob` and `Clob` types can also be used as parameters to actions.
-
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
index 14033e3..34fd486 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
@@ -5,30 +5,23 @@
 
 
 
-The Wicket viewer supports the bookmarking of both domain objects and query-only (xref:refguide:applib:index/annotation/Action.adoc#semantics[@Action(semantics=...)]) actions.
+The Wicket viewer supports the automatic bookmarking of domain objects, as per xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#bookmarking[@DomainObjectLayout#bookmarking()].
+However, it does _not_ support bookmarking of action prompts (xref:refguide:applib:index/annotation/ActionLayout.adoc#bookmarking[@ActionLayout#bookmarking()]).
 
-Domain objects, if bookmarkable, can be nested.
-
-Bookmarking is automatic; 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 whle are automatically removed (an MRU/LRU algorithm).
+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 (nb: using a pre 1.8.0 version of the xref:vw:ROOT:about.adoc[Wicket viewer] UI), taken from https://github.com/apache/isis-app-todoapp[Isisaddons example todoapp] (not ASF), shows how the bookmarks are listed in a sliding panel.
-
-image::bookmarked-pages/panel.png[width="800px"]
 
+== Screenshots
 
-Note how the list contains both domain objects and an action ("not yet complete").
-
-Bookmarks can also form a hierarchy.
-The following screenshot, also taken from the https://github.com/estatio/estatio[Estatio] application, shows a variety of different bookmarked objects with a nested structure:
+The following screenshot shows how bookmarks are rendered in the Wicket viewer:
 
 image::bookmarked-pages/panel-estatio.png[width="800px"]
 
-Some - like `Property`, `Lease` and `Party` - are root nodes.
-However, `LeaseItem` is bookmarkable as a child of `Lease`, and `LeaseTerm` is bookmarkable only as a child of `LeaseItem`.
+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
@@ -53,26 +46,6 @@ To indicate a class is bookmarkable but only as a child of some parent bookmark,
 public class LeaseItem { /* ... */ }
 ----
 
-To indicate that a safe (query only) action is bookmarkable, use the xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout] annotation:
-
-[source,java]
-----
-public class ToDoItem ... {
-    @Action(
-        semantics=SemanticsOf.SAFE
-    )
-    @ActionLayout(
-         bookmarking=BookmarkPolicy.AS_ROOT
-     )
-    public List<ToDoItem> notYetComplete() { /* ... */ }
-    ...
-}
-----
-
-[NOTE]
-====
-The BookmarkPolicy.AS_CHILD does not have a meaning for actions; if the `bookmarking` attribute is set to any other value, it will be ignored.
-====
 
 == User Experience
 
@@ -80,16 +53,8 @@ The sliding panel appears whenever the mouse pointer hovers over the thin blue t
 
 Alternatively, `alt+[` will toggle open/close the panel; it can also be closed using `Esc` key.
 
-=== Related functionality
-
-The xref:vw:ROOT:features.adoc#recent-pages[Recent Pages] also lists recently visited pages, selected from a drop-down.
 
 == Configuration
 
-By default, the bookmarked pages panel will show a maximum of 15 'root' pages.
-This can be overridden using the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.max-size[isis.viewer.wicket.bookmarked-pages.max-size] configuration property, for example:
+The maximum number of bookmarks that are shown can be overridden using the  xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.max-size[isis.viewer.wicket.bookmarked-pages.max-size] configuration property.
 
-[source,ini]
-----
-isis.viewer.wicket.bookmarked-pages.max-size=20
-----
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/hints-and-copy-url.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/hints-and-copy-url.adoc
deleted file mode 100644
index 1c7cb33..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/hints-and-copy-url.adoc
+++ /dev/null
@@ -1,75 +0,0 @@
-[[hints-and-copy-url]]
-= Hints and copy URL
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-
-While the user can often copy the URL of a domain object directly from the browser's address bar, the Wicket viewer also allows the URL of domain objects to be easily copied from a dialog.
-
-More interestingly, this URL can also contain hints capturing any sorting or page numbering, or hiding/viewing of collections.  End-users can therefore share these URLs as a form of deep linking into a particular view on a domain object.
-
-The copy URL and hinting is automatic.
-
-
-
-
-== Screenshots
-
-The following screenshots are taken from the https://github.com/estatio/estatio[Estatio] application.
-
-=== Copy URL
-
-This screenshot (nb: using a pre 1.8.0 version of the xref:vw:ROOT:about.adoc[Wicket viewer] UI) shows the copy URL button (top right):
-
-image::copy-link/010-copy-link-button.png[width="800px"]
-
-
-
-Clicking on this button brings up a dialog with the URL preselected:
-
-image::copy-link/020-copy-link-dialog.png[width="800px"]
-
-
-The URL in this case is something like:
-
-    http://localhost:8080/wicket/entity/org.estatio.dom.lease.Lease:0
-
-The user can copy the link (eg `ctrl+C`) into the clipboard, then hit `OK` or `Esc` to dismiss the dialog.
-
-
-=== Hints
-
-Using the viewer the user can hide/show collection tables, can sort the tables by header columns:
-
-image::copy-link/030-hints.png[width="800px"]
-
-
-Also, if the collection spans multiple pages, then the individual page can be selected.
-
-Once the view has been customised, the URL shown in the copy URL dialog is in an extended form:
-
-image::copy-link/040-copy-link-with-hints.png[width="800px"]
-
-The URL in this case is something like:
-
-    http://localhost:8080/wicket/entity/org.estatio.dom.lease.Lease:0?hint-1:collectionContents-view=3&hint-1:collectionContents:collectionContents-3:table-DESCENDING=value&hint-1:collectionContents:collectionContents-3:table-pageNumber=0&hint-2:collectionContents-view=0&hint-2:collectionContents:collectionContents-2:table-pageNumber=0&hint-3:collectionContents-view=2&hint-3:collectionContents:collectionContents-2:table-pageNumber=0&hint-4:collectionContents-view=3&hint-4:collectionConte [...]
-
-
-
-=== Copy URL from title
-
-When the user invokes an action on the object, the URL (necessarily) changes to indicate that the action was invoked.  This URL is specific to the user's session and cannot be shared with others.
-
-A quick way for the user to grab a shareable URL is simply by clicking on the object's title:
-
-image::copy-link/050-title-url.png[width="800px"]
-
-
-
-
-== User Experience
-
-The copy URL dialog is typically obtained by clicking on the icon.
-
-Alternatively, `alt+]` will also open the dialog.  It can be closed with either `OK` or the `Esc` key.
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/recent-pages.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/recent-pages.adoc
deleted file mode 100644
index 6d19ada..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/recent-pages.adoc
+++ /dev/null
@@ -1,50 +0,0 @@
-[[recent-pages]]
-= Recent pages (drop down)
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-
-The Wicket viewer provides a recent pages drop-down that acts as a breadcrumb trail.
-Using it, the user can quickly open a recently accessed domain object.
-
-
-
-== Screenshots
-
-The following screenshot, taken from the https://github.com/estatio/estatio[Estatio] application, shows the recent pages drop-down after a number of pages have been accessed.
-
-image::features/recent-pages/recent-pages.png[width="800px"]
-
-
-This screenshot is based on v1.7.x of the xref:vw:ROOT:about.adoc[Wicket viewer] UI.
-
-// TODO: v2: update this old screenshot.
-
-
-
-== Domain Code
-
-The recent pages drop-down is automatically populated; no changes need to be made to the domain classes.
-
-
-
-
-== User Experience
-
-Selecting the domain object from the list causes the viewer to automatically navigate to the page for the selected object.
-
-
-
-
-== Related functionality
-
-The xref:vw:ROOT:features.adoc#bookmarked-pages[bookmarked pages] (sliding panel) also provides links to recently visited objects, but only those explicitly marked as `@DomainObject(bookmarking=...)`.  The bookmarks panel also nests related objects together hierarchically (the recent pages drop-down does not).
-
-
-
-
-== Configuration
-
-The number of objects is hard-coded as 10; it cannot currently be configured.
-
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/sidebar-vs-modal-dialogs.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/sidebar-vs-modal-dialogs.adoc
index 612d74d..3dad0f5 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/sidebar-vs-modal-dialogs.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features/sidebar-vs-modal-dialogs.adoc
@@ -5,29 +5,16 @@
 
 
 
-The Wicket viewer supports two different styles of dialog prompts for actions that have parameters:
+The Wicket viewer supports two different styles of dialog prompts for actions that have parameters: as a sidebar, and as a (movable) modal dialog.
 
-* the first is a (movable) modal dialog.
+* The sidebar prompt style looks like this:
 +
-This was the only style available for 1.16.x and earlier versions.
+image::dialog-mode/sidebar.png[width="600px"]
 
-* the second is as sidebar
+* while the modal dialog looks like:
 +
-This is available (and the default) for 1.17+.
+image::dialog-mode/modal.png[width="600px"]
 
+The sidebar is the default prompt style, and its benefit is that it doesn't obscure the rest of the information shown on the page; it also doesn't interrupt the end-user's context so much (they are more likely to remember why they invoked the action).
 
-The benefit of the sidebar dialog mode compared to the modal dialog is that it doesn't obscure the rest of the information shown on the page; it also doesn't interrupt the end-user's context so much (they are more likely to remember why they invoked the action).
-For these reasons the sidebar mode is now the default.
-
-For example, here's what invoking an action (to create a new object) looks like using the original modal dialog:
-
-image::dialog-mode/modal.png[width="800px"]
-
-
-And here's what it looks like with the sidebar dialog:
-
-image::dialog-mode/sidebar.png[width="800px"]
-
-
-
-However, the original modal dialog can still be be used if end-users prefer that style, by setting the `isis.viewer.wicket.dialog` xref:vw:ROOT:configuration-properties.adoc#presentation[configuration property].
+The xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prompt-style[isis.viewer.wicket.prompt-style] can be used to change the default style if required.
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/titles-in-tables.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/titles-in-tables.adoc
index 4086f00..d5f97c2 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/titles-in-tables.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features/titles-in-tables.adoc
@@ -9,11 +9,20 @@ While this is appropriate for the object view, it can be cumbersome within table
 
 If an object's title is specified with from `@Title` annotation then the Wicket viewer will (for parented collections) automatically "contextualize" a title by excluding the part of the title corresponding to a reference to the owning (parent) object.
 
-In other words, suppose we have:
+For example, suppose we have:
 
-image::how-tos/ui-hints/object-titles-and-icons/cust-order-product.png[width="579px"]
+[plantuml]
+----
+hide empty members
+class Customer {}
+class Order {}
+class Product {}
+
+Customer <-d-> "0..*" Order
+Product <-d[norank]-> "0..*" Order
+----
 
-so that `Customer` has a collection of `Order`s:
+so that `Customer` has a collection of ``Order``s:
 
 [source,java]
 ----
@@ -23,7 +32,7 @@ public class Customer {
 }
 ----
 
-and `Product` also has a collection of `Order`s (please forgive the suspect domain modelling in this example (!)):
+and `Product` also has a collection of ``Order``s:
 
 [source,java]
 ----
@@ -67,12 +76,11 @@ public class Order {
     ...
 }
 ----
-
 ====
 
 The above annotations mean that titles usually "just work", altering according to the context in which they are viewed.
 
 [TIP]
 ====
-It is also possible to configure the Wicket viewer to xref:vw:ROOT:configuration-properties.adoc#presentation.[abbreviate titles or suppress them] completely.
+It is also possible to configure the Wicket viewer to xref:vw:ROOT:setup-and-configuration.adoc#presentation[abbreviate titles or suppress them] completely.
 ====
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/user-registration.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/user-registration.adoc
index e5d40cd..efe526e 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/user-registration.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features/user-registration.adoc
@@ -28,7 +28,6 @@ The xref:security:ROOT:about.adoc[Security Manager] extension provides a partial
 
 == Screenshots
 
-// TODO: v2: update theses screenshots, perhaps we could make secman's implementation complete with an optionaly override?
 
 The user is presented with a login page:
 
@@ -66,13 +65,15 @@ image::user-registration/sign-up-after-registration.png[width="800px"]
 
 There are two prerequisites:
 
-* register an implementation of the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[user registration service] (eg by using the xref:security:ROOT:about.adoc[SecMan extension])
+* register an implementation of the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[user registration service]
++
+The xref:security:ROOT:about.adoc[SecMan extension] provides an abstract subclass implementation that does most of the work.
 
 * configure the xref:refguide:applib:index/services/email/EmailService.adoc[email service]
++
+This is required by the default xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[email notification service].
 
-The latter is required if you are using the default email notification service and email service. If you are using your own alternative implementation of the email notification service then it may be omitted (and configure your own alternative implementation as required).
-
-It is also possible to configure the Wicket viewer to suppress the sign-up page link and/or the password reset page, see xref:vw:ROOT:configuration-properties.adoc#sign-in[here] for further details.
+It is also possible to configure the Wicket viewer to suppress the sign-up page link and/or the password reset page, see xref:vw:ROOT:setup-and-configuration.adoc#sign-in-sign-up-and-remember-me[here] for further details.
 
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/where-am-i.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/where-am-i.adoc
index dd24e22..851cb6f 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/where-am-i.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features/where-am-i.adoc
@@ -1,23 +1,18 @@
 [[where-am-i]]
-= Where am I
+= Where am I? (Navigable trees)
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-
 The Wicket viewer provides a secondary navigation scheme that allows users to quickly access domain objects, that are organized in a hierarchical manner.
 
 This hierarchy can be understood as a navigable tree-structure, where the navigable tree-nodes are either domain objects or domain views.
-Domain objects that take part in such a navigable-tree-structure need to declare their actual navigable parent within this hierarchy.
-That's all the framework needs, in order to build a navigable-tree.
-With version 2.0 we introduced the `Navigable` enum to use with the `@PropertyLayout` annotation to allow declarative specification of a domain object's navigable parent.
-
-In other words: a domain object or view may declare its parent (with respect to the navigable tree-structure it is part of) via use of a `@PropertyLayout(navigable=Navigable.PARENT)` annotation.
+Domain objects that take part in such a navigable-tree-structure need to declare their actual navigable parent within this hierarchy using the xref:refguide:applib:index/annotation/PropertyLayout.adoc#navigable[@PropertyLayout#navigable()] annotation.
 
 
 == Screenshots
 
-The following screenshot shows the navigation links below the top menu bar.
+The following screenshot (from the link:https://demo-wicket.isis.incode.work/[demo app]) shows the navigation links below the top menu bar.
 
 image::where-am-i/hello_grey_bg.png[width="720px"]
 
@@ -27,11 +22,15 @@ image::where-am-i/hello_grey_bg.png[width="720px"]
 To declare a domain object's (or view's) navigable parent, add a `@PropertyLayout(navigable=Navigable.PARENT)` annotation to a field (that has an associated getter) or a no-arg method, that returns the parent object:
 
 [source,java]
+.Company.java
 ----
-
 @DomainObject
 public class Company { /* ... */ }
+----
 
+[source,java]
+.Employee.java
+----
 @DomainObject
 public class Employee {
 
@@ -39,7 +38,11 @@ public class Employee {
     @Getter
     Company myCompany;
 }
+----
 
+[source,java]
+.PhoneNumber.java
+----
 @DomainObject
 public class PhoneNumber {
 
@@ -47,16 +50,14 @@ public class PhoneNumber {
     Employee employee(){
         return ...
     }
-
 }
-
 ----
 
 This results in a navigable tree-structure ...
 
-Company > Employee > PhoneNumber
+ Company > Employee > PhoneNumber
 
-=== How to use `Navigable.PARENT`
+Notes:
 
 . Any use of `@PropertyLayout(navigable=Navigable.PARENT)` with Java interfaces is simply ignored.
 These do not contribute to the domain meta model.
@@ -83,26 +84,8 @@ Horizontally arranged text links separated by the 'greater than' symbol (>) are
 
 == Related functionality
 
+The navigable tree-structure, as provided by the "where am i" feature, is declared at compile-time (predefined by the programmer), whereas xref:vw:ROOT:features.adoc#bookmarked-pages[Bookmarked Pages]) are populated at runtime only after user interaction.
+
+
+
 
-The navigable tree-structure, as provided by the 'Where am I' feature, is declared at compile-time (predefined by the programmer), whereas related features (xref:vw:ROOT:features.adoc#recent-pages[Recent Pages] and xref:vw:ROOT:features.adoc#bookmarked-pages[Bookmarked Pages]) are populated at runtime only after user interaction.
-
-
-//== Configuration
-//
-//By default, the 'Where am I' feature will show a maximum of 64 links.
-//This can be overridden using the
-//xref:refguide:config:sections/isis.viewer.wicket.adoc
-//configuration property, for example:
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.whereAmI.maxParentChainLength=20
-//----
-//
-//To disable the 'Where am I' feature, override the default (=enabled) by using a property (in `isis.properties`):
-//
-//[source,ini]
-//----
-//isis.viewer.wicket.whereAmI.enabled=false
-//----
-//
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips.adoc b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips.adoc
index 0e53b37..5d1b0a0 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips.adoc
@@ -3,15 +3,11 @@
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
-
-
-This chapter provides some solutions for problems we've encountered ourselves or have been raised on the Apache Isis mailing lists.
-
 
+This chapter provides some solutions for problems we've encountered ourselves or have been raised on the mailing lists/Slack channel.
 
 
 include::hints-and-tips/per-user-themes.adoc[leveloffset=+1]
 include::hints-and-tips/i18n-label-in-wicket-viewer.adoc[leveloffset=+1]
-include::hints-and-tips/highlight-current-row.adoc[leveloffset=+1]
+include::hints-and-tips/auto-refresh.adoc[leveloffset=+1]
 include::hints-and-tips/svg-support.adoc[leveloffset=+1]
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/auto-refresh.adoc b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/auto-refresh.adoc
similarity index 77%
rename from viewers/wicket/adoc/modules/ROOT/pages/customisation/auto-refresh.adoc
rename to viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/auto-refresh.adoc
index b386ddf..c5d5db3 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/auto-refresh.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/auto-refresh.adoc
@@ -6,12 +6,12 @@
 
 This requirement from the users mailing list:
 
-"Suppose you want to build a monitoring application, eg for an electricity grid. Data is updated in the background (eg via the Restful Objects REST API).
-What is needed is the ability to show an entity that includes a map, and have it auto-refresh every 5 seconds or so."
+* _"Suppose you want to build a monitoring application, eg for an electricity grid. Data is updated in the background (eg via the Restful Objects REST API).
+What is needed is the ability to show an entity that includes a map, and have it auto-refresh every 5 seconds or so."_
 
 Here's one (somewhat crude, but workable) way to accomplish this.
 
-* First, update the domain object to return custom CSS: +
+* First, update the domain object to return custom CSS:
 +
 [source,java]
 ----
@@ -22,9 +22,10 @@ public class MyDomainObject {
 }
 ----
 
-* Then, use JavaScript in `scripts/application.js` (under `src/main/webapp/`) to reload:
+* Then, use xref:customisation.adoc#custom-javascript[custom JavaScript] to reload:
 +
 [source,javascript]
+.scripts/application.js
 ----
 $(function() {
     if ($(".my-special-auto-updating-entity").length) {
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/highlight-current-row.adoc b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/highlight-current-row.adoc
deleted file mode 100644
index 63d282b..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/highlight-current-row.adoc
+++ /dev/null
@@ -1,91 +0,0 @@
-[[highlight-current-row]]
-= Highlight Current Row
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-Demo App: Highlighting Current
-As a by-the-by, the demo app has one further "trick up its sleeve".
-If you run the app you'll notice that the currently selected `DemoObject` is highlighted in the left-hand table of the `HomePageViewModel`.
-
-This is accomplished by having the view model collaborate with a subscribing domain service that configures a CSS class.
-
-We start by ensuring that the `DemoObject` emits an event for its CSS class:
-
-[source,java]
-.DemoObject.java
-----
-@DomainObjectLayout(
-...
-cssClassUiEvent = DemoObject.CssClassUiEvent.class
-)
-public class DemoObject ... {
-
-public static class CssClassUiEvent
-extends org.apache.isis.applib.events.ui.CssClassUiEvent<DemoObject> {}
-...
-}
-----
-
-Next, we define the domain service to act as the subscriber:
-
-[source,java]
-.HomePageViewModel.java
-----
-import org.springframework.context.event.EventListener;
-import org.springframework.stereotype.Service;
-
-public class HomePageViewModel {
-
-    @Service
-    public static class CssHighlighter {
-        @EventListener(DemoObject.CssClassUiEvent.class)
-        public void on(DemoObject.CssClassUiEvent ev) {
-            if(getContext() == null) { return; }
-            if(ev.getSource() == getContext().getSelected()) {      // <1>
-                ev.setCssClass("selected");
-            }
-        }
-        private HomePageViewModel getContext() {                    // <2>
-            return (HomePageViewModel) scratchpad.get("context");
-        }
-        void setContext(final HomePageViewModel homePageViewModel) {
-            scratchpad.put("context", homePageViewModel);
-        }
-        @Inject
-        Scratchpad scratchpad;                                      // <3>
-    }
-
-}
-----
-<1> If the domain object is the currently selected then set the CSS class
-<2> Provide methods to set and get the current `HomePageViewModel` (acting as the context)
-<3> Store the context using the `Scratchpad` domain service (request-scoped so thread-safe).
-
-The `HomePageViewModel` is responsible for setting itself as the context for the domain service:
-
-[source,java]
-.HomePageViewModel.java
-----
-public class HomePageViewModel ... {
-    ...
-    public TranslatableString title() {
-        cssHighlighter.setContext(this);        // <1>
-        ...
-    }
-    ...
-    @javax.inject.Inject
-    CssHighlighter cssHighlighter;
-}
-----
-<1> set the context on the domain service
-
-Finally we just need some CSS, in the `application.css` file:
-
-[source,css]
-.application.css
-----
-.selected {
-    font-style: italic; font-weight: bolder;
-}
-----
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/per-user-themes.adoc b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/per-user-themes.adoc
index 473b1c7..201b98c 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/per-user-themes.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/per-user-themes.adoc
@@ -6,7 +6,7 @@
 
 From link:http://isis.markmail.org/thread/kb4442niwwbnghey[this thread] on the Apache Isis users mailing list:
 
-* _Is it possible to have each of our resellers (using our Apache Isis application) use there own theme/branding with their own logo and colors?
+* _Is it possible to have each of our resellers (using our Apache Isis application) use their own theme/branding with their own logo and colors?
 Would this also be possible for the login page, possibly depending on the used host name?_
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/other-resources.adoc b/viewers/wicket/adoc/modules/ROOT/pages/other-resources.adoc
deleted file mode 100644
index 8aab42b..0000000
--- a/viewers/wicket/adoc/modules/ROOT/pages/other-resources.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-= Other Resources
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-:page-aliases: guides:ugvw:ugvw.adoc
-
-WARNING: TODO: document 3rd party tutorials and resources.
-
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/security.adoc b/viewers/wicket/adoc/modules/ROOT/pages/security.adoc
index aa5ed6c..d8ca252 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/security.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/security.adoc
@@ -2,8 +2,6 @@
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-WARNING: TODO: this content has not yet been reviewed/updated for v2.0
-
 
 //
 // These pages are include:d in both this viewer and in the security guide
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/setup-and-configuration.adoc b/viewers/wicket/adoc/modules/ROOT/pages/setup-and-configuration.adoc
new file mode 100644
index 0000000..a95111a
--- /dev/null
+++ b/viewers/wicket/adoc/modules/ROOT/pages/setup-and-configuration.adoc
@@ -0,0 +1,304 @@
+= Setup and Configuration
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+
+This section describes how to include the Wicket module and set its configuration properties.
+
+
+== Maven pom.xml
+
+=== Dependency Management
+
+If your application inherits from the Apache Isis starter app (`org.apache.isis.app:isis-app-starter-parent` then that will define the version automatically:
+
+[source,xml,subs="attributes+"]
+.pom.xml
+----
+<parent>
+    <groupId>org.apache.isis.app</groupId>
+    <artifactId>isis-app-starter-parent</artifactId>
+    <version>{page-isisrel}</version>
+    <relativePath/>
+</parent>
+----
+
+Alternatively, import the core BOM.
+This is usually done in the top-level parent pom of your application:
+
+[source,xml,subs="attributes+"]
+.pom.xml
+----
+<dependencyManagement>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.isis.core</groupId>
+            <artifactId>isis-core</artifactId>
+            <version>{page-isisrel}</version>
+            <version>2.0.0-SNAPSHOT</version>
+            <scope>import</scope>
+            <type>pom</type>
+        </dependency>
+    </dependencies>
+</dependencyManagement>
+----
+
+
+=== Dependency
+
+In the webapp module, add the following dependency:
+
+[source,xml]
+.pom.xml
+----
+<dependencies>
+    <dependency>
+        <groupId>org.apache.isis.mavendeps</groupId>
+        <artifactId>isis-mavendeps-webapp</artifactId>
+        <type>pom</type>
+    </dependency>
+</dependencies>
+----
+
+
+== Update AppManifest
+
+In your application's `AppManifest` (top-level Spring `@Configuration` used to bootstrap the app), import the
+
+[source,java]
+.AppManifest.java
+----
+@Configuration
+@Import({
+        ...
+        IsisModuleViewerWicketViewer.class,
+        ...
+})
+public class AppManifest {
+}
+----
+
+
+== Configuration Properties
+
+The xref:refguide:config:about.adoc[Configuration Guide] includes a xref:refguide:config:sections/isis.viewer.wicket.adoc[section] for the Wicket viewer.
+
+
+=== Application Identity
+
+Configuration properties that identify the application, in the sign-in page, welcome and about pages:
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.about[isis.viewer.wicket.application.about]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.brand-logo-header[isis.viewer.wicket.application.brand-logo-header]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.brand-logo-signin[isis.viewer.wicket.application.brand-logo-signin]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.css[isis.viewer.wicket.application.css]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.js[isis.viewer.wicket.application.js]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.name[isis.viewer.wicket.application.name]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.version[isis.viewer.wicket.application.version]
++
+This is discussed in more detail <<application-versioning,below>>.
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.welcome.text[isis.viewer.wicket.welcome.text]
+
+
+[#application-versioning]
+==== Application versioning
+
+If the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.application.version[isis.viewer.wicket.application.version] configuration property is present, then this will be shown in the footer on every page as well as on the about page.
+
+Maintaining this configuration property manually could be error prone, so an alternative approach is to configure your build system to generate a version identifier automatically.
+
+For example, the version `20181115.2011.EST-1862.8d8e1c16` consists of four parts:
+
+* the date of the build
+* the time of the build (to the nearest minute)
+* the branch
+* the git shaId
+
+This can be computed using a simple script, for example:
+
+[source,bash]
+----
+DATE=$(date +%Y%m%d.%H%M)
+BRANCH=$(echo $GIT_BRANCH | sed 's|^rel/||g' | sed 's|[.]|_|g' | awk -F/ '{ print $NF }')
+GIT_SHORT_COMMIT=$(echo $GIT_COMMIT | cut -c1-8)
+APPLICATION_VERSION=$DATE.$BRANCH.$GIT_SHORT_COMMIT
+----
+
+where `$GIT_BRANCH` and `$GIT_COMMIT` are provided by the CI server/build environment.
+
+This environment variable can be passed into the (Maven) build using a system property, for example:
+
+[source,bash]
+----
+mvn -DapplicationVersion=$APPLICATION_VERSION clean install
+----
+
+Suppose we now provide a file `application-version.properties` is in the same package as the app manifest file, but in the `src/main/resources` directory:
+
+[source,ini]
+.application-version.properties
+----
+isis.viewer.wicket.application.version=$\{applicationVersion}
+----
+
+then Maven will automatically interpolate the actual revision when this file is copied over to the build (ie `target/classes`) directory.
+
+The last step is for Spring Boot to also load this file.
+One way to do this is using the Spring link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/PropertySource.html[@PropertySource] annotation on the top-level "app manifest":
+
+[source,java]
+----
+@Configuration
+@Import({
+        // ...
+        IsisModuleViewerWicketViewer.class,
+
+        // ...
+})
+@PropertySource("classpath:application-version.properties")     //<.>
+public class AppManifest {
+}
+----
+<.> picks up the additional configuration property.
+
+
+
+
+
+[#sign-in-sign-up-and-remember-me]
+=== Sign-in, Sign-up and Remember Me
+
+Configuration properties that influence the behaviour and appearance of the sign-in page.
+
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.remember-me.cookie-key[isis.viewer.wicket.remember-me.cookie-key]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.remember-me.encryption-key[isis.viewer.wicket.remember-me.encryption-key]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.remember-me.suppress[isis.viewer.wicket.remember-me.suppress]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.suppress-password-reset[isis.viewer.wicket.suppress-password-reset]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.suppress-sign-up[isis.viewer.wicket.suppress-sign-up]
+
+
+=== Header and Footer
+
+Configuration properties that influence the appearance of the header and footer panels:
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.credit[isis.viewer.wicket.credit]
++
+For example:
++
+[source,yaml]
+.application.yml
+----
+isis:
+  viewer:
+    wicket:
+      credit:
+        - url:  http://isis.apache.org
+          image: images/apache-isis/logo-48x48.png
+          name: Apache Isis
+----
+
+Up to three credits can be provided.
+
+See also the xref:vw:ROOT:setup-and-configuration.adoc#bookmarks-and-breadcrumbs[bookmarks and breadcrumbs] and xref:vw:ROOT:setup-and-configuration.adoc#themes
+[themes] configuration properties, because these also control UI elements that appear on the header/footer panels.
+
+
+[#presentation]
+=== Presentation
+
+These configuration properties that effect the overall presentation and appearance of the viewer:
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.max-title-length-in-tables[isis.viewer.wicket.max-title-length-in-tables]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.max-title-length-in-parented-tables[isis.viewer.wicket.max-title-length-in-parented-tables]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.max-title-length-in-standalone-tables[isis.viewer.wicket.max-title-length-in-standalone-tables]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prompt-style[isis.viewer.wicket.prompt-style]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode[isis.viewer.wicket.dialog-mode]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode-for-menu[isis.viewer.wicket.dialog-mode-for-menu]
+
+
+And these configuration properties provide defaults for xref:refguide:applib-ant:about.adoc[annotations] that also will effect the overall presentation and appearance of the viewer:
+
+* xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.collection-layout.default-view[isis.applib.annotation.collection-layout.default-view]
+* xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.collection-layout.paged[isis.applib.annotation.collection-layout.paged]
+* xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object-layout.paged[isis.applib.annotation.domain-object-layout.paged]
+* xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property-layout.label-position[isis.applib.annotation.property-layout.label-position]
+
+
+
+
+[#bookmarks-and-breadcrumbs]
+=== Bookmarks and Breadcrumbs
+
+These configuration properties enable or disable the mechanisms for locating previously accessed objects.
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.breadcrumbs.max-parent-chain-length[isis.viewer.wicket.breadcrumbs.max-parent-chain-length]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.max-size[isis.viewer.wicket.bookmarked-pages.max-size]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.show-chooser[isis.viewer.wicket.bookmarked-pages.show-chooser]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.show-drop-down-on-footer[isis.viewer.wicket.bookmarked-pages.show-drop-down-on-footer]
+
+
+=== Themes
+
+These configuration properties control the switching of themes.
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.themes.enabled[isis.viewer.wicket.themes.enabled]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.themes.initial[isis.viewer.wicket.themes.initial]
++
+[TIP]
+====
+Set this configuration property to different values for different environments (dev, test, prod) so you can know at a glance which environment you are connected to.
+====
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.themes.show-chooser[isis.viewer.wicket.themes.show-chooser]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.themes.provider[isis.viewer.wicket.themes.provider]
+
+
+The Wicket viewer uses link:http://getbootstrap.com/[Bootstrap] styles and components (courtesy of the https://github.com/l0rdn1kk0n/wicket-bootstrap[Wicket Bootstrap] integration).
+You can also develop and install a custom themes (eg to fit your company's look-n-feel/interface guidelines); see the xref:vw:ROOT:extending.adoc#custom-bootstrap-theme[extending] chapter for further details.
+
+
+
+=== Date Formatting & Date Picker
+
+These configuration properties influence the way in which date/times are rendered and can be selected using the date/time pickers:
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.date-pattern[isis.viewer.wicket.date-pattern]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.date-time-pattern[isis.viewer.wicket.date-time-pattern]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.timestamp-pattern[isis.viewer.wicket.date-picker.timestamp-pattern]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.date-picker.max-date[isis.viewer.wicket.date-picker.max-date]
++
+See link:http://eonasdan.github.io/bootstrap-datetimepicker/Options/#maxdate[datetimepicker reference docs] for further details.
+The string must be in ISO date format (see link:https://github.com/moment/moment/issues/1407[here]
+for further details).
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.date-picker.min-date[isis.viewer.wicket.date-picker.min-date]
+
+
+=== Debugging
+
+These configuration properties can assist with debugging the behaviour of the Wicket viewer itself:
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.ajax-debug-mode[isis.viewer.wicket.ajax-debug-mode]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.development-utilities.enable[isis.viewer.wicket.development-utilities.enable]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.live-reload-url[isis.viewer.wicket.live-reload-url]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.strip-wicket-tags[isis.viewer.wicket.strip-wicket-tags]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.wicket-source-plugin[isis.viewer.wicket.wicket-source-plugin]
++
+[WARNING]
+====
+Enabling this setting can significantly slow down rendering performance of the Wicket viewer.
+====
+
+
+=== Feature Toggles
+
+These configuration properties are used to enable/disable features that are either on the way to becoming the default behaviour (but can temporarily be disabled) or conversely for features that are to be removed (but can temporarily be left as enabled).
+
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prevent-double-click-for-form-submit[isis.viewer.wicket.prevent-double-click-for-form-submit]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prevent-double-click-for-no-arg-action[isis.viewer.wicket.prevent-double-click-for-no-arg-action]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.redirect-even-if-same-object[isis.viewer.wicket.redirect-even-if-same-object]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.replace-disabled-tag-with-readonly-tag[isis.viewer.wicket.replace-disabled-tag-with-readonly-tag]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.use-indicator-for-form-submit[isis.viewer.wicket.use-indicator-for-form-submit]
+* xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.use-indicator-for-no-arg-action[isis.viewer.wicket.use-indicator-for-no-arg-action]
+
diff --git a/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc b/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc
index 811d26e..79e0881 100644
--- a/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/partials/module-nav.adoc
@@ -1,16 +1,11 @@
 
 
 
-* xref:vw:ROOT:configuration-properties.adoc[Configuration Properties]
+* xref:vw:ROOT:setup-and-configuration.adoc[Setup and Configuration]
 * xref:vw:ROOT:features.adoc[End-user Features]
-* xref:vw:ROOT:security.adoc[Security]
 * xref:vw:ROOT:customisation.adoc[Customisation]
 * xref:vw:ROOT:extending.adoc[Extending]
 * xref:vw:ROOT:hints-and-tips.adoc[Hints-n-Tips]
-* xref:vw:ROOT:other-resources.adoc[Other Resources]
-
-
-
-
+* xref:vw:ROOT:security.adoc[Security]
 
 
diff --git a/viewers/wicket/adoc/modules/ROOT/partials/security/pages.adoc b/viewers/wicket/adoc/modules/ROOT/partials/security/pages.adoc
index 872f002..0272176 100644
--- a/viewers/wicket/adoc/modules/ROOT/partials/security/pages.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/partials/security/pages.adoc
@@ -4,17 +4,11 @@
 
 
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] defines a relatively small number of pages (by which we mean subclasses of `org.apache.wicket.markup.html.WebPage`):
+The xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)] defines a relatively small number of pages (subclasses of `org.apache.wicket.markup.html.WebPage`):
 
-* about page
-* entity page
-* error page
-* home page
-* standalone collection page
-* value page
-* void return page
+image::security/WebPage-hierarchy.png[width=600px]
 
-All of these (except about page) are annotated with the Wicket annotation:
+The subclasses of `PageAbstract` are annotated with the Wicket annotation:
 
 [source,java]
 ----
@@ -24,12 +18,7 @@ All of these (except about page) are annotated with the Wicket annotation:
 which means that they can only be accessed by a user with an authenticated session that has this special, reserved role.
 If not, Wicket will automatically redirect the user to the sign-in page.
 
-[TIP]
-====
-The sign-in page to render is pluggable; see xref:vw:ROOT:extending.adoc#custom-pages[extensions chapter] for details.
-====
-
-In the sign-in page the viewer calls to the Isis Authenticator API, and obtains back a user/role.
+In the sign-in page the viewer calls to the xref:refguide:core:index/security/authentication/Authenticator.adoc[Authenticator] API, and obtains back a user/role.
 It also adds in its special reserved role (per the annotation above) and then continues on to whichever page the user was attempting to access (usually the home page).
 
 And that's really all there is to it.
diff --git a/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc b/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc
index c6fca77..9e3fc22 100644
--- a/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc
@@ -4,22 +4,12 @@
 
 
 
-
 As well as providing a sign-in screen, the Wicket viewer also provides the ability for users to self-register.
 By and large this operates outside of Apache Isis' security mechanisms; indeed the various pages (sign-up, sign-up verification, password reset) are all rendered _without_ there being any current user session.
 These pages all "reach inside" Apache Isis framework in order to actually do their stuff.
 
-[TIP]
-====
-The sign-in verification page to render is pluggable; see xref:vw:ROOT:extending.adoc#custom-pages[extensions chapter] for details.
-====
-
 User registration is only available if the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService] is configured; this is used by the framework to actually create new instances of the user as accessed by the corresponding (Shiro) realm.
 
 Because Shiro realms are pluggable, the Apache Isis framework does not provide default implementations of this service.
 However, if you are using the xref:security:ROOT:about.adoc[SecMan extension], then this module _does_ provide an implementation (that, as you might expect, creates new "user" domain entities).
 
-And, if you are using the xref:security:realm-ldap:about.adoc[LDAP realm] and want to enable user-self registration then you'll need to write your own implementation of this service.
-
-
-