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 2018/09/14 16:11:42 UTC

[isis] 01/19: ISIS-1811: minor updates for docs. Also skip git by default when building

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

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

commit a3f0f822c0774e8efc057b8c9714a2dc0192ecd0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Sep 14 11:47:46 2018 +0100

    ISIS-1811: minor updates for docs.  Also skip git by default when building
---
 .../src/main/asciidoc/documentation.adoc           |   3 +
 .../src/main/asciidoc/guides/cgcom/__versions.adoc |   3 +
 .../guides/cgcom/_cgcom_applying-patches.adoc      |   1 +
 .../cgcom/_cgcom_asciidoc-publish-procedure.adoc   |   2 +-
 .../guides/cgcom/_cgcom_cutting-a-release.adoc     | 115 +++++++++++----------
 .../cgcom/_cgcom_post-release-successful.adoc      |  11 +-
 .../cgcom/_cgcom_post-release-unsuccessful.adoc    |   1 +
 ...cgcom_release-process-for-interim-releases.adoc |   1 +
 .../_cgcom_release-process-for-snapshots.adoc      |   1 +
 .../cgcom/_cgcom_release-process-prereqs.adoc      |   1 +
 .../guides/cgcom/_cgcom_verifying-releases.adoc    |   9 +-
 .../guides/rgant/_rgant-Action_publishing.adoc     |  16 +--
 .../_rgant-DomainObjectLayout_cssClassUiEvent.adoc |   3 +-
 .../_rgant-DomainObjectLayout_titleUiEvent.adoc    |  22 ++--
 .../guides/rgant/_rgant-DomainObject_auditing.adoc |   7 +-
 ..._rgant-DomainObject_autoCompleteRepository.adoc |   6 +-
 .../_rgant-DomainObject_loadedLifecycleEvent.adoc  |  37 +++----
 .../rgant/_rgant-DomainObject_objectType.adoc      |   4 +-
 ...rgant-DomainObject_persistedLifecycleEvent.adoc |  24 ++---
 ...gant-DomainObject_persistingLifecycleEvent.adoc |  32 +++---
 .../rgant/_rgant-DomainObject_publishing.adoc      |   9 +-
 ..._rgant-DomainObject_removingLifecycleEvent.adoc |  25 ++---
 .../_rgant-DomainObject_updatedLifecycleEvent.adoc |  16 ++-
 ..._rgant-DomainObject_updatingLifecycleEvent.adoc |  17 ++-
 .../rgant/_rgant-ParameterLayout_describedAs.adoc  |   8 +-
 .../asciidoc/guides/rgant/_rgant-PrimaryKey.adoc   |   2 +-
 .../guides/rgant/_rgant-Property_publishing.adoc   |   9 +-
 .../guides/rgant/_rgant-ViewModel_objectType.adoc  |   2 +-
 .../main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc |   2 +-
 .../guides/rgcfg/_rgcfg_configuring-core.adoc      |   1 -
 ..._classes_lifecycleevent_ObjectCreatedEvent.adoc |   3 +-
 .../guides/rgcms/_rgcms_classes_mixins_Dto.adoc    |   2 +-
 .../_rgcms_classes_super_AbstractService.adoc      |   2 +-
 .../_rgcms_classes_super_AbstractViewModel.adoc    |   2 +-
 .../rgcms/_rgcms_methods_reserved_disable.adoc     |   3 +-
 ..._persistence-layer_AuditingServiceInternal.adoc |   2 +-
 ...stence-layer_ChangedObjectsServiceInternal.adoc |   2 +-
 ...ersistence-layer_PublishingServiceInternal.adoc |   4 +-
 ...esentation-layer_ContentNegotiationService.adoc |  11 +-
 ...s_presentation-layer_RepresentationService.adoc |   2 +-
 ...rgsvc_application-layer-api_CommandContext.adoc |   2 +-
 ...c_application-layer-api_InteractionContext.adoc |   3 +-
 ...rgsvc_application-layer-spi_CommandService.adoc |   3 +-
 ...vc_bootstrapping-spi_ClassDiscoveryService.adoc |   2 +-
 .../_rgsvc_core-domain-api_FactoryService.adoc     |   6 +-
 .../main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc   |  11 +-
 .../rgsvc/_rgsvc_metadata-api_SwaggerService.adoc  |   2 +-
 ...vc_persistence-layer-api_QueryResultsCache.adoc |   5 +-
 ...rgsvc_persistence-layer-spi_AuditerService.adoc |  25 +++--
 ...svc_persistence-layer-spi_PublisherService.adoc |  25 +++--
 ...ntation-layer-spi_EmailNotificationService.adoc |   3 +-
 ...presentation-layer-spi_ExceptionRecognizer.adoc |   3 +-
 ...gsvc_presentation-layer-spi_RoutingService.adoc |   3 +-
 ..._presentation-layer-spi_UrlEncodingService.adoc |   5 +-
 ..._replacing-default-service-implementations.adoc |   3 +-
 ...ugfun_building-blocks_events_domain-events.adoc |   1 +
 .../ugfun/_ugfun_programming-model_actions.adoc    |   5 -
 .../_ugvw_extending_replacing-page-elements.adoc   |   3 +-
 .../main/asciidoc/guides/ugvw/_ugvw_features.adoc  |   2 -
 .../guides/ugvw/_ugvw_layout_file-based.adoc       |   2 +-
 adocs/documentation/src/main/asciidoc/index.html   |  18 ++--
 .../_migration-notes_1.7.0-to-1.8.0.adoc           |  16 ++-
 .../_migration-notes_1.9.0-to-1.10.0.adoc          |   5 +-
 core/pom.xml                                       |   2 +-
 64 files changed, 253 insertions(+), 325 deletions(-)

