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/09/18 05:52:17 UTC

[isis] branch v2-antora updated (fb02cd2 -> 8c64d86)

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

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


 discard fb02cd2  ISIS-2062: splits ug into separate components
 discard dbbf367  ISIS-2062: moves extensions docs alongside their code.
 discard 0e713b4  renames extensions/viewer-wicket-excel module to ext-viewer-wicket-excel component
 discard f4e0f48  ISIS-2062: moves extensions/secman module to ext-secman/ROOT component
 discard 70ff728  ISIS-2062: moves extensions/fixtures module to ext-markdown/ROOT component
 discard 7639c7b  ISIS-2062: moves extensions/mardkwon module to ext-markdown/ROOT component
 discard 1b5aa19  ISIS-2062: converts extensions/asciidoc module into ext-asciidoc/ROOT component
 discard 0641e23  ISIS-2062: moves demo docs to demo source code.
     add 8296ebd  ISIS-2158 deprecats ThreadPoolSupport in favor of new ConcurrentTaskList
     add a019a3c  ISIS-2158 fixes compilation of FixtureScripts.runPersonas(...)
     new dccbf9e  ISIS-2062: moves demo docs to demo source code.
     new 723544b  ISIS-2062: converts extensions/asciidoc module into ext-asciidoc/ROOT component
     new 49fc6ca  ISIS-2062: moves extensions/mardkwon module to ext-markdown/ROOT component
     new eadec64  ISIS-2062: moves extensions/fixtures module to ext-markdown/ROOT component
     new b5f23eb  ISIS-2062: moves extensions/secman module to ext-secman/ROOT component
     new 2d9c46a  renames extensions/viewer-wicket-excel module to ext-viewer-wicket-excel component
     new a65f84a  ISIS-2062: moves extensions docs alongside their code.
     new 8c64d86  ISIS-2062: splits ug into separate components

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (fb02cd2)
            \
             N -- N -- N   refs/heads/v2-antora (8c64d86)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../isis/applib/mixins/dto/Dto_downloadXsd.java    |   2 +-
 .../isis/commons/{ => compression}/ZipWriter.java  |   2 +-
 .../isis/commons/concurrent/AwaitableLatch.java}   |  28 ++-
 .../ConcurrentContext.java}                        |  50 +++---
 .../internal/concurrent/ConcurrentTask.java        | 188 ++++++++++++++++++++
 .../internal/concurrent/ConcurrentTaskList.java    | 187 ++++++++++++++++++++
 .../isis/commons/internal/concurrent/_Tasks.java   | 190 ---------------------
 .../FutureWithIndexIntoFutureOfList.java           |   1 +
 .../threadpool/ThreadPoolExecutionMode.java        |   3 +-
 .../internal/threadpool/ThreadPoolSizeAdvisor.java |   1 +
 .../internal/threadpool/ThreadPoolSupport.java     |   4 +-
 .../services/layout/LayoutServiceDefault.java      |   2 +-
 .../services/registry/ServiceRegistryDefault.java  |   7 -
 .../specloader/SpecificationLoaderDefault.java     |  63 ++-----
 .../services/sse/EventStreamServiceDefault.java    |  20 +--
 .../system/session/IsisSessionFactoryDefault.java  |  20 +--
 .../transaction/IsisTransactionAspectSupport.java  |   7 +-
 .../wicket/viewer/IsisWicketApplication.java       |  30 ++--
 .../fixtures/fixturescripts/FixtureScripts.java    |  12 +-
 19 files changed, 485 insertions(+), 332 deletions(-)
 rename core/commons/src/main/java/org/apache/isis/commons/{ => compression}/ZipWriter.java (98%)
 rename core/{runtime/src/main/java/org/apache/isis/runtime/system/transaction/TransactionLatch.java => commons/src/main/java/org/apache/isis/commons/concurrent/AwaitableLatch.java} (65%)
 copy core/commons/src/main/java/org/apache/isis/commons/internal/{base/_Tuples.java => concurrent/ConcurrentContext.java} (59%)
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/ConcurrentTask.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/ConcurrentTaskList.java
 delete mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/concurrent/_Tasks.java


[isis] 06/08: renames extensions/viewer-wicket-excel module to ext-viewer-wicket-excel component

Posted by da...@apache.org.
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 2d9c46ae34758765cca7c90f92cc3d556462c598
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Sep 18 00:52:46 2019 +0200

    renames extensions/viewer-wicket-excel module to ext-viewer-wicket-excel component
    
    Also updates the ui theme.
---
 antora/components/ext-specsupport/antora.yml       |   6 ++++++
 .../{extensions => ext-specsupport}/examples.csv   |   0
 .../modules/ROOT}/_attributes.adoc                 |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../modules/ROOT}/assets/images/.gitkeep           |   0
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../modules/ROOT/nav.adoc                          |   0
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |   0
 .../modules/ROOT}/pages/about.adoc                 |   0
 .../sync_examples.sh                               |   0
 .../components/ext-viewer-wicket-excel/antora.yml  |   6 ++++++
 .../examples.csv                                   |   0
 .../modules/ROOT}/_attributes.adoc                 |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../modules/ROOT}/assets/images/.gitkeep           |   0
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../modules/ROOT/nav.adoc                          |   0
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |   0
 .../modules/ROOT}/pages/about.adoc                 |   4 ++--
 .../sync_examples.sh                               |   0
 antora/components/extensions/antora.yml            |   8 --------
 .../extensions/modules/ROOT/_attributes.adoc       |   6 ------
 .../extensions/modules/ROOT/pages/_attributes.adoc |   4 ----
 .../modules/ROOT/pages/_partials/_attributes.adoc  |   4 ----
 .../extensions/modules/ROOT/pages/about.adoc       |   3 ---
 .../extensions/modules/specsupport/nav.adoc        |   2 --
 .../modules/viewer-wicket-excel/nav.adoc           |   2 --
 .../components/toc/modules/ROOT/pages/about.adoc   |   4 ++--
 antora/theme/ui-bundle.zip                         | Bin 269845 -> 276988 bytes
 site.yml                                           |   9 ++++++---
 32 files changed, 22 insertions(+), 36 deletions(-)

diff --git a/antora/components/ext-specsupport/antora.yml b/antora/components/ext-specsupport/antora.yml
new file mode 100644
index 0000000..5c7bc3b
--- /dev/null
+++ b/antora/components/ext-specsupport/antora.yml
@@ -0,0 +1,6 @@
+name: ext-specsupport
+title: "Extensions - (BDD) Spec Support"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/extensions/examples.csv b/antora/components/ext-specsupport/examples.csv
similarity index 100%
copy from antora/components/extensions/examples.csv
copy to antora/components/ext-specsupport/examples.csv
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/_attributes.adoc b/antora/components/ext-specsupport/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/viewer-wicket-excel/_attributes.adoc
rename to antora/components/ext-specsupport/modules/ROOT/_attributes.adoc
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/examples/.gitkeep b/antora/components/ext-specsupport/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/viewer-wicket-excel/examples/.gitkeep
rename to antora/components/ext-specsupport/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/assets/images/.gitkeep b/antora/components/ext-specsupport/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/viewer-wicket-excel/assets/images/.gitkeep
rename to antora/components/ext-specsupport/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/assets/attachments/.gitkeep b/antora/components/ext-specsupport/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/viewer-wicket-excel/assets/attachments/.gitkeep
rename to antora/components/ext-specsupport/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/extensions/modules/ROOT/nav.adoc b/antora/components/ext-specsupport/modules/ROOT/nav.adoc
similarity index 100%
copy from antora/components/extensions/modules/ROOT/nav.adoc
copy to antora/components/ext-specsupport/modules/ROOT/nav.adoc
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/pages/_attributes.adoc b/antora/components/ext-specsupport/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/viewer-wicket-excel/pages/_attributes.adoc
rename to antora/components/ext-specsupport/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/pages/_partials/_attributes.adoc b/antora/components/ext-specsupport/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/viewer-wicket-excel/pages/_partials/_attributes.adoc
rename to antora/components/ext-specsupport/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/extensions/modules/specsupport/pages/about.adoc b/antora/components/ext-specsupport/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/extensions/modules/specsupport/pages/about.adoc
rename to antora/components/ext-specsupport/modules/ROOT/pages/about.adoc
diff --git a/antora/components/extensions/sync_examples.sh b/antora/components/ext-specsupport/sync_examples.sh
similarity index 100%
copy from antora/components/extensions/sync_examples.sh
copy to antora/components/ext-specsupport/sync_examples.sh
diff --git a/antora/components/ext-viewer-wicket-excel/antora.yml b/antora/components/ext-viewer-wicket-excel/antora.yml
new file mode 100644
index 0000000..ebf6730
--- /dev/null
+++ b/antora/components/ext-viewer-wicket-excel/antora.yml
@@ -0,0 +1,6 @@
+name: ext-viewer-wicket-excel
+title: "Extensions: Excel Download (Wicket)"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/extensions/examples.csv b/antora/components/ext-viewer-wicket-excel/examples.csv
similarity index 100%
rename from antora/components/extensions/examples.csv
rename to antora/components/ext-viewer-wicket-excel/examples.csv
diff --git a/antora/components/extensions/modules/specsupport/_attributes.adoc b/antora/components/ext-viewer-wicket-excel/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/specsupport/_attributes.adoc
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/_attributes.adoc
diff --git a/antora/components/extensions/modules/specsupport/examples/.gitkeep b/antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/specsupport/examples/.gitkeep
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/extensions/modules/specsupport/assets/images/.gitkeep b/antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/specsupport/assets/images/.gitkeep
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/extensions/modules/specsupport/assets/attachments/.gitkeep b/antora/components/ext-viewer-wicket-excel/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/specsupport/assets/attachments/.gitkeep
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/extensions/modules/ROOT/nav.adoc b/antora/components/ext-viewer-wicket-excel/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/extensions/modules/ROOT/nav.adoc
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/nav.adoc
diff --git a/antora/components/extensions/modules/specsupport/pages/_attributes.adoc b/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/specsupport/pages/_attributes.adoc
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/extensions/modules/specsupport/pages/_partials/_attributes.adoc b/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/specsupport/pages/_partials/_attributes.adoc
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/pages/about.adoc b/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/about.adoc
similarity index 88%
rename from antora/components/extensions/modules/viewer-wicket-excel/pages/about.adoc
rename to antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/about.adoc
index cd98d47..ea61261 100644
--- a/antora/components/extensions/modules/viewer-wicket-excel/pages/about.adoc
+++ b/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/about.adoc
@@ -1,6 +1,6 @@
-= Wicket Excel Extension
+= About
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
 
-TODO: v2: placeholder for documentation about extensions/viewer-wicket-excel
+TODO: v2: placeholder for documentation about ext-viewer-wicket-excel
 
diff --git a/antora/components/extensions/sync_examples.sh b/antora/components/ext-viewer-wicket-excel/sync_examples.sh
similarity index 100%
rename from antora/components/extensions/sync_examples.sh
rename to antora/components/ext-viewer-wicket-excel/sync_examples.sh
diff --git a/antora/components/extensions/antora.yml b/antora/components/extensions/antora.yml
deleted file mode 100644
index 0a2127a..0000000
--- a/antora/components/extensions/antora.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-name: ext
-title: "Extensions"
-version: master
-start_page: ROOT:about.adoc
-nav:
-- modules/ROOT/nav.adoc
-- modules/specsupport/nav.adoc
-- modules/viewer-wicket-excel/nav.adoc
diff --git a/antora/components/extensions/modules/ROOT/_attributes.adoc b/antora/components/extensions/modules/ROOT/_attributes.adoc
deleted file mode 100644
index 787e5c4..0000000
--- a/antora/components/extensions/modules/ROOT/_attributes.adoc
+++ /dev/null
@@ -1,6 +0,0 @@
-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/pages/_attributes.adoc b/antora/components/extensions/modules/ROOT/pages/_attributes.adoc
deleted file mode 100644
index e8ada7c..0000000
--- a/antora/components/extensions/modules/ROOT/pages/_attributes.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-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
deleted file mode 100644
index d011536..0000000
--- a/antora/components/extensions/modules/ROOT/pages/_partials/_attributes.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-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
deleted file mode 100644
index 21c3a59..0000000
--- a/antora/components/extensions/modules/ROOT/pages/about.adoc
+++ /dev/null
@@ -1,3 +0,0 @@
-= About
-include::_attributes.adoc[]
-
diff --git a/antora/components/extensions/modules/specsupport/nav.adoc b/antora/components/extensions/modules/specsupport/nav.adoc
deleted file mode 100644
index 3fa15e7..0000000
--- a/antora/components/extensions/modules/specsupport/nav.adoc
+++ /dev/null
@@ -1,2 +0,0 @@
-* xref:about.adoc[(BDD) Spec Support]
-
diff --git a/antora/components/extensions/modules/viewer-wicket-excel/nav.adoc b/antora/components/extensions/modules/viewer-wicket-excel/nav.adoc
deleted file mode 100644
index f20e860..0000000
--- a/antora/components/extensions/modules/viewer-wicket-excel/nav.adoc
+++ /dev/null
@@ -1,2 +0,0 @@
-* xref:about.adoc[Excel Download (Wicket)]
-
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index b769382..385993d 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -61,10 +61,10 @@ include::_attributes.adoc[]
 
 * Testing & Prototyping
 ** xref:ext-fixtures:ROOT:about.adoc[Fixtures]
-** xref:ext:specsupport:about.adoc[(BDD) Spec Support]
+** xref:ext-specsupport:ROOT:about.adoc[(BDD) Spec Support]
 * Modules
 **  xref:ext-secman:ROOT:about.adoc[Security Manager]
-**  xref:ext:viewer-wicket-excel:about.adoc[Excel Download (Wicket)]
+**  xref:ext-viewer-wicket-excel:ROOT:about.adoc[Excel Download (Wicket)]
 * Values Types
 **  xref:ext-asciidoc:ROOT:about.adoc[Asciidoc], xref:ext-markdown:ROOT:about.adoc[Markdown]
 
diff --git a/antora/theme/ui-bundle.zip b/antora/theme/ui-bundle.zip
index db7f537..76b6762 100644
Binary files a/antora/theme/ui-bundle.zip and b/antora/theme/ui-bundle.zip differ
diff --git a/site.yml b/site.yml
index 6efd4d2..fc0767f 100644
--- a/site.yml
+++ b/site.yml
@@ -19,9 +19,6 @@ content:
     branches: HEAD
   - url: .
     branches: HEAD
-    start_path: antora/components/extensions
-  - url: .
-    branches: HEAD
     start_path: antora/components/ext-asciidoc
   - url: .
     branches: HEAD
@@ -34,6 +31,12 @@ content:
     start_path: antora/components/ext-secman
   - url: .
     branches: HEAD
+    start_path: antora/components/ext-specsupport
+  - url: .
+    branches: HEAD
+    start_path: antora/components/ext-viewer-wicket-excel
+  - url: .
+    branches: HEAD
     start_path: examples/apps/demo/_adoc
   - url: .
     branches: HEAD


[isis] 03/08: ISIS-2062: moves extensions/mardkwon module to ext-markdown/ROOT component

Posted by da...@apache.org.
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 49fc6caeccb26c3f121503e239a0e009ad8e85ce
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Sep 17 19:23:49 2019 +0100

    ISIS-2062: moves extensions/mardkwon module to ext-markdown/ROOT component
---
 antora/components/ext-markdown/antora.yml          |  6 ++++
 antora/components/ext-markdown/examples.csv        |  1 +
 .../modules/ROOT}/_attributes.adoc                 |  0
 .../modules/ROOT/assets/attachments}/.gitkeep      |  0
 .../modules/ROOT}/assets/images/.gitkeep           |  0
 .../modules/ROOT/examples}/.gitkeep                |  0
 .../components/ext-markdown/modules/ROOT/nav.adoc  |  2 ++
 .../modules/ROOT}/pages/_attributes.adoc           |  0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |  0
 .../modules/ROOT}/pages/about.adoc                 |  0
 antora/components/ext-markdown/sync_examples.sh    | 39 ++++++++++++++++++++++
 antora/components/extensions/antora.yml            |  1 -
 .../extensions/modules/markdown/nav.adoc           |  2 --
 site.yml                                           |  3 ++
 14 files changed, 51 insertions(+), 3 deletions(-)

diff --git a/antora/components/ext-markdown/antora.yml b/antora/components/ext-markdown/antora.yml
new file mode 100644
index 0000000..838d931
--- /dev/null
+++ b/antora/components/ext-markdown/antora.yml
@@ -0,0 +1,6 @@
+name: ext-markdown
+title: "Extensions - Markdown"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ext-markdown/examples.csv b/antora/components/ext-markdown/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ext-markdown/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/extensions/modules/markdown/_attributes.adoc b/antora/components/ext-markdown/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/markdown/_attributes.adoc
rename to antora/components/ext-markdown/modules/ROOT/_attributes.adoc
diff --git a/antora/components/extensions/modules/markdown/examples/.gitkeep b/antora/components/ext-markdown/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/markdown/examples/.gitkeep
rename to antora/components/ext-markdown/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/extensions/modules/markdown/assets/images/.gitkeep b/antora/components/ext-markdown/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/markdown/assets/images/.gitkeep
rename to antora/components/ext-markdown/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/extensions/modules/markdown/assets/attachments/.gitkeep b/antora/components/ext-markdown/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/markdown/assets/attachments/.gitkeep
rename to antora/components/ext-markdown/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-markdown/modules/ROOT/nav.adoc b/antora/components/ext-markdown/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..2815342
--- /dev/null
+++ b/antora/components/ext-markdown/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[About]
+
diff --git a/antora/components/extensions/modules/markdown/pages/_attributes.adoc b/antora/components/ext-markdown/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/markdown/pages/_attributes.adoc
rename to antora/components/ext-markdown/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/extensions/modules/markdown/pages/_partials/_attributes.adoc b/antora/components/ext-markdown/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/markdown/pages/_partials/_attributes.adoc
rename to antora/components/ext-markdown/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/extensions/modules/markdown/pages/about.adoc b/antora/components/ext-markdown/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/extensions/modules/markdown/pages/about.adoc
rename to antora/components/ext-markdown/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-markdown/sync_examples.sh b/antora/components/ext-markdown/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ext-markdown/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/extensions/antora.yml b/antora/components/extensions/antora.yml
index 2e80ed4..ab9cd94 100644
--- a/antora/components/extensions/antora.yml
+++ b/antora/components/extensions/antora.yml
@@ -8,4 +8,3 @@ nav:
 - modules/specsupport/nav.adoc
 - modules/secman/nav.adoc
 - modules/viewer-wicket-excel/nav.adoc
-- modules/markdown/nav.adoc
diff --git a/antora/components/extensions/modules/markdown/nav.adoc b/antora/components/extensions/modules/markdown/nav.adoc
deleted file mode 100644
index 4c3afe7..0000000
--- a/antora/components/extensions/modules/markdown/nav.adoc
+++ /dev/null
@@ -1,2 +0,0 @@
-* xref:about.adoc[Markdown]
-
diff --git a/site.yml b/site.yml
index 7b27e7e..15a61ee 100644
--- a/site.yml
+++ b/site.yml
@@ -25,6 +25,9 @@ content:
     start_path: antora/components/ext-asciidoc
   - url: .
     branches: HEAD
+    start_path: antora/components/ext-markdown
+  - url: .
+    branches: HEAD
     start_path: examples/apps/demo/_adoc
   - url: .
     branches: HEAD


[isis] 02/08: ISIS-2062: converts extensions/asciidoc module into ext-asciidoc/ROOT component

Posted by da...@apache.org.
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 723544b46f23c68fc3e91ea3bb06a9d13b8d68c7
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Sep 17 19:21:21 2019 +0100

    ISIS-2062: converts extensions/asciidoc module into ext-asciidoc/ROOT component
---
 antora/components/ext-asciidoc/antora.yml          |  6 ++++
 antora/components/ext-asciidoc/examples.csv        |  1 +
 .../modules/ROOT}/_attributes.adoc                 |  0
 .../modules/ROOT/assets/attachments}/.gitkeep      |  0
 .../modules/ROOT}/assets/images/.gitkeep           |  0
 .../modules/ROOT/examples}/.gitkeep                |  0
 .../components/ext-asciidoc/modules/ROOT/nav.adoc  |  2 ++
 .../modules/ROOT}/pages/_attributes.adoc           |  0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |  0
 .../modules/ROOT}/pages/about.adoc                 |  0
 antora/components/ext-asciidoc/sync_examples.sh    | 39 ++++++++++++++++++++++
 antora/components/extensions/antora.yml            |  1 -
 .../extensions/modules/asciidoc/nav.adoc           |  2 --
 .../components/toc/modules/ROOT/pages/about.adoc   |  2 +-
 site.yml                                           |  3 ++
 15 files changed, 52 insertions(+), 4 deletions(-)

diff --git a/antora/components/ext-asciidoc/antora.yml b/antora/components/ext-asciidoc/antora.yml
new file mode 100644
index 0000000..852d599
--- /dev/null
+++ b/antora/components/ext-asciidoc/antora.yml
@@ -0,0 +1,6 @@
+name: ext-asciidoc
+title: "Extensions - Asciidoc"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ext-asciidoc/examples.csv b/antora/components/ext-asciidoc/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ext-asciidoc/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/extensions/modules/asciidoc/_attributes.adoc b/antora/components/ext-asciidoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/_attributes.adoc
rename to antora/components/ext-asciidoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/extensions/modules/asciidoc/examples/.gitkeep b/antora/components/ext-asciidoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/examples/.gitkeep
rename to antora/components/ext-asciidoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/extensions/modules/asciidoc/assets/images/.gitkeep b/antora/components/ext-asciidoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/assets/images/.gitkeep
rename to antora/components/ext-asciidoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/extensions/modules/asciidoc/assets/attachments/.gitkeep b/antora/components/ext-asciidoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/assets/attachments/.gitkeep
rename to antora/components/ext-asciidoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-asciidoc/modules/ROOT/nav.adoc b/antora/components/ext-asciidoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..2815342
--- /dev/null
+++ b/antora/components/ext-asciidoc/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[About]
+
diff --git a/antora/components/extensions/modules/asciidoc/pages/_attributes.adoc b/antora/components/ext-asciidoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/pages/_attributes.adoc
rename to antora/components/ext-asciidoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/extensions/modules/asciidoc/pages/_partials/_attributes.adoc b/antora/components/ext-asciidoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/pages/_partials/_attributes.adoc
rename to antora/components/ext-asciidoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/extensions/modules/asciidoc/pages/about.adoc b/antora/components/ext-asciidoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/extensions/modules/asciidoc/pages/about.adoc
rename to antora/components/ext-asciidoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-asciidoc/sync_examples.sh b/antora/components/ext-asciidoc/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ext-asciidoc/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/extensions/antora.yml b/antora/components/extensions/antora.yml
index 46631e3..2e80ed4 100644
--- a/antora/components/extensions/antora.yml
+++ b/antora/components/extensions/antora.yml
@@ -8,5 +8,4 @@ nav:
 - 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/modules/asciidoc/nav.adoc b/antora/components/extensions/modules/asciidoc/nav.adoc
deleted file mode 100644
index f0240e0..0000000
--- a/antora/components/extensions/modules/asciidoc/nav.adoc
+++ /dev/null
@@ -1,2 +0,0 @@
-* xref:about.adoc[Asciidoc]
-
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 1d553ce..1bebc4f 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -66,7 +66,7 @@ include::_attributes.adoc[]
 **  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]
+**  xref:ext-asciidoc:ROOT:about.adoc[Asciidoc], xref:ext:markdown:about.adoc[Markdown]
 
 |*Get involved*
 
diff --git a/site.yml b/site.yml
index 024ce3f..7b27e7e 100644
--- a/site.yml
+++ b/site.yml
@@ -22,6 +22,9 @@ content:
     start_path: antora/components/extensions
   - url: .
     branches: HEAD
+    start_path: antora/components/ext-asciidoc
+  - url: .
+    branches: HEAD
     start_path: examples/apps/demo/_adoc
   - url: .
     branches: HEAD


[isis] 05/08: ISIS-2062: moves extensions/secman module to ext-secman/ROOT component

Posted by da...@apache.org.
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 b5f23ebe6da2dc7e933f2a238f7f42dc38b3d3ba
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Sep 17 19:28:37 2019 +0100

    ISIS-2062: moves extensions/secman module to ext-secman/ROOT component
---
 antora/components/ext-secman/antora.yml            |  6 ++++
 antora/components/ext-secman/examples.csv          |  1 +
 .../modules/ROOT}/_attributes.adoc                 |  0
 .../modules/ROOT/assets/attachments}/.gitkeep      |  0
 .../modules/ROOT}/assets/images/.gitkeep           |  0
 .../modules/ROOT/examples}/.gitkeep                |  0
 antora/components/ext-secman/modules/ROOT/nav.adoc |  2 ++
 .../modules/ROOT}/pages/_attributes.adoc           |  0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |  0
 .../modules/ROOT}/pages/about.adoc                 |  0
 antora/components/ext-secman/sync_examples.sh      | 39 ++++++++++++++++++++++
 antora/components/extensions/antora.yml            |  1 -
 .../components/extensions/modules/secman/nav.adoc  |  2 --
 .../components/toc/modules/ROOT/pages/about.adoc   |  2 +-
 .../vw/pages/features/user-registration.adoc       |  2 +-
 site.yml                                           |  6 ++++
 16 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/antora/components/ext-secman/antora.yml b/antora/components/ext-secman/antora.yml
new file mode 100644
index 0000000..e9f2417
--- /dev/null
+++ b/antora/components/ext-secman/antora.yml
@@ -0,0 +1,6 @@
+name: ext-secman
+title: "Extensions - SecMan"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ext-secman/examples.csv b/antora/components/ext-secman/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ext-secman/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/extensions/modules/secman/_attributes.adoc b/antora/components/ext-secman/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/secman/_attributes.adoc
rename to antora/components/ext-secman/modules/ROOT/_attributes.adoc
diff --git a/antora/components/extensions/modules/secman/examples/.gitkeep b/antora/components/ext-secman/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/secman/examples/.gitkeep
rename to antora/components/ext-secman/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/extensions/modules/secman/assets/images/.gitkeep b/antora/components/ext-secman/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/secman/assets/images/.gitkeep
rename to antora/components/ext-secman/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/extensions/modules/secman/assets/attachments/.gitkeep b/antora/components/ext-secman/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/secman/assets/attachments/.gitkeep
rename to antora/components/ext-secman/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-secman/modules/ROOT/nav.adoc b/antora/components/ext-secman/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..2815342
--- /dev/null
+++ b/antora/components/ext-secman/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[About]
+
diff --git a/antora/components/extensions/modules/secman/pages/_attributes.adoc b/antora/components/ext-secman/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/secman/pages/_attributes.adoc
rename to antora/components/ext-secman/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/extensions/modules/secman/pages/_partials/_attributes.adoc b/antora/components/ext-secman/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/secman/pages/_partials/_attributes.adoc
rename to antora/components/ext-secman/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/extensions/modules/secman/pages/about.adoc b/antora/components/ext-secman/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/extensions/modules/secman/pages/about.adoc
rename to antora/components/ext-secman/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-secman/sync_examples.sh b/antora/components/ext-secman/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ext-secman/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/extensions/antora.yml b/antora/components/extensions/antora.yml
index 12549bd..0a2127a 100644
--- a/antora/components/extensions/antora.yml
+++ b/antora/components/extensions/antora.yml
@@ -5,5 +5,4 @@ start_page: ROOT:about.adoc
 nav:
 - modules/ROOT/nav.adoc
 - modules/specsupport/nav.adoc
-- modules/secman/nav.adoc
 - modules/viewer-wicket-excel/nav.adoc
diff --git a/antora/components/extensions/modules/secman/nav.adoc b/antora/components/extensions/modules/secman/nav.adoc
deleted file mode 100644
index ff22afc..0000000
--- a/antora/components/extensions/modules/secman/nav.adoc
+++ /dev/null
@@ -1,2 +0,0 @@
-* xref:about.adoc[Security Manager]
-
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index cb4d334..b769382 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -63,7 +63,7 @@ include::_attributes.adoc[]
 ** xref:ext-fixtures:ROOT:about.adoc[Fixtures]
 ** xref:ext:specsupport:about.adoc[(BDD) Spec Support]
 * Modules
-**  xref:ext:secman:about.adoc[Security Manager]
+**  xref:ext-secman:ROOT:about.adoc[Security Manager]
 **  xref:ext:viewer-wicket-excel:about.adoc[Excel Download (Wicket)]
 * Values Types
 **  xref:ext-asciidoc:ROOT:about.adoc[Asciidoc], xref:ext-markdown:ROOT:about.adoc[Markdown]
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 c079cd0..bee520d 100644
--- a/antora/components/ug/modules/vw/pages/features/user-registration.adoc
+++ b/antora/components/ug/modules/vw/pages/features/user-registration.adoc
@@ -20,7 +20,7 @@ To support this the framework requires three services to be registered and confi
 * 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.
-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.
+The xref:ext-secman:ROOT: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.
 
 // TODO: v2: search for references of 'security module' because this is now available as the 'secman' extension, and reference the extensions doc component.
 
diff --git a/site.yml b/site.yml
index 15a61ee..6efd4d2 100644
--- a/site.yml
+++ b/site.yml
@@ -28,6 +28,12 @@ content:
     start_path: antora/components/ext-markdown
   - url: .
     branches: HEAD
+    start_path: antora/components/ext-fixtures
+  - url: .
+    branches: HEAD
+    start_path: antora/components/ext-secman
+  - url: .
+    branches: HEAD
     start_path: examples/apps/demo/_adoc
   - url: .
     branches: HEAD


[isis] 08/08: ISIS-2062: splits ug into separate components

Posted by da...@apache.org.
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 8c64d8623146818d0334ed620d05f74309235329
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Sep 18 07:45:34 2019 +0200

    ISIS-2062: splits ug into separate components
