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 2019/08/20 13:26:00 UTC

[isis] 03/05: ISIS-2062: more updates for .adocs - sketch out extensions, comments out TODO: v2: text.

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

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

commit 69cab1dcd78ef87a1e38121550c5df866b0c0b06
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Aug 8 17:07:25 2019 +0200

    ISIS-2062: more updates for .adocs - sketch out extensions, comments out TODO: v2: text.
---
 antora/components/arch/antora.yml                  |   2 +-
 .../demoapp/modules/ROOT/pages/about.adoc          |   2 +-
 antora/components/extensions/antora.yml            |  12 +++++
 antora/components/extensions/examples.csv          |   1 +
 .../extensions/modules/ROOT/_attributes.adoc       |   6 +++
 antora/components/extensions/modules/ROOT/nav.adoc |   2 +
 .../extensions/modules/ROOT/pages/_attributes.adoc |   4 ++
 .../modules/ROOT/pages/_partials/_attributes.adoc  |   4 ++
 .../extensions/modules/ROOT/pages/about.adoc       |   3 ++
 .../extensions/modules/asciidoc/_attributes.adoc   |   6 +++
 .../modules/asciidoc/assets/attachments/.gitkeep   |   0
 .../modules/asciidoc/assets/images/.gitkeep        |   0
 .../extensions/modules/asciidoc/examples/.gitkeep  |   0
 .../extensions/modules/asciidoc/nav.adoc           |   2 +
 .../modules/asciidoc/pages/_attributes.adoc        |   4 ++
 .../asciidoc/pages/_partials/_attributes.adoc      |   4 ++
 .../modules/asciidoc/pages/about.adoc}             |   5 +-
 .../extensions/modules/fixtures/_attributes.adoc   |   6 +++
 .../modules/fixtures/assets/attachments/.gitkeep   |   0
 .../modules/fixtures/assets/images/.gitkeep        |   0
 .../extensions/modules/fixtures/examples/.gitkeep  |   0
 .../extensions/modules/fixtures/nav.adoc           |   2 +
 .../modules/fixtures/pages/_attributes.adoc        |   4 ++
 .../fixtures/pages/_partials/_attributes.adoc      |   4 ++
 .../modules/fixtures/pages/about.adoc}             |   5 +-
 .../extensions/modules/markdown/_attributes.adoc   |   6 +++
 .../modules/markdown/assets/attachments/.gitkeep   |   0
 .../modules/markdown/assets/images/.gitkeep        |   0
 .../extensions/modules/markdown/examples/.gitkeep  |   0
 .../extensions/modules/markdown/nav.adoc           |   2 +
 .../modules/markdown/pages/_attributes.adoc        |   4 ++
 .../markdown/pages/_partials/_attributes.adoc      |   4 ++
 .../modules/markdown/pages/about.adoc}             |   5 +-
 .../extensions/modules/secman/_attributes.adoc     |   6 +++
 .../modules/secman/assets/attachments/.gitkeep     |   0
 .../modules/secman/assets/images/.gitkeep          |   0
 .../extensions/modules/secman/examples/.gitkeep    |   0
 .../components/extensions/modules/secman/nav.adoc  |   2 +
 .../modules/secman/pages/_attributes.adoc          |   4 ++
 .../secman/pages/_partials/_attributes.adoc        |   4 ++
 .../modules/secman/pages/about.adoc}               |   5 +-
 .../modules/specsupport/_attributes.adoc           |   6 +++
 .../specsupport/assets/attachments/.gitkeep        |   0
 .../modules/specsupport/assets/images/.gitkeep     |   0
 .../modules/specsupport/examples/.gitkeep          |   0
 .../extensions/modules/specsupport/nav.adoc        |   2 +
 .../modules/specsupport/pages/_attributes.adoc     |   4 ++
 .../specsupport/pages/_partials/_attributes.adoc   |   4 ++
 .../modules/specsupport/pages/about.adoc}          |   5 +-
 .../modules/viewer-wicket-excel/_attributes.adoc   |   6 +++
 .../assets/attachments/.gitkeep                    |   0
 .../viewer-wicket-excel/assets/images/.gitkeep     |   0
 .../modules/viewer-wicket-excel/examples/.gitkeep  |   0
 .../modules/viewer-wicket-excel/nav.adoc           |   2 +
 .../viewer-wicket-excel/pages/_attributes.adoc     |   4 ++
 .../pages/_partials/_attributes.adoc               |   4 ++
 .../modules/viewer-wicket-excel/pages/about.adoc}  |   5 +-
 antora/components/extensions/sync_examples.sh      |  39 ++++++++++++++++
 antora/components/rg/modules/ant/pages/Inject.adoc |   2 +-
 .../rg/modules/ant/pages/MemberOrder.adoc          |  13 +++---
 .../modules/ant/pages/MemberOrder/_attributes.adoc |   4 ++
 .../modules/ant/pages/MemberOrder/name.adoc}       |   6 ++-
 .../modules/ant/pages/MemberOrder/sequence.adoc}   |   5 +-
 .../pages/classes/AppManifest-bootstrapping.adoc   |   2 +-
 .../cms/pages/methods/prefixes/choices.adoc        |   2 +-
 .../cms/pages/methods/prefixes/default.adoc        |   2 +-
 .../cms/pages/methods/prefixes/disable.adoc        |   4 +-
 .../svc/pages/integration-api/EmailService.adoc    |   2 +-
 .../persistence-layer-api/IsisJdoSupport.adoc      |  14 ++++--
 .../UserRegistrationService.adoc                   |  25 ++++++----
 .../components/toc/modules/ROOT/pages/about.adoc   |  41 ++++++++++------
 .../toc/modules/module-template/pages/about.adoc   |   3 +-
 .../deployment/externalized-configuration.adoc     |   2 +-
 antora/components/ug/modules/btb/pages/i18n.adoc   |   2 +-
 .../components/ug/modules/btb/pages/web-xml.adoc   |   2 +-
 .../fun/pages/programming-model/mixins.adoc        |   2 +-
 .../programming-model/view-models/non-jaxb.adoc    |   4 +-
 .../pages/ui-hints/object-titles-and-icons.adoc    |   2 +-
 .../modules/sec/pages/usage-by-isis-viewers.adoc   |   6 +--
 .../ug/modules/vro/pages/health-check.adoc         |   2 +-
 .../modules/vw/pages/configuration-properties.adoc |  52 ++++++++-------------
 .../ug/modules/vw/pages/customisation.adoc         |   1 +
 .../vw/pages/customisation/auto-refresh.adoc       |  11 ++---
 .../vw/pages/customisation/custom-javascript.adoc  |  18 +++----
 .../pages/customisation/top-level-index-page.adoc  |   2 +-
 .../components/ug/modules/vw/pages/extending.adoc  |  17 ++++---
 .../vw/pages/extending/custom-bootstrap-theme.adoc |   7 +--
 .../vw/pages/features/blob-attachments.adoc        |   5 +-
 .../vw/pages/features/bookmarked-pages.adoc        |   6 +--
 .../vw/pages/features/hints-and-copy-url.adoc      |   9 ++--
 .../ug/modules/vw/pages/features/recent-pages.adoc |   4 +-
 .../pages/features/sidebar-vs-modal-dialogs.adoc   |   2 +-
 .../vw/pages/features/titles-in-tables.adoc        |  15 +++---
 .../vw/pages/features/user-registration.adoc       |  12 ++---
 .../modules/vw/pages/layout/annotation-based.adoc  |  45 +++++++++++-------
 .../ug/modules/vw/pages/layout/file-based.adoc     |   2 +-
 antora/theme/ui-bundle.zip                         | Bin 269690 -> 269845 bytes
 .../src/main/resources/isis-version.properties     |   2 +-
 examples/apps/helloworld/pom.xml                   |   8 +++-
 examples/apps/simpleapp/webapp/pom.xml             |  11 +++++
 .../main/java/domainapp/application/SimpleApp.java |   1 -
 site.yml                                           |   3 ++
 102 files changed, 396 insertions(+), 185 deletions(-)

diff --git a/antora/components/arch/antora.yml b/antora/components/arch/antora.yml
index e235376..5b81d53 100644
--- a/antora/components/arch/antora.yml
+++ b/antora/components/arch/antora.yml
@@ -1,5 +1,5 @@
 name: arch
-title: Maven Archetypes
+title: Archetypes
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/antora/components/demoapp/modules/ROOT/pages/about.adoc b/antora/components/demoapp/modules/ROOT/pages/about.adoc
index 5f3caab..afe39eb 100644
--- a/antora/components/demoapp/modules/ROOT/pages/about.adoc
+++ b/antora/components/demoapp/modules/ROOT/pages/about.adoc
@@ -1,4 +1,4 @@
-= Demo App
+= Demo
 include::_attributes.adoc[]
 
 CAUTION: TODO ... isis-2-demo