diff --git a/adocs/documentation/src/main/asciidoc/documentation.adoc b/adocs/documentation/src/main/asciidoc/documentation.adoc
index 12304ae..b673e8b 100644
--- a/adocs/documentation/src/main/asciidoc/documentation.adoc
+++ b/adocs/documentation/src/main/asciidoc/documentation.adoc
@@ -66,6 +66,7 @@
 * *link:guides/dg/dg.html[Developers' Guide^]*
 ** link:guides/dg/dg.html#_dg_ide_intellij[IntelliJ^] & link:guides/dg/dg.html#_dg_ide_eclipse[Eclipse^]
 ** link:guides/dg/dg.html#_dg_contributing[Pull requests^]
+** link:guides/dg/dg.html#_dg_asciidoc-syntax[Asciidoc syntax^]
 
 * link:guides/cgcom/cgcom.html[Committers' Guide^]
 ** link:guides/cgcom/cgcom.html#_cgcom_cutting-a-release[Cutting^] & link:guides/cgcom/cgcom.html#_cgcom_verifying-releases[Verifying^]
@@ -111,6 +112,8 @@
 
 * https://github.com/isisaddons/isis-app-neoapp[Neo4J Example^] footnoteref:[ASF]
 * https://github.com/isisaddons/isis-app-simpledsl[Isis DSL Example^] footnoteref:[ASF]
+* https://github.com/andi-huber/isis-2-demo[Demo Showcase]footnoteref:[ASF]
+
 |====
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/__versions.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/__versions.adoc
new file mode 100644
index 0000000..67e0598
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/__versions.adoc
@@ -0,0 +1,3 @@
+:isisprev: 2.0.0-M1
+:isisrel: 2.0.0-M2
+:isisdev: {isisrel}-SNAPSHOT
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_applying-patches.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_applying-patches.adoc
index a605202..77dae72 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_applying-patches.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_applying-patches.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_asciidoc-publish-procedure.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_asciidoc-publish-procedure.adoc
index e2e151f..217f243 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_asciidoc-publish-procedure.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_asciidoc-publish-procedure.adoc
@@ -1,9 +1,9 @@
 [[_cgcom_asciidoc-publish-procedure]]
 = Publishing the Docs
-
 :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 [...]
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 Apache Isis' documentation (meaning the website and the users' guide, the reference guide and this contributors' guide) is written using link:http://www.methods.co.nz/asciidoc/[Asciidoc], specifically the link:http://asciidoctor.org/[Asciidoctor] implementation.
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
index 291ee95..c207fb5 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_cutting-a-release.adoc
@@ -4,7 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
-
+include::__versions.adoc[]
 
 The release process consists of:
 
@@ -51,11 +51,11 @@ In most cases a JIRA ticket will have been created at the beginning of the previ
 We use environment variables to parameterize as many of the steps as possible.
 For example:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 export ISISTMP=/c/tmp                               # <1>
-export ISISDEV=2.0.0-M2-SNAPSHOT
-export ISISREL=2.0.0-M1
+export ISISDEV={isisdev}
+export ISISREL={isisrel}
 export ISISRC=RC1
 export ISISBRANCH=release-$ISISREL-$ISISRC
 export ISISJIRA=ISIS-9999                           # <2>
@@ -72,7 +72,7 @@ Obviously, alter `$ISISDEV` and `$ISISREL` as required, and bump `$ISISRC` for r
 
 [IMPORTANT]
 ====
-Note that the branch name is intentionally *not* the same any of the eventual tag names (eg `isis-2.0.0-M1` or `simpleapp-archetype-2.0.0-M1`).
+Note that the branch name is intentionally *not* the same any of the eventual tag names (eg `isis-{isisrel}` or `simpleapp-archetype-{isisrel}`).
 ====
 
 
@@ -84,7 +84,7 @@ Set the HEAD of your local git repo to the commit to be released.
 This will usually be the tip of the origin's `master` branch.
 Then, create a release branch for the version number being released; eg:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 git checkout master
 git pull --ff-only
@@ -99,18 +99,18 @@ This will normally have been done already during earlier development; but confir
 If it has not, make the change.
 
 Double check that the version number of the core POM (`core/pom.xml`) should reflect the branch name that you are now on.
-For example, if releasing version `2.0.0-M1`, the POM should read:
+For example, if releasing version `{isisrel}`, the POM should read:
 
-[source,xml]
+[source,xml,subs="attributes+"]
 ----
 <groupId>org.apache.isis.core</groupId>
 <artifactId>isis</artifactId>
-<version>2.0.0-M1-SNAPSHOT</version>
+<version>{isisdev}</version>
 ----
 
 Also, check that there are no snapshot dependencies:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 grep SNAPSHOT `/bin/find . -name pom.xml | grep -v target | grep -v mothball | sort`
 ----
@@ -134,17 +134,17 @@ So, instead, we perform the edit of ${revision}` manually before.
 
 In the three `pom.xml` files (for `core` and the two archetypes) the property is defined:
 
-[source,xml]
+[source,xml,subs="attributes+"]
 ----
 <properties>
-    <revision>2.0.0-M1-SNAPSHOT</revision>
+    <revision>{isisdev}</revision>
     ...
 </properties>
 ----
 
 Change all of these to the release version, using:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 sed -i -E "s|<revision>[^<]+<|<revision>${ISISREL}<|g" core/pom.xml
 sed -i -E "s|<revision>[^<]+<|<revision>${ISISREL}<|g" example/application/simpleapp/pom.xml
@@ -162,7 +162,7 @@ After release, there is a xref:cgcom.adoc#__cgcom_cutting-a-release_bump-revisio
 First, we release `core`.
 Switch to the appropriate directory:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cd core
 ----
@@ -172,7 +172,7 @@ cd core
 
 Set additional environment variables for the core "artifact":
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 export ISISART=isis
 export ISISCOR="Y"
@@ -190,7 +190,7 @@ The parent `pom.xml` of each releasable module specifies the RAT Maven plugin, w
 
 To run the RAT tool, use:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn org.apache.rat:apache-rat-plugin:check -D rat.numUnapprovedLicenses=50 -o && \
 for a in `/bin/find . -name rat.txt -print`; do grep '!???' $a; done || \
@@ -236,7 +236,7 @@ This is stored in the `src/main/appended-resources/supplemental-models.xml` file
 
 To capture the missing license information, use:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn license:download-licenses && \
 groovy ../scripts/checkmissinglicenses.groovy
@@ -247,7 +247,7 @@ The script then searches for these `licenses.xml` files, and compares them again
 
 For example, the output could be something like:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 licenses to add to supplemental-models.xml:
 
@@ -269,7 +269,7 @@ If any missing entries are listed or are spurious, then update `supplemental-mod
 
 Commit any changes from the preceding steps:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 git commit -am "$ISISJIRA: updates to pom.xml etc for release"
 ----
@@ -281,7 +281,7 @@ git commit -am "$ISISJIRA: updates to pom.xml etc for release"
 Perform one last sanity check on the codebase.
 Delete all Isis artifacts from your local Maven repo, then build using the `-o` offline flag:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 rm -rf ~/.m2/repository/org/apache/isis
 mvn clean install -o
@@ -298,10 +298,11 @@ We therefore just use `mvn deploy` directly, activating the (inherited) `apache-
 
 To build and deploy and tag, we use:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn -P apache-release \
     clean deploy      \
+    -Dgit \
     -Dgpg.passphrase="this is not really my passphrase"
 
 git tag $ISISART-$ISISREL
@@ -338,7 +339,7 @@ The fix is simple: just copy `mvn.cmd` to `mvn.bat`.
 
 Switch to the directory containing the `simpleapp` example:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cd ../example/application/simpleapp
 ----
@@ -348,7 +349,7 @@ cd ../example/application/simpleapp
 
 Set additional environment variables for the `simpleapp-archetype` artifact:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 export ISISART=simpleapp-archetype
 export ISISPAR=$ISISREL                 # <1>
@@ -369,7 +370,7 @@ Double check that the app:
 
 * builds:
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn clean install
 ----
@@ -381,14 +382,14 @@ mvn clean install
 
 * can be run using the mvn jetty plugin:
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn -pl webapp jetty:run
 ----
 
 * can be packaged and run using the mvn jetty-console plugin:
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn install -Dmavenmixin-jettyconsole
 mvn antrun:run -Dmavenmixin-jettyconsole
@@ -396,7 +397,7 @@ mvn antrun:run -Dmavenmixin-jettyconsole
 
 * can be deployed as a WAR
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cp webapp/target/simpleapp.war $CATALINA_HOME/webapps/ROOT.war
 pushd $CATALINA_HOME/bin
@@ -414,7 +415,7 @@ popd
 
 * can be packaged and run using Docker:
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn install -Dmavenmixin-docker -D docker-plugin.imageName=test/simpleapp
 docker container run -p 8080:8080 --name simpleapp -d test/simpleapp
@@ -449,7 +450,7 @@ The Kitematic UI tool is handy for viewing and interacting with running containe
 
 To tidy up, kill and remove the container:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 docker container kill simpleapp
 docker container rm simpleapp
@@ -470,7 +471,7 @@ env | grep ISIS | sort
 
 Then, run the script (which also builds the archetype once generated) and switch to the archetype's directory:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 sh ../../../scripts/recreate-archetype.sh $ISISJIRA
 cd `pwd|sed 's/application/archetype/'`
@@ -486,7 +487,7 @@ The script automatically commits changes; if you wish use `git log` and
 _In a different session_, create a new app from the archetype.
 First set up environment variables:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 export ISISTMP=/c/tmp    # or as required
 export ISISCPN=simpleapp
@@ -495,7 +496,7 @@ env | grep ISIS | sort
 
 Then generate a new app from the archetype:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 rm -rf $ISISTMP/test-$ISISCPN
 
@@ -533,7 +534,7 @@ We therefore now just use `mvn deploy` directly, activating the (inherited) `apa
 
 To build and deploy and tag, we use:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn -P apache-release \
     clean deploy      \
@@ -561,7 +562,7 @@ We now repeat the archetype release procedure, this time for the `helloworld` ex
 
 Start by switching to the directory containing the `helloworld` example:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cd ../../../example/application/helloworld
 ----
@@ -571,7 +572,7 @@ cd ../../../example/application/helloworld
 
 Update additional environment variables for the `helloworld-archetype` artifact:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 export ISISART=helloworld-archetype
 export ISISPAR=$ISISREL
@@ -609,7 +610,7 @@ mvn jetty:run
 
 * can be deployed as a WAR
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cp target/helloworld.war $CATALINA_HOME/webapps/ROOT.war
 pushd $CATALINA_HOME/bin
@@ -619,7 +620,7 @@ tail -f ../logs/catalina.out
 +
 quit using:
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 sh shutdown.sh
 popd
@@ -637,7 +638,7 @@ Make sure you are in the correct directory and environment variables are correct
 
 To recreate the *helloworld* archetype:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cd example/application/helloworld
 env | grep ISIS | sort
@@ -645,7 +646,7 @@ env | grep ISIS | sort
 
 Then, run the script (which also builds the archetype once generated) and then switch to the archetype's directory:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 sh ../../../scripts/recreate-archetype.sh $ISISJIRA
 cd `pwd|sed 's/application/archetype/'`
@@ -662,7 +663,7 @@ If you wish use `git log` and `git diff` (or a tool such as SourceTree) to revie
 _In a different session_, create a new app from the archetype.
 First set up environment variables:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 export ISISTMP=/c/tmp    # or as required
 export ISISCPN=helloworld
@@ -671,7 +672,7 @@ env | grep ISIS | sort
 
 Then generate a new app from the archetype:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 rm -rf $ISISTMP/test-$ISISCPN
 
@@ -687,7 +688,7 @@ mvn archetype:generate  \
 
 Build the newly generated app and test:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cd myapp
 mvn clean install -o
@@ -701,7 +702,7 @@ Back in the original session, we upload (deploy) the archetype to the staging re
 
 To build and deploy and tag, we use:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn -P apache-release \
     clean deploy      \
@@ -779,7 +780,7 @@ With the release now deployed we now need to bump the revision up to the next de
 
 In the root of the Apache Isis repo, we do this for all three ``pom.xml``s with:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 sed -i -E "s|<revision>[^<]+<|<revision>${ISISDEV}<|g" core/pom.xml
 sed -i -E "s|<revision>[^<]+<|<revision>${ISISDEV}<|g" example/application/simpleapp/pom.xml
@@ -793,14 +794,14 @@ git commit -am "${ISISJIRA}: bumps revision property across all pom.xml's to ${I
 
 Push the release branch to origin:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 git push -u origin $ISISBRANCH
 ----
 
 and also push tags for both core and the archetype:
 
-[source]
+[source,bash,subs="attributes+"]
 ----
 git push origin refs/tags/isis-$ISISREL:refs/tags/isis-$ISISREL-$ISISRC
 git push origin refs/tags/simpleapp-archetype-$ISISREL:refs/tags/simpleapp-archetype-$ISISREL-$ISISRC
@@ -832,30 +833,30 @@ Adapt as required:
 
 Use the following subject, eg:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
-[VOTE] Apache Isis Core release 2.0.0-M1 RC1
+[VOTE] Apache Isis Core release {isisrel} RC1
 ----
 
 And use the following body:
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 I've cut a release for Apache Isis Core and the two archetypes:
 
-* Core 2.0.0-M1
-* HelloWorld Archetype 2.0.0-M1
-* SimpleApp Archetype 2.0.0-M1
+* Core {isisrel}
+* HelloWorld Archetype {isisrel}
+* SimpleApp Archetype {isisrel}
 
 The source code artifacts have been uploaded to staging repositories on repository.apache.org:
 
-* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/core/isis/2.0.0-M1/isis-2.0.0-M1-source-release.zip
-* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/helloworld-archetype/2.0.0-M1/helloworld-archetype-2.0.0-M1-source-release.zip
-* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/simpleapp-archetype/2.0.0-M1/simpleapp-archetype-2.0.0-M1-source-release.zip
+* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/core/isis/{isisrel}/isis-{isisrel}-source-release.zip
+* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/helloworld-archetype/{isisrel}/helloworld-archetype-{isisrel}-source-release.zip
+* http://repository.apache.org/content/repositories/orgapacheisis-10xx/org/apache/isis/archetype/simpleapp-archetype/{isisrel}/simpleapp-archetype-{isisrel}-source-release.zip
 
 For each zip there is a corresponding signature file (append .asc to the zip's url).
 
-In the source code repo the code has been tagged as isis-2.0.0-M1-RC1, helloworld-archetype-2.0.0-M1-RC1 and simpleapp-archetype-2.0.0-M1-RC1; see https://github.com/apache/isis/tags
+In the source code repo the code has been tagged as isis-{isisrel}-RC1, helloworld-archetype-{isisrel}-RC1 and simpleapp-archetype-{isisrel}-RC1; see https://github.com/apache/isis/tags
 
 For instructions on how to verify the release (build from binaries and/or use in Maven directly), see https://isis.apache.org/guides/cgcom/cgcom.html#_cgcom_verifying-releases
 
@@ -868,7 +869,7 @@ Please verify the release and cast your vote.  The vote will be open for a minim
 
 Remember to update:
 
-* the version number (`2.0.0-M1` or whatever)
+* the version number (`{isisrel}` or whatever)
 * the release candidate number (`RC1` or whatever)
 * the repository id, as provided by Nexus earlier (`orgapacheisis-10xx` or whatever)
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc
index 85c66a9..a8348f7 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-successful.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 The release process consists of:
@@ -187,9 +188,9 @@ svn delete $fullname-$old_ver-$zip
 popd
 ----
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
-sh upd.sh 1.16.2 1.16.3
+sh upd.sh {isisprev} {isisrel}
 ----
 
 The script downloads the artifacts from the Nexus release repository, adds the artifacts to subversion and deletes the previous version.
@@ -199,14 +200,14 @@ The script downloads the artifacts from the Nexus release repository, adds the a
 Double check that the files are correct; there is sometimes a small delay in the files becoming available in the release repository.
 It should be sufficient to check just the `md5` or `.asc` files that these look valid (aren't HTML 404 error pages):
 
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 vi `find . -name *.md5`
 ----
 
 Assuming all is good, commit the changes:
 
-[source]
+[source,subs="attributes+"]
 ----
 svn commit -m "publishing isis source releases to dist.apache.org"
 ----
@@ -281,7 +282,7 @@ Now we need to publish the website.
 * locate `template/document.html.erb` file, and remove `-SNAPSHOT` from the navbar:
 
 +
-[source,html]
+[source,html,subs="attributes+"]
 ----
 <p class="nav navbar-text navbar-right small">v2.0.0-M1</p>
 ----
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-unsuccessful.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-unsuccessful.adoc
index 2d56862..f440b5e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-unsuccessful.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_post-release-unsuccessful.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 The release process consists of:
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc
index d59a787..9abffb9 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-interim-releases.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 The intent of an "interim" release is to allow a developer team to release their application based on a `-SNAPSHOT` version of the framework.
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-snapshots.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-snapshots.adoc
index eded8d4..af6be3d 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-snapshots.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-for-snapshots.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 Snapshot releases allows the current `-SNAPSHOT` version of the `core` modules  of the framework to be released to the Maven snapshot repository maintained by Apache Software Foundation.
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-prereqs.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-prereqs.adoc
index e54d9de..178b878 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-prereqs.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_release-process-prereqs.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc
index 88cfdab..eed2a8f 100644
--- a/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/cgcom/_cgcom_verifying-releases.adoc
@@ -4,6 +4,7 @@
 :_basedir: ../../
 :_imagesdir: images/
 :toc: right
+include::__versions.adoc[]
 
 
 The release process consists of:
@@ -229,13 +230,13 @@ Assuming that everything builds ok, then test the archetypes (adjust version as
 
 * First the `helloworld` archetype: +
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 mvn archetype:generate  \
     -D archetypeCatalog=local \
     -D archetypeGroupId=org.apache.isis.archetype \
     -D archetypeArtifactId=helloworld-archetype \
-    -D archetypeVersion=2.0.0-M1 \
+    -D archetypeVersion={isisrel} \
     -D groupId=com.mycompany \
     -D artifactId=myhelloworld \
     -D version=1.0-SNAPSHOT \
@@ -250,7 +251,7 @@ Adjust the version as necessary.
 
 * Next, the `simpleapp` archetype: +
 +
-[source,bash]
+[source,bash,subs="attributes+"]
 ----
 cd ..
 
@@ -258,7 +259,7 @@ mvn archetype:generate  \
     -D archetypeCatalog=local \
     -D archetypeGroupId=org.apache.isis.archetype \
     -D archetypeArtifactId=simpleapp-archetype \
-    -D archetypeVersion=2.0.0-M1 \
+    -D archetypeVersion={isisrel} \
     -D groupId=com.mycompany \
     -D artifactId=mysimpleapp \
     -D version=1.0-SNAPSHOT \
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_publishing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_publishing.adoc
index 20f146f..7fced91 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_publishing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Action_publishing.adoc
@@ -7,17 +7,11 @@
 
 
 
-The `publishing()` attribute determines whether and how an action invocation is published via the registered
-implementation of a xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`]) or
-xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`].  This attribute is also
-supported for xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[domain objects], where it controls whether changed objects
-are published as events, and for xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`], where it controls
-whether property edits are published as events.
+The `publishing()` attribute determines whether and how an action invocation is published via the registered implementation of a xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`]) or xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`].
+This attribute is also supported for xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[domain objects], where it controls whether changed objects are published as events, and for xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`], where it controls whether property edits are published as events.
 
 A common use case is to notify external "downstream" systems of changes in the state of the Isis application.
-The default value for the attribute is `AS_CONFIGURED`, meaning that the
-xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.services.publish.actions` is used to determine
-the whether the action is published:
+The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.services.publish.actions` is used to determine the whether the action is published:
 
 * `all` +
 +
@@ -33,9 +27,7 @@ no action invocations are published
 
 If there is no configuration property in `isis.properties` then publishing is automatically enabled.
 
-This default can be overridden on an action-by-action basis; if `publishing()` is set to `ENABLED` then the action
-invocation is published irrespective of the configured value; if set to `DISABLED` then the action invocation is
-_not_ published, again irrespective of the configured value.
+This default can be overridden on an action-by-action basis; if `publishing()` is set to `ENABLED` then the action invocation is published irrespective of the configured value; if set to `DISABLED` then the action invocation is _not_ published, again irrespective of the configured value.
 
 For example:
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_cssClassUiEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_cssClassUiEvent.adoc
index 86833c6..6cd44ad 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_cssClassUiEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_cssClassUiEvent.adoc
@@ -101,8 +101,7 @@ If this is not required, then the `isis.reflector.facet.domainObjectLayoutAnnota
 On the other hand, if the `cssClassUiEvent` has been explicitly specified to some subclass, then an event will be posted.
 The framework provides `CssClassUiEvent.Doop` as such a subclass, so setting the `cssClassUiEvent` attribute to this class will ensure that the event to be posted, irrespective of the configuration property setting.
 
-And, conversely, the framework also provides `CssClassUiEvent.Noop`; if `cssClassUiEvent` attribute is set to this class,
-then no event will be posted.
+And, conversely, the framework also provides `CssClassUiEvent.Noop`; if `cssClassUiEvent` attribute is set to this class, then no event will be posted.
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_titleUiEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_titleUiEvent.adoc
index 8e4bc51..62e7aea 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_titleUiEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObjectLayout_titleUiEvent.adoc
@@ -55,9 +55,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -65,7 +64,8 @@ Subscribers can be either coarse-grained (if they subscribe to the top-level eve
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(TitleUiEvent ev) {
         if(ev.getSource() instanceof ToDoItemDto) { ... }
     }
@@ -78,7 +78,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItemDto.TitleUiEvent ev) {
         ...
     }
@@ -89,11 +90,6 @@ The subscriber should then use either `TitleUiEvent#setTranslatableTitle(...)` o
 actually specify the title to be used.
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
-
 
 
 == Default, Doop and Noop events
@@ -114,7 +110,5 @@ thn no event will be posted.
 
 == Raising events programmatically
 
-Normally events are only raised for interactions through the UI. However, events can be raised programmatically either
-by calling the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] API directly, or as a result
-of calling the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_TitleService[`TitleService`]'s
-`titleOf(...)` method.
+Normally events are only raised for interactions through the UI.
+However, events can be raised programmatically either by calling the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] API directly, or as a result of calling the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_TitleService[`TitleService`]'s `titleOf(...)` method.
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_auditing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_auditing.adoc
index 2c2d464..c30ed06 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_auditing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_auditing.adoc
@@ -5,12 +5,9 @@
 :_imagesdir: images/
 
 