---
 antora/components/rg/modules/ROOT/pages/about.adoc |   4 +--
 .../rg/modules/ant/pages/Action/semantics.adoc     |   2 +-
 .../rg/modules/ant/pages/ActionLayout.adoc         |   2 +-
 .../rg/modules/ant/pages/Collection/hidden.adoc    |   2 +-
 .../modules/ant/pages/CollectionLayout/paged.adoc  |   2 +-
 .../rg/modules/ant/pages/Discriminator.adoc        |   4 +--
 .../modules/ant/pages/DomainObject/objectType.adoc |   4 +--
 .../ant/pages/DomainObjectLayout/paged.adoc        |   2 +-
 .../rg/modules/ant/pages/DomainService.adoc        |   2 +-
 .../rg/modules/ant/pages/DomainService/nature.adoc |   2 +-
 .../ant/pages/DomainService/objectType.adoc        |   4 +--
 .../ant/pages/DomainServiceLayout/menuBar.adoc     |   2 +-
 .../rg/modules/ant/pages/PersistenceCapable.adoc   |   4 +--
 .../rg/modules/ant/pages/Property/hidden.adoc      |   2 +-
 .../modules/ant/pages/PropertyLayout/hidden.adoc   |   2 +-
 .../rg/modules/ant/pages/ViewModel/objectType.adoc |   4 +--
 .../rg/modules/ant/pages/XmlRootElement.adoc       |   4 +--
 .../components/rg/modules/ant/pages/aaa/jdo.adoc   |   4 +--
 antora/components/rg/modules/cfg/pages/about.adoc  |   4 +--
 .../rg/modules/cfg/pages/configuration-files.adoc  |   2 +-
 .../rg/modules/cfg/pages/configuring-core.adoc     |   6 ++--
 .../rg/modules/cfg/pages/deployment-types.adoc     |   2 +-
 .../rg/modules/cms/pages/classes/layout.adoc       |   2 +-
 .../rg/modules/cms/pages/classes/menubars.adoc     |   2 +-
 .../modules/cms/pages/classes/mixins/Object.adoc   |   2 +-
 .../modules/cms/pages/methods/reserved/getId.adoc  |   4 +--
 .../ContentNegotiationService.adoc                 |   6 ++--
 .../presentation-layer/RepresentationService.adoc  |   2 +-
 antora/components/rg/modules/mvn/pages/intro.adoc  |   2 +-
 .../components/rg/modules/mvn/pages/swagger.adoc   |   2 +-
 .../rg/modules/svc/pages/metadata-api.adoc         |   2 +-
 .../svc/pages/metadata-api/SwaggerService.adoc     |   4 +--
 .../modules/svc/pages/presentation-layer-api.adoc  |   4 +--
 .../AcceptHeaderService.adoc                       |   2 +-
 .../presentation-layer-api/DeepLinkService.adoc    |   2 +-
 .../ContentMappingService.adoc                     |   2 +-
 .../ExceptionRecognizer.adoc                       |   2 +-
 .../presentation-layer-spi/LocaleProvider.adoc     |   2 +-
 .../presentation-layer-spi/MenuBarsService.adoc    |   2 +-
 .../presentation-layer-spi/RoutingService.adoc     |   2 +-
 .../TranslationsResolver.adoc                      |   2 +-
 .../support/modules/ROOT/pages/about.adoc          |   4 +--
 .../modules/dg/pages/asciidoc-templates.adoc       |   6 ++--
 .../support/modules/dg/pages/hints-and-tips.adoc   |   4 +--
 antora/components/toc/modules/ROOT/nav.adoc        |   4 +--
 .../components/toc/modules/ROOT/pages/about.adoc   |   4 +--
 .../toc/modules/ROOT/pages/going-deeper/books.adoc |   4 +--
 .../what-is-apache-isis/common-use-cases.adoc      |   2 +-
 .../pages/what-is-apache-isis/screencasts.adoc     |   2 +-
 antora/components/ug-odn/antora.yml                |   6 ++++
 antora/components/ug-odn/examples.csv              |   1 +
 .../vw => ug-odn/modules/ROOT}/_attributes.adoc    |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../images/hints-n-tips/diagnosing-n-plus-1.png    | Bin
 .../party-agreementrole-agreement.png              | Bin
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../modules/odn => ug-odn/modules/ROOT}/nav.adoc   |   2 +-
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../odn => ug-odn/modules/ROOT}/pages/about.adoc   |   0
 .../modules/ROOT}/pages/configuring.adoc           |   0
 .../ROOT/pages/configuring}/_attributes.adoc       |   0
 .../modules/ROOT}/pages/configuring/bulk-load.adoc |   0
 .../disabling-persistence-by-reachability.adoc     |   0
 .../ROOT}/pages/configuring/persistence-xml.adoc   |   0
 .../ROOT}/pages/configuring/properties.adoc        |   4 +--
 .../pages/configuring/using-jndi-data-source.adoc  |   0
 .../modules/ROOT}/pages/db-schemas.adoc            |   2 +-
 .../modules/ROOT}/pages/hints-and-tips.adoc        |   4 +--
 .../ROOT}/pages/hints-and-tips/_attributes.adoc    |   0
 .../pages/hints-and-tips/diagnosing-n-plus-1.adoc  |   2 +-
 .../modules/ROOT}/pages/hints-and-tips/java8.adoc  |   0
 .../pages/hints-and-tips/jdoql-and-timestamps.adoc |   0
 .../hints-and-tips/overriding-jdo-annotations.adoc |   0
 .../subtype-entity-not-fully-populated.adoc        |   0
 .../typesafe-queries-and-fetchgroups.adoc          |   2 +-
 .../modules/ROOT}/pages/jdo-mappings.adoc          |   0
 .../1-to-m-bidirectional-relationships.adoc        |   0
 .../ROOT/pages/jdo-mappings}/_attributes.adoc      |   0
 .../mandatory-properties-in-subtypes.adoc          |   0
 .../pages/jdo-mappings/mapping-to-a-view.adoc      |   0
 antora/components/ug-odn/sync_examples.sh          |  39 +++++++++++++++++++++
 antora/components/ug-sec/antora.yml                |   6 ++++
 antora/components/ug-sec/examples.csv              |   1 +
 .../vro => ug-sec/modules/ROOT}/_attributes.adoc   |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../ldap/activeds-ldap-groups.png                  | Bin
 .../ldap/activeds-ldap-mojo-partition.png          | Bin
 .../ldap/activeds-ldap-mojo-root-dse.png           | Bin
 .../ldap/activeds-ldap-sasl-authentication.png     | Bin
 .../configuring-shiro/ldap/activeds-ldap-users.png | Bin
 .../configure-isis-to-use-bypass.PNG               | Bin
 .../configure-isis-to-use-shiro.png                | Bin
 .../configure-shiro-to-use-custom-jdbc-realm.png   | Bin
 .../configure-shiro-to-use-ini-realm.PNG           | Bin
 .../configure-shiro-to-use-isis-ldap-realm.PNG     | Bin
 ...s-security-module-realm-with-delegate-realm.PNG | Bin
 ...iro-to-use-isisaddons-security-module-realm.PNG | Bin
 .../security-apis-impl/security-apis-impl.pptx     | Bin
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../modules/sec => ug-sec/modules/ROOT}/nav.adoc   |   0
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../sec => ug-sec/modules/ROOT}/pages/about.adoc   |   0
 .../modules/ROOT}/pages/api-for-applications.adoc  |   0
 .../ROOT}/pages/configuring-isis-to-use-shiro.adoc |   2 +-
 .../modules/ROOT}/pages/hints-and-tips.adoc        |   6 ++--
 .../ROOT/pages/hints-and-tips}/_attributes.adoc    |   0
 .../configuring-isis-to-use-bypass.adoc            |   0
 .../modules/ROOT}/pages/hints-and-tips/run-as.adoc |   0
 .../ROOT}/pages/hints-and-tips/shiro-caching.adoc  |   0
 .../shiro-isis-enhanced-wildcard-permission.adoc   |   0
 .../ROOT}/pages/shiro-realm-implementations.adoc   |   0
 .../shiro-realm-implementations}/_attributes.adoc  |   0
 .../shiro-realm-implementations/ini-realm.adoc     |   0
 .../isis-ldap-realm.adoc                           |   0
 .../isisaddons-security-module-realm.adoc          |   0
 .../shiro-realm-implementations/jdbc-realm.adoc    |   0
 .../modules/ROOT}/pages/usage-by-isis-viewers.adoc |  10 +++---
 antora/components/ug-sec/sync_examples.sh          |  39 +++++++++++++++++++++
 antora/components/ug-tst/antora.yml                |   6 ++++
 antora/components/ug-tst/examples.csv              |   1 +
 .../tst => ug-tst/modules/ROOT}/_attributes.adoc   |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../images/testing/fixture-scripts/composite.png   | Bin
 .../images/testing/fixture-scripts/flat-1.png      | Bin
 .../images/testing/fixture-scripts/flat-2.png      | Bin
 .../organizing-fixture-scripts.pptx                | Bin
 .../fixture-scripts/prompt-specifying-number.png   | Bin
 .../images/testing/fixture-scripts/prompt.png      | Bin
 .../testing/fixture-scripts/prototyping-menu.png   | Bin
 .../images/testing/fixture-scripts/result-list.png | Bin
 .../ROOT}/assets/images/testing/integ-tests.png    | Bin
 .../ROOT}/assets/images/testing/integ-tests.pptx   | Bin
 .../assets/images/testing/wrapper-factory.png      | Bin
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../modules/tst => ug-tst/modules/ROOT}/nav.adoc   |   0
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../tst => ug-tst/modules/ROOT}/pages/about.adoc   |   0
 .../modules/ROOT}/pages/bdd-spec-support.adoc      |   0
 .../ROOT/pages/bdd-spec-support}/_attributes.adoc  |   0
 .../ROOT}/pages/bdd-spec-support/how-it-works.adoc |   0
 .../bdd-spec-support/maven-configuration.adoc      |   0
 .../pages/bdd-spec-support/writing-a-bdd-spec.adoc |   0
 .../modules/ROOT}/pages/fixture-scripts.adoc       |   0
 .../ROOT/pages/fixture-scripts}/_attributes.adoc   |   0
 .../ROOT}/pages/fixture-scripts/api-and-usage.adoc |   0
 .../ROOT}/pages/fixture-scripts/sudo-service.adoc  |   0
 .../fixture-scripts/ticking-clock-fixture.adoc     |   0
 .../modules/ROOT}/pages/integ-test-support.adoc    |   0
 .../pages/integ-test-support}/_attributes.adoc     |   0
 .../pages/integ-test-support/abstract-class.adoc   |   0
 .../pages/integ-test-support/bootstrapping.adoc    |   0
 .../configuration-properties.adoc                  |   0
 .../integ-test-support/maven-configuration.adoc    |   0
 .../pages/integ-test-support/typical-usage.adoc    |   0
 .../pages/integ-test-support/wrapper-factory.adoc  |   0
 .../modules/ROOT}/pages/overview.adoc              |   0
 .../modules/ROOT}/pages/unit-test-support.adoc     |   0
 .../ROOT/pages/unit-test-support}/_attributes.adoc |   0
 .../pages/unit-test-support/contract-tests.adoc    |   0
 .../pages/unit-test-support/jmock-extensions.adoc  |   0
 .../unit-test-support/maven-configuration.adoc     |   0
 .../soap-fake-server-junit-rule.adoc               |   0
 antora/components/ug-tst/sync_examples.sh          |  39 +++++++++++++++++++++
 antora/components/ug-vro/antora.yml                |   6 ++++
 antora/components/ug-vro/examples.csv              |   1 +
 .../sec => ug-vro/modules/ROOT}/_attributes.adoc   |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../ro-spec-resources-and-representations.png      | Bin
 .../assets/images/rgfis/service-collaborations.png | Bin
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../modules/vro => ug-vro/modules/ROOT}/nav.adoc   |   0
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../vro => ug-vro/modules/ROOT}/pages/about.adoc   |   0
 .../modules/ROOT}/pages/architecture.adoc          |   4 +--
 .../ROOT}/pages/configuration-properties.adoc      |   6 ++--
 .../modules/ROOT}/pages/health-check.adoc          |   0
 .../modules/ROOT}/pages/hints-and-tips.adoc        |   4 +--
 .../ROOT/pages/hints-and-tips}/_attributes.adoc    |   0
 .../ROOT}/pages/hints-and-tips/angular-tips.adoc   |   0
 .../pages/hints-and-tips/pretty-printing.adoc      |   0
 .../hints-and-tips/restful-image-property.adoc     |   0
 .../pages/hints-and-tips/troubleshooting.adoc      |   0
 .../hints-and-tips/using-chrome-devtools.adoc      |   0
 .../hints-and-tips/view-model-as-parameter.adoc    |   0
 .../modules/ROOT}/pages/layout-resources.adoc      |   4 +--
 .../vro => ug-vro/modules/ROOT}/pages/ro-spec.adoc |   6 ++--
 .../ROOT}/pages/simplified-representations.adoc    |   2 +-
 .../simplified-representations}/_attributes.adoc   |   0
 .../action-invocation.adoc                         |   4 +--
 .../apache-isis-profile.adoc                       |   0
 .../configuration-properties.adoc                  |   2 +-
 .../simplified-representations/domain-object.adoc  |   0
 .../object-collection.adoc                         |   0
 .../other-representations.adoc                     |   0
 antora/components/ug-vro/sync_examples.sh          |  39 +++++++++++++++++++++
 antora/components/ug-vw/antora.yml                 |   6 ++++
 antora/components/ug-vw/examples.csv               |   1 +
 .../odn => ug-vw/modules/ROOT}/_attributes.adoc    |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../ROOT}/assets/images/about-page/about-page.png  | Bin
 .../assets/images/application-menu/dividers.png    | Bin
 .../images/application-menu/layout-menus.pdn       | Bin
 .../images/application-menu/layout-menus.png       | Bin
 .../assets/images/application-menu/tertiary.png    | Bin
 .../blob-attachments/010-attachment-field-940.png  | Bin
 .../blob-attachments/010-attachment-field.png      | Bin
 .../blob-attachments/020-edit-choose-file-940.png  | Bin
 .../blob-attachments/020-edit-choose-file.png      | Bin
 .../030-choose-file-using-browser-520.png          | Bin
 .../030-choose-file-using-browser.png              | Bin
 .../040-edit-chosen-file-indicated-940.png         | Bin
 .../040-edit-chosen-file-indicated.png             | Bin
 .../050-ok-if-image-then-rendered-940.png          | Bin
 .../050-ok-if-image-then-rendered.png              | Bin
 .../images/blob-attachments/060-download-940.png   | Bin
 .../images/blob-attachments/060-download.png       | Bin
 .../images/blob-attachments/070-edit-clear-940.png | Bin
 .../images/blob-attachments/070-edit-clear.png     | Bin
 .../assets/images/bookmarked-pages/panel-940.png   | Bin
 .../images/bookmarked-pages/panel-estatio-940.png  | Bin
 .../images/bookmarked-pages/panel-estatio.png      | Bin
 .../ROOT}/assets/images/bookmarked-pages/panel.png | Bin
 .../assets/images/brand-logo/brand-logo-signin.png | Bin
 .../ROOT}/assets/images/brand-logo/brand-logo.png  | Bin
 .../images/copy-link/010-copy-link-button-940.png  | Bin
 .../images/copy-link/010-copy-link-button.png      | Bin
 .../images/copy-link/020-copy-link-dialog-940.png  | Bin
 .../images/copy-link/020-copy-link-dialog.png      | Bin
 .../assets/images/copy-link/030-hints-940.png      | Bin
 .../ROOT}/assets/images/copy-link/030-hints.png    | Bin
 .../copy-link/040-copy-link-with-hints-940.png     | Bin
 .../images/copy-link/040-copy-link-with-hints.png  | Bin
 .../assets/images/copy-link/050-title-url-940.png  | Bin
 .../assets/images/copy-link/050-title-url.png      | Bin
 .../ROOT}/assets/images/dialog-mode/modal.png      | Bin
 .../ROOT}/assets/images/dialog-mode/sidebar.png    | Bin
 .../assets/images/embedded-view/no-footer.png      | Bin
 .../images/embedded-view/no-header-no-footer.png   | Bin
 .../assets/images/embedded-view/no-header.png      | Bin
 .../ROOT}/assets/images/embedded-view/regular.png  | Bin
 .../images/features/recent-pages/recent-pages.png  | Bin
 .../object-titles-and-icons/cust-order-product.png | Bin
 .../images/layout-dynamic-xml/ToDoAppDashboard.png | Bin
 .../assets/images/layout-dynamic-xml/ToDoItem.png  | Bin
 .../ROOT}/assets/images/layouts/customer-order.png | Bin
 .../assets/images/layouts/estatio-Invoice.png      | Bin
 .../ROOT}/assets/images/layouts/estatio-Lease.png  | Bin
 .../assets/images/layouts/estatio-LeaseItem.png    | Bin
 .../assets/images/layouts/todoapp-ToDoItem.png     | Bin
 .../ROOT}/assets/images/menubars/010-download.png  | Bin
 .../ROOT}/assets/images/menubars/020-download.png  | Bin
 .../assets/images/reference-layout/4-0-8-0.png     | Bin
 .../assets/images/reference-layout/4-4-4-12.png    | Bin
 .../assets/images/reference-layout/6-6-0-12.png    | Bin
 .../reference-layout/isis-layout-show-facets.css   |   0
 .../assets/images/reference-layout/isis-layout.css |   0
 .../images/reference-layout/layout-4-0-8-0.html    |   0
 .../images/reference-layout/layout-4-4-4-12.html   |   0
 .../images/reference-layout/layout-6-6-0-12.html   |   0
 .../login-page-default.png                         | Bin
 .../login-page-suppress-password-reset.png         | Bin
 .../suppress-remember-me}/login-page-default.png   | Bin
 .../login-page-suppress-remember-me.png            | Bin
 .../suppress-sign-up}/login-page-default.png       | Bin
 .../login-page-suppress-sign-up.png                | Bin
 .../assets/images/theme-chooser/example-1.png      | Bin
 .../assets/images/theme-chooser/example-2.png      | Bin
 .../user-registration}/login-page-default.png      | Bin
 .../sign-up-after-registration.png                 | Bin
 .../sign-up-email-with-verification-link.png       | Bin
 .../sign-up-login-page-after-sign-up.png           | Bin
 .../images/user-registration/sign-up-page.png      | Bin
 .../sign-up-registration-page.png                  | Bin
 .../assets/images/where-am-i/hello_grey_bg.png     | Bin
 .../modules/ROOT/examples}/.gitkeep                |   0
 .../{ug/modules/vw => ug-vw/modules/ROOT}/nav.adoc |   0
 .../modules/ROOT}/pages/_attributes.adoc           |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../vw => ug-vw/modules/ROOT}/pages/about.adoc     |   0
 .../ROOT}/pages/configuration-properties.adoc      |   0
 .../modules/ROOT}/pages/customisation.adoc         |   0
 .../ROOT/pages/customisation}/_attributes.adoc     |   0
 .../ROOT}/pages/customisation/about-page.adoc      |   0
 .../ROOT}/pages/customisation/auto-refresh.adoc    |   0
 .../ROOT}/pages/customisation/brand-logo.adoc      |   0
 .../customisation/cheap-n-cheerful-theme.adoc      |   0
 .../pages/customisation/custom-javascript.adoc     |   0
 .../pages/customisation/request-parameters.adoc    |   0
 .../pages/customisation/top-level-index-page.adoc  |   0
 .../pages/customisation/tweaking-css-classes.adoc  |   0
 .../customisation/using-different-css-file.adoc    |   0
 .../ROOT}/pages/customisation/welcome-page.adoc    |   0
 .../vw => ug-vw/modules/ROOT}/pages/extending.adoc |   0
 .../modules/ROOT/pages/extending}/_attributes.adoc |   0
 .../pages/extending/custom-bootstrap-theme.adoc    |   0
 .../ROOT}/pages/extending/custom-pages.adoc        |   0
 .../login-via-query-args-prototyping.adoc          |   0
 .../pages/extending/replacing-page-elements.adoc   |   0
 .../vw => ug-vw/modules/ROOT}/pages/features.adoc  |   0
 .../modules/ROOT/pages/features}/_attributes.adoc  |   0
 .../ROOT}/pages/features/blob-attachments.adoc     |   0
 .../ROOT}/pages/features/bookmarked-pages.adoc     |   0
 .../ROOT}/pages/features/hints-and-copy-url.adoc   |   0
 .../modules/ROOT}/pages/features/recent-pages.adoc |   0
 .../pages/features/sidebar-vs-modal-dialogs.adoc   |   0
 .../ROOT}/pages/features/titles-in-tables.adoc     |   0
 .../ROOT}/pages/features/user-registration.adoc    |   0
 .../modules/ROOT}/pages/features/where-am-i.adoc   |   0
 .../modules/ROOT}/pages/hints-and-tips.adoc        |   4 +--
 .../ROOT}/pages/hints-and-tips/_attributes.adoc    |   0
 .../hints-and-tips/highlight-current-row.adoc      |   0
 .../i18n-label-in-wicket-viewer.adoc               |   0
 .../pages/hints-and-tips/per-user-themes.adoc      |   0
 .../ROOT}/pages/hints-and-tips/svg-support.adoc    |   0
 .../modules/ROOT}/pages/incode-platform.adoc       |   0
 .../vw => ug-vw/modules/ROOT}/pages/layout.adoc    |   0
 .../modules/ROOT/pages/layout}/_attributes.adoc    |   0
 .../ROOT}/pages/layout/annotation-based.adoc       |   0
 .../modules/ROOT}/pages/layout/file-based.adoc     |   0
 .../modules/ROOT}/pages/layout/table-columns.adoc  |   0
 .../modules/ROOT}/pages/menubars-layout.adoc       |   0
 .../ROOT/pages/menubars-layout}/_attributes.adoc   |   0
 .../pages/menubars-layout/annotation-based.adoc    |   0
 .../ROOT}/pages/menubars-layout/file-based.adoc    |   0
 antora/components/ug-vw/sync_examples.sh           |  39 +++++++++++++++++++++
 antora/components/ug/antora.yml                    |   5 ---
 antora/components/ug/modules/ROOT/pages/about.adoc |  10 +++---
 .../deployment/externalized-configuration.adoc     |   4 +--
 .../ug/modules/btb/pages/headless-access.adoc      |   4 +--
 .../ug/modules/btb/pages/hints-and-tips.adoc       |   8 ++---
 .../btb/pages/hints-and-tips/are-you-sure.adoc     |   2 +-
 .../hints-and-tips/transactions-and-errors.adoc    |   8 ++---
 antora/components/ug/modules/btb/pages/i18n.adoc   |  10 +++---
 .../components/ug/modules/btb/pages/web-xml.adoc   |   6 ++--
 antora/components/ug/modules/fun/pages/about.adoc  |   2 +-
 .../fun/pages/building-blocks/identifiers/oid.adoc |   2 +-
 .../identifiers/title-and-icon-and-css-class.adoc  |   2 +-
 .../fun/pages/building-blocks/metamodel.adoc       |   2 +-
 .../types-of-domain-objects/domain-services.adoc   |   2 +-
 .../types-of-domain-objects/view-models.adoc       |  10 +++---
 .../pages/core-concepts/apache-isis-vs/cqrs.adoc   |   2 +-
 .../apache-isis-vs/mvc-server-side.adoc            |   4 +--
 .../pages/core-concepts/deployment-options.adoc    |   2 +-
 .../fun/pages/core-concepts/principles.adoc        |   4 +--
 .../principles/for-the-long-term.adoc              |   2 +-
 antora/components/ug/modules/fun/pages/crud.adoc   |   2 +-
 .../ug/modules/fun/pages/programming-model.adoc    |   4 +--
 .../fun/pages/programming-model/collections.adoc   |   2 +-
 .../pages/programming-model/domain-entities.adoc   |   2 +-
 .../programming-model/domain-services/menu.adoc    |   2 +-
 .../domain-services/organizing-services.adoc       |   4 +--
 .../fun/pages/programming-model/properties.adoc    |   4 +--
 .../view-models/dto/dto-consumers.adoc             |   4 +--
 .../fun/pages/ui-hints/action-icons-and-css.adoc   |   2 +-
 .../ug/modules/fun/pages/ui-hints/layout.adoc      |   2 +-
 .../pages/ui-hints/object-titles-and-icons.adoc    |   8 ++---
 .../helloworld/_adoc/modules/ROOT/pages/about.adoc |   4 +--
 .../simpleapp/_adoc/modules/ROOT/pages/about.adoc  |   2 +-
 site.yml                                           |  15 ++++++++
 363 files changed, 416 insertions(+), 176 deletions(-)

diff --git a/antora/components/rg/modules/ROOT/pages/about.adoc b/antora/components/rg/modules/ROOT/pages/about.adoc
index 3200554..ebc273a 100644
--- a/antora/components/rg/modules/ROOT/pages/about.adoc
+++ b/antora/components/rg/modules/ROOT/pages/about.adoc
@@ -7,8 +7,8 @@ The user guides available are:
 
 * xref:ug:fun:about.adoc[Fundamentals]
 * xref:ug:vw:about.adoc[Wicket viewer]
-* xref:ug:vro:about.adoc[Restful Objects viewer]
-* xref:ug:odn:about.adoc[DataNucleus object store]
+* xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]
+* xref:ug-odn:ROOT:about.adoc[DataNucleus object store]
 * xref:ug:sec:about.adoc[Security] (this guide)
 * xref:ug:tst:about.adoc[Testing]
 * xref:ug:btb:about.adoc[Beyond the Basics]
diff --git a/antora/components/rg/modules/ant/pages/Action/semantics.adoc b/antora/components/rg/modules/ant/pages/Action/semantics.adoc
index af90d3a..692ae67 100644
--- a/antora/components/rg/modules/ant/pages/Action/semantics.adoc
+++ b/antora/components/rg/modules/ant/pages/Action/semantics.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 The `semantics()` attribute describes whether the invocation modifies state of the system, and if so whether it does so idempotently.  If the action invocation does _not_ modify the state of the system, in other words is safe, then it also can beused to specify whether the results of the action can be cached automatically for the remainder of the request.
 
-The attribute was originally introduced for the xref:ug:vro:about.adoc[RestfulObjects viewer] in order that action invocations could be using the appropriate `HTTP` verb (`GET`, `PUT` and `POST`).
+The attribute was originally introduced for the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] in order that action invocations could be using the appropriate `HTTP` verb (`GET`, `PUT` and `POST`).
 
 The table below summarizes the semantics:
 
diff --git a/antora/components/rg/modules/ant/pages/ActionLayout.adoc b/antora/components/rg/modules/ant/pages/ActionLayout.adoc
index 989d048..e7d014e 100644
--- a/antora/components/rg/modules/ant/pages/ActionLayout.adoc
+++ b/antora/components/rg/modules/ant/pages/ActionLayout.adoc
@@ -34,7 +34,7 @@ For a domain service action to be contributed, the domain services must have a x
 |Any string valid as a CSS class
 |an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]. +
 
-Supported by the xref:ug:vw:about.adoc[Wicket viewer] but currently ignored by the xref:ug:vro:about.adoc[RestfulObjects viewer].
+Supported by the xref:ug:vw:about.adoc[Wicket viewer] but currently ignored by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 
 |xref:rg:ant:ActionLayout/cssClassFa.adoc[`cssClassFa()`]
diff --git a/antora/components/rg/modules/ant/pages/Collection/hidden.adoc b/antora/components/rg/modules/ant/pages/Collection/hidden.adoc
index 0f54bf5..1aa5316 100644
--- a/antora/components/rg/modules/ant/pages/Collection/hidden.adoc
+++ b/antora/components/rg/modules/ant/pages/Collection/hidden.adoc
@@ -50,7 +50,7 @@ The other values of the `Where` enum have no meaning for a collection.
 ====
 The xref:ug:vw:about.adoc[Wicket viewer] suppresses collections when displaying lists of objects.
 
-The xref:ug:vro:about.adoc[RestfulObjects viewer] by default suppress collections when rendering a domain object.
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] by default suppress collections when rendering a domain object.
 ====
 
 == See also
diff --git a/antora/components/rg/modules/ant/pages/CollectionLayout/paged.adoc b/antora/components/rg/modules/ant/pages/CollectionLayout/paged.adoc
index 875eaf9..c7e3abf 100644
--- a/antora/components/rg/modules/ant/pages/CollectionLayout/paged.adoc
+++ b/antora/components/rg/modules/ant/pages/CollectionLayout/paged.adoc
@@ -9,7 +9,7 @@ The `paged()` attribute specifies the number of rows to display in a (parented)
 
 [WARNING]
 ====
-The xref:ug:vro:about.adoc[RestfulObjects viewer] currently does not support paging.
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] currently does not support paging.
 The xref:ug:vw:about.adoc[Wicket viewer] _does_ support paging, but note that the paging is performed client-side rather than server-side.
 
 We therefore recommend that large collections should instead be modelled as actions (to allow filtering to be applied to limit the number of rows).