diff --git a/antora/components/extensions/antora.yml b/antora/components/extensions/antora.yml
new file mode 100644
index 0000000..cab0db4
--- /dev/null
+++ b/antora/components/extensions/antora.yml
@@ -0,0 +1,12 @@
+name: ext
+title: Extensions
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
+- modules/fixtures/nav.adoc
+- modules/specsupport/nav.adoc
+- modules/secman/nav.adoc
+- modules/viewer-wicket-excel/nav.adoc
+- modules/asciidoc/nav.adoc
+- modules/markdown/nav.adoc
diff --git a/antora/components/extensions/examples.csv b/antora/components/extensions/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/extensions/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/extensions/modules/ROOT/_attributes.adoc b/antora/components/extensions/modules/ROOT/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/ROOT/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/ROOT/nav.adoc b/antora/components/extensions/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..2815342
--- /dev/null
+++ b/antora/components/extensions/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[About]
+
diff --git a/antora/components/extensions/modules/ROOT/pages/_attributes.adoc b/antora/components/extensions/modules/ROOT/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/ROOT/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/ROOT/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/ROOT/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/ROOT/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/ROOT/pages/about.adoc b/antora/components/extensions/modules/ROOT/pages/about.adoc
new file mode 100644
index 0000000..21c3a59
--- /dev/null
+++ b/antora/components/extensions/modules/ROOT/pages/about.adoc
@@ -0,0 +1,3 @@
+= About
+include::_attributes.adoc[]
+
diff --git a/antora/components/extensions/modules/asciidoc/_attributes.adoc b/antora/components/extensions/modules/asciidoc/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/asciidoc/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/asciidoc/assets/attachments/.gitkeep b/antora/components/extensions/modules/asciidoc/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/asciidoc/assets/images/.gitkeep b/antora/components/extensions/modules/asciidoc/assets/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/asciidoc/examples/.gitkeep b/antora/components/extensions/modules/asciidoc/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/asciidoc/nav.adoc b/antora/components/extensions/modules/asciidoc/nav.adoc
new file mode 100644
index 0000000..f0240e0
--- /dev/null
+++ b/antora/components/extensions/modules/asciidoc/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[Asciidoc]
+
diff --git a/antora/components/extensions/modules/asciidoc/pages/_attributes.adoc b/antora/components/extensions/modules/asciidoc/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/asciidoc/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/asciidoc/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/asciidoc/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/asciidoc/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/extensions/modules/asciidoc/pages/about.adoc
similarity index 90%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/extensions/modules/asciidoc/pages/about.adoc
index 40374a6..7bbb51d 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/extensions/modules/asciidoc/pages/about.adoc
@@ -1,7 +1,6 @@
-= Customisation
+= Asciidoc Extension
 :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 [...]
 include::_attributes.adoc[]
 
-
-
+TODO: v2: placeholder for documentation about extensions/asciidoc
 
diff --git a/antora/components/extensions/modules/fixtures/_attributes.adoc b/antora/components/extensions/modules/fixtures/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/fixtures/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/fixtures/assets/attachments/.gitkeep b/antora/components/extensions/modules/fixtures/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/fixtures/assets/images/.gitkeep b/antora/components/extensions/modules/fixtures/assets/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/fixtures/examples/.gitkeep b/antora/components/extensions/modules/fixtures/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/fixtures/nav.adoc b/antora/components/extensions/modules/fixtures/nav.adoc
new file mode 100644
index 0000000..a7bcce2
--- /dev/null
+++ b/antora/components/extensions/modules/fixtures/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[Fixtures]
+
diff --git a/antora/components/extensions/modules/fixtures/pages/_attributes.adoc b/antora/components/extensions/modules/fixtures/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/fixtures/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/fixtures/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/fixtures/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/fixtures/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/extensions/modules/fixtures/pages/about.adoc
similarity index 90%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/extensions/modules/fixtures/pages/about.adoc
index 40374a6..45949aa 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/extensions/modules/fixtures/pages/about.adoc
@@ -1,7 +1,6 @@
-= Customisation
+= Fixtures Extension
 :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 [...]
 include::_attributes.adoc[]
 
-
-
+TODO: v2: placeholder for documentation about extensions/fixtures
 
diff --git a/antora/components/extensions/modules/markdown/_attributes.adoc b/antora/components/extensions/modules/markdown/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/markdown/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/markdown/assets/attachments/.gitkeep b/antora/components/extensions/modules/markdown/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/markdown/assets/images/.gitkeep b/antora/components/extensions/modules/markdown/assets/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/markdown/examples/.gitkeep b/antora/components/extensions/modules/markdown/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/markdown/nav.adoc b/antora/components/extensions/modules/markdown/nav.adoc
new file mode 100644
index 0000000..4c3afe7
--- /dev/null
+++ b/antora/components/extensions/modules/markdown/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[Markdown]
+
diff --git a/antora/components/extensions/modules/markdown/pages/_attributes.adoc b/antora/components/extensions/modules/markdown/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/markdown/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/markdown/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/markdown/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/markdown/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/extensions/modules/markdown/pages/about.adoc
similarity index 90%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/extensions/modules/markdown/pages/about.adoc
index 40374a6..ead73b5 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/extensions/modules/markdown/pages/about.adoc
@@ -1,7 +1,6 @@
-= Customisation
+= Markdown Extension
 :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 [...]
 include::_attributes.adoc[]
 
-
-
+TODO: v2: placeholder for documentation about extensions/markdown
 
diff --git a/antora/components/extensions/modules/secman/_attributes.adoc b/antora/components/extensions/modules/secman/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/secman/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/secman/assets/attachments/.gitkeep b/antora/components/extensions/modules/secman/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/secman/assets/images/.gitkeep b/antora/components/extensions/modules/secman/assets/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/secman/examples/.gitkeep b/antora/components/extensions/modules/secman/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/secman/nav.adoc b/antora/components/extensions/modules/secman/nav.adoc
new file mode 100644
index 0000000..ff22afc
--- /dev/null
+++ b/antora/components/extensions/modules/secman/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[Security Manager]
+
diff --git a/antora/components/extensions/modules/secman/pages/_attributes.adoc b/antora/components/extensions/modules/secman/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/secman/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/secman/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/secman/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/secman/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/extensions/modules/secman/pages/about.adoc
similarity index 89%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/extensions/modules/secman/pages/about.adoc
index 40374a6..a990f49 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/extensions/modules/secman/pages/about.adoc
@@ -1,7 +1,6 @@
-= Customisation
+= Security Manager
 :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 [...]
 include::_attributes.adoc[]
 
-
-
+TODO: v2: placeholder for documentation about the extensions/secman.
 
diff --git a/antora/components/extensions/modules/specsupport/_attributes.adoc b/antora/components/extensions/modules/specsupport/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/specsupport/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/specsupport/assets/attachments/.gitkeep b/antora/components/extensions/modules/specsupport/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/specsupport/assets/images/.gitkeep b/antora/components/extensions/modules/specsupport/assets/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/specsupport/examples/.gitkeep b/antora/components/extensions/modules/specsupport/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/specsupport/nav.adoc b/antora/components/extensions/modules/specsupport/nav.adoc
new file mode 100644
index 0000000..3fa15e7
--- /dev/null
+++ b/antora/components/extensions/modules/specsupport/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[(BDD) Spec Support]
+
diff --git a/antora/components/extensions/modules/specsupport/pages/_attributes.adoc b/antora/components/extensions/modules/specsupport/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/specsupport/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/specsupport/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/specsupport/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/specsupport/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/extensions/modules/specsupport/pages/about.adoc
similarity index 89%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/extensions/modules/specsupport/pages/about.adoc
index 40374a6..004fc71 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/extensions/modules/specsupport/pages/about.adoc
@@ -1,7 +1,6 @@
-= Customisation
+= Spec Support Extension
 :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 [...]
 include::_attributes.adoc[]
 
-
-
+TODO: v2: placeholder for documentation about extensions/specsupport
 
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/_attributes.adoc b/antora/components/extensions/modules/viewer-wicket-excel/_attributes.adoc
new file mode 100644
index 0000000..787e5c4
--- /dev/null
+++ b/antora/components/extensions/modules/viewer-wicket-excel/_attributes.adoc
@@ -0,0 +1,6 @@
+ifndef::env-site,env-github[]
+:attachmentsdir: {moduledir}/assets/attachments
+:examplesdir: {moduledir}/examples
+:imagesdir: {moduledir}/assets/images
+:partialsdir: {moduledir}/pages/_partials
+endif::[]
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/assets/attachments/.gitkeep b/antora/components/extensions/modules/viewer-wicket-excel/assets/attachments/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/assets/images/.gitkeep b/antora/components/extensions/modules/viewer-wicket-excel/assets/images/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/examples/.gitkeep b/antora/components/extensions/modules/viewer-wicket-excel/examples/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/nav.adoc b/antora/components/extensions/modules/viewer-wicket-excel/nav.adoc
new file mode 100644
index 0000000..f20e860
--- /dev/null
+++ b/antora/components/extensions/modules/viewer-wicket-excel/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[Excel Download (Wicket)]
+
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/pages/_attributes.adoc b/antora/components/extensions/modules/viewer-wicket-excel/pages/_attributes.adoc
new file mode 100644
index 0000000..e8ada7c
--- /dev/null
+++ b/antora/components/extensions/modules/viewer-wicket-excel/pages/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/pages/_partials/_attributes.adoc b/antora/components/extensions/modules/viewer-wicket-excel/pages/_partials/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/extensions/modules/viewer-wicket-excel/pages/_partials/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/extensions/modules/viewer-wicket-excel/pages/about.adoc
similarity index 88%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/extensions/modules/viewer-wicket-excel/pages/about.adoc
index 40374a6..cd98d47 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/extensions/modules/viewer-wicket-excel/pages/about.adoc
@@ -1,7 +1,6 @@
-= Customisation
+= Wicket Excel Extension
 :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 [...]
 include::_attributes.adoc[]
 