-The `auditing()` attribute indicates that if the object is modified, then each of its changed properties should be
-submitted to the registered xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`](s).
+The `auditing()` attribute indicates that if the object is modified, then each of its changed properties should be submitted to the registered xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`](s).
 
-The default value for the attribute is `AS_CONFIGURED`, meaning that the
-xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.services.audit.objects` is used to determine the
-whether the action is audited:
+The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:../rgcfg/rgcfg.adoc#_rgcfg_configuring-core[configuration property] `isis.services.audit.objects` is used to determine the whether the action is audited:
 
 * `all` +
 +
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_autoCompleteRepository.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_autoCompleteRepository.adoc
index 35c707e..a221a92 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_autoCompleteRepository.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_autoCompleteRepository.adoc
@@ -6,10 +6,10 @@
 
 
 
-The `autoCompleteRepository()` attribute nominates a single method on a domain service as the fallback means for
-looking up instances of the domain object using a simple string.
+The `autoCompleteRepository()` attribute nominates a single method on a domain service as the fallback means for looking up instances of the domain object using a simple string.
 
-For example, this might search for a customer by their name or number.  Or it could search for a country based on its ISO-3 code or user-friendly name.
+For example, this might search for a customer by their name or number.
+Or it could search for a country based on its ISO-3 code or user-friendly name.
 
 
 [TIP]
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_loadedLifecycleEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_loadedLifecycleEvent.adoc
index d13000c..89bdce3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_loadedLifecycleEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_loadedLifecycleEvent.adoc
@@ -7,9 +7,8 @@
 
 Whenever a persistent domain object is loaded from the database, a "loaded" lifecycle event is fired.
 
-Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can
-use the event to obtain a reference to the domain object just loaded.  The subscriber could then, for example, update
-or default values on the object (eg to support on-the-fly migration scenarios).
+Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can use the event to obtain a reference to the domain object just loaded.
+The subscriber could then, for example, update or default values on the object (eg to support on-the-fly migration scenarios).
 
 By default the event raised is `ObjectLoadedEvent.Default`. For example:
 
@@ -21,8 +20,8 @@ public class ToDoItemDto {
 }
 ----
 
-The purpose of the `loadedLifecycleEvent()` attribute is to allows a custom subclass to be emitted instead.  A similar
-attribute is available for other lifecycle events.
+The purpose of the `loadedLifecycleEvent()` attribute is to allows a custom subclass to be emitted instead.
+A similar attribute is available for other lifecycle events.
 
 For example:
 
@@ -45,9 +44,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below support both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -55,7 +53,8 @@ Subscribers can be either coarse-grained (if they subscribe to the top-level eve
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ObjectLoadedEvent ev) {
         if(ev.getSource() instanceof ToDoItem) { ... }
     }
@@ -68,7 +67,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItem.ObjectLoadedEvent ev) {
         ...
     }
@@ -76,29 +76,20 @@ public class SomeSubscriber extends AbstractSubscriber {
 ----
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
-
 
 
 
 
 == Default, Doop and Noop events
 
-If the `loadedLifecycleEvent` attribute is not explicitly specified (is left as its default value, `ObjectLoadedEvent.Default`),
-then the framework will, by default, post an event.
+If the `loadedLifecycleEvent` attribute is not explicitly specified (is left as its default value, `ObjectLoadedEvent.Default`), then the framework will, by default, post an event.
 
-If this is not required, then the `isis.reflector.facet.domainObjectAnnotation.loadedLifecycleEvent.postForDefault`
-configuration property can be set to "false"; this will disable posting.
+If this is not required, then the `isis.reflector.facet.domainObjectAnnotation.loadedLifecycleEvent.postForDefault` configuration property can be set to "false"; this will disable posting.
 
 On the other hand, if the `loadedLifecycleEvent` has been explicitly specified to some subclass, then an event will be posted.
-The framework provides `ObjectLoadedEvent.Doop` as such a subclass, so setting the `loadedLifecycleEvent` attribute to this class
-will ensure that the event to be posted, irrespective of the configuration property setting.
+The framework provides `ObjectLoadedEvent.Doop` as such a subclass, so setting the `loadedLifecycleEvent` attribute to this class will ensure that the event to be posted, irrespective of the configuration property setting.
 
-And, conversely, the framework also provides `ObjectLoadedEvent.Noop`; if `loadedLifecycleEvent` attribute is set to this class,
-then no event will be posted.
+And, conversely, the framework also provides `ObjectLoadedEvent.Noop`; if `loadedLifecycleEvent` attribute is set to this class, then no event will be posted.
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_objectType.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_objectType.adoc
index 679d574..353090b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_objectType.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_objectType.adoc
@@ -12,7 +12,7 @@ This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_BookmarkService[`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
+** 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:../rgcms/rgcms.adoc#_rgcms_schema-cmd[command] and xref:../rgcms/rgcms.adoc#_rgcms_schema-ixn[interaction] schemas
 * in the URLs of the xref:../ugvro/ugvro.adoc#[RestfulObjects viewer]
 * in the URLs of the xref:../ugvw/ugvw.adoc#[Wicket viewer] (in general and in particular if xref:../ugvw/ugvw.adoc#_ugvw_features_hints-and-copy-url[copying URLs])