diff --git a/antora/components/rg/modules/ant/pages/Discriminator.adoc b/antora/components/rg/modules/ant/pages/Discriminator.adoc
index aa49c03..f6ab71d 100644
--- a/antora/components/rg/modules/ant/pages/Discriminator.adoc
+++ b/antora/components/rg/modules/ant/pages/Discriminator.adoc
@@ -22,7 +22,7 @@ This can appear in several contexts, including:
  (see xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:http://platform.incode.org[Incode Platform^]'s poly module
 * in the serialization of `OidDto` in the xref:rg:cms:schema/cmd.adoc[command] and xref:rg:cms:schema/ixn.adoc[interaction] schemas
-* in the URLs of the xref:ug:vro:about.adoc[RestfulObjects viewer]
+* in the URLs of the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] (in general and in particular if xref:ug:vw:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
@@ -62,7 +62,7 @@ If only `schema` is defined, then the value is "`schema.className`".
 This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain objects.
 
 Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the object will break.
-At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug:vro:about.adoc[Restful Objects] viewer to break.
+At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer to break.
 ====
 
 
diff --git a/antora/components/rg/modules/ant/pages/DomainObject/objectType.adoc b/antora/components/rg/modules/ant/pages/DomainObject/objectType.adoc
index f2748fa..7ce3542 100644
--- a/antora/components/rg/modules/ant/pages/DomainObject/objectType.adoc
+++ b/antora/components/rg/modules/ant/pages/DomainObject/objectType.adoc
@@ -12,7 +12,7 @@ This can appear in several contexts, including:
  (see xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
 ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:http://platform.incode.org[Incode Platform^]'s poly module
 * in the serialization of `OidDto` in the xref:rg:cms:schema/cmd.adoc[command] and xref:rg:cms:schema/ixn.adoc[interaction] schemas
-* in the URLs of the xref:ug:vro:about.adoc[RestfulObjects viewer]
+* in the URLs of the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] (in general and in particular if xref:ug:vw:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
@@ -52,7 +52,7 @@ If only `schema` is defined, then the value is "`schema.className`".
 This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain objects.
 
 Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the object will break.
-At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug:vro:about.adoc[Restful Objects] viewer to break.
+At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer to break.
 ====
 
 [NOTE]
diff --git a/antora/components/rg/modules/ant/pages/DomainObjectLayout/paged.adoc b/antora/components/rg/modules/ant/pages/DomainObjectLayout/paged.adoc
index f49d0c6..0e558d8 100644
--- a/antora/components/rg/modules/ant/pages/DomainObjectLayout/paged.adoc
+++ b/antora/components/rg/modules/ant/pages/DomainObjectLayout/paged.adoc
@@ -10,7 +10,7 @@ The `paged()` attribute specifies the number of rows to display in a standalone
 
 [WARNING]
 ====
-The xref:ug:vro:about.adoc[RestfulObjects viewer] currently does not support paging.
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] currently does not support paging.
 The xref:ug:vw:about.adoc[Wicket viewer] _does_ support paging, but note that the paging is performed client-side rather than server-side.
 
 We therefore recommend that large collections should instead be modelled as actions (to allow filtering to be applied to limit the number of rows).
diff --git a/antora/components/rg/modules/ant/pages/DomainService.adoc b/antora/components/rg/modules/ant/pages/DomainService.adoc
index 64510ff..9efcb86 100644
--- a/antora/components/rg/modules/ant/pages/DomainService.adoc
+++ b/antora/components/rg/modules/ant/pages/DomainService.adoc
@@ -22,7 +22,7 @@ The table below summarizes the annotation's attributes.
 
 |xref:rg:ant:DomainService/nature.adoc[`nature()`]
 |`VIEW`, `VIEW_MENU_ONLY`, `VIEW_CONTRIBUTIONS_ONLY`, `VIEW_REST_ONLY`, `DOMAIN` (`VIEW`)
-|the nature of this service: providing actions for menus, or as contributed actions, or for the xref:ug:vro:about.adoc[RestfulObjects REST API], or neither
+|the nature of this service: providing actions for menus, or as contributed actions, or for the xref:ug-vro:ROOT:about.adoc[RestfulObjects REST API], or neither
 
 
 |xref:rg:ant:DomainService/objectType.adoc[`objectType()`]
diff --git a/antora/components/rg/modules/ant/pages/DomainService/nature.adoc b/antora/components/rg/modules/ant/pages/DomainService/nature.adoc
index 373141e..ba4d1fe 100644
--- a/antora/components/rg/modules/ant/pages/DomainService/nature.adoc
+++ b/antora/components/rg/modules/ant/pages/DomainService/nature.adoc
@@ -25,7 +25,7 @@ The related xref:rg:ant:ActionLayout/contributedAs.adoc[`@ActionLayout#contribut
 
 * `VIEW_REST_ONLY` +
 +
-The service's actions are intended only to be listed in the REST API exposed by the xref:ug:vro:about.adoc[RestfulObjects viewer].
+The service's actions are intended only to be listed in the REST API exposed by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 * `DOMAIN` +
 +
diff --git a/antora/components/rg/modules/ant/pages/DomainService/objectType.adoc b/antora/components/rg/modules/ant/pages/DomainService/objectType.adoc
index 829c4f6..4619ccc 100644
--- a/antora/components/rg/modules/ant/pages/DomainService/objectType.adoc
+++ b/antora/components/rg/modules/ant/pages/DomainService/objectType.adoc
@@ -11,7 +11,7 @@ This can appear in several contexts, including:
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
 * in the serialization of `OidDto` in the xref:rg:cms:schema/cmd.adoc[command] and xref:rg:cms:schema/ixn.adoc[interaction] schemas
-* in the URLs of the xref:ug:vro:about.adoc[RestfulObjects viewer]
+* in the URLs of the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] (specifically, for bookmarked actions)
 
 
@@ -46,7 +46,7 @@ The rules of precedence are:
 This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain services.
 
 Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the service will break.
-At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug:vro:about.adoc[Restful Objects] viewer to break.
+At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer to break.
 ====
 
 [NOTE]
diff --git a/antora/components/rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc b/antora/components/rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
index a46c8be..ce951ee 100644
--- a/antora/components/rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
+++ b/antora/components/rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
@@ -36,6 +36,6 @@ The grouping of multiple domain services actions within a single drop-down is ma
 
 [NOTE]
 ====
-The xref:ug:vro:about.adoc[RestfulObjects viewer] does not support this attribute.
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] does not support this attribute.
 ====
 
diff --git a/antora/components/rg/modules/ant/pages/PersistenceCapable.adoc b/antora/components/rg/modules/ant/pages/PersistenceCapable.adoc
index 57066e7..a4a78c1 100644
--- a/antora/components/rg/modules/ant/pages/PersistenceCapable.adoc
+++ b/antora/components/rg/modules/ant/pages/PersistenceCapable.adoc
@@ -23,7 +23,7 @@ This can appear in several contexts, including:
  (see xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:http://platform.incode.org[Incode Platform^]'s poly module
 * in the serialization of `OidDto` in the xref:rg:cms:schema/cmd.adoc[command] and xref:rg:cms:schema/ixn.adoc[interaction] schemas
-* in the URLs of the xref:ug:vro:about.adoc[RestfulObjects viewer]
+* in the URLs of the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] (in general and in particular if xref:ug:vw:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
@@ -90,7 +90,7 @@ If only `schema` is defined, then the value is "`schema.className`".
 This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain objects.
 
 Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the object will break.
-At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug:vro:about.adoc[Restful Objects] viewer to break.
+At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer to break.
 ====
 
 
diff --git a/antora/components/rg/modules/ant/pages/Property/hidden.adoc b/antora/components/rg/modules/ant/pages/Property/hidden.adoc
index edb8d12..a287cfc 100644
--- a/antora/components/rg/modules/ant/pages/Property/hidden.adoc
+++ b/antora/components/rg/modules/ant/pages/Property/hidden.adoc
@@ -63,7 +63,7 @@ tables. Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 [NOTE]
 ====
-The xref:ug:vro:about.adoc[RestfulObjects viewer] has only partial support for these `Where` enums.
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] has only partial support for these `Where` enums.
 ====
 
 
diff --git a/antora/components/rg/modules/ant/pages/PropertyLayout/hidden.adoc b/antora/components/rg/modules/ant/pages/PropertyLayout/hidden.adoc
index efa6d0e..fbf2777 100644
--- a/antora/components/rg/modules/ant/pages/PropertyLayout/hidden.adoc
+++ b/antora/components/rg/modules/ant/pages/PropertyLayout/hidden.adoc
@@ -62,7 +62,7 @@ tables. Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 [NOTE]
 ====
-The xref:ug:vro:about.adoc[RestfulObjects viewer] has only partial support for these `Where` enums.
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] has only partial support for these `Where` enums.
 ====
 
 
diff --git a/antora/components/rg/modules/ant/pages/ViewModel/objectType.adoc b/antora/components/rg/modules/ant/pages/ViewModel/objectType.adoc
index 80c0e3b..56747c2 100644
--- a/antora/components/rg/modules/ant/pages/ViewModel/objectType.adoc
+++ b/antora/components/rg/modules/ant/pages/ViewModel/objectType.adoc
@@ -12,7 +12,7 @@ This can appear in several contexts, including:
  (see xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:http://platform.incode.org[Incode Platform^]'s poly module
 * in the serialization of `OidDto` in the xref:rg:cms:schema/cmd.adoc[command] and xref:rg:cms:schema/ixn.adoc[interaction] schemas
-* in the URLs of the xref:ug:vro:about.adoc[RestfulObjects viewer]
+* in the URLs of the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] (in general and in particular if xref:ug:vw:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
@@ -52,7 +52,7 @@ If only `schema` is defined, then the value is "`schema.className`".
 This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain objects.
 
 Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the object will break.
-At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug:vro:about.adoc[Restful Objects] viewer to break.
+At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer to break.
 ====
 
 [NOTE]
diff --git a/antora/components/rg/modules/ant/pages/XmlRootElement.adoc b/antora/components/rg/modules/ant/pages/XmlRootElement.adoc
index c9c74ea..b2b49e1 100644
--- a/antora/components/rg/modules/ant/pages/XmlRootElement.adoc
+++ b/antora/components/rg/modules/ant/pages/XmlRootElement.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 The `@XmlRootElement` annotation provides an alternative way to define a
 xref:ug:fun:building-blocks/types-of-domain-objects/view-models.adoc[view model], in particular one intended to act as a DTO for use within
-xref:ug:vro:about.adoc[RestfulObjects viewer], or which contains arbitrarily complex state.
+xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer], or which contains arbitrarily complex state.
 
 A view model is a non-persisted domain object whose state is converted to/from a string memento.  In the case of a
 JAXB-annotated object this memento is its XML representation.  JAXB generally requires that the root element of the
@@ -16,7 +16,7 @@ xref:rg:ant:ViewModel.adoc[`@ViewModel`] annotation, using `@XmlRootElement` has
 significant advantages:
 
 * the view model can be used as a "canonical" DTO, for example when accessing data using the
-xref:ug:vro:about.adoc[RestfulObjects viewer] in combination with the
+xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] in combination with the
 xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`]. +
 +
 This provides a stable and
diff --git a/antora/components/rg/modules/ant/pages/aaa/jdo.adoc b/antora/components/rg/modules/ant/pages/aaa/jdo.adoc
index 52a46da..caf4e59 100644
--- a/antora/components/rg/modules/ant/pages/aaa/jdo.adoc
+++ b/antora/components/rg/modules/ant/pages/aaa/jdo.adoc
@@ -34,7 +34,7 @@ The table below lists the JDO annotations currently recognized by Apache Isis.
 
 |xref:rg:ant:Discriminator.adoc[`@javax.jdo.annotations.` +
 `Discriminator`]
-|Override for the object type, as used in `Bookmark`s, URLs for xref:ug:vro:about.adoc[RestfulObjects viewer] and elsewhere. +
+|Override for the object type, as used in `Bookmark`s, URLs for xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere. +
 
 Note that the discriminator overrides the object type that may otherwise be inferred from the xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation.
 |Domain / persistence
@@ -54,7 +54,7 @@ Note that the discriminator overrides the object type that may otherwise be infe
 `PersistenceCapable`]
 |Used to build Apache Isis' own internal identifier for objects. +
 
-If the `schema()` attribute is specified (and if xref:rg:ant:Discriminator.adoc[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:ug:vro:about.adoc[RestfulObjects viewer] and elsewhere.
+If the `schema()` attribute is specified (and if xref:rg:ant:Discriminator.adoc[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere.
 
 |Domain / persistence
 |Class
diff --git a/antora/components/rg/modules/cfg/pages/about.adoc b/antora/components/rg/modules/cfg/pages/about.adoc
index 3a0cf53..275c759 100644
--- a/antora/components/rg/modules/cfg/pages/about.adoc
+++ b/antora/components/rg/modules/cfg/pages/about.adoc
@@ -9,9 +9,9 @@ This guide describes how to configure an Apache Isis application.
 [NOTE]
 ====
 This guide covers only the core configuration properties (relating to Apache Isis' metamodel and runtime management).
-Configuration properties for the viewers can be found in the xref:ug:vw:about.adoc[Wicket Viewer] guide and the xref:ug:vro:about.adoc[RestfulObjects viewer] guide.
+Configuration properties for the viewers can be found in the xref:ug:vw:about.adoc[Wicket Viewer] guide and the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] guide.
 Likewise details of configuring security (Apache Shiro) can be
-found in the xref:ug:sec:about.adoc#[Security] guide, and details for configuring the DataNucleus Object Store can be found in the xref:ug:odn:about.adoc#[DataNucleus] guide.
+found in the xref:ug:sec:about.adoc#[Security] guide, and details for configuring the DataNucleus Object Store can be found in the xref:ug-odn:ROOT:about.adoc#[DataNucleus] guide.
 ====
 
 [TIP]
diff --git a/antora/components/rg/modules/cfg/pages/configuration-files.adoc b/antora/components/rg/modules/cfg/pages/configuration-files.adoc
index 5577cb8..8155ec6 100644
--- a/antora/components/rg/modules/cfg/pages/configuration-files.adoc
+++ b/antora/components/rg/modules/cfg/pages/configuration-files.adoc
@@ -11,7 +11,7 @@ In addition, the following other properties are searched for and if present also
 
 * `viewer_wicket.properties` - if the xref:ug:vw:about.adoc[Wicket viewer] is in use
 
-* `viewer_restfulobjects.properties` - if the xref:ug:vro:about.adoc[RestfulObjects viewer] is in use
+* `viewer_restfulobjects.properties` - if the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] is in use
 
 * `viewer.properties` - for any other viewer configuration (but there are none currently)
 
diff --git a/antora/components/rg/modules/cfg/pages/configuring-core.adoc b/antora/components/rg/modules/cfg/pages/configuring-core.adoc
index 5bc89bc..95db9f0 100644
--- a/antora/components/rg/modules/cfg/pages/configuring-core.adoc
+++ b/antora/components/rg/modules/cfg/pages/configuring-core.adoc
@@ -6,7 +6,7 @@ This section lists the core/runtime configuration properties recognized by Apach
 
 [NOTE]
 ====
-Configuration properties for the JDO/DataNucleus objectstore can be found in the xref:ug:odn:configuring.adoc[Configuring DataNucleus] section later in this chapter, while configuration properties for the viewers can be found in the their respective chapters, xref:ug:vw:configuration-properties.adoc[here for Wicket viewer], and xref:ug:vro:configuration-properties.adoc[here for the Restful Objects viewer].
+Configuration properties for the JDO/DataNucleus objectstore can be found in the xref:ug-odn:ROOT:configuring.adoc[Configuring DataNucleus] section later in this chapter, while configuration properties for the viewers can be found in the their respective chapters, xref:ug:vw:configuration-properties.adoc[here for Wicket viewer], and xref:ug-vro:ROOT:configuration-properties.adoc[here for the Restful Objects viewer].
 ====
 
 
@@ -437,7 +437,7 @@ Note that the application must be bootstrapped using an `AppManifest2`.
 (`false`)
 | Whether to check that the class has an object type explicitly specified somehow.
 
-The object type is used by the framework as an alias for the object's concrete class; it is one part of the object's OID and can be seen in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] and xref:ug:vro:about.adoc[Restful Objects viewer], and is encoded in the ``Bookmark``s returned by the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+The object type is used by the framework as an alias for the object's concrete class; it is one part of the object's OID and can be seen in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] and xref:ug-vro:ROOT:about.adoc[Restful Objects viewer], and is encoded in the ``Bookmark``s returned by the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 In this was it may also be persisted, for example in polymorphic associations or command or auditing tables.
 
 If the object type is not specified explicitly, then this can cause data migration issues if the class is subsequently refactored (eg renamed, or moved to a different package).
@@ -705,7 +705,7 @@ By default this configuration property is enabled.  To disable the visibility fi
 isis.reflector.facet.filterVisibility=false
 ----
 
-Filtering is supported by the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug:vro:about.adoc[Restful Objects viewer], and also by the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service (provided the wrapper's execution mode is __not__ "skip rules").
+Filtering is supported by the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer], and also by the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service (provided the wrapper's execution mode is __not__ "skip rules").
 
 [NOTE]
 ====
diff --git a/antora/components/rg/modules/cfg/pages/deployment-types.adoc b/antora/components/rg/modules/cfg/pages/deployment-types.adoc
index 22aacf6..ae044cb 100644
--- a/antora/components/rg/modules/cfg/pages/deployment-types.adoc
+++ b/antora/components/rg/modules/cfg/pages/deployment-types.adoc
@@ -64,7 +64,7 @@ Wicket's mechanism for specifying the "configuration" is to use a context parame
 
 == Restful Objects viewer only
 
-Most Apache Isis applications will consist of at least the xref:ug:vw:about.adoc[Wicket viewer] and optionally the xref:ug:vro:about.adoc[RestfulObjects viewer].  When both viewers are deployed in the same app, then the bootstrapping is performed by Wicket, and so the deployment type is configured as described in the previous section.
+Most Apache Isis applications will consist of at least the xref:ug:vw:about.adoc[Wicket viewer] and optionally the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].  When both viewers are deployed in the same app, then the bootstrapping is performed by Wicket, and so the deployment type is configured as described in the previous section.
 
 In some cases though you may be using Apache Isis to provide a REST API only, that is, you won't have deployed the Wicket viewer.  In these cases your app will be bootstrapped using  Apache Isis' xref:ug:btb:web-xml/servlet-context-listeners.adoc[ `IsisWebAppBootstrapper`].
 
diff --git a/antora/components/rg/modules/cms/pages/classes/layout.adoc b/antora/components/rg/modules/cms/pages/classes/layout.adoc
index be650e9..f385a7f 100644
--- a/antora/components/rg/modules/cms/pages/classes/layout.adoc
+++ b/antora/components/rg/modules/cms/pages/classes/layout.adoc
@@ -19,7 +19,7 @@ The component classes, meanwhile, are broadly equivalent to the "layout" annotat
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (the `component` classes in the `http://isis.apache.org/applib/layout/component` XSD namespace, the bootstrap 3 grid classes in the `http://isis.apache.org/applib/layout/grid/bootstrap3` XSD namespace).
 This ability to serialize to/from XML is used by the xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
-It also allows the grid to be exposed through the REST API provided by the xref:ug:vro:about.adoc[Restful Objects viewer], as either XML or JSON.
+It also allows the grid to be exposed through the REST API provided by the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer], as either XML or JSON.
 
 The various components (properties, collections, actions and domain object) also allow a link to be associated with each.
 These links are populated by the framework automatically when exposing the object layout grid through the REST API, pointing back to the standard Restful Objects resources.
diff --git a/antora/components/rg/modules/cms/pages/classes/menubars.adoc b/antora/components/rg/modules/cms/pages/classes/menubars.adoc
index 305c345..4f719d0 100644
--- a/antora/components/rg/modules/cms/pages/classes/menubars.adoc
+++ b/antora/components/rg/modules/cms/pages/classes/menubars.adoc
@@ -14,7 +14,7 @@ Service actions are grouped into menu sections.
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (in the `http://isis.apache.org/applib/layout/menubars/bootstrap3` XSD namespace).
 This ability to serialize to/from XML is used by the xref:rg:svc:presentation-layer-spi/MenuBarsLoaderService.adoc[`MenuBarsLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
-It also allows the menu bars to be exposed through the REST API provided by the xref:ug:vro:about.adoc[Restful Objects viewer], as either XML or JSON.
+It also allows the menu bars to be exposed through the REST API provided by the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer], as either XML or JSON.
 
 The service action component also allows a link to be associated with it.
 Each such link is populated by the framework automatically when exposing the menu bars layout through the REST API, pointing back to the standard Restful Objects resources.
diff --git a/antora/components/rg/modules/cms/pages/classes/mixins/Object.adoc b/antora/components/rg/modules/cms/pages/classes/mixins/Object.adoc
index 9640712..a52a30b 100644
--- a/antora/components/rg/modules/cms/pages/classes/mixins/Object.adoc
+++ b/antora/components/rg/modules/cms/pages/classes/mixins/Object.adoc
@@ -108,7 +108,7 @@ This mixin calls xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] to
 
 == `openRestApi()`
 
-The `Object_openRestApi` mixin provides an action to navigate to the URL of the xref:ug:vro:about.adoc[Restful Objects resource] corresponding to the domain object.
+The `Object_openRestApi` mixin provides an action to navigate to the URL of the xref:ug-vro:ROOT:about.adoc[Restful Objects resource] corresponding to the domain object.
 It has the following signature:
 
 [source,java]
diff --git a/antora/components/rg/modules/cms/pages/methods/reserved/getId.adoc b/antora/components/rg/modules/cms/pages/methods/reserved/getId.adoc
index 4aa50b7..5c2b1af 100644
--- a/antora/components/rg/modules/cms/pages/methods/reserved/getId.adoc
+++ b/antora/components/rg/modules/cms/pages/methods/reserved/getId.adoc
@@ -11,7 +11,7 @@ This can appear in several contexts, including:
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
 * in the serialization of `OidDto` in the xref:rg:cms:schema/cmd.adoc[command] and xref:rg:cms:schema/ixn.adoc[interaction] schemas
-* in the URLs of the xref:ug:vro:about.adoc[RestfulObjects viewer]
+* in the URLs of the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:ug:vw:about.adoc[Wicket viewer] (specifically, for bookmarked actions)
 
 
@@ -45,7 +45,7 @@ The rules of precedence are:
 This might be obvious, but to make explicit: we recommend that you always specify an object type for your domain services.
 
 Otherwise, if you refactor your code (change class name or move package), then any externally held references to the OID of the service will break.
-At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug:vro:about.adoc[Restful Objects] viewer to break.
+At best this will require a data migration in the database; at worst it could cause external clients accessing data through the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer to break.
 ====
 
 [NOTE]
diff --git a/antora/components/rg/modules/fis/pages/presentation-layer/ContentNegotiationService.adoc b/antora/components/rg/modules/fis/pages/presentation-layer/ContentNegotiationService.adoc
index 19912d8..642be97 100644
--- a/antora/components/rg/modules/fis/pages/presentation-layer/ContentNegotiationService.adoc
+++ b/antora/components/rg/modules/fis/pages/presentation-layer/ContentNegotiationService.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The `ContentNegotiationService` is a plug-in point for the xref:ug:vro:about.adoc[RestfulObjects viewer] so that it can generate representations according to HTTP `Accept` header of the request.  This idea is discussed in section 34.1 of the link:http://restfulobjects.org[Restful Objects spec] v1.0.
+The `ContentNegotiationService` is a plug-in point for the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] so that it can generate representations according to HTTP `Accept` header of the request.  This idea is discussed in section 34.1 of the link:http://restfulobjects.org[Restful Objects spec] v1.0.
 
 The principal motivation is to allow more flexible representations to be generated for REST clients that (perhaps through their use of a certain Javascript library, say) expect, or at least works best with, a certain style of representation.
 
@@ -16,7 +16,7 @@ Instead you need to create some sort of stable facade over your domain entities,
 +
 If the underlying entities change, then care must be taken to ensure that structure of the view model nevertheless is unchanged.
 
-* a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then xref:ug:odn:jdo-mappings/mapping-to-a-view.adoc[mapping this] to a (read-only) entity.  Again this is surfaced by the RO viewer.  +
+* a second option is to solve the problem at the persistence layer, but defining a (SQL) view in the database and then xref:ug-odn:ROOT:jdo-mappings/mapping-to-a-view.adoc[mapping this] to a (read-only) entity.  Again this is surfaced by the RO viewer.  +
 +
 If the underlying tables change (as the result of a change in their corresponding domain entities) then once more the view must be refactored so that it still presents the same structure.
 
@@ -131,7 +131,7 @@ This can be useful for generic viewers.
 
 * `ContentNegotiationServiceOrgApacheIsisV1` +
 +
-which returns xref:ug:vro:simplified-representations.adoc[simplified representations]
+which returns xref:ug-vro:ROOT:simplified-representations.adoc[simplified representations]
 
 
 
diff --git a/antora/components/rg/modules/fis/pages/presentation-layer/RepresentationService.adoc b/antora/components/rg/modules/fis/pages/presentation-layer/RepresentationService.adoc
index fbb4841..1a3cde3 100644
--- a/antora/components/rg/modules/fis/pages/presentation-layer/RepresentationService.adoc
+++ b/antora/components/rg/modules/fis/pages/presentation-layer/RepresentationService.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The `RepresentationService` is the main plug-in point for the xref:ug:vro:about.adoc[RestfulObjects viewer] to generate representations.
+The `RepresentationService` is the main plug-in point for the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] to generate representations.
 
 The default implementations ultimately generate representations according to the link:http://restfulobjects.org[Restful Objects spec] v1.0.
 However, it also delegates to the xref:rg:fis:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] which provides a mechanism for altering representations according to the HTTP `Accept` header.
diff --git a/antora/components/rg/modules/mvn/pages/intro.adoc b/antora/components/rg/modules/mvn/pages/intro.adoc
index 967043d..cb6d189 100644
--- a/antora/components/rg/modules/mvn/pages/intro.adoc
+++ b/antora/components/rg/modules/mvn/pages/intro.adoc
@@ -12,7 +12,7 @@ This runs the `MetaModelValidator` that is also run when the application is star
 
 * `swagger` +
 +
-Uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to generate link:http://swagger.io[Swagger] spec files that describe the public and/or private RESTful APIs exposed by the xref:ug:vro:about.adoc[RestfulObjects viewer].
+Uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to generate link:http://swagger.io[Swagger] spec files that describe the public and/or private RESTful APIs exposed by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 * `xsd` +
 +
diff --git a/antora/components/rg/modules/mvn/pages/swagger.adoc b/antora/components/rg/modules/mvn/pages/swagger.adoc
index cbf8346..27c1909 100644
--- a/antora/components/rg/modules/mvn/pages/swagger.adoc
+++ b/antora/components/rg/modules/mvn/pages/swagger.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 The `swagger` goal of the `isis-maven-plugin` uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to
-generate link:http://swagger.io[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ug:vro:about.adoc[RestfulObjects viewer].
+generate link:http://swagger.io[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 These spec files, once generated, can then be used in the build pipeline to generate client-side stubs, typically using Swagger's own link:https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin[swagger-codegen-maven] plugin.
 
diff --git a/antora/components/rg/modules/svc/pages/metadata-api.adoc b/antora/components/rg/modules/svc/pages/metadata-api.adoc
index 003e3fe..05e23c6 100644
--- a/antora/components/rg/modules/svc/pages/metadata-api.adoc
+++ b/antora/components/rg/modules/svc/pages/metadata-api.adoc
@@ -69,7 +69,7 @@ within the metamodel.
 |xref:rg:svc:metadata-api/SwaggerService.adoc[`o.a.i.applib.` +
 `services.swagger` +
 `SwaggerService`]
-|Generates link:http://swagger.io/[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ug:vro:about.adoc[RestfulObjects viewer].  These can then be used with the link:http://swagger.io/swagger-ui/[Swagger UI] page to explore the REST API, or used to generate client-side stubs using the link:http://swagger.io/swagger-codegen/[Swagger codegen] tool, eg for use in a custom REST client app.
+|Generates link:http://swagger.io/[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].  These can then be used with the link:http://swagger.io/swagger-ui/[Swagger UI] page to explore the REST API, or used to generate client-side stubs using the link:http://swagger.io/swagger-codegen/[Swagger codegen] tool, eg for use in a custom REST client app.
 |`SwaggerServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-metamodel``
diff --git a/antora/components/rg/modules/svc/pages/metadata-api/SwaggerService.adoc b/antora/components/rg/modules/svc/pages/metadata-api/SwaggerService.adoc
index 0d2dab1..8d3c589 100644
--- a/antora/components/rg/modules/svc/pages/metadata-api/SwaggerService.adoc
+++ b/antora/components/rg/modules/svc/pages/metadata-api/SwaggerService.adoc
@@ -4,13 +4,13 @@ include::_attributes.adoc[]
 
 
 
-The `SwaggerService` generates link:http://swagger.io/[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ug:vro:about.adoc[RestfulObjects viewer].
+The `SwaggerService` generates link:http://swagger.io/[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 These spec files can then be used with the link:http://swagger.io/swagger-ui/[Swagger UI] page to explore the REST API, or used to generate client-side stubs using the link:http://swagger.io/swagger-codegen/[Swagger codegen] tool, eg for use in a custom REST client app.
 
 [NOTE]
 ====
-Not all of the REST API exposed by the xref:ug:vro:about.adoc[Restful Objects viewer] is included in the Swagger schema definition files; the emphasis is those REST resources that are used to develop custom apps: domain objects, domain object collections and action invocations.  When combined with Apache Isis' own xref:ug:vro:simplified-representations.adoc[simplified representations], these are pretty much all that is needed  for this use case.
+Not all of the REST API exposed by the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer] is included in the Swagger schema definition files; the emphasis is those REST resources that are used to develop custom apps: domain objects, domain object collections and action invocations.  When combined with Apache Isis' own xref:ug-vro:ROOT:simplified-representations.adoc[simplified representations], these are pretty much all that is needed  for this use case.
 ====
 
 
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-api.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-api.adoc
index 554eaf5..c48a7bf 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-api.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-api.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 Domain service APIs for the presentation layer allow the domain objects to control aspects of the user interface.
-The implementations are specific to the particular viewer (xref:ug:vw:about.adoc[Wicket viewer] or xref:ug:vro:about.adoc[Restful Objects viewer]) so the domain code must guard against them being unavailable in some cases.
+The implementations are specific to the particular viewer (xref:ug:vw:about.adoc[Wicket viewer] or xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]) so the domain code must guard against them being unavailable in some cases.
 
 
 The table below summarizes the presentation layer APIs defined by Apache Isis.
@@ -27,7 +27,7 @@ It also lists their corresponding implementation.
 |`AcceptHeaderServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-viewer-restfulobjects-rendering``
-|Implementation only usable within the xref:ug:vro:about.adoc[Restful Objects viewer].
+|Implementation only usable within the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer].
 
 
 |xref:rg:svc:presentation-layer-api/BookmarkUiService.adoc[`o.a.i.applib.` +
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
index b0b203b..a20b729 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
@@ -32,7 +32,7 @@ The default implementation is provided by `o.a.i.v.ro.rendering.service.accepthe
 
 [NOTE]
 ====