-
-
+TODO: v2: placeholder for documentation about extensions/viewer-wicket-excel
 
diff --git a/antora/components/extensions/sync_examples.sh b/antora/components/extensions/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/extensions/sync_examples.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+SCRIPT=$(readlink -f "$0")
+SCRIPTPATH=$(dirname "$SCRIPT")
+if [ $# -ne 1 ]; then
+    FILELIST=$SCRIPTPATH/examples.csv
+else
+    FILELIST=$1
+fi
+FILELISTFQN=$(readlink -f $FILELIST)
+DIRNAME=$(dirname $FILELISTFQN)
+BASENAME=$(basename $FILELISTFQN)
+
+cd $DIRNAME >/dev/null 2>&1
+cat $BASENAME | tail +2 | grep -v ^# | while read LINE
+do
+    FILE=$(echo $LINE | awk -F, '{print $1}' | awk '{$1=$1;print}')
+    F2=$(echo $LINE | awk -F, '{print $2}' | awk '{$1=$1;print}')
+    F3=$(echo $LINE | awk -F, '{print $3}' | awk '{$1=$1;print}')
+    SOURCEFQN=$DIRNAME/$F2/$FILE
+    TARGETDIR=$DIRNAME/$F3
+    TARGETFQN=$DIRNAME/$F3/$FILE
+
+    echo "SOURCEFQN: $SOURCEFQN"
+
+    if [ -f "$SOURCEFQN" ]
+    then
+
+        if [ -f "$TARGETFQN" ]
+        then
+            rm $TARGETFQN
+        fi
+        mkdir -p $TARGETDIR
+        cp $SOURCEFQN $TARGETFQN
+    else
+        echo "- does not exist ($SOURCEFQN) " >&2
+        exit 1
+    fi
+done
+cd - >/dev/null 2>&1
\ No newline at end of file
diff --git a/antora/components/rg/modules/ant/pages/Inject.adoc b/antora/components/rg/modules/ant/pages/Inject.adoc
index 75f8549..c8a625f 100644
--- a/antora/components/rg/modules/ant/pages/Inject.adoc
+++ b/antora/components/rg/modules/ant/pages/Inject.adoc
@@ -27,7 +27,7 @@ public class Customer {
     OrderRepository orders;                    // <2>
 }
 ----
-<1> an alternative implementation would be to implement `findRecentOrders()` as a xref:ug:fun:how-tos/contributed-members.adoc[contributed action].
+<1> an alternative implementation would be to implement `findRecentOrders()` as a xref:ug:fun:programming-model/mixins/contributed-action.adoc[contributed action].
 <2> we recommend default (rather than `private`) visibility so that unit tests can easily mock out the service
 
 
diff --git a/antora/components/rg/modules/ant/pages/MemberOrder.adoc b/antora/components/rg/modules/ant/pages/MemberOrder.adoc
index 7034258..575e5ca 100644
--- a/antora/components/rg/modules/ant/pages/MemberOrder.adoc
+++ b/antora/components/rg/modules/ant/pages/MemberOrder.adoc
@@ -2,17 +2,18 @@
 :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 [...]
 include::_attributes.adoc[]
 
-TODO: v2: replace @MemberOrder#name() with @PropertyLayout#group(); replace @MemberOrder#sequence() with @PropertyLayout#sequence().
+// TODO: v2: replace @MemberOrder#name() with @PropertyLayout#group(); replace @MemberOrder#sequence() with @PropertyLayout#sequence().
 
-The `@MemberOrder` annotation is used to specify the relative order of domain object members, that is: properties, collections and actions.  It works in conjunction with the xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation.
+The `@MemberOrder` annotation is used to specify the relative order of domain object members, that is: properties, collections and actions.
+It works in conjunction with the xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation.
 
 
-The annotation defines two attributes, `name()` and `sequence()`.  Broadly speaking the `name()` attribute is used to group or associate members together, while the `sequence()` attribute orders members once they have been grouped.
+The annotation defines two attributes:
+
+* xref:rg:ant:MemberOrder/name.adoc[`name()`]
+* xref:rg:ant:MemberOrder/sequence.adoc[`sequence()`]
 
-[IMPORTANT]
-====
 As this is an important topic, there is a xref:ug:vw:layout.adoc[separate chapter] that discussed object layout in full.
-====
 
 
 [TIP]
diff --git a/antora/components/rg/modules/ant/pages/MemberOrder/_attributes.adoc b/antora/components/rg/modules/ant/pages/MemberOrder/_attributes.adoc
new file mode 100644
index 0000000..d011536
--- /dev/null
+++ b/antora/components/rg/modules/ant/pages/MemberOrder/_attributes.adoc
@@ -0,0 +1,4 @@
+ifndef::env-site,env-github[]
+:moduledir: ../..
+include::{moduledir}/_attributes.adoc[]
+endif::[]
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/rg/modules/ant/pages/MemberOrder/name.adoc
similarity index 73%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/rg/modules/ant/pages/MemberOrder/name.adoc
index 40374a6..a821839 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/rg/modules/ant/pages/MemberOrder/name.adoc
@@ -1,7 +1,11 @@
-= Customisation
+= `name()`
 :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 [...]
 include::_attributes.adoc[]
 
 
+// TODO: v2: replace @MemberOrder#name() with @PropertyLayout#group().
 
+Broadly speaking the `name()` attribute is used to group or associate members together.
+
+As this is an important topic, there is a xref:ug:vw:layout.adoc[separate chapter] that discussed object layout in full.
 
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/rg/modules/ant/pages/MemberOrder/sequence.adoc
similarity index 72%
copy from antora/components/ug/modules/vw/pages/customisation.adoc
copy to antora/components/rg/modules/ant/pages/MemberOrder/sequence.adoc
index 40374a6..e651c27 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/rg/modules/ant/pages/MemberOrder/sequence.adoc
@@ -1,7 +1,10 @@
-= Customisation
+= `name()`
 :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 [...]
 include::_attributes.adoc[]
 
 
+// TODO: v2: replace @MemberOrder#sequence() with @PropertyLayout#sequence().
 
+Broadly speaking the `sequence()` attribute orders members once they have been grouped.
 
+As this is an important topic, there is a xref:ug:vw:layout.adoc[separate chapter] that discussed object layout in full.
diff --git a/antora/components/rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc b/antora/components/rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
index af96003..16917e7 100644
--- a/antora/components/rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
+++ b/antora/components/rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
@@ -12,7 +12,7 @@ The framework-provided `AppManifestAbstract2` and `AppManifestAbstract2.Builder`
 The app manifest can then be used both to bootstrap the application "proper", or for integration tests.
 ====
 
-TODO: v2: these two versions of `AppManifestAbstract` and `AppManifestAbstract2` will be unified.
+// TODO: v2: `AppManifestAbstract` and `AppManifestAbstract2` have been unified/simplified
 
 == API
 
diff --git a/antora/components/rg/modules/cms/pages/methods/prefixes/choices.adoc b/antora/components/rg/modules/cms/pages/methods/prefixes/choices.adoc
index 23ebf69..2df3c54 100644
--- a/antora/components/rg/modules/cms/pages/methods/prefixes/choices.adoc
+++ b/antora/components/rg/modules/cms/pages/methods/prefixes/choices.adoc
@@ -58,7 +58,7 @@ image::reference-methods/prefixes/choices/dependent.png[width="800px",link="{ima
 
 
 
-This functionality is actually implemented as a xref:ug:fun:how-tos/contributed-members.adoc[contributed action], so the code for this is:
+This functionality is actually implemented as a xref:ug:fun:programming-model/mixins/contributed-action.adoc[contributed action], so the code for this is:
 
 [source,java]
 ----
diff --git a/antora/components/rg/modules/cms/pages/methods/prefixes/default.adoc b/antora/components/rg/modules/cms/pages/methods/prefixes/default.adoc
index 0132075..12a545a 100644
--- a/antora/components/rg/modules/cms/pages/methods/prefixes/default.adoc
+++ b/antora/components/rg/modules/cms/pages/methods/prefixes/default.adoc
@@ -59,7 +59,7 @@ public class ShoppingCartItem {
 
 
 
-Defaults are also supported (of course) for xref:ug:fun:how-tos/contributed-members.adoc[contributed actions].
+Defaults are also supported (of course) for xref:ug:fun:programming-model/mixins/contributed-action.adoc[contributed actions].
 For example, here is a contributed action for updating category/subcategory of the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp]:
 
 [source,java]
diff --git a/antora/components/rg/modules/cms/pages/methods/prefixes/disable.adoc b/antora/components/rg/modules/cms/pages/methods/prefixes/disable.adoc
index 7f00cd9..ef0e907 100644
--- a/antora/components/rg/modules/cms/pages/methods/prefixes/disable.adoc
+++ b/antora/components/rg/modules/cms/pages/methods/prefixes/disable.adoc
@@ -81,8 +81,8 @@ public class Customer {
 
 [NOTE]
 ====
-TODO: v2: remove this feature, instead should fail-fast if there's a disableXxx() method with parameters.
-Ditto for hideXxx().
+// TODO: v2: remove this feature, instead should fail-fast if there's a disableXxx() method with parameters.
+//  Ditto for hideXxx().
 
 In the case of actions, the framework will also search for supporting method that has the exact same parameter types as the action itself.
 Enabling `isis.reflector.validator.noParamsOnly` configuration property switches this off, so that the framework will only search for supporting method with no parameters.
diff --git a/antora/components/rg/modules/svc/pages/integration-api/EmailService.adoc b/antora/components/rg/modules/svc/pages/integration-api/EmailService.adoc
index c749daa..1efd1f4 100644
--- a/antora/components/rg/modules/svc/pages/integration-api/EmailService.adoc
+++ b/antora/components/rg/modules/svc/pages/integration-api/EmailService.adoc
@@ -177,7 +177,7 @@ and these properties may optionally be configured (each has a default to use gma
 
 These configuration properties can be specified either in `isis.properties` or in an xref:ug:btb:deployment/externalized-configuration.adoc[external configuration file], or programmatically using the xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`].
 
-TODO: v2: confirm this is the case.
+// TODO: v2: confirm this is the case.
 
 Configuration properties can also be specified as system properties.
 For example, if you create a test email account on gmail, you can configure the service using:
diff --git a/antora/components/rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc b/antora/components/rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
index c0cb666..0d22f51 100644
--- a/antora/components/rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
+++ b/antora/components/rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
@@ -259,12 +259,18 @@ For example:
 
 [source,java]
 ----
-public List<Order> findOrders( /* ... */ ) {
-    javax.jdo.PersistenceManager pm = isisJdoSupport.getPersistenceManager();
+public class Orders {
 
-    // ...
+    public List<Order> findOrders( /* ... */ ) {
+        javax.jdo.PersistenceManager pm = isisJdoSupport.getPersistenceManager();
+
+        // ...
+
+        return someListOfOrders;
+    }
 
-    return someListOfOrders;
+    @Inject
+    IsisJdoSupport isisJdoSupport;
 }
 ----
 
diff --git a/antora/components/rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc b/antora/components/rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
index 0c7f624..ebc3fb9 100644
--- a/antora/components/rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
+++ b/antora/components/rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
@@ -5,11 +5,15 @@ include::_attributes.adoc[]
 
 The `UserRegistrationService` provides the ability for users to sign-up to access an application by providing a valid email address, and also provides the capability for users to reset their password if forgotten.
 
-For user sign-up, the xref:ug:vw:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:rg:svc:presentation-layer-spi/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 th [...]
+For user sign-up, the xref:ug:vw:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:rg:svc:presentation-layer-spi/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.
 
-For the password reset feature, the Wicket viewer will render a password reset page, and use the `EmailNotificationService` to send a "password forgotten" email.  This service provides the ability to reset a password based on the user's email address.
+For the password reset feature, the Wicket viewer will render a password reset page, and use the `EmailNotificationService` to send a "password forgotten" email.
+This service provides the ability to reset a password based on the user's email address.
 
-It is of course possible for domain objects to use this service; it will be injected into domain object or other domain services in the usual way. That said, we expect that such use cases will be comparatively rare; the primary use case is for the Wicket viewer's sign-up page.
+It is of course possible for domain objects to use this service; it will be injected into domain object or other domain services in the usual way.
+That said, we expect that such use cases will be comparatively rare; the primary use case is for the Wicket viewer's sign-up page.
 
 [NOTE]
 ====
@@ -37,7 +41,8 @@ public interface UserRegistrationService {
 ----
 <1> checks if there is already a user with the specified username
 <2> checks if there is already a user with the specified email address
-<3> creates the user, with specified password and email address. The username and email address must both be unique (not being used by an existing user)
+<3> creates the user, with specified password and email address.
+The username and email address must both be unique (not being used by an existing user)
 <4> allows the user to reset their password
 
 
@@ -45,9 +50,11 @@ public interface UserRegistrationService {
 
 == Implementation
 
-The core Apache Isis framework itself defines only an API; there is no default implementation. Rather, the implementation will depend on the security mechanism being used.
+The core Apache Isis framework itself defines only an API; there is no default implementation.
+Rather, the implementation will depend on the security mechanism being used.
 
-That said, if you have configured your app to use the (non-ASF) http://platform.incode.org/modules/spi/security/spi-security.html[Incode Platform's security module] then note that the security module does provide an abstract implementation (`SecurityModuleAppUserRegistrationServiceAbstract`) of the `UserRegistrationService`. You will need to extend that service and provide implementation for the two abstract methods: `getInitialRole()` and `getAdditionalInitialRoles()`.
+That said, if you have configured your app to use the (non-ASF) http://platform.incode.org/modules/spi/security/spi-security.html[Incode Platform's security module] then note that the security module does provide an abstract implementation (`SecurityModuleAppUserRegistrationServiceAbstract`) of the `UserRegistrationService`.
+You will need to extend that service and provide implementation for the two abstract methods: `getInitialRole()` and `getAdditionalInitialRoles()`.
 
 For example:
 
@@ -69,12 +76,14 @@ public class AppUserRegistrationService extends SecurityModuleAppUserRegistratio
 }
 ----
 
-This is needed so that the self-registered users are assigned automatically to your application role(s) and be able to use the application. Without any role such user will be able only to see/use the logout link of the application.
+This is needed so that the self-registered users are assigned automatically to your application role(s) and be able to use the application.
+Without any role such user will be able only to see/use the logout link of the application.
 
 
 == Related Services
 
-The most common use case is to allow users to sign-up through Apache Isis' Wicket viewer. Because the process requires email to be sent, the following services must be configured:
+The most common use case is to allow users to sign-up through Apache Isis' Wicket viewer.
+Because the process requires email to be sent, the following services must be configured:
 
 * xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]
 * xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`]
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 5cff474..32dfc57 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -14,21 +14,29 @@ include::_attributes.adoc[]
 * xref:what-is-apache-isis/powered-by.adoc[Powered By]
 
 
-| *Getting Started*
+| *Starter Apps*
 
-* xref:arch:helloworld:about.adoc[HelloWorld archetype]
-* xref:arch:simpleapp:about.adoc[SimpleApp archetype]
+* xref:arch:helloworld:about.adoc[HelloWorld]
+* xref:arch:simpleapp:about.adoc[SimpleApp]
+
+*Learning by Example*
 
 * link:https://danhaywood.gitlab.io/isis-petclinic-tutorial-docs/petclinic/1.16.2/intro.html[Petclinic Tutorial]
+* *xref:demoapp:ROOT:about.adoc[Demo App]*
+
 
+|*Releases*
 
-|*Developer Resources:*
+ * xref:downloads:rn:about.adoc[Release Notes]
+ * xref:downloads:mn:about.adoc[Migration Notes]
+
+*Developer Resources*
 
 * *xref:developer-resources/cheat-sheet.adoc[Cheat Sheet]*
 * xref:developer-resources/icons.adoc[Icons]
 
 
-|*User Guides:*
+|*User Guides*
 
 * *xref:ug:fun:about.adoc[Fundamentals]*
 *  xref:ug:vw:about.adoc[Wicket Viewer]
@@ -39,7 +47,7 @@ include::_attributes.adoc[]
 *  xref:ug:btb:about.adoc[Beyond the Basics]
 
 
-|*Reference Guides:*
+|*Reference Guides*
 
 * *xref:rg:ant:about.adoc[Annotations]*
 * *xref:rg:svc:about.adoc[Domain Services]*
@@ -49,11 +57,16 @@ include::_attributes.adoc[]
 *  xref:rg:fis:about.adoc[Framework Internal Services]
 
 
-|*Releases:*
-
-* xref:downloads:rn:about.adoc[Release Notes]
-* xref:downloads:mn:about.adoc[Migration Notes]
+|*Extensions*
 
+* Testing & Prototyping
+** xref:ext:fixtures:about.adoc[Fixtures]
+** xref:ext:specsupport:about.adoc[(BDD) Spec Support]
+* Modules
+**  xref:ext:secman:about.adoc[Security Manager]
+**  xref:ext:viewer-wicket-excel:about.adoc[Excel Download (Wicket)]
+* Values Types
+**  xref:ext:asciidoc:about.adoc[Asciidoc], xref:ext:markdown:about.adoc[Markdown]
 
 |*Get involved*
 
@@ -70,7 +83,7 @@ include::_attributes.adoc[]
 
 
 
-|*Going Deeper:*
+|*Going Deeper*
 
 * xref:going-deeper/articles-and-presentations.adoc[Articles, Conferences, Podcasts]
 * xref:going-deeper/books.adoc[Books]
@@ -84,11 +97,11 @@ Other academia:
 
 |*Third party* footnoteref:[ASF, Not Apache Software Foundation projects.]
 
-*Libraries:*
+*Libraries*
 
 * https://platform.incode.org[Incode Platform]
 
-*Example Apps:*
+*Example Apps*
 
 * https://github.com/estatio/estatio[Estatio]
 * https://github.com/incodehq/contactapp[ContactApp]
@@ -99,7 +112,7 @@ Other academia:
 * https://github.com/incodehq/incode-camel[Incode Camel App]
 * https://github.com/isisaddons/isis-app-quickstart[Quickstart]
 
-*Experiments:*
+*Experiments*
 
 * https://github.com/isisaddons/isis-app-neoapp[Neo4J Example]
 * https://github.com/isisaddons/isis-app-simpledsl[Isis DSL Example]
diff --git a/antora/components/toc/modules/module-template/pages/about.adoc b/antora/components/toc/modules/module-template/pages/about.adoc
index 379097b..6410c5f 100644
--- a/antora/components/toc/modules/module-template/pages/about.adoc
+++ b/antora/components/toc/modules/module-template/pages/about.adoc
@@ -1,7 +1,6 @@
 = About
-ifndef::env-site,env-github[]
+: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 [...]
 include::_attributes.adoc[]
-endif::[]
 
 This doc module is empty, intended for use as a template when creating new modules.
 
diff --git a/antora/components/ug/modules/btb/pages/deployment/externalized-configuration.adoc b/antora/components/ug/modules/btb/pages/deployment/externalized-configuration.adoc
index 7fd542c..042081f 100644
--- a/antora/components/ug/modules/btb/pages/deployment/externalized-configuration.adoc
+++ b/antora/components/ug/modules/btb/pages/deployment/externalized-configuration.adoc
@@ -46,7 +46,7 @@ To tell Apache Isis to load configuration from an external directory, specify th
 
 If the external configuration directory is fixed for all environments (systest, UAT, prod etc), then you can specify within the `web.xml` itself:
 
-TODO: v2: this has almost certainly changed, because the configuration is picked up earlier; this probably no longer works.
+// TODO: v2: this has almost certainly changed, because the configuration is picked up earlier; this probably no longer works.
 
 [source,xml]
 ----
diff --git a/antora/components/ug/modules/btb/pages/i18n.adoc b/antora/components/ug/modules/btb/pages/i18n.adoc
index d3da148..30d52f9 100644
--- a/antora/components/ug/modules/btb/pages/i18n.adoc
+++ b/antora/components/ug/modules/btb/pages/i18n.adoc
@@ -621,7 +621,7 @@ However, Apache Isis can be configured to read config files from an xref:ug:btb:
 
 Thus, if in `web.xml` the external configuration directory has been set:
 
-TODO: v2: this almost certainly no longer workd, because we now set up configuration very early on.
+// TODO: v2: this almost certainly no longer works, because we now set up configuration very early on.
 
 [source,xml]
 ----
diff --git a/antora/components/ug/modules/btb/pages/web-xml.adoc b/antora/components/ug/modules/btb/pages/web-xml.adoc
index 50f2916..d9fcf3f 100644
--- a/antora/components/ug/modules/btb/pages/web-xml.adoc
+++ b/antora/components/ug/modules/btb/pages/web-xml.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-TODO: v2: a lot of this has changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
+// TODO: v2: a lot of this has changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
 
 
 Apache Isis provides two different viewers, the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug:vro:about.adoc[RestfulObjects viewer].
diff --git a/antora/components/ug/modules/fun/pages/programming-model/mixins.adoc b/antora/components/ug/modules/fun/pages/programming-model/mixins.adoc
index 945a2af..8dc8fdd 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/mixins.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/mixins.adoc
@@ -8,7 +8,7 @@ A xref:ug:fun:building-blocks/types-of-domain-objects/mixins.adoc[mixin] acts li
 
 Syntactically, a mixin is defined using either the xref:rg:ant:Mixin.adoc[`@Mixin`] annotation or using xref:rg:ant:DomainObject/nature.adoc[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
 
-TODO: v2: perhaps we should get rid of @DomainObject#nature=MIXIN ?
+// TODO: v2: perhaps we should get rid of @DomainObject#nature=MIXIN ?
 
 [source,java]
 ----
diff --git a/antora/components/ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc b/antora/components/ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
index 7054529..8958ccd 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
@@ -9,8 +9,8 @@ Instead of using JAXB to specify a view model, it is also possible to use Apache
 As was explained xref:ug:fun:programming-model/view-models.adoc[earlier], the approach is described here is neither as flexible nor as powerful as using the JAXB-style of view models.
 It is however likely to be faster.
 
-TODO: v2: I think we should only support programmatic API (ViewModel), and JAXB.
-So let's get rid of all these other natures that, under the covers, are all our original poor-man's JAXB (ie, EXTERNAL_ENTITY, INMEMORY_ENTITY, VIEW_MODEL, and @ViewModel itself).
+// TODO: v2: I think we should only support programmatic API (ViewModel), and JAXB.
+//  So let's get rid of all these other natures that, under the covers, are all our original poor-man's JAXB (ie, EXTERNAL_ENTITY, INMEMORY_ENTITY, VIEW_MODEL, and @ViewModel itself).
 
 
 While the underlying technique is the same irrespective of use case, the programming model provides various ways of defining a view model so that the original intent is not lost.
diff --git a/antora/components/ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc b/antora/components/ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
index bd2b62a..e2dca19 100644
--- a/antora/components/ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
+++ b/antora/components/ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
@@ -231,7 +231,7 @@ public class Order {
 
 The subscriber can then populate this event:
 
-*TODO: v2: *what annotation is required for SpringBoot event subscribers?
+// *TODO: v2: *what annotation is required for SpringBoot event subscribers?
 
 [source,java]
 ----
diff --git a/antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc b/antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc
index f9ae4ec..cb3b65c 100644
--- a/antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc
+++ b/antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc
@@ -100,7 +100,7 @@ As you can see, none of these should be considered production-quality.
 
 The strategy is configured in `web.xml`; for example:
 
-TODO: v2: this has changed, I think, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
+// TODO: v2: this has changed, I think, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
 
 [source,xml]
 ----
@@ -131,7 +131,7 @@ TODO: v2: this has changed, I think, because we now use `WebModule_Xxx` instead
 
 The above filter must then be chained before the servlet that actually handles the REST requests:
 
-TODO: v2: this has changed, I think, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
+// TODO: v2: this has changed, I think, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
 
 [source,xml]
 ----
@@ -189,7 +189,7 @@ public class CustomRestfulObjectsApplication extends RestfulObjectsApplication {
 
 * Register your application class in `web.xml` instead of the default: +
 +
-TODO: v2: this may have changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
+// TODO: v2: this may have changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
 +
 [source,xml]
 ----
diff --git a/antora/components/ug/modules/vro/pages/health-check.adoc b/antora/components/ug/modules/vro/pages/health-check.adoc
index 573555e..5a209a5 100644
--- a/antora/components/ug/modules/vro/pages/health-check.adoc
+++ b/antora/components/ug/modules/vro/pages/health-check.adoc
@@ -49,7 +49,7 @@ Moreover (unless the `HealthCheckService` implementation uses the `WrapperFactor
 
 The `/restful/health` path must be specified as a "passThru" in `web.xml` so that no authentication challenge is issued.
 
-TODO: v2: this has changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
+// TODO: v2: this has changed, because we now use `WebModule_Xxx` instead of `web.xml`, ie set this stuff up programmatically.
 
 [source,xml]
 .web.xml
diff --git a/antora/components/ug/modules/vw/pages/configuration-properties.adoc b/antora/components/ug/modules/vw/pages/configuration-properties.adoc
index 989518b..4add7c5 100644
--- a/antora/components/ug/modules/vw/pages/configuration-properties.adoc
+++ b/antora/components/ug/modules/vw/pages/configuration-properties.adoc
@@ -11,6 +11,8 @@ Configuration properties are typically stored in `WEB-INF/isis.properties` or in
 
 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>
@@ -21,13 +23,15 @@ To tell Apache Isis that the Wicket viewer is in use (and should therefore searc
 
 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") ;
 
@@ -251,20 +255,6 @@ Further discussion xref:ug:vw:configuration-properties.adoc#sign-in_remember-me[
 Further discussion xref:ug:vw:configuration-properties.adoc#sign-in_password-reset[below].
 
 |`isis.viewer.wicket.` +
-`suppressRememberMe`
-| `true`,`false` +
-(`_false_`)
-|Wphether to suppress "remember me" checkbox on the login page.
-
-Further discussion xref:ug:vw:configuration-properties.adoc#sign-in_remember-me[below].
-
-[NOTE]
-====
-(Deprecated in `1.13.0`, replaced by `rememberMe.suppress`).
-====
-
-
-|`isis.viewer.wicket.` +
 `suppressSignUp`
 | `true`,`false` +
 (`_false_`)
@@ -281,6 +271,8 @@ Further discussion xref:ug:vw:configuration-properties.adoc#sign-in_sign-up[belo
 
 === 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]
@@ -353,8 +345,8 @@ image::suppress-password-reset/login-page-suppress-password-reset.png[width="300
 
 Configuration properties that influence the appearance of the header and footer panels.
 
-See also the xref:ug:vw:configuration-properties/bookmarks-and-breadcrumbs.adoc[bookmarks and breadcrumbs] and xref:ug:vw:configuration-properties/themes
-.adoc[themes] configuration properties, because these also control UI elements that appear on the header/footer panels.
+See also the xref:ug:vw:configuration-properties.adoc#bookmarks-and-breadcrumbs[bookmarks and breadcrumbs] and xref:ug:vw: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"]
@@ -365,7 +357,7 @@ See also the xref:ug:vw:configuration-properties/bookmarks-and-breadcrumbs.adoc[
 |Description
 
 
-|`isis.viewer.wicket.+`
+|`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.
@@ -375,7 +367,7 @@ For example: +
 
 Either/both of `name` and `image` must be defined for the credit to be rendered in the footer.
 
-|`isis.viewer.wicket.+`
+|`isis.viewer.wicket.` +
 `credit.1.name`
 |String
 |Name of the first credited organisation.
@@ -384,7 +376,7 @@ 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.+`
+|`isis.viewer.wicket.` +
 `credit.1.url`
 |URL
 |URL to the website of the first credited organisation.
@@ -394,42 +386,42 @@ For example: +
 
 Optional.
 
-|`isis.viewer.wicket.+`
+|`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.+`
+|`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.+`
+|`isis.viewer.wicket.` +
 `credit.2.url`
 |URL
 |URL to the website of the second credited organisation.
 
 Optional.
 
-|`isis.viewer.wicket.+`
+|`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.+`
+|`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.+`
+|`isis.viewer.wicket.` +
 `credit.3.url`
 |URL
 |URL to the website of the third credited organisation.
@@ -449,6 +441,8 @@ Optional.
 
 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.`).
@@ -908,12 +902,6 @@ The same is true for property edits.
 
 If this setting is enabled, then the viewer will always render to a new page.
 
-[NOTE]
-====
-Note that the default behaviour is new in `1.15.0`, providing a better end-user experience.
-Setting this option retains the behaviour of the viewer pre-`1.15.0`.
-====
-
 |`isis.viewer.wicket.` +
 `regularCase`
 | `true`,`false` +
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/ug/modules/vw/pages/customisation.adoc
index 40374a6..b5a4845 100644
--- a/antora/components/ug/modules/vw/pages/customisation.adoc
+++ b/antora/components/ug/modules/vw/pages/customisation.adoc
@@ -4,4 +4,5 @@ include::_attributes.adoc[]
 
 
 
+This chapter describes a number of mechanisms by which the UI provided by the Wicket viewer can be customised.
 
diff --git a/antora/components/ug/modules/vw/pages/customisation/auto-refresh.adoc b/antora/components/ug/modules/vw/pages/customisation/auto-refresh.adoc
index 7b23d42..c1a2424 100644
--- a/antora/components/ug/modules/vw/pages/customisation/auto-refresh.adoc
+++ b/antora/components/ug/modules/vw/pages/customisation/auto-refresh.adoc
@@ -5,9 +5,8 @@ include::_attributes.adoc[]
 
 This requirement from the users mailing list:
 
-pass:[<div class="extended-quote-first"><p>]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.
-pass:[</p></div>]
+"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.
 
@@ -16,9 +15,9 @@ Here's one (somewhat crude, but workable) way to accomplish this.
 [source,java]
 ----
 public class MyDomainObject {
-    ...
-    public String cssClass() {return "my-special-auto-updating-entity"; }
-    ...
+    // ...
+    public String cssClass() { return "my-special-auto-updating-entity"; }
+    // ...
 }
 ----
 
diff --git a/antora/components/ug/modules/vw/pages/customisation/custom-javascript.adoc b/antora/components/ug/modules/vw/pages/customisation/custom-javascript.adoc
index 1a58d8f..52009af 100644
--- a/antora/components/ug/modules/vw/pages/customisation/custom-javascript.adoc
+++ b/antora/components/ug/modules/vw/pages/customisation/custom-javascript.adoc
@@ -6,18 +6,10 @@ include::_attributes.adoc[]
 
 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.
 
-[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.
-
-If possible, consider using the `ComponentFactory` API described in the xref:ug:vw:extending.adoc[Extending] chapter.
-====
-
 To register your Javascript code, then just specify the appropriate configuration property:
 
 
-[source,java]
+[source,properties]
 ----
 isis.viewer.wicket.application.js=stylesheets/myapp.js
 ----
@@ -27,5 +19,13 @@ This file is resolved relative to `src/main/webapp`.
 Currently only one such `.js` file can be registered.
 
 
+[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:ug:vw:extending.adoc[Extending] chapter.
+====
+
 
 
diff --git a/antora/components/ug/modules/vw/pages/customisation/top-level-index-page.adoc b/antora/components/ug/modules/vw/pages/customisation/top-level-index-page.adoc
index 83c7e70..3f4a825 100644
--- a/antora/components/ug/modules/vw/pages/customisation/top-level-index-page.adoc
+++ b/antora/components/ug/modules/vw/pages/customisation/top-level-index-page.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 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 archetypes provide an example in the `about/index.html` file (relative to `src/main/webapp`).
+The example apps provide an example in the `about/index.html` file (relative to `src/main/webapp`).
 This is configured using the `web.xml`:
 
 
diff --git a/antora/components/ug/modules/vw/pages/extending.adoc b/antora/components/ug/modules/vw/pages/extending.adoc
index fa15383..a1d23d9 100644
--- a/antora/components/ug/modules/vw/pages/extending.adoc
+++ b/antora/components/ug/modules/vw/pages/extending.adoc
@@ -5,14 +5,17 @@ include::_attributes.adoc[]
 
 The Wicket viewer allows you to customize the GUI in several (progressively more sophisticated) ways:
 
-* by xref:ug:vw:customisation/tweaking-css-classes.adoc[tweaking the UI using CSS]
-* by xref:ug:vw:customisation/custom-javascript.adoc[tweaking the UI using Javascript]
-* by writing a xref:ug:vw:extending/custom-bootstrap-theme.adoc[custom bootstrap theme]
-* by xref:ug:vw:extending/replacing-page-elements.adoc[replacing elements of the page] using the `ComponentFactory` interface
-* by implementing xref:ug:vw:extending/custom-pages.adoc[replacement page implementations] for the standard page types
+* the xref:ug:vw:customisation.adoc[customisation] chapter described:
 
-The first two of these options are discussed in the xref:ug:vw:about.adoc[Wicket viewer] chapter.  This chapter describes the remaining "heavier-weight/more powerful" options.
+** by xref:ug:vw:customisation/tweaking-css-classes.adoc[tweaking the UI using CSS]
+** by xref:ug:vw:customisation/custom-javascript.adoc[tweaking the UI using Javascript]
 
-The chapter wraps up with a technique for prototyping, allowing user/passwords to be specified as query arguments.
+* in this chapter we have a number of heavier-weight approaches:
+
+** by writing a xref:ug:vw:extending/custom-bootstrap-theme.adoc[custom bootstrap theme]
+** by xref:ug:vw:extending/replacing-page-elements.adoc[replacing elements of the page] using the `ComponentFactory` interface
+** by implementing xref:ug:vw:extending/custom-pages.adoc[replacement page implementations] for the standard page types
+
+The chapter also includes a technique useful when prototyping, allowing xref:ug:vw:extending/login-via-query-args-prototyping.adoc[user/passwords to be specified as query arguments].
 
 
diff --git a/antora/components/ug/modules/vw/pages/extending/custom-bootstrap-theme.adoc b/antora/components/ug/modules/vw/pages/extending/custom-bootstrap-theme.adoc
index 00d3fce..976e0a9 100644
--- a/antora/components/ug/modules/vw/pages/extending/custom-bootstrap-theme.adoc
+++ b/antora/components/ug/modules/vw/pages/extending/custom-bootstrap-theme.adoc
@@ -4,10 +4,10 @@ include::_attributes.adoc[]
 
 
 
-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).
+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:ug:vw:configuration-properties/themes.adoc[select other themes] provided by http://bootswatch.com[bootswatch.com], and if required one of these can be xref:ug:vw:customisation/default-theme.adoc[set as the default].
+It is possible to configure the Wicket viewer to allow the user to xref:ug:vw:configuration-properties.adoc#themes[select other themes] provided by http://bootswatch.com[bootswatch.com], and if required one of these can be xref:ug:vw:customisation/default-theme.adoc[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.
@@ -21,8 +21,9 @@ To make use of the custom `ITheme` the application should register it by subclas
 
 [source,java]
 ----
+
 public void init() {
-    ...
+    // ...
     IBootstrapSettings settings = new BootstrapSettings();
     ThemeProvider themeProvider = new SingleThemeProvider(new MyTheme());
     settings.setThemeProvider(themeProvider);
diff --git a/antora/components/ug/modules/vw/pages/features/blob-attachments.adoc b/antora/components/ug/modules/vw/pages/features/blob-attachments.adoc
index 1d76f75..259a042 100644
--- a/antora/components/ug/modules/vw/pages/features/blob-attachments.adoc
+++ b/antora/components/ug/modules/vw/pages/features/blob-attachments.adoc
@@ -24,10 +24,7 @@ The following screenshots are taken from the Isis addons example https://github.
 
 image::blob-attachments/010-attachment-field-940.png[width="800px",link="{imagesdir}/blob-attachments/010-attachment-field.png"]
 
-[NOTE]
-====
-Note that these screenshots show an earlier version of the xref:ug:vw:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
-====
+Note that this screenshot show an earlier version of the xref:ug:vw:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
 
 
 === Edit mode
diff --git a/antora/components/ug/modules/vw/pages/features/bookmarked-pages.adoc b/antora/components/ug/modules/vw/pages/features/bookmarked-pages.adoc
index ed8a411..432f7cb 100644
--- a/antora/components/ug/modules/vw/pages/features/bookmarked-pages.adoc
+++ b/antora/components/ug/modules/vw/pages/features/bookmarked-pages.adoc
@@ -15,14 +15,10 @@ Bookmarking is automatic; whenever a bookmarkable object/action is visited, then
 
 == Screenshots
 
-The following screenshot, taken from https://github.com/isisaddons/isis-app-todoapp[Isisaddons example todoapp] (not ASF) shows how the bookmarks are listed in a sliding panel.
+The following screenshot (nb: using a pre 1.8.0 version of the xref:ug:vw:about.adoc[Wicket viewer] UI), taken from https://github.com/isisaddons/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",link="{imagesdir}/bookmarked-pages/panel.png"]
 
-[NOTE]
-====
-Note that these screenshots show an earlier version of the xref:ug:vw:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
-====
 
 Note how the list contains both domain objects and an action ("not yet complete").
 
diff --git a/antora/components/ug/modules/vw/pages/features/hints-and-copy-url.adoc b/antora/components/ug/modules/vw/pages/features/hints-and-copy-url.adoc
index 9b8f8d2..73ef051 100644
--- a/antora/components/ug/modules/vw/pages/features/hints-and-copy-url.adoc
+++ b/antora/components/ug/modules/vw/pages/features/hints-and-copy-url.adoc
@@ -15,18 +15,15 @@ The copy URL and hinting is automatic.
 
 == Screenshots
 
-The following screenshots are taken from the [Estatio](https://github.com/estatio/estatio) application.
+The following screenshots are taken from the https://github.com/estatio/estatio[Estatio] application.
 
 === Copy URL
 
-This screenshot shows the copy URL button (top right):
+This screenshot (nb: using a pre 1.8.0 version of the xref:ug:vw:about.adoc[Wicket viewer] UI) shows the copy URL button (top right):
 
 image::copy-link/010-copy-link-button.png[width="800px",link="{imagesdir}/copy-link/010-copy-link-button.png"]
 
-[NOTE]
-====
-Note that these screenshots show an earlier version of the xref:ug:vw:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
-====
+
 
 Clicking on this button brings up a dialog with the URL preselected:
 
diff --git a/antora/components/ug/modules/vw/pages/features/recent-pages.adoc b/antora/components/ug/modules/vw/pages/features/recent-pages.adoc
index 2800855..d61cafb 100644
--- a/antora/components/ug/modules/vw/pages/features/recent-pages.adoc
+++ b/antora/components/ug/modules/vw/pages/features/recent-pages.adoc
@@ -16,9 +16,9 @@ The following screenshot, taken from the https://github.com/estatio/estatio[Esta
 image::features/recent-pages/recent-pages.png[width="800px",link="{imagesdir}/features/recent-pages/recent-pages.png"]
 
 
-This screenshot is based on v1.17.x of the xref:ug:vw:about.adoc[Wicket viewer] UI.
-
+This screenshot is based on v1.7.x of the xref:ug:vw:about.adoc[Wicket viewer] UI.
 
+// TODO: v2: update this old screenshot.
 
 
 
diff --git a/antora/components/ug/modules/vw/pages/features/sidebar-vs-modal-dialogs.adoc b/antora/components/ug/modules/vw/pages/features/sidebar-vs-modal-dialogs.adoc
index 9810145..fbc65a9 100644
--- a/antora/components/ug/modules/vw/pages/features/sidebar-vs-modal-dialogs.adoc
+++ b/antora/components/ug/modules/vw/pages/features/sidebar-vs-modal-dialogs.adoc
@@ -29,4 +29,4 @@ image::dialog-mode/sidebar.png[width="800px",link="{imagesdir}/dialog-mode/sideb
 
 
 
-However, the original modal dialog can still be be used if end-users prefer that style, by setting the `isis.viewer.wicket.dialog` xref:ug:vw:configuration-properties/presentation.adoc[configuration property].
+However, the original modal dialog can still be be used if end-users prefer that style, by setting the `isis.viewer.wicket.dialog` xref:ug:vw:configuration-properties.adoc#presentation[configuration property].
diff --git a/antora/components/ug/modules/vw/pages/features/titles-in-tables.adoc b/antora/components/ug/modules/vw/pages/features/titles-in-tables.adoc
index 057a324..f46f79b 100644
--- a/antora/components/ug/modules/vw/pages/features/titles-in-tables.adoc
+++ b/antora/components/ug/modules/vw/pages/features/titles-in-tables.adoc
@@ -3,7 +3,8 @@
 include::_attributes.adoc[]
 
 
-Object titles can often be quite long if the intention is to uniquely identify the object.  While this is appropriate for the object view, it can be cumbersome within tables.
+Object titles can often be quite long if the intention is to uniquely identify the object.
+While this is appropriate for the object view, it can be cumbersome within tables.
 
 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.
 
@@ -33,7 +34,7 @@ public class Product {
 
 and where the `Order` class references both `Customer` and `Product`.
 
-The `Order`'s might involve each of these:
+The ``Order``'s might involve each of these:
 
 [source,java]
 ----
@@ -48,11 +49,13 @@ public class Order {
 }
 ----
 
-In this case, if we view a `Customer` with its collection of ``Order``s, then in that parented collection's table the customer's property will be automatically excluded from the title of the `Order` (but it would show the product).  Conversely, if a `Product` is viewed then its collection of ``Order``s would suppress product (but would show the customer).
+In this case, if we view a `Customer` with its collection of ``Order``s, then in that parented collection's table the customer's property will be automatically excluded from the title of the `Order` (but it would show the product).
+Conversely, if a `Product` is viewed then its collection of ``Order``s would suppress product (but would show the customer).
 
 [TIP]
 ====
-This feature is a close cousin of the `@PropertyLayout(hidden=Where.REFERENCES_PARENT)` annotation, which will cause the property itself to be hidden as a column in the table. An Isis idiom is therefore:
+This feature is a close cousin of the `@PropertyLayout(hidden=Where.REFERENCES_PARENT)` annotation, which will cause the property itself to be hidden as a column in the table.
+An Apache Isis idiom is therefore:
 
 [source,java]
 ----
@@ -60,7 +63,7 @@ public class Order {
     @Title(sequence="1")
     @PropertyLayout(hidden=Where.REFERENCES_PARENT)
     public Customer getCustomer() { /* ... */ }
-    ...
+    // ...
 }
 ----
 
@@ -70,5 +73,5 @@ The above annotations mean that titles usually "just work", altering according t
 
 [TIP]
 ====
-It is also possible to configure the Wicket viewer to xref:ug:vw:configuration-properties/presentation.adoc[abbreviate titles or suppress them] completely.
+It is also possible to configure the Wicket viewer to xref:ug:vw:configuration-properties.adoc#presentation.[abbreviate titles or suppress them] completely.
 ====
diff --git a/antora/components/ug/modules/vw/pages/features/user-registration.adoc b/antora/components/ug/modules/vw/pages/features/user-registration.adoc
index 29cdace..c079cd0 100644
--- a/antora/components/ug/modules/vw/pages/features/user-registration.adoc
+++ b/antora/components/ug/modules/vw/pages/features/user-registration.adoc
@@ -19,17 +19,17 @@ To support this the framework requires three services to be registered and confi
 * the xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[email notification service], which provides an API for to send the verification emails
 * the xref:rg:svc:integration-api/EmailService.adoc[email service], that is used by the email notification service to actually send the email.
 
-The Apache Isis core framework provides a default implementation of both the email notification service and the email service. If your application uses the (non-ASF) link:http://platform.incode.org[Incode Platform^]'s security module then an implementation is provided by that module; just add to the classpath. Otherwise you will need to provide your own implementation.
+The Apache Isis core framework provides a default implementation of both the email notification service and the email service.
+The xref:ext:secman:about.adoc[Security Manager] extension provides a partial implementation of xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service] that you can complete for your own applications.
 
-[NOTE]
-====
-There is _no_ default implementation of the user registration service in the core framework.
-====
+// TODO: v2: search for references of 'security module' because this is now available as the 'secman' extension, and reference the extensions doc component.
 
 
 
 == 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:
 
 image::user-registration/login-page-default.png[width="300px",link="{imagesdir}/user-registration/login-page-default.png"]
@@ -72,7 +72,7 @@ There are two prerequisites:
 
 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:ug:vw:configuration-properties/sign-in.adoc[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:ug:vw:configuration-properties.adoc#sign-in[here] for further details.
 
 
 
diff --git a/antora/components/ug/modules/vw/pages/layout/annotation-based.adoc b/antora/components/ug/modules/vw/pages/layout/annotation-based.adoc
index 130af81..6894351 100644
--- a/antora/components/ug/modules/vw/pages/layout/annotation-based.adoc
+++ b/antora/components/ug/modules/vw/pages/layout/annotation-based.adoc
@@ -15,19 +15,21 @@ This section explains how.
 
 The xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]  annotation is used to specify the relative order of domain class properties, collections and actions.
 
-The annotation defines two attributes, xref:rg:ant:MemberOrder/name.adoc[`name()`] and xref:rg:ant:MemberOrder/sequence.adoc[`sequence()`].  Their usage depends on the member type:
+The annotation defines two attributes, xref:rg:ant:MemberOrder/name.adoc[`name()`] and xref:rg:ant:MemberOrder/sequence.adoc[`sequence()`].
+Their usage depends on the member type:
 
-* for properties, the `name()` is used to group properties together into a member group (also called a property group
-or a fieldset.  The `sequence()` then orders properties within these groups. If no `name()` is specified then the
-property is placed in a fallback "General" group, called "General". +
+* for properties, the `name()` is used to group properties together into a member group (also called a property group or a fieldset.
+The `sequence()` then orders properties within these groups.
+If no `name()` is specified then the property is placed in a fallback "General" group, called "General".
 +
 The name of these member groups/fieldsets are then referenced by xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`].
 
-* for collections, the `name()` attribute is (currently) unused.  The `sequence()` orders collections relative to one another
+* for collections, the `name()` attribute is (currently) unused.
+The `sequence()` orders collections relative to one another
 
-* for actions, the `name()` attribute associates an action with either a property or with a collection. +
+* for actions, the `name()` attribute associates an action with either a property or with a collection.
 
-** If the `name()` attribute matches a property name, then the action's button is rendered close to the property, according to xref:rg:ant:ActionLayout/position.adoc[`@ActionLayout#position()`] attribute. +
+** If the `name()` attribute matches a property name, then the action's button is rendered close to the property, according to xref:rg:ant:ActionLayout/position.adoc[`@ActionLayout#position()`] attribute.
 
 ** On the other hand if the `name() attribute matches a collection name, then the action's button is rendered on the collection's header.
 
@@ -56,13 +58,15 @@ public class ToDoItem {
     public String getNotes() { /* ... */ }
     @MemberOrder(name="Misc", sequence="99")
     public Long getVersionSequence() { /* ... */ }
-    ...
+    // ...
 }
 ----
 
-This defines three property (or member) groups, "General", "Detail" and "Misc"; "General" is the default if no `name` attribute is specified. Properties in the same member group are rendered together, as a fieldset.
+This defines three property (or member) groups, "General", "Detail" and "Misc"; "General" is the default if no `name` attribute is specified.
+Properties in the same member group are rendered together, as a fieldset.
 
-In addition, actions can optionally be associated (rendered close to) either properties or actions. This is done by overloading the ``@MemberOrder``'s xref:rg:ant:MemberOrder/name.adoc[`name()`] attribute, holding the value of the property or collection.
+In addition, actions can optionally be associated (rendered close to) either properties or actions.
+This is done by overloading the ``@MemberOrder``'s xref:rg:ant:MemberOrder/name.adoc[`name()`] attribute, holding the value of the property or collection.
 
 For example:
 
@@ -82,29 +86,32 @@ public class ToDoItem {
     public ToDoItem add(ToDoItem t) { /* ... */ }
     @MemberOrder(name="dependencies", sequence="2")
     public ToDoItem remove(ToDoItem t) { /* ... */ }
-    ...
+    // ...
 }
 ----
 
 will associate the `completed()` and `notYetCompleted()` actions with the `complete` property, and will associate the `add()` and `remove()` actions with the `dependencies` collection.
 
 
-The value of xref:rg:ant:MemberOrder/sequence.adoc[`sequence()`] is a string.  The simplest convention (as shown in the example above) is to use numbers -- 1, 2, 3 -- though it is a better idea to leave gaps in the numbers -- 10, 20, 30 perhaps -- such that a new member may be added without having to edit existing numbers.
+The value of xref:rg:ant:MemberOrder/sequence.adoc[`sequence()`] is a string.
+The simplest convention (as shown in the example above) is to use numbers -- 1, 2, 3 -- though it is a better idea to leave gaps in the numbers -- 10, 20, 30 perhaps -- such that a new member may be added without having to edit existing numbers.
 
-Even better is to adopt the 'dewey-decimal' notation -- 1, 1.1, 1.2, 2, 3, 5.1.1, 5.2.2, 5.2, 5.3 -- which allows for an indefinite amount of future insertion.  It also allows subclasses to insert their class members as required.
+Even better is to adopt the 'dewey-decimal' notation -- 1, 1.1, 1.2, 2, 3, 5.1.1, 5.2.2, 5.2, 5.3 -- which allows for an indefinite amount of future insertion.
+It also allows subclasses to insert their class members as required.
 
 
 
 
 == `@MemberGroupLayout`
 
-The xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column.  The annotation also specifies the relative width of the columns.
+The xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column.
+The annotation also specifies the relative width of the columns.
 
 The property groups/fieldsets in this case are those that are inferred from the `@MemberOrder#name()` attribute.
 
 [TIP]
 ====
-It is also possible to combine `@MemberOrder` with a xref:ug:vw:layout/xml.adoc[file-based layout].
+It is also possible to combine `@MemberOrder` with a xref:ug:vw:layout/file-based.adoc[file-based layout].
 The layout file defines only the regions of a grid structure (fieldsets/columns etc), but does __not__ specify the properties/collections/actions within those grid regions.
 The `@MemberOrder` annotation in effect "binds" the properties or collections to those regions of the grid.
 
@@ -121,11 +128,13 @@ For example:
      middle="Detail"
  )
 public class ToDoItem {
-    ...
+    // ...
 }
 ----
 
-Four values are given in the `columnSpans` attribute. The first three are the relative widths of the three columns of property groups. The fourth, meanwhile, indicates the width of a final column that holds all the collections of the object.
+Four values are given in the `columnSpans` attribute.
+The first three are the relative widths of the three columns of property groups.
+The fourth, meanwhile, indicates the width of a final column that holds all the collections of the object.
 
 The values of these spans are taken as proportions of 12 virtual columns across the page (this taken from the link:http://getbootstrap.com/2.3.2/[Bootstrap] library).
 
@@ -176,6 +185,6 @@ Layout semantics can also be specified using the various `XxxLayout` annotations
 
 * for domain services: xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
 * for domain objects: xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
-* for actions: xref:rg:ant:ActionLayout, .adoc[`@ActionLayout`] and xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`]
+* for actions: xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`]
 * for properties: xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]
 * for collections: xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
diff --git a/antora/components/ug/modules/vw/pages/layout/file-based.adoc b/antora/components/ug/modules/vw/pages/layout/file-based.adoc
index 068f7b9..3dd42ea 100644
--- a/antora/components/ug/modules/vw/pages/layout/file-based.adoc
+++ b/antora/components/ug/modules/vw/pages/layout/file-based.adoc
@@ -12,7 +12,7 @@ File-based layouts offer a number of benefits:
 
 * Many developers also find it easier to rationalize about layout when all the hints are collated together in a single place (rather than scattered across the class members as annotations).
 
-* UI hints can be provided for xref:ug:fun:how-tos/contributed-members.adoc[contributed associations and actions] that are synthesised at runtime.
+* UI hints can be provided for contributed xref:ug:fun:programming-model/mixins/contributed-property.adoc[properties], xref:ug:fun:programming-model/mixins/contributed-collection.adoc[collections] and xref:ug:fun:programming-model/mixins/contributed-action.adoc[actions] that are synthesised at runtime.
 
 It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu) or using a xref:rg:cms:classes/mixins/Object.adoc[mixin action] contributed to every domain object.
 
diff --git a/antora/theme/ui-bundle.zip b/antora/theme/ui-bundle.zip
index 8774011..db7f537 100644
Binary files a/antora/theme/ui-bundle.zip and b/antora/theme/ui-bundle.zip differ
diff --git a/core/runtime/src/main/resources/isis-version.properties b/core/runtime/src/main/resources/isis-version.properties
index 1088fb5..630276c 100644
--- a/core/runtime/src/main/resources/isis-version.properties
+++ b/core/runtime/src/main/resources/isis-version.properties
@@ -18,5 +18,5 @@
 framework.name=Apache Isis
 framework.version=${project.version}
 framework.compile.date=${build.date}
-framework.copyright=Copyright (c) 2010~2011 Apache Software Foundation
+framework.copyright=Copyright (c) 2010~2019 Apache Software Foundation
 framework.logo=splash-logo
diff --git a/examples/apps/helloworld/pom.xml b/examples/apps/helloworld/pom.xml
index 552aa90..3be5d3a 100644
--- a/examples/apps/helloworld/pom.xml
+++ b/examples/apps/helloworld/pom.xml
@@ -66,8 +66,12 @@
 
 		<!-- OTHER DEPENDENCIES -->
 		
-		<!-- <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> 
-			</dependency> -->
+		<!--
+		<dependency>
+			<groupId>org.hsqldb</groupId>
+			<artifactId>hsqldb</artifactId>
+		</dependency>
+		-->
 		<dependency>
 			<groupId>com.h2database</groupId>
 			<artifactId>h2</artifactId>
diff --git a/examples/apps/simpleapp/webapp/pom.xml b/examples/apps/simpleapp/webapp/pom.xml
index 87932e2..1b3c920 100644
--- a/examples/apps/simpleapp/webapp/pom.xml
+++ b/examples/apps/simpleapp/webapp/pom.xml
@@ -60,6 +60,17 @@
             <type>pom</type>
         </dependency>
 
+        <!--
+        <dependency>
+            <groupId>org.hsqldb</groupId>
+            <artifactId>hsqldb</artifactId>
+        </dependency>
+        -->
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+        </dependency>
+
     </dependencies>
 
     <profiles>
diff --git a/examples/apps/simpleapp/webapp/src/main/java/domainapp/application/SimpleApp.java b/examples/apps/simpleapp/webapp/src/main/java/domainapp/application/SimpleApp.java
index 1809e26..e55a980 100644
--- a/examples/apps/simpleapp/webapp/src/main/java/domainapp/application/SimpleApp.java
+++ b/examples/apps/simpleapp/webapp/src/main/java/domainapp/application/SimpleApp.java
@@ -39,7 +39,6 @@ import domainapp.application.manifest.SimpleAppManifest;
     IsisBootWebWicket.class,
     IsisBootSecurityShiro.class
 })
-@PropertySource("classpath:/domainapp/application/isis.properties")
 public class SimpleApp extends SpringBootServletInitializer {
 
     /**
diff --git a/site.yml b/site.yml
index 8851635..b7a90f2 100644
--- a/site.yml
+++ b/site.yml
@@ -13,6 +13,9 @@ content:
     start_path: antora/components/rg
   - url: .
     branches: HEAD
+    start_path: antora/components/extensions
+  - url: .
+    branches: HEAD
     start_path: antora/components/demoapp
   - url: .
     branches: HEAD