@@ -41,7 +41,7 @@ The rules of precedence are:
 
 1. xref:../rgant/rgant.adoc#_rgant_Discriminator[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:../rgant/rgant.adoc#_rgant_PersistenceCapable[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref:../rgant/rgant.adoc#_rgant_PersistenceCapable[`@PersistenceCapable`], if at least the `schema` attribute is defined.
 +
 If both `schema` and `table` are defined, then the value is "`schema.table`".
 If only `schema` is defined, then the value is "`schema.className`".
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistedLifecycleEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistedLifecycleEvent.adoc
index e7de07e..e0303c5 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistedLifecycleEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistedLifecycleEvent.adoc
@@ -8,9 +8,8 @@
 Whenever a (just created, still transient) domain object has been saved (INSERTed in)to the database, a "persisted" lifecycle
 event is fired.
 
-Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can
-use the event to obtain a reference to the domain object.  The subscriber could then, for example, maintain an
-external datastore.
+Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can use the event to obtain a reference to the domain object.
+The subscriber could then, for example, maintain an external datastore.
 
 [WARNING]
 ====
@@ -27,8 +26,8 @@ public class ToDoItemDto {
 }
 ----
 
-The purpose of the `persistedLifecycleEvent()` attribute is to allows a custom subclass to be emitted instead.  A similar
-attribute is available for other lifecycle events.
+The purpose of the `persistedLifecycleEvent()` attribute is to allows a custom subclass to be emitted instead.
+A similar attribute is available for other lifecycle events.
 
 For example:
 
@@ -51,9 +50,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -61,7 +59,8 @@ Subscribers can be either coarse-grained (if they subscribe to the top-level eve
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ObjectPersistedEvent ev) {
         if(ev.getSource() instanceof ToDoItem) { ... }
     }
@@ -74,7 +73,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItem.ObjectPersistedEvent ev) {
         ...
     }
@@ -82,10 +82,6 @@ public class SomeSubscriber extends AbstractSubscriber {
 ----
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistingLifecycleEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistingLifecycleEvent.adoc
index 6a712d8..7260566 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistingLifecycleEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_persistingLifecycleEvent.adoc
@@ -5,19 +5,16 @@
 :_imagesdir: images/
 
 
-Whenever a (just created, still transient) domain object is about to be saved (INSERTed in)to the database, a "persisting" lifecycle
-event is fired.
+Whenever a (just created, still transient) domain object is about to be saved (INSERTed in)to the database, a "persisting" lifecycle event is fired.
 
-Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can
-use the event to obtain a reference to the domain object.  The subscriber could then, for example, update the object,
-or it could use it maintain an external datastore.  One possible application is to maintain a full-text search database using
-link:https://lucene.apache.org/[Apache Lucene] or similar.
+Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can use the event to obtain a reference to the domain object.
+The subscriber could then, for example, update the object, or it could use it maintain an external datastore.
+One possible application is to maintain a full-text search database using link:https://lucene.apache.org/[Apache Lucene] or similar.
 
 [NOTE]
 ====
-Another use case is to maintain "last updated by"/"last updated at" properties.  While you can roll your own, note that
-the framework provides built-in support for this use case through the
-xref:../rgcms/rgcms.adoc#_rgcms_classes_roles_Timestampable[`Timestampable`] role interface.
+Another use case is to maintain "last updated by"/"last updated at" properties.
+While you can roll your own, note that the framework provides built-in support for this use case through the xref:../rgcms/rgcms.adoc#_rgcms_classes_roles_Timestampable[`Timestampable`] role interface.
 ====
 
 By default the event raised is `ObjectPersistingEvent.Default`. For example:
@@ -30,8 +27,8 @@ public class ToDoItemDto {
 }
 ----
 
-The purpose of the `persistingLifecycleEvent()` attribute is to allows a custom subclass to be emitted instead.  A similar
-attribute is available for other lifecycle events.
+The purpose of the `persistingLifecycleEvent()` attribute is to allows a custom subclass to be emitted instead.
+A similar attribute is available for other lifecycle events.
 
 For example:
 
@@ -54,9 +51,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -77,7 +73,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItem.ObjectPersistingEvent ev) {
         ...
     }
@@ -85,11 +82,6 @@ public class SomeSubscriber extends AbstractSubscriber {
 ----
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
-
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_publishing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_publishing.adoc
index 72d2e58..9d67e01 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_publishing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_publishing.adoc
@@ -6,13 +6,8 @@
 
 
 
-The `publishing()` attribute determines whether and how a modified object instance is published via the registered
-implementation of
-xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`].
-This attribute is also supported
-for xref:../rgant/rgant.adoc#_rgant-Action_publishing[actions], where it controls whether action invocations are published as
-events, and for xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`], where it controls whether
-property edits are published as events.
+The `publishing()` attribute determines whether and how a modified object instance is published via the registered implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`].
+This attribute is also supported for xref:../rgant/rgant.adoc#_rgant-Action_publishing[actions], where it controls whether action invocations are published as events, and for xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`], where it controls whether property edits are published as events.
 
 A common use case is to notify external "downstream" systems of changes in the state of the Isis application.
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_removingLifecycleEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_removingLifecycleEvent.adoc
index ec875fd..dbd2eb3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_removingLifecycleEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_removingLifecycleEvent.adoc
@@ -5,13 +5,11 @@
 :_imagesdir: images/
 
 