-Note that the service will only return a list when the request is initiated through the xref:ug:vro:about.adoc[Restful Objects viewer].  Otherwise the service will return `null`.
+Note that the service will only return a list when the request is initiated through the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer].  Otherwise the service will return `null`.
 ====
 
 To use an alternative implementation, use xref:rg:ant:DomainServiceLayout/menuOrder.adoc[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
index d0faa01..563b905 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
@@ -24,7 +24,7 @@ public interface DeepLinkService {
 
 The xref:ug:vw:about.adoc[Wicket viewer] provides an implementation of this service `o.a.i.viewer.wicket.viewer.services.DeepLinkServiceWicket`.
 
-For the xref:ug:vro:about.adoc[RestfulObjects viewer], a URL can be constructed according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+For the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer], a URL can be constructed according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
 
 
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
index a77bce6..4c072de 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The `ContentMappingService` supports the (default implementation of the) xref:rg:fis:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] enabling the xref:ug:vro:about.adoc[RestfulObjects viewer] to represent domain objects in some other format as specified by the HTTP `Accept` header.
+The `ContentMappingService` supports the (default implementation of the) xref:rg:fis:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] enabling the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] to represent domain objects in some other format as specified by the HTTP `Accept` header.
 
 See xref:rg:fis:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] for further discussion.
 
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc
index a2f71e6..a5a3abd 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc
@@ -75,7 +75,7 @@ In essence, if an exception is recognized then it is also categorized.
 This lets the viewer act accordingly.
 For example, if an exception is raised from the loading of an individual object, then this is passed by the registered ``ExceptionRecognizer``s.
 If any of these recognize the exception as representing a not-found exception, then an Apache Isis `ObjectNotFoundException` is raised.
-Both the viewers interprets this correctly (the xref:ug:vw:about.adoc[Wicket viewer] as a suitable error page, the xref:ug:vro:about.adoc[Restful Objects viewer] as a 404 status return code).
+Both the viewers interprets this correctly (the xref:ug:vw:about.adoc[Wicket viewer] as a suitable error page, the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer] as a 404 status return code).
 
 
 If the implementation recognizes the exception then it returns a user-friendly message to be rendered (by the viewer) back to the user; otherwise it returns `null`.
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
index 31a8ad2..80ef3db 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
@@ -39,7 +39,7 @@ Isis' xref:ug:vw:about.adoc[Wicket viewer] provides an implementation of this se
 
 [NOTE]
 ====
-Currently there is no equivalent implementation for the xref:ug:vro:about.adoc[RestfulObjects viewer].
+Currently there is no equivalent implementation for the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 ====
 
 
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
index 3a00e4b..06f1435 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 The `MenuBarsService` is responsible for returning a xref:rg:cms:classes/menubars.adoc[`MenuBars`] instance, a data structure representing the arrangement of domain service actions across multiple menu bars, menus and sections.
-This is used by the Wicket viewer to build up the menu, and is also served as the "menuBars" resource by the xref:ug:vro:about.adoc[Restful Objects] viewer.
+This is used by the Wicket viewer to build up the menu, and is also served as the "menuBars" resource by the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer.
 
 
 
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
index be7fcc7..e4e460c 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
@@ -18,7 +18,7 @@ of the implementation to figure out what the "owning" object might be.
 +
 For example, return the home page (eg as defined by the xref:rg:ant:HomePage.adoc[`@HomePage`] annotation).
 
-Currently the routing service is used only by the xref:ug:vw:about.adoc[Wicket viewer]; it is ignored by the xref:ug:vro:about.adoc[Restful Objects] viewer.
+Currently the routing service is used only by the xref:ug:vw:about.adoc[Wicket viewer]; it is ignored by the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer.
 
 
 [NOTE]
diff --git a/antora/components/rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc b/antora/components/rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
index 95c47f6..f71f9ca 100644
--- a/antora/components/rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
+++ b/antora/components/rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
@@ -35,7 +35,7 @@ Isis' xref:ug:vw:about.adoc[Wicket viewer] provides an implementation of this se
 
 [NOTE]
 ====
-Currently there is no equivalent implementation for the xref:ug:vro:about.adoc[RestfulObjects viewer].
+Currently there is no equivalent implementation for the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 ====
 
 
diff --git a/antora/components/support/modules/ROOT/pages/about.adoc b/antora/components/support/modules/ROOT/pages/about.adoc
index 0a06a3e..086d31f 100644
--- a/antora/components/support/modules/ROOT/pages/about.adoc
+++ b/antora/components/support/modules/ROOT/pages/about.adoc
@@ -7,8 +7,8 @@ The user guides available are:
 
 * xref:ug:fun:about.adoc[Fundamentals]
 * xref:ug:vw:about.adoc[Wicket viewer]
-* xref:ug:vro:about.adoc[Restful Objects viewer]
-* xref:ug:odn:about.adoc[DataNucleus object store]
+* xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]
+* xref:ug-odn:ROOT:about.adoc[DataNucleus object store]
 * xref:ug:sec:about.adoc[Security]
 * xref:ug:tst:about.adoc[Testing]
 * xref:ug:btb:about.adoc[Beyond the Basics]
diff --git a/antora/components/support/modules/dg/pages/asciidoc-templates.adoc b/antora/components/support/modules/dg/pages/asciidoc-templates.adoc
index 7759f4c..f368c3a 100644
--- a/antora/components/support/modules/dg/pages/asciidoc-templates.adoc
+++ b/antora/components/support/modules/dg/pages/asciidoc-templates.adoc
@@ -322,7 +322,7 @@ include::_attributes.adoc[]
 //
 //
 //|`adugvro`
-//|`\xref:ug:vro:about.adoc#xxx[ttt]`
+//|`\xref:ug-vro:ROOT:about.adoc#xxx[ttt]`
 //
 //A hyperlink to a bookmark within the Restful Objects viewer guide, where:
 //
@@ -331,9 +331,9 @@ include::_attributes.adoc[]
 //
 //for example:
 //
-//`\xref:ug:vro:ro-spec.adoc[RestfulObjects specification]`
+//`\xref:ug-vro:ROOT:ro-spec.adoc[RestfulObjects specification]`
 //
-//|xref:ug:vro:ro-spec.adoc[RestfulObjects specification]
+//|xref:ug-vro:ROOT:ro-spec.adoc[RestfulObjects specification]
 //
 //
 //
diff --git a/antora/components/support/modules/dg/pages/hints-and-tips.adoc b/antora/components/support/modules/dg/pages/hints-and-tips.adoc
index 1373c59..7a84884 100644
--- a/antora/components/support/modules/dg/pages/hints-and-tips.adoc
+++ b/antora/components/support/modules/dg/pages/hints-and-tips.adoc
@@ -12,9 +12,9 @@ See also hints-n-tips chapters in the:
 
 * the xref:ug:vw:hints-and-tips.adoc[Wicket viewer] guide
 
-* the xref:ug:vro:hints-and-tips.adoc[Restful Objects viewer] guide
+* the xref:ug-vro:ROOT:hints-and-tips.adoc[Restful Objects viewer] guide
 
-* the xref:ug:odn:hints-and-tips.adoc[Datanucleus ObjectStore] guide
+* the xref:ug-odn:ROOT:hints-and-tips.adoc[Datanucleus ObjectStore] guide
 
 * the xref:ug:sec:hints-and-tips.adoc[Security] guide
 
diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index 62757a7..2f4c829 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -21,8 +21,8 @@
 
 ** *xref:ug:fun:about.adoc[Fundamentals]*
 **  xref:ug:vw:about.adoc[Wicket Viewer]
-**  xref:ug:vro:about.adoc[Restful Objects Viewer]
-**  xref:ug:odn:about.adoc[DataNucleus Object Store]
+**  xref:ug-vro:ROOT:about.adoc[Restful Objects Viewer]
+**  xref:ug-odn:ROOT:about.adoc[DataNucleus Object Store]
 **  xref:ug:sec:about.adoc[Security]
 ** *xref:ug:tst:about.adoc[Testing]*
 **  xref:ug:btb:about.adoc[Beyond the Basics]
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 385993d..66861a0 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -40,8 +40,8 @@ include::_attributes.adoc[]
 
 * *xref:ug:fun:about.adoc[Fundamentals]*
 *  xref:ug:vw:about.adoc[Wicket Viewer]
-*  xref:ug:vro:about.adoc[Restful Objects Viewer]
-*  xref:ug:odn:about.adoc[DataNucleus Object Store]
+*  xref:ug-vro:ROOT:about.adoc[Restful Objects Viewer]
+*  xref:ug-odn:ROOT:about.adoc[DataNucleus Object Store]
 *  xref:ug:sec:about.adoc[Security]
 * *xref:ug:tst:about.adoc[Testing]*
 *  xref:ug:btb:about.adoc[Beyond the Basics]
diff --git a/antora/components/toc/modules/ROOT/pages/going-deeper/books.adoc b/antora/components/toc/modules/ROOT/pages/going-deeper/books.adoc
index 4be6484..43ae909 100644
--- a/antora/components/toc/modules/ROOT/pages/going-deeper/books.adoc
+++ b/antora/components/toc/modules/ROOT/pages/going-deeper/books.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Although it has evolved since, the _Apache Isis_ framework started out as an open source implementation of the naked objects pattern.
-Indeed, the generic user interfaces provided by Apache Isis xref:ug:vw:about.adoc[Wicket] viewer and the xref:ug:vro:about.adoc[Restful Objects] viewer are both "just" naked objects implementations; the first serves up a default generic representation of domain objects for human interaction, the latter serving up representation intended for machine consumption rather than human beings.
+Indeed, the generic user interfaces provided by Apache Isis xref:ug:vw:about.adoc[Wicket] viewer and the xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer are both "just" naked objects implementations; the first serves up a default generic representation of domain objects for human interaction, the latter serving up representation intended for machine consumption rather than human beings.
 
 If the idea of naked objects is of interest, then there are a couple of books on the topic that you might want to read.
 
@@ -61,4 +61,4 @@ Dan Haywood
 The http://restfulobjects.org[Restful Objects specification] defines a set of RESTful resources, and corresponding JSON representations, for accessing and manipulating a domain object model.
 
 This is a comprehensive specification, running to over 200 pages in length.
-It is implemented by Apache Isis' xref:ug:vro:about.adoc[Restful Objects] viewer, and is also implemented by another (non-Apache) open source project, http://nakedobjects.codeplex.com[Naked Objects MVC].
+It is implemented by Apache Isis' xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer, and is also implemented by another (non-Apache) open source project, http://nakedobjects.codeplex.com[Naked Objects MVC].
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc
index 37ac535..af224e2 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/common-use-cases.adoc
@@ -40,7 +40,7 @@ REST (Representation State Transfer) is an architectural style for building high
 Many commercial web APIs (twitter, facebook, Amazon) are implemented as either pure REST APIs or some approximation therein.
 
 The http://restfulobjects.org[Restful Objects specification] defines a means by a domain object model can be exposed as RESTful resources using JSON representations over HTTP.
-Apache Isis' xref:ug:vro:about.adoc[RestfulObjects viewer] is an implementation of that spec, making any Apache Isis domain object automatically available via REST.
+Apache Isis' xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] is an implementation of that spec, making any Apache Isis domain object automatically available via REST.
 
 There are two main use cases for deploying Apache Isis as a RESTful web service are:
 
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index 430acf9..2029c38 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -108,7 +108,7 @@ Writing end-to-end xref:ug:tst:integ-test-support.adoc[integration tests] for a
 include::partial$_screencasts-playlists.adoc[]
 
 |link:https://www.youtube.com/watch?v=lkZxRSS0Zwg[009^] +
-Using the Swagger UI to access the xref:ug:vro:about.adoc[REST API] automatically exposed for domain services, entities, and/or view models
+Using the Swagger UI to access the xref:ug-vro:ROOT:about.adoc[REST API] automatically exposed for domain services, entities, and/or view models
 ||||||||||x|
 
 
diff --git a/antora/components/ug-odn/antora.yml b/antora/components/ug-odn/antora.yml
new file mode 100644
index 0000000..be6fd32
--- /dev/null
+++ b/antora/components/ug-odn/antora.yml
@@ -0,0 +1,6 @@
+name: ug-odn
+title: "User Guides - DataNucleus ObjectStore"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ug-odn/examples.csv b/antora/components/ug-odn/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ug-odn/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/ug/modules/vw/_attributes.adoc b/antora/components/ug-odn/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/_attributes.adoc
rename to antora/components/ug-odn/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/examples/.gitkeep b/antora/components/ug-odn/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/vw/examples/.gitkeep
rename to antora/components/ug-odn/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ug/modules/odn/assets/images/hints-n-tips/diagnosing-n-plus-1.png b/antora/components/ug-odn/modules/ROOT/assets/images/hints-n-tips/diagnosing-n-plus-1.png
similarity index 100%
rename from antora/components/ug/modules/odn/assets/images/hints-n-tips/diagnosing-n-plus-1.png
rename to antora/components/ug-odn/modules/ROOT/assets/images/hints-n-tips/diagnosing-n-plus-1.png
diff --git a/antora/components/ug/modules/odn/assets/images/runtime/configuring-datanucleus/disabling-persistence-by-reachability/party-agreementrole-agreement.png b/antora/components/ug-odn/modules/ROOT/assets/images/runtime/configuring-datanucleus/disabling-persistence-by-reachability/party-agreementrole-agreement.png
similarity index 100%
rename from antora/components/ug/modules/odn/assets/images/runtime/configuring-datanucleus/disabling-persistence-by-reachability/party-agreementrole-agreement.png
rename to antora/components/ug-odn/modules/ROOT/assets/images/runtime/configuring-datanucleus/disabling-persistence-by-reachability/party-agreementrole-agreement.png
diff --git a/antora/components/ug/modules/vw/assets/attachments/.gitkeep b/antora/components/ug-odn/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/vw/assets/attachments/.gitkeep
rename to antora/components/ug-odn/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ug/modules/odn/nav.adoc b/antora/components/ug-odn/modules/ROOT/nav.adoc
similarity index 96%
rename from antora/components/ug/modules/odn/nav.adoc
rename to antora/components/ug-odn/modules/ROOT/nav.adoc
index 6e90eaf..1df76be 100644
--- a/antora/components/ug/modules/odn/nav.adoc
+++ b/antora/components/ug-odn/modules/ROOT/nav.adoc
@@ -1,4 +1,4 @@
-* xref:about.adoc[DataNucleus Object Store]
+* xref:about.adoc[About]
 
 
 ** xref:configuring.adoc[Configuring]
diff --git a/antora/components/ug/modules/vw/pages/_attributes.adoc b/antora/components/ug-odn/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/_attributes.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/menubars-layout/_attributes.adoc b/antora/components/ug-odn/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/menubars-layout/_attributes.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ug/modules/odn/pages/about.adoc b/antora/components/ug-odn/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/about.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ug/modules/odn/pages/configuring.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/configuring.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring.adoc
diff --git a/antora/components/ug/modules/vw/pages/layout/_attributes.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/layout/_attributes.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring/_attributes.adoc
diff --git a/antora/components/ug/modules/odn/pages/configuring/bulk-load.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring/bulk-load.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/configuring/bulk-load.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring/bulk-load.adoc
diff --git a/antora/components/ug/modules/odn/pages/configuring/disabling-persistence-by-reachability.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/configuring/disabling-persistence-by-reachability.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
diff --git a/antora/components/ug/modules/odn/pages/configuring/persistence-xml.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring/persistence-xml.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/configuring/persistence-xml.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring/persistence-xml.adoc
diff --git a/antora/components/ug/modules/odn/pages/configuring/properties.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring/properties.adoc
similarity index 94%
rename from antora/components/ug/modules/odn/pages/configuring/properties.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring/properties.adoc
index af001b4..e8639df 100644
--- a/antora/components/ug/modules/odn/pages/configuring/properties.adoc
+++ b/antora/components/ug-odn/modules/ROOT/pages/configuring/properties.adoc
@@ -23,7 +23,7 @@ These configuration properties are typically stored in `WEB-INF/persistor_datanu
 (`false`)
 |Enables bulk load of standalone collections.
 
-Further xref:ug:odn:configuring/bulk-load.adoc[discussion below].
+Further xref:ug-odn:ROOT:configuring/bulk-load.adoc[discussion below].
 
 |`isis.persistor.` +
 `datanucleus.` +
@@ -91,7 +91,7 @@ Only intended for "emergency use" as a workaround while pending fix/patch to Apa
 `datanucleus.persistenceByReachabilityAtCommit`
 |`false`
 |We recommend this setting is disabled.  +
-Further xref:ug:odn:configuring/disabling-persistence-by-reachability.adoc[discussion below].
+Further xref:ug-odn:ROOT:configuring/disabling-persistence-by-reachability.adoc[discussion below].
 
 |===
 
diff --git a/antora/components/ug/modules/odn/pages/configuring/using-jndi-data-source.adoc b/antora/components/ug-odn/modules/ROOT/pages/configuring/using-jndi-data-source.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/configuring/using-jndi-data-source.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/configuring/using-jndi-data-source.adoc
diff --git a/antora/components/ug/modules/odn/pages/db-schemas.adoc b/antora/components/ug-odn/modules/ROOT/pages/db-schemas.adoc
similarity index 97%
rename from antora/components/ug/modules/odn/pages/db-schemas.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/db-schemas.adoc
index 57a8aea..2c78638 100644
--- a/antora/components/ug/modules/odn/pages/db-schemas.adoc
+++ b/antora/components/ug-odn/modules/ROOT/pages/db-schemas.adoc
@@ -50,7 +50,7 @@ CREATE TABLE isisaudit."AuditEntry" (
 [TIP]
 ====
 If for some reason you don't want to use schemas (though we strongly recommend that you do), then note that you can override the `@PersistenceCapable` annotation by providing XML metadata (the `mappings.jdo` file).
-See the section on xref:ug:odn:configuring.adoc[configuring DataNucleus Overriding Annotations] for more details.
+See the section on xref:ug-odn:ROOT:configuring.adoc[configuring DataNucleus Overriding Annotations] for more details.
 ====
 
 
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips.adoc
similarity index 88%
rename from antora/components/ug/modules/odn/pages/hints-and-tips.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips.adoc
index 9eee3af..e36c924 100644
--- a/antora/components/ug/modules/odn/pages/hints-and-tips.adoc
+++ b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips.adoc
@@ -11,9 +11,9 @@ See also hints-n-tips chapters in the:
 
 * the xref:ug:vw:hints-and-tips.adoc[Wicket viewer] guide
 
-* the xref:ug:vro:hints-and-tips.adoc[Restful Objects viewer] guide
+* the xref:ug-vro:ROOT:hints-and-tips.adoc[Restful Objects viewer] guide
 
-* the xref:ug:odn:hints-and-tips.adoc[Datanucleus ObjectStore] guide (this chapter)
+* the xref:ug-odn:ROOT:hints-and-tips.adoc[Datanucleus ObjectStore] guide (this chapter)
 
 * the xref:ug:sec:hints-and-tips.adoc[Security] guide
 
diff --git a/antora/components/ug/modules/vw/pages/hints-and-tips/_attributes.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/hints-and-tips/_attributes.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/_attributes.adoc
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/diagnosing-n-plus-1.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/diagnosing-n-plus-1.adoc
similarity index 92%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/diagnosing-n-plus-1.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/diagnosing-n-plus-1.adoc
index 5b765c0..49b41f5 100644
--- a/antora/components/ug/modules/odn/pages/hints-and-tips/diagnosing-n-plus-1.adoc
+++ b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/diagnosing-n-plus-1.adoc
@@ -11,4 +11,4 @@ The "Variables" pane will tell you which field(s) are being loaded, and the stac
 
 For example, it may be that an object is being loaded in a table and the initial query did not eagerly load that field.
 In such a case, consider using fetch groups in the initial repository query to bring the required data into memory with just one SQL call.
-See xref:ug:odn:hints-and-tips/typesafe-queries-and-fetchgroups.adoc[this hint/tip] for further details.
\ No newline at end of file
+See xref:ug-odn:ROOT:hints-and-tips/typesafe-queries-and-fetchgroups.adoc[this hint/tip] for further details.
\ No newline at end of file
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/java8.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/java8.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/java8.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/java8.adoc
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/jdoql-and-timestamps.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/jdoql-and-timestamps.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/jdoql-and-timestamps.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/jdoql-and-timestamps.adoc
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/overriding-jdo-annotations.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/overriding-jdo-annotations.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/overriding-jdo-annotations.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/overriding-jdo-annotations.adoc
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/subtype-entity-not-fully-populated.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/subtype-entity-not-fully-populated.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/subtype-entity-not-fully-populated.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/subtype-entity-not-fully-populated.adoc
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/typesafe-queries-and-fetchgroups.adoc b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/typesafe-queries-and-fetchgroups.adoc
similarity index 97%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/typesafe-queries-and-fetchgroups.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/typesafe-queries-and-fetchgroups.adoc
index 6d29eb6..419eb1f 100644
--- a/antora/components/ug/modules/odn/pages/hints-and-tips/typesafe-queries-and-fetchgroups.adoc
+++ b/antora/components/ug-odn/modules/ROOT/pages/hints-and-tips/typesafe-queries-and-fetchgroups.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 Fetch groups provide a means to hint to DataNucleus that it should perform a SQL join when querying.
-A common use case is to avoid the xref:ug:odn:hints-and-tips/diagnosing-n-plus-1.adoc[n+1] issue.
+A common use case is to avoid the xref:ug-odn:ROOT:hints-and-tips/diagnosing-n-plus-1.adoc[n+1] issue.
 
 (So far as I could ascertain) it isn't possible to specify fetch group hints using JDOQL, but it is possible to specify them using the programmatic API or using typesafe queries.
 
diff --git a/antora/components/ug/modules/odn/pages/jdo-mappings.adoc b/antora/components/ug-odn/modules/ROOT/pages/jdo-mappings.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/jdo-mappings.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/jdo-mappings.adoc
diff --git a/antora/components/ug/modules/odn/pages/jdo-mappings/1-to-m-bidirectional-relationships.adoc b/antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/1-to-m-bidirectional-relationships.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/jdo-mappings/1-to-m-bidirectional-relationships.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/1-to-m-bidirectional-relationships.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/_attributes.adoc b/antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/_attributes.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/_attributes.adoc
diff --git a/antora/components/ug/modules/odn/pages/jdo-mappings/mandatory-properties-in-subtypes.adoc b/antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/mandatory-properties-in-subtypes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/jdo-mappings/mandatory-properties-in-subtypes.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/mandatory-properties-in-subtypes.adoc
diff --git a/antora/components/ug/modules/odn/pages/jdo-mappings/mapping-to-a-view.adoc b/antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/mapping-to-a-view.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/jdo-mappings/mapping-to-a-view.adoc
rename to antora/components/ug-odn/modules/ROOT/pages/jdo-mappings/mapping-to-a-view.adoc
diff --git a/antora/components/ug-odn/sync_examples.sh b/antora/components/ug-odn/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ug-odn/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/ug-sec/antora.yml b/antora/components/ug-sec/antora.yml
new file mode 100644
index 0000000..60cc206
--- /dev/null
+++ b/antora/components/ug-sec/antora.yml
@@ -0,0 +1,6 @@
+name: ug-sec
+title: "User Guides - Security"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ug-sec/examples.csv b/antora/components/ug-sec/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ug-sec/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/ug/modules/vro/_attributes.adoc b/antora/components/ug-sec/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/_attributes.adoc
rename to antora/components/ug-sec/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ug/modules/vro/examples/.gitkeep b/antora/components/ug-sec/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/vro/examples/.gitkeep
rename to antora/components/ug-sec/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png b/antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-groups.png
diff --git a/antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png b/antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-partition.png
diff --git a/antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png b/antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-mojo-root-dse.png
diff --git a/antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png b/antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-sasl-authentication.png
diff --git a/antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png b/antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/configuration/configuring-shiro/ldap/activeds-ldap-users.png
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-isis-to-use-bypass.PNG b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-bypass.PNG
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-isis-to-use-bypass.PNG
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-bypass.PNG
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-isis-to-use-shiro.png
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-custom-jdbc-realm.png
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-ini-realm.PNG
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isis-ldap-realm.PNG
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm-with-delegate-realm.PNG
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/configure-shiro-to-use-isisaddons-security-module-realm.PNG
diff --git a/antora/components/ug/modules/sec/assets/images/security/security-apis-impl/security-apis-impl.pptx b/antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/security-apis-impl.pptx
similarity index 100%
rename from antora/components/ug/modules/sec/assets/images/security/security-apis-impl/security-apis-impl.pptx
rename to antora/components/ug-sec/modules/ROOT/assets/images/security/security-apis-impl/security-apis-impl.pptx
diff --git a/antora/components/ug/modules/vro/assets/attachments/.gitkeep b/antora/components/ug-sec/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/vro/assets/attachments/.gitkeep
rename to antora/components/ug-sec/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ug/modules/sec/nav.adoc b/antora/components/ug-sec/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/nav.adoc
rename to antora/components/ug-sec/modules/ROOT/nav.adoc
diff --git a/antora/components/ug/modules/vro/pages/_attributes.adoc b/antora/components/ug-sec/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/_attributes.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/extending/_attributes.adoc b/antora/components/ug-sec/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/extending/_attributes.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ug/modules/sec/pages/about.adoc b/antora/components/ug-sec/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/about.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ug/modules/sec/pages/api-for-applications.adoc b/antora/components/ug-sec/modules/ROOT/pages/api-for-applications.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/api-for-applications.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/api-for-applications.adoc
diff --git a/antora/components/ug/modules/sec/pages/configuring-isis-to-use-shiro.adoc b/antora/components/ug-sec/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
similarity index 96%
rename from antora/components/ug/modules/sec/pages/configuring-isis-to-use-shiro.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
index 0872287..843a489 100644
--- a/antora/components/ug/modules/sec/pages/configuring-isis-to-use-shiro.adoc
+++ b/antora/components/ug-sec/modules/ROOT/pages/configuring-isis-to-use-shiro.adoc
@@ -48,7 +48,7 @@ This can be configured in `authentication_shiro.properties` file:
 isis.authentication.shiro.autoLogoutIfAlreadyAuthenticated=false
 ----
 
-This configuration property only comes into effect for the xref:ug:vro:about.adoc[Restful Objects viewer]; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated.
+This configuration property only comes into effect for the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]; if set then the Shiro subject - if found to be still authenticated - will be logged out anyway and then re-authenticated.
 
 [WARNING]
 ====
diff --git a/antora/components/ug/modules/sec/pages/hints-and-tips.adoc b/antora/components/ug-sec/modules/ROOT/pages/hints-and-tips.adoc
similarity index 84%
rename from antora/components/ug/modules/sec/pages/hints-and-tips.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/hints-and-tips.adoc
index a8cc978..fdc6762 100644
--- a/antora/components/ug/modules/sec/pages/hints-and-tips.adoc
+++ b/antora/components/ug-sec/modules/ROOT/pages/hints-and-tips.adoc
@@ -11,11 +11,11 @@ See also hints-n-tips chapters in the:
 
 * the xref:support:dg:hints-and-tips.adoc[Developers'] guide
 
-* the xref:ug:vw:hints-and-tips.adoc[Wicket viewer] guide
+* the xref:ug-vw:ROOT:hints-and-tips.adoc[Wicket viewer] guide
 
-* the xref:ug:vro:hints-and-tips.adoc[Restful Objects viewer] guide
+* the xref:ug-vro:ROOT:hints-and-tips.adoc[Restful Objects viewer] guide
 
-* the xref:ug:odn:hints-and-tips.adoc[Datanucleus ObjectStore] guide
+* the xref:ug-odn:ROOT:hints-and-tips.adoc[Datanucleus ObjectStore] guide
 
 * the xref:ug:sec:hints-and-tips.adoc[Security] guide (this chapter)
 
diff --git a/antora/components/ug/modules/vw/pages/customisation/_attributes.adoc b/antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/_attributes.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/_attributes.adoc
diff --git a/antora/components/ug/modules/sec/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc b/antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/configuring-isis-to-use-bypass.adoc
diff --git a/antora/components/ug/modules/sec/pages/hints-and-tips/run-as.adoc b/antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/run-as.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/hints-and-tips/run-as.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/run-as.adoc
diff --git a/antora/components/ug/modules/sec/pages/hints-and-tips/shiro-caching.adoc b/antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/shiro-caching.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/hints-and-tips/shiro-caching.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/hints-and-tips/shiro-caching.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-isis-enhanced-wildcard-permission.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-isis-enhanced-wildcard-permission.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-isis-enhanced-wildcard-permission.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-realm-implementations.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-realm-implementations.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations.adoc
diff --git a/antora/components/ug/modules/vw/pages/_partials/_attributes.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/_partials/_attributes.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/_attributes.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-realm-implementations/ini-realm.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-realm-implementations/ini-realm.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/ini-realm.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-realm-implementations/isis-ldap-realm.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-realm-implementations/isis-ldap-realm.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/isis-ldap-realm.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/isisaddons-security-module-realm.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-realm-implementations/jdbc-realm.adoc b/antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-realm-implementations/jdbc-realm.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/shiro-realm-implementations/jdbc-realm.adoc
diff --git a/antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc b/antora/components/ug-sec/modules/ROOT/pages/usage-by-isis-viewers.adoc
similarity index 92%
rename from antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc
rename to antora/components/ug-sec/modules/ROOT/pages/usage-by-isis-viewers.adoc
index cb3b65c..463bb04 100644
--- a/antora/components/ug/modules/sec/pages/usage-by-isis-viewers.adoc
+++ b/antora/components/ug-sec/modules/ROOT/pages/usage-by-isis-viewers.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-By and large the security mechanisms within Isis are transparent to the rest of the framework (the xref:ug:vw:about.adoc[Wicket Viewer] and xref:ug:vro:about.adoc[Restful Objects viewer], and the overall xref:rg:cfg:about[core runtime]).
+By and large the security mechanisms within Isis are transparent to the rest of the framework (the xref:ug-vw:ROOT:about.adoc[Wicket Viewer] and xref:ug-vro:ROOT:about.adoc[Restful Objects viewer], and the overall xref:rg:cfg:about[core runtime]).
 
 That said, it is the responsibility of the viewers to ensure that for each request there is a valid user session present.  The sections below explain how this works.
 
@@ -13,7 +13,7 @@ That said, it is the responsibility of the viewers to ensure that for each reque
 
 == Wicket Viewer
 
-The xref:ug:vw:about.adoc[Wicket viewer] defines a relatively small number of pages (by which we mean subclasses of `org.apache.wicket.markup.html.WebPage`):
+The xref:ug-vw:ROOT:about.adoc[Wicket viewer] defines a relatively small number of pages (by which we mean subclasses of `org.apache.wicket.markup.html.WebPage`):
 
 * about page
 * entity page
@@ -34,7 +34,7 @@ which means that they can only be accessed by a user with an authenticated sessi
 
 [TIP]
 ====
-The sign-in page to render is pluggable; see xref:ug:vw:extending/custom-pages.adoc[extensions chapter] for details.
+The sign-in page to render is pluggable; see xref:ug-vw:ROOT:extending/custom-pages.adoc[extensions chapter] for details.
 ====
 
 In the sign-in page the viewer calls to the Isis Authenticator API, and obtains back a user/role.  It also adds in its special reserved role (per the annotation above) and then continues on to whichever page the user was attempting to access (usually the home page).
@@ -52,7 +52,7 @@ These pages all "reach inside" Apache Isis framework using a mechanism similar t
 
 [TIP]
 ====
-The sign-in verification page to render is pluggable; see xref:ug:vw:extending/custom-pages.adoc[extensions chapter] for details.
+The sign-in verification page to render is pluggable; see xref:ug-vw:ROOT:extending/custom-pages.adoc[extensions chapter] for details.
 ====
 
 User registration is only available if the xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`] is configured; this is used by the framework to actually create new instances of the user as accessed by the corresponding (Shiro) realm.
@@ -65,7 +65,7 @@ If you are using an LDAP realm and want to enable user-self registration then yo
 
 == Restful Objects Viewer
 
-Unlike the Wicket viewer, the xref:ug:vro:about.adoc[Restful Objects viewer] does *not* provide any sort of login page; rather it provides a pluggable authentication strategy, delegated to by the `IsisSessionFilter` filter (set up by the framework's web bootstrapping).
+Unlike the Wicket viewer, the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer] does *not* provide any sort of login page; rather it provides a pluggable authentication strategy, delegated to by the `IsisSessionFilter` filter (set up by the framework's web bootstrapping).
 The authentication strategy is responsible for ensuring that a session is available for the REST resource.
 
 The API of `AuthenticationSessionStrategy` is simply:
diff --git a/antora/components/ug-sec/sync_examples.sh b/antora/components/ug-sec/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ug-sec/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/ug-tst/antora.yml b/antora/components/ug-tst/antora.yml
new file mode 100644
index 0000000..3d138d5
--- /dev/null
+++ b/antora/components/ug-tst/antora.yml
@@ -0,0 +1,6 @@
+name: ug-tst
+title: "User Guides - Testing"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ug-tst/examples.csv b/antora/components/ug-tst/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ug-tst/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/ug/modules/tst/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/examples/.gitkeep b/antora/components/ug-tst/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/tst/examples/.gitkeep
rename to antora/components/ug-tst/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/composite.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/composite.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/composite.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/composite.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/flat-1.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/flat-1.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/flat-1.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/flat-1.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/flat-2.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/flat-2.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/flat-2.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/flat-2.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/organizing-fixture-scripts.pptx b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/organizing-fixture-scripts.pptx
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/organizing-fixture-scripts.pptx
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/organizing-fixture-scripts.pptx
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/prompt-specifying-number.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/prompt-specifying-number.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/prompt-specifying-number.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/prompt-specifying-number.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/prompt.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/prompt.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/prompt.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/prompt.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/prototyping-menu.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/prototyping-menu.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/prototyping-menu.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/prototyping-menu.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/result-list.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/result-list.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/fixture-scripts/result-list.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/fixture-scripts/result-list.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/integ-tests.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/integ-tests.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/integ-tests.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/integ-tests.png
diff --git a/antora/components/ug/modules/tst/assets/images/testing/integ-tests.pptx b/antora/components/ug-tst/modules/ROOT/assets/images/testing/integ-tests.pptx
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/integ-tests.pptx
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/integ-tests.pptx
diff --git a/antora/components/ug/modules/tst/assets/images/testing/wrapper-factory.png b/antora/components/ug-tst/modules/ROOT/assets/images/testing/wrapper-factory.png
similarity index 100%
rename from antora/components/ug/modules/tst/assets/images/testing/wrapper-factory.png
rename to antora/components/ug-tst/modules/ROOT/assets/images/testing/wrapper-factory.png
diff --git a/antora/components/ug/modules/tst/assets/attachments/.gitkeep b/antora/components/ug-tst/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/tst/assets/attachments/.gitkeep
rename to antora/components/ug-tst/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ug/modules/tst/nav.adoc b/antora/components/ug-tst/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/nav.adoc
rename to antora/components/ug-tst/modules/ROOT/nav.adoc
diff --git a/antora/components/ug/modules/tst/pages/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/simplified-representations/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/pages/about.adoc b/antora/components/ug-tst/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/about.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ug/modules/tst/pages/bdd-spec-support.adoc b/antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/bdd-spec-support.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/pages/bdd-spec-support/how-it-works.adoc b/antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/how-it-works.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/bdd-spec-support/how-it-works.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/how-it-works.adoc
diff --git a/antora/components/ug/modules/tst/pages/bdd-spec-support/maven-configuration.adoc b/antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/maven-configuration.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/bdd-spec-support/maven-configuration.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/maven-configuration.adoc
diff --git a/antora/components/ug/modules/tst/pages/bdd-spec-support/writing-a-bdd-spec.adoc b/antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/writing-a-bdd-spec.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/bdd-spec-support/writing-a-bdd-spec.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/bdd-spec-support/writing-a-bdd-spec.adoc
diff --git a/antora/components/ug/modules/tst/pages/fixture-scripts.adoc b/antora/components/ug-tst/modules/ROOT/pages/fixture-scripts.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/fixture-scripts.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/fixture-scripts.adoc
diff --git a/antora/components/ug/modules/vro/pages/_partials/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/_partials/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/pages/fixture-scripts/api-and-usage.adoc b/antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/fixture-scripts/api-and-usage.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
diff --git a/antora/components/ug/modules/tst/pages/fixture-scripts/sudo-service.adoc b/antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/sudo-service.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/fixture-scripts/sudo-service.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/sudo-service.adoc
diff --git a/antora/components/ug/modules/tst/pages/fixture-scripts/ticking-clock-fixture.adoc b/antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/ticking-clock-fixture.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/fixture-scripts/ticking-clock-fixture.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/fixture-scripts/ticking-clock-fixture.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support.adoc
diff --git a/antora/components/ug/modules/tst/pages/unit-test-support/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/unit-test-support/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/abstract-class.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/abstract-class.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/abstract-class.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/abstract-class.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/bootstrapping.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/bootstrapping.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/configuration-properties.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/configuration-properties.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/maven-configuration.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/maven-configuration.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/maven-configuration.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/maven-configuration.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/typical-usage.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/typical-usage.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/typical-usage.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/typical-usage.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/wrapper-factory.adoc b/antora/components/ug-tst/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/wrapper-factory.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
diff --git a/antora/components/ug/modules/tst/pages/overview.adoc b/antora/components/ug-tst/modules/ROOT/pages/overview.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/overview.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/overview.adoc
diff --git a/antora/components/ug/modules/tst/pages/unit-test-support.adoc b/antora/components/ug-tst/modules/ROOT/pages/unit-test-support.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/unit-test-support.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/unit-test-support.adoc
diff --git a/antora/components/ug/modules/tst/pages/integ-test-support/_attributes.adoc b/antora/components/ug-tst/modules/ROOT/pages/unit-test-support/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/integ-test-support/_attributes.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/unit-test-support/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/pages/unit-test-support/contract-tests.adoc b/antora/components/ug-tst/modules/ROOT/pages/unit-test-support/contract-tests.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/unit-test-support/contract-tests.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/unit-test-support/contract-tests.adoc
diff --git a/antora/components/ug/modules/tst/pages/unit-test-support/jmock-extensions.adoc b/antora/components/ug-tst/modules/ROOT/pages/unit-test-support/jmock-extensions.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/unit-test-support/jmock-extensions.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/unit-test-support/jmock-extensions.adoc
diff --git a/antora/components/ug/modules/tst/pages/unit-test-support/maven-configuration.adoc b/antora/components/ug-tst/modules/ROOT/pages/unit-test-support/maven-configuration.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/unit-test-support/maven-configuration.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/unit-test-support/maven-configuration.adoc
diff --git a/antora/components/ug/modules/tst/pages/unit-test-support/soap-fake-server-junit-rule.adoc b/antora/components/ug-tst/modules/ROOT/pages/unit-test-support/soap-fake-server-junit-rule.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/unit-test-support/soap-fake-server-junit-rule.adoc
rename to antora/components/ug-tst/modules/ROOT/pages/unit-test-support/soap-fake-server-junit-rule.adoc
diff --git a/antora/components/ug-tst/sync_examples.sh b/antora/components/ug-tst/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ug-tst/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/ug-vro/antora.yml b/antora/components/ug-vro/antora.yml
new file mode 100644
index 0000000..914e826
--- /dev/null
+++ b/antora/components/ug-vro/antora.yml
@@ -0,0 +1,6 @@
+name: ug-vro
+title: "User Guides - Restful Objects Viewer"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ug-vro/examples.csv b/antora/components/ug-vro/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ug-vro/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/ug/modules/sec/_attributes.adoc b/antora/components/ug-vro/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/_attributes.adoc
rename to antora/components/ug-vro/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ug/modules/sec/examples/.gitkeep b/antora/components/ug-vro/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/sec/examples/.gitkeep
rename to antora/components/ug-vro/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ug/modules/vro/assets/images/restfulobjects/ro-spec-resources-and-representations.png b/antora/components/ug-vro/modules/ROOT/assets/images/restfulobjects/ro-spec-resources-and-representations.png
similarity index 100%
rename from antora/components/ug/modules/vro/assets/images/restfulobjects/ro-spec-resources-and-representations.png
rename to antora/components/ug-vro/modules/ROOT/assets/images/restfulobjects/ro-spec-resources-and-representations.png
diff --git a/antora/components/ug/modules/vro/assets/images/rgfis/service-collaborations.png b/antora/components/ug-vro/modules/ROOT/assets/images/rgfis/service-collaborations.png
similarity index 100%
rename from antora/components/ug/modules/vro/assets/images/rgfis/service-collaborations.png
rename to antora/components/ug-vro/modules/ROOT/assets/images/rgfis/service-collaborations.png
diff --git a/antora/components/ug/modules/sec/assets/attachments/.gitkeep b/antora/components/ug-vro/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/sec/assets/attachments/.gitkeep
rename to antora/components/ug-vro/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ug/modules/vro/nav.adoc b/antora/components/ug-vro/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/nav.adoc
rename to antora/components/ug-vro/modules/ROOT/nav.adoc
diff --git a/antora/components/ug/modules/sec/pages/_attributes.adoc b/antora/components/ug-vro/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/_attributes.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ug/modules/tst/pages/fixture-scripts/_attributes.adoc b/antora/components/ug-vro/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/fixture-scripts/_attributes.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ug/modules/vro/pages/about.adoc b/antora/components/ug-vro/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/about.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ug/modules/vro/pages/architecture.adoc b/antora/components/ug-vro/modules/ROOT/pages/architecture.adoc
similarity index 91%
rename from antora/components/ug/modules/vro/pages/architecture.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/architecture.adoc
index 8abd99b..3ffabef 100644
--- a/antora/components/ug/modules/vro/pages/architecture.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/architecture.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-The xref:ug:vro:about.adoc[RestfulObjects viewer] implements the http://restfulobjects.org[Restful Object spec], meaning
+The xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] implements the http://restfulobjects.org[Restful Object spec], meaning
 that it defines a well-defined set of endpoint URLs as resources, and generates a well-defined set of (JSON)
 representations when these resources are accessed.
 
@@ -31,7 +31,7 @@ xref:rg:fis:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiatio
 HTTP `Accept` header.  If the implementation does not recognize the value of the header, if can simply return `null`. +
 +
 The framework provides a number of implementations; an implementation that handles the
-xref:ug:vro:simplified-representations.adoc[simplified representation] of the Apache Isis profile; an implementation that provides support for the `x-ro-domain-type` parameter, and a
+xref:ug-vro:ROOT:simplified-representations.adoc[simplified representation] of the Apache Isis profile; an implementation that provides support for the `x-ro-domain-type` parameter, and a
 default/fallback implementation that returns the representations defined by the RO spec.
 
 * `ContentMappingService` +
diff --git a/antora/components/ug/modules/vro/pages/configuration-properties.adoc b/antora/components/ug-vro/modules/ROOT/pages/configuration-properties.adoc
similarity index 94%
rename from antora/components/ug/modules/vro/pages/configuration-properties.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/configuration-properties.adoc
index c61a264..187169c 100644
--- a/antora/components/ug/modules/vro/pages/configuration-properties.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/configuration-properties.adoc
@@ -26,7 +26,7 @@ The following configuration properties are supported:
 |`isis.viewer.restfulobjects.` +
 `honorUiHints`
 | `true`,`false` (`_false_`)
-|A mechanism for reducing the number of round-trips by eagerly rendering collections; discussed xref:ug:vro:ro-spec.adoc#honor-ui-hints[here].
+|A mechanism for reducing the number of round-trips by eagerly rendering collections; discussed xref:ug-vro:ROOT:ro-spec.adoc#honor-ui-hints[here].
 
 |`isis.viewer.restfulobjects.` +
 `strictAcceptChecking`
@@ -35,7 +35,7 @@ The following configuration properties are supported:
 `ContentNegotiationServiceForRestfulObjectsV1_0` service). Will otherwise accept anything.  +
 
 This is convenient because it allows the `Accept` header to be set to that of the
-xref:ug:vro:simplified-representations.adoc[Apache Isis profile] for all resources, rather than simply the
+xref:ug-vro:ROOT:simplified-representations.adoc[Apache Isis profile] for all resources, rather than simply the
 handful of resources that supported that profile.
 
 |===
@@ -135,7 +135,7 @@ isis.viewer.restfulobjects.suppressMemberDisabledReason=true
 
 [NOTE]
 ====
-If these configuration settings are set in conjunction with using the xref:ug:vro:simplified-representations.adoc#apache-isis-profile[Apache Isis profile], then the special `$$ro` property in the representations with reflect these settings.
+If these configuration settings are set in conjunction with using the xref:ug-vro:ROOT:simplified-representations.adoc#apache-isis-profile[Apache Isis profile], then the special `$$ro` property in the representations with reflect these settings.
 ====
 
 
diff --git a/antora/components/ug/modules/vro/pages/health-check.adoc b/antora/components/ug-vro/modules/ROOT/pages/health-check.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/health-check.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/health-check.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips.adoc
similarity index 90%
rename from antora/components/ug/modules/vro/pages/hints-and-tips.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips.adoc
index f4fdeed..a4d2dfe 100644
--- a/antora/components/ug/modules/vro/pages/hints-and-tips.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips.adoc
@@ -11,9 +11,9 @@ See also hints-n-tips chapters in the:
 
 * the xref:ug:vw:hints-and-tips.adoc[Wicket viewer] guide
 
-* the xref:ug:vro:hints-and-tips.adoc[Restful Objects viewer] guide (this chapter)
+* the xref:ug-vro:ROOT:hints-and-tips.adoc[Restful Objects viewer] guide (this chapter)
 
-* the xref:ug:odn:hints-and-tips.adoc[Datanucleus ObjectStore] guide
+* the xref:ug-odn:ROOT:hints-and-tips.adoc[Datanucleus ObjectStore] guide
 
 * the xref:ug:sec:hints-and-tips.adoc[Security] guide
 
diff --git a/antora/components/ug/modules/tst/pages/bdd-spec-support/_attributes.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/bdd-spec-support/_attributes.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/_attributes.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/angular-tips.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/angular-tips.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/angular-tips.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/angular-tips.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/pretty-printing.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/pretty-printing.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/pretty-printing.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/pretty-printing.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/restful-image-property.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/restful-image-property.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/troubleshooting.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/troubleshooting.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/troubleshooting.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/troubleshooting.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/using-chrome-devtools.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/using-chrome-devtools.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/using-chrome-devtools.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/using-chrome-devtools.adoc
diff --git a/antora/components/ug/modules/vro/pages/hints-and-tips/view-model-as-parameter.adoc b/antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/view-model-as-parameter.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/hints-and-tips/view-model-as-parameter.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/hints-and-tips/view-model-as-parameter.adoc
diff --git a/antora/components/ug/modules/vro/pages/layout-resources.adoc b/antora/components/ug-vro/modules/ROOT/pages/layout-resources.adoc
similarity index 94%
rename from antora/components/ug/modules/vro/pages/layout-resources.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/layout-resources.adoc
index adae51b..51cc002 100644
--- a/antora/components/ug/modules/vro/pages/layout-resources.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/layout-resources.adoc
@@ -244,9 +244,9 @@ The representation returned by this resource is essentially exactly the same as
 
 == Static vs Dynamic Resources
 
-The xref:ug:vro:layout-resources.adoc#menu-layout[menu layout] representation includes all possible domain services; it does not follow that the current user has access to all of these actions (some may be hidden or disabled).
+The xref:ug-vro:ROOT:layout-resources.adoc#menu-layout[menu layout] representation includes all possible domain services; it does not follow that the current user has access to all of these actions (some may be hidden or disabled).
 
-Similarly, the xref:ug:vro:layout-resources.adoc#domain-object-layout[domain object layout] representation include all _possible_ properties, collections and actions of the domain object; again, the current user may not have access to all of these members.
+Similarly, the xref:ug-vro:ROOT:layout-resources.adoc#domain-object-layout[domain object layout] representation include all _possible_ properties, collections and actions of the domain object; again, the current user may not have access to all of these members.
 It is also often the case that the domain object's internal state will determine which members to make available (eg, show only one of "lock" and "unlock" actions at any given time).
 
 To determine what should actually be rendered, the REST client should follow the links to the standard Restful Objects resources.
diff --git a/antora/components/ug/modules/vro/pages/ro-spec.adoc b/antora/components/ug-vro/modules/ROOT/pages/ro-spec.adoc
similarity index 96%
rename from antora/components/ug/modules/vro/pages/ro-spec.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/ro-spec.adoc
index bfe2e49..b0da90a 100644
--- a/antora/components/ug/modules/vro/pages/ro-spec.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/ro-spec.adoc
@@ -125,7 +125,7 @@ Accept: application/xml;x-ro-domain-type="com.mycompany.viewmodels.v2.CustomerVi
 
 The server will use the xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] to attempt to
 transform the domain object into the requested `x-ro-domain-type`.  The whole process is discussed in more detail in
-the xref:ug:vro:architecture.adoc[architecture] chapter.
+the xref:ug-vro:ROOT:architecture.adoc[architecture] chapter.
 
 
 ==== Apache Isis profile
@@ -137,7 +137,7 @@ link:http://angular-ui.github.io/bootstrap/[Angular Bootstrap],
 link:http://vitalets.github.io/angular-xeditable/[Angular XEditable],
 link:https://github.com/mgcrea/angular-strap[Angular Strap].
 
-This support is discussed further in the xref:ug:vro:simplified-representations.adoc[simplified representations]
+This support is discussed further in the xref:ug-vro:ROOT:simplified-representations.adoc[simplified representations]
 chapter.
 
 
@@ -145,7 +145,7 @@ chapter.
 
 The Restful Objects viewer supports the `x-ro-follow-links` query parameter in a way very similar to that suggested
 in the RO spec, the main point being to avoid the "N+1" problem of too many (slow) network calls.  For example, using
-this feature one can load a grid of data in a single call.  (That said, the xref:ug:vro:simplified-representations.adoc[simplified representations]
+this feature one can load a grid of data in a single call.  (That said, the xref:ug-vro:ROOT:simplified-representations.adoc[simplified representations]
 supported by Restful Objects viewer also support this use case, albeit in way that deviates from the RO spec).
 
 This link:https://www.youtube.com/watch?v=hSKnqqBQ7Zo[screencast] demonstrates the Restful Object viewer's support for `x-ro-follow-links` parameter, using the (non-ASF) http://github.com/isisaddons/isis-app-kitchensink[Isis addons' kitchensink] app as the example,
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations.adoc
similarity index 96%
rename from antora/components/ug/modules/vro/pages/simplified-representations.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations.adoc
index c28c07a..cabd00f 100644
--- a/antora/components/ug/modules/vro/pages/simplified-representations.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations.adoc
@@ -14,7 +14,7 @@ link:https://github.com/mgcrea/angular-strap[Angular Strap].
 
 Apache Isis also provides support for its own simplified representation for the most commonly-used representations.
 This is implemented using the `ContentNegotiationService` described in the
-xref:ug:vro:architecture.adoc[architecture] chapter.
+xref:ug-vro:ROOT:architecture.adoc[architecture] chapter.
 
 
 
diff --git a/antora/components/ug/modules/tst/pages/_partials/_attributes.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/tst/pages/_partials/_attributes.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/_attributes.adoc
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/action-invocation.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/action-invocation.adoc
similarity index 90%
rename from antora/components/ug/modules/vro/pages/simplified-representations/action-invocation.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/action-invocation.adoc
index e4843df..16cd25d 100644
--- a/antora/components/ug/modules/vro/pages/simplified-representations/action-invocation.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/action-invocation.adoc
@@ -8,7 +8,7 @@ When an action is invoked, it can return a domain object, a list, a scalar, or r
 
 == Returning an Object
 
-If the action returned an object, then the xref:ug:vro:simplified-representations/domain-object.adoc[domain object representation] is returned.
+If the action returned an object, then the xref:ug-vro:ROOT:simplified-representations/domain-object.adoc[domain object representation] is returned.
 
 For example, using the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp], accessing
 this resource:
@@ -58,7 +58,7 @@ Content-Type: application/json;profile="urn:org.apache.isis/v1";repr-type="objec
 == Returning a List
 
 On the other hand if the action returned a list (a "standalone" collection, then an array representation is returned.
-This is very similar to that returned by a xref:ug:vro:simplified-representations/object-collection.adoc[(parented) object collection], though with a slightly different `Content-Type` to distinguish.
+This is very similar to that returned by a xref:ug-vro:ROOT:simplified-representations/object-collection.adoc[(parented) object collection], though with a slightly different `Content-Type` to distinguish.
 
 For example, using the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp], accessing
 this resource:
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/apache-isis-profile.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/apache-isis-profile.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/simplified-representations/apache-isis-profile.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/apache-isis-profile.adoc
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/configuration-properties.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/configuration-properties.adoc
similarity index 94%
rename from antora/components/ug/modules/vro/pages/simplified-representations/configuration-properties.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/configuration-properties.adoc
index 3c7bd52..6d0490c 100644
--- a/antora/components/ug/modules/vro/pages/simplified-representations/configuration-properties.adoc
+++ b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/configuration-properties.adoc
@@ -11,6 +11,6 @@ are limited by the fact that they are global configuration settings, so cannot b
 basis (as is the case with the `Accept` header used for the Apache Isis profile). They have therefore been
 deprecated, and may be removed in the future.
 