-Whenever a (persistent) domain object is about to be removed (DELETEd) from the database, a "removing"
-lifecycle event is fired.
+Whenever a (persistent) domain object is about to be removed (DELETEd) from the database, a "removing" lifecycle event is fired.
 
-Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can
-use the event to obtain a reference to the domain object.  The subscriber could then, for example, could use it
-maintain an external datastore.  One possible application is to maintain a full-text search database
-using link:https://lucene.apache.org/[Apache Lucene] or similar.
+Subscribers subscribe through the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] and can use the event to obtain a reference to the domain object.
+The subscriber could then, for example, could use it maintain an external datastore.
+One possible application is to maintain a full-text search database using link:https://lucene.apache.org/[Apache Lucene] or similar.
 
 [NOTE]
 ====
@@ -54,9 +52,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -64,7 +61,8 @@ Subscribers can be either coarse-grained (if they subscribe to the top-level eve
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ObjectRemovingEvent ev) {
         if(ev.getSource() instanceof ToDoItem) { ... }
     }
@@ -77,7 +75,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItem.ObjectRemovingEvent ev) {
         ...
     }
@@ -85,10 +84,6 @@ public class SomeSubscriber extends AbstractSubscriber {
 ----
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatedLifecycleEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatedLifecycleEvent.adoc
index 950a5c2..e7dfe68 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatedLifecycleEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatedLifecycleEvent.adoc
@@ -50,9 +50,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -60,7 +59,8 @@ Subscribers can be either coarse-grained (if they subscribe to the top-level eve
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ObjectUpdatedEvent ev) {
         if(ev.getSource() instanceof ToDoItem) { ... }
     }
@@ -73,7 +73,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItem.ObjectUpdatedEvent ev) {
         ...
     }
@@ -81,10 +82,7 @@ public class SomeSubscriber extends AbstractSubscriber {
 ----
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
+
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatingLifecycleEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatingLifecycleEvent.adoc
index 9b71f5e..42a3067 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatingLifecycleEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-DomainObject_updatingLifecycleEvent.adoc
@@ -54,9 +54,8 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured)
-using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -64,7 +63,8 @@ Subscribers can be either coarse-grained (if they subscribe to the top-level eve
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ObjectUpdatingEvent ev) {
         if(ev.getSource() instanceof ToDoItem) { ... }
     }
@@ -77,7 +77,8 @@ or can be fine-grained (by subscribing to specific event subtypes):
 ----
 @DomainService(nature=NatureOfService.DOMAIN)
 public class SomeSubscriber extends AbstractSubscriber {
-    @com.google.common.eventbus.Subscribe
+    @org.axonframework.eventhandling.annotation.EventHandler // if using axon
+    @com.google.common.eventbus.Subscribe                    // if using guava
     public void on(ToDoItem.ObjectUpdatingEvent ev) {
         ...
     }
@@ -85,12 +86,6 @@ public class SomeSubscriber extends AbstractSubscriber {
 ----
 
 
-[TIP]
-====
-If the AxonFramework is being used, replace `@com.google.common.eventbus.Subscribe` with `@org.axonframework.eventhandling.annotation.EventHandler`.
-====
-
-
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc
index 5ec651e..ea731b7 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ParameterLayout_describedAs.adoc
@@ -7,13 +7,9 @@
 
 The `describedAs()` attribute is used to provide a short description of the action parameter to the user.  In the xref:../ugvw/ugvw.adoc#[Wicket viewer] it is displayed as a 'tool tip'.  The `describedAs()` attribute can also be specified for xref:../rgant/rgant.adoc#_rgant-CollectionLayout_describedAs[collections],  xref:../rgant/rgant.adoc#_rgant-PropertyLayout_describedAs[properties], xref:../rgant/rgant.adoc#_rgant-ActionLayout_describedAs[actions], xref:../rgant/rgant.adoc#_rgant-Do [...]
 
-Descriptions may be provided for objects, members (properties,
-collections and actions), and for individual parameters within an action
-method.
+Descriptions may be provided for objects, members (properties, collections and actions), and for individual parameters within an action method.
 
-To provide a description for an individual action parameter, use the
-`describedAs` attribute in-line i.e. immediately before the parameter
-declaration.
+To provide a description for an individual action parameter, use the `describedAs` attribute in-line i.e. immediately before the parameter declaration.
 
 For example:
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PrimaryKey.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PrimaryKey.adoc
index d8911bb..da46bc3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PrimaryKey.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-PrimaryKey.adoc
@@ -12,7 +12,7 @@ Apache Isis also uses this annotation in a very minimal way: to ensure that the
 
 [NOTE]
 ====
-Isis parses the `@NotPersistent` annotation from the Java source code; it does not query the JDO metamodel.
+Apache Isis parses the `@NotPersistent` annotation from the Java source code; it does not query the JDO metamodel.
 This means that it the `@NotPersistent` annotation must be used rather than the equivalent `<field>` link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/application_identity.html[XML metadata].
 
 Moreover, while JDO/DataNucleus will recognize annotations on either the field or the getter method, Apache Isis (currently) only inspects the getter method.
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_publishing.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_publishing.adoc
index 3c56ad3..ba0491b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_publishing.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-Property_publishing.adoc
@@ -7,13 +7,8 @@
 
 
 
-The `publishing()` attribute determines whether and how a property edit is published via the registered implementation
-of
-xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`].
-This attribute is also supported
-for xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[domain objects], where it controls whether changed objects are
-published as events, and for xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`], where it controls
-whether property edits are published as events.
+The `publishing()` attribute determines whether and how a property edit is published via the registered implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`].
+This attribute is also supported for xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[domain objects], where it controls whether changed objects are published as events, and for xref:../rgant/rgant.adoc#_rgant-Property_publishing[`@Property#publishing()`], where it controls whether property edits are published as events.
 
 A common use case is to notify external "downstream" systems of changes in the state of the Isis application.
 The default value for the attribute is `AS_CONFIGURED`, meaning that the
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel_objectType.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel_objectType.adoc
index 341f70c..cf28409 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel_objectType.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant-ViewModel_objectType.adoc
@@ -41,7 +41,7 @@ The rules of precedence are:
 
 1. xref:../rgant/rgant.adoc#_rgant_Discriminator[`@Discriminator`]
 2. `@DomainObject#objectType`, or xref:../rgant/rgant.adoc#_rgant_ViewModel_objectType[`@ViewModel#objectType()`]
-3. xref:../rgant/rgant.adoc#_rgant_PersistenceCapable[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref:../rgant/rgant.adoc#_rgant_PersistenceCapable[`@PersistenceCapable`], if at least the `schema` attribute is defined.
 +
 If both `schema` and `table` are defined, then the value is "`schema.table`".
 If only `schema` is defined, then the value is "`schema.className`".
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc
index ad03819..806fd46 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgant/_rgant_aaa_jdo.adoc
@@ -54,7 +54,7 @@ Note that the discriminator overrides the object type that may otherwise be infe
 
 |xref:../rgant/rgant.adoc#_rgant-PersistenceCapable[`@javax.jdo.annotations.` +
 `PersistenceCapable`]
-|Used to build Apache Isis' own internal identifier for objects.
+|Used to build Apache Isis' own internal identifier for objects. +
 
 If the `schema()` attribute is specified (and if xref:../rgant/rgant.adoc#\_rgant-Discriminator[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:../ugvro/ugvro.adoc#[RestfulObjects viewer] and elsewhere.
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
index 10d0c88..f4fadc3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcfg/_rgcfg_configuring-core.adoc
@@ -575,7 +575,6 @@ Note that properties and collections are still implicitly inferred by virtue of
 (`true`)
 |Whether objects should be filtered for visibility. +
 
-
 See xref:../rgcfg/rgcfg.adoc#__rgcfg_configuring-core_filterVisibility[section below] for further discussion.
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_lifecycleevent_ObjectCreatedEvent.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_lifecycleevent_ObjectCreatedEvent.adoc
index 5fb4367..24dbeef 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_lifecycleevent_ObjectCreatedEvent.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_lifecycleevent_ObjectCreatedEvent.adoc
@@ -6,8 +6,7 @@
 
 
 
-Subclass of xref:../rgcms/rgcms.adoc#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_FactoryService[`FactoryServuce`]'s
-`#instantiate(...)` method.
+Subclass of xref:../rgcms/rgcms.adoc#_rgcms_classes_lifecycleevent_AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_FactoryService[`FactoryServuce`]'s `#instantiate(...)` method.
 
 `ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:../rgant/rgant.adoc#_rgant_DomainObject_createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`].
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_mixins_Dto.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_mixins_Dto.adoc
index 0129c64..8d799e3 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_mixins_Dto.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_mixins_Dto.adoc
@@ -53,4 +53,4 @@ The `IsisSchemas` parameter to the action can be used to optionally ignore the c
 
 == Related Services
 
-The `Dto_downloadXml` and `Dto_downloadXsd` delegate to the xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_JaxbService[`JaxbService`] to actually generate the XML/XSD.p
\ No newline at end of file
+The `Dto_downloadXml` and `Dto_downloadXsd` delegate to the xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_JaxbService[`JaxbService`] to actually generate the XML/XSD.
\ No newline at end of file
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractService.adoc
index 829afb6..9d1c35e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractService.adoc
@@ -7,4 +7,4 @@
 This class provides an implementation of the optional `getId()` method for domain services, based upon the classes name.
 
 In practice there is little to gain from subclassing.
-Instead annotated with xref:../rgant/rgant.adoc#_rgant_DomainService[`@DomainService`] and specify its xref:../rgant/rgant.adoc#_rgant_DomainService_objectType[`#objectType()`]
+Instead annotate with xref:../rgant/rgant.adoc#_rgant_DomainService[`@DomainService`] and specify its xref:../rgant/rgant.adoc#_rgant_DomainService_objectType[`#objectType()`]
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractViewModel.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractViewModel.adoc
index 509a67f..d6af155 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractViewModel.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_classes_super_AbstractViewModel.adoc
@@ -10,6 +10,6 @@ In and of itself it provides no new behaviour.
 
 [TIP]
 ====
-As an alternative, consider simply annotating the view model class with {@link org.apache.isis.applib.annotation.ViewModel} annotation.
+As an alternative, consider simply annotating the view model class with the {@link org.apache.isis.applib.annotation.ViewModel} annotation.
 ====
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc
index ec031d6..37a2438 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgcms/_rgcms_methods_reserved_disable.adoc
@@ -39,7 +39,8 @@ See also the similar methods to xref:../rgcms/rgcms.adoc#_rgcms_methods_reserved
 An alternative design -- and one that could be easily argued is actually more flexible -- is to leverage domain events with vetoing subscribers.
 
 With this approach we define, for a given domain class, a base `PropertyDomainEvent`, `CollectionDomainEvent` and `ActionDomainEvent`.
-A good pattern is to make these nested static classes.  For example:
+A good pattern is to make these nested static classes.
+For example:
 
 [source,java]
 ----
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_AuditingServiceInternal.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_AuditingServiceInternal.adoc
index 67e3586..0c25e7b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_AuditingServiceInternal.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_AuditingServiceInternal.adoc
@@ -31,7 +31,7 @@ The service implementation is `o.a.i.c.r.s.auditing.AuditingServiceInternal`.
 
 == Registering the Service
 
-Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the `AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' default implementation of `AuditingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
+Apache Isis' default implementation of `AuditingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
 
 
 == Related Classes
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_ChangedObjectsServiceInternal.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_ChangedObjectsServiceInternal.adoc
index 612b823..f174be2 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_ChangedObjectsServiceInternal.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_ChangedObjectsServiceInternal.adoc
@@ -52,7 +52,7 @@ The service implementation is `o.a.i.c.r.s.changes.ChangedObjectsServiceInternal
 
 == Registering the Service
 
-Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the `AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' default implementation of `ChangedObjectsServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
+Apache Isis' default implementation of `ChangedObjectsServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_PublishingServiceInternal.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_PublishingServiceInternal.adoc
index d118c6e..3c2a883 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_PublishingServiceInternal.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_persistence-layer_PublishingServiceInternal.adoc
@@ -39,7 +39,9 @@ The service implementation is `o.a.i.c.m.s.publishing.PublishingServiceInternal`
 
 == Registering the Service
 
-Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the `AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' default implementation of `PublishingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
+Apache Isis' default implementation of `PublishingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
+
+To use an alternative implementation, use xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:../rgsvc/rgsvc adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 
 
 == Related Classes
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_ContentNegotiationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_ContentNegotiationService.adoc
index e3d98de..da13dad 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_ContentNegotiationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_ContentNegotiationService.adoc
@@ -194,14 +194,9 @@ If the property is not set, then the default depends on the xref:../rgcfg/rgcfg.
 
 == Registering the Services
 
-Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the
-`AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' default
-implementations of `ContentNegotiationService` service are automatically registered and injected (it is annotated with
-`@DomainService`) so no further configuration is required.
-
-To use an alternative implementation, use
-xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
+Apache Isis' default implementations of `ContentNegotiationService` service are automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
+
+To use an alternative implementation, use xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:../rgsvc/rgsvc adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_RepresentationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_RepresentationService.adoc
index e27e73a..9614d14 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_RepresentationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgfis/_rgfis_presentation-layer_RepresentationService.adoc
@@ -86,7 +86,7 @@ To use an alternative implementation, use xref:../rgant/rgant.adoc#_rgant-Domain
 
 == Registering the Services
 
-Assuming that the `configuration-and-annotation` services installer is configured (implicit if using the `AppManifest` to xref:../rgcms/rgcms.adoc#_rgcms_classes_AppManifest-bootstrapping[bootstrap the app]) then Apache Isis' default implementation of `RepresentationService` service is automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
+Apache Isis' default implementation of `RepresentationService` service is automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_CommandContext.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_CommandContext.adoc
index 053d1d8..af47565 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_CommandContext.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_CommandContext.adoc
@@ -166,7 +166,7 @@ One case however where a domain object might want to obtain the `Command` is to
 It can do this using the `getExecutedIn()` method:
 
 Although not often needed, this then allows the domain object to access the `Command` object through the `CommandContext` service.
-To expand th above example:
+To expand the above example:
 
 
 [source,java]
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_InteractionContext.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_InteractionContext.adoc
index 1e6d25e..bc907e9 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_InteractionContext.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-api_InteractionContext.adoc
@@ -168,8 +168,7 @@ public class PropertyEdit extends Execution {
 
 === Alternate Implementations
 
-Apache Isis' default
-implementation of `InteractionContext` class is automatically registered (it is annotated with `@DomainService`).
+Apache Isis' default implementation of `InteractionContext` class is automatically registered (it is annotated with `@DomainService`).
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-spi_CommandService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-spi_CommandService.adoc
index 6dfe056..d52b0fb 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-spi_CommandService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_application-layer-spi_CommandService.adoc
@@ -78,8 +78,7 @@ xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_CommandService[`Background
 
 All of these can be activated by updating the `pom.xml` and updating the `AppManifest#getModules()` method.
 