-Details can be found in xref:ug:vro:configuration-properties.adoc#deprecated[here].
+Details can be found in xref:ug-vro:ROOT:configuration-properties.adoc#deprecated[here].
 
 
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/domain-object.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/domain-object.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/simplified-representations/domain-object.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/domain-object.adoc
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/object-collection.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/object-collection.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/simplified-representations/object-collection.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/object-collection.adoc
diff --git a/antora/components/ug/modules/vro/pages/simplified-representations/other-representations.adoc b/antora/components/ug-vro/modules/ROOT/pages/simplified-representations/other-representations.adoc
similarity index 100%
rename from antora/components/ug/modules/vro/pages/simplified-representations/other-representations.adoc
rename to antora/components/ug-vro/modules/ROOT/pages/simplified-representations/other-representations.adoc
diff --git a/antora/components/ug-vro/sync_examples.sh b/antora/components/ug-vro/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ug-vro/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/ug-vw/antora.yml b/antora/components/ug-vw/antora.yml
new file mode 100644
index 0000000..296dc5b
--- /dev/null
+++ b/antora/components/ug-vw/antora.yml
@@ -0,0 +1,6 @@
+name: ug-vw
+title: "User Guides - Wicket Viewer"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ug-vw/examples.csv b/antora/components/ug-vw/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ug-vw/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/ug/modules/odn/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ug/modules/odn/examples/.gitkeep b/antora/components/ug-vw/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/odn/examples/.gitkeep
rename to antora/components/ug-vw/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ug/modules/vw/assets/images/about-page/about-page.png b/antora/components/ug-vw/modules/ROOT/assets/images/about-page/about-page.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/about-page/about-page.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/about-page/about-page.png
diff --git a/antora/components/ug/modules/vw/assets/images/application-menu/dividers.png b/antora/components/ug-vw/modules/ROOT/assets/images/application-menu/dividers.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/application-menu/dividers.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/application-menu/dividers.png
diff --git a/antora/components/ug/modules/vw/assets/images/application-menu/layout-menus.pdn b/antora/components/ug-vw/modules/ROOT/assets/images/application-menu/layout-menus.pdn
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/application-menu/layout-menus.pdn
rename to antora/components/ug-vw/modules/ROOT/assets/images/application-menu/layout-menus.pdn
diff --git a/antora/components/ug/modules/vw/assets/images/application-menu/layout-menus.png b/antora/components/ug-vw/modules/ROOT/assets/images/application-menu/layout-menus.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/application-menu/layout-menus.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/application-menu/layout-menus.png
diff --git a/antora/components/ug/modules/vw/assets/images/application-menu/tertiary.png b/antora/components/ug-vw/modules/ROOT/assets/images/application-menu/tertiary.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/application-menu/tertiary.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/application-menu/tertiary.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/010-attachment-field-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/010-attachment-field-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/010-attachment-field-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/010-attachment-field-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/010-attachment-field.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/010-attachment-field.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/010-attachment-field.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/010-attachment-field.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/020-edit-choose-file-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/020-edit-choose-file-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/020-edit-choose-file-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/020-edit-choose-file-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/020-edit-choose-file.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/020-edit-choose-file.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/020-edit-choose-file.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/020-edit-choose-file.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/030-choose-file-using-browser-520.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/030-choose-file-using-browser-520.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/030-choose-file-using-browser-520.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/030-choose-file-using-browser-520.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/030-choose-file-using-browser.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/030-choose-file-using-browser.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/030-choose-file-using-browser.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/030-choose-file-using-browser.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/040-edit-chosen-file-indicated-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/040-edit-chosen-file-indicated-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/040-edit-chosen-file-indicated-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/040-edit-chosen-file-indicated-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/040-edit-chosen-file-indicated.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/040-edit-chosen-file-indicated.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/040-edit-chosen-file-indicated.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/040-edit-chosen-file-indicated.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/050-ok-if-image-then-rendered-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/050-ok-if-image-then-rendered-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/050-ok-if-image-then-rendered-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/050-ok-if-image-then-rendered-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/050-ok-if-image-then-rendered.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/050-ok-if-image-then-rendered.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/050-ok-if-image-then-rendered.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/050-ok-if-image-then-rendered.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/060-download-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/060-download-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/060-download-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/060-download-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/060-download.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/060-download.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/060-download.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/060-download.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/070-edit-clear-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/070-edit-clear-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/070-edit-clear-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/070-edit-clear-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/blob-attachments/070-edit-clear.png b/antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/070-edit-clear.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/blob-attachments/070-edit-clear.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/blob-attachments/070-edit-clear.png
diff --git a/antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel-estatio-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel-estatio-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel-estatio-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel-estatio-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel-estatio.png b/antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel-estatio.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel-estatio.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel-estatio.png
diff --git a/antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel.png b/antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/bookmarked-pages/panel.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/bookmarked-pages/panel.png
diff --git a/antora/components/ug/modules/vw/assets/images/brand-logo/brand-logo-signin.png b/antora/components/ug-vw/modules/ROOT/assets/images/brand-logo/brand-logo-signin.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/brand-logo/brand-logo-signin.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/brand-logo/brand-logo-signin.png
diff --git a/antora/components/ug/modules/vw/assets/images/brand-logo/brand-logo.png b/antora/components/ug-vw/modules/ROOT/assets/images/brand-logo/brand-logo.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/brand-logo/brand-logo.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/brand-logo/brand-logo.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/010-copy-link-button-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/010-copy-link-button-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/010-copy-link-button-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/010-copy-link-button-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/010-copy-link-button.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/010-copy-link-button.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/010-copy-link-button.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/010-copy-link-button.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/020-copy-link-dialog-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/020-copy-link-dialog-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/020-copy-link-dialog-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/020-copy-link-dialog-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/020-copy-link-dialog.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/020-copy-link-dialog.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/020-copy-link-dialog.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/020-copy-link-dialog.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/030-hints-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/030-hints-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/030-hints-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/030-hints-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/030-hints.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/030-hints.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/030-hints.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/030-hints.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/040-copy-link-with-hints-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/040-copy-link-with-hints-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/040-copy-link-with-hints-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/040-copy-link-with-hints-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/040-copy-link-with-hints.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/040-copy-link-with-hints.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/040-copy-link-with-hints.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/040-copy-link-with-hints.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/050-title-url-940.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/050-title-url-940.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/050-title-url-940.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/050-title-url-940.png
diff --git a/antora/components/ug/modules/vw/assets/images/copy-link/050-title-url.png b/antora/components/ug-vw/modules/ROOT/assets/images/copy-link/050-title-url.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/copy-link/050-title-url.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/copy-link/050-title-url.png
diff --git a/antora/components/ug/modules/vw/assets/images/dialog-mode/modal.png b/antora/components/ug-vw/modules/ROOT/assets/images/dialog-mode/modal.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/dialog-mode/modal.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/dialog-mode/modal.png
diff --git a/antora/components/ug/modules/vw/assets/images/dialog-mode/sidebar.png b/antora/components/ug-vw/modules/ROOT/assets/images/dialog-mode/sidebar.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/dialog-mode/sidebar.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/dialog-mode/sidebar.png
diff --git a/antora/components/ug/modules/vw/assets/images/embedded-view/no-footer.png b/antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/no-footer.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/embedded-view/no-footer.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/no-footer.png
diff --git a/antora/components/ug/modules/vw/assets/images/embedded-view/no-header-no-footer.png b/antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/no-header-no-footer.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/embedded-view/no-header-no-footer.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/no-header-no-footer.png
diff --git a/antora/components/ug/modules/vw/assets/images/embedded-view/no-header.png b/antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/no-header.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/embedded-view/no-header.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/no-header.png
diff --git a/antora/components/ug/modules/vw/assets/images/embedded-view/regular.png b/antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/regular.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/embedded-view/regular.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/embedded-view/regular.png
diff --git a/antora/components/ug/modules/vw/assets/images/features/recent-pages/recent-pages.png b/antora/components/ug-vw/modules/ROOT/assets/images/features/recent-pages/recent-pages.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/features/recent-pages/recent-pages.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/features/recent-pages/recent-pages.png
diff --git a/antora/components/ug/modules/vw/assets/images/how-tos/ui-hints/object-titles-and-icons/cust-order-product.png b/antora/components/ug-vw/modules/ROOT/assets/images/how-tos/ui-hints/object-titles-and-icons/cust-order-product.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/how-tos/ui-hints/object-titles-and-icons/cust-order-product.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/how-tos/ui-hints/object-titles-and-icons/cust-order-product.png
diff --git a/antora/components/ug/modules/vw/assets/images/layout-dynamic-xml/ToDoAppDashboard.png b/antora/components/ug-vw/modules/ROOT/assets/images/layout-dynamic-xml/ToDoAppDashboard.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layout-dynamic-xml/ToDoAppDashboard.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layout-dynamic-xml/ToDoAppDashboard.png
diff --git a/antora/components/ug/modules/vw/assets/images/layout-dynamic-xml/ToDoItem.png b/antora/components/ug-vw/modules/ROOT/assets/images/layout-dynamic-xml/ToDoItem.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layout-dynamic-xml/ToDoItem.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layout-dynamic-xml/ToDoItem.png
diff --git a/antora/components/ug/modules/vw/assets/images/layouts/customer-order.png b/antora/components/ug-vw/modules/ROOT/assets/images/layouts/customer-order.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layouts/customer-order.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layouts/customer-order.png
diff --git a/antora/components/ug/modules/vw/assets/images/layouts/estatio-Invoice.png b/antora/components/ug-vw/modules/ROOT/assets/images/layouts/estatio-Invoice.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layouts/estatio-Invoice.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layouts/estatio-Invoice.png
diff --git a/antora/components/ug/modules/vw/assets/images/layouts/estatio-Lease.png b/antora/components/ug-vw/modules/ROOT/assets/images/layouts/estatio-Lease.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layouts/estatio-Lease.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layouts/estatio-Lease.png
diff --git a/antora/components/ug/modules/vw/assets/images/layouts/estatio-LeaseItem.png b/antora/components/ug-vw/modules/ROOT/assets/images/layouts/estatio-LeaseItem.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layouts/estatio-LeaseItem.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layouts/estatio-LeaseItem.png
diff --git a/antora/components/ug/modules/vw/assets/images/layouts/todoapp-ToDoItem.png b/antora/components/ug-vw/modules/ROOT/assets/images/layouts/todoapp-ToDoItem.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/layouts/todoapp-ToDoItem.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/layouts/todoapp-ToDoItem.png
diff --git a/antora/components/ug/modules/vw/assets/images/menubars/010-download.png b/antora/components/ug-vw/modules/ROOT/assets/images/menubars/010-download.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/menubars/010-download.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/menubars/010-download.png
diff --git a/antora/components/ug/modules/vw/assets/images/menubars/020-download.png b/antora/components/ug-vw/modules/ROOT/assets/images/menubars/020-download.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/menubars/020-download.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/menubars/020-download.png
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/4-0-8-0.png b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/4-0-8-0.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/4-0-8-0.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/4-0-8-0.png
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/4-4-4-12.png b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/4-4-4-12.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/4-4-4-12.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/4-4-4-12.png
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/6-6-0-12.png b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/6-6-0-12.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/6-6-0-12.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/6-6-0-12.png
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/isis-layout-show-facets.css b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/isis-layout-show-facets.css
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/isis-layout-show-facets.css
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/isis-layout-show-facets.css
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/isis-layout.css b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/isis-layout.css
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/isis-layout.css
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/isis-layout.css
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/layout-4-0-8-0.html b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/layout-4-0-8-0.html
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/layout-4-0-8-0.html
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/layout-4-0-8-0.html
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/layout-4-4-4-12.html b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/layout-4-4-4-12.html
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/layout-4-4-4-12.html
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/layout-4-4-4-12.html
diff --git a/antora/components/ug/modules/vw/assets/images/reference-layout/layout-6-6-0-12.html b/antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/layout-6-6-0-12.html
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/reference-layout/layout-6-6-0-12.html
rename to antora/components/ug-vw/modules/ROOT/assets/images/reference-layout/layout-6-6-0-12.html
diff --git a/antora/components/ug/modules/vw/assets/images/user-registration/login-page-default.png b/antora/components/ug-vw/modules/ROOT/assets/images/suppress-password-reset/login-page-default.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/user-registration/login-page-default.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/suppress-password-reset/login-page-default.png
diff --git a/antora/components/ug/modules/vw/assets/images/suppress-password-reset/login-page-suppress-password-reset.png b/antora/components/ug-vw/modules/ROOT/assets/images/suppress-password-reset/login-page-suppress-password-reset.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/suppress-password-reset/login-page-suppress-password-reset.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/suppress-password-reset/login-page-suppress-password-reset.png
diff --git a/antora/components/ug/modules/vw/assets/images/suppress-sign-up/login-page-default.png b/antora/components/ug-vw/modules/ROOT/assets/images/suppress-remember-me/login-page-default.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/suppress-sign-up/login-page-default.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/suppress-remember-me/login-page-default.png
diff --git a/antora/components/ug/modules/vw/assets/images/suppress-remember-me/login-page-suppress-remember-me.png b/antora/components/ug-vw/modules/ROOT/assets/images/suppress-remember-me/login-page-suppress-remember-me.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/suppress-remember-me/login-page-suppress-remember-me.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/suppress-remember-me/login-page-suppress-remember-me.png
diff --git a/antora/components/ug/modules/vw/assets/images/suppress-remember-me/login-page-default.png b/antora/components/ug-vw/modules/ROOT/assets/images/suppress-sign-up/login-page-default.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/suppress-remember-me/login-page-default.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/suppress-sign-up/login-page-default.png
diff --git a/antora/components/ug/modules/vw/assets/images/suppress-sign-up/login-page-suppress-sign-up.png b/antora/components/ug-vw/modules/ROOT/assets/images/suppress-sign-up/login-page-suppress-sign-up.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/suppress-sign-up/login-page-suppress-sign-up.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/suppress-sign-up/login-page-suppress-sign-up.png
diff --git a/antora/components/ug/modules/vw/assets/images/theme-chooser/example-1.png b/antora/components/ug-vw/modules/ROOT/assets/images/theme-chooser/example-1.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/theme-chooser/example-1.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/theme-chooser/example-1.png
diff --git a/antora/components/ug/modules/vw/assets/images/theme-chooser/example-2.png b/antora/components/ug-vw/modules/ROOT/assets/images/theme-chooser/example-2.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/theme-chooser/example-2.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/theme-chooser/example-2.png
diff --git a/antora/components/ug/modules/vw/assets/images/suppress-password-reset/login-page-default.png b/antora/components/ug-vw/modules/ROOT/assets/images/user-registration/login-page-default.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/suppress-password-reset/login-page-default.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/user-registration/login-page-default.png
diff --git a/antora/components/ug/modules/vw/assets/images/user-registration/sign-up-after-registration.png b/antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-after-registration.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/user-registration/sign-up-after-registration.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-after-registration.png
diff --git a/antora/components/ug/modules/vw/assets/images/user-registration/sign-up-email-with-verification-link.png b/antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-email-with-verification-link.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/user-registration/sign-up-email-with-verification-link.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-email-with-verification-link.png
diff --git a/antora/components/ug/modules/vw/assets/images/user-registration/sign-up-login-page-after-sign-up.png b/antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-login-page-after-sign-up.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/user-registration/sign-up-login-page-after-sign-up.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-login-page-after-sign-up.png
diff --git a/antora/components/ug/modules/vw/assets/images/user-registration/sign-up-page.png b/antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-page.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/user-registration/sign-up-page.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-page.png
diff --git a/antora/components/ug/modules/vw/assets/images/user-registration/sign-up-registration-page.png b/antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-registration-page.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/user-registration/sign-up-registration-page.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/user-registration/sign-up-registration-page.png
diff --git a/antora/components/ug/modules/vw/assets/images/where-am-i/hello_grey_bg.png b/antora/components/ug-vw/modules/ROOT/assets/images/where-am-i/hello_grey_bg.png
similarity index 100%
rename from antora/components/ug/modules/vw/assets/images/where-am-i/hello_grey_bg.png
rename to antora/components/ug-vw/modules/ROOT/assets/images/where-am-i/hello_grey_bg.png
diff --git a/antora/components/ug/modules/odn/assets/attachments/.gitkeep b/antora/components/ug-vw/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ug/modules/odn/assets/attachments/.gitkeep
rename to antora/components/ug-vw/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ug/modules/vw/nav.adoc b/antora/components/ug-vw/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/nav.adoc
rename to antora/components/ug-vw/modules/ROOT/nav.adoc
diff --git a/antora/components/ug/modules/odn/pages/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ug/modules/sec/pages/shiro-realm-implementations/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/shiro-realm-implementations/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/about.adoc b/antora/components/ug-vw/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/about.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ug/modules/vw/pages/configuration-properties.adoc b/antora/components/ug-vw/modules/ROOT/pages/configuration-properties.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/configuration-properties.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/configuration-properties.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation.adoc
diff --git a/antora/components/ug/modules/sec/pages/hints-and-tips/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/hints-and-tips/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/about-page.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/about-page.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/about-page.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/about-page.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/auto-refresh.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/auto-refresh.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/auto-refresh.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/auto-refresh.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/brand-logo.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/brand-logo.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/brand-logo.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/brand-logo.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/cheap-n-cheerful-theme.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/cheap-n-cheerful-theme.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/cheap-n-cheerful-theme.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/cheap-n-cheerful-theme.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/custom-javascript.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/custom-javascript.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/custom-javascript.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/custom-javascript.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/request-parameters.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/request-parameters.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/request-parameters.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/request-parameters.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/top-level-index-page.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/top-level-index-page.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/top-level-index-page.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/top-level-index-page.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/tweaking-css-classes.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/tweaking-css-classes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/using-different-css-file.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/using-different-css-file.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/using-different-css-file.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/using-different-css-file.adoc
diff --git a/antora/components/ug/modules/vw/pages/customisation/welcome-page.adoc b/antora/components/ug-vw/modules/ROOT/pages/customisation/welcome-page.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/customisation/welcome-page.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/customisation/welcome-page.adoc
diff --git a/antora/components/ug/modules/vw/pages/extending.adoc b/antora/components/ug-vw/modules/ROOT/pages/extending.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/extending.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/extending.adoc
diff --git a/antora/components/ug/modules/sec/pages/_partials/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/extending/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/sec/pages/_partials/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/extending/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/extending/custom-bootstrap-theme.adoc b/antora/components/ug-vw/modules/ROOT/pages/extending/custom-bootstrap-theme.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/extending/custom-bootstrap-theme.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/extending/custom-bootstrap-theme.adoc
diff --git a/antora/components/ug/modules/vw/pages/extending/custom-pages.adoc b/antora/components/ug-vw/modules/ROOT/pages/extending/custom-pages.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/extending/custom-pages.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/extending/custom-pages.adoc
diff --git a/antora/components/ug/modules/vw/pages/extending/login-via-query-args-prototyping.adoc b/antora/components/ug-vw/modules/ROOT/pages/extending/login-via-query-args-prototyping.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/extending/login-via-query-args-prototyping.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/extending/login-via-query-args-prototyping.adoc
diff --git a/antora/components/ug/modules/vw/pages/extending/replacing-page-elements.adoc b/antora/components/ug-vw/modules/ROOT/pages/extending/replacing-page-elements.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/extending/replacing-page-elements.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/extending/replacing-page-elements.adoc
diff --git a/antora/components/ug/modules/vw/pages/features.adoc b/antora/components/ug-vw/modules/ROOT/pages/features.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features.adoc
diff --git a/antora/components/ug/modules/odn/pages/jdo-mappings/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/jdo-mappings/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/blob-attachments.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/blob-attachments.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/blob-attachments.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/blob-attachments.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/bookmarked-pages.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/bookmarked-pages.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/bookmarked-pages.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/bookmarked-pages.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/hints-and-copy-url.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/hints-and-copy-url.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/hints-and-copy-url.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/hints-and-copy-url.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/recent-pages.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/recent-pages.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/recent-pages.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/recent-pages.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/sidebar-vs-modal-dialogs.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/sidebar-vs-modal-dialogs.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/sidebar-vs-modal-dialogs.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/sidebar-vs-modal-dialogs.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/titles-in-tables.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/titles-in-tables.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/titles-in-tables.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/titles-in-tables.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/user-registration.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/user-registration.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/user-registration.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/user-registration.adoc
diff --git a/antora/components/ug/modules/vw/pages/features/where-am-i.adoc b/antora/components/ug-vw/modules/ROOT/pages/features/where-am-i.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/features/where-am-i.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/features/where-am-i.adoc
diff --git a/antora/components/ug/modules/vw/pages/hints-and-tips.adoc b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips.adoc
similarity index 89%
rename from antora/components/ug/modules/vw/pages/hints-and-tips.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/hints-and-tips.adoc
index 16f795f..ed867e6 100644
--- a/antora/components/ug/modules/vw/pages/hints-and-tips.adoc
+++ b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips.adoc
@@ -12,9 +12,9 @@ See also hints-n-tips chapters in the:
 
 * the xref:ug:vw:hints-and-tips.adoc[Wicket viewer] guide (this chapter)
 
-* the xref:ug:vro:hints-and-tips.adoc[Restful Objects viewer] guide
+* the xref:ug-vro:ROOT:hints-and-tips.adoc[Restful Objects viewer] guide
 
-* the xref:ug:odn:hints-and-tips.adoc[Datanucleus ObjectStore] guide
+* the xref:ug-odn:ROOT:hints-and-tips.adoc[Datanucleus ObjectStore] guide
 
 * the xref:ug:sec:hints-and-tips.adoc[Security] guide
 
diff --git a/antora/components/ug/modules/odn/pages/hints-and-tips/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/hints-and-tips/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/hints-and-tips/highlight-current-row.adoc b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/highlight-current-row.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/hints-and-tips/highlight-current-row.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/highlight-current-row.adoc
diff --git a/antora/components/ug/modules/vw/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
diff --git a/antora/components/ug/modules/vw/pages/hints-and-tips/per-user-themes.adoc b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/per-user-themes.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/hints-and-tips/per-user-themes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/per-user-themes.adoc
diff --git a/antora/components/ug/modules/vw/pages/hints-and-tips/svg-support.adoc b/antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/svg-support.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/hints-and-tips/svg-support.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/hints-and-tips/svg-support.adoc
diff --git a/antora/components/ug/modules/vw/pages/incode-platform.adoc b/antora/components/ug-vw/modules/ROOT/pages/incode-platform.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/incode-platform.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/incode-platform.adoc
diff --git a/antora/components/ug/modules/vw/pages/layout.adoc b/antora/components/ug-vw/modules/ROOT/pages/layout.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/layout.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/layout.adoc
diff --git a/antora/components/ug/modules/odn/pages/configuring/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/layout/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/configuring/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/layout/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/layout/annotation-based.adoc b/antora/components/ug-vw/modules/ROOT/pages/layout/annotation-based.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/layout/annotation-based.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/layout/annotation-based.adoc
diff --git a/antora/components/ug/modules/vw/pages/layout/file-based.adoc b/antora/components/ug-vw/modules/ROOT/pages/layout/file-based.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/layout/file-based.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/layout/file-based.adoc
diff --git a/antora/components/ug/modules/vw/pages/layout/table-columns.adoc b/antora/components/ug-vw/modules/ROOT/pages/layout/table-columns.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/layout/table-columns.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/layout/table-columns.adoc
diff --git a/antora/components/ug/modules/vw/pages/menubars-layout.adoc b/antora/components/ug-vw/modules/ROOT/pages/menubars-layout.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/menubars-layout.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/menubars-layout.adoc
diff --git a/antora/components/ug/modules/odn/pages/_partials/_attributes.adoc b/antora/components/ug-vw/modules/ROOT/pages/menubars-layout/_attributes.adoc
similarity index 100%
rename from antora/components/ug/modules/odn/pages/_partials/_attributes.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/menubars-layout/_attributes.adoc
diff --git a/antora/components/ug/modules/vw/pages/menubars-layout/annotation-based.adoc b/antora/components/ug-vw/modules/ROOT/pages/menubars-layout/annotation-based.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/menubars-layout/annotation-based.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/menubars-layout/annotation-based.adoc
diff --git a/antora/components/ug/modules/vw/pages/menubars-layout/file-based.adoc b/antora/components/ug-vw/modules/ROOT/pages/menubars-layout/file-based.adoc
similarity index 100%
rename from antora/components/ug/modules/vw/pages/menubars-layout/file-based.adoc
rename to antora/components/ug-vw/modules/ROOT/pages/menubars-layout/file-based.adoc
diff --git a/antora/components/ug-vw/sync_examples.sh b/antora/components/ug-vw/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ug-vw/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/ug/antora.yml b/antora/components/ug/antora.yml
index 3aad7a3..50f35cf 100644
--- a/antora/components/ug/antora.yml
+++ b/antora/components/ug/antora.yml
@@ -5,9 +5,4 @@ start_page: ROOT:about.adoc
 nav:
 - modules/ROOT/nav.adoc
 - modules/fun/nav.adoc
-- modules/vw/nav.adoc
-- modules/vro/nav.adoc
-- modules/odn/nav.adoc
-- modules/sec/nav.adoc
-- modules/tst/nav.adoc
 - modules/btb/nav.adoc
diff --git a/antora/components/ug/modules/ROOT/pages/about.adoc b/antora/components/ug/modules/ROOT/pages/about.adoc
index 953710d..64d3ad4 100644
--- a/antora/components/ug/modules/ROOT/pages/about.adoc
+++ b/antora/components/ug/modules/ROOT/pages/about.adoc
@@ -6,11 +6,11 @@ Apache Isis documentation is broken out into a number of user, reference and "su
 The user guides available are:
 
 * xref:ug:fun:about.adoc[Fundamentals]
-* xref:ug:vw:about.adoc[Wicket viewer]
-* xref:ug:vro:about.adoc[Restful Objects viewer]
-* xref:ug:odn:about.adoc[DataNucleus object store]
-* xref:ug:sec:about.adoc[Security]
-* xref:ug:tst:about.adoc[Testing]
+* xref:ug-vw:ROOT:about.adoc[Wicket viewer]
+* xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]
+* xref:ug-odn:ROOT:about.adoc[DataNucleus object store]
+* xref:ug-sec:ROOT:about.adoc[Security]
+* xref:ug-tst:ROOT:about.adoc[Testing]
 * xref:ug:btb:about.adoc[Beyond the Basics]
 
 The reference guides are:
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 042081f..46afba4 100644
--- a/antora/components/ug/modules/btb/pages/deployment/externalized-configuration.adoc
+++ b/antora/components/ug/modules/btb/pages/deployment/externalized-configuration.adoc
@@ -73,7 +73,7 @@ Note that running the app using Apache Isis' `org.apache.isis.WebServer` bootstr
 
 == Shiro Config
 
-If using Apache Isis' xref:ug:sec:configuring-isis-to-use-shiro.adoc[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file.
+If using Apache Isis' xref:ug-sec:ROOT:configuring-isis-to-use-shiro.adoc[Shiro integration] for authentication and/or authorization, note that it reads from the `shiro.ini` configuration file.
 By default this also resides in `WEB-INF`.
 
 Similar to Apache Isis, Shiro lets this configuration directory be altered, by specifying the `shiroConfigLocations` context parameter.
@@ -253,4 +253,4 @@ The cost of these proxies can be mitigated using:
 
 == Using a JNDI Datasource
 
-See the guidance in the xref:ug:odn:configuring/using-jndi-data-source.adoc[configuring datanucleus] section.
\ No newline at end of file
+See the guidance in the xref:ug-odn:ROOT:configuring/using-jndi-data-source.adoc[configuring datanucleus] section.
\ No newline at end of file
diff --git a/antora/components/ug/modules/btb/pages/headless-access.adoc b/antora/components/ug/modules/btb/pages/headless-access.adoc
index c9a17d7..e08746a 100644
--- a/antora/components/ug/modules/btb/pages/headless-access.adoc
+++ b/antora/components/ug/modules/btb/pages/headless-access.adoc
@@ -2,7 +2,7 @@
 :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[]
 
-This section tackles the topic of enabling access to an Apache Isis application directly, or at least, not through either the xref:ug:vw:about.adoc[Wicket] or xref:ug:vro:about.adoc[Restful] viewers.
+This section tackles the topic of enabling access to an Apache Isis application directly, or at least, not through either the xref:ug-vw:ROOT:about.adoc[Wicket] or xref:ug-vro:ROOT:about.adoc[Restful] viewers.
 
 There are several main use-cases:
 
@@ -12,7 +12,7 @@ There are several main use-cases:
 
 * leveraging an Apache Isis application within a batch process
 
-Note that the calling thread runs in the same process space as the Apache Isis domain object model (must be physically linked to the JAR files containing the domain classes).  For use cases where the calling thread runs in some other process space (eg migrating data from a legacy system), then the xref:ug:vro:about.adoc[Restful Objects viewer] is usually the way to go.
+Note that the calling thread runs in the same process space as the Apache Isis domain object model (must be physically linked to the JAR files containing the domain classes).  For use cases where the calling thread runs in some other process space (eg migrating data from a legacy system), then the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer] is usually the way to go.
 
 The API described in this chapter is reasonably low-level, allowing code to interact very directly with the Apache Isis metamodel and runtime.  Such callers should be considered trusted: they do not (by default) honour any business rules eg implicit in the Isis annotations or hide/disable/validate methods.  However the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service could be used to enforce such business rules if required.
 
diff --git a/antora/components/ug/modules/btb/pages/hints-and-tips.adoc b/antora/components/ug/modules/btb/pages/hints-and-tips.adoc
index 9f6b2d4..a1b453e 100644
--- a/antora/components/ug/modules/btb/pages/hints-and-tips.adoc
+++ b/antora/components/ug/modules/btb/pages/hints-and-tips.adoc
@@ -10,13 +10,13 @@ See also hints-n-tips chapters in the:
 
 * the xref:support:dg:hints-and-tips.adoc[Developers'] guide
 
-* the xref:ug:vw:hints-and-tips.adoc[Wicket viewer] guide
+* the xref:ug-vw:ROOT:hints-and-tips.adoc[Wicket viewer] guide
 
-* the xref:ug:vro:hints-and-tips.adoc[Restful Objects viewer] guide
+* the xref:ug-vro:ROOT:hints-and-tips.adoc[Restful Objects viewer] guide
 
-* the xref:ug:odn:hints-and-tips.adoc[Datanucleus ObjectStore] guide
+* the xref:ug-odn:ROOT:hints-and-tips.adoc[Datanucleus ObjectStore] guide
 
-* the xref:ug:sec:hints-and-tips.adoc[Security] guide
+* the xref:ug-sec:ROOT:hints-and-tips.adoc[Security] guide
 
 * the xref:ug:btb:hints-and-tips.adoc[Beyond the Basics] guide (this chapter).
 
diff --git a/antora/components/ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/antora/components/ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
index 006ae17..b2f0b43 100644
--- a/antora/components/ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
+++ b/antora/components/ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
@@ -40,7 +40,7 @@ image::hints-and-tips/are-you-sure.png[link="{imagesdir}/hints-and-tips/are-you-
 
 [NOTE]
 ====
-Note that these screenshots shows an earlier version of the xref:ug:vw:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
+Note that these screenshots shows an earlier version of the xref:ug-vw:ROOT:about.adoc[Wicket viewer] UI (specifically, pre 1.8.0).
 ====
 
 If the user checks the box:
diff --git a/antora/components/ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc b/antora/components/ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
index d798ff8..4c3c1d2 100644
--- a/antora/components/ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
+++ b/antora/components/ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
@@ -39,8 +39,8 @@ You get the idea.
 == Raise message in the UI
 
 The framework provides the xref:rg:svc:application-layer-api/MessageService.adoc[`MessageService`] as a means to return an out-of-band
-message to the end-user.  In the xref:ug:vw:about.adoc[Wicket viewer] these are shown as "toast" pop-ups; the
-xref:ug:vro:about.adoc[Restful Objects viewer] returns an HTTP header.
+message to the end-user.  In the xref:ug-vw:ROOT:about.adoc[Wicket viewer] these are shown as "toast" pop-ups; the
+xref:ug-vro:ROOT:about.adoc[Restful Objects viewer] returns an HTTP header.
 
 The `UserService` provides three APIs, for different:
 
@@ -56,8 +56,8 @@ None of these messages/errors has any influence on the transaction; any changes
 == Aborting transactions
 
 If you want to abort Apache Isis' transaction, this can be done by throwing an exception.  The exception message
-is displayed to the user on the error page (if xref:ug:vw:about.adoc[Wicket viewer]) or a 500 status error code (if the
-xref:ug:vro:about.adoc[Restful Objects] viewer).
+is displayed to the user on the error page (if xref:ug-vw:ROOT:about.adoc[Wicket viewer]) or a 500 status error code (if the
+xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer).
 
 If the exception thrown is because of an unexpected error (eg a `NullPointerException` in the domain app itself), then
 the error page will include a stack trace.  If however you want to indicate that the exception is in some sense
diff --git a/antora/components/ug/modules/btb/pages/i18n.adoc b/antora/components/ug/modules/btb/pages/i18n.adoc
index 35c849a..8512614 100644
--- a/antora/components/ug/modules/btb/pages/i18n.adoc
+++ b/antora/components/ug/modules/btb/pages/i18n.adoc
@@ -7,7 +7,7 @@ Apache Isis' support for internationlization (i18n) allows every element of the
 
 It also supports translations of messages raised imperatively, by which we mean as the result of a call to `title()` to obtain an object's title, or messages resulting from any business rule violations (eg xref:rg:cms:methods/prefixes/disable.adoc[`disable...()`] or xref:rg:cms:methods/prefixes/validate.adoc[`validate...()`], and so on.
 
-The xref:ug:vw:about.adoc[Wicket viewer] (that is, its labels and messages) is also internationalized using the same mechanism.
+The xref:ug-vw:ROOT:about.adoc[Wicket viewer] (that is, its labels and messages) is also internationalized using the same mechanism.
 If no translations are available, then the Wicket viewer falls back to using Wicket resource bundles.
 
 Isis does not translate the values of your domain objects, though.
@@ -234,7 +234,7 @@ If returns `null`, then the `Exception#getMessage()` is used as a fallback
 
 == Wicket Viewer
 
-The xref:ug:vw:about.adoc[Wicket viewer] (its labels and messages) is also internationalized using
+The xref:ug-vw:ROOT:about.adoc[Wicket viewer] (its labels and messages) is also internationalized using
 the `TranslationService`.
 This is done through an Isis-specific implementation of the Wicket framework's `org.apache.wicket.Localizer` class, namely `LocalizerForIsis`.
 
@@ -334,7 +334,7 @@ msgstr "You can only select 1 item"
 === Login/self-sign-up
 
 In addition, there are a reasonably large number of messages that are used for both login and the
- xref:ug:vw:features/user-registration.adoc[user registration] (self sign-up) and password reset features.
+ xref:ug-vw:ROOT:features/user-registration.adoc[user registration] (self sign-up) and password reset features.
 
 These are:
 
@@ -490,7 +490,7 @@ msgstr "Username"
 
 So much for the API; but as noted, it is also necessary to ensure that the required translations are recorded (by the `TranslationService`) into the `.pot` file.
 
-For this, we recommend that you ensure that all such methods are tested through an xref:ug:tst:integ-test-support.adoc[integration test] (not unit test).
+For this, we recommend that you ensure that all such methods are tested through an xref:ug-tst:ROOT:integ-test-support.adoc[integration test] (not unit test).
 
 For example, here's the corresponding integration test for the "Exclamation mark" example from the simpleapp (above):
 
@@ -550,7 +550,7 @@ msgid "<i>Quantity</i>"
 msgstr "<i>Quantité</i>"
 ----
 
-For this to work, the `namedEscaped()` attribute must be specified using either the xref:ug:vw:layout/file-based.adoc[layout file], or using an annotation such as xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`].
+For this to work, the `namedEscaped()` attribute must be specified using either the xref:ug-vw:ROOT:layout/file-based.adoc[layout file], or using an annotation such as xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`].
 
 For example:
 
diff --git a/antora/components/ug/modules/btb/pages/web-xml.adoc b/antora/components/ug/modules/btb/pages/web-xml.adoc
index d9fcf3f..7905fbf 100644
--- a/antora/components/ug/modules/btb/pages/web-xml.adoc
+++ b/antora/components/ug/modules/btb/pages/web-xml.adoc
@@ -6,12 +6,12 @@ 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.
 
 
-Apache Isis provides two different viewers, the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug:vro:about.adoc[RestfulObjects viewer].
+Apache Isis provides two different viewers, the xref:ug-vw:ROOT:about.adoc[Wicket viewer] and the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 You can deploy both of these concurrently, or deploy just the Wicket viewer, or deploy just the Restful Objects viewer.
 The configuration in `web.xml` varies accordingly, both in terms of the servlet context listeners, filters and servlets.
 
 If you are using Apache Isis' integration with Apache Shiro (for security) then this also needs configuring in `web.xml`.
-See the xref:ug:sec:configuring-isis-to-use-shiro.adoc[security chapter] for full details on this topic.
+See the xref:ug-sec:ROOT:configuring-isis-to-use-shiro.adoc[security chapter] for full details on this topic.
 
 The servlets and filters are mapped to three main pipelines:
 
@@ -466,7 +466,7 @@ This filter should be mapped to the `servlet-name` for the RestEasy `HttpServlet
 
 === `IsisTransactionFilterForRestfulObjects`
 
-The `IsisTransactionFilterForRestfulObjects` filter simply ensures that a transaction is in progress for all calls routed to the xref:ug:vro:about.adoc[RestfulObjects viewer].
+The `IsisTransactionFilterForRestfulObjects` filter simply ensures that a transaction is in progress for all calls routed to the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 Its definition is:
 
diff --git a/antora/components/ug/modules/fun/pages/about.adoc b/antora/components/ug/modules/fun/pages/about.adoc
index aff52c8..0b1aaee 100644
--- a/antora/components/ug/modules/fun/pages/about.adoc
+++ b/antora/components/ug/modules/fun/pages/about.adoc
@@ -3,7 +3,7 @@ include::_attributes.adoc[]
 
 This guide introduces the xref:ug:fun:core-concepts.adoc[core concepts] and the xref:ug:fun:building-blocks.adoc[building blocks] of Apache Isis, and tells you how to xref:helloworld:ROOT:about.adoc[get started] with a Maven archetype.
 
-It describes in some detail the conventions of Apache Isis' xref:ug:fun:programming-model.adoc[programming model]s, describes how to influence the xref:ug:vw:layout.adoc[UI layout] of your domain objects , and it catalogues various xref:support:dg:hints-and-tips.adoc.adoc[FAQ]s.
+It describes in some detail the conventions of Apache Isis' xref:ug:fun:programming-model.adoc[programming model]s, describes how to influence the xref:ug-vw:ROOT:layout.adoc[UI layout] of your domain objects , and it catalogues various xref:support:dg:hints-and-tips.adoc.adoc[FAQ]s.
 
 
 
diff --git a/antora/components/ug/modules/fun/pages/building-blocks/identifiers/oid.adoc b/antora/components/ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
index 240ef77..5fc3d93 100644
--- a/antora/components/ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
+++ b/antora/components/ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
@@ -29,7 +29,7 @@ When the PDF is scanned by the mail room, the barcode could be read to attach th
 
 * similarly within implementations of xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] to persist published action invocations
 
-* and of course both the xref:ug:vro:about.adoc[RestfulObjects viewer] and xref:ug:vw:about.adoc[Wicket viewer] use the oid tuple to look up, render and allow the user to interact with domain objects.
+* and of course both the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] and xref:ug-vw:ROOT:about.adoc[Wicket viewer] use the oid tuple to look up, render and allow the user to interact with domain objects.
 
 Although the exact content of an OID should be considered opaque by domain objects, it is possible for domain objects to obtain OIDs.
 These are represented as ``Bookmark``s, obtained from the xref:rg:svc:integration-api/BookmarkService.adoc[``BookmarkService``].
diff --git a/antora/components/ug/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc b/antora/components/ug/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc
index 6aa563a..f70d570 100644
--- a/antora/components/ug/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc
+++ b/antora/components/ug/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc
@@ -22,7 +22,7 @@ For example, a shipped `Order` might have a slightly different icon to a yet-to-
 == CSS Class
 
 In addition to the title and icon, it is also possible for a domain object to provide a CSS class hint.
-In conjunction with xref:ug:vw:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
+In conjunction with xref:ug-vw:ROOT:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
 
 
 [TIP]
diff --git a/antora/components/ug/modules/fun/pages/building-blocks/metamodel.adoc b/antora/components/ug/modules/fun/pages/building-blocks/metamodel.adoc
index aa80ca8..5e1d316 100644
--- a/antora/components/ug/modules/fun/pages/building-blocks/metamodel.adoc
+++ b/antora/components/ug/modules/fun/pages/building-blocks/metamodel.adoc
@@ -18,7 +18,7 @@ This is an ORM that implements the JDO and JPA APIs, and which can map domain ob
 Apache Isis recognizes a number of the JDO annotations such as `@javax.jdo.annotations.Column(allowsNull=...)`.
 
 In addition, the framework builds up the metamodel for each domain object using
-xref:ug:vw:layout.adoc[layout hints], such as `Customer.layout.xml`.
+xref:ug-vw:ROOT:layout.adoc[layout hints], such as `Customer.layout.xml`.
 These provide metadata such as grouping elements of the UI together, using multi-column layouts, and so on.
 The layout file can be modified while the application is still running, and are picked up automatically; a useful way to speed up feedback.
 
diff --git a/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc b/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc
index 517def7..adf5d8f 100644
--- a/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc
+++ b/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc
@@ -15,7 +15,7 @@ Similarly, entities might also have a corresponding factory service: a `Customer
 On the other hand, from an end-users' perspective the act of finding an existing object vs creating a new one are quite closely related.
 For this reason, in Apache Isis it's therefore quite common to have a single domain service that acts as both a factory and a repository (and is usually called just a "repository").
 
-The behaviour of these services is rendered in various ways, though the most obvious is as the menu actions on the top-level menu bars in the xref:ug:vw:about.adoc[Wicket viewer]'s UI.
+The behaviour of these services is rendered in various ways, though the most obvious is as the menu actions on the top-level menu bars in the xref:ug-vw:ROOT:about.adoc[Wicket viewer]'s UI.
 
 Domain services can also be used for a number of other purposes:
 
diff --git a/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc b/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
index 6d14a56..1d03853 100644
--- a/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
+++ b/antora/components/ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
@@ -8,7 +8,7 @@ End users interact with view models in the same way as a domain entity, indeed t
 
 However, whereas domain entities are mapped to a datastore, view models are not.
 Instead they are recreated dynamically by serializing their state, ultimately into the URL itself (meaning their state it is in effect implicitly managed by the client browser).
-You will notice that the URL for view models (as shown in xref:ug:vw:about.adoc[Wicket viewer] or xref:ug:vro:about.adoc[RestfulObjects viewer]) tends to be quite long.
+You will notice that the URL for view models (as shown in xref:ug-vw:ROOT:about.adoc[Wicket viewer] or xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]) tends to be quite long.
 
 This capability opens up a number of more advanced use cases:
 
@@ -101,16 +101,16 @@ However, if the application needs to integrate with other systems, or if the app
 
 DTOs (data transfer objects) are simple classes that (according to link:https://en.wikipedia.org/wiki/Data_transfer_object[wikipedia]) "carry data between processes".
 
-If those two processes are parts of the same overall application (the same team builds and deploys both server and client) then there's generally no need to define a DTO; just access the entities using Apache Isis' xref:ug:vro:about.adoc[RestfulObjects viewer].
+If those two processes are parts of the same overall application (the same team builds and deploys both server and client) then there's generally no need to define a DTO; just access the entities using Apache Isis' xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer].
 
 On the other hand, if the client consuming the DTO is a different application -- by which we mean developed/deployed by a different (possible third-party) team -- then the DTOs act as a formal contract between the provider and the consumer.
-In such cases, exposing domain entities over xref:ug:vro:about.adoc[RestfulObjects] would be "A Bad Thing"(TM) because the consumer would in effect have access to implementation details that could then not be easily changed by the producer.
+In such cases, exposing domain entities over xref:ug-vro:ROOT:about.adoc[RestfulObjects] would be "A Bad Thing"(TM) because the consumer would in effect have access to implementation details that could then not be easily changed by the producer.
 
 To support this use case, a view model can be defined such that it can act as a DTO.
 This is done by annotating the class using JAXB annotations; this allows the consumer to obtain the DTO in XML format along with a corresponding XSD schema describing the structure of that XML.
 A discussion of how that might be done using an ESB such as link:http://camel.apache.org[Apache Camel(TM)] follows xref:ug:fun:building-blocks/types-of-domain-objects/view-models.adoc#dtos_consumers[below].
 
-In case it's not obvious, these DTOs are still usable as "regular" view models; they will render in the xref:ug:vw:about.adoc[Wicket viewer] just like any other.
+In case it's not obvious, these DTOs are still usable as "regular" view models; they will render in the xref:ug-vw:ROOT:about.adoc[Wicket viewer] just like any other.
 In fact (as the xref:ug:fun:programming-model/view-models/jaxb.adoc[programming model] section below makes clear), these JAXB-annotated view models are in many regards the most powerful of all the alternative ways of writing view models.
 
 It's also worth noting that it is also possible to download the XML (or XSD) straight from the UI, useful during development.
@@ -124,7 +124,7 @@ Details of how to consume such DTOs can be found xref:ug:fun:programming-model/v
 
 == For REST Clients
 
-The xref:ug:vro:about.adoc[Restful Objects] viewer automatically provides a REST API for both domain entities.
+The xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer automatically provides a REST API for both domain entities.
 Or, you can use it to only expose view models, taking care to map the state of the domain entity/ies into a view model.
 
 Which beckons the question: when is it safe to safe to expose domain entities directly as REST resources, and when should view models be exposed instead.
diff --git a/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc b/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
index a414495..297c1ca 100644
--- a/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
+++ b/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
@@ -42,6 +42,6 @@ In CQRS the commands correspond to the business logic that mutates the system.
 Whether this logic is part of the command class (`PlaceOrderCommand`) or whether that command delegates to methods on the domain object is an implementation detail; but it certainly is common for the business logic to be wholly within the command object and for the domain object to be merely a data holder of the data within the command/write datastore.
 
 In Apache Isis this same separation of business logic from the underlying data can be accomplished most straightforwardly using xref:ug:fun:building-blocks/types-of-domain-objects/mixins.adoc[mixins].
-In the UI (surfaced by the xref:ug:vw:about.adoc[Wicket viewer]) or in the REST API (surfaced by the xref:ug:vro:about.adoc[RestfulObjects viewer]) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait) only at runtime.
+In the UI (surfaced by the xref:ug-vw:ROOT:about.adoc[Wicket viewer]) or in the REST API (surfaced by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]) the behaviour appears to reside on the domain object; however the behaviour actually resides on separate classes and is mixed in (like a trait) only at runtime.
 
 
diff --git a/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc b/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
index b5d36a4..ccef8fd 100644
--- a/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
+++ b/antora/components/ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
@@ -12,7 +12,7 @@ The views provided out of the box by these frameworks tend to be simple  _CRUD_-
 More sophisticated behavior is accomplished by customizing the generated controllers.
 
 The most obvious difference when developing an Apache Isis application is its deliberate lack of an explicit controller layer; non- _CRUD_ behavior is automatically made available in its generic object-oriented  __UI__s.
-More sophisticated UIs can be built either by xref:ug:vw:extending.adoc[extending Apache Isis' Wicket viewer] or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by Apache Isis' xref:ug:vro:about.adoc[Restful Objects] viewer.
+More sophisticated UIs can be built either by xref:ug-vw:ROOT:extending.adoc[extending Apache Isis' Wicket viewer] or by writing a bespoke UI leveraging the REST (hypermedia) API automatically exposed by Apache Isis' xref:ug-vro:ROOT:about.adoc[Restful Objects] viewer.
 Other frameworks can also be used to implement REST APIs, of course, but generally they require a significant amount of development to get anywhere near the level of sophistication provided automatically by Apache Isis' REST API.
 
 Although these frameworks all provide their own ecosystems of extensions, Apache Isis' equivalent link:http://platform.incode.org[Incode Platform^] modules (non-ASF) tend to work at a higher-level of abstraction.
@@ -23,5 +23,5 @@ Again, these addons can be plugged into any Isis app.
 In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness.
 Apache Isis' support is similar.
 Where Apache Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests.
-Instead, Apache Isis provides a "xref:ug:tst:integ-test-support/wrapper-factory.adoc[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated.
+Instead, Apache Isis provides a "xref:ug-tst:ROOT:integ-test-support/wrapper-factory.adoc[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated.
 On a more pragmatic level, the link:http://platform.incode.org[Incode Platform^]'s fakedata module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.
diff --git a/antora/components/ug/modules/fun/pages/core-concepts/deployment-options.adoc b/antora/components/ug/modules/fun/pages/core-concepts/deployment-options.adoc
index bad6206..92135a1 100644
--- a/antora/components/ug/modules/fun/pages/core-concepts/deployment-options.adoc
+++ b/antora/components/ug/modules/fun/pages/core-concepts/deployment-options.adoc
@@ -60,7 +60,7 @@ REST (Representation State Transfer) is an architectural style for building high
 Many commercial web APIs (twitter, facebook, Amazon) are implemented as either pure REST APIs or some approximation therein.
 
 The http://restfulobjects.org[Restful Objects specification] defines a means by a domain object model can be exposed as RESTful resources using JSON representations over HTTP.
-Apache Isis' xref:ug:vro:about.adoc[RestfulObjects viewer] is an implementation of that spec, making any Apache Isis domain object automatically available via REST.
+Apache Isis' xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] is an implementation of that spec, making any Apache Isis domain object automatically available via REST.
 
 There are a number of use cases for deploying Isis as a REST API, including:
 
diff --git a/antora/components/ug/modules/fun/pages/core-concepts/principles.adoc b/antora/components/ug/modules/fun/pages/core-concepts/principles.adoc
index 127e450..a37baa9 100644
--- a/antora/components/ug/modules/fun/pages/core-concepts/principles.adoc
+++ b/antora/components/ug/modules/fun/pages/core-concepts/principles.adoc
@@ -5,8 +5,8 @@ include::_attributes.adoc[]
 
 
 Apache Isis is primarily aimed at custom-built "enterprise" applications.
-The UI provided by the xref:ug:vw:about.adoc[Wicket viewer] is intended to be usable by domain experts, typically end-users within the organization.
-The REST API exposed by the xref:ug:vro:about.adoc[RestfulObjects viewer] allows custom apps to be developed -- eg using Angular or similar -- for use by those requiring more guidance; typically end-users outside of the organization.
+The UI provided by the xref:ug-vw:ROOT:about.adoc[Wicket viewer] is intended to be usable by domain experts, typically end-users within the organization.
+The REST API exposed by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer] allows custom apps to be developed -- eg using Angular or similar -- for use by those requiring more guidance; typically end-users outside of the organization.
 This section describes some of the core principles and values that the framework aims to honour and support.
 
 
diff --git a/antora/components/ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc b/antora/components/ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
index 9d4a804..6fd6f83 100644
--- a/antora/components/ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
+++ b/antora/components/ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
@@ -21,7 +21,7 @@ The diagram below illustrates this:
 .decoupled applications
 image::core-concepts/philosophy/decoupled-applications.png[width="800px",link="{imagesdir}/core-concepts/philosophy/decoupled-applications.png"]
 
-Here, the presentation layer (xref:ug:vw:about.adoc[Wicket UI] or xref:ug:vro:about.adoc[REST API]) is handled by the framework, while the developer focusses on just the domain layer.
+Here, the presentation layer (xref:ug-vw:ROOT:about.adoc[Wicket UI] or xref:ug-vro:ROOT:about.adoc[REST API]) is handled by the framework, while the developer focusses on just the domain layer.
 The framework encourages splitting this functionality into modules; each such module has its counterpart (typically tables within a given RDBMS database schema) within the persistence layer.
 
 This architecture means that it's impossible for business logic to leach out into the adjacent presentation layer because the developer doesn't (can't) write any code for presentation layer.
diff --git a/antora/components/ug/modules/fun/pages/crud.adoc b/antora/components/ug/modules/fun/pages/crud.adoc
index 0a54650..7833721 100644
--- a/antora/components/ug/modules/fun/pages/crud.adoc
+++ b/antora/components/ug/modules/fun/pages/crud.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 This chapter shows the idioms for creating, reading, updating and deleting xref:ug:fun:building-blocks/types-of-domain-objects/domain-entities.adoc[domain entities].
 The main domain services used for this are xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] and xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
 
-It also shows how to instantiate xref:ug:fun:building-blocks/types-of-domain-objects/view-models.adoc[view models] and how to programmatically instantiate xref:ug:fun:building-blocks/types-of-domain-objects/mixins.adoc[mixins] (useful primarily for xref:ug:tst:integ-test-support.adoc[integration testing]).
+It also shows how to instantiate xref:ug:fun:building-blocks/types-of-domain-objects/view-models.adoc[view models] and how to programmatically instantiate xref:ug:fun:building-blocks/types-of-domain-objects/mixins.adoc[mixins] (useful primarily for xref:ug-tst:ROOT:integ-test-support.adoc[integration testing]).
 
 
 
diff --git a/antora/components/ug/modules/fun/pages/programming-model.adoc b/antora/components/ug/modules/fun/pages/programming-model.adoc
index e4824be..7a52ac5 100644
--- a/antora/components/ug/modules/fun/pages/programming-model.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model.adoc
@@ -49,7 +49,7 @@ Indeed, they can additionally be annotated using `@XmlTypeAdapter` if required.
 As for view models, which is used is a matter of personal preference.
 
 * finally, *domain services*` are annotated with `@DomainService(nature=...)` where the nature is either `VIEW` (for domain services whose actions appear in the viewers, eg on the top-level menu bars), or `DOMAIN` (for domain services whose
-functionality is simply for other domain objects to invoke programmatically), or `VIEW_REST_ONLY` (for domain services whose functionality is surfaced only by the xref:ug:vro:about.adoc[RestfulObjects viewer]).
+functionality is simply for other domain objects to invoke programmatically), or `VIEW_REST_ONLY` (for domain services whose functionality is surfaced only by the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer]).
 
 You can generally recognize an Apache Isis domain class because it will be probably be annotated using `@DomainObject` and `@DomainService`.
 
@@ -58,7 +58,7 @@ If a domain service does hold state (eg the `Scratchpad` service noted above) th
 
 The framework also defines supplementary annotations, `@DomainObjectLayout` and `@DomainServiceLayout`.
 These provide hints relating to the layout of the domain object in the user interface.
-(Alternatively, these UI hints can be defined in a supplementary xref:ug:vw:layout.adoc[`.layout.xml`] file.
+(Alternatively, these UI hints can be defined in a supplementary xref:ug-vw:ROOT:layout.adoc[`.layout.xml`] file.
 
 
 
diff --git a/antora/components/ug/modules/fun/pages/programming-model/collections.adoc b/antora/components/ug/modules/fun/pages/programming-model/collections.adoc
index 1bd1dbb..6443e85 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/collections.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/collections.adoc
@@ -14,7 +14,7 @@ Most collections (those that are modifiable) will also have a setter and, if per
 And collections properties will also have a number of annotations:
 
 * Apache Isis defines its own `@Collection` annotation for capturing domain semantics.
-It also provides a `@CollectionLayout` for UI hints (though the information in this annotation may instead be provided by a supplementary xref:ug:vw:layout.adoc[`.layout.xml`] file)
+It also provides a `@CollectionLayout` for UI hints (though the information in this annotation may instead be provided by a supplementary xref:ug-vw:ROOT:layout.adoc[`.layout.xml`] file)
 
 * the collections of domain entities are often annotated with various JDO/DataNucleus annotations, most notably `javax.jdo.annotations.Persistent`.
 This and other annotations can be used to specify if the association is bidirectional, and whether to define a link table or not to hold foreign key columns.
diff --git a/antora/components/ug/modules/fun/pages/programming-model/domain-entities.adoc b/antora/components/ug/modules/fun/pages/programming-model/domain-entities.adoc
index 572fc67..61c425c 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/domain-entities.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/domain-entities.adoc
@@ -137,6 +137,6 @@ RepositoryService repositoryService;
 
 [TIP]
 ====
-See the xref:ug:odn:about.adoc[DataNucleus objectstore guide] for further information on annotating domain entities.
+See the xref:ug-odn:ROOT:about.adoc[DataNucleus objectstore guide] for further information on annotating domain entities.
 ====
 
diff --git a/antora/components/ug/modules/fun/pages/programming-model/domain-services/menu.adoc b/antora/components/ug/modules/fun/pages/programming-model/domain-services/menu.adoc
index e617644..f676487 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/domain-services/menu.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/domain-services/menu.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 Menu services provide actions to be rendered on the menu.
 
 For the Wicket viewer, each service's actions appear as a collection of menu items of a named menu, and this menu is on one of the three menu bars provided by the Wicket viewer.
-Although these can be organised using annotations, it's usually easier to use a xref:ug:vw:menubars-layout/file-based.adoc[`menubars.layout.xml`] file.
+Although these can be organised using annotations, it's usually easier to use a xref:ug-vw:ROOT:menubars-layout/file-based.adoc[`menubars.layout.xml`] file.
 
 For the Restful Objects viewer, all menu services are shown in the services representation.
 
diff --git a/antora/components/ug/modules/fun/pages/programming-model/domain-services/organizing-services.adoc b/antora/components/ug/modules/fun/pages/programming-model/domain-services/organizing-services.adoc
index 3fca007..8dbf3df 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/domain-services/organizing-services.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/domain-services/organizing-services.adoc
@@ -8,11 +8,11 @@ In larger applications we have found it worthwhile to ensure that our domain ser
 
 The application provides the `@DomainService(nature=...)` annotation that helps distinguish some of these responsibilities:
 
-* `VIEW` indicates that the actions should appear on the menu of the xref:ug:vw:about.adoc[Wicket viewer], and as top-level actions for the REST API provided by the xref:ug:vro:about.adoc[Restful Objects viewer]
+* `VIEW` indicates that the actions should appear on the menu of the xref:ug-vw:ROOT:about.adoc[Wicket viewer], and as top-level actions for the REST API provided by the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]
 
 * `DOMAIN` indicates that the actions are for other domain objects to invoke (either directly or indirectly through the event bus), but in any case should not be rendered at all in the UI
 
-* `VIEW_REST_ONLY` indicates that the actions should appear in the REST API provided by the xref:ug:vro:about.adoc[Restful Objects viewer], but not rendered by the xref:ug:vw:about.adoc[Wicket viewer].
+* `VIEW_REST_ONLY` indicates that the actions should appear in the REST API provided by the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer], but not rendered by the xref:ug-vw:ROOT:about.adoc[Wicket viewer].
 
 If the domain service nature is not specified (or is left to its default, `VIEW`), then the service's actions will appear in the UI.
 
diff --git a/antora/components/ug/modules/fun/pages/programming-model/properties.adoc b/antora/components/ug/modules/fun/pages/programming-model/properties.adoc
index 7bd64b7..c22bbbb 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/properties.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/properties.adoc
@@ -14,7 +14,7 @@ Most properties (those that are editable/modifiable) will also have a setter and
 And most properties will also have a number of annotations:
 
 * Apache Isis defines its own set own `@Property` annotation for capturing domain semantics.
-It also provides a `@PropertyLayout` for UI hints (though the information in this annotation may instead be provided by a supplementary xref:ug:vw:layout.adoc[`.layout.xml`] file)
+It also provides a `@PropertyLayout` for UI hints (though the information in this annotation may instead be provided by a supplementary xref:ug-vw:ROOT:layout.adoc[`.layout.xml`] file)
 
 * the properties of domain entities are often annotated with the JDO/DataNucleus `@javax.jdo.annotations.Column` annotation.
 For property references, there may be other annotations to indicate whether the reference is bidirectional.
@@ -123,7 +123,7 @@ If this is omitted then whether editing is enabled or disabled is defined global
 
 == Ignoring Properties
 
-By default Apache Isis will automatically render all properties in the xref:ug:vw:about.adoc[Wicket UI] or in the xref:ug:vro:about.adoc[REST API].
+By default Apache Isis will automatically render all properties in the xref:ug-vw:ROOT:about.adoc[Wicket UI] or in the xref:ug-vro:ROOT:about.adoc[REST API].
 To get Apache Isis to ignore a property (exclude it from its metamodel), annotate the getter using `@Programmatic`.
 
 Similarly, you can tell JDO/DataNucleus to ignore a property using the `@javax.jdo.annotations.NotPersistent` annotation.
diff --git a/antora/components/ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc b/antora/components/ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
index 9449d74..2c71f9e 100644
--- a/antora/components/ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
+++ b/antora/components/ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The actual consumers of DTOs will generally obtain the XML of the view models either by requesting the XML directly, eg using the xref:ug:vro:about.adoc[RestfulObjects viewer], or may have the XML sent to them asynchronously using an ESB such as Apache Camel.
+The actual consumers of DTOs will generally obtain the XML of the view models either by requesting the XML directly, eg using the xref:ug-vro:ROOT:about.adoc[RestfulObjects viewer], or may have the XML sent to them asynchronously using an ESB such as Apache Camel.
 
 In the former case, the consumer requests the DTO by calling the REST API with the appropriate HTTP `Accept` header.
 An appropriate implementation of xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] can then be used to return the appropriate DTO (as XML).
@@ -23,7 +23,7 @@ In our case we focus on the validation (to determine the nature of the inbound m
 The (non-ASF) link:http://platform.incode.org[Incode Platform^]'s publishmq module provides an out-of-the-box solution of this design.
 It provides an implementation of the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], but which simply publishes instances of xref:rg:cms:schema/ixn.adoc[`InteractionDto`] to an ActiveMQ queue.
 Camel (or similar) can then be hooked up to consume these events from this queue, and use a processor to parse the action memento to determine what has changed on the source system.
-Thereafter, a subsequent Camel processor can then call back to the source - via the xref:ug:vro:about.adoc[Restful Objects viewer] - to enrich the message with additional details using a DTO.
+Thereafter, a subsequent Camel processor can then call back to the source - via the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer] - to enrich the message with additional details using a DTO.
 
 
 
diff --git a/antora/components/ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc b/antora/components/ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
index 395652f..f48ac3a 100644
--- a/antora/components/ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
+++ b/antora/components/ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
@@ -24,7 +24,7 @@ public void renew() {
 }
 ----
 
-Alternatively, you can specify these hints dynamically in the xref:ug:vw:layout.adoc[`Xxx.layout.xml`] for the entity:
+Alternatively, you can specify these hints dynamically in the xref:ug-vw:ROOT:layout.adoc[`Xxx.layout.xml`] for the entity:
 
 [source,xml]
 ----
diff --git a/antora/components/ug/modules/fun/pages/ui-hints/layout.adoc b/antora/components/ug/modules/fun/pages/ui-hints/layout.adoc
index af3cd6f..17590c2 100644
--- a/antora/components/ug/modules/fun/pages/ui-hints/layout.adoc
+++ b/antora/components/ug/modules/fun/pages/ui-hints/layout.adoc
@@ -7,6 +7,6 @@ The most significant aspect of the UI is the layout of the object's members: its
 These can be organized into columns, rows and tabs.
 
 This can be accomplished using either annotations or through a separate file-based layout.
-Since this is a large topic, it has its own xref:ug:vw:layout.adoc[layout chapter] in the Wicket viewer guide.
+Since this is a large topic, it has its own xref:ug-vw:ROOT:layout.adoc[layout chapter] in the Wicket viewer guide.
 
 
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 e2dca19..22746dc 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
@@ -10,7 +10,7 @@ The icon is often the same for all instances of a particular class, but it's als
 This could represent the state of that object (eg a shipped order, say, or overdue library book).
 
 It is also possible for an object to provide a CSS class hint.
-In conjunction with xref:ug:vw:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
+In conjunction with xref:ug-vw:ROOT:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
 
 
 == Object Title
@@ -173,7 +173,7 @@ If there is no requirement to customize the icon (the normal case), then the ico
 For example, the icon for a class `org.mydomain.myapp.Customer` will be `org/mydomain/myapp/Customer.png` (if it exists).
 
 Alternatively, a font-awesome icon can be used.
-This is specified using the xref:rg:ant:DomainObjectLayout/cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:ug:vw:layout/file-based.adoc[layout.xml] file.
+This is specified using the xref:rg:ant:DomainObjectLayout/cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:ug-vw:ROOT:layout/file-based.adoc[layout.xml] file.
 
 For example:
 
@@ -257,14 +257,14 @@ public class OrderSubscriptions extends AbstractSubscriber {
 == Object CSS Styling
 
 It is also possible for an object to return a xref:rg:cms:methods/reserved/cssClass.adoc[CSS class].
-In conjunction with xref:ug:vw:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
+In conjunction with xref:ug-vw:ROOT:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
 
 
 
 === Declarative style
 
 To render an object with a particular CSS, use
-xref:rg:ant:DomainObjectLayout/cssClass.adoc[`@DomainObjectLayout#cssClass()`] or in the xref:ug:vw:layout/file-based.adoc[layout.xml] file.
+xref:rg:ant:DomainObjectLayout/cssClass.adoc[`@DomainObjectLayout#cssClass()`] or in the xref:ug-vw:ROOT:layout/file-based.adoc[layout.xml] file.
 
 When the domain object is rendered on its own page, this CSS class will appear on a top-level `<div>`.
 Or, when the domain object is rendered as a row in a collection, then the CSS class will appear in a `<div>` wrapped by the `<tr>` of the row.
diff --git a/examples/apps/helloworld/_adoc/modules/ROOT/pages/about.adoc b/examples/apps/helloworld/_adoc/modules/ROOT/pages/about.adoc
index c2881e5..f9f6d39 100644
--- a/examples/apps/helloworld/_adoc/modules/ROOT/pages/about.adoc
+++ b/examples/apps/helloworld/_adoc/modules/ROOT/pages/about.adoc
@@ -327,7 +327,7 @@ where `myapp` is the `artifactId` entered above.
 
 == Running the App
 
-The `helloworld` archetype generates a single WAR file, configured to run both the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug:vro:about.adoc[Restful Objects viewer].
+The `helloworld` archetype generates a single WAR file, configured to run both the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer].
 The archetype also configures the DataNucleus/JDO Objectstore to use an in-memory HSQLDB connection.
 
 Once you've built the app, you can run the WAR in a variety of ways.