-If contributions are not required in the UI, these can be suppressed either using security or by implementing a
-xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips_vetoing-visibility[vetoing subscriber].
+If contributions are not required in the UI, these can be suppressed either using security or by implementing a xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips_vetoing-visibility[vetoing subscriber].
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_bootstrapping-spi_ClassDiscoveryService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_bootstrapping-spi_ClassDiscoveryService.adoc
index 14d23e3..4fe927b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_bootstrapping-spi_ClassDiscoveryService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_bootstrapping-spi_ClassDiscoveryService.adoc
@@ -33,7 +33,7 @@ public interface ClassDiscoveryService  {
 
 == Implementation
 
-Isis provides an implementation of this service, namely `o.a.i.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections`.
+Apache Isis provides an implementation of this service, namely `o.a.i.applib.services.classdiscovery.ClassDiscoveryServiceUsingReflections`.
 
 [NOTE]
 ====
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_core-domain-api_FactoryService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_core-domain-api_FactoryService.adoc
index 62737f8..7908b07 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_core-domain-api_FactoryService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_core-domain-api_FactoryService.adoc
@@ -20,8 +20,10 @@ public interface FactoryService {
     <T> T mixin(Class<T> mixinClass, Object mixedIn);  // <2>
 }
 ----
-<1> create a new non-persisted domain entity.  Any services will be automatically injected into the service.  The class must have a no-arg constructor.
-<2> programmatically instantiate a mixin, eg as annotated with xref:../rgant/rgant.adoc#_rgant-Mixin[`@Mixin`].  The class must have a 1-arg constructor of the appropriate type.
+<1> create a new non-persisted domain entity.  Any services will be automatically injected into the service.
+The class must have a no-arg constructor.
+<2> programmatically instantiate a mixin, for example as annotated with xref:../rgant/rgant.adoc#_rgant-Mixin[`@Mixin`].
+The class must have a 1-arg constructor of the appropriate type.
 
 
 The object is created in memory, but is not persisted.  The benefits of using this method (instead of simply using the Java `new` keyword) are:
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc
index f3416d0..78b0d6e 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_intro.adoc
@@ -17,8 +17,7 @@ The diagram below shows these categories:
 image::{_imagesdir}reference-services/categories.png[width="600px",link="{_imagesdir}reference-services/categories.png"]
 
 
-A small number of domain services can be considered both API and SPI; a good example is the xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_EmailService[`EmailService`] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[user registration]
-functionality supported by the xref:../ugvw/ugvw.adoc#[Wicket viewer].
+A small number of domain services can be considered both API and SPI; a good example is the xref:../rgsvc/rgsvc.adoc#_rgsvc_integration-api_EmailService[`EmailService`] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:../ugvw/ugvw.adoc#_ugvw_features_user-registration[user registration] functionality supported by the xref:../ugvw/ugvw.adoc#[Wicket viewer].
 The same is true of the xref:../rgsvc/rgsvc.adoc#_rgsvc_core-domain-api_EventBusService[`EventBusService`]; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for
 xref:../rgant/rgant.adoc#_rgant-Action_domainEvent[`@Action#domainEvent()`] etc.
 
@@ -119,7 +118,7 @@ public class MyLocaleProvider implements LocaleProvider {
 <1> takes precedence over the default implementation.
 
 
-It's also quite common to want to decorate the existing implementation (ie have your own implementation delegate to the default); this is also possible and quite easy (if using `1.10.0` or later).
+It's also quite common to want to decorate the existing implementation (ie have your own implementation delegate to the default); this is also possible and quite easy.
 The idea is to have the framework inject all implementations of the service, and then to delegate to the first one that isn't "this" one:
 
 [source,java]
@@ -188,16 +187,14 @@ xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceIn
 The internal service delegates in turn to any registered xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`]s (there may be more than one).
 
 * At the end of each transaction, details of all changed objects are published, again through the (internal) xref:../rgfis/rgfis.adoc#_rgfis_spi_PublisherServiceInternal[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
-Only domain objects specified to be published with
-xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] are published. +
+Only domain objects specified to be published with xref:../rgant/rgant.adoc#_rgant-DomainObject_publishing[`@DomainObject#publishing()`] are published. +
 +
 [NOTE]
 ====
 Note that it's possible for there to be more than one transaction per top-level interaction, by virtue of the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_TransactionService[`TransactionService`].
 ====
 
-* Also at the end of each transaction, details of all changed properties are passed to any registered
-xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`](s) by way of the (internal) xref:../rgfis/rgfis.adoc#_rgfis_persistence-layer_AuditingServiceInternal[`AuditingServiceInternal`] domain service.
+* Also at the end of each transaction, details of all changed properties are passed to any registered xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_AuditerService[`AuditerService`](s) by way of the (internal) xref:../rgfis/rgfis.adoc#_rgfis_persistence-layer_AuditingServiceInternal[`AuditingServiceInternal`] domain service.
 
 Implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_CommandService[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:../rgcms/rgcms.adoc#_rgcms_schema-cmd[`cmd.xsd`] schema.
 This can be converted back into a `CommandDto` using the `CommandDtoUtils` utility class (part of the applib).
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_SwaggerService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_SwaggerService.adoc
index 08e2d57..fb5ac0a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_SwaggerService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_metadata-api_SwaggerService.adoc
@@ -47,7 +47,7 @@ xref:../ugfun/ugfun.adoc#_ugfun_building-blocks_types-of-domain-objects_view-mod
 
 == Implementation
 
-Isis provides a default implementation of the service, `o.a.i.core.metamodel.services.swagger.SwaggerServiceDefault`.
+Apache Isis provides a default implementation of the service, `o.a.i.core.metamodel.services.swagger.SwaggerServiceDefault`.
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_QueryResultsCache.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_QueryResultsCache.adoc
index d173184..c33d3ce 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_QueryResultsCache.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-api_QueryResultsCache.adoc
@@ -57,10 +57,7 @@ public class QueryResultsCache {
 
 This class (`o.a.i.applib.services.queryresultscache.QueryResultsCache`) is also the implementation.
 
-To use an alternative implementation, subclass `QueryResultsCache` and use
-xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained
-in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
-
+To use an alternative implementation, subclass `QueryResultsCache` and use xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
 
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_AuditerService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_AuditerService.adoc
index aa0652d..c6ff519 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_AuditerService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_AuditerService.adoc
@@ -67,6 +67,17 @@ log4j.additivity.org.apache.isis.applib.services.audit.AuditerServiceLogging=fal
 ----
 
 
+
+
+== Usage
+
+The typical way to indicate that an object should be audited is to annotate it with the xref:../rgant/rgant.adoc#_rgant-DomainObject_auditing[`@DomainObject#auditing()`] annotation.
+
+
+== Alternative Implementations
+
+The (non-ASF) link:http://platform.incode.org[Incode Platform^]'s audit module provides an implementation of this service (`AuditerService`), and also provides a number of related domain services (`AuditingServiceMenu`, `AuditingServiceRepository` and `AuditingServiceContributions`).
+
 The (non-ASF) link:http://platform.incode.org[Incode Platform^]'s audit module also provides an implementation, `org.isisaddons.module.audit.dom.AuditerServiceUsingJdo`.
 This creates an audit record for each changed property (ie every time that `AuditerService#audit(...)` is called.
 
@@ -78,7 +89,7 @@ the secondary menu bar.
 * `AuditingServiceRepository` service to to search for persisted `AuditEntry``s.
 None of its actions are visible in the user interface (they are all `@Programmatic`).
 
-* `AuditingServiceContributions` which contrbutes collections to the xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_HasTransactionId[ `HasTransactionId`] interface.
+* `AuditingServiceContributions` which contributes collections to the xref:../rgcms/rgcms.adoc#_rgcms_classes_mixins_HasTransactionId[ `HasTransactionId`] interface.
 This will therefore display all audit entries that occurred in a given request/transaction, in other words whenever a command, a published event or another audit entry is displayed.
 
 
@@ -88,18 +99,6 @@ If menu items or contributions are not required in the UI, these can be suppress
 
 
 
-== Usage
-
-The typical way to indicate that an object should be audited is to annotate it with the xref:../rgant/rgant.adoc#_rgant-DomainObject_auditing[`@DomainObject#auditing()`] annotation.
-
-
-== Alternative Implementations
-
-
-If menu items or contributions are not required in the UI, these can be suppressed either using security or by implementing a xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips_vetoing-visibility[vetoing subscriber].
-
-
-
 == Related Services
 
 The auditing service works very well with implementations of xref:../rgsvc/rgsvc.adoc#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`] that persist the ``Interaction.Execution`` objects obtained from the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-api_InteractionContext[`InteractionContext`] service.
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_PublisherService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_PublisherService.adoc
index 553e10e..445f668 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_PublisherService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_persistence-layer-spi_PublisherService.adoc
@@ -79,18 +79,6 @@ log4j.additivity.org.apache.isis.applib.services.publish.PublisherServiceLogging
 ----
 
 
-The (non-ASF) link:http://platform.incode.org[Incode Platform^]'s publishmq module also provides an implementation (`o.ia.m.publishmq.dom.servicespi.PublisherServiceUsingActiveMq`).
-This implementation:
-
-* publishes each member execution as an event on an link:http://activemq.apache.org[ActiveMQ] message queue.
-* persists each execution as a `PublishedEvent` entity, allowing the event to be republished if necessary.
-* provides the ability to log additional `StatusMessage` entities, correlated on the transactionId, useful for diagnosing and monitoring the activity of subscribers of said message queues.
-
-
-This service can be activated by updating the `pom.xml` and updating the `AppManifest#getModules()` method.
-
-The module also provide services that contribute to the UI.
-If contributions are not required in the UI, these can be suppressed either using security or by implementing a xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips_vetoing-visibility[vetoing subscriber].
 
 
 == Usage
@@ -105,9 +93,19 @@ To indicate that:
 
 == Alternative Implementations
 
-The (non-ASF) link:http://platform.incode.org[Incode Platform^];s publishmq module provides an implementation of this service.
+The (non-ASF) link:http://platform.incode.org[Incode Platform^]'s publishmq module also provides an implementation (`o.ia.m.publishmq.dom.servicespi.PublisherServiceUsingActiveMq`).
+This implementation:
+
+* publishes each member execution as an event on an link:http://activemq.apache.org[ActiveMQ] message queue.
+* persists each execution as a `PublishedEvent` entity, allowing the event to be republished if necessary.
+* provides the ability to log additional `StatusMessage` entities, correlated on the transactionId, useful for diagnosing and monitoring the activity of subscribers of said message queues.
 
 
+This service can be activated by updating the `pom.xml` and updating the `AppManifest#getModules()` method.
+
+The module also provide services that contribute to the UI.
+If contributions are not required in the UI, these can be suppressed either using security or by implementing a xref:../ugbtb/ugbtb.adoc#_ugbtb_hints-and-tips_vetoing-visibility[vetoing subscriber].
+
 
 
 
@@ -116,6 +114,7 @@ The (non-ASF) link:http://platform.incode.org[Incode Platform^];s publishmq modu
 This service supports two main use cases:
 
 * coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system.
+
 * profiling of interactions/transactions, eg to diagnose response/throughput issues.
 
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_EmailNotificationService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_EmailNotificationService.adoc
index 5c52319..71c5a83 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_EmailNotificationService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_EmailNotificationService.adoc
@@ -56,7 +56,8 @@ This implies a couple of additional constraints:
 
 * first, implementation class should also be annotated with `@com.google.inject.Singleton`
 
-* second, there may not be any Apache Isis session running. (If necessary, one can be created on the fly using `IsisContext.doInSession(...)`)
+* second, there may not be any Apache Isis session running.
+(If necessary, one can be created on the fly using `IsisContext.doInSession(...)`)
 
 
 == Related Services
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_ExceptionRecognizer.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_ExceptionRecognizer.adoc
index 07587a0..de00334 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_ExceptionRecognizer.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_ExceptionRecognizer.adoc
@@ -99,8 +99,7 @@ It will also handle any application exceptions raised by the system (subclasses
 +
 which bundles up a number of more fine-grained implementations:
 +
-** `ExceptionRecognizerForSQLIntegrityConstraintViolationUnique
-OrIndexException`
+** `ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException`
 ** `ExceptionRecognizerForJDOObjectNotFoundException`
 ** `ExceptionRecognizerForJDODataStoreException`
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_RoutingService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_RoutingService.adoc
index 16e6347..02ef214 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_RoutingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_RoutingService.adoc
@@ -54,8 +54,7 @@ public interface RoutingService {
 
 == Implementation
 
-The framework provides a default implementation - `RoutingServiceDefault` - which will always return the original object provided, or the home page
-if a `null` or `void` was provided.
+The framework provides a default implementation - `RoutingServiceDefault` - which will always return the original object provided, or the home page if a `null` or `void` was provided.
 It uses the xref:../rgsvc/rgsvc.adoc#_rgsvc_application-layer-spi_HomePageProviderService[`HomePageProviderService`].
 
 There can be multiple implementations of `RoutingService` registered.
diff --git a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_UrlEncodingService.adoc b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_UrlEncodingService.adoc
index f0ce2bf..8ebc9f1 100644
--- a/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_UrlEncodingService.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/rgsvc/_rgsvc_presentation-layer-spi_UrlEncodingService.adoc
@@ -42,9 +42,8 @@ public interface UrlEncodingService {
 
 == Implementation
 
-The framework provides a default implementation (`UrlEncodingServiceWithCompression`) that (also in the applib) that first (gzip) compresses the state and then uses `base-64` encoding of the resulting bytes.
-As already noted, be aware that the maximum length of a URL should not
-exceed 2083 characters.
+The framework provides a default implementation -- `UrlEncodingServiceWithCompression` (also in the applib) --that first (gzip) compresses the state and then uses `base-64` encoding of the resulting bytes.
+As already noted, be aware that the maximum length of a URL should not exceed 2083 characters.
 For large view models, there's the possibility that this limit could be exceeded; in such cases register an alternative implementation of this service.
 
 To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:../rgant/rgant.adoc#_rgant-DomainServiceLayout_menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:../rgsvc/rgsvc.adoc#__rgsvc_intro_overriding-the-services[introduction] to this guide).
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips_replacing-default-service-implementations.adoc b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips_replacing-default-service-implementations.adoc
index 178ab55..645c2a6 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips_replacing-default-service-implementations.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugbtb/_ugbtb_hints-and-tips_replacing-default-service-implementations.adoc
@@ -6,7 +6,8 @@
 
 
 
-The framework provides default implementations for many of the xref:../rgsvc/rgsvc.adoc#[domain services].  This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
+The framework provides default implementations for many of the xref:../rgsvc/rgsvc.adoc#[domain services].
+This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
 
 For example, suppose you wanted to provide your own implementation of xref:../rgsvc/rgsvc.adoc#_rgsvc_presentation-layer-spi_LocaleProvider[`LocaleProvider`].
 The trick is to use the xref:../rgant/rgant.adoc#_rgant-DomainService_menuOrder[`@DomainService#menuOrder()`] attribute, specifying a low number (typically `"1"`).
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_domain-events.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_domain-events.adoc
index 06572e1..652ac05 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_domain-events.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_building-blocks_events_domain-events.adoc
@@ -13,6 +13,7 @@ Similarly, rendering a collection causes a `CollectionDomainEvent` to be fired,
 In fact, each event can be fired up to five times, with the event's `getEventPhase()` method indicating to the subscriber the phase:
 
 * *hide* phase allows the subscriber to hide the member
+
 * *disable* phase allows the subscriber to disable the member.
 +
 For a property this makes it read-only; for an action this makes it "greyed out".
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_actions.adoc b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_actions.adoc
index 693703e..f90b9fa 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_actions.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugfun/_ugfun_programming-model_actions.adoc
@@ -255,13 +255,8 @@ public Order updateDiscount(
     return this;
 }
 ----
-<<<<<<< HEAD
 <1> Specifies the property precision using xref:../rgant/rgant.adoc#_rgant_Column_scale[`@Column#scale()`]
 <2> Specifies the corresponding parameter precision using xref:../rgant/rgant.adoc#_rgant-Digits[`@Digits#fraction()`].
-=======
-<1> Specifies the property precision using xref:../rgant/rgant.adoc#_rgant-Column_scale[`@Column#scale()`]
-<2> Specifies the corresponding parameter precision using xref:../rgant/rgant.adoc#_rgant-Digits_fraction[`@Digits#fraction()`].
->>>>>>> maint-1.16.1
 
 See also xref:../ugfun/ugfun.adoc#_ugfun_programming-model_properties-vs-parameters[properties vs parameters].
 
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_extending_replacing-page-elements.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_extending_replacing-page-elements.adoc
index 56e1b9d..23ea48b 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_extending_replacing-page-elements.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_extending_replacing-page-elements.adoc
@@ -135,7 +135,8 @@ public class MyAppApplication extends IsisWicketApplication {
 As explained above, in most cases Apache Isis' Wicket viewer will search for the first `ComponentFactory` that can render an element, and use it.
 In the case of (either standalone or parented) collections, though, Apache Isis will show all available views.
 
-For example, out-of-the-box Apache Isis provides a table view, a summary view (totals/sums/averages of any data), and a collapsed view. These are selected by clicking on the toolbar by each collection.
+For example, out-of-the-box Apache Isis provides a table view, a summary view (totals/sums/averages of any data), and a collapsed view.
+These are selected by clicking on the toolbar by each collection.
 
 Additional views though could render the objects in the collection as a variety of ways.
 Indeed, some third-party implementations in the (non-ASF) link:http://platform.incode.org[Incode Platform^] already exist, including:
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features.adoc
index 4b71fbf..fab1069 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_features.adoc
@@ -25,5 +25,3 @@ include::_ugvw_features_user-registration.adoc[leveloffset=+1]
 
 
 
-
-
diff --git a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc
index 38956fc..bdce4c5 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ugvw/_ugvw_layout_file-based.adoc
@@ -364,7 +364,7 @@ There are four "styles":
 * minimal
 
 
-Ignorig the "current" style (which merely downloads the currently cached layout), the other three styles allow the developer to choose how much metadata is to be specified in the XML, and how much (if any) will be obtained from annotations in the metamodel.
+Ignoring the "current" style (which merely downloads the currently cached layout), the other three styles allow the developer to choose how much metadata is to be specified in the XML, and how much (if any) will be obtained from annotations in the metamodel.
 The table below summarises the choices:
 
 .Table caption
diff --git a/adocs/documentation/src/main/asciidoc/index.html b/adocs/documentation/src/main/asciidoc/index.html
index f70bd89..53e9685 100644
--- a/adocs/documentation/src/main/asciidoc/index.html
+++ b/adocs/documentation/src/main/asciidoc/index.html
@@ -744,31 +744,31 @@ mvn archetype:generate  \
          <div class="tutorial-carousel">
 
           <div>
-           <img src="images/index-screenshots/010-sign-in.png"></img>
+           <img src="images/index-screenshots/010-sign-in.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/020-object-layout.png"></img>
+           <img src="images/index-screenshots/020-object-layout.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/030-declarative-business-rules.png"></img>
+           <img src="images/index-screenshots/030-declarative-business-rules.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/040-imperative-business-rules.png"></img>
+           <img src="images/index-screenshots/040-imperative-business-rules.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/050-action-with-args.png"></img>
+           <img src="images/index-screenshots/050-action-with-args.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/060-action-with-args-autocomplete.png"></img>
+           <img src="images/index-screenshots/060-action-with-args-autocomplete.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/070-jdo.png"></img>
+           <img src="images/index-screenshots/070-jdo.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/080-rest-api.png"></img>
+           <img src="images/index-screenshots/080-rest-api.png"/>
           </div>
           <div>
-           <img src="images/index-screenshots/090-integtesting.png"></img>
+           <img src="images/index-screenshots/090-integtesting.png"/>
           </div>
          </div>
          <div>
diff --git a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.7.0-to-1.8.0.adoc b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.7.0-to-1.8.0.adoc
index 933b15d..5f728c4 100644
--- a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.7.0-to-1.8.0.adoc
+++ b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.7.0-to-1.8.0.adoc
@@ -7,20 +7,18 @@
 
 
 
-Existing projects written against v1.7.0 should run against v1.8.0 without any changes.  In particular (unlike 1.6.0 and
- 1.7.0) there should be no need to update `pom.xml` files of existing projects.  If you *do* encounter any difficulties
-then let us know via the link:https://isis.apache.org/versions/2.0.0-M1/support.html#[users mailing list], so we can support you and document issues here.
+Existing projects written against v1.7.0 should run against v1.8.0 without any changes.
+In particular (unlike 1.6.0 and 1.7.0) there should be no need to update `pom.xml` files of existing projects.
+If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/2.0.0-M1/support.html#[users mailing list], so we can support you and document issues here.
 
-That said, many of the existing annotations have been deprecated in 1.8.0, replaced with a simplified and rationalized
- set of annotations; see link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#[here].  To help you migrate your application
- over to the new annotations, there is a new configuration property that can be set in `isis.properties`:
+That said, many of the existing annotations have been deprecated in 1.8.0, replaced with a simplified and rationalized  set of annotations; see link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#[here].
+To help you migrate your application over to the new annotations, there is a new configuration property that can be set in `isis.properties`:
 
 [source,ini]
 ----
 isis.reflector.validator.allowDeprecated=false
 ----
 
-If this flag is present and set to false, then metamodel validation errors will be thrown on startup if any deprecated
-annotations are encountered.  These can be viewed either in the console or by browsing to the app (an error page will
-be displayed).
+If this flag is present and set to false, then metamodel validation errors will be thrown on startup if any deprecated annotations are encountered.
+These can be viewed either in the console or by browsing to the app (an error page will be displayed).
 
diff --git a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.9.0-to-1.10.0.adoc b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.9.0-to-1.10.0.adoc
index 6506234..917b805 100644
--- a/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.9.0-to-1.10.0.adoc
+++ b/adocs/documentation/src/main/asciidoc/migration-notes/_migration-notes_1.9.0-to-1.10.0.adoc
@@ -5,9 +5,8 @@
 :_imagesdir: images/
 
 
-Existing projects written against v1.9.0 should run against v1.10.0 with only a few minor changes.  If you *do* encounter
-any difficulties then let us know via the link:https://isis.apache.org/versions/1.10.0/support.html#[users mailing list], so we can support you and document
-issues here.
+Existing projects written against v1.9.0 should run against v1.10.0 with only a few minor changes.
+If you *do* encounter any difficulties then let us know via the link:https://isis.apache.org/versions/1.10.0/support.html#[users mailing list], so we can support you and document issues here.
 
 
 == Remove references to `isis-viewer-wicket` parent pom.
diff --git a/core/pom.xml b/core/pom.xml
index 842fb5a..e24e970 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -2422,7 +2422,7 @@ ${license.additional-notes}
             <id>git</id>
             <activation>
                 <property>
-                    <name>!skip.git</name>
+                    <name>git</name>
                 </property>
             </activation>
             <build>