@@ -377,7 +377,7 @@ image::helloworld-before-launch.png[width="600px",link="{imagesdir}/helloworld-b
 
 == Using the App
 
-When you start the app, you'll be presented with a welcome page from which you can access the webapp using either the xref:ug:vw:about.adoc[Wicket viewer] or the xref:ug:vro:about.adoc[Restful Objects viewer]:
+When you start the app, you'll be presented with a welcome page from which you can access the webapp using either the xref:ug:vw:about.adoc[Wicket viewer] or the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer]:
 
 image::using-hello-world/010-root-page.png[width="600px",link="{imagesdir}/using-hello-world/010-root-page.png"]
 
diff --git a/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc b/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc
index 6c98802..d62c43c 100644
--- a/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc
+++ b/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc
@@ -575,7 +575,7 @@ where `myapp` is the `artifactId` entered above.
 
 == Running the App
 
-The `simpleapp` archetype generates a single WAR file, configured to run both the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug:vro:about.adoc[Restful Objects viewer].
+The `simpleapp` archetype generates a single WAR file, configured to run both the xref:ug:vw:about.adoc[Wicket viewer] and the xref:ug-vro:ROOT:about.adoc[Restful Objects viewer].
 The archetype also configures the DataNucleus/JDO Objectstore to use an in-memory HSQLDB connection.
 
 Once you've built the app, you can run the WAR in a variety of ways.
diff --git a/site.yml b/site.yml
index d23d3f4..37043c1 100644
--- a/site.yml
+++ b/site.yml
@@ -9,6 +9,21 @@ content:
     start_path: antora/components/ug
     branches: HEAD
   - url: .
+    start_path: antora/components/ug-odn
+    branches: HEAD
+  - url: .
+    start_path: antora/components/ug-sec
+    branches: HEAD
+  - url: .
+    start_path: antora/components/ug-tst
+    branches: HEAD
+  - url: .
+    start_path: antora/components/ug-vro
+    branches: HEAD
+  - url: .
+    start_path: antora/components/ug-vw
+    branches: HEAD
+  - url: .
     branches: HEAD
     start_path: antora/components/rg
   - url: .


[isis] 01/08: ISIS-2062: moves demo docs to demo source code.

Posted by da...@apache.org.
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 dccbf9e800058302df2f4f65feef6ecc144f5f2c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Sep 17 19:09:55 2019 +0100

    ISIS-2062: moves demo docs to demo source code.
    
    also changes module titles so that they are ordered better in LHS.
---
 antora/components/extensions/antora.yml                                 | 2 +-
 antora/components/rg/antora.yml                                         | 2 +-
 antora/components/ug/antora.yml                                         | 2 +-
 {antora/components/demoapp => examples/apps/demo/_adoc}/antora.yml      | 2 +-
 {antora/components/demoapp => examples/apps/demo/_adoc}/examples.csv    | 0
 .../demoapp => examples/apps/demo/_adoc}/modules/ROOT/_attributes.adoc  | 0
 .../demoapp => examples/apps/demo/_adoc}/modules/ROOT/nav.adoc          | 0
 .../apps/demo/_adoc}/modules/ROOT/pages/_attributes.adoc                | 0
 .../apps/demo/_adoc}/modules/ROOT/pages/_partials/_attributes.adoc      | 0
 .../demoapp => examples/apps/demo/_adoc}/modules/ROOT/pages/about.adoc  | 0
 .../components/demoapp => examples/apps/demo/_adoc}/sync_examples.sh    | 0
 examples/apps/helloworld/_adoc/antora.yml                               | 2 +-
 examples/apps/simpleapp/_adoc/antora.yml                                | 2 +-
 site.yml                                                                | 2 +-
 14 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/antora/components/extensions/antora.yml b/antora/components/extensions/antora.yml
index cab0db4..46631e3 100644
--- a/antora/components/extensions/antora.yml
+++ b/antora/components/extensions/antora.yml
@@ -1,5 +1,5 @@
 name: ext
-title: Extensions
+title: "Extensions"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/antora/components/rg/antora.yml b/antora/components/rg/antora.yml
index 9980a97..69479bf 100644
--- a/antora/components/rg/antora.yml
+++ b/antora/components/rg/antora.yml
@@ -1,5 +1,5 @@
 name: rg
-title: Reference Guides
+title: "Guides - Reference Guides"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/antora/components/ug/antora.yml b/antora/components/ug/antora.yml
index 11b0b9a..3aad7a3 100644
--- a/antora/components/ug/antora.yml
+++ b/antora/components/ug/antora.yml
@@ -1,5 +1,5 @@
 name: ug
-title: User Guides
+title: "Guides - User Guides"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/antora/components/demoapp/antora.yml b/examples/apps/demo/_adoc/antora.yml
similarity index 75%
rename from antora/components/demoapp/antora.yml
rename to examples/apps/demo/_adoc/antora.yml
index 5768159..e39e66e 100644
--- a/antora/components/demoapp/antora.yml
+++ b/examples/apps/demo/_adoc/antora.yml
@@ -1,5 +1,5 @@
 name: demoapp
-title: Demo App
+title: "Example App - Demo"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/antora/components/demoapp/examples.csv b/examples/apps/demo/_adoc/examples.csv
similarity index 100%
rename from antora/components/demoapp/examples.csv
rename to examples/apps/demo/_adoc/examples.csv
diff --git a/antora/components/demoapp/modules/ROOT/_attributes.adoc b/examples/apps/demo/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/demoapp/modules/ROOT/_attributes.adoc
rename to examples/apps/demo/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/demoapp/modules/ROOT/nav.adoc b/examples/apps/demo/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/demoapp/modules/ROOT/nav.adoc
rename to examples/apps/demo/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/demoapp/modules/ROOT/pages/_attributes.adoc b/examples/apps/demo/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/demoapp/modules/ROOT/pages/_attributes.adoc
rename to examples/apps/demo/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/demoapp/modules/ROOT/pages/_partials/_attributes.adoc b/examples/apps/demo/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/demoapp/modules/ROOT/pages/_partials/_attributes.adoc
rename to examples/apps/demo/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/demoapp/modules/ROOT/pages/about.adoc b/examples/apps/demo/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/demoapp/modules/ROOT/pages/about.adoc
rename to examples/apps/demo/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/demoapp/sync_examples.sh b/examples/apps/demo/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/demoapp/sync_examples.sh
rename to examples/apps/demo/_adoc/sync_examples.sh
diff --git a/examples/apps/helloworld/_adoc/antora.yml b/examples/apps/helloworld/_adoc/antora.yml
index 987091d..0543740 100644
--- a/examples/apps/helloworld/_adoc/antora.yml
+++ b/examples/apps/helloworld/_adoc/antora.yml
@@ -1,5 +1,5 @@
 name: helloworld
-title: Helloworld Example App
+title: "Example App - Hello World"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/examples/apps/simpleapp/_adoc/antora.yml b/examples/apps/simpleapp/_adoc/antora.yml
index 47410ad..ce97f9a 100644
--- a/examples/apps/simpleapp/_adoc/antora.yml
+++ b/examples/apps/simpleapp/_adoc/antora.yml
@@ -1,5 +1,5 @@
 name: simpleapp
-title: SimpleApp Example App
+title: "Example App - SimpleApp"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/site.yml b/site.yml
index 8ec5fb3..024ce3f 100644
--- a/site.yml
+++ b/site.yml
@@ -22,7 +22,7 @@ content:
     start_path: antora/components/extensions
   - url: .
     branches: HEAD
-    start_path: antora/components/demoapp
+    start_path: examples/apps/demo/_adoc
   - url: .
     branches: HEAD
     start_path: antora/components/downloads


[isis] 04/08: ISIS-2062: moves extensions/fixtures module to ext-markdown/ROOT component

Posted by da...@apache.org.
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 eadec6431609b7b5a7f3ef145c0a125fcbb6da97
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Sep 17 19:26:16 2019 +0100

    ISIS-2062: moves extensions/fixtures module to ext-markdown/ROOT component
---
 antora/components/ext-fixtures/antora.yml          |  6 ++++
 antora/components/ext-fixtures/examples.csv        |  1 +
 .../modules/ROOT}/_attributes.adoc                 |  0
 .../modules/ROOT/assets/attachments}/.gitkeep      |  0
 .../modules/ROOT}/assets/images/.gitkeep           |  0
 .../modules/ROOT/examples}/.gitkeep                |  0
 .../components/ext-fixtures/modules/ROOT/nav.adoc  |  2 ++
 .../modules/ROOT}/pages/_attributes.adoc           |  0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |  0
 .../modules/ROOT}/pages/about.adoc                 |  0
 antora/components/ext-fixtures/sync_examples.sh    | 39 ++++++++++++++++++++++
 antora/components/extensions/antora.yml            |  1 -
 .../extensions/modules/fixtures/nav.adoc           |  2 --
 .../components/toc/modules/ROOT/pages/about.adoc   |  4 +--
 14 files changed, 50 insertions(+), 5 deletions(-)

diff --git a/antora/components/ext-fixtures/antora.yml b/antora/components/ext-fixtures/antora.yml
new file mode 100644
index 0000000..fc4f3a1
--- /dev/null
+++ b/antora/components/ext-fixtures/antora.yml
@@ -0,0 +1,6 @@
+name: ext-fixtures
+title: "Extensions - Fixtures"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/antora/components/ext-fixtures/examples.csv b/antora/components/ext-fixtures/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/antora/components/ext-fixtures/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/antora/components/extensions/modules/fixtures/_attributes.adoc b/antora/components/ext-fixtures/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/fixtures/_attributes.adoc
rename to antora/components/ext-fixtures/modules/ROOT/_attributes.adoc
diff --git a/antora/components/extensions/modules/fixtures/examples/.gitkeep b/antora/components/ext-fixtures/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/fixtures/examples/.gitkeep
rename to antora/components/ext-fixtures/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/extensions/modules/fixtures/assets/images/.gitkeep b/antora/components/ext-fixtures/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/fixtures/assets/images/.gitkeep
rename to antora/components/ext-fixtures/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/extensions/modules/fixtures/assets/attachments/.gitkeep b/antora/components/ext-fixtures/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/extensions/modules/fixtures/assets/attachments/.gitkeep
rename to antora/components/ext-fixtures/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-fixtures/modules/ROOT/nav.adoc b/antora/components/ext-fixtures/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..2815342
--- /dev/null
+++ b/antora/components/ext-fixtures/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+* xref:about.adoc[About]
+
diff --git a/antora/components/extensions/modules/fixtures/pages/_attributes.adoc b/antora/components/ext-fixtures/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/fixtures/pages/_attributes.adoc
rename to antora/components/ext-fixtures/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/extensions/modules/fixtures/pages/_partials/_attributes.adoc b/antora/components/ext-fixtures/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/extensions/modules/fixtures/pages/_partials/_attributes.adoc
rename to antora/components/ext-fixtures/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/extensions/modules/fixtures/pages/about.adoc b/antora/components/ext-fixtures/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/extensions/modules/fixtures/pages/about.adoc
rename to antora/components/ext-fixtures/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-fixtures/sync_examples.sh b/antora/components/ext-fixtures/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/antora/components/ext-fixtures/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/extensions/antora.yml b/antora/components/extensions/antora.yml
index ab9cd94..12549bd 100644
--- a/antora/components/extensions/antora.yml
+++ b/antora/components/extensions/antora.yml
@@ -4,7 +4,6 @@ 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
diff --git a/antora/components/extensions/modules/fixtures/nav.adoc b/antora/components/extensions/modules/fixtures/nav.adoc
deleted file mode 100644
index a7bcce2..0000000
--- a/antora/components/extensions/modules/fixtures/nav.adoc
+++ /dev/null
@@ -1,2 +0,0 @@
-* xref:about.adoc[Fixtures]
-
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 1bebc4f..cb4d334 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -60,13 +60,13 @@ include::_attributes.adoc[]
 |*Extensions*
 
 * Testing & Prototyping
-** xref:ext:fixtures:about.adoc[Fixtures]
+** xref:ext-fixtures:ROOT: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:ROOT:about.adoc[Asciidoc], xref:ext:markdown:about.adoc[Markdown]
+**  xref:ext-asciidoc:ROOT:about.adoc[Asciidoc], xref:ext-markdown:ROOT:about.adoc[Markdown]
 
 |*Get involved*
 


[isis] 07/08: ISIS-2062: moves extensions docs alongside their code.

Posted by da...@apache.org.
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 a65f84a22f6fb8cd2a0d4a6ecb994213a0a36fb0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Sep 18 00:57:18 2019 +0200

    ISIS-2062: moves extensions docs alongside their code.
---
 .../ext-asciidoc => extensions/asciidoc/_adoc}/antora.yml    |  0
 .../asciidoc/_adoc}/examples.csv                             |  0
 .../asciidoc/_adoc}/modules/ROOT/_attributes.adoc            |  0
 .../asciidoc/_adoc/modules/ROOT/assets/attachments}/.gitkeep |  0
 .../asciidoc/_adoc}/modules/ROOT/assets/images/.gitkeep      |  0
 .../asciidoc/_adoc/modules/ROOT/examples}/.gitkeep           |  0
 .../asciidoc/_adoc}/modules/ROOT/nav.adoc                    |  0
 .../asciidoc/_adoc}/modules/ROOT/pages/_attributes.adoc      |  0
 .../_adoc}/modules/ROOT/pages/_partials/_attributes.adoc     |  0
 .../asciidoc/_adoc}/modules/ROOT/pages/about.adoc            |  0
 .../asciidoc/_adoc}/sync_examples.sh                         |  0
 .../ext-fixtures => extensions/fixtures/_adoc}/antora.yml    |  0
 .../fixtures/_adoc}/examples.csv                             |  0
 .../fixtures/_adoc}/modules/ROOT/_attributes.adoc            |  0
 .../fixtures/_adoc/modules/ROOT/assets/attachments}/.gitkeep |  0
 .../fixtures/_adoc}/modules/ROOT/assets/images/.gitkeep      |  0
 .../fixtures/_adoc/modules/ROOT/examples}/.gitkeep           |  0
 .../fixtures/_adoc}/modules/ROOT/nav.adoc                    |  0
 .../fixtures/_adoc}/modules/ROOT/pages/_attributes.adoc      |  0
 .../_adoc}/modules/ROOT/pages/_partials/_attributes.adoc     |  0
 .../fixtures/_adoc}/modules/ROOT/pages/about.adoc            |  0
 .../fixtures/_adoc}/sync_examples.sh                         |  0
 .../ext-markdown => extensions/markdown/_adoc}/antora.yml    |  0
 .../ext-secman => extensions/markdown/_adoc}/examples.csv    |  0
 .../markdown/_adoc}/modules/ROOT/_attributes.adoc            |  0
 .../markdown/_adoc/modules/ROOT/assets/attachments}/.gitkeep |  0
 .../markdown/_adoc}/modules/ROOT/assets/images/.gitkeep      |  0
 .../markdown/_adoc/modules/ROOT/examples}/.gitkeep           |  0
 .../markdown/_adoc}/modules/ROOT/nav.adoc                    |  0
 .../markdown/_adoc}/modules/ROOT/pages/_attributes.adoc      |  0
 .../_adoc}/modules/ROOT/pages/_partials/_attributes.adoc     |  0
 .../markdown/_adoc}/modules/ROOT/pages/about.adoc            |  0
 .../markdown/_adoc}/sync_examples.sh                         |  0
 .../ext-secman => extensions/secman/_adoc}/antora.yml        |  0
 .../ext-markdown => extensions/secman/_adoc}/examples.csv    |  0
 .../secman/_adoc}/modules/ROOT/_attributes.adoc              |  0
 .../secman/_adoc/modules/ROOT/assets/attachments}/.gitkeep   |  0
 .../secman/_adoc}/modules/ROOT/assets/images/.gitkeep        |  0
 .../secman/_adoc/modules/ROOT/examples}/.gitkeep             |  0
 .../secman/_adoc}/modules/ROOT/nav.adoc                      |  0
 .../secman/_adoc}/modules/ROOT/pages/_attributes.adoc        |  0
 .../_adoc}/modules/ROOT/pages/_partials/_attributes.adoc     |  0
 .../secman/_adoc}/modules/ROOT/pages/about.adoc              |  0
 .../secman/_adoc}/sync_examples.sh                           |  0
 .../specsupport/_adoc}/antora.yml                            |  0
 .../specsupport/_adoc}/examples.csv                          |  0
 .../specsupport/_adoc}/modules/ROOT/_attributes.adoc         |  0
 .../_adoc/modules/ROOT/assets/attachments}/.gitkeep          |  0
 .../specsupport/_adoc}/modules/ROOT/assets/images/.gitkeep   |  0
 .../specsupport/_adoc/modules/ROOT/examples}/.gitkeep        |  0
 .../specsupport/_adoc}/modules/ROOT/nav.adoc                 |  0
 .../specsupport/_adoc}/modules/ROOT/pages/_attributes.adoc   |  0
 .../_adoc}/modules/ROOT/pages/_partials/_attributes.adoc     |  0
 .../specsupport/_adoc}/modules/ROOT/pages/about.adoc         |  0
 .../specsupport/_adoc}/sync_examples.sh                      |  0
 .../viewer-wicket-excel/_adoc}/antora.yml                    |  0
 .../viewer-wicket-excel/_adoc}/examples.csv                  |  0
 .../viewer-wicket-excel/_adoc}/modules/ROOT/_attributes.adoc |  0
 .../_adoc/modules/ROOT/assets/attachments}/.gitkeep          |  0
 .../_adoc}/modules/ROOT/assets/images/.gitkeep               |  0
 .../_adoc/modules/ROOT/examples}/.gitkeep                    |  0
 .../viewer-wicket-excel/_adoc}/modules/ROOT/nav.adoc         |  0
 .../_adoc}/modules/ROOT/pages/_attributes.adoc               |  0
 .../_adoc}/modules/ROOT/pages/_partials/_attributes.adoc     |  0
 .../viewer-wicket-excel/_adoc}/modules/ROOT/pages/about.adoc |  0
 .../viewer-wicket-excel/_adoc}/sync_examples.sh              |  0
 site.yml                                                     | 12 ++++++------
 67 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/antora/components/ext-asciidoc/antora.yml b/extensions/asciidoc/_adoc/antora.yml
similarity index 100%
rename from antora/components/ext-asciidoc/antora.yml
rename to extensions/asciidoc/_adoc/antora.yml
diff --git a/antora/components/ext-viewer-wicket-excel/examples.csv b/extensions/asciidoc/_adoc/examples.csv
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/examples.csv
rename to extensions/asciidoc/_adoc/examples.csv
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/_attributes.adoc b/extensions/asciidoc/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/_attributes.adoc
rename to extensions/asciidoc/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/examples/.gitkeep b/extensions/asciidoc/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/examples/.gitkeep
rename to extensions/asciidoc/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/images/.gitkeep b/extensions/asciidoc/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/images/.gitkeep
rename to extensions/asciidoc/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/attachments/.gitkeep b/extensions/asciidoc/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/assets/attachments/.gitkeep
rename to extensions/asciidoc/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/nav.adoc b/extensions/asciidoc/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/nav.adoc
rename to extensions/asciidoc/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_attributes.adoc b/extensions/asciidoc/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_attributes.adoc
rename to extensions/asciidoc/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_partials/_attributes.adoc b/extensions/asciidoc/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/_partials/_attributes.adoc
rename to extensions/asciidoc/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ext-asciidoc/modules/ROOT/pages/about.adoc b/extensions/asciidoc/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/pages/about.adoc
rename to extensions/asciidoc/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-viewer-wicket-excel/sync_examples.sh b/extensions/asciidoc/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/sync_examples.sh
rename to extensions/asciidoc/_adoc/sync_examples.sh
diff --git a/antora/components/ext-fixtures/antora.yml b/extensions/fixtures/_adoc/antora.yml
similarity index 100%
rename from antora/components/ext-fixtures/antora.yml
rename to extensions/fixtures/_adoc/antora.yml
diff --git a/antora/components/ext-specsupport/examples.csv b/extensions/fixtures/_adoc/examples.csv
similarity index 100%
rename from antora/components/ext-specsupport/examples.csv
rename to extensions/fixtures/_adoc/examples.csv
diff --git a/antora/components/ext-specsupport/modules/ROOT/_attributes.adoc b/extensions/fixtures/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/_attributes.adoc
rename to extensions/fixtures/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ext-specsupport/modules/ROOT/examples/.gitkeep b/extensions/fixtures/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/examples/.gitkeep
rename to extensions/fixtures/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ext-specsupport/modules/ROOT/assets/images/.gitkeep b/extensions/fixtures/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/assets/images/.gitkeep
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/ext-specsupport/modules/ROOT/assets/attachments/.gitkeep b/extensions/fixtures/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/assets/attachments/.gitkeep
rename to extensions/fixtures/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-specsupport/modules/ROOT/nav.adoc b/extensions/fixtures/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/nav.adoc
rename to extensions/fixtures/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/ext-specsupport/modules/ROOT/pages/_attributes.adoc b/extensions/fixtures/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/pages/_attributes.adoc
rename to extensions/fixtures/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ext-specsupport/modules/ROOT/pages/_partials/_attributes.adoc b/extensions/fixtures/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/pages/_partials/_attributes.adoc
rename to extensions/fixtures/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ext-fixtures/modules/ROOT/pages/about.adoc b/extensions/fixtures/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/pages/about.adoc
rename to extensions/fixtures/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-specsupport/sync_examples.sh b/extensions/fixtures/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/ext-specsupport/sync_examples.sh
rename to extensions/fixtures/_adoc/sync_examples.sh
diff --git a/antora/components/ext-markdown/antora.yml b/extensions/markdown/_adoc/antora.yml
similarity index 100%
rename from antora/components/ext-markdown/antora.yml
rename to extensions/markdown/_adoc/antora.yml
diff --git a/antora/components/ext-secman/examples.csv b/extensions/markdown/_adoc/examples.csv
similarity index 100%
rename from antora/components/ext-secman/examples.csv
rename to extensions/markdown/_adoc/examples.csv
diff --git a/antora/components/ext-secman/modules/ROOT/_attributes.adoc b/extensions/markdown/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/_attributes.adoc
rename to extensions/markdown/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ext-secman/modules/ROOT/examples/.gitkeep b/extensions/markdown/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/examples/.gitkeep
rename to extensions/markdown/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ext-secman/modules/ROOT/assets/images/.gitkeep b/extensions/markdown/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/assets/images/.gitkeep
rename to extensions/markdown/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/ext-secman/modules/ROOT/assets/attachments/.gitkeep b/extensions/markdown/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/assets/attachments/.gitkeep
rename to extensions/markdown/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-secman/modules/ROOT/nav.adoc b/extensions/markdown/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/nav.adoc
rename to extensions/markdown/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/ext-secman/modules/ROOT/pages/_attributes.adoc b/extensions/markdown/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/pages/_attributes.adoc
rename to extensions/markdown/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ext-secman/modules/ROOT/pages/_partials/_attributes.adoc b/extensions/markdown/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/pages/_partials/_attributes.adoc
rename to extensions/markdown/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ext-markdown/modules/ROOT/pages/about.adoc b/extensions/markdown/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/pages/about.adoc
rename to extensions/markdown/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-secman/sync_examples.sh b/extensions/markdown/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/ext-secman/sync_examples.sh
rename to extensions/markdown/_adoc/sync_examples.sh
diff --git a/antora/components/ext-secman/antora.yml b/extensions/secman/_adoc/antora.yml
similarity index 100%
rename from antora/components/ext-secman/antora.yml
rename to extensions/secman/_adoc/antora.yml
diff --git a/antora/components/ext-markdown/examples.csv b/extensions/secman/_adoc/examples.csv
similarity index 100%
rename from antora/components/ext-markdown/examples.csv
rename to extensions/secman/_adoc/examples.csv
diff --git a/antora/components/ext-markdown/modules/ROOT/_attributes.adoc b/extensions/secman/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/_attributes.adoc
rename to extensions/secman/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ext-markdown/modules/ROOT/examples/.gitkeep b/extensions/secman/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/examples/.gitkeep
rename to extensions/secman/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ext-markdown/modules/ROOT/assets/images/.gitkeep b/extensions/secman/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/assets/images/.gitkeep
rename to extensions/secman/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/ext-markdown/modules/ROOT/assets/attachments/.gitkeep b/extensions/secman/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/assets/attachments/.gitkeep
rename to extensions/secman/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-markdown/modules/ROOT/nav.adoc b/extensions/secman/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/nav.adoc
rename to extensions/secman/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/ext-markdown/modules/ROOT/pages/_attributes.adoc b/extensions/secman/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/pages/_attributes.adoc
rename to extensions/secman/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ext-markdown/modules/ROOT/pages/_partials/_attributes.adoc b/extensions/secman/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ext-markdown/modules/ROOT/pages/_partials/_attributes.adoc
rename to extensions/secman/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ext-secman/modules/ROOT/pages/about.adoc b/extensions/secman/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ext-secman/modules/ROOT/pages/about.adoc
rename to extensions/secman/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-markdown/sync_examples.sh b/extensions/secman/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/ext-markdown/sync_examples.sh
rename to extensions/secman/_adoc/sync_examples.sh
diff --git a/antora/components/ext-specsupport/antora.yml b/extensions/specsupport/_adoc/antora.yml
similarity index 100%
rename from antora/components/ext-specsupport/antora.yml
rename to extensions/specsupport/_adoc/antora.yml
diff --git a/antora/components/ext-fixtures/examples.csv b/extensions/specsupport/_adoc/examples.csv
similarity index 100%
rename from antora/components/ext-fixtures/examples.csv
rename to extensions/specsupport/_adoc/examples.csv
diff --git a/antora/components/ext-fixtures/modules/ROOT/_attributes.adoc b/extensions/specsupport/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/_attributes.adoc
rename to extensions/specsupport/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ext-fixtures/modules/ROOT/examples/.gitkeep b/extensions/specsupport/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/examples/.gitkeep
rename to extensions/specsupport/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ext-fixtures/modules/ROOT/assets/images/.gitkeep b/extensions/specsupport/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/assets/images/.gitkeep
rename to extensions/specsupport/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/ext-fixtures/modules/ROOT/assets/attachments/.gitkeep b/extensions/specsupport/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/assets/attachments/.gitkeep
rename to extensions/specsupport/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-fixtures/modules/ROOT/nav.adoc b/extensions/specsupport/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/nav.adoc
rename to extensions/specsupport/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/ext-fixtures/modules/ROOT/pages/_attributes.adoc b/extensions/specsupport/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/pages/_attributes.adoc
rename to extensions/specsupport/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ext-fixtures/modules/ROOT/pages/_partials/_attributes.adoc b/extensions/specsupport/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ext-fixtures/modules/ROOT/pages/_partials/_attributes.adoc
rename to extensions/specsupport/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ext-specsupport/modules/ROOT/pages/about.adoc b/extensions/specsupport/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ext-specsupport/modules/ROOT/pages/about.adoc
rename to extensions/specsupport/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-fixtures/sync_examples.sh b/extensions/specsupport/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/ext-fixtures/sync_examples.sh
rename to extensions/specsupport/_adoc/sync_examples.sh
diff --git a/antora/components/ext-viewer-wicket-excel/antora.yml b/extensions/viewer-wicket-excel/_adoc/antora.yml
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/antora.yml
rename to extensions/viewer-wicket-excel/_adoc/antora.yml
diff --git a/antora/components/ext-asciidoc/examples.csv b/extensions/viewer-wicket-excel/_adoc/examples.csv
similarity index 100%
rename from antora/components/ext-asciidoc/examples.csv
rename to extensions/viewer-wicket-excel/_adoc/examples.csv
diff --git a/antora/components/ext-asciidoc/modules/ROOT/_attributes.adoc b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/_attributes.adoc
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/_attributes.adoc
diff --git a/antora/components/ext-asciidoc/modules/ROOT/examples/.gitkeep b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/examples/.gitkeep
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/antora/components/ext-asciidoc/modules/ROOT/assets/images/.gitkeep b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/assets/images/.gitkeep
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/antora/components/ext-asciidoc/modules/ROOT/assets/attachments/.gitkeep b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/assets/attachments/.gitkeep
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/antora/components/ext-asciidoc/modules/ROOT/nav.adoc b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/nav.adoc
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/nav.adoc
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/nav.adoc
diff --git a/antora/components/ext-asciidoc/modules/ROOT/pages/_attributes.adoc b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/pages/_attributes.adoc
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/antora/components/ext-asciidoc/modules/ROOT/pages/_partials/_attributes.adoc b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from antora/components/ext-asciidoc/modules/ROOT/pages/_partials/_attributes.adoc
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/about.adoc b/extensions/viewer-wicket-excel/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from antora/components/ext-viewer-wicket-excel/modules/ROOT/pages/about.adoc
rename to extensions/viewer-wicket-excel/_adoc/modules/ROOT/pages/about.adoc
diff --git a/antora/components/ext-asciidoc/sync_examples.sh b/extensions/viewer-wicket-excel/_adoc/sync_examples.sh
similarity index 100%
rename from antora/components/ext-asciidoc/sync_examples.sh
rename to extensions/viewer-wicket-excel/_adoc/sync_examples.sh
diff --git a/site.yml b/site.yml
index fc0767f..d23d3f4 100644
--- a/site.yml
+++ b/site.yml
@@ -19,22 +19,22 @@ content:
     branches: HEAD
   - url: .
     branches: HEAD
-    start_path: antora/components/ext-asciidoc
+    start_path: extensions/asciidoc/_adoc
   - url: .
     branches: HEAD
-    start_path: antora/components/ext-markdown
+    start_path: extensions/markdown/_adoc
   - url: .
     branches: HEAD
-    start_path: antora/components/ext-fixtures
+    start_path: extensions/fixtures/_adoc
   - url: .
     branches: HEAD
-    start_path: antora/components/ext-secman
+    start_path: extensions/secman/_adoc
   - url: .
     branches: HEAD
-    start_path: antora/components/ext-specsupport
+    start_path: extensions/specsupport/_adoc
   - url: .
     branches: HEAD
-    start_path: antora/components/ext-viewer-wicket-excel
+    start_path: extensions/viewer-wicket-excel/_adoc
   - url: .
     branches: HEAD
     start_path: examples/apps/demo/_adoc