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

[isis] branch ISIS-2444 updated (91a5689 -> 22c559a)

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

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


 discard 91a5689  ISIS-2444: moves runtime-services out of the build; as not public API and need to fix up
     add da3f570  Bump wagon-ftp from 3.4.2 to 3.4.3
     add 1bd0931  Merge pull request #398 from apache/dependabot/maven/org.apache.maven.wagon-wagon-ftp-3.4.3
     add f78e847  Bump jib-maven-plugin from 2.7.1 to 2.8.0
     add 65a7492  Merge pull request #399 from apache/dependabot/maven/com.google.cloud.tools-jib-maven-plugin-2.8.0
     add de2e6d7  Bump wagon-ssh from 3.4.2 to 3.4.3
     add fd867bb  Merge pull request #400 from apache/dependabot/maven/org.apache.maven.wagon-wagon-ssh-3.4.3
     add 7cfe55a  Bump togglz.version from 2.9.2 to 2.9.6
     add a589db0  ISIS-2534: add Spring Security module (just a stub)
     add 7f203a9  ISIS-2534: adds spring security web filter (yet bypassing authorization)
     add 9b93724  ISIS-2534: remove NOP authorizor
     add 169bfbe  ISIS-2534: working on logout redirect
     add a6035fa  ISIS-2534: LogoutMenu: handle logout redirect for external authentication type
     add eaac991  ISIS-1922: Notify user when expired session is refreshed
     add caf5829  ISIS-2534: session expired handling: code review (post-merge)
     add ac96609  ISIS-1922: don't create a new session as a side-effect of checking whether the session was expired
     add 0c008bb  ISIS-1922: polishing
     add afa7b6e  ISIS-1922: polish the expiry message
     add 8662408  ISIS-2534: Demo: explicitly set session timeout (20 min)
     add e222031  ISIS-2534: SecMan: sec-admin should be allowed to logout
     add b455749  ISIS-2534: adds configuration option to enable CSRF protection
     add 93e78ad  ISIS-2534: Wicket: adds experimental code to enable CSRF tokens for AJAX requests
     add 8c9fe66  ISIS-2547: cache grids per layout in production mode
     add 7090046  ISIS-2547: cache grids per layout in production mode
     add a04416c  ISIS-2547: GridFacetDefault: fix logic (inconsistent hasLayoutFacet)
     add 8e15793  ISIS-2547: GridFacetDefault: make caching thread safe
     add 622437c  ISIS-2547: GridFacetDefault: account for the special meaning of layoutName==null
     add 9e8d1b2  ISIS-2534: simplifying Authorizor interface
     add 7da685c  ISIS-2534: create a SecMan authorizor (remove the Spring authorizor)
     add 2167660  ISIS-2534: Identifier: house-keeping and thread-safety
     add 088e19d  ISIS-2534: Identifier: more refactoring ...
     add 2aeb8fc  ISIS-2534: Identifier: further simplify
     add aba7c77  ISIS-2534: introduces TypeIdentifier to make Identifiers aware of logical their logical names
     add 3a07c4a  ISIS-2534: move Identifier into subpackage 'id'
     add 49590d2  ISIS-2534: Wicket: fixes CollectionContentsAsAjaxTablePanel misusing the GridFacet
     add 2976f60  ISIS-2534: adds ApplicationFeatureId factory method that takes an Identifier
     add c63d526  ISIS-2534: polishing AuthorizorSecman
     add 354e1a8  ISIS-2534: rename Identifier -> FeatureIdentifier
     add cd59c25  ISIS-2534: simplify AuthorizorShiro impl., as spec-loader is no longer required to infer logical type names
     add 8bf14c6  chore: fix case of GitHub
     add 3f6a332  ISIS-2534: revert renaming of Identifier
     new 22c559a  ISIS-2444: moves runtime-services out of the build; as not public API and need to fix up

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

 * -- * -- B -- O -- O -- O   (91a5689)
            \
             N -- N -- N   refs/heads/ISIS-2444 (22c559a)

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

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

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


Summary of changes:
 .../conguide/modules/ROOT/pages/contributing.adoc  |   2 +-
 .../java/org/apache/isis/applib/Identifier.java    | 456 ++++++---------------
 .../org/apache/isis/applib/id/TypeIdentifier.java  | 185 +++++++++
 .../applib/services/grid/GridLoaderService.java    |   8 +-
 .../services/wrapper/events/InteractionEvent.java  |  11 +-
 .../org/apache/isis/applib/IdentifierTests.java    |  18 +-
 .../isis/applib/events/InteractionEventTest.java   |   9 +-
 .../apache/isis/core/config/IsisConfiguration.java |  18 +
 .../isis/core/metamodel/facetapi/FeatureType.java  |  30 +-
 .../isis/core/metamodel/facets/FacetedMethod.java  |  10 +-
 .../metamodel/facets/FacetedMethodParameter.java   |   9 +-
 .../core/metamodel/facets/ImperativeFacet.java     |   4 +-
 .../invocation/ActionDomainEventFacetAbstract.java |   2 +-
 .../actions/action/invocation/CommandUtil.java     |   4 +-
 .../annotation/HomePageFacetAnnotationFactory.java |   4 +-
 .../ActionValidationFacetViaMethodFactory.java     |   2 +-
 .../facets/all/i18n/TranslationFacetFactory.java   |   6 +-
 .../modify/CollectionDomainEventFacetAbstract.java |   2 +-
 .../DisableForContextFacetViaMethodFactory.java    |   2 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |   9 +-
 .../BookmarkPolicyFacetFallbackFactory.java        |   2 +-
 .../DisabledObjectFacetViaMethodFactory.java       |   2 +-
 .../DomainObjectAnnotationFacetFactory.java        |   3 +-
 .../facets/object/grid/GridFacetDefault.java       |  82 ++--
 .../mixin/MetaModelValidatorForMixinTypes.java     |   5 +-
 .../method/ValidateObjectFacetMethodFactory.java   |   2 +-
 .../MustSatisfySpecificationFacetAbstract.java     |   2 +-
 ...tionParameterDisabledFacetViaMethodFactory.java |   2 +-
 ...onParameterValidationFacetViaMethodFactory.java |   2 +-
 .../modify/PropertyDomainEventFacetAbstract.java   |   2 +-
 .../PropertyValidateFacetViaMethodFactory.java     |   2 +-
 .../services/appfeat/ApplicationFeatureId.java     |  19 +-
 .../title/TitlesAndTranslationsValidator.java      |  19 +-
 .../spec/feature/OneToOneAssociation.java          |   2 +-
 .../specloader/specimpl/ObjectActionMixedIn.java   |  12 +-
 .../specimpl/ObjectSpecificationAbstract.java      |  23 +-
 .../specimpl/OneToManyAssociationMixedIn.java      |  22 +-
 .../specimpl/OneToOneAssociationMixedIn.java       |  22 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |   4 +-
 ...etaModelValidatorForConflictingOptionality.java |   2 +-
 .../MetaModelValidatorForDeprecatedAnnotation.java |   2 +-
 ...etaModelValidatorForDeprecatedMethodPrefix.java |   2 +-
 .../facetapi/FeatureTypeTest_identifierFor.java    |   7 +-
 .../facets/AbstractFacetFactoryJUnit4TestCase.java |   4 +-
 .../metamodel/facets/AbstractFacetFactoryTest.java |   3 +-
 ...nEventHelperTest_newActionInteractionEvent.java |   7 +-
 ...HelperTest_newCollectionDomainEvent_forAdd.java |  10 +-
 ...perTest_newCollectionDomainEvent_forRemove.java |  10 +-
 ...HelperTest_newPropertyDomainEvent_forClear.java |   7 +-
 ...elperTest_newPropertyDomainEvent_forModify.java |   7 +-
 .../actions/ActionMethodsFacetFactoryTest.java     |   2 +-
 ...nnotationFacetFactoryTest_ActionInvocation.java |   6 +-
 .../facets/object/mixin/MixinIntendedAs.java       |   5 +-
 .../metamodel/id/TypeIdentifierTestFactory.java    |  21 +-
 .../objects/ObjectActionLayoutXmlDefaultTest.java  |   3 +-
 .../objects/OneToManyAssociationDefaultTest.java   |   7 +-
 .../metamodel/MetaModelServiceDefaultTest.java     |   4 +-
 .../testspec/ObjectSpecificationStub.java          |  21 +-
 core/pom.xml                                       |  16 +-
 .../executor/MemberExecutorServiceDefault.java     |   4 +-
 .../InteractionDtoServiceInternalDefault.java      |   6 +-
 .../menubars/bootstrap3/ServiceAndAction.java      |   2 +-
 .../security/authentication/logout/LogoutMenu.java |  39 +-
 .../manager/AuthorizationManager.java              |  35 +-
 .../authorization/standard/Authorizor.java         |  44 +-
 .../changetracking/AdapterAndProperty.java         |   2 +-
 .../demo/domain/src/main/resources/application.yml |   3 +
 .../java/demoapp/webapp/wicket/DemoAppWicket.java  |   4 +-
 .../extensions/secman/api/SecmanConfiguration.java |   1 +
 .../secman/api/authorizor/AuthorizorSecman.java    |  74 ++++
 .../ApplicationPermissionRepository.java           |   2 +-
 .../jdo/dom/role/ApplicationRoleRepository.java    |   2 +-
 .../dom/tenancy/ApplicationTenancyRepository.java  |   2 +-
 .../jdo/dom/user/ApplicationUserRepository.java    |   2 +-
 .../ApplicationPermissionRepository.java           |   2 +-
 .../jpa/dom/role/ApplicationRoleRepository.java    |   2 +-
 .../dom/tenancy/ApplicationTenancyRepository.java  |   2 +-
 .../jpa/dom/user/ApplicationUserRepository.java    |   2 +-
 .../secman/shiro/AuthInfoForApplicationUser.java   |   2 +-
 .../object/query/VisitorForClauseAbstract.java     |   7 +-
 .../facets/object/query/VisitorForFromClause.java  |   9 +-
 .../object/query/VisitorForVariablesClause.java    |   7 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |   4 +-
 ...ndatoryFromJdoColumnAnnotationFacetFactory.java |   8 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |   2 +-
 ...AnnotationFacetFactoryTest_refineMetaModel.java |   4 +-
 .../object/version/TypeIdentifierTestFactory.java  |  18 +-
 .../testing/AbstractFacetFactoryTest.java          |   3 +-
 scripts/ci/_print-environment.sh                   |   2 +-
 .../bypass/authorization/AuthorizorBypass.java     |  15 +-
 .../keycloak/authorization/AuthorizorKeycloak.java |  15 +-
 .../shiro/authorization/AuthorizorShiro.java       |  85 +---
 ...AuthenticatorOrAuthorizorTest_authenticate.java |  31 +-
 ...ticatorOrAuthorizorTest_isVisibleInAnyRole.java |  20 +-
 .../security/shiro/TypeIdentifierTestFactory.java  |  22 +-
 security/shiro/src/test/resources/shiro.ini        |   6 +-
 .../vro/cors/impl => security/spring}/pom.xml      |  40 +-
 .../security/spring/IsisModuleSecuritySpring.java  |  84 ++++
 .../authentication/AuthenticatorSpring.java}       |  15 +-
 .../spring/webmodule/SpringSecurityFilter.java}    |  66 ++-
 .../spring/webmodule/WebModuleSpringSecurity.java} |  20 +-
 starters/pom.xml                                   |   2 +-
 .../ImposteriserTestUsingCodegenPlugin_Test.java   |   2 +-
 .../common/model/mementos/ActionMemento.java       |   5 +-
 .../wicket/model/common/CommonContextUtils.java    |   2 +-
 .../wicket/model/links/LinkAndLabelAbstract.java   |   2 +-
 .../wicket/model/mementos/CollectionMemento.java   |   4 +-
 .../wicket/model/mementos/PropertyMemento.java     |   4 +-
 .../wicket/model/models/PageParameterUtil.java     |   2 +-
 .../wicket/model/models/ScalarPropertyModel.java   |   3 +-
 .../CollectionContentsAsAjaxTablePanel.java        |  18 +-
 .../linkandlabel/LinkAndLabelFactoryAbstract.java  |   4 +-
 .../viewer/integration/WebRequestCycleForIsis.java | 170 ++++++--
 .../viewer/wicketapp/IsisWicketApplication.java    |   7 +-
 .../IsisWicketApplication_Experimental.java        | 107 -----
 .../IsisWicketApplication_experimental.java        | 171 ++++++++
 116 files changed, 1365 insertions(+), 1019 deletions(-)
 create mode 100644 api/applib/src/main/java/org/apache/isis/applib/id/TypeIdentifier.java
 copy subdomains/base/applib/src/main/java/org/apache/isis/subdomains/base/applib/types/DescriptionType.java => core/metamodel/src/test/java/org/apache/isis/core/metamodel/id/TypeIdentifierTestFactory.java (75%)
 create mode 100644 extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/authorizor/AuthorizorSecman.java
 copy regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/stereotypes/MyObject_mixin.java => persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/facets/object/version/TypeIdentifierTestFactory.java (74%)
 copy core/runtimeservices/src/test/java/org/apache/isis/core/metamodel/commons/internal/reflection/ReflectSampleForTesting.java => security/shiro/src/test/java/org/apache/isis/security/shiro/TypeIdentifierTestFactory.java (70%)
 copy {extensions/vro/cors/impl => security/spring}/pom.xml (62%)
 create mode 100644 security/spring/src/main/java/org/apache/isis/security/spring/IsisModuleSecuritySpring.java
 copy security/{keycloak/src/main/java/org/apache/isis/security/keycloak/authentication/AuthenticatorKeycloak.java => spring/src/main/java/org/apache/isis/security/spring/authentication/AuthenticatorSpring.java} (87%)
 copy security/{keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/KeycloakFilter.java => spring/src/main/java/org/apache/isis/security/spring/webmodule/SpringSecurityFilter.java} (52%)
 copy security/{keycloak/src/main/java/org/apache/isis/security/keycloak/webmodule/WebModuleKeycloak.java => spring/src/main/java/org/apache/isis/security/spring/webmodule/WebModuleSpringSecurity.java} (77%)
 delete mode 100644 viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_Experimental.java
 create mode 100644 viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/IsisWicketApplication_experimental.java


[isis] 01/01: ISIS-2444: moves runtime-services out of the build; as not public API and need to fix up

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 22c559a3626a9b88c028046e121a591e3a64113b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Feb 24 20:00:03 2021 +0000

    ISIS-2444: moves runtime-services out of the build; as not public API and need to fix up
---
 .../pages/what-is-apache-isis/screencasts.adoc     |  30 ++---
 .../modules/_overview/pages/about.adoc             |   8 +-
 .../hooks/ActionLayout_021-promptStyle.adoc        |   8 +-
 .../hooks/ActionLayout_022-position.adoc           |   2 +-
 .../hooks/ActionLayout_024-cssClass.adoc           |   2 +-
 .../annotation/hooks/ActionLayout_027-hidden.adoc  |   2 +-
 .../hooks/ActionLayout_029-redirect.adoc           |   4 +-
 .../hooks/Action_022-action-semantics.adoc         |   2 +-
 .../annotation/hooks/Action_024-domain-events.adoc |   4 +-
 .../hooks/Action_025-execution-publishing.adoc     |   2 +-
 .../CollectionLayout_010-examples-and-usage.adoc   |   2 +-
 .../hooks/CollectionLayout_022-paged.adoc          |   2 +-
 .../hooks/CollectionLayout_027-hidden.adoc         |   2 +-
 .../hooks/Collection_010-examples-and-usage.adoc   |   2 +-
 .../hooks/Collection_021_domainEvent.adoc          |   6 +-
 .../annotation/hooks/Collection_022_hidden.adoc    |   2 +-
 .../DomainObjectLayout_010-examples-and-usage.adoc |   2 +-
 .../hooks/DomainObjectLayout_022-cssClass.adoc     |   2 +-
 .../hooks/DomainObjectLayout_023-cssClassFa.adoc   |   2 +-
 .../hooks/DomainObjectLayout_026-paged.adoc        |   4 +-
 .../hooks/DomainObjectLayout_027-ui-events.adoc    |   2 +-
 .../hooks/DomainObject_010-examples-and-usage.adoc |   4 +-
 .../hooks/DomainObject_021-objectType.adoc         |   6 +-
 .../annotation/hooks/DomainObject_023-editing.adoc |   4 +-
 .../hooks/DomainObject_025-lifecycle-events.adoc   |   6 +-
 .../DomainObject_026-entityChangePublishing.adoc   |   4 +-
 .../hooks/DomainObject_027-bounding.adoc           |   2 +-
 .../DomainObject_028-autoCompleteRepository.adoc   |   4 +-
 .../hooks/DomainObject_029-mixinMethod.adoc        |   4 +-
 .../hooks/DomainObject_040-see-also.adoc           |   2 +-
 .../hooks/DomainServiceLayout_021-menuBar.adoc     |   2 +-
 .../hooks/DomainService_021-objectType.adoc        |   2 +-
 .../InteractionScope_010-examples-and-usage.adoc   |   4 +-
 .../hooks/MemberOrder_010-examples-and-usage.adoc  |   2 +-
 .../ParameterLayout_010-examples-and-usage.adoc    |   2 +-
 .../hooks/ParameterLayout_021-labelPosition.adoc   |   4 +-
 .../hooks/ParameterLayout_022-multiLine.adoc       |   2 +-
 .../hooks/Parameter_021-optionality.adoc           |   2 +-
 .../annotation/hooks/Parameter_025-fileAccept.adoc |   4 +-
 .../PropertyLayout_010-examples-and-usage.adoc     |   2 +-
 .../hooks/PropertyLayout_021_labelPosition.adoc    |   4 +-
 .../hooks/PropertyLayout_022_promptStyle.adoc      |   2 +-
 .../hooks/PropertyLayout_023_multiLine.adoc        |   2 +-
 .../hooks/PropertyLayout_028_repainting.adoc       |   2 +-
 .../hooks/PropertyLayout_030_hidden.adoc           |   4 +-
 .../hooks/Property_010-examples-and-usage.adoc     |   2 +-
 .../annotation/hooks/Property_021-optionality.adoc |   6 +-
 .../annotation/hooks/Property_022-editing.adoc     |   2 +-
 .../annotation/hooks/Property_023-maxLength.adoc   |   2 +-
 .../hooks/Property_026-domain-events.adoc          |   4 +-
 .../hooks/Property_027-execution-publishing.adoc   |   4 +-
 .../hooks/Property_028-command-processing.adoc     |   2 +-
 .../annotation/hooks/Property_030-snapshot.adoc    |   2 +-
 .../annotation/hooks/Property_031-fileAccept.adoc  |   2 +-
 .../annotation/hooks/Property_033-hidden.adoc      |   4 +-
 ...AcceptHeaderService_020-examples-and-usage.adoc |   4 +-
 ...cationFeatureRepository_010-implementation.adoc |   2 +-
 ...onFeatureRepository_020-examples-and-usage.adoc |   6 +-
 .../hooks/BookmarkService_010-implementation.adoc  |   6 +-
 .../BookmarkService_020-examples-and-usage.adoc    |   4 +-
 ...mandExecutorService_020-examples-and-usage.adoc |   2 +-
 ...DtoProcessorService_020-examples-and-usage.adoc |   2 +-
 .../ConfigurationMenu_020-examples-and-usage.adoc  |   2 +-
 ...onfigurationViewService_010-implementation.adoc |   6 +-
 ...gurationViewService_020-examples-and-usage.adoc |   4 +-
 .../ContentMappingService_010-implementation.adoc  |   2 +-
 ...ntentMappingService_020-examples-and-usage.adoc |   8 +-
 .../hooks/EmailService_020-examples-and-usage.adoc |   2 +-
 .../EventBusService_020-examples-and-usage.adoc    |  16 +--
 .../FactoryService_020-examples-and-usage.adoc     |   2 +-
 .../hooks/GridService_020-examples-and-usage.adoc  |   6 +-
 .../GridSystemService_020-examples-and-usage.adoc  |   4 +-
 ...PageResolverService_020-examples-and-usage.adoc |   2 +-
 .../LocaleProvider_020-examples-and-usage.adoc     |   4 +-
 .../TranslationService_020-examples-and-usage.adoc |   4 +-
 ...ranslationsResolver_020-examples-and-usage.adoc |   2 +-
 .../hooks/Execution_020-examples-and-usage.adoc    |   2 +-
 .../InteractionContext_020-examples-and-usage.adoc |   2 +-
 .../ServiceInjector_020-examples-and-usage.adoc    |   2 +-
 .../hooks/JaxbService_020-examples-and-usage.adoc  |   4 +-
 .../LayoutService_020-examples-and-usage.adoc      |   8 +-
 .../hooks/DeepLinkService_010-implementation.adoc  |   2 +-
 .../DeepLinkService_020-examples-and-usage.adoc    |   2 +-
 ...ExecutionSubscriber_020-examples-and-usage.adoc |   4 +-
 .../hooks/RoutingService_010-implementation.adoc   |   2 +-
 .../RoutingService_020-examples-and-usage.adoc     |   4 +-
 .../hooks/Scratchpad_010-implementation.adoc       |   2 +-
 .../hooks/Scratchpad_020-examples-and-usage.adoc   |   2 +-
 .../hooks/SudoService_020-examples-and-usage.adoc  |   4 +-
 .../UrlEncodingService_020-examples-and-usage.adoc |   2 +-
 ...NotificationService_020-examples-and-usage.adoc |   8 +-
 ...RegistrationService_020-examples-and-usage.adoc |   2 +-
 .../WrapperFactory_020-examples-and-usage.adoc     |  12 +-
 .../XmlSnapshotService_020-examples-and-usage.adoc |   2 +-
 .../hooks/ObjectContracts_examples-and-usage.adoc  |  51 ++++----
 .../pages/index/runtimeservices/hooks/README.txt   |   1 +
 .../ContentNegotiationService/accept-json.png      | Bin
 .../ContentNegotiationService/accept-xml.png       | Bin
 .../ContentNegotiationService/facade-choices.png   | Bin
 .../ContentNegotiationService/facade-choices.pptx  | Bin
 .../service-collaborations.png                     | Bin
 .../service-collaborations.pptx                    | Bin
 .../ApplicationFeatureFactory.adoc                 |   0
 .../AuthenticationSessionProvider.adoc             |   2 +-
 .../CommandDtoServiceInternal.adoc                 |   6 +-
 .../hooks/pages-to-update}/CommandPublisher.adoc   |   2 +-
 .../ContentNegotiationService.adoc                 |  10 +-
 .../pages-to-update}/EntityChangeTracker.adoc      |   8 +-
 .../pages-to-update}/EntityChangesPublisher.adoc   |   6 +-
 .../EntityPropertyChangePublisher.adoc             |   4 +-
 .../hooks/pages-to-update}/ExecutionPublisher.adoc |  10 +-
 .../InteractionDtoServiceInternal.adoc             |   4 +-
 .../PersistenceSessionServiceInternal.adoc         |   0
 .../pages-to-update}/RepresentationService.adoc    |  10 +-
 .../hooks/pages-to-update}/about.adoc              |   0
 .../hooks}/partials/_application-layer.adoc        |   4 +-
 .../hooks}/partials/_persistence-layer.adoc        |   8 +-
 .../hooks}/partials/_presentation-layer.adoc       |   4 +-
 .../hooks}/partials/module-nav.adoc                |   0
 .../jdo/datanucleus/IsisModuleJdoDatanucleus.adoc  |   2 +-
 .../refguide/modules/applib-ant/pages/Column.adoc  |  10 +-
 .../refguide/modules/applib-ant/pages/Digits.adoc  |   2 +-
 .../modules/applib-ant/pages/Discriminator.adoc    |   8 +-
 .../modules/applib-ant/pages/Nullable.adoc         |  10 +-
 .../applib-ant/pages/PersistenceCapable.adoc       |   8 +-
 .../modules/applib-ant/pages/PrimaryKey.adoc       |   2 +-
 .../applib-ant/pages/XmlJavaTypeAdapter.adoc       |   2 +-
 .../modules/applib-ant/pages/XmlRootElement.adoc   |  12 +-
 .../modules/applib-ant/pages/about/jdo.adoc        |   4 +-
 .../modules/applib-ant/pages/about/jee.adoc        |   2 +-
 .../modules/applib-ant/pages/about/main.adoc       |  24 ++--
 .../modules/applib-ant/pages/about/other.adoc      |  12 +-
 .../applib-classes/pages/events/domainevent.adoc   |   4 +-
 .../events/domainevent/AbstractDomainEvent.adoc    |   6 +-
 .../events/domainevent/ActionDomainEvent.adoc      |   4 +-
 .../events/domainevent/CollectionDomainEvent.adoc  |   4 +-
 .../events/domainevent/PropertyDomainEvent.adoc    |   4 +-
 .../pages/events/lifecycleevent.adoc               |  12 +-
 .../lifecycleevent/AbstractLifecycleEvent.adoc     |  14 +--
 .../events/lifecycleevent/ObjectCreatedEvent.adoc  |   4 +-
 .../events/lifecycleevent/ObjectLoadedEvent.adoc   |   2 +-
 .../lifecycleevent/ObjectPersistedEvent.adoc       |   4 +-
 .../lifecycleevent/ObjectPersistingEvent.adoc      |   4 +-
 .../events/lifecycleevent/ObjectRemovingEvent.adoc |   4 +-
 .../events/lifecycleevent/ObjectUpdatedEvent.adoc  |   6 +-
 .../events/lifecycleevent/ObjectUpdatingEvent.adoc |   6 +-
 .../applib-classes/pages/events/uievent.adoc       |  12 +-
 .../pages/events/uievent/CssClassUiEvent.adoc      |   2 +-
 .../pages/events/uievent/IconUiEvent.adoc          |   4 +-
 .../pages/events/uievent/TitleUiEvent.adoc         |   2 +-
 .../applib-classes/pages/layout/menubars.adoc      |   6 +-
 .../applib-classes/pages/layout/object-layout.adoc |  14 +--
 .../roles-mixins-contributees/contributee.adoc     |   4 +-
 .../roles-mixins-contributees/mixins/Dto.adoc      |  10 +-
 .../roles-mixins-contributees/mixins/Object.adoc   |  10 +-
 .../mixins/Persistable.adoc                        |   4 +-
 .../roles/HoldsUpdatedAt.adoc                      |   4 +-
 .../roles/HoldsUpdatedBy.adoc                      |   2 +-
 .../roles/Timestampable.adoc                       |   4 +-
 .../modules/applib-classes/pages/spec.adoc         |   2 +-
 .../modules/applib-classes/pages/utility.adoc      |  13 +-
 .../applib-classes/partials/module-nav.adoc        |   7 +-
 .../modules/applib-methods/pages/lifecycle.adoc    |   2 +-
 .../applib-methods/pages/lifecycle/created.adoc    |   4 +-
 .../applib-methods/pages/lifecycle/loaded.adoc     |   2 +-
 .../applib-methods/pages/lifecycle/persisted.adoc  |   4 +-
 .../applib-methods/pages/lifecycle/persisting.adoc |   4 +-
 .../applib-methods/pages/lifecycle/removing.adoc   |   4 +-
 .../applib-methods/pages/lifecycle/updated.adoc    |   4 +-
 .../applib-methods/pages/lifecycle/updating.adoc   |   4 +-
 .../modules/applib-methods/pages/prefixes.adoc     |  44 +++----
 .../pages/prefixes/autoComplete.adoc               |   6 +-
 .../applib-methods/pages/prefixes/choices.adoc     |   2 +-
 .../applib-methods/pages/prefixes/default.adoc     |   4 +-
 .../pages/prefixes/deprecated/addTo.adoc           |   2 +-
 .../pages/prefixes/deprecated/clear.adoc           |   2 +-
 .../pages/prefixes/deprecated/modify.adoc          |   2 +-
 .../pages/prefixes/deprecated/removeFrom.adoc      |   2 +-
 .../pages/prefixes/deprecated/validateAddTo.adoc   |   2 +-
 .../prefixes/deprecated/validateRemoveFrom.adoc    |   2 +-
 .../modules/applib-methods/pages/prefixes/get.adoc |   2 +-
 .../modules/applib-methods/pages/prefixes/set.adoc |   2 +-
 .../modules/applib-methods/pages/reserved.adoc     |  16 +--
 .../applib-methods/pages/reserved/cssClass.adoc    |   6 +-
 .../pages/reserved/deprecated/disable.adoc         |   4 +-
 .../pages/reserved/deprecated/getId.adoc           |   6 +-
 .../pages/reserved/deprecated/hide.adoc            |   4 +-
 .../applib-methods/pages/reserved/iconName.adoc    |   8 +-
 .../applib-methods/pages/reserved/layout.adoc      |   8 +-
 .../applib-methods/pages/reserved/title.adoc       |   8 +-
 .../refguide/modules/applib-svc/pages/about.adoc   |  76 ++++++------
 .../partials/_application-layer-api.adoc           |   4 -
 .../partials/_application-layer-spi.adoc           |   9 +-
 .../modules/applib-svc/partials/_metadata-spi.adoc |   6 +-
 .../partials/_presentation-layer-spi.adoc          |   4 +-
 .../modules/applib-svc/partials/_security-spi.adoc |   2 +-
 .../2018/2.0.0-M1/mignotes/other-changes.adoc      |   2 +-
 .../2.0.0-M1/mignotes/removed-annotations.adoc     | 122 +++++++++---------
 .../mignotes/removed-configuration-properties.adoc |   2 +-
 .../2018/2.0.0-M1/mignotes/removed-types.adoc      |   4 +-
 .../2.0.0-M1/mignotes/updated-annotations.adoc     |  82 ++++++------
 .../modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc |   6 +-
 .../partials/UNUSED/faster-turnaround-times.adoc   |   2 +-
 .../btb/pages/hints-and-tips/are-you-sure.adoc     |   2 +-
 .../how-to-handle-void-and-null-results.adoc       |   4 +-
 .../how-to-implement-a-spellchecker.adoc           |   4 +-
 .../replacing-default-service-implementations.adoc |   4 +-
 .../simulating-collections-of-values.adoc          |   2 +-
 .../hints-and-tips/transactions-and-errors.adoc    |   6 +-
 .../pages/hints-and-tips/vetoing-visibility.adoc   |   2 +-
 .../hints-and-tips/view-model-instantiation.adoc   |   6 +-
 .../userguide/modules/btb/pages/i18n.adoc          |   2 +-
 .../fun/pages/business-rules/usability.adoc        |  10 +-
 .../modules/fun/pages/business-rules/validity.adoc |   6 +-
 .../fun/pages/business-rules/visibility.adoc       |   2 +-
 .../apache-isis-vs-cqrs-and-event-sourcing.adoc    |   2 +-
 .../fun/pages/concepts-patterns/metamodel.adoc     |   2 +-
 .../pages/domain-entities-and-services/crud.adoc   |  26 ++--
 .../domain-entities.adoc                           |   2 +-
 .../domain-services.adoc                           |  38 +++---
 .../inject-services.adoc                           |  14 +--
 .../modules/fun/pages/drop-downs-and-defaults.adoc |  12 +-
 .../modules/fun/pages/meta-annotations.adoc        |   4 +-
 .../userguide/modules/fun/pages/mixins.adoc        |  14 +--
 .../userguide/modules/fun/pages/modules.adoc       |   4 +-
 .../modules/fun/pages/object-members/actions.adoc  |  28 ++---
 .../fun/pages/object-members/collections.adoc      |  10 +-
 .../fun/pages/object-members/properties.adoc       |  16 +--
 .../modules/fun/pages/overview/events.adoc         |  12 +-
 .../modules/fun/pages/overview/identifiers.adoc    |   4 +-
 .../modules/fun/pages/overview/modules.adoc        |   6 +-
 .../modules/fun/pages/overview/object-members.adoc |  16 +--
 .../pages/overview/types-of-domain-objects.adoc    |   6 +-
 .../modules/fun/pages/ui/action-icons-and-css.adoc |  14 +--
 .../modules/fun/pages/ui/menubars-layout.adoc      |  10 +-
 .../fun/pages/ui/names-and-descriptions.adoc       |  20 +--
 .../modules/fun/pages/ui/object-layout.adoc        |  12 +-
 .../fun/pages/ui/object-titles-and-icons.adoc      |  22 ++--
 .../modules/fun/pages/ui/table-columns.adoc        |   2 +-
 .../userguide/modules/fun/pages/view-models.adoc   |  14 +--
 .../modules/fun/pages/view-models/UNUSED-dto.adoc  |   8 +-
 .../modules/fun/partials/_deployment-options.adoc  |   2 +-
 antora/playbooks/site-core.yml                     |   3 -
 antora/playbooks/site.yml                          |   3 -
 .../apache/isis/applib/util/ObjectContracts.java   |  37 ------
 .../applib/util/ObjectContractsTest_equals.java    |  46 +++++++
 .../src/main/adoc/modules/schema/pages/chg.adoc    |   2 +-
 .../src/main/adoc/modules/schema/pages/cmd.adoc    |   2 +-
 .../src/main/adoc/modules/schema/pages/common.adoc |   8 +-
 .../src/main/adoc/modules/schema/pages/ixn.adoc    |  14 +--
 .../application-specific/application-css.adoc      |  10 +-
 .../DatanucleusAutocreateNoValidate.properties     |   5 +-
 .../main/adoc/modules/runtime-services/nav.adoc    |   4 -
 .../ActionCommandPublishingJdo-description.adoc    |   6 +-
 .../usingjaxb/StatefulVmUsingJaxb-description.adoc |   2 +-
 .../PropertyCommandPublishingJdo-description.adoc  |   6 +-
 .../dom/homepage/DemoHomePage-description.adoc     |   4 +-
 .../adoc/modules/audit-trail/pages/about.adoc      |   8 +-
 .../disabling-persistence-by-reachability.adoc     |   4 +-
 .../modules/ROOT/pages/configuring/properties.adoc |   2 +-
 .../hints-and-tips/overriding-jdo-annotations.adoc |   2 +-
 .../ROOT/pages/services/IsisJdoSupport.adoc        |   6 +-
 preview.sh                                         |  11 +-
 .../apache/isis/testdomain/rospec/BigComplex.java  |  47 +++----
 .../isis/testdomain/rospec/RoSpecSampler.java      | 118 +++++++++---------
 .../testdomain/interact/CommandArgumentTest.java   |  45 +++----
 .../persistence/jdo/_JdoExceptionTranslator.java   |  24 ++--
 .../persistence/jpa/_JpaExceptionTranslator.java   |  16 +--
 .../ci/_adoc-fix-adoc-line-endings.sh              |  43 ++++++-
 scripts/ci/_adoc-gen-projdoc.sh                    |  13 --
 scripts/ci/_build-site.sh                          |   6 +
 security/adoc/modules/ROOT/pages/about.adoc        |   2 +-
 .../domain-services-api-for-applications.adoc      |   2 +-
 .../pages/about/enhanced-wildcard-permission.adoc  |   2 +-
 .../adoc/modules/shiro/pages/about/ini-realm.adoc  |   2 +-
 .../adoc/modules/starters/pages/helloworld.adoc    |   6 +-
 .../adoc/modules/starters/pages/simpleapp.adoc     |   2 +-
 .../pages/fixture-scripts/api-and-usage.adoc       |   4 +-
 .../pages/fixture-scripts/mocking-the-clock.adoc   |   6 +-
 .../pages/services/ExecutionParametersService.adoc |   2 +-
 .../fixtures/pages/services/FixtureScripts.adoc    |   6 +-
 .../FixtureScriptsSpecificationProvider.adoc       |   2 +-
 .../adoc/modules/integtestsupport/pages/about.adoc |  12 +-
 .../adoc/modules/specsupport/pages/about.adoc      |   2 +-
 .../adoc/modules/unittestsupport/pages/about.adoc  |   4 +-
 .../modules/tooling-cli/examples/isis-tooling.yml  | 138 ++++++++++-----------
 .../adoc/modules/ROOT/pages/architecture.adoc      |   6 +-
 .../adoc/modules/ROOT/pages/health-check.adoc      |   2 +-
 .../hints-and-tips/restful-image-property.adoc     |   2 +-
 .../adoc/modules/ROOT/pages/layout-resources.adoc  |  10 +-
 .../adoc/modules/ROOT/pages/ro-spec.adoc           |   4 +-
 .../ROOT/partials/security/user-registration.adoc  |   2 +-
 .../ROOT/pages/configuration-properties.adoc       |   8 +-
 .../ROOT/pages/customisation/brand-logo.adoc       |   2 +-
 .../pages/customisation/tweaking-css-classes.adoc  |   2 +-
 .../ROOT/pages/features/bookmarked-pages.adoc      |   2 +-
 .../i18n-label-in-wicket-viewer.adoc               |   2 +-
 .../ROOT/partials/security/user-registration.adoc  |   2 +-
 298 files changed, 1197 insertions(+), 1147 deletions(-)

diff --git a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index 78bb27f..f994c1a 100644
--- a/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/docs/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -138,7 +138,7 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=dfRZeYqzMtI[012^] +
-Implementing business logic using a (no-arg) action, and associating with a property using either the xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder`] annotations or using xref:userguide:fun:ui.adoc#object-layout[dynamic (XML) layouts].
+Implementing business logic using a (no-arg) action, and associating with a property using either the xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder] annotations or using xref:userguide:fun:ui.adoc#object-layout[dynamic (XML) layouts].
 |x||||||||x||
 
 
@@ -153,13 +153,13 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=CwM430UH5WE[014^] +
-Using the xref:refguide:applib-cm:methods.adoc#title[`title()`], xref:refguide:applib-cm:methods.adoc#iconName[`iconName()`] and xref:refguide:applib-cm:methods.adoc#cssclass[`cssClass()`] so that end-users can distinguish domain objects within the UI.
+Using the xref:refguide:applib-cm:methods.adoc#title[title()], xref:refguide:applib-cm:methods.adoc#iconName[iconName()] and xref:refguide:applib-cm:methods.adoc#cssclass[cssClass()] so that end-users can distinguish domain objects within the UI.
 |x||x||||||x||
 
 
 
 |link:https://www.youtube.com/watch?v=7ToRKBOeemM[015^] +
-Moving the responsibility to specify the icon for a domain object out and into a subscriber, using the xref:refguide:applib-cm:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] annotation
+Moving the responsibility to specify the icon for a domain object out and into a subscriber, using the xref:refguide:applib-cm:classes/uievent.adoc#IconUiEvent[IconUiEvent] as per the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[@DomainObjectLayout#iconUiEvent()] annotation
 ||||||x|||||
 
 
@@ -265,7 +265,7 @@ Using a domain event subscriber to hide functionality, in this
 
 
 |link:https://www.youtube.com/watch?v=qj4bMkQRBUY[026^] +
-Using the xref:refguide:applib:index/annotation/Title.adoc[`@Title`] annotation (instead of the xref:refguide:applib-cm:methods.adoc#title[`title()`] reserved method) to obtain the title of a domain object, so that the end-user can distinguish one object from another.
+Using the xref:refguide:applib:index/annotation/Title.adoc[@Title] annotation (instead of the xref:refguide:applib-cm:methods.adoc#title[title()] reserved method) to obtain the title of a domain object, so that the end-user can distinguish one object from another.
 |x||||||||x||
 
 
@@ -313,13 +313,13 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=ORoEYlg6XFM[030^] +
-How to validate action parameters using a supporting xref:refguide:applib-cm:methods.adoc#validate[`validateNXxx()`] method.
+How to validate action parameters using a supporting xref:refguide:applib-cm:methods.adoc#validate[validateNXxx()] method.
 |x||||||||x||
 
 
 
 |link:https://www.youtube.com/watch?v=1Vlzob89pYI[031^] +
-How to validate action parameters using the xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]  and the Specification interface.
+How to validate action parameters using the xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[@Parameter#mustSatisfy()]  and the Specification interface.
 |||||||||x||
 
 
@@ -332,7 +332,7 @@ How to validate action parameters using the xref:refguide:applib:index/annotatio
 
 
 |link:https://www.youtube.com/watch?v=fYJjXAepWAs[032^] +
-How to instantiate/initialize objects using xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`], xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[`ServiceRegistry`] and/or xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`].
+How to instantiate/initialize objects using xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService], xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[ServiceRegistry] and/or xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService].
 |x||||||||x||
 
 
@@ -378,7 +378,7 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=1SCyBlMM2Bo[037^] +
-How to hide properties as columns in tables (parented collections or standalone collections), using the dynamic XML layout (equivalent to xref:refguide:applib:index/annotation/PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`]).
+How to hide properties as columns in tables (parented collections or standalone collections), using the dynamic XML layout (equivalent to xref:refguide:applib:index/annotation/PropertyLayout.adoc#hidden[@PropertyLayout#hidden()]).
 ||||x|||||||
 
 
@@ -397,7 +397,7 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=NKaR7ZedI8E[039^] +
-Using the xref:refguide:applib-cm:classes/super.adoc#FixtureScript[`FixtureScript`] `defaultParam(...)` method to reflectively default parameters to fixture scripts that have not been set by the caller.
+Using the xref:refguide:applib-cm:classes/super.adoc#FixtureScript[FixtureScript] `defaultParam(...)` method to reflectively default parameters to fixture scripts that have not been set by the caller.
 ||x|||||||||
 
 
@@ -423,7 +423,7 @@ Using BigDecimal as a property within a domain object, also demonstrating the "s
 
 
 |link:https://www.youtube.com/watch?v=n9Oy0m2bplw[042^] +
-How to use the xref:refguide:applib-ant:Digits.adoc[`@Digits`] annotation for action parameters of type ``java.math.BigDecimal``.
+How to use the xref:refguide:applib-ant:Digits.adoc[@Digits] annotation for action parameters of type ``java.math.BigDecimal``.
 |||||||||x||
 
 
@@ -437,22 +437,22 @@ include::screencasts/playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=Rt4JoV4ssVY[043^] +
-How to use the supporting xref:refguide:applib-cm:methods.adoc#default[`defaultXxx(...)`] supporting method to provide a default argument value for action parameters.
+How to use the supporting xref:refguide:applib-cm:methods.adoc#default[defaultXxx(...)] supporting method to provide a default argument value for action parameters.
 |x||||||||x||
 
 
 |link:https://www.youtube.com/watch?v=qAJDGxztWIQ[044^] +
-How to use xref:refguide:applib:index/annotation/DomainObject.adoc#bounding[`@DomainObject#bounding()`] so that a drop-down list is automatically provided for any parameters to actions that are for (domain entity) reference types.
+How to use xref:refguide:applib:index/annotation/DomainObject.adoc#bounding[@DomainObject#bounding()] so that a drop-down list is automatically provided for any parameters to actions that are for (domain entity) reference types.
 |||||||||x||
 
 
 |link:https://www.youtube.com/watch?v=0ro_YhXOpJU[045^] +
-How to use the xref:refguide:applib-cm:methods.adoc#choices[`choicesXxx(...)`] supporting method to provide a drop-down list for parameters to actions that are for reference types (domain entities or view models).
+How to use the xref:refguide:applib-cm:methods.adoc#choices[choicesXxx(...)] supporting method to provide a drop-down list for parameters to actions that are for reference types (domain entities or view models).
 |||||||||x||
 
 
 |link:https://www.youtube.com/watch?v=K36IJQ_hDfs[046^] +
-How to use the xref:refguide:applib-cm:methods.adoc#autoComplete[`autoCompleteXxx(...)`] supporting method to provide a drop-down list for parameters to actions that are for reference types (domain entities or view models).
+How to use the xref:refguide:applib-cm:methods.adoc#autoComplete[autoCompleteXxx(...)] supporting method to provide a drop-down list for parameters to actions that are for reference types (domain entities or view models).
 |||||||||x||
 
 
@@ -478,7 +478,7 @@ component.
 
 
 |link:https://www.youtube.com/watch?v=0YoFa44Xr6M[049^] +
-Using the xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`] annotation to exclude methods from a domain object
+Using the xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic] annotation to exclude methods from a domain object
 (eg implementing methods of an interface as defined by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s fullcalendar2 wicket component) that would
 otherwise be part of the Apache Isis metamodel (and thus show up in the UI).
 ||||||||||x|
diff --git a/antora/components/refguide-index/modules/_overview/pages/about.adoc b/antora/components/refguide-index/modules/_overview/pages/about.adoc
index cac87fd..1bbd048 100644
--- a/antora/components/refguide-index/modules/_overview/pages/about.adoc
+++ b/antora/components/refguide-index/modules/_overview/pages/about.adoc
@@ -3686,22 +3686,22 @@ skinparam {
 }
 hide stereotype
 left to right direction
-skinparam rectangle<<11>> {
+skinparam rectangle<<22>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<22>> {
+skinparam rectangle<<11>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<12>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc
index af4990b..4eddcdd 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_021-promptStyle.adoc
@@ -11,20 +11,20 @@ The prompt style is influenced by two xref:vw:ROOT:configuration-properties.adoc
 
 * if the xref:refguide:applib:index/annotation/ActionLayout.adoc#promptStyle[promptStyle()] element is set to `DIALOG`, then a configuration property is used to determine whether to render using a modal dialog or a sidebar:
 
-** xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode[`isis.viewer.wicket.dialog-mode`] if the action is for a domain object (entity or view model)
+** xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode[isis.viewer.wicket.dialog-mode] if the action is for a domain object (entity or view model)
 +
 If the configuration property is not set, then sidebar is used.
 
-** xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode-for-menu[`isis.viewer.wicket.dialog-mode-for-menu`] if the action is for a domain service
+** xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode-for-menu[isis.viewer.wicket.dialog-mode-for-menu] if the action is for a domain service
 +
 If the configuration property is not set, then modal is used.
 
 
-* if the attribute is not set at all, then thexref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prompt-style[`isis.viewer.wicket.prompt-style`] configuration property is used to specify the preferred prompt style.
+* if the attribute is not set at all, then thexref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prompt-style[isis.viewer.wicket.prompt-style] configuration property is used to specify the preferred prompt style.
 +
 If the configuration property is not set, then an inline prompt is used.
 +
-And, if this _is_ set but is set to just `DIALOG`, then the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode[`isis.viewer.wicket.dialog-mode`] configuration property determines which style.
+And, if this _is_ set but is set to just `DIALOG`, then the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.dialog-mode[isis.viewer.wicket.dialog-mode] configuration property determines which style.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_022-position.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_022-position.adoc
index 03081aa..f42e2c8 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_022-position.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_022-position.adoc
@@ -3,7 +3,7 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-The xref:refguide:applib:index/annotation/ActionLayout.adoc#position[position()] element pertains only to actions that have been associated with properties using xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder#named`].
+The xref:refguide:applib:index/annotation/ActionLayout.adoc#position[position()] element pertains only to actions that have been associated with properties using xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder#named].
 For these actions, it specifies the positioning of the action's button with respect to the field representing the object property.
 
 The attribute can take one of four values: `BELOW`, `RIGHT`, `PANEL` or `PANEL_DROPDOWN`.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_024-cssClass.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_024-cssClass.adoc
index da52433..ec72ae6 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_024-cssClass.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_024-cssClass.adoc
@@ -19,6 +19,6 @@ public class ToDoItem {
 
 [NOTE]
 ====
-The similar xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa`] annotation attribute is also used as a hint to apply CSS, specifically to add http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] on action menu items or buttons.
+The similar xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClassFa[@ActionLayout#cssClassFa] annotation attribute is also used as a hint to apply CSS, specifically to add http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] on action menu items or buttons.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_027-hidden.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_027-hidden.adoc
index 56f241d..b9c78fc 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_027-hidden.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_027-hidden.adoc
@@ -7,7 +7,7 @@ The xref:refguide:applib:index/annotation/ActionLayout.adoc#hidden[hidden()] att
 
 [TIP]
 ====
-It is also possible to use xref:refguide:applib:index/annotation/Action.adoc#hidden[`@Action#hidden`] to hide an action at the domain layer.
+It is also possible to use xref:refguide:applib:index/annotation/Action.adoc#hidden[@Action#hidden] to hide an action at the domain layer.
 ====
 
 For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc
index 4127e3e..e90e99a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ActionLayout_029-redirect.adoc
@@ -14,14 +14,14 @@ This makes for a smoother UI.
 +
 [NOTE]
 ====
-Any properties with xref:refguide:applib:index/annotation/PropertyLayout.adoc#repainting[`@PropertyLayout#repainting`] set to `NO_REPAINT` are then _not_ updated.
+Any properties with xref:refguide:applib:index/annotation/PropertyLayout.adoc#repainting[@PropertyLayout#repainting] set to `NO_REPAINT` are then _not_ updated.
 ====
 
 * if set to `EVEN_IF_SAME`, then a redirect occurs and a new web page is rendered.
 
 * if set to `AS_CONFIGURED`, then the default behaviour is as specified by the `isis.viewer.wicket.redirectEvenIfSameObject` xref:vw:ROOT:configuration-properties.adoc[configuration property]).
 
-One use case for choosing `EVEN_IF_SAME` is if the action "returning this" is intended in some way to require that the object use a different layout, as per multiple layout support, as specified using the xref:refguide:applib-methods:reserved.adoc#layout[`layout()`] method.
+One use case for choosing `EVEN_IF_SAME` is if the action "returning this" is intended in some way to require that the object use a different layout, as per multiple layout support, as specified using the xref:refguide:applib-methods:reserved.adoc#layout[layout()] method.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_022-action-semantics.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_022-action-semantics.adoc
index 5e46a1a..4962655 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_022-action-semantics.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_022-action-semantics.adoc
@@ -74,6 +74,6 @@ public class Customer {
 }
 ----
 
-Actions that are safe and request-cacheable automatically use the xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[`QueryResultsCache`] service to cache the result of the method.
+Actions that are safe and request-cacheable automatically use the xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache] service to cache the result of the method.
 Note though that the results of this caching will only be apparent if the action is invoked from another method using the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] service.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_024-domain-events.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_024-domain-events.adoc
index cee4120..6e82ebc 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_024-domain-events.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_024-domain-events.adoc
@@ -13,7 +13,7 @@ In the cases of the domain object's actions, the events that are fired are:
 * pre-execute phase: before the invocation of the action
 * post-execute: after the invocation of the action
 
-Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`] and can influence each of these phases.
+Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService] and can influence each of these phases.
 
 By default the event raised is `ActionDomainEvent.Default`.
 For example:
@@ -53,7 +53,7 @@ This substantially reduces the boilerplate required in subclasses because no exp
 
 ==== Subscribers
 
-Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`].
+Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService].
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_025-execution-publishing.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_025-execution-publishing.adoc
index 5f77cb3..63e25c7 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_025-execution-publishing.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Action_025-execution-publishing.adoc
@@ -8,7 +8,7 @@ The xref:refguide:applib:index/annotation/Action.adoc#executionPublishing[execut
 
 A common use case is to notify external "downstream" systems of changes in the state of the Apache Isis application.
 
-The xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property.execution-publishing[`isis.applib.annotation.property.execution-publishing`] configuration property is used to determine the whether the action invocation is published:
+The xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property.execution-publishing[isis.applib.annotation.property.execution-publishing] configuration property is used to determine the whether the action invocation is published:
 
 * `all`
 +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_010-examples-and-usage.adoc
index 946e2d9..fb858f3 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_010-examples-and-usage.adoc
@@ -27,7 +27,7 @@ As an alternative to using the `@CollectionLayout` annotation, a xref:userguide:
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`], xref:refguide:applib:index/annotation/Property.adoc[`@Property`] and xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.
+The annotation is one of a handful (others including xref:refguide:applib:index/annotation/Collection.adoc[@Collection], xref:refguide:applib:index/annotation/Property.adoc[@Property] and xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout]) that can also be applied to the field, rather than the getter method.
 This is specifically so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc
index 2a22ed2..452c299 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_022-paged.adoc
@@ -28,6 +28,6 @@ public class Order {
 }
 ----
 
-It is also possible to specify a global default for the page size of parented collections, using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.collection-layout.paged[`isis.applib.annotation.collection-layout.paged`] configuration property.
+It is also possible to specify a global default for the page size of parented collections, using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.collection-layout.paged[isis.applib.annotation.collection-layout.paged] configuration property.
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_027-hidden.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_027-hidden.adoc
index 6144c59..5338c08 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_027-hidden.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/CollectionLayout_027-hidden.adoc
@@ -45,5 +45,5 @@ public class ToDoItem {
 
 ==== Alternatives
 
-It is also possible to use xref:refguide:applib:index/annotation/Collection.adoc#hidden[`@Collection#hidden`] to hide a collection at the domain layer.
+It is also possible to use xref:refguide:applib:index/annotation/Collection.adoc#hidden[@Collection#hidden] to hide a collection at the domain layer.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_010-examples-and-usage.adoc
index 7c4dbc0..ffed791 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_010-examples-and-usage.adoc
@@ -30,7 +30,7 @@ public class ToDoItem {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`], xref:refguide:applib:index/annotation/Property.adoc[`@Property`] and xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.
+The annotation is one of a handful (others including xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout], xref:refguide:applib:index/annotation/Property.adoc[@Property] and xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout]) that can also be applied to the field, rather than the getter method.
 This is so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc
index 0ddc11e..d943d80 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_021_domainEvent.adoc
@@ -12,7 +12,7 @@ In the cases of the domain object's collections, the events that are fired are:
 * pre-execute phase: before the modification of the collection
 * post-execute: after the modification of the collection
 
-Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`], and can influence each of these phases.
+Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService], and can influence each of these phases.
 
 [WARNING]
 ====
@@ -73,7 +73,7 @@ This substantially reduces the boilerplate in the subclasses because no explicit
 
 ==== Subscribers
 
-Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`].
+Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService].
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -169,5 +169,5 @@ And, conversely, the framework also provides `CollectionDomainEvent.Noop`; if `d
 ==== Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically either by calling the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`] API directly, or by emulating the UI by wrapping the target object using the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] domain service.
+However, events can be raised programmatically either by calling the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService] API directly, or by emulating the UI by wrapping the target object using the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] domain service.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_022_hidden.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_022_hidden.adoc
index cfb4940..3c8dd95 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_022_hidden.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Collection_022_hidden.adoc
@@ -46,5 +46,5 @@ public class Customer {
 
 ==== Alternatives
 
-It is also possible to use xref:refguide:applib:index/annotation/CollectionLayout.adoc#hidden[`@CollectionLayout#hidden`] or using xref:userguide:fun:ui.adoc#object-layout[file-based layout] such that the collection can be hidden at the view layer.
+It is also possible to use xref:refguide:applib:index/annotation/CollectionLayout.adoc#hidden[@CollectionLayout#hidden] or using xref:userguide:fun:ui.adoc#object-layout[file-based layout] such that the collection can be hidden at the view layer.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_010-examples-and-usage.adoc
index da13def..1a89173 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_010-examples-and-usage.adoc
@@ -22,7 +22,7 @@ public class ToDoItem {
 
 [NOTE]
 ====
-Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:userguide:fun:ui.adoc#object-layout[`.layout.xml`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:userguide:fun:ui.adoc#object-layout[.layout.xml] file (only for properties, collections and actions are supported).
 ====
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_022-cssClass.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_022-cssClass.adoc
index 427333a..bf8a633 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_022-cssClass.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_022-cssClass.adoc
@@ -21,6 +21,6 @@ public class ToDoItem { /* ... */ }
 
 [NOTE]
 ====
-The similar xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] element is also used as a hint to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] to be rendered as the icon for classes.
+The similar xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[@DomainObjectLayout#cssClassFa()] element is also used as a hint to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] to be rendered as the icon for classes.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_023-cssClassFa.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_023-cssClassFa.adoc
index 852f90c..90d6ab5 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_023-cssClassFa.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_023-cssClassFa.adoc
@@ -7,7 +7,7 @@
 
 The xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[cssClassFa()] element is used to specify the name of a link:http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icon] name, to be rendered as the domain object's icon.
 
-If necessary the icon specified can be overridden by a particular object instance using the xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`] method.
+If necessary the icon specified can be overridden by a particular object instance using the xref:refguide:applib-methods:reserved.adoc#iconName[iconName()] method.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc
index 95d79b3..9edba8c 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_026-paged.adoc
@@ -1,4 +1,4 @@
-= Paging
+=== Paging
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
@@ -24,5 +24,5 @@ public class Order {
 }
 ----
 
-It is also possible to specify a global default for the page size of standalone collections, using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object-layout.paged[`isis.applib.annotation.domain-object-layout.paged`] configuration property.
+It is also possible to specify a global default for the page size of standalone collections, using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object-layout.paged[isis.applib.annotation.domain-object-layout.paged] configuration property.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_027-ui-events.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_027-ui-events.adoc
index 8464cc0..ed050cf 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_027-ui-events.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObjectLayout_027-ui-events.adoc
@@ -23,7 +23,7 @@ to obtain an alternative layout name with which to render the domain object.
 to obtain a title for the object
 
 The framework has a built-in event class (for each UI hint) that is raised by default; for example a `TitleUiEvent.Default` is raised to obtain a title for the object.
-Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
+Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService] and can use obtain a reference to the domain object from the event.
 From this they can, if they wish, specify the corresponding UI hint.
 
 This basic model can be influenced in a couple of ways:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_010-examples-and-usage.adoc
index 72c7a08..07acc8c 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_010-examples-and-usage.adoc
@@ -45,7 +45,7 @@ public class CustomerViewModel {
 ----
 
 Although there are several ways to instantiate a view model, we recommend that they are instantiated using an N-arg constructor that initializes all relevant state.
-The xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[`ServiceRegistry`] can then be used to inject dependencies into the view model.
+The xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[ServiceRegistry] can then be used to inject dependencies into the view model.
 For example:
 
 [source,java]
@@ -63,7 +63,7 @@ See this xref:userguide:btb:hints-and-tips/view-model-instantiation.adoc[tip] fo
 View models must have a no-arg constructor; this is used internally by the framework for subsequent "recreation".
 
 The view model's memento will be derived from the value of the view model object's properties.
-Any properties annotated with xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`] will be excluded from the memento.
+Any properties annotated with xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic] will be excluded from the memento.
 Properties that are merely xref:refguide:applib:index/annotation/Property.adoc#hidden[hidden] _are_ included in the memento.
 
 View models when defined using `@DomainObject(nature=VIEW_MODEL)` have some limitations:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc
index 8ab27db..33fdddf 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_021-objectType.adoc
@@ -9,11 +9,11 @@ This value is used internally to generate a string representation of an objects
 This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
-(see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`])
+(see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer]
-* in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService]
 
 == Examples
 
@@ -36,7 +36,7 @@ The rules of precedence are:
 . `@DomainObject#objectType`
 . ORM-specific:
 
-.. JDO: xref:refguide:applib-ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
+.. JDO: xref:refguide:applib-ant:PersistenceCapable.adoc[@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/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_023-editing.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_023-editing.adoc
index 11a078f..b442219 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_023-editing.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_023-editing.adoc
@@ -6,7 +6,7 @@
 
 The xref:refguide:applib:index/annotation/DomainObject.adoc#editing[editing()] element determines whether a domain object's properties and collections are not editable (are read-only).
 
-The default is `AS_CONFIGURED`, meaning that the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[`isis.applib.annotation.domain-object.editing`]
+The default is `AS_CONFIGURED`, meaning that the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[isis.applib.annotation.domain-object.editing]
 configuration property is used to determine the whether the object is modifiable:
 
 * `true` +
@@ -19,7 +19,7 @@ If there is no configuration property in `application.properties` then object ar
 
 [TIP]
 ====
-In other words, editing can be disabled globally by setting the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[`isis.applib.adoc#isis.applib.annotation.domain-object.editing`] configuration property:
+In other words, editing can be disabled globally by setting the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[isis.applib.adoc#isis.applib.annotation.domain-object.editing] configuration property:
 
 [source,ini]
 ----
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_025-lifecycle-events.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_025-lifecycle-events.adoc
index 1516f73..eaa4054 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_025-lifecycle-events.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_025-lifecycle-events.adoc
@@ -8,7 +8,7 @@ These are:
 
 * instantiated
 +
-through xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`].
+through xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService].
 An event is also fired for view models
 
 * persisting
@@ -36,7 +36,7 @@ an already persistent entity has just been saved (``UPDATE``d) to the database
 an already persistent entity is about to be removed (``DELETE``d) from the database
 
 The framework has a built-in event class (for each lifecycle hint) that is raised by default; for example a `ObjectUpdatingEvent.Default` is raised when an object is about to be updated.
-Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the object just created.
+Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService] and can use the event to obtain a reference to the object just created.
 
 This basic model can be influenced in a couple of ways:
 
@@ -175,7 +175,7 @@ public class ToDoItem {
 [NOTE]
 ====
 It's possible to instantiate objects without firing this lifecycle; just instantiate using its regular constructor, and then use the ``ServiceInjector``'s
-xref:refguide:applib:index/services/inject/ServiceInjector.adoc[`injectServicesInto(...)`] to manually inject any required domain services.
+xref:refguide:applib:index/services/inject/ServiceInjector.adoc[injectServicesInto(...)] to manually inject any required domain services.
 ====
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_026-entityChangePublishing.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_026-entityChangePublishing.adoc
index 153276e..1ccc5a3 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_026-entityChangePublishing.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_026-entityChangePublishing.adoc
@@ -3,9 +3,9 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-The xref:refguide:applib:index/annotation/DomainObject.adoc#entityChangePublishing[entityChangePublishing()] element indicates that if the object is modified, then each of its changed properties should be submitted to the registered xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[`EntityPropertyChangeSubscriber`](s).
+The xref:refguide:applib:index/annotation/DomainObject.adoc#entityChangePublishing[entityChangePublishing()] element indicates that if the object is modified, then each of its changed properties should be submitted to the registered xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber](s).
 
-The default value for the element is `AS_CONFIGURED`, meaning that the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.entity-change-publishing[`isis.applib.annotation.domain-object.entity-change-publishing`] configuration property is used to determine the whether the action is audited:
+The default value for the element is `AS_CONFIGURED`, meaning that the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.entity-change-publishing[isis.applib.annotation.domain-object.entity-change-publishing] configuration property is used to determine the whether the action is audited:
 
 * `all` +
 +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc
index 6c9a293..9edc0ef 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_027-bounding.adoc
@@ -27,7 +27,7 @@ public class Currency {
 [TIP]
 ====
 There is nothing to prevent you from using this attribute for regular mutable entities, and indeed this is sometimes worth doing during early prototyping.
-However, if there is no realistic upper bound to the number of instances of an entity that might be created, generally you should use xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:refguide:applib:index/annotation/DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository`] attribute instead.
+However, if there is no realistic upper bound to the number of instances of an entity that might be created, generally you should use xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()] supporting method or the xref:refguide:applib:index/annotation/DomainObject.adoc#autoCompleteRepository[@DomainObject#autoCompleteRepository] attribute instead.
 ====
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_028-autoCompleteRepository.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_028-autoCompleteRepository.adoc
index 664798b..85732ef 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_028-autoCompleteRepository.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_028-autoCompleteRepository.adoc
@@ -10,7 +10,7 @@ Or it could search for a country based on its ISO-3 code or user-friendly name.
 
 [TIP]
 ====
-If you require additional control - for example restricting the returned results based on the object being interacted with - then use the xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`] supporting method instead.
+If you require additional control - for example restricting the returned results based on the object being interacted with - then use the xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()] supporting method instead.
 ====
 
 For example:
@@ -71,7 +71,7 @@ public class Customers {
 ----
 <.> end-user must enter minimum number of characters to trigger the query
 
-NOTE: The autocomplete "action" can also be a regular method, annotated using xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`].
+NOTE: The autocomplete "action" can also be a regular method, annotated using xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic].
 That is, it does not need to be part of the metamodel:
 +
 [source,java]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_029-mixinMethod.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_029-mixinMethod.adoc
index 4c7eb5a..d454ce1 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_029-mixinMethod.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_029-mixinMethod.adoc
@@ -31,11 +31,11 @@ public class Customer {
 )
 ----
 <.> This is a mixin. +
-Alternatively, could have used xref:refguide:applib:index/annotation/Action.adoc[`@Action`].
+Alternatively, could have used xref:refguide:applib:index/annotation/Action.adoc[@Action].
 <.> This mixin is using a non-standard method.
 <.> a trick - this is not a `static` class, so the java compiler will create the 1-arg constructor automatically
 <.> Same name as the specified mixinMethod.
-Alternatively, when using xref:refguide:applib:index/annotation/Action.adoc[`@Action`] then method's name defaults to `act`.
+Alternatively, when using xref:refguide:applib:index/annotation/Action.adoc[@Action] then method's name defaults to `act`.
 
 This allows all mixins to follow a similar convention, with the name of the mixin inferred entirely from its type ("placeOrder").
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_040-see-also.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_040-see-also.adoc
index b1bedfe..2e301c9 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_040-see-also.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainObject_040-see-also.adoc
@@ -7,6 +7,6 @@
 +
 (only applies to entity objects)
 
-* xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[`EntityChangesSubscriber`] SPI
+* xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber] SPI
 +
 (only applies to entity objects)
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc
index 06598b1..a177509 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainServiceLayout_021-menuBar.adoc
@@ -24,7 +24,7 @@ In the xref:vw:ROOT:about.adoc[Wicket viewer], domain services placed:
 * on the `SECONDARY` menu bar appear to the right:
 * on the `TERTIARY` appear in the menu bar associated with the user's name (far top-right)
 
-The grouping of multiple domain services actions within a single drop-down is managed by the link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation.
+The grouping of multiple domain services actions within a single drop-down is managed by the link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation.
 
 NOTE: The xref:vro:ROOT:about.adoc[RestfulObjects viewer] does not support this attribute.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc
index 3f6efcc..53a375f 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/DomainService_021-objectType.adoc
@@ -34,7 +34,7 @@ public class OrderMenu {
 The rules of precedence are:
 
 1. `@DomainService#objectType`
-2. xref:refguide:applib-methods:reserved.adoc#getId[`getId()`]
+2. xref:refguide:applib-methods:reserved.adoc#getId[getId()]
 3. The fully qualified class name.
 
 [TIP]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/InteractionScope_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/InteractionScope_010-examples-and-usage.adoc
index 9935a85..a98a19a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/InteractionScope_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/InteractionScope_010-examples-and-usage.adoc
@@ -2,8 +2,8 @@
 
 // TODO: v2 - this may no longer be true.
 
-//A number of the built-in domain services uses this annotation, including xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[`Scratchpad`] and
-//xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[`QueryResultsCache`].
+//A number of the built-in domain services uses this annotation, including xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[Scratchpad] and
+//xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache].
 //
 //One small wrinkle: these session-scoped services must be injected using the `Provider` idiom, not directly.
 //For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/MemberOrder_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/MemberOrder_010-examples-and-usage.adoc
index c3315b8..c1260c5 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/MemberOrder_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/MemberOrder_010-examples-and-usage.adoc
@@ -83,7 +83,7 @@ public class Customer {
 
 TIP: For actions, `@Member#name()` element and xref:refguide:applib:index/annotation/Action.adoc#associateWith[@Action#associateWith()] element have the same effect.
 
-TIP: For actions associated with properties, the xref:refguide:applib:index/annotation/ActionLayout.adoc#position[`@ActionLayout#position()`] element indicates whether the action should be rendered beneath the property's field, or instead on the property's fieldset panel's header.
+TIP: For actions associated with properties, the xref:refguide:applib:index/annotation/ActionLayout.adoc#position[@ActionLayout#position()] element indicates whether the action should be rendered beneath the property's field, or instead on the property's fieldset panel's header.
 
 
 === Collections
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_010-examples-and-usage.adoc
index 75f66e7..0301a58 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_010-examples-and-usage.adoc
@@ -28,7 +28,7 @@ public class ToDoItem {
 
 [NOTE]
 ====
-Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:userguide:fun:ui.adoc#object-layout[`.layout.xml`] file (only for properties, collections and actions are supported).
+Note that there is (currently) no support for specifying UI hints for domain services through the dynamic xref:userguide:fun:ui.adoc#object-layout[.layout.xml] file (only for properties, collections and actions are supported).
 ====
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_021-labelPosition.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_021-labelPosition.adoc
index 7bad118..e3e4949 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_021-labelPosition.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_021-labelPosition.adoc
@@ -7,7 +7,7 @@
 The xref:refguide:applib:index/annotation/ParameterLayout.adoc#labelPosition[labelPosition()] element determines the positioning of labels for parameters.
 
 The positioning of labels is typically `LEFT`, but can be positioned to the `TOP`.
-The one exception is xref:refguide:applib:index/annotation/ParameterLayout.adoc#multiLine[`multiLine()`] string parameters, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
+The one exception is xref:refguide:applib:index/annotation/ParameterLayout.adoc#multiLine[multiLine()] string parameters, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
 
 For boolean parameters a positioning of `RIGHT` is also allowed; this is ignored for all other types.
 
@@ -37,7 +37,7 @@ public class Order {
 
 If you want a consistent look-n-feel throughout the app, eg all parameter labels to the top, then it'd be rather frustrating to have to annotate every parameter.
 
-Instead, a default can be specified using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.parameter-layout.label-position[`isis.applib.annotation.parameter-layout.label-position`] configuration property:
+Instead, a default can be specified using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.parameter-layout.label-position[isis.applib.annotation.parameter-layout.label-position] configuration property:
 
 [source,ini]
 .application.properties
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_022-multiLine.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_022-multiLine.adoc
index cad8a42..250165a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_022-multiLine.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/ParameterLayout_022-multiLine.adoc
@@ -8,7 +8,7 @@
 The xref:refguide:applib:index/annotation/ParameterLayout.adoc#multiLine[multiLine()] element specifies that the text field for a string parameter should span multiple lines.
 It is ignored for other parameter types.
 
-If set > 1 (as would normally be the case), then the default xref:refguide:applib:index/annotation/ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
+If set > 1 (as would normally be the case), then the default xref:refguide:applib:index/annotation/ParameterLayout.adoc#labelPosition[labelPosition] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_021-optionality.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_021-optionality.adoc
index bfdf44d..759a3f4 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_021-optionality.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_021-optionality.adoc
@@ -34,4 +34,4 @@ public class Customer {
 
 ==== Alternatives
 
-It is also possible to specify optionality using xref:refguide:applib-ant:Nullable.adoc[`@Nullable`] annotation.
+It is also possible to specify optionality using xref:refguide:applib-ant:Nullable.adoc[@Nullable] annotation.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_025-fileAccept.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_025-fileAccept.adoc
index 1d10409..98fa769 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_025-fileAccept.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Parameter_025-fileAccept.adoc
@@ -5,8 +5,8 @@
 
 
 
-The xref:refguide:applib:index/annotation/Parameter.adoc#fileAccept[fileAccept()] element applies only to xref:applib-classes:value-types.adoc#Blob[`Blob`]
-or xref:applib-classes:value-types.adoc#Clob[`Clob`] parameters, indicating the type of file to accept when uploading a new value.
+The xref:refguide:applib:index/annotation/Parameter.adoc#fileAccept[fileAccept()] element applies only to xref:applib-classes:value-types.adoc#Blob[Blob]
+or xref:applib-classes:value-types.adoc#Clob[Clob] parameters, indicating the type of file to accept when uploading a new value.
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_010-examples-and-usage.adoc
index 73c24f6..46a4bcc 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_010-examples-and-usage.adoc
@@ -35,7 +35,7 @@ As an alternative to using the `@PropertyLayout` annotation, a xref:userguide:fu
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`], xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`] and xref:refguide:applib:index/annotation/Property.adoc[`@Property`]) that can also be applied to the field, rather than the getter method.  This is specifically
+The annotation is one of a handful (others including xref:refguide:applib:index/annotation/Collection.adoc[@Collection], xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout] and xref:refguide:applib:index/annotation/Property.adoc[@Property]) that can also be applied to the field, rather than the getter method.  This is specifically
 so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_021_labelPosition.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_021_labelPosition.adoc
index 324b2cc..a80051e 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_021_labelPosition.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_021_labelPosition.adoc
@@ -7,7 +7,7 @@
 The xref:refguide:applib:index/annotation/PropertyLayout.adoc#labelPosition[labelPosition()] element determines the positioning of labels for properties.
 
 The positioning of labels is typically `LEFT`, but can be positioned to the `TOP`.
-The one exception is xref:refguide:applib:index/annotation/PropertyLayout.adoc#multiLine[`multiLine`] string properties, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
+The one exception is xref:refguide:applib:index/annotation/PropertyLayout.adoc#multiLine[multiLine] string properties, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
 
 For boolean properties a positioning of `RIGHT` is also allowed; this is ignored for all other types.
 
@@ -36,7 +36,7 @@ public class ToDoItem {
 
 If you want a consistent look-n-feel throughout the app, eg all property labels to the top, then it'd be rather frustrating to have to annotate every property.
 
-Instead, a default can be specified using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property-layout.label-position[`isis.applib.annotation.property-layout.label-position`] configuration property:
+Instead, a default can be specified using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property-layout.label-position[isis.applib.annotation.property-layout.label-position] configuration property:
 
 [source,ini]
 .application.properties
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_022_promptStyle.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_022_promptStyle.adoc
index 9f3a324..63fa6d1 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_022_promptStyle.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_022_promptStyle.adoc
@@ -6,7 +6,7 @@
 
 The xref:refguide:applib:index/annotation/PropertyLayout.adoc#promptStyle[promptStyle()] element is used to specify whether, when editing a domain object property, the new value for the property is prompted by way of a dialog box, or is prompted using an inline panel (replacing the property on the page).
 
-If the attribute is not set, then the value of the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prompt-style[`isis.viewer.wicket.prompt-style`] configuration property is used.
+If the attribute is not set, then the value of the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.prompt-style[isis.viewer.wicket.prompt-style] configuration property is used.
 If this is itself not set, then an inline prompt is used.
 
 For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_023_multiLine.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_023_multiLine.adoc
index b74c16a..232d5c8 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_023_multiLine.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_023_multiLine.adoc
@@ -7,7 +7,7 @@
 The xref:refguide:applib:index/annotation/PropertyLayout.adoc#multiLine[multiLine()] element  specifies that the text field for a string property should span multiple lines.
 It is ignored for other property types.
 
-If set > 1 (as would normally be the case), then the default xref:refguide:applib:index/annotation/PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
+If set > 1 (as would normally be the case), then the default xref:refguide:applib:index/annotation/PropertyLayout.adoc#labelPosition[labelPosition] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_028_repainting.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_028_repainting.adoc
index 9197f0b..6ae3b2f 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_028_repainting.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_028_repainting.adoc
@@ -13,7 +13,7 @@ Note that for this to work, the viewer will also ensure that none of the propert
 
 [NOTE]
 ====
-Design note: we considered implementing this an "immutable" flag on the xref:refguide:applib:index/annotation/Property.adoc[`@Property`] annotation (because this flag is typically appropriate for immutable/unchanging properties of a domain object).
+Design note: we considered implementing this an "immutable" flag on the xref:refguide:applib:index/annotation/Property.adoc[@Property] annotation (because this flag is typically appropriate for immutable/unchanging properties of a domain object).
 However, we decided not to do that, on the basis that it might be interpreted as having a deeper impact within the framework than simply a hint for rendering.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_030_hidden.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_030_hidden.adoc
index b0d515b..f272793 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_030_hidden.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/PropertyLayout_030_hidden.adoc
@@ -65,10 +65,10 @@ public class Customer {
 ----
 
 
-As one specific use case, if a property is annotated with xref:refguide:applib:index/annotation/Title.adoc[`@Title`], then normally this should be hidden from all tables.
+As one specific use case, if a property is annotated with xref:refguide:applib:index/annotation/Title.adoc[@Title], then normally this should be hidden from all tables.
 Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 
 ==== Alternatives
 
-It is also possible to use xref:refguide:applib:index/annotation/PropertyLayout.adoc#hidden[`@PropertyLayout#hidden`] to hide a property at the domain layer.
+It is also possible to use xref:refguide:applib:index/annotation/PropertyLayout.adoc#hidden[@PropertyLayout#hidden] to hide a property at the domain layer.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_010-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_010-examples-and-usage.adoc
index a75c1ed..0d397c4 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_010-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_010-examples-and-usage.adoc
@@ -36,7 +36,7 @@ public class Customer {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`], xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`] and xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
+The annotation is one of a handful (others including xref:refguide:applib:index/annotation/Collection.adoc[@Collection], xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout] and xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout]) that can also be applied to the field, rather than the getter method.  This is specifically
 so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_021-optionality.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_021-optionality.adoc
index 416fe3c..c989d8e 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_021-optionality.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_021-optionality.adoc
@@ -8,10 +8,10 @@ By default, Apache Isis assumes that all properties of an domain object or view
 The xref:applib:index/annotation/Property.adoc#optionality[optionality()] attribute allows this to be relaxed.
 The attribute is also supported for xref:refguide:applib:index/annotation/Parameter.adoc#optionality[parameters].
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:refguide:applib-ant:Column.adoc[`@Column`] should be specified.
+That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:refguide:applib-ant:Column.adoc[@Column] should be specified.
 Apache Isis can infer the maxLength directly from the equivalent @Column#length() annotation.
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:refguide:applib-ant:Column.adoc[`@Column`] will in any case need to be specified.
+That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:refguide:applib-ant:Column.adoc[@Column] will in any case need to be specified.
 Apache Isis can infer the `optionality` semantic directly from the equivalent `@Column#allowsNull()` annotation/attribute.
 
 For example:
@@ -126,6 +126,6 @@ The values for the attribute are simply `OPTIONAL` or `MANDATORY`.
 
 [NOTE]
 ====
-It is also possible to specify optionality using xref:refguide:applib-ant:Nullable.adoc[`@Nullable`] annotation.
+It is also possible to specify optionality using xref:refguide:applib-ant:Nullable.adoc[@Nullable] annotation.
 ====
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_022-editing.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_022-editing.adoc
index 16207c5..15b0c6d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_022-editing.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_022-editing.adoc
@@ -18,7 +18,7 @@ If set to `false`, then the object's properties (and collections) are __not__ ed
 
 * else, the value of the `@Property(editing=...)` attribute itself
 
-* else, the result of invoking any supporting xref:refguide:applib-methods:prefixes.adoc#disable[`disable...()`] supporting methods
+* else, the result of invoking any supporting xref:refguide:applib-methods:prefixes.adoc#disable[disable...()] supporting methods
 
 
 Thus, to make a property read-only even if the object would otherwise be editable, use:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_023-maxLength.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_023-maxLength.adoc
index 560de90..df9ae1a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_023-maxLength.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_023-maxLength.adoc
@@ -8,7 +8,7 @@
 The xref:applib:index/annotation/Property.adoc#maxLength[maxLength()] attribute applies only to `String` properties, indicating the maximum number of characters that the user may enter (for example in a text field in the UI).
 The attribute It is ignored if applied to properties of any other type.
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:refguide:applib-ant:Column.adoc[`@Column`] will in any case need to be specified.
+That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:refguide:applib-ant:Column.adoc[@Column] will in any case need to be specified.
 Apache Isis can infer the `maxLength` semantic directly from the equivalent `@Column#length()` annotation/attribute.
 
 For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_026-domain-events.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_026-domain-events.adoc
index abf68c6..ab60bd7 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_026-domain-events.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_026-domain-events.adoc
@@ -13,7 +13,7 @@ In the cases of the domain object's properties, the events that are fired are:
 * pre-execute phase: before the modification of the property
 * post-execute: after the modification of the property
 
-Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`] and can influence each of these phases.
+Subscribers subscribe through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService] and can influence each of these phases.
 
 By default the event raised is `PropertyDomainEvent.Default`.
 For example:
@@ -66,7 +66,7 @@ This substantially reduces the boilerplate required in subclasses because no exp
 
 ==== Subscribers
 
-Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`].
+Subscribers (which must be domain services) subscribe to events posted through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService].
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_027-execution-publishing.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_027-execution-publishing.adoc
index 3e6239b..919aa3b 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_027-execution-publishing.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_027-execution-publishing.adoc
@@ -4,11 +4,11 @@
 
 === Execution Publishing
 
-The xref:refguide:applib:index/annotation/Property.adoc#executionPublishing[executionPublishing()] element determines whether and how a property edit is published via the registered implementation of xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[`ExecutionSubscriber`].
+The xref:refguide:applib:index/annotation/Property.adoc#executionPublishing[executionPublishing()] element determines whether and how a property edit is published via the registered implementation of xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
 
 A common use case is to notify external "downstream" systems of changes in the state of the Apache Isis application.
 
-The xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property.execution-publishing[`isis.applib.annotation.property.execution-publishing`] configuration property is used to determine the whether the property edits are published:
+The xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.property.execution-publishing[isis.applib.annotation.property.execution-publishing] configuration property is used to determine the whether the property edits are published:
 
 * `all`
 +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_028-command-processing.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_028-command-processing.adoc
index 3216b3a..85fb400 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_028-command-processing.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_028-command-processing.adoc
@@ -67,6 +67,6 @@ If `commandDtoProcessor()` is specified, then `commandPublishing()` is assumed t
 
 ==== Example
 
-For an example, see xref:refguide:applib:index/annotation/Action.adoc#commandPublishing[`Action#command()`].
+For an example, see xref:refguide:applib:index/annotation/Action.adoc#commandPublishing[Action#command()].
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_030-snapshot.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_030-snapshot.adoc
index 28c3623..ef1a284 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_030-snapshot.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_030-snapshot.adoc
@@ -3,7 +3,7 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-The xref:applib:index/annotation/Property.adoc#snapshot[snapshot()] element indicates whether the property should be included/excluded from any snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[`XmlSnapshotService`].
+The xref:applib:index/annotation/Property.adoc#snapshot[snapshot()] element indicates whether the property should be included/excluded from any snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService].
 
 For example:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_031-fileAccept.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_031-fileAccept.adoc
index d05b079..70706da 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_031-fileAccept.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_031-fileAccept.adoc
@@ -4,7 +4,7 @@
 :page-partial:
 
 
-The xref:applib:index/annotation/Property.adoc#fileAccept[fileAccept()] element applies only to xref:applib-classes:value-types.adoc#Blob[`Blob`] or xref:applib-classes:value-types.adoc#Clob[`Clob`] parameters, indicating the type of file to accept when uploading a new value.
+The xref:applib:index/annotation/Property.adoc#fileAccept[fileAccept()] element applies only to xref:applib-classes:value-types.adoc#Blob[Blob] or xref:applib-classes:value-types.adoc#Clob[Clob] parameters, indicating the type of file to accept when uploading a new value.
 The attribute is also supported on xref:refguide:applib:index/annotation/Parameter.adoc#fileAccept[parameters].
 
 For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_033-hidden.adoc b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_033-hidden.adoc
index a2aeabd..3e0f23d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_033-hidden.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/annotation/hooks/Property_033-hidden.adoc
@@ -8,7 +8,7 @@ Properties can be hidden at the domain-level, indicating that they are not visib
 
 [TIP]
 ====
-It is also possible to use xref:refguide:applib:index/annotation/Property.adoc#hidden[`@Property#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:refguide:applib:index/annotation/Property.adoc#hidden[@Property#hidden()] to hide an action at the domain layer.
 ====
 
 For example:
@@ -58,7 +58,7 @@ This combines `PARENTED_TABLES` and `STANDALONE_TABLES`.
 * `Where.NOWHERE` +
 + The property should not be hidden, overriding any other metadata/conventions that would normally cause the property to be hidden. +
 
-For example, if a property is annotated with xref:refguide:applib:index/annotation/Title.adoc[`@Title`], then normally this should be hidden from all tables.
+For example, if a property is annotated with xref:refguide:applib:index/annotation/Title.adoc[@Title], then normally this should be hidden from all tables.
 Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 [NOTE]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/acceptheader/hooks/AcceptHeaderService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/acceptheader/hooks/AcceptHeaderService_020-examples-and-usage.adoc
index b5be8a3..ffe16fb 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/acceptheader/hooks/AcceptHeaderService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/acceptheader/hooks/AcceptHeaderService_020-examples-and-usage.adoc
@@ -26,6 +26,6 @@ The option is to use the media type's type/subtype, eg `application/vnd.myrestap
 
 == Alternatives
 
-As an alternative to performing content negotiation within the domain classes, the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] SPI domain service allows the framework to perform the content negotiation responsibility.
+As an alternative to performing content negotiation within the domain classes, the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] SPI domain service allows the framework to perform the content negotiation responsibility.
 
-The Restful Objects specification supports this with its own `x-ro-domain-type` media type parameter; this is used by the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] to determine how to map domain objects to view models/DTOs.
+The Restful Objects specification supports this with its own `x-ro-domain-type` media type parameter; this is used by the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] to determine how to map domain objects to view models/DTOs.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_010-implementation.adoc
index c3af492..e976f15 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_010-implementation.adoc
@@ -8,4 +8,4 @@ The core framework (xref:core:metamodel:about.adoc[MetaModel] module) provides a
 
 This implementation supports the following configuration properties:
 
-* xref:refguide:config:sections/isis.core.runtime-services.adoc#isis.core.runtime-services.application-features.init[`isis.core.runtime-services.application-features.init`]
+* xref:refguide:config:sections/isis.core.runtime-services.adoc#isis.core.runtime-services.application-features.init[isis.core.runtime-services.application-features.init]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_020-examples-and-usage.adoc
index 4e2ee6b..276dac5 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/appfeat/hooks/ApplicationFeatureRepository_020-examples-and-usage.adoc
@@ -2,8 +2,8 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-== See Also
-
-The default implementation of this service uses the internal xref:core:runtime-services:ApplicationFeatureFactory.adoc[`ApplicationFeatureFactory`] service to instantiate `ApplicationFeature` instances.
+//== See Also
+//
+//The default implementation of this service uses the internal xref:core:runtime-services:ApplicationFeatureFactory.adoc[ApplicationFeatureFactory] service to instantiate `ApplicationFeature` instances.
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_010-implementation.adoc
index 70d3821..a9946e4 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_010-implementation.adoc
@@ -3,7 +3,7 @@
 
 
 
-== Implementation
-
-The core framework (xref:core:runtime-services:about.adoc[Runtime Services] module) provides a default implementation of this API, namely `o.a.i.core.runtimeservices.bookmarks.BookmarkServiceDefault`.
+//== Implementation
+//
+//The core framework (xref:core:runtime-services:about.adoc[Runtime Services] module) provides a default implementation of this API, namely `o.a.i.core.runtimeservices.bookmarks.BookmarkServiceDefault`.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_020-examples-and-usage.adoc
index b8baec5..027e0b9 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/hooks/BookmarkService_020-examples-and-usage.adoc
@@ -24,14 +24,14 @@ Either of these can be suppressed, if required, using a vetoing subscriber that
 //== Examples
 //
 //For example, a `Customer` object with an xref:refguide:applib:index/annotation/DomainObject.adoc#objectType[object type] of "custmgmt.Customer" and an id of 123
-//would correspond to a xref:BookmarkService.adoc#bookmark[`Bookmark`] with a string representation of "custmgmt.Customer|123".
+//would correspond to a xref:BookmarkService.adoc#bookmark[Bookmark] with a string representation of "custmgmt.Customer|123".
 //
 //Bookmarks are useful to store a reference to an arbitrary object, although be aware that there is no referential integrity.
 //
 //Several of the extension libraries use bookmarks.
 //For example the xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] uses bookmarks to identify the object that is being modified.
 //
-//Serialized form of bookmarks also appear within  xref:refguide:schema:about.adoc[schema] instances, for example as used by xref:refguide:applib-svc:CommandServiceInternal.adoc[`CommandService`] and the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
+//Serialized form of bookmarks also appear within  xref:refguide:schema:about.adoc[schema] instances, for example as used by xref:refguide:applib-svc:CommandServiceInternal.adoc[CommandService] and the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
 
 
 == See Also
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/command/hooks/CommandExecutorService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/command/hooks/CommandExecutorService_020-examples-and-usage.adoc
index 2a67bae..976ab97 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/command/hooks/CommandExecutorService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/command/hooks/CommandExecutorService_020-examples-and-usage.adoc
@@ -11,7 +11,7 @@ The `CommandExecutorService` domain service is provides the ability to execute a
 // TODO - v2 this is out of date; reference the command-replay service, now part of framework.
 
 //In fact, the service requires that the implementation of the `Command` being executed implements the `CommandWithDto` sub-interface.
-//This allows the xref:refguide:schema:cmd.adoc[`CommandDto`] memento to be extracted, from which the action can be invoked/property edited.
+//This allows the xref:refguide:schema:cmd.adoc[CommandDto] memento to be extracted, from which the action can be invoked/property edited.
 //
 //The primary use case for this service is to allow the replay of commands, eg for regression testing.
 //This is implemented by the (non-ASF) link:https://platform.incode.org/modules/spi/command/spi-command-replay.html[command replay module].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/processor/hooks/CommandDtoProcessorService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/processor/hooks/CommandDtoProcessorService_020-examples-and-usage.adoc
index aa54a72..e24135b 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/processor/hooks/CommandDtoProcessorService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/processor/hooks/CommandDtoProcessorService_020-examples-and-usage.adoc
@@ -6,7 +6,7 @@
 
 Having a DTO representation of ``Command``s (or more precisely, any object implementing `HasCommandDto` offers the ability to move or copy it across the network, for example to support replay scenarios.
 This is used for example by xref:extensions:command-log:about.adoc[Command Log] extension to return persisted representations of commands.
-The conversion is performed by an in-built implementation of the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] SPI.
+The conversion is performed by an in-built implementation of the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] SPI.
 
 The `CommandDtoProcessorService` SPI provides a mechanism to post-process the `CommandDto` of any objects being serialized across the network.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationMenu_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationMenu_020-examples-and-usage.adoc
index 23ce071..d9a8e72 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationMenu_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationMenu_020-examples-and-usage.adoc
@@ -4,4 +4,4 @@
 
 == Related Services
 
-This service is the front-end UI (and delegates to) xref:refguide:applib:index/services/confview/ConfigurationViewService.adoc[`ConfigurationViewService`].
+This service is the front-end UI (and delegates to) xref:refguide:applib:index/services/confview/ConfigurationViewService.adoc[ConfigurationViewService].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_010-implementation.adoc
index 9410bd6..120f00d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_010-implementation.adoc
@@ -3,7 +3,7 @@
 
 
 
-== Implementation
-
-The core framework (xref:core:runtime-services:about.adoc[Runtime Services] module) provides a default implementation of this API, namely `o.a.i.core.runtimeservices.confmenu.ConfigurationViewServiceDefault`.
+//== Implementation
+//
+//The core framework (xref:core:runtime-services:about.adoc[Runtime Services] module) provides a default implementation of this API, namely `o.a.i.core.runtimeservices.confmenu.ConfigurationViewServiceDefault`.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_020-examples-and-usage.adoc
index 3a65634..0256b5d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/confview/hooks/ConfigurationViewService_020-examples-and-usage.adoc
@@ -4,12 +4,12 @@
 
 == Related Services
 
-* The configuration properties for Apache Isis can also be obtained from the xref:refguide:config:about.adoc#isisconfiguration-domain-service[`IsisConfiguration`] domain service.
+* The configuration properties for Apache Isis can also be obtained from the xref:refguide:config:about.adoc#isisconfiguration-domain-service[IsisConfiguration] domain service.
 These provide link:https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config-typesafe-configuration-properties[type-safe] access to all `isis.*` configuration properties.
 +
 [NOTE]
 ====
-`IsisConfiguration` is part of xref:refguide:config:about.adoc[`isis-core-config`] rather than the applib.
+`IsisConfiguration` is part of xref:refguide:config:about.adoc[isis-core-config] rather than the applib.
 
 To use it therefore requires this dependency:
 [source,xml]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_010-implementation.adoc
index 28dc922..19590a6 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_010-implementation.adoc
@@ -13,7 +13,7 @@ The implementations are:
 * `o.a.i.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto` will map any single instance of a `HasCommandDto` into a `CommandDto` XML document
 * `o.a.i.applib.services.commanddto.conmap.ContentMappingServiceForCommandsDto` will map a list of ``HasCommandDto``s into a `CommandsDto` XML document, and will wrap any single instance of a `CommandWithDto` into a singleton list and thence into a `CommandsDto` XML document.
 
-If the action invocation or property edit represent provides an implementation of a `CommandDtoProcessor` (by way of xref:refguide:applib:index/annotation/Action.adoc#commandDtoProcessor[`@Action#commandDtoProcessor()`] or xref:refguide:applib:index/annotation/Property.adoc#commandDtoProcessor[`@Property#commandDtoProcessor()`]) then this is also called to post-process the persisted `CommandDto` if required.
+If the action invocation or property edit represent provides an implementation of a `CommandDtoProcessor` (by way of xref:refguide:applib:index/annotation/Action.adoc#commandDtoProcessor[@Action#commandDtoProcessor()] or xref:refguide:applib:index/annotation/Property.adoc#commandDtoProcessor[@Property#commandDtoProcessor()]) then this is also called to post-process the persisted `CommandDto` if required.
 A typical use case for this is to dynamically add in serialized ``Blob``s or ``Clob``s, the values of which are not captured by default in `CommandDto`.
 
 To support the writing of custom implementations of this interface, the framework also provides `ContentMappingService.Util` which includes a couple of convenience utilities:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_020-examples-and-usage.adoc
index a5c17c4..01e0670 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/conmap/hooks/ContentMappingService_020-examples-and-usage.adoc
@@ -6,15 +6,15 @@
 
 // TODO: v2: this is an SPI, so maybe restfulobjects should define an "spi" module for this.
 
-The `ContentMappingService` supports the (default implementation of the) internal xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`] SPI enabling the xref:vro:ROOT:about.adoc[RestfulObjects viewer] to represent domain objects in some other format as specified by the HTTP `Accept` header.
+The `ContentMappingService` supports the (default implementation of the) internal xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService] SPI enabling the xref:vro:ROOT:about.adoc[RestfulObjects viewer] to represent domain objects in some other format as specified by the HTTP `Accept` header.
 
 For its part, the (default implementation of the) `ContentNegotiationService` will check _all_ available implementations of `ContentMappingService` to convert the domain object to the requested media type, rather than merely the first implementation found; in other words it uses the link:https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern[chain-of-responsibility] pattern.
-Services are checked in the ordering defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation.
+Services are checked in the ordering defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation.
 The mapped object used will be the first non-`null` result returned by an implementation.
 
 
 == Related Services
 
-This service is a companion to the default implementation of the xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`].
+This service is a companion to the default implementation of the xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService].
 
-The framework implementations of `ContentMappingService` use the xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[`MetaModelService`] to lookup any custom implementations of `CommandDtoProcessor`.
+The framework implementations of `ContentMappingService` use the xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[MetaModelService] to lookup any custom implementations of `CommandDtoProcessor`.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/email/hooks/EmailService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/email/hooks/EmailService_020-examples-and-usage.adoc
index 2d49785..824f592 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/email/hooks/EmailService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/email/hooks/EmailService_020-examples-and-usage.adoc
@@ -9,4 +9,4 @@ If you wish to write an alternative implementation, be aware that it should proc
 
 == Related Services
 
-The email service is used by the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[`EmailNotificationService`] which is, in turn, used by xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[`UserRegistrationService`].
+The email service is used by the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService] which is, in turn, used by xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/eventbus/hooks/EventBusService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/eventbus/hooks/EventBusService_020-examples-and-usage.adoc
index f0b2efa..a2915ea 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/eventbus/hooks/EventBusService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/eventbus/hooks/EventBusService_020-examples-and-usage.adoc
@@ -14,7 +14,7 @@ Multiple events are generated:
 
 If a subscriber throws an exception in the first three steps, then the interaction is vetoed.
 If a subscriber throws an exception in the last two steps, then the transaction is aborted.
-For more on this topic, see xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent()`], xref:refguide:applib:index/annotation/Property.adoc#domainEvent[`@Property#domainEvent()`] and xref:refguide:applib:index/annotation/Collection.adoc#domainEvent[`@Collection#domainEvent()`].
+For more on this topic, see xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()], xref:refguide:applib:index/annotation/Property.adoc#domainEvent[@Property#domainEvent()] and xref:refguide:applib:index/annotation/Collection.adoc#domainEvent[@Collection#domainEvent()].
 
 It is also possible for domain objects to programmatically generate domain events.
 However the events are published, the primary use case is to decoupling interactions from one module/package/namespace and another.
@@ -209,7 +209,7 @@ public class LibraryMember {
 ----
 <.> `LibraryMember.LeaveEvent` could be _any_ class, not just a subclass of `o.a.i.applib.event.ActionDomainEvent`.
 
-In practice we suspect there will be few cases where the programmatic approach is required rather than the declarative approach afforded by xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent()`] et al.
+In practice we suspect there will be few cases where the programmatic approach is required rather than the declarative approach afforded by xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()] et al.
 
 
 == Using `WrapperFactory`
@@ -256,18 +256,18 @@ There are several mechanisms to suport coarse-grained publish/subscribe for syst
 
 * Command publishing, representing the _intention_ to invoke an action or edit a property.
 +
-These events apply to actions annotated with xref:refguide:applib:index/annotation/Action.adoc#commandPublishing[`@Action#commandPublishing()`]) and to properties properties annotated with xref:refguide:applib:index/annotation/Property.adoc#commandPublishing[`@Property#commandPublishing`]).
+These events apply to actions annotated with xref:refguide:applib:index/annotation/Action.adoc#commandPublishing[@Action#commandPublishing()]) and to properties properties annotated with xref:refguide:applib:index/annotation/Property.adoc#commandPublishing[@Property#commandPublishing]).
 +
-The events are received by any/all xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[`CommandSubscriber`]s.
+The events are received by any/all xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber]s.
 
 * Execution publishing, representing the _completion_ of an action invocation or property edit.
 +
-These events apply to actions annotated with xref:refguide:applib:index/annotation/Action.adoc#executionPublishing[`@Action#executionPublishing()`]) and properties annotated with xref:refguide:applib:index/annotation/Property.adoc#executionPublishing[`@Property#executionPublishing`]).
+These events apply to actions annotated with xref:refguide:applib:index/annotation/Action.adoc#executionPublishing[@Action#executionPublishing()]) and properties annotated with xref:refguide:applib:index/annotation/Property.adoc#executionPublishing[@Property#executionPublishing]).
 +
-The events are received by any/all xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[`ExecutionSubscriber`]s
+The events are received by any/all xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber]s
 
 * Entity change publishing, representing an entity that has changed its state.
 +
-These events apply to objects annotated with xref:refguide:applib:index/annotation/DomainObject.adoc#entityChangePublishing[`@DomainObject#entityChangePublishing()`]).
+These events apply to objects annotated with xref:refguide:applib:index/annotation/DomainObject.adoc#entityChangePublishing[@DomainObject#entityChangePublishing()]).
 +
-The events are received by any/all xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[`EntityChangesSubscriber`]s
+The events are received by any/all xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber]s
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/factory/hooks/FactoryService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/factory/hooks/FactoryService_020-examples-and-usage.adoc
index af01e26..4c70d79 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/factory/hooks/FactoryService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/factory/hooks/FactoryService_020-examples-and-usage.adoc
@@ -6,7 +6,7 @@
 
 The benefits of using this method (instead of simply using the Java `new` keyword) are:
 
-* any services will be injected into the object immediately (otherwise they will not be injected until the framework becomes aware of the object, typically when it is persisted through the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]
+* any services will be injected into the object immediately (otherwise they will not be injected until the framework becomes aware of the object, typically when it is persisted through the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]
 
 * the default value for any properties (usually as specified by `defaultXxx()` supporting methods) or from the value type itself will be set and the `created()` callback will be called.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc
index 8d174f5..efd6a29 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc
@@ -12,14 +12,14 @@ Dynamic reloading is disabled in production mode.
 
 == See also
 
-This service is called by xref:refguide:applib:index/services/layout/LayoutService.adoc[`LayoutService`], exposed in the UI through `LayoutServiceMenu` (to download the layout XML as a zip file for all domain objects) and the xref:applib-classes:roles-mixins-contributees/mixins.adoc#Object[`downloadLayoutXml()`] mixin (to download the layout XML for a single domain
+This service is called by xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService], exposed in the UI through `LayoutServiceMenu` (to download the layout XML as a zip file for all domain objects) and the xref:applib-classes:roles-mixins-contributees/mixins.adoc#Object[downloadLayoutXml()] mixin (to download the layout XML for a single domain
 object).
 
 This service delegates to:
 
-* to xref:refguide:applib:index/services/grid/GridLoaderService.adoc[`GridLoaderService`] to load a pre-existing layout for the domain class, if possible
+* to xref:refguide:applib:index/services/grid/GridLoaderService.adoc[GridLoaderService] to load a pre-existing layout for the domain class, if possible
 
-* to xref:refguide:applib:index/services/grid/GridSystemService.adoc[`GridSystemService`] to normalize the grid with respect to Apache Isis' internal metamodel, in other words to ensure that all of the domain objects' properties, collections and actions are associated with regions of the grid.
+* to xref:refguide:applib:index/services/grid/GridSystemService.adoc[GridSystemService] to normalize the grid with respect to Apache Isis' internal metamodel, in other words to ensure that all of the domain objects' properties, collections and actions are associated with regions of the grid.
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_020-examples-and-usage.adoc
index 44a98d2..b6bcade 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridSystemService_020-examples-and-usage.adoc
@@ -4,11 +4,11 @@
 == Usage Notes
 
 The framework will check _all_ available implementations of `GridSystemService` to obtain available grid systems, rather than merely the first implementation found, to determine if a grid is available for the domain object to be rendered; in other words it uses the link:https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern[chain-of-responsibility] pattern.
-Services are called in the order defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation).
+Services are called in the order defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation).
 
 Note though that each concrete implementation must also provide corresponding Wicket viewer components capable of interpreting the grid layout.
 This is therefore a highly specialized and very deep customisation of the framework.
 
 == See also
 
-This service is used by xref:refguide:applib:index/services/grid/GridService.adoc[`GridService`].
+This service is used by xref:refguide:applib:index/services/grid/GridService.adoc[GridService].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/homepage/hooks/HomePageResolverService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/homepage/hooks/HomePageResolverService_020-examples-and-usage.adoc
index d1c5f70..5753e5a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/homepage/hooks/HomePageResolverService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/homepage/hooks/HomePageResolverService_020-examples-and-usage.adoc
@@ -4,4 +4,4 @@
 
 == Notes
 
-This service was originally introduced to support the default implementation of xref:refguide:applib:index/services/routing/RoutingService.adoc[`RoutingService`], but was factored out to support alternative implementations of that service (and may be useful for other use cases).
+This service was originally introduced to support the default implementation of xref:refguide:applib:index/services/routing/RoutingService.adoc[RoutingService], but was factored out to support alternative implementations of that service (and may be useful for other use cases).
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_020-examples-and-usage.adoc
index a89eef5..9712820 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/LocaleProvider_020-examples-and-usage.adoc
@@ -11,9 +11,9 @@ For the "big picture" and further details on the framework's i18n support, can b
 
 Other i18n services include:
 
-* xref:refguide:applib:index/services/i18n/TranslationService.adoc[`TranslationService`]
+* xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService]
 
-* xref:refguide:applib:index/services/i18n/TranslationsResolver.adoc[`TranslationsResolver`]
+* xref:refguide:applib:index/services/i18n/TranslationsResolver.adoc[TranslationsResolver]
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationService_020-examples-and-usage.adoc
index 31da642..99254a4 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationService_020-examples-and-usage.adoc
@@ -13,11 +13,11 @@ For the "big picture" and further details on the framework's support, see xref:u
 +
 enumerates the mode that the translation service is currently in, as per xref:TranslationService.adoc#getMode__[getMode()].
 
-* xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[`LocaleProvider`]
+* xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[LocaleProvider]
 +
 Used by the default implementation (`TranslationServicePo`) to return the `Locale` of the current user.
 
-* xref:TranslationsResolver.adoc[`TranslationsResolver`]
+* xref:TranslationsResolver.adoc[TranslationsResolver]
 +
 Used by the default implementation (`TranslationServicePo`) to read existing translations.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_020-examples-and-usage.adoc
index 42bd7ba..752368f 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/i18n/hooks/TranslationsResolver_020-examples-and-usage.adoc
@@ -9,6 +9,6 @@ For the "big picture" and further details on Apache Isis' i18n support, see xref
 
 == See Also
 
-This service works in conjunction with xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[`LocaleProvider`] and xref:refguide:applib:index/services/i18n/TranslationService.adoc[`TranslationService`] in order to provide i18n support.
+This service works in conjunction with xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[LocaleProvider] and xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService] in order to provide i18n support.
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc
index 1e7c4a5..17af303 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc
@@ -12,7 +12,7 @@ This supports several use cases:
 
 ** they enable profiling of the running application (which actions are invoked then most often, what is their response time)
 
-** if auditing is configured (using xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[`EntityPropertyChangeSubscriber`]), they provide better audit information, since the parent xref:refguide:applib:index/services/iactn/Interaction.adoc[Interaction] captures the 'cause' of an interaction and can be correlated to the audit records (the "effect" of the interaction) by way of the xref:applib-classes:roles-mixins-contributees/contributee.adoc#HasUniqueId[ [...]
+** if auditing is configured (using xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber]), they provide better audit information, since the parent xref:refguide:applib:index/services/iactn/Interaction.adoc[Interaction] captures the 'cause' of an interaction and can be correlated to the audit records (the "effect" of the interaction) by way of the xref:applib-classes:roles-mixins-contributees/contributee.adoc#HasUniqueId[un [...]
 
 
 == See also
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/InteractionContext_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/InteractionContext_020-examples-and-usage.adoc
index 7034236..944d28c 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/InteractionContext_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/InteractionContext_020-examples-and-usage.adoc
@@ -7,7 +7,7 @@
 == Usage Notes
 
 Typically domain objects will have little need to interact with the `InteractionContext` and `Interaction` directly.
-The services are used within the framework however, primarily to support the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI, and to emit domain events over the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`].
+The services are used within the framework however, primarily to support the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI, and to emit domain events over the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService].
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/inject/hooks/ServiceInjector_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/inject/hooks/ServiceInjector_020-examples-and-usage.adoc
index 1f3061b..6ef50a2 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/inject/hooks/ServiceInjector_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/inject/hooks/ServiceInjector_020-examples-and-usage.adoc
@@ -18,7 +18,7 @@ repositoryService.persist(cust);
 
 == Related Services
 
-* xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[`ServiceRegistry`]
+* xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[ServiceRegistry]
 +
 to just lookup existing domain services by type.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc
index a7bb1f2..7011001 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc
@@ -6,10 +6,10 @@
 
 == Usage within the framework
 
-This service is provided as a convenience for applications, but is also used internally by the framework to marshall xref:refguide:applib-ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated
+This service is provided as a convenience for applications, but is also used internally by the framework to marshall xref:refguide:applib-ant:XmlRootElement.adoc[@XmlRootElement]-annotated
 xref:userguide:fun:overview.adoc#view-models[view models].
 
-The functionality to download XML and XSD schemas is also exposed in the UI through mixins of the xref:applib-classes:roles-mixins-contributees/mixins.adoc#Dto[`Dto`] interface.
+The functionality to download XML and XSD schemas is also exposed in the UI through mixins of the xref:applib-classes:roles-mixins-contributees/mixins.adoc#Dto[Dto] interface.
 
 
 == See also
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc
index 84ae23d..2019b24 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc
@@ -26,8 +26,8 @@ The table below summarises the choices:
 |===
 
 | Style
-| xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder`]
-| xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`], xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`], xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`]
+| xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder]
+| xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout], xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout], xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout]
 
 
 |`COMPLETE`
@@ -71,8 +71,8 @@ The grid regions will be empty in this version, and the framework will use the `
 The functionality of `LayoutService` is surfaced in the user interface through a related xref:refguide:applib:index/services/layout/LayoutService.adoc#related-mixins-and-menus[mixin and menu action].
 See also xref:refguide:applib:index/services/layout/Style.adoc[Style], which determines how much data is included in the downloaded XML.
 
-The xref:refguide:applib:index/services/grid/GridService.adoc[`GridService`] is responsible for loading and normalizing layout XML for a domain class.
-It in turn uses the xref:refguide:applib:index/services/grid/GridLoaderService.adoc[`GridLoaderService`] and  xref:refguide:applib:index/services/grid/GridSystemService.adoc[`GridSystemService`]
+The xref:refguide:applib:index/services/grid/GridService.adoc[GridService] is responsible for loading and normalizing layout XML for a domain class.
+It in turn uses the xref:refguide:applib:index/services/grid/GridLoaderService.adoc[GridLoaderService] and  xref:refguide:applib:index/services/grid/GridSystemService.adoc[GridSystemService]
 services.
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc
index 44ed799..498b6fc 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_010-implementation.adoc
@@ -8,6 +8,6 @@
 The xref:vw:ROOT:about.adoc[Wicket viewer] provides an implementation of this service `o.a.i.viewer.wicket.viewer.services.DeepLinkServiceWicket`.
 
 There is no domain service to support deep links to the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
-However, a URL can be constructed easily enough according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`].
+However, a URL can be constructed easily enough according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_020-examples-and-usage.adoc
index 9600cb7..c23e9a2 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/linking/hooks/DeepLinkService_020-examples-and-usage.adoc
@@ -4,7 +4,7 @@
 
 == Usage within the framework
 
-The xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[`EmailNotificationService`] uses this service in order to generate emails as part of xref:vw:ROOT:features.adoc#user-registration[user registration].
+The xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService] uses this service in order to generate emails as part of xref:vw:ROOT:features.adoc#user-registration[user registration].
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc
index 2ddfdea..a8f800b 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc
@@ -15,11 +15,11 @@ If the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFa
 
 See also:
 
-* the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] is used to obtain the `Interaction` from which the member executions are published.
+* the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] is used to obtain the `Interaction` from which the member executions are published.
 
 * the xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber] is used to obtain the set of objects modified within the interaction
 
-* the xref:refguide:applib:index/services/metrics/MetricsService.adoc[`MetricsService`] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the xref:refguide:applib:index/services/publishing/spi/EntityChanges.adoc[EntityChanges] object passed through to the xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber].
+* the xref:refguide:applib:index/services/metrics/MetricsService.adoc[MetricsService] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the xref:refguide:applib:index/services/publishing/spi/EntityChanges.adoc[EntityChanges] object passed through to the xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber].
 
 * The services provided by this module combine very well with the xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] and with xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber].
 +
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_010-implementation.adoc
index f1b489e..11ed86d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_010-implementation.adoc
@@ -7,4 +7,4 @@
 
 
 The framework provides a default implementation - `o.a.i.runtimeservices.routing.RoutingServiceDefault` - which will always return the original object provided, or the home page if a `null` or `void` was provided.
-Under the covers this implementation uses the xref:refguide:applib:index/services/homepage/HomePageResolverService.adoc[`HomePageResolverService`].
+Under the covers this implementation uses the xref:refguide:applib:index/services/homepage/HomePageResolverService.adoc[HomePageResolverService].
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_020-examples-and-usage.adoc
index 75e0477..f9e7afc 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/routing/hooks/RoutingService_020-examples-and-usage.adoc
@@ -7,13 +7,13 @@
 
 Unlike most other domain services, the framework will check _all_ available implementations of `RoutingService` to return a route, rather than the first implementation found; in other words it uses the chain-of-responsibility pattern.
 
-Services are called in the order defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation (or equivalent).
+Services are called in the order defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation (or equivalent).
 The route used will be the result of the first implementation checked that declares that it can provide a route.
 
 
 == Related Services
 
-* xref:refguide:applib:index/services/homepage/HomePageResolverService.adoc[`HomePageResolverService`]
+* xref:refguide:applib:index/services/homepage/HomePageResolverService.adoc[HomePageResolverService]
 +
 Used by the default implementation of this service uses the
  to determine where to route actions that return `null` or are declared as `void`.
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_010-implementation.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_010-implementation.adoc
index 4644c0d..fbe4487 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_010-implementation.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_010-implementation.adoc
@@ -6,4 +6,4 @@
 == Implementation
 
 This framework provides a default implementation of `o.a.i.core.runtimeservices.scratchpad.ScratchpadDefault`.
-This is just an xref:refguide:applib:index/annotation/InteractionScope.adoc[`@InteractionScope`]'d wrapper around a `java.util.Map`
+This is just an xref:refguide:applib:index/annotation/InteractionScope.adoc[@InteractionScope]'d wrapper around a `java.util.Map`
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_020-examples-and-usage.adoc
index e2d255c..0da46b9 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/scratchpad/hooks/Scratchpad_020-examples-and-usage.adoc
@@ -4,7 +4,7 @@
 
 == Related Services
 
-* xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[`QueryResultsCache`]
+* xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache]
 +
 is useful for caching the results of expensive method calls.
 It is also
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/sudo/hooks/SudoService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/sudo/hooks/SudoService_020-examples-and-usage.adoc
index 9e4b88c..c388ab1 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/sudo/hooks/SudoService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/sudo/hooks/SudoService_020-examples-and-usage.adoc
@@ -27,11 +27,11 @@ protected void execute(final ExecutionContext ec) {
 
 == Interaction with Shiro
 
-When `sudo(...)` is called the "effective user" is reported by  xref:refguide:applib:index/services/user/UserService.adoc[`UserService`].
+When `sudo(...)` is called the "effective user" is reported by  xref:refguide:applib:index/services/user/UserService.adoc[UserService].
 However, it does _not_ propagate through to the xref:security:ROOT:about.adoc[Shiro security mechanism], which continue to be evaluated according to the permissions of the current user.
 
 This can be a problem in certain use cases.
-For example if running a fixture script (which uses the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory]) from within an implementation of xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[`UserRegistrationService`], this is likely to result in ``HiddenException``s being thrown because there is no effective user.
+For example if running a fixture script (which uses the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory]) from within an implementation of xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService], this is likely to result in ``HiddenException``s being thrown because there is no effective user.
 
 In such cases, permission checking can simply be disabled by specifying `SudoService.ACCESS_ALL_ROLE` as one of the roles.
 For example:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/urlencoding/hooks/UrlEncodingService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/urlencoding/hooks/UrlEncodingService_020-examples-and-usage.adoc
index 4231560..389898a 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/urlencoding/hooks/UrlEncodingService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/urlencoding/hooks/UrlEncodingService_020-examples-and-usage.adoc
@@ -7,7 +7,7 @@
 Defining this functionality as an SPI has two use cases:
 
 * first, (though some browsers support longer strings), there is a limit of 2083 characters for URLs.
-For view model mementos that correspond to large strings (as might occur when serializing a JAXB xref:refguide:applib-ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated view model), the service provides a hook.
+For view model mementos that correspond to large strings (as might occur when serializing a JAXB xref:refguide:applib-ant:XmlRootElement.adoc[@XmlRootElement]-annotated view model), the service provides a hook.
 +
 For example, each memento string could be mapped to a GUID held in some cluster-aware cache.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc
index 8d20643..c769096 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/EmailNotificationService_020-examples-and-usage.adoc
@@ -17,7 +17,7 @@ If necessary, one can be created on the fly using the `InteractionFactory#runAut
 
 The `EmailNotificationService` supports the xref:vw:ROOT:features.adoc#user-registration[user registration] (self sign-up) features of the xref:vw:ROOT:about.adoc[Wicket viewer] whereby a user can sign-up to access an application by providing a valid email address.
 
-* The Wicket viewer will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[`UserRegistrationService`]) is available, and if so will (unless configured not to) expose a sign-up page where the user enters their email address.
+* The Wicket viewer will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService]) is available, and if so will (unless configured not to) expose a sign-up page where the user enters their email address.
 
 * A verification email is sent using this service; the email includes a link back to the running application.
 
@@ -25,14 +25,14 @@ The `EmailNotificationService` supports the xref:vw:ROOT:features.adoc#user-regi
 
 * The role of this service in all of this is to format and send out emails for the initial registration, or for password resets.
 
-The default implementation of this service uses the xref:refguide:applib:index/services/email/EmailService.adoc[`EmailService`], which must be configured in order for user registration to be enabled.
+The default implementation of this service uses the xref:refguide:applib:index/services/email/EmailService.adoc[EmailService], which must be configured in order for user registration to be enabled.
 
 
 == Related Services
 
-The default implementation of this service uses xref:refguide:applib:index/services/email/EmailService.adoc[`EmailService`], which must have been configured/initialized correctly.
+The default implementation of this service uses xref:refguide:applib:index/services/email/EmailService.adoc[EmailService], which must have been configured/initialized correctly.
 
-This service is used by (Apache Isis' default implementation of) xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[`UserRegistrationService`].
+This service is used by (Apache Isis' default implementation of) xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService].
 
 
 == Related Event Classes
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc
index 89deb13..f7bf0b6 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/userreg/hooks/UserRegistrationService_020-examples-and-usage.adoc
@@ -14,7 +14,7 @@ The email service (`EmailServiceDefault`) _does_ require a couple of configurati
 
 === User sign-up
 
-For user sign-up, the xref:vw:ROOT:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[`EmailNotificationService`]) is available, and if so will render a sign-up page where the user enters their email address.
+For user sign-up, the xref:vw:ROOT:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:refguide:applib:index/services/userreg/EmailNotificationService.adoc[EmailNotificationService]) is available, and if so will render a sign-up page where the user enters their email address.
 A verification email is sent (using the aforementioned `EmailNotificationService`) which includes a link back to the running application; this allows the user then to complete their registration process (choose user name, password and so on).
 When the user has provided the additional details, the Wicket viewer calls _this_ service in order to create an account for them, and then logs the user on.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/wrapper/hooks/WrapperFactory_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/wrapper/hooks/WrapperFactory_020-examples-and-usage.adoc
index 03ee983..dd0603d 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/wrapper/hooks/WrapperFactory_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/wrapper/hooks/WrapperFactory_020-examples-and-usage.adoc
@@ -44,13 +44,13 @@ For domain objects (not mixins), the wrapper can be interacted with as follows:
 * any action
 
 Calling any of the above methods may result in a (subclass of) `InteractionException` if the object disallows it.
-For example, if a property is annotated with xref:refguide:applib:index/annotation/ActionLayout.adoc#hidden[`@ActionLayout#hidden`] then a `HiddenException` will be thrown.
-Similarly if an action has a xref:refguide:applib-methods:prefixes.adoc[`validateXxx()`] method and the supplied arguments are invalid then an `InvalidException` will be thrown.
+For example, if a property is annotated with xref:refguide:applib:index/annotation/ActionLayout.adoc#hidden[@ActionLayout#hidden] then a `HiddenException` will be thrown.
+Similarly if an action has a xref:refguide:applib-methods:prefixes.adoc[validateXxx()] method and the supplied arguments are invalid then an `InvalidException` will be thrown.
 
 In addition, the following methods may also be called:
 
-* the xref:refguide:applib-methods:reserved.adoc#title[`title()`] and `toString()` methods
-* any xref:refguide:applib-methods:prefixes.adoc#default[`default...()`], xref:refguide:applib-methods:prefixes.adoc#choices[`choices...()`] or xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`] methods
+* the xref:refguide:applib-methods:reserved.adoc#title[title()] and `toString()` methods
+* any xref:refguide:applib-methods:prefixes.adoc#default[default...()], xref:refguide:applib-methods:prefixes.adoc#choices[choices...()] or xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()] methods
 
 An exception will be thrown if any other methods are thrown.
 
@@ -60,7 +60,7 @@ If the interface is performed (action invoked or property set), then - irrespect
 
 For mixins, the behaviour of the wrapper is similar but simpler.
 Mixin wrappers only apply to actions, and so the wrapper will enforce the hidden/disable/validate rules before executing.
-In addition, any xref:refguide:applib-methods:prefixes.adoc#default[`default...()`], xref:refguide:applib-methods:prefixes.adoc#choices[`choices...()`] or xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`] methods can be called.
+In addition, any xref:refguide:applib-methods:prefixes.adoc#default[default...()], xref:refguide:applib-methods:prefixes.adoc#choices[choices...()] or xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()] methods can be called.
 
 
 == Other Use Cases
@@ -92,7 +92,7 @@ Said another way: interactions are performed "as if" they are through the viewer
 
 One possible use case for the listener API would be to autogenerate documentation, for example a sequence diagram from tests.
 
-Such a feature would probably also use xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`], which builds up an execution call graph of interactions between (wrapped) objects.
+Such a feature would probably also use xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext], which builds up an execution call graph of interactions between (wrapped) objects.
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/xmlsnapshot/hooks/XmlSnapshotService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/xmlsnapshot/hooks/XmlSnapshotService_020-examples-and-usage.adoc
index 1b15f6e..a457264 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/xmlsnapshot/hooks/XmlSnapshotService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/xmlsnapshot/hooks/XmlSnapshotService_020-examples-and-usage.adoc
@@ -134,7 +134,7 @@ provides a mechanism for obtaining a string representations of a single domain o
 is a simple wrapper around standard JAXB functionality for generating both XMLs and XSDs from JAXB-annotated classes.
 +
 Note that there is built-in support for JAXB classes (ie annotated with
-xref:refguide:applib-ant:XmlRootElement.adoc[`@XmlRootElement`]) to be used as view models.
+xref:refguide:applib-ant:XmlRootElement.adoc[@XmlRootElement]) to be used as view models.
 
 
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/util/hooks/ObjectContracts_examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/util/hooks/ObjectContracts_examples-and-usage.adoc
index 0cd2ffa..8b38442 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/util/hooks/ObjectContracts_examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/util/hooks/ObjectContracts_examples-and-usage.adoc
@@ -2,47 +2,54 @@
 :page-partial:
 
 
-== Example
+== Example Usage
 
 For example:
 
 [source,java]
 ----
-import lombok.Getter;
-import lombok.Setter;
+@RequiredArgsConstructor(staticName = "of")
+public static class ComplexNumber implements Comparable<ComplexNumber> {
 
-public class ToDoItem implements Comparable<ToDoItem> {
+    @Getter private final int real;
+    @Getter private final int imaginary;
 
-    @Getter @Setter
-    private boolean complete;
+    private ObjectContracts.ObjectContract<ComplexNumber> contract
+            = ObjectContracts.contract(ComplexNumber.class)
+                .thenUse("real", ComplexNumber::getReal)
+                .thenUse("imaginary", ComplexNumber::getImaginary);
 
-    @Getter @Setter
-    private LocalDate dueBy;
 
-    @Getter @Setter
-    private String description;
+    @Override
+    public boolean equals(Object o) {
+        return contract.equals(this, o);
+    }
 
-    @Getter @Setter
-    private String ownedBy;
+    @Override
+    public int hashCode() {
+        return contract.hashCode(this);
+    }
 
-    public int compareTo(final ToDoItem other) {
-        return ObjectContracts.compare(this, other,
-                    "complete","dueBy","description");
+    @Override
+    public int compareTo(final ComplexNumber other) {
+        return contract.compare(this, other);
     }
 
+    @Override
     public String toString() {
-        return ObjectContracts.toString(this,
-                    "description","complete","dueBy","ownedBy");
+        return contract.toString(this);
     }
 }
 ----
 
-== Usage Notes
+[WARNING]
+====
+There are a number of deprecated methods that identify property names as strings.
+These should _not_ be use, as they use are not type-safe and also use reflection heavily and so impose a performance hit.
+====
 
-=== Performance
+== Usage Notes
 
-CAUTION: This class is only intended for use while prototyping.
-It uses reflection heavily and is not performant.
 
 === Be aware of ORM loading issues
 
@@ -52,7 +59,7 @@ We therefore recommend that you disable
 xref:refguide:config:sections/jdo-datanucleus-conf.adoc#datanucleus.persistenceByReachabilityAtCommit[persistence-by-reachability] by adding:
 
 [source,ini]
-.persistor_datanucleus.properties
+.application.properties
 ----
 datanucleus.persistenceByReachabilityAtCommit=false
 ----
diff --git a/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/README.txt b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/README.txt
new file mode 100644
index 0000000..f58dd07
--- /dev/null
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/README.txt
@@ -0,0 +1 @@
+These files moved from runtimeservices; we should leverage the index instead (and as a way to check against updated class names etc).
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/accept-json.png b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/accept-json.png
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/accept-json.png
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/accept-json.png
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/accept-xml.png b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/accept-xml.png
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/accept-xml.png
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/accept-xml.png
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/facade-choices.png b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/facade-choices.png
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/facade-choices.png
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/facade-choices.png
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/facade-choices.pptx b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/facade-choices.pptx
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/images/ContentNegotiationService/facade-choices.pptx
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/ContentNegotiationService/facade-choices.pptx
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/images/RepresentationService/service-collaborations.png b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/RepresentationService/service-collaborations.png
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/images/RepresentationService/service-collaborations.png
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/RepresentationService/service-collaborations.png
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/images/RepresentationService/service-collaborations.pptx b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/RepresentationService/service-collaborations.pptx
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/images/RepresentationService/service-collaborations.pptx
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/images/RepresentationService/service-collaborations.pptx
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ApplicationFeatureFactory.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ApplicationFeatureFactory.adoc
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ApplicationFeatureFactory.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ApplicationFeatureFactory.adoc
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/AuthenticationSessionProvider.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/AuthenticationSessionProvider.adoc
similarity index 89%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/AuthenticationSessionProvider.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/AuthenticationSessionProvider.adoc
index c5e4a17..cd6060f 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/AuthenticationSessionProvider.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/AuthenticationSessionProvider.adoc
@@ -30,4 +30,4 @@ isisSessionFactory.getCurrentSession().getAuthenticationSession();
 ----
 
 
-If xref:refguide:applib:index/services/sudo/SudoService.adoc[`SudoService`] has been used to temporarily override the user and/or roles, then this service will report the overridden values.
+If xref:refguide:applib:index/services/sudo/SudoService.adoc[SudoService] has been used to temporarily override the user and/or roles, then this service will report the overridden values.
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/CommandDtoServiceInternal.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/CommandDtoServiceInternal.adoc
similarity index 89%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/CommandDtoServiceInternal.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/CommandDtoServiceInternal.adoc
index 4e74082..3e89b5b 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/CommandDtoServiceInternal.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/CommandDtoServiceInternal.adoc
@@ -40,8 +40,8 @@ XML) that represents the __intention__ to invoke an action on a target object (o
 bulk actions).  If an action, it can also be either mixin action or a contributed action.
 <2> Returns a JAXB DTO that represents the intention to edit (set or clear) a property on a target (or possibly many
 targets, for symmetry with actions).
-<3> add the arguments of an action to an `ActionDto`.  This is used when the command is actually executed (per xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`]) to populate the parameters of the equivalent `ActionInvocationDto`.
-<4> add the new value argument of a property to a `PropertyDto`.  This is used when the command is actually executed (per xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`]) to set the the new value of the equivalent `PropertyEditDto`.
+<3> add the arguments of an action to an `ActionDto`.  This is used when the command is actually executed (per xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext]) to populate the parameters of the equivalent `ActionInvocationDto`.
+<4> add the new value argument of a property to a `PropertyDto`.  This is used when the command is actually executed (per xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext]) to set the the new value of the equivalent `PropertyEditDto`.
 
 
 The SPI is implemented by `o.a.i.c.r.s.command.CommandDtoServiceInternalServiceDefault`.
@@ -50,5 +50,5 @@ The SPI is implemented by `o.a.i.c.r.s.command.CommandDtoServiceInternalServiceD
 == Related Services
 
 The design of this service is similar to that of
-xref:core:runtime-services:InteractionDtoServiceInternal.adoc[`InteractionDtoServiceInternal`], used to create the
+xref:core:runtime-services:InteractionDtoServiceInternal.adoc[InteractionDtoServiceInternal], used to create the
 `MemberExecutionDto` (from the xref:refguide:schema:ixn.adoc["ixn" schema]).
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/CommandPublisher.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/CommandPublisher.adoc
similarity index 93%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/CommandPublisher.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/CommandPublisher.adoc
index 3d79bbd..4c71d79 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/CommandPublisher.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/CommandPublisher.adoc
@@ -5,7 +5,7 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The `CommandPublisher` service is an internal service whose responsibility is simply to notify all known xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[`CommandSubscriber`] when the `Command` has completed.
+The `CommandPublisher` service is an internal service whose responsibility is simply to notify all known xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] when the `Command` has completed.
 
 == Related Classes
 
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ContentNegotiationService.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ContentNegotiationService.adoc
similarity index 95%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ContentNegotiationService.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ContentNegotiationService.adoc
index 7e7bab3..4584f26 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ContentNegotiationService.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ContentNegotiationService.adoc
@@ -26,7 +26,7 @@ If the underlying tables change (as the result of a change in their correspondin
 +
 The `ContentNegotiationService` is responsible for inspecting the HTTP `Accept` header, and use this to select the correct representation to render.  +
 +
-The Apache Isis framework provides three implementations of `ContentNegotiationService` which inspects different elements of the HTTP `Accept` header.  One of these implementations, `ContentNegotiationServiceXRoDomainType` will further delegate down to the companion xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] service (if configured/available), based on the value of the "x-ro-domain-type" parameter of the header. +
+The Apache Isis framework provides three implementations of `ContentNegotiationService` which inspects different elements of the HTTP `Accept` header.  One of these implementations, `ContentNegotiationServiceXRoDomainType` will further delegate down to the companion xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] service (if configured/available), based on the value of the "x-ro-domain-type" parameter of the header. +
 +
 A typical implementation of `ContentMappingService` will convert the domain object into some sort of DTO (data transfer object) as specified by the "x-ro-domaintype".  If this DTO is annotated with JAXB or Jackson mappings, then the RO viewer (courtesy of the underlying link:http://resteasy.jboss.org/[RestEasy] framework) can serialize these directly. +
 +
@@ -113,7 +113,7 @@ As discussed in the introduction, the framework also provides three implementati
 ** `application/xml;profile=urn:org.restfulobjects:repr-types/action-result;x-ro-domain-type=...`
 
 
-The value of the `x-ro-domain-type` parameter corresponds to the DTO to be mapped into by the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`].
+The value of the `x-ro-domain-type` parameter corresponds to the DTO to be mapped into by the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService].
 
 If the DTO is annotated with JAXB, then also note that the runtime type must be annotated with the JAXB `javax.xml.bind.annotation.XmlRootElement` so that RestEasy is able to unambiguously serialize it.
 
@@ -195,12 +195,12 @@ If the property is not set, then the default depends on the xref:refguide:config
 
 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 Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation (as explained in the xref:refguide:applib-svc:about.adoc#overriding-the-services[introduction] to this guide).
+To use an alternative implementation, use Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation (as explained in the xref:refguide:applib-svc:about.adoc#overriding-the-services[introduction] to this guide).
 
 
 
 == Related Services
 
-The default implementation of `ContentNegotiationService` delegates to xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] (if present) to convert domain entities into a stable form (eg DTO).
+The default implementation of `ContentNegotiationService` delegates to xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] (if present) to convert domain entities into a stable form (eg DTO).
 
-The `ContentNegotiationService` is itself called by the (default implementation of) xref:core:runtime-services:RepresentationService.adoc[`RepresentationService`].
+The `ContentNegotiationService` is itself called by the (default implementation of) xref:core:runtime-services:RepresentationService.adoc[RepresentationService].
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityChangeTracker.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityChangeTracker.adoc
similarity index 87%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityChangeTracker.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityChangeTracker.adoc
index 8fd3788..ab9ce02 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityChangeTracker.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityChangeTracker.adoc
@@ -5,7 +5,7 @@
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
 The `EntityChangeTracker` class is an (internal) request-scoped domain service that is responsible for collecting the details of all changes to domain objects within an interaction.
-This is then used by various other  (internal) domain services, notably xref:core:runtime-services:AuditerDispatchService.adoc[`AuditerDispatchService`] and xref:core:runtime-services:PublisherDispatchService.adoc[`PublisherDispatchService`].
+This is then used by various other  (internal) domain services, notably xref:core:runtime-services:AuditerDispatchService.adoc[AuditerDispatchService] and xref:core:runtime-services:PublisherDispatchService.adoc[PublisherDispatchService].
 
 
 
@@ -34,9 +34,9 @@ public class ChangedObjectsService {
 ----
 <.> Enlists an object that has just been created, updated or deleted, capturing the pre-modification values of the properties.
 <.> Used by the framework to determine whether to send the completed `Command` to xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber], for example so that it can be persisted).
-<.> Used by xref:core:runtime-services:PublisherDispatchService.adoc[`PublisherDispatchService`] to obtain details of and
+<.> Used by xref:core:runtime-services:PublisherDispatchService.adoc[PublisherDispatchService] to obtain details of and
 counters of all objects changed within the transaction.
-<.> Used by xref:core:runtime-services:AuditerDispatchService.adoc[`AuditerDispatchService`] to obtain all pairs of
+<.> Used by xref:core:runtime-services:AuditerDispatchService.adoc[AuditerDispatchService] to obtain all pairs of
 pre/post values of changed properties
 <.> Called by the framework to for clean up after auditing and publishing has completed.
 
@@ -57,4 +57,4 @@ Apache Isis' default implementation of `EntityChangeTracker` class is automatica
 
 == Related Classes
 
-Both the xref:core:runtime-services:AuditerDispatchService.adoc[`AuditerDispatchService`] and xref:core:runtime-services:PublisherDispatchService.adoc[`PublisherDispatchService`] (internal) domain services query this object.
+Both the xref:core:runtime-services:AuditerDispatchService.adoc[AuditerDispatchService] and xref:core:runtime-services:PublisherDispatchService.adoc[PublisherDispatchService] (internal) domain services query this object.
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityChangesPublisher.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityChangesPublisher.adoc
similarity index 84%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityChangesPublisher.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityChangesPublisher.adoc
index 4b3787b..8d04219 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityChangesPublisher.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityChangesPublisher.adoc
@@ -4,9 +4,9 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The (internal) `EntityChangesPublisher` service acts as an internal facade to any configured xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[`EntityChangesSubscriber`] domain service(s).
+The (internal) `EntityChangesPublisher` service acts as an internal facade to any configured xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber] domain service(s).
 
-For changing entities, it provides an API for the framework to call at the end of the interaction; it obtains details of the changed entities (from the xref:core:runtime-services:ChangedObjectsService.adoc[`ChangedObjectsService`]) and filters them to just those objects that are to be published; these are then passed through to any configured `EntityChangesSubscriber` implementations.
+For changing entities, it provides an API for the framework to call at the end of the interaction; it obtains details of the changed entities (from the xref:core:runtime-services:ChangedObjectsService.adoc[ChangedObjectsService]) and filters them to just those objects that are to be published; these are then passed through to any configured `EntityChangesSubscriber` implementations.
 
 
 == SPI and Implementation
@@ -21,7 +21,7 @@ public class EntityChangesPublisher {
 
 }
 ----
-<1> to published all changing entities that are to be published (with the xref:refguide:applib:index/annotation/DomainObject.adoc#publishing[`@DomainObject#publishing`] annotation attribute or equivalent).
+<1> to published all changing entities that are to be published (with the xref:refguide:applib:index/annotation/DomainObject.adoc#publishing[@DomainObject#publishing] annotation attribute or equivalent).
 
 == Related Classes
 
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityPropertyChangePublisher.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityPropertyChangePublisher.adoc
similarity index 86%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityPropertyChangePublisher.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityPropertyChangePublisher.adoc
index 41f9cce..fca5c31 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/EntityPropertyChangePublisher.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/EntityPropertyChangePublisher.adoc
@@ -4,7 +4,7 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The (internal) `EntityPropertyChangePublisher` service acts as an internal facade to any registered xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[`EntityPropertyChangeSubscriber`] service(s).
+The (internal) `EntityPropertyChangePublisher` service acts as an internal facade to any registered xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] service(s).
 It is responsible for obtaining the details of all changes to domain objects within an interaction, and then to call the configured ``EntityPropertyChangeSubscriber``(s) to actually create audit entries of those changes.
 
 
@@ -20,7 +20,7 @@ public interface EntityPropertyChangePublisher {
     void publishEntityPropertyChanges(...);  // <1>
 }
 ----
-<1> uses the xref:core:runtime-services:ChangedObjectsService.adoc[`ChangedObjectsServiceInternal`] to obtain details of the changed properties, then call the configured xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber](s).
+<1> uses the xref:core:runtime-services:ChangedObjectsService.adoc[ChangedObjectsServiceInternal] to obtain details of the changed properties, then call the configured xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber](s).
 
 == Registering the Service
 
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ExecutionPublisher.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ExecutionPublisher.adoc
similarity index 82%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ExecutionPublisher.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ExecutionPublisher.adoc
index 4e0a2c9..1395a29 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/ExecutionPublisher.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/ExecutionPublisher.adoc
@@ -4,11 +4,11 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The (internal) `ExecutionPublisher` domain service acts as an internal facade to any configured xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[`ExecutionSubscriber`] domain service(s).
+The (internal) `ExecutionPublisher` domain service acts as an internal facade to any configured xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] domain service(s).
 
 For published action invocations/ property edits, it provides an API for those member executions to call.
 
-For published objects, it provides an API for the framework to call at the end of the interaction; it obtains details of the changed objects (from the xref:core:runtime-services:ChangedObjectsService.adoc[`ChangedObjectsServiceInternal`]) and filters them to just those objects that are to be published; these are then passed through to any configured `ExecutionSubscriber` implementations.
+For published objects, it provides an API for the framework to call at the end of the interaction; it obtains details of the changed objects (from the xref:core:runtime-services:ChangedObjectsService.adoc[ChangedObjectsServiceInternal]) and filters them to just those objects that are to be published; these are then passed through to any configured `ExecutionSubscriber` implementations.
 
 
 == SPI and Implementation
@@ -26,9 +26,9 @@ public interface ExecutionPublisher {
 }
 ----
 <1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:refguide:applib:index/annotation/Action.adoc#executionPublishing[@Action#executionPublishing] annotation attribute or equivalent, to any configured xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
-The `Execution` object will be an instance of `ActionInvocation` (see xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] for details).
-<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:refguide:applib:index/annotation/Property.adoc#publishing[`@Property#executionPublishing`] annotation attribute or equivalent, to any configured xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
-The `Execution` object will be an instance of `PropertyEdit` (see xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] for details).
+The `Execution` object will be an instance of `ActionInvocation` (see xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] for details).
+<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:refguide:applib:index/annotation/Property.adoc#publishing[@Property#executionPublishing] annotation attribute or equivalent, to any configured xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
+The `Execution` object will be an instance of `PropertyEdit` (see xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] for details).
 
 == Related Classes
 
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/InteractionDtoServiceInternal.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/InteractionDtoServiceInternal.adoc
similarity index 94%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/InteractionDtoServiceInternal.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/InteractionDtoServiceInternal.adoc
index 1dc51b9..7ba98ae 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/InteractionDtoServiceInternal.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/InteractionDtoServiceInternal.adoc
@@ -5,7 +5,7 @@
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
 
-The `InteractionDtoServiceInternal` internal domain service is used by the framework to create and update DTOs representing member executions, ie the invocation of an action or the editing of a property.  The DTO is in all cases a subclass of `MemberExecutionDto`, from the xref:refguide:schema:ixn.adoc["ixn" schema], and subsequently accessible from the `Interaction` object (per the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] service).
+The `InteractionDtoServiceInternal` internal domain service is used by the framework to create and update DTOs representing member executions, ie the invocation of an action or the editing of a property.  The DTO is in all cases a subclass of `MemberExecutionDto`, from the xref:refguide:schema:ixn.adoc["ixn" schema], and subsequently accessible from the `Interaction` object (per the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] service).
 
 
 == SPI & Implementation
@@ -39,5 +39,5 @@ The service is implemented by `o.a.i.core.runtime.services.ixn.InteractionDtoSer
 == Related Services
 
 The design of this service is similar to that of
-xref:core:runtime-services:CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`], used to create the `CommandDto`
+xref:core:runtime-services:CommandDtoServiceInternal.adoc[CommandDtoServiceInternal], used to create the `CommandDto`
 (from the xref:refguide:schema:cmd.adoc["cmd" schema]).
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/PersistenceSessionServiceInternal.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/PersistenceSessionServiceInternal.adoc
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/PersistenceSessionServiceInternal.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/PersistenceSessionServiceInternal.adoc
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/RepresentationService.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/RepresentationService.adoc
similarity index 83%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/RepresentationService.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/RepresentationService.adoc
index e84475d..42746ad 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/RepresentationService.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/RepresentationService.adoc
@@ -8,10 +8,10 @@ WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 The `RepresentationService` is the main plug-in point for the xref:vro:ROOT:about.adoc[RestfulObjects viewer] to generate representations.
 
 The default implementations ultimately generate representations according to the link:http://restfulobjects.org[Restful Objects spec] v1.0.
-However, it also delegates to the xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`] which provides a mechanism for altering representations according to the HTTP `Accept` header.
+However, it also delegates to the xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService] which provides a mechanism for altering representations according to the HTTP `Accept` header.
 This allows more flexible representations to be generated for REST clients that (perhaps through their use of a certain Javascript library, say) expect, or at least works best with, a certain style of representation.
 
-In all there are three domain services that can influence the representations generated: this service, xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`] and the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`].
+In all there are three domain services that can influence the representations generated: this service, xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService] and the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService].
 The diagram below shows how these collaborate:
 
 image::RepresentationService/service-collaborations.png[width="700px"]
@@ -77,9 +77,9 @@ ie `MemberReprMode`
 == Implementation
 
 As discussed in the introduction, the framework provides a default implementation, `o.a.i.v.ro.rendering.service.RepresentationServiceContentNegotiator`.
-This delegates to xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`] to generate an alternative representation; but if none is provided then it falls back on generating the representations as defined in the link:http://restfulobjects.org[Restful Objects spec] v1.0.
+This delegates to xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService] to generate an alternative representation; but if none is provided then it falls back on generating the representations as defined in the link:http://restfulobjects.org[Restful Objects spec] v1.0.
 
-To use an alternative implementation, use Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation (as explained in the xref:refguide:applib-svc:about.adoc#overriding-the-services[introduction] to this guide).
+To use an alternative implementation, use Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation (as explained in the xref:refguide:applib-svc:about.adoc#overriding-the-services[introduction] to this guide).
 
 
 == Registering the Services
@@ -90,4 +90,4 @@ Apache Isis' default implementation of `RepresentationService` service is automa
 
 == Related Services
 
-The default implementation delegates to xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`], whose default implementation may delegate in turn to xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] (if present).
+The default implementation delegates to xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService], whose default implementation may delegate in turn to xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] (if present).
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/pages/about.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/about.adoc
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/pages/about.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/pages-to-update/about.adoc
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_application-layer.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_application-layer.adoc
similarity index 93%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_application-layer.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_application-layer.adoc
index 4fd804c..2e134f4 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_application-layer.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_application-layer.adoc
@@ -37,8 +37,8 @@ Impl'n (g: a:)
 `CommandDtoServiceInternal`]
 |Creates memento of current action invocation, for use as a serializable XML reified command.  The
 most notable usage of this is to allow the execution of the `Command` to be deferred to run in the background (via
-xref:refguide:applib:index/annotation/Action.adoc#command[`@Action#commandExecuteIn()`] or
-xref:refguide:applib:index/annotation/Property.adoc#command[`@Property#commandExecuteIn()`].
+xref:refguide:applib:index/annotation/Action.adoc#command[@Action#commandExecuteIn()] or
+xref:refguide:applib:index/annotation/Property.adoc#command[@Property#commandExecuteIn()].
 |`CommandDtoService-` +
 `InternalServiceDefault` +
 ``isis-core-runtime``
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_persistence-layer.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_persistence-layer.adoc
similarity index 89%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_persistence-layer.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_persistence-layer.adoc
index 4859e8e..67d5c1e 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_persistence-layer.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_persistence-layer.adoc
@@ -27,8 +27,8 @@ Impl'n (g: a:)
 |xref:core:runtime-services:AuditerDispatchService.adoc[`o.a.i.c.r.s.auditing.` +
 `AuditerDispatchService`]
 |Co-ordinates between
-xref:core:runtime-services:ChangedObjectsService.adoc[`ChangedObjectsServiceInternal`] and
-xref:core:runtime-services:AuditerService.adoc[`AuditerService`].
+xref:core:runtime-services:ChangedObjectsService.adoc[ChangedObjectsServiceInternal] and
+xref:core:runtime-services:AuditerService.adoc[AuditerService].
 |concrete class.
 |
 
@@ -54,8 +54,8 @@ querying and for persisting objects.
 |xref:core:runtime-services:PublisherDispatchService.adoc[`o.a.i.c.m.s.publishing.` +
 `PublisherDispatchService`]
 |Co-ordinates between
-xref:core:runtime-services:ChangedObjectsService.adoc[`ChangedObjectsServiceInternal`] and
-xref:refguide:applib:index/services/metrics/MetricsService.adoc[`MetricsService`] and the SPI services, and the
+xref:core:runtime-services:ChangedObjectsService.adoc[ChangedObjectsServiceInternal] and
+xref:refguide:applib:index/services/metrics/MetricsService.adoc[MetricsService] and the SPI services, and the
 xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
 |`PublishingService-` +
 `InternalDefault` +
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_presentation-layer.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_presentation-layer.adoc
similarity index 92%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_presentation-layer.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_presentation-layer.adoc
index 8f17514..9c3af55 100644
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/_presentation-layer.adoc
+++ b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/_presentation-layer.adoc
@@ -27,7 +27,7 @@ Impl'n (g: a:)
 |xref:core:runtime-services:ContentNegotiationService.adoc[`o.a.i.v.ro.` +
 `rendering.service.conneg.` +
 `ContentNegotiationService`]
-|Encodes the algorithm that delegates to any registered xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`]s.
+|Encodes the algorithm that delegates to any registered xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService]s.
 |`ContentNegotiationService-` +
 `XRoDomainType` +
 ``o.a.i.core`` +
@@ -38,7 +38,7 @@ Impl'n (g: a:)
 |xref:core:runtime-services:RepresentationService.adoc[`o.a.i.v.ro.` +
 `rendering.service.` +
 `RepresentationService`]
-|Generates the representations, delegating to any registered xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`]s.
+|Generates the representations, delegating to any registered xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService]s.
 |`RepresentationService-` +
 `ForRestfulObjects` +
 ``o.a.i.core`` +
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/partials/module-nav.adoc b/antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/module-nav.adoc
similarity index 100%
rename from core/runtimeservices/src/main/adoc/modules/runtime-services/partials/module-nav.adoc
rename to antora/components/refguide-index/modules/core/pages/index/runtimeservices/hooks/partials/module-nav.adoc
diff --git a/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModuleJdoDatanucleus.adoc b/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModuleJdoDatanucleus.adoc
index 70d5efe..ef5f511 100644
--- a/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModuleJdoDatanucleus.adoc
+++ b/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModuleJdoDatanucleus.adoc
@@ -8,7 +8,7 @@
 ----
 class IsisModuleJdoDatanucleus {
   DnJdoDialect getDnJdoDialect(final DataSource dataSource)     // <.>
-  LocalPersistenceManagerFactoryBean getLocalPersistenceManagerFactoryBean(final IsisConfiguration isisConfiguration, final DataSource dataSource, final MetaModelContext metaModelContext, final EventBusService eventBusService, final Provider<EntityChangeTracker> entityChangeTrackerProvider, final DnSettings dnSettings)
+  LocalPersistenceManagerFactoryBean getLocalPersistenceManagerFactoryBean(final IsisConfiguration isisConfiguration, final DataSource dataSource, final MetaModelContext metaModelContext, final EventBusService eventBusService, final Provider<EntityChangeTracker> entityChangeTrackerProvider, final IsisBeanTypeRegistry beanTypeRegistry, final DnSettings dnSettings)
   TransactionAwarePersistenceManagerFactoryProxy getTransactionAwarePersistenceManagerFactoryProxy(final LocalPersistenceManagerFactoryBean localPmfBean)
   JdoTransactionManager getTransactionManager(final JdoDialect jdoDialect, final LocalPersistenceManagerFactoryBean localPmfBean)
   TransactionInterceptorFactory getTransactionInterceptorFactory()     // <.>
diff --git a/antora/components/refguide/modules/applib-ant/pages/Column.adoc b/antora/components/refguide/modules/applib-ant/pages/Column.adoc
index f76b2fb..df6cc78 100644
--- a/antora/components/refguide/modules/applib-ant/pages/Column.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/Column.adoc
@@ -34,7 +34,7 @@ public class Customer {
     public void setMiddleInitial(String middleInitial) { /* ... */ }
 ----
 
-Isis also provides xref:refguide:applib:index/annotation/Property.adoc#optionality[`@Property#optionality`] attribute.
+Isis also provides xref:refguide:applib:index/annotation/Property.adoc#optionality[@Property#optionality] attribute.
 If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
 
 You should also be aware that in the lack of either the `@Column#allowsNull` or the `@Property#optionality` attributes, that the JDO and Apache Isis defaults differ.
@@ -43,7 +43,7 @@ JDO on the other hand specifies that only primitive types are mandatory; everyth
 Therefore a lack of either annotation can also trigger the fail-fast validation check.
 
 In the vast majority of cases you should be fine just to add the `@Column#allowsNull` attribute to the getter.
-But see the documentation for xref:refguide:applib:index/annotation/Property.adoc#optionality[`@Property#optionality`] attribute for discussion on one or two minor edge cases.
+But see the documentation for xref:refguide:applib:index/annotation/Property.adoc#optionality[@Property#optionality] attribute for discussion on one or two minor edge cases.
 
 [#length-for-strings]
 == Length for ``String``s
@@ -66,7 +66,7 @@ public class Customer {
     public void setLastName(String lastName) { /* ... */ }
 ----
 
-Apache Isis also provides xref:refguide:applib:index/annotation/Property.adoc#maxLength[`@Property#maxLength`] attribute.
+Apache Isis also provides xref:refguide:applib:index/annotation/Property.adoc#maxLength[@Property#maxLength] attribute.
 If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
 
 [#lengthscale-for-bigdecimals]
@@ -84,7 +84,7 @@ public class Customer {
     public void setTotalOrdersToDate(BigDecimal totalOrdersToDate) { /* ... */ }
 ----
 
-For ``BigDecimal``s it is also possible to specify the xref:refguide:applib-ant:Digits.adoc[`@Digits`] annotation, whose form is `@Digits(integer, fraction)`.
+For ``BigDecimal``s it is also possible to specify the xref:refguide:applib-ant:Digits.adoc[@Digits] annotation, whose form is `@Digits(integer, fraction)`.
 There is a subtle difference here: while `@Column#scale()` corresponds to `@Digits#fraction()`, the value of `@Column#length()` (ie the precision) is actually the __sum__ of the `@Digits`' `integer()` and `fraction()` parts.
 
 If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
@@ -118,7 +118,7 @@ public class PartyRelationship {
 
 === Mapping ``Blob``s and ``Clob``s
 
-Isis provides custom value types for xref:applib-classes:value-types.adoc#Blob[`Blob`]s and xref:applib-classes:value-types.adoc#Clob[`Clob`]s.
+Isis provides custom value types for xref:applib-classes:value-types.adoc#Blob[Blob]s and xref:applib-classes:value-types.adoc#Clob[Clob]s.
 These value types have multiple internal fields, meaning that they corresponding to multiple columns in the database.
 Mapping this correctly requires using  `@Column` within JDO's `@Persistent` annotation.
 
diff --git a/antora/components/refguide/modules/applib-ant/pages/Digits.adoc b/antora/components/refguide/modules/applib-ant/pages/Digits.adoc
index 73e92a0..9d362fa 100644
--- a/antora/components/refguide/modules/applib-ant/pages/Digits.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/Digits.adoc
@@ -27,7 +27,7 @@ public void setCost(final BigDecimal cost) {
         :null;
 }
 ----
-<.> the xref:refguide:applib-ant:Column.adoc[`@Column#scale`] attribute must be ...
+<.> the xref:refguide:applib-ant:Column.adoc[@Column#scale] attribute must be ...
 <.> ... consistent with `@Digits#fraction()`
 <.> the correct idiom when setting a new value is to normalized to the correct scale
 
diff --git a/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc b/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc
index c1d7d54..7bf2433 100644
--- a/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/Discriminator.adoc
@@ -23,11 +23,11 @@ This value is used internally to generate a string representation of an objects
 This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
-(see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`])
+(see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer]
-* in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService]
 
 == Examples
 
@@ -47,9 +47,9 @@ has an object type of `custmgmt.Customer`.
 
 The rules of precedence for determining a domain object's object type are:
 
-1. xref:refguide:applib-ant:Discriminator.adoc[`@Discriminator`]
+1. xref:refguide:applib-ant:Discriminator.adoc[@Discriminator]
 2. `@DomainObject#objectType`
-3. xref:refguide:applib-ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref:refguide:applib-ant:PersistenceCapable.adoc[@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/antora/components/refguide/modules/applib-ant/pages/Nullable.adoc b/antora/components/refguide/modules/applib-ant/pages/Nullable.adoc
index 75a7b18..6bdb282 100644
--- a/antora/components/refguide/modules/applib-ant/pages/Nullable.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/Nullable.adoc
@@ -31,15 +31,15 @@ public Customer updateName(@javax.annotation.Nullable final String name) {
 ----
 
 Apache Isis does provide several other ways to specify optionality: using the
-xref:refguide:applib:index/annotation/Property.adoc#optionality[`@Property#optionality()`] /
-xref:refguide:applib:index/annotation/Parameter.adoc#optionality[`@Parameter#optionality()`] annotation.
-For properties, the optionality can also be inferred from the xref:refguide:applib-ant:Column.adoc#nullability[`@Column#allowsNull()`] attribute.
+xref:refguide:applib:index/annotation/Property.adoc#optionality[@Property#optionality()] /
+xref:refguide:applib:index/annotation/Parameter.adoc#optionality[@Parameter#optionality()] annotation.
+For properties, the optionality can also be inferred from the xref:refguide:applib-ant:Column.adoc#nullability[@Column#allowsNull()] attribute.
 
 [TIP]
 ====
 See the
-xref:refguide:applib:index/annotation/Property.adoc#optionality[`@Property#optionality()`] documentation for a much fuller discussion on the relationship between using the Apache Isis annotations vs
-xref:refguide:applib-ant:Column.adoc#nullability[`@Column#allowsNull()`].
+xref:refguide:applib:index/annotation/Property.adoc#optionality[@Property#optionality()] documentation for a much fuller discussion on the relationship between using the Apache Isis annotations vs
+xref:refguide:applib-ant:Column.adoc#nullability[@Column#allowsNull()].
 ====
 
 If more than one method is specified then the framework will validate that there are no incompatibilities (and fail to boot otherwise).
diff --git a/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc b/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc
index e1b834c..9b75d03 100644
--- a/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/PersistenceCapable.adoc
@@ -22,11 +22,11 @@ This value is used internally to generate a string representation of an objects
 This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
-(see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`])
+(see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer]
-* in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:refguide:applib:index/services/xmlsnapshot/XmlSnapshotService.adoc[XmlSnapshotService]
 
 
 The actual format of the object type used by Apache Isis for the concatenation of `schema()` and `@PersistenceCapable#table()`.
@@ -72,9 +72,9 @@ does _not_ correspond to an object type, because the `schema` attribute is missi
 
 The rules of precedence for determining a domain object's object type are:
 
-1. xref:refguide:applib-ant:Discriminator.adoc[`@Discriminator`]
+1. xref:refguide:applib-ant:Discriminator.adoc[@Discriminator]
 2. `@DomainObject#objectType`
-3. xref:refguide:applib-ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref:refguide:applib-ant:PersistenceCapable.adoc[@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/antora/components/refguide/modules/applib-ant/pages/PrimaryKey.adoc b/antora/components/refguide/modules/applib-ant/pages/PrimaryKey.adoc
index 015fbdc..9f0550c 100644
--- a/antora/components/refguide/modules/applib-ant/pages/PrimaryKey.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/PrimaryKey.adoc
@@ -7,7 +7,7 @@
 
 The `@javax.jdo.annotation.PrimaryKey` annotation is used by JDO/DataNucleus to indicate that a property is used as the primary key for an entity with application-managed identity.
 
-Apache Isis also uses this annotation in a very minimal way: to ensure that the framework's own logic to initialize newly instantiated objects (eg using xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService#create(...)`] does not touch the primary key, and also to ensure that the primary key property is always disabled (read-only).
+Apache Isis also uses this annotation in a very minimal way: to ensure that the framework's own logic to initialize newly instantiated objects (eg using xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService#create(...)] does not touch the primary key, and also to ensure that the primary key property is always disabled (read-only).
 
 [NOTE]
 ====
diff --git a/antora/components/refguide/modules/applib-ant/pages/XmlJavaTypeAdapter.adoc b/antora/components/refguide/modules/applib-ant/pages/XmlJavaTypeAdapter.adoc
index bd2fac3..c94f374 100644
--- a/antora/components/refguide/modules/applib-ant/pages/XmlJavaTypeAdapter.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/XmlJavaTypeAdapter.adoc
@@ -8,7 +8,7 @@ The JAXB `@XmlJavaTypeAdapter` annotation is used with the framework-provided
 `PersistentEntityAdapter` to instruct JAXB to serialize references to persistent entities using the canonical
 `OidDto` complex type: the object's type and its identifier.
 This is the formal XML equivalent to the `Bookmark`
-provided by the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`].
+provided by the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
 
 For example:
 
diff --git a/antora/components/refguide/modules/applib-ant/pages/XmlRootElement.adoc b/antora/components/refguide/modules/applib-ant/pages/XmlRootElement.adoc
index b01fe30..a89869e 100644
--- a/antora/components/refguide/modules/applib-ant/pages/XmlRootElement.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/XmlRootElement.adoc
@@ -11,12 +11,12 @@ In the case of a JAXB-annotated object this memento is its XML representation.
 JAXB generally requires that the root element of the XML representation is annotated with `@XmlRootElement`.
 Apache Isis makes this a mandatory requirement.
 
-In comparison to using either the xref:applib-classes:ViewModel.adoc[`ViewModel`] interface or the
-xref:refguide:applib-ant:ViewModel.adoc[`@DomainObject(nature=VIEW_MODEL)`] annotation,
+In comparison to using either the xref:applib-classes:ViewModel.adoc[ViewModel] interface or the
+xref:refguide:applib-ant:ViewModel.adoc[@DomainObject(nature=VIEW_MODEL)] annotation,
 using `@XmlRootElement` has a couple of significant advantages:
 
 * the view model can be used as a "canonical" DTO, for example when accessing data using the xref:vro:ROOT:about.adoc[RestfulObjects viewer] in combination with the
-xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`].
+xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService].
 +
 This provides a stable and versioned API to access data in XML format using whatever client-side technology may be appropriate.
 
@@ -25,13 +25,13 @@ This provides a stable and versioned API to access data in XML format using what
 In contrast, if the `@DomainObject(nature=VIEW_MODEL)` annotation is used then only the state of the properties (not collections) is captured.
 If using `ViewModel` interface then arbitrary state (including that of collections), however the programmer must write all the code by hand
 
-The main disadvantages of using JAXB-annotated view models is that any referenced persistent entity must be annotated with the xref:refguide:applib-ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], using the framework-provided `PersistentEntityAdapter`.
+The main disadvantages of using JAXB-annotated view models is that any referenced persistent entity must be annotated with the xref:refguide:applib-ant:XmlJavaTypeAdapter.adoc[@XmlJavaTypeAdapter], using the framework-provided `PersistentEntityAdapter`.
 This adapter converts any references to such domain entities using the `oidDto` complex type (as defined by the Apache Isis xref:refguide:schema:common.adoc[common schema]): the object's type and its identifier.
 
 [TIP]
 ====
 The memento string for view models is converted into a form compatible with use within a URL.
-This is performed by the xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[`UrlEncodingService`], the default implementation of which simply encodes to base 64. If the view model XML graph is too large to be serialized to a string, then an alternative implementation (eg which maps XML strings to a GUID, say) can be configured using the technique described in xref:userguide:btb:about.adoc#replacing-default-service-implementations[here] in the user guide.
+This is performed by the xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[UrlEncodingService], the default implementation of which simply encodes to base 64. If the view model XML graph is too large to be serialized to a string, then an alternative implementation (eg which maps XML strings to a GUID, say) can be configured using the technique described in xref:userguide:btb:about.adoc#replacing-default-service-implementations[here] in the user guide.
 ====
 
 == Example
@@ -59,7 +59,7 @@ public class ToDoItemDto implements Dto {
 
 Although (like any other viewmodel) a JAXB-annotated can have behaviour (actions) and UI hints, you may wish to keep the DTO "clean", just focused on specifying the data contract.
 
-Behaviour can therefore be provided using xref:userguide:fun:overview.adoc#mixins[mixins] (annotated with xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject(nature=MIXIN)`]), while xref:applib-classes:classes/uievent.adoc[UI events] can be used to obtain title, icons and so on.
+Behaviour can therefore be provided using xref:userguide:fun:overview.adoc#mixins[mixins] (annotated with xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject(nature=MIXIN)]), while xref:applib-classes:classes/uievent.adoc[UI events] can be used to obtain title, icons and so on.
 
 For a more complete discussion of writing JAXB view models/DTOs, see xref:userguide:fun:overview.adoc#view-models[this topic] in the user guide.
 
diff --git a/antora/components/refguide/modules/applib-ant/pages/about/jdo.adoc b/antora/components/refguide/modules/applib-ant/pages/about/jdo.adoc
index 754b7f5..e6c4142 100644
--- a/antora/components/refguide/modules/applib-ant/pages/about/jdo.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/about/jdo.adoc
@@ -28,7 +28,7 @@ The table below lists the xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] annotations
 `Discriminator`]
 |Override for the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere. +
 
-Note that the discriminator overrides the object type that may otherwise be inferred from the xref:refguide:applib-ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation.
+Note that the discriminator overrides the object type that may otherwise be inferred from the xref:refguide:applib-ant:PersistenceCapable.adoc[@PersistenceCapable] annotation.
 |Domain / persistence
 |Class
 
@@ -46,7 +46,7 @@ Note that the discriminator overrides the object type that may otherwise be infe
 `PersistenceCapable`]
 |Used to build Apache Isis' own internal identifier for objects. +
 
-If the `schema` attribute is specified (and if xref:refguide:applib-ant:Discriminator.adoc[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere.
+If the `schema` attribute is specified (and if xref:refguide:applib-ant:Discriminator.adoc[@Discriminator] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere.
 
 |Domain / persistence
 |Class
diff --git a/antora/components/refguide/modules/applib-ant/pages/about/jee.adoc b/antora/components/refguide/modules/applib-ant/pages/about/jee.adoc
index 07fa4ed..2330412 100644
--- a/antora/components/refguide/modules/applib-ant/pages/about/jee.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/about/jee.adoc
@@ -49,7 +49,7 @@ The table below lists the JEE annotations currently recognized.  Expect to see m
 |xref:refguide:applib-ant:XmlJavaTypeAdapter.adoc[`javax.xml.bind` +
 `.annotation` +
 `XmlJavaTypeAdapter`]
-|JAXB annotation defining how to serialize an entity.  Used in conjunction with the (framework provided) `PersistentEntityAdapter` class to serialize persistent entities into a canonical OID (equivalent to the `Bookmark` provided by the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`]).
+|JAXB annotation defining how to serialize an entity.  Used in conjunction with the (framework provided) `PersistentEntityAdapter` class to serialize persistent entities into a canonical OID (equivalent to the `Bookmark` provided by the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService]).
 |Domain
 |
 
diff --git a/antora/components/refguide/modules/applib-ant/pages/about/main.adoc b/antora/components/refguide/modules/applib-ant/pages/about/main.adoc
index d8a9c88..0eb4311 100644
--- a/antora/components/refguide/modules/applib-ant/pages/about/main.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/about/main.adoc
@@ -25,62 +25,62 @@ The table below summarizes these most commonly used annotations in Apache Isis.
 |Layer
 |xref:userguide:fun:ui.adoc#object-layout[File-based layout]?
 
-|xref:refguide:applib:index/annotation/Action.adoc[`@Action`]
+|xref:refguide:applib:index/annotation/Action.adoc[@Action]
 |Domain semantics for actions
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`]
+|xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout]
 |User interface hints for actions
 |UI
 |Yes
 
-|xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`]
+|xref:refguide:applib:index/annotation/Collection.adoc[@Collection]
 |Domain semantics for collections
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`]
+|xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout]
 |User interface hints for collections
 |UI
 |Yes
 
-|xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject`]
+|xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject]
 |Domain semantics for domain object (entities and optionally view models)
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[`@DomainObjectLayout`]
+|xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[@DomainObjectLayout]
 |User interface hints for domain object (entities and optionally view models)
 |UI
 |Yes
 
-|xref:refguide:applib:index/annotation/DomainService.adoc[`@DomainService`]
+|xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService]
 |Class is a domain service (rather than an entity or view model)
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/DomainServiceLayout.adoc[`@DomainServiceLayout`]
+|xref:refguide:applib:index/annotation/DomainServiceLayout.adoc[@DomainServiceLayout]
 |User interface hints for domain services
 |UI
 |
 
-|xref:refguide:applib:index/annotation/Parameter.adoc[`@Parameter`]
+|xref:refguide:applib:index/annotation/Parameter.adoc[@Parameter]
 |Domain semantics for action parameters
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/ParameterLayout.adoc[`@ParameterLayout`]
+|xref:refguide:applib:index/annotation/ParameterLayout.adoc[@ParameterLayout]
 |Layout hints for an action parameter (currently: its label position either to top or the left).
 |UI
 |Yes
 
-|xref:refguide:applib:index/annotation/Property.adoc[`@Property`]
+|xref:refguide:applib:index/annotation/Property.adoc[@Property]
 |Domain semantics for properties
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`]
+|xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout]
 |Layout hints for a property
 |UI
 |Yes
diff --git a/antora/components/refguide/modules/applib-ant/pages/about/other.adoc b/antora/components/refguide/modules/applib-ant/pages/about/other.adoc
index 8dd6599..9ef342d 100644
--- a/antora/components/refguide/modules/applib-ant/pages/about/other.adoc
+++ b/antora/components/refguide/modules/applib-ant/pages/about/other.adoc
@@ -14,34 +14,34 @@ These annotations are also commonly used, but relate _not_ to objects or object
 |Layer
 |xref:userguide:fun:ui.adoc#object-layout[File-based layout]?
 
-|xref:refguide:applib:index/annotation/Facets.adoc[`@Facets`]
+|xref:refguide:applib:index/annotation/Facets.adoc[@Facets]
 |Install arbitrary facets within the Apache Isis metamodel.
 |(any)
 |
 
-|xref:refguide:applib:index/annotation/HomePage.adoc[`@HomePage`]
+|xref:refguide:applib:index/annotation/HomePage.adoc[@HomePage]
 |Query-only action (on domain service) to be invoked, result of which is rendered as the user's home page.
 |UI
 |
 
-|xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder`]
+|xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder]
 |Ordering of properties, collections and actions, and also associating actions with either a property or a collection.
 |UI
 |Yes
 
 
-|xref:refguide:applib:index/annotation/MinLength.adoc[`@MinLength`]
+|xref:refguide:applib:index/annotation/MinLength.adoc[@MinLength]
 |Minimum number of characters required for an auto-complete search argument.
 |UI
 |
 
 
-|xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`]
+|xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic]
 |Ignore a public method, excluded from the Apache Isis metamodel.
 |Domain
 |
 
-|xref:refguide:applib:index/annotation/Title.adoc[`@Title`]
+|xref:refguide:applib:index/annotation/Title.adoc[@Title]
 |Indicates which of the object's properties should be used to build up a title for the object.
 |UI
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/domainevent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/domainevent.adoc
index 243809a..8be777f 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/domainevent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/domainevent.adoc
@@ -6,8 +6,8 @@
 
 This section catalogues the various domain event classes defined by Apache Isis.
 
-These events are broadcast on the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`].
-The domain events are broadcast as a result of being specified in the xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent()`],  xref:refguide:applib:index/annotation/Property.adoc#domainEvent[`@Property#domainEvent()`] or xref:refguide:applib:index/annotation/Collection.adoc#domainEvent[`@Collection#domainEvent()`] attributes.
+These events are broadcast on the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService].
+The domain events are broadcast as a result of being specified in the xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()],  xref:refguide:applib:index/annotation/Property.adoc#domainEvent[@Property#domainEvent()] or xref:refguide:applib:index/annotation/Collection.adoc#domainEvent[@Collection#domainEvent()] attributes.
 
 They are listed in the table below.
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/AbstractDomainEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/AbstractDomainEvent.adoc
index 942e79e..a20d5d8 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/AbstractDomainEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/AbstractDomainEvent.adoc
@@ -9,9 +9,9 @@ This class is the superclass for all domain events that are raised by the framew
 
 Its immediate subclasses are:
 
-* xref:applib-classes:events.adoc#ActionDomainEvent[`ActionDomainEvent`]
-* xref:applib-classes:events.adoc#PropertyDomainEvent[`PropertyDomainEvent`]
-* xref:applib-classes:events.adoc#CollectionDomainEvent[`CollectionDomainEvent`]
+* xref:applib-classes:events.adoc#ActionDomainEvent[ActionDomainEvent]
+* xref:applib-classes:events.adoc#PropertyDomainEvent[PropertyDomainEvent]
+* xref:applib-classes:events.adoc#CollectionDomainEvent[CollectionDomainEvent]
 
 The main purpose of the class is to define the protocol by which subscribers can influence an interaction (eg hide a collection, disable a property, validate action arguments).
 It class also provides a simple mechanism to allow adhoc sharing of user data between different phases.
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/ActionDomainEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/ActionDomainEvent.adoc
index c321eaa..d647dcf 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/ActionDomainEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/ActionDomainEvent.adoc
@@ -5,7 +5,7 @@
 :page-partial:
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for actions.
+Subclass of xref:applib-classes:events.adoc#AbstractDomainEvent[AbstractDomainEvent] for actions.
 
 The class has a number of responsibilities (in addition to those it inherits):
 
@@ -39,7 +39,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setReturnValue();                                       // <.>
 }
 ----
-<.> The `Default` nested static class is the default for the xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent()`]
+<.> The `Default` nested static class is the default for the xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()]
 annotation attribute.
 Whether this raises an event or not depends upon the `isis.reflector.facet.actionAnnotation.domainEvent.postForDefault` configuration property.
 <.> The `Noop` class is provided as a convenience to indicate that an event should _not_ be posted (irrespective of the configuration property setting).
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/CollectionDomainEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/CollectionDomainEvent.adoc
index 1cc249e..02826ac 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/CollectionDomainEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/CollectionDomainEvent.adoc
@@ -5,7 +5,7 @@
 :page-partial:
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for collections.
+Subclass of xref:applib-classes:events.adoc#AbstractDomainEvent[AbstractDomainEvent] for collections.
 
 The class has a couple of responsibilities (in addition to those it inherits):
 
@@ -39,7 +39,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public Of getOf();                                          // <.>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:refguide:applib:index/annotation/Collection.adoc#domainEvent[`@Collection#domainEvent()`] annotation attribute.
+<1> The `Default` nested static class is the default for the xref:refguide:applib:index/annotation/Collection.adoc#domainEvent[@Collection#domainEvent()] annotation attribute.
 Whether this raises an event or not depends upon the
 `isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault` configuration property.
 <2> The `Noop` class is provided as a convenience to indicate that an event should _not_ be posted (irrespective of the configuration property setting).
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/PropertyDomainEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/PropertyDomainEvent.adoc
index 3136f87..6f37046 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/domainevent/PropertyDomainEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/domainevent/PropertyDomainEvent.adoc
@@ -5,7 +5,7 @@
 :page-partial:
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for properties.
+Subclass of xref:applib-classes:events.adoc#AbstractDomainEvent[AbstractDomainEvent] for properties.
 
 The class has a couple of responsibilities (in addition to those it inherits):
 
@@ -37,7 +37,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public T getNewValue();                                     // <.>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:refguide:applib:index/annotation/Property.adoc#domainEvent[`@Property#domainEvent()`] annotation attribute.
+<1> The `Default` nested static class is the default for the xref:refguide:applib:index/annotation/Property.adoc#domainEvent[@Property#domainEvent()] annotation attribute.
 Whether this raises an event or not depends upon the
 `isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault` configuration property.
 <2> The `Noop` class is provided as a convenience to indicate that an event should _not_ be posted (irrespective of the configuration property setting).
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent.adoc
index e98ea55..969c9b4 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent.adoc
@@ -30,7 +30,7 @@ The lifecycle event classes are listed in the table below:
 `ObjectCreatedEvent`]
 |(abstract class). +
 `ObjectCreatedEvent.Default` is the concrete implementation that is used.
-|Broadcast when an object is first instantiated using the xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`]'s
+|Broadcast when an object is first instantiated using the xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService]'s
 `#instantiate(...)` method.
 
 
@@ -45,7 +45,7 @@ The lifecycle event classes are listed in the table below:
 `ObjectPersistedEvent`]
 |(abstract class). +
 `ObjectPersistedEvent.Default` is the concrete implementation that is used.
-|Broadcast when an object is first saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s
+|Broadcast when an object is first saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s
 `#persist(...)` method.
 
 
@@ -53,7 +53,7 @@ The lifecycle event classes are listed in the table below:
 `ObjectPersistingEvent`]
 |(abstract class). +
 `ObjectPersistingEvent.Default` is the concrete implementation that is used.
-|Broadcast when an object is about to be saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s
+|Broadcast when an object is about to be saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s
 `#persist(...)` method.
 
 
@@ -61,7 +61,7 @@ The lifecycle event classes are listed in the table below:
 `ObjectRemovingEvent`]
 |(abstract class). +
 `ObjectRemovingEvent.Default` is the concrete implementation that is used.
-|Broadcast when an object is about to be deleted from the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s
+|Broadcast when an object is about to be deleted from the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s
 `#remove(...)` method.
 
 
@@ -70,7 +70,7 @@ The lifecycle event classes are listed in the table below:
 |(abstract class). +
 `ObjectUpdatedEvent.Default` is the concrete implementation that is used.
 |Broadcast when an object has just been updated in the database.
-This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
+This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
 
 |xref:applib-classes:events.adoc#ObjectUpdatingEvent[`o.a.i.applib.` +
@@ -81,7 +81,7 @@ This is done either explicitly when the current transaction is flushed using the
 |(abstract class). +
 `ObjectUpdatingEvent.Default` is the concrete implementation that is used.
 |Broadcast when an object is about to be updated in the database.
-This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
+This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
 
 |===
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/AbstractLifecycleEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/AbstractLifecycleEvent.adoc
index 079c6d5..2fff7df 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/AbstractLifecycleEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/AbstractLifecycleEvent.adoc
@@ -9,12 +9,12 @@ This class is the superclass for all lifecycle events that are raised by the fra
 
 Its immediate subclasses are:
 
-* xref:applib-classes:events.adoc#ObjectCreatedEvent[`ObjectCreatedEvent`]
-* xref:applib-classes:events.adoc#ObjectLoadedEvent[`ObjectLoadedEvent`]
-* xref:applib-classes:events.adoc#ObjectPersistedEvent[`ObjectPersistedEvent`]
-* xref:applib-classes:events.adoc#ObjectPersistingEvent[`ObjectPersistingEvent`]
-* xref:applib-classes:events.adoc#ObjectRemovingEvent[`ObjectRemovingEvent`]
-* xref:applib-classes:events.adoc#ObjectUpdatedEvent[`ObjectUpdatedEvent`]
-* xref:applib-classes:events.adoc#ObjectUpdatingEvent[`ObjectUpdatingEvent`]
+* xref:applib-classes:events.adoc#ObjectCreatedEvent[ObjectCreatedEvent]
+* xref:applib-classes:events.adoc#ObjectLoadedEvent[ObjectLoadedEvent]
+* xref:applib-classes:events.adoc#ObjectPersistedEvent[ObjectPersistedEvent]
+* xref:applib-classes:events.adoc#ObjectPersistingEvent[ObjectPersistingEvent]
+* xref:applib-classes:events.adoc#ObjectRemovingEvent[ObjectRemovingEvent]
+* xref:applib-classes:events.adoc#ObjectUpdatedEvent[ObjectUpdatedEvent]
+* xref:applib-classes:events.adoc#ObjectUpdatingEvent[ObjectUpdatingEvent]
 
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectCreatedEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectCreatedEvent.adoc
index 996e609..913bc4f 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectCreatedEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectCreatedEvent.adoc
@@ -6,9 +6,9 @@
 
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryServuce`]'s `#instantiate(...)` method.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object is first instantiated using the xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryServuce]'s `#instantiate(...)` method.
 
-`ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent`].
+`ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#createdLifecycleEvent[@DomainObject#createdLifecycleEvent].
 
 
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectLoadedEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectLoadedEvent.adoc
index 5260736..e49f0e5 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectLoadedEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectLoadedEvent.adoc
@@ -6,7 +6,7 @@
 
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is retrieved from the database.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object is retrieved from the database.
 
 `ObjectLoadedEvent.Default` is the concrete implementation that is used.
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistedEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistedEvent.adoc
index 23ca407..38dc32f 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistedEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistedEvent.adoc
@@ -5,7 +5,7 @@
 :page-partial:
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object is first saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#persist(...)` method.
 
 
-`ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent`].
+`ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#persistedLifecycleEvent[@DomainObject#persistedLifecycleEvent].
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistingEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistingEvent.adoc
index 8b4367b..1d122be 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistingEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectPersistingEvent.adoc
@@ -5,8 +5,8 @@
 :page-partial:
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object is about to be saved (inserted) into the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#persist(...)` method.
 
 
-`ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent`].
+`ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#persistingLifecycleEvent[@DomainObject#persistingLifecycleEvent].
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectRemovingEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectRemovingEvent.adoc
index 0150b21..776575d 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectRemovingEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectRemovingEvent.adoc
@@ -5,8 +5,8 @@
 :page-partial:
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be deleted from the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#remove(...)` method.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object is about to be deleted from the database using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#remove(...)` method.
 
 
-`ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent`].
+`ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#removingLifecycleEvent[@DomainObject#removingLifecycleEvent].
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatedEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatedEvent.adoc
index 4cc0193..235f5ff 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatedEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatedEvent.adoc
@@ -6,8 +6,8 @@
 
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object has just been updated in the database.
-This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object has just been updated in the database.
+This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
-`ObjectUpdatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent`].
+`ObjectUpdatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#updatedLifecycleEvent[@DomainObject#updatedLifecycleEvent].
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatingEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatingEvent.adoc
index 6ed2b6b..21611d7 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatingEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/lifecycleevent/ObjectUpdatingEvent.adoc
@@ -6,8 +6,8 @@
 
 
 
-Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be updated in the database.
-This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
+Subclass of xref:applib-classes:events.adoc#AbstractLifecycleEvent[AbstractLifecycleEvent], broadcast when an object is about to be updated in the database.
+This is done either explicitly when the current transaction is flushed using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
 
-`ObjectUpdatingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent`].
+`ObjectUpdatingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:refguide:applib:index/annotation/DomainObject.adoc#updatingLifecycleEvent[@DomainObject#updatingLifecycleEvent].
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/uievent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/uievent.adoc
index 8e5bc7c..4ad6ff7 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/uievent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/uievent.adoc
@@ -6,8 +6,8 @@
 
 This section catalogues the various UI event classes defined by Apache Isis.
 
-These events are broadcast on the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`].  The domain
-events are broadcast as a result of being specified in the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`],  xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] or xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attributes.
+These events are broadcast on the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService].  The domain
+events are broadcast as a result of being specified in the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[@DomainObjectLayout#titleUiEvent()],  xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[@DomainObjectLayout#iconUiEvent()] or xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassUiEvent[@DomainObjectLayout#cssClassUiEvent()] attributes.
 
 They are listed in the table below.
 
@@ -25,21 +25,21 @@ They are listed in the table below.
 |(abstract class). +
 `TitleUiEvent.Default` is the concrete implementation used if no `@DomainObjectLayout#titleUiEvent` attribute is specified
 |Broadcast whenever there is a requirement to obtain a title for a domain object.
-Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#title[`title()`] supporting method, or has xref:refguide:applib:index/annotation/Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
+Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#title[title()] supporting method, or has xref:refguide:applib:index/annotation/Title.adoc[@Title] annotation(s) on its properties, then these will take precedence.
 
 |xref:applib-classes:events.adoc#IconUiEvent[`o.a.i.applib.` +
 `IconUiEvent`]
 |(abstract class). +
 `IconUiEvent.Default` is the concrete implementation used if no `@DomainObjectLayout#iconUiEvent` attribute is specified
 |Broadcast whenever there is a requirement to obtain an icon (or rather, the name of an icon) for a domain object.
-Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`] supporting method, or if it has the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
+Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#iconName[iconName()] supporting method, or if it has the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[@DomainObjectLayout#cssClassFa()] attribute, then these will take precedence.
 
 |xref:applib-classes:events.adoc#CssClassUiEvent[`o.a.i.applib.` +
 `CssClassUiEvent`]
 |(abstract class). +
 `CssClassUiEvent.Default` is the concrete implementation used if no `@DomainObjectLayout#cssClassUiEvent` attribute is specified
 |Broadcast whenever there is a requirement to obtain a CSS class hint for a domain object.
-Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#cssClass[`cssClass()`] supporting method then this
+Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#cssClass[cssClass()] supporting method then this
 will take precedence.
 
 |xref:applib-classes:events.adoc#LayoutUiEvent[`o.a.i.applib.` +
@@ -47,7 +47,7 @@ will take precedence.
 |(abstract class). +
 `LayoutUiEvent.Default` is the concrete implementation used if no `@DomainObjectLayout#layoutUiEvent` attribute is specified
 |Broadcast whenever there is a requirement to obtain an alternative layout for a domain object.
-Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#layout[`layout()`] supporting method then this
+Note that if the domain object defines its own xref:refguide:applib-methods:reserved.adoc#layout[layout()] supporting method then this
 will take precedence.
 
 |===
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/uievent/CssClassUiEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/uievent/CssClassUiEvent.adoc
index 8fe3f3f..9d92bac 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/uievent/CssClassUiEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/uievent/CssClassUiEvent.adoc
@@ -14,4 +14,4 @@ The class has a number of responsibilities:
 
 The class itself is instantiated automatically by the framework whenever interacting with a rendered object's action.
 
-If the domain object defines its own xref:refguide:applib-methods:reserved.adoc#cssClass[`cssClass()`] supporting method then this will take precedence.
+If the domain object defines its own xref:refguide:applib-methods:reserved.adoc#cssClass[cssClass()] supporting method then this will take precedence.
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/uievent/IconUiEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/uievent/IconUiEvent.adoc
index 84f5ef9..5d086d2 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/uievent/IconUiEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/uievent/IconUiEvent.adoc
@@ -14,6 +14,6 @@ The class has a number of responsibilities:
 
 The class itself is instantiated automatically by the framework whenever interacting with a rendered object's action.
 
-If the domain object defines its own xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`] supporting method, or if it has the
-xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
+If the domain object defines its own xref:refguide:applib-methods:reserved.adoc#iconName[iconName()] supporting method, or if it has the
+xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[@DomainObjectLayout#cssClassFa()] attribute, then these will take precedence.
 r
diff --git a/antora/components/refguide/modules/applib-classes/pages/events/uievent/TitleUiEvent.adoc b/antora/components/refguide/modules/applib-classes/pages/events/uievent/TitleUiEvent.adoc
index bdaba00..55a7fb2 100644
--- a/antora/components/refguide/modules/applib-classes/pages/events/uievent/TitleUiEvent.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/events/uievent/TitleUiEvent.adoc
@@ -14,4 +14,4 @@ The class has a number of responsibilities:
 
 The class itself is instantiated automatically by the framework whenever interacting with a rendered object's action.
 
-If the domain object defines its own xref:refguide:applib-methods:reserved.adoc#title[`title()`] supporting method, or has xref:refguide:applib:index/annotation/Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
+If the domain object defines its own xref:refguide:applib-methods:reserved.adoc#title[title()] supporting method, or has xref:refguide:applib:index/annotation/Title.adoc[@Title] annotation(s) on its properties, then these will take precedence.
diff --git a/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc b/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc
index 556f79b..e08b493 100644
--- a/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/layout/menubars.adoc
@@ -10,12 +10,12 @@ The `org.apache.isis.applib.layout.menubars` package and subpackages define a nu
 The classes define a hierarchical structure of menu bars, menus and menu sections.
 Similar to the xref:applib-classes:layout.adoc[object layout] classes, the concrete menu classes support bootstrap3; support for other layout systems is possible.
 
-The component class `ServiceActionLayoutData` defines action metadata, being broadly equivalent to the "layout" annotations for actions, ie xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`].
+The component class `ServiceActionLayoutData` defines action metadata, being broadly equivalent to the "layout" annotations for actions, ie xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout].
 This is similar to the `ActionLayoutData` component class used for object layouts, but also captures the identity of the "owning" domain service.
 Service actions are grouped into menu sections.
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (in the `http://isis.apache.org/applib/layout/menubars/bootstrap3` XSD namespace).
-This ability to serialize to/from XML is used by the xref:refguide:applib:index/services/menu/MenuBarsLoaderService.adoc[`MenuBarsLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
+This ability to serialize to/from XML is used by the xref:refguide:applib:index/services/menu/MenuBarsLoaderService.adoc[MenuBarsLoaderService], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
 It also allows the menu bars to be exposed through the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects viewer], as either XML or JSON.
 
 The service action component also allows a link to be associated with it.
@@ -57,7 +57,7 @@ The service action class reside in the `org.apache.isis.applib.layout.component`
 * `ServiceActionLayoutData` class
 
 +
-which correspond to the xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`] annotation.
+which correspond to the xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout] annotation.
 
 This is similar to `ActionLayoutData` (of the xref:applib-classes:layout.adoc[object layout] classes), however it also identifies the domain service to which it belongs.
 (This isn't required for the object layouts because the owner in that case is implicit).
diff --git a/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc b/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc
index 4008677..12bfd38 100644
--- a/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/layout/object-layout.adoc
@@ -17,10 +17,10 @@ The framework provides an implementation of the grid classes modelled closely on
 In principle it is also possible to extend the layout architecture for other grid systems.
 The component classes, though, are intended to be reusable across all grid systems.
 
-The component classes, meanwhile, are broadly equivalent to the "layout" annotations (xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`], xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`], xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`] and xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[`@DomainObjectLayout`]
+The component classes, meanwhile, are broadly equivalent to the "layout" annotations (xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout], xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout], xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout] and xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[@DomainObjectLayout]
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (the `component` classes in the `http://isis.apache.org/applib/layout/component` XSD namespace, the bootstrap 3 grid classes in the `http://isis.apache.org/applib/layout/grid/bootstrap3` XSD namespace).
-This ability to serialize to/from XML is used by the xref:refguide:applib:index/services/grid/GridLoaderService.adoc[`GridLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
+This ability to serialize to/from XML is used by the xref:refguide:applib:index/services/grid/GridLoaderService.adoc[GridLoaderService], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
 It also allows the grid to be exposed through the REST API provided by the xref:vro:ROOT:about.adoc[Restful Objects viewer], as either XML or JSON.
 
 The various components (properties, collections, actions and domain object) also allow a link to be associated with each.
@@ -39,13 +39,13 @@ A fieldset (sometimes also called a property group or member group) of a number
 
 * layout data classes, which correspond to the similarly named annotations:
 
-** `PropertyLayoutData`, corresponding to the xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`] annotation;
+** `PropertyLayoutData`, corresponding to the xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout] annotation;
 
-** `CollectionLayoutData`, corresponding to the xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`] annotation;
+** `CollectionLayoutData`, corresponding to the xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout] annotation;
 
-** `ActionLayoutData`, corresponding to the xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`] annotation;
+** `ActionLayoutData`, corresponding to the xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout] annotation;
 
-** `DomainObjectLayoutData`, corresponding to the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[`@DomainObjectLayout`] annotation.
+** `DomainObjectLayoutData`, corresponding to the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[@DomainObjectLayout] annotation.
 
 In addition, the component package includes `Grid`, representing the top level container for a custom layout for a domain object.
 `Grid` itself is merely an interface, but it also defines the visitor pattern to make it easy for validate and normalize the grid layouts.
@@ -105,7 +105,7 @@ These map to Bootstrap's link:http://getbootstrap.com/css/#responsive-utilities[
 As you can probably guess, the `BS3Grid` is the top-level object (that is, it is JAXB `@XmlRootElement`); this is the object that is serialized to/from XML.
 
 All of these classes also allow custom CSS to be specified; these are added to the CSS classes for the corresponding `<div`> in the rendered page.
-The xref:vw:ROOT:customisation.adoc#tweaking-css-classes[`application.css`] file can then be used for application-specific CSS, allowing arbitrary fine-tuning of the layout of the page.
+The xref:vw:ROOT:customisation.adoc#tweaking-css-classes[application.css] file can then be used for application-specific CSS, allowing arbitrary fine-tuning of the layout of the page.
 
 The XSD for these classes is available at link:http://isis.apache.org/applib/layout/menubars/bootstrap3/menubars.xsd[].
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/contributee.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/contributee.adoc
index 1357353..78ea5b3 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/contributee.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/contributee.adoc
@@ -10,7 +10,7 @@ The interfaces listed in this chapter act as contributees; they allow domain ser
 == `HasUniqueId`
 
 The `HasUniqueId` interface is a mix-in for any domain objects that are uniquely identified, in particular to represent a system-level request or interaction.
-The canonical usage is where the unique identifier is actually a transaction id, as implemented by auditing entries or commands, or for xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`Interaction`]s persisted as published events.
+The canonical usage is where the unique identifier is actually a transaction id, as implemented by auditing entries or commands, or for xref:refguide:applib:index/services/iactn/InteractionContext.adoc[Interaction]s persisted as published events.
 
 The interface is defined is:
 
@@ -41,7 +41,7 @@ public interface RepresentsInteractionMemberExecution extends HasUniqueId {
 }
 ----
 
-Here the (inherited) `getTransactionId()` is intended to be interpreted as an interaction (cf xref:refguide:schema:ixn.adoc[`InteractionDto`]) that has at least one member execution (cf xref:refguide:schema:about.adoc#ixn/memberExecutionDto.adoc[`memberExecutionDto`]).
+Here the (inherited) `getTransactionId()` is intended to be interpreted as an interaction (cf xref:refguide:schema:ixn.adoc[InteractionDto]) that has at least one member execution (cf xref:refguide:schema:about.adoc#ixn/memberExecutionDto.adoc[memberExecutionDto]).
 
 If the interaction (almost certainly an action) calls other actions by way of xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory]), then there may be several member executions, each with a unique sequence number, within the same transaction Id.
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Dto.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Dto.adoc
index 5ddde2a..39c41ae 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Dto.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Dto.adoc
@@ -6,7 +6,7 @@
 
 
 The `Dto` role interface is intended to be implemented by JAXB-annotated view models, that is, annotated using
-xref:refguide:applib-ant:XmlRootElement.adoc[`@XmlRootElement`].
+xref:refguide:applib-ant:XmlRootElement.adoc[@XmlRootElement].
 It enables the ability to download the XML and XSD schema of those objects using two xref:userguide:fun:overview.adoc#mixins[mixins], `Dto_downloadXml` and `Dto_downloadXsd`.
 
 The interface is just a marker interface (with no members), and is defined as:
@@ -38,7 +38,7 @@ public class Dto_downloadXml {
 <.> (constructor) provided as an action to any class that (trivially) implements the `Dto` interface
 <.> The action's name is derived from the class name.
 
-This will return the XML text wrapped up in a xref:applib-classes:about.adoc#Clob[`Clob`].
+This will return the XML text wrapped up in a xref:applib-classes:about.adoc#Clob[Clob].
 
 The `Dto_downloadXsd` mixin is similar:
 
@@ -55,12 +55,12 @@ public class Dto_downloadXsd {
 <.> (constructor) provided as an action to any class that (trivially) implements the `Dto` interface
 <.> The action's name be derived from the class name.
 
-If the domain object's JAXB annotations reference only a single XSD schema then this will return that XML text as a xref:applib-classes:about.adoc#Clob[`Clob`] of that XSD.
-If there are multiple XSD schemas referenced then the action will return a zip of those schemas, wrapped up in a xref:applib-classes:about.adoc#Blob[`Blob`].
+If the domain object's JAXB annotations reference only a single XSD schema then this will return that XML text as a xref:applib-classes:about.adoc#Clob[Clob] of that XSD.
+If there are multiple XSD schemas referenced then the action will return a zip of those schemas, wrapped up in a xref:applib-classes:about.adoc#Blob[Blob].
 The `IsisSchemas` parameter to the action can be used to optionally ignore the common xref:refguide:schema:about.adoc[Apache Isis schemas] (useful if there is only one other XSD schema referenced by the DTO).
 
 
 
 == Related Services
 
-The `Dto_downloadXml` and `Dto_downloadXsd` delegate to the xref:refguide:applib:index/services/jaxb/JaxbService.adoc[`JaxbService`] to actually generate the XML/XSD.
+The `Dto_downloadXml` and `Dto_downloadXsd` delegate to the xref:refguide:applib:index/services/jaxb/JaxbService.adoc[JaxbService] to actually generate the XML/XSD.
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Object.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Object.adoc
index 6356a6a..2ffea5b 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Object.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Object.adoc
@@ -35,7 +35,7 @@ public void clearHints() {
 
 === Related Services
 
-This mixin uses the xref:refguide:applib:index/services/hint/HintStore.adoc[`HintStore`] service to store and retrieve UI hints for each rendered object, per user.
+This mixin uses the xref:refguide:applib:index/services/hint/HintStore.adoc[HintStore] service to store and retrieve UI hints for each rendered object, per user.
 
 
 
@@ -60,12 +60,12 @@ public Object downloadLayoutXml(
 <1> either current, complete, normalized or minimal.
 
 See the documentation on xref:userguide:fun:ui.adoc#object-layout[layout XML] and also
-the xref:refguide:applib:index/services/layout/LayoutService.adoc[`LayoutService`] for more information on these styles
+the xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService] for more information on these styles
 
 
 === Related Services
 
-This mixin calls xref:refguide:applib:index/services/layout/LayoutService.adoc[`LayoutService`] to obtain the layout XML.
+This mixin calls xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService] to obtain the layout XML.
 
 
 
@@ -88,7 +88,7 @@ public void rebuildMetamodel() {
 
 === Related Services
 
-This mixin calls xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[`MetaModelService`] and the xref:refguide:applib:index/services/grid/GridService.adoc[`GridService`] to invalidate their caches.
+This mixin calls xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[MetaModelService] and the xref:refguide:applib:index/services/grid/GridService.adoc[GridService] to invalidate their caches.
 
 
 
@@ -109,7 +109,7 @@ public URL openRestApi() { /* ... */ }
 
 === Related Services
 
-This mixin calls xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`] to build the URL.
+This mixin calls xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService] to build the URL.
 
 
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Persistable.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Persistable.adoc
index 91b3468..eb20331 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Persistable.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/mixins/Persistable.adoc
@@ -33,13 +33,13 @@ public Clob downloadJdoMetadata(                    // <.>
     // ...
 }
 ----
-<.> returns the XML text wrapped up in a xref:applib-classes:about.adoc#Clob[`Clob`].
+<.> returns the XML text wrapped up in a xref:applib-classes:about.adoc#Clob[Clob].
 
 
 
 === Related Services
 
-The mixin delegates to the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[`IsisJdoSupport`] service to obtain a reference to the JDO `PersistenceManagerFactory`.
+The mixin delegates to the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[IsisJdoSupport] service to obtain a reference to the JDO `PersistenceManagerFactory`.
 
 
 [#datanucleusXxx]
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedAt.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedAt.adoc
index a89d08a..2f7481d 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedAt.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedAt.adoc
@@ -18,9 +18,9 @@ public interface HoldsUpdatedAt {
 }
 ----
 
-The current time is obtained from the xref:refguide:applib:index/services/clock/ClockService.adoc[`ClockService`].
+The current time is obtained from the xref:refguide:applib:index/services/clock/ClockService.adoc[ClockService].
 
-Entities that implement this interface often also implement xref:applib-classes:about.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] role interface; as a convenience the xref:applib-classes:about.adoc#Timestampable[`Timestampable`] interface combines the two roles.
+Entities that implement this interface often also implement xref:applib-classes:about.adoc#HoldsUpdatedBy[HoldsUpdatedBy] role interface; as a convenience the xref:applib-classes:about.adoc#Timestampable[Timestampable] interface combines the two roles.
 
 
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedBy.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedBy.adoc
index eb736d3..adaa9f9 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedBy.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/HoldsUpdatedBy.adoc
@@ -16,6 +16,6 @@ public interface HoldsUpdatedBy {
 }
 ----
 
-Entities that implement this interface often also implement xref:applib-classes:about.adoc#HoldsUpdatedAt[`HoldsUpdatedAt`] role interface; as a convenience the xref:applib-classes:about.adoc#Timestampable[`Timestampable`] interface combines the two roles.
+Entities that implement this interface often also implement xref:applib-classes:about.adoc#HoldsUpdatedAt[HoldsUpdatedAt] role interface; as a convenience the xref:applib-classes:about.adoc#Timestampable[Timestampable] interface combines the two roles.
 
 
diff --git a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/Timestampable.adoc b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/Timestampable.adoc
index b100129..1c79488 100644
--- a/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/Timestampable.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/roles-mixins-contributees/roles/Timestampable.adoc
@@ -5,7 +5,7 @@
 :page-partial:
 
 
-The `Timestampable` role interface is a convenience that combines the xref:applib-classes:about.adoc#HoldsUpdatedAt[`HoldsUpdatedAt`] and xref:applib-classes:about.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] interfaces.
+The `Timestampable` role interface is a convenience that combines the xref:applib-classes:about.adoc#HoldsUpdatedAt[HoldsUpdatedAt] and xref:applib-classes:about.adoc#HoldsUpdatedBy[HoldsUpdatedBy] interfaces.
 It is defined as:
 
 // TODO: v2: use include::[]
@@ -25,4 +25,4 @@ The interface no additional methods of its own.
 
 An alternative way to maintain a timestamp is to use JDO's `@Version` annotation.
 With this approach, it is the JDO/DataNucleus that maintains the version, rather than the framework's `TimestampService`.
-See xref:applib-classes:about.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] for further details.
+See xref:applib-classes:about.adoc#HoldsUpdatedBy[HoldsUpdatedBy] for further details.
diff --git a/antora/components/refguide/modules/applib-classes/pages/spec.adoc b/antora/components/refguide/modules/applib-classes/pages/spec.adoc
index 7fbd5ec..480a4f1 100644
--- a/antora/components/refguide/modules/applib-classes/pages/spec.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/spec.adoc
@@ -7,7 +7,7 @@
 
 The interfaces and classes listed in this chapter provide support for the  `Specification` pattern, as described in Eric Evans' book _Domain Driven Design_, p224.
 
-Apache Isis will automatically apply such specifications as validation rules on properties (as per xref:refguide:applib:index/annotation/Property.adoc#mustSatisfy[`@Property#mustSatisfy()`]) and on action parameters (as per xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]).
+Apache Isis will automatically apply such specifications as validation rules on properties (as per xref:refguide:applib:index/annotation/Property.adoc#mustSatisfy[@Property#mustSatisfy()]) and on action parameters (as per xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[@Parameter#mustSatisfy()]).
 
 [#specification]
 == `Specification`
diff --git a/antora/components/refguide/modules/applib-classes/pages/utility.adoc b/antora/components/refguide/modules/applib-classes/pages/utility.adoc
index 10eb532..1002c48 100644
--- a/antora/components/refguide/modules/applib-classes/pages/utility.adoc
+++ b/antora/components/refguide/modules/applib-classes/pages/utility.adoc
@@ -3,13 +3,10 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-The `org.apache.isis.applib.util` package has a number of simple utility
-classes designed to simplify the coding of some common tasks.
+The `org.apache.isis.applib.util` package has a number of simple utility classes designed to simplify the coding of some common tasks.
 
+* xref:applib:index/util/Enums.adoc[Enums]
+* xref:applib:index/util/ObjectContracts.adoc[ObjectContracts]
+* xref:applib:index/util/Reasons.adoc[Reasons]
+* xref:applib:index/util/TitleBuffer.adoc[TitleBuffer]
 
-
-
-include::refguide:applib:page$index/util/Enums.adoc.adoc[leveloffset=+1]
-include::refguide:applib:page$index/util/ObjectContracts.adoc[leveloffset=+1]
-include::refguide:applib:page$index/util/Reasons.adoc[leveloffset=+1]
-include::refguide:applib:page$index/util/TitleBuffer.adoc[leveloffset=+1]
diff --git a/antora/components/refguide/modules/applib-classes/partials/module-nav.adoc b/antora/components/refguide/modules/applib-classes/partials/module-nav.adoc
index 387cd00..a70b567 100644
--- a/antora/components/refguide/modules/applib-classes/partials/module-nav.adoc
+++ b/antora/components/refguide/modules/applib-classes/partials/module-nav.adoc
@@ -1,12 +1,17 @@
 
 * xref:applib-classes:about.adoc[Classes]
 ** xref:applib-classes:events.adoc[Events]
-** xref:applib-classes:ViewModel.adoc[`ViewModel`]
+** xref:applib-classes:ViewModel.adoc[ViewModel] (interface)
 ** xref:applib-classes:value-types.adoc[Value Types]
 ** xref:applib-classes:spec.adoc[Specification pattern]
 ** xref:applib-classes:i18n.adoc[i18n support]
 ** xref:applib-classes:roles-mixins-contributees.adoc[Roles, Mixins and Contributees]
 ** xref:applib-classes:utility.adoc[Utility Classes]
+*** xref:applib:index/util/Enums.adoc[Enums]
+*** xref:applib:index/util/ObjectContracts.adoc[ObjectContracts]
+*** xref:applib:index/util/Reasons.adoc[Reasons]
+*** xref:applib:index/util/TitleBuffer.adoc[TitleBuffer]
+
 ** xref:applib-classes:layout.adoc[Layout]
 
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle.adoc
index 2438746..dce1926 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle.adoc
@@ -20,7 +20,7 @@ The lifecycle callback methods supported by Apache Isis are:
 equivalent
 
 |created()
-|called when an object has just been created using xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService#create(..)`] or xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService#detachedEntity(...)`]
+|called when an object has just been created using xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService#create(..)] or xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService#detachedEntity(...)]
 |xref:applib-classes:events.adoc#ObjectCreatedEvent[ObjectCreatedEvent]
 
 |loaded()
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/created.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/created.adoc
index f323156..566835a 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/created.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/created.adoc
@@ -5,9 +5,9 @@
 
 
 
-The `created()` lifecycle callback method is called when a  domain object has just been instantiated using xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`]
+The `created()` lifecycle callback method is called when a  domain object has just been instantiated using xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService]
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#createdLifecycleEvent[@DomainObject#createdLifecycleEvent()] event.
 
 [WARNING]
 ====
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/loaded.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/loaded.adoc
index 8956756..fa2eb1a 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/loaded.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/loaded.adoc
@@ -8,5 +8,5 @@
 The `loaded()` lifecycle callback method is called when a (persistent) object has just been loaded from the object store.
 
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#loadedLifecycleEvent[`@DomainObject#loadedLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#loadedLifecycleEvent[@DomainObject#loadedLifecycleEvent()] event.
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisted.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisted.adoc
index 2d7a11e..e477eb3 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisted.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisted.adoc
@@ -7,7 +7,7 @@
 
 The `persisted()` lifecycle callback method is called when object has just been persisted from the object store.
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#persistedLifecycleEvent[@DomainObject#persistedLifecycleEvent()] event.
 
-See also the xref:refguide:applib-methods:lifecycle.adoc#persisting[`persisting()`] callback.
+See also the xref:refguide:applib-methods:lifecycle.adoc#persisting[persisting()] callback.
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisting.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisting.adoc
index 92e925a..dd180c6 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisting.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/persisting.adoc
@@ -7,8 +7,8 @@
 
 The `persisting()` lifecycle callback method is called when a (not-yet-persistent) object is just about to be persisted from the object store
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#persistingLifecycleEvent[@DomainObject#persistingLifecycleEvent()] event.
 
 
-See also xref:refguide:applib-methods:lifecycle.adoc#persisted[`persisted()`] callback.
+See also xref:refguide:applib-methods:lifecycle.adoc#persisted[persisted()] callback.
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/removing.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/removing.adoc
index 62dcbea..ce07c62 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/removing.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/removing.adoc
@@ -7,9 +7,9 @@
 
 The `removing()` lifecycle callback method is called when a (persistent) object is just about to be deleted from the object store
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#removingLifecycleEvent[@DomainObject#removingLifecycleEvent()] event.
 
-NOTE: Unlike the xref:refguide:applib-methods:lifecycle.adoc#persisting[`persisting()`] /xref:refguide:applib-methods:lifecycle.adoc#persisted[`persisted()`] andxref:refguide:applib-methods:lifecycle.adoc#updating[`updating()`] /xref:refguide:applib-methods:lifecycle.adoc#updated[`updated()`] callbacks,
+NOTE: Unlike the xref:refguide:applib-methods:lifecycle.adoc#persisting[persisting()] /xref:refguide:applib-methods:lifecycle.adoc#persisted[persisted()] andxref:refguide:applib-methods:lifecycle.adoc#updating[updating()] /xref:refguide:applib-methods:lifecycle.adoc#updated[updated()] callbacks,
 there is no `removed()` callback.
 That's because its not valid to interact with a persistent domain object once its been deleted.
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/updated.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/updated.adoc
index c755bd9..5ef3ef8 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/updated.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/updated.adoc
@@ -6,7 +6,7 @@
 
 The `updated()` lifecycle callback method is called when a (persistent) object has just been updated in the object store
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#updatedLifecycleEvent[@DomainObject#updatedLifecycleEvent()] event.
 
-See also xref:refguide:applib-methods:lifecycle.adoc#updating[`updating()`].
+See also xref:refguide:applib-methods:lifecycle.adoc#updating[updating()].
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/lifecycle/updating.adoc b/antora/components/refguide/modules/applib-methods/pages/lifecycle/updating.adoc
index d9bd342..8d2f6bc 100644
--- a/antora/components/refguide/modules/applib-methods/pages/lifecycle/updating.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/lifecycle/updating.adoc
@@ -7,6 +7,6 @@
 The `updating()` lifecycle callback method is called when a (persistent) object is just about to be updated in the object store
 
 
-An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`] event.
+An alternative means to interact with the lifecycle is by setting up a subscriber on the xref:refguide:applib:index/annotation/DomainObject.adoc#updatingLifecycleEvent[@DomainObject#updatingLifecycleEvent()] event.
 
-See also xref:refguide:applib-methods:lifecycle.adoc#updated[`updated()`].
+See also xref:refguide:applib-methods:lifecycle.adoc#updated[updated()].
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes.adoc
index f808eb1..6291018 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes.adoc
@@ -26,7 +26,7 @@ The table below lists the method prefixes that are recognized as part of Apache
 Param
 |Description
 
-//|xref:refguide:applib-methods:prefixes.adoc#addTo[`addTo...()`]
+//|xref:refguide:applib-methods:prefixes.adoc#addTo[addTo...()]
 //|
 //|
 //|Y
@@ -36,10 +36,10 @@ Param
 //
 //NOTE: Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#removeFrom[`removeFrom...()`]`
+//See also xref:refguide:applib-methods:prefixes.adoc#removeFrom[removeFrom...()]`
 
 
-|xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`]
+|xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()]
 |
 |Y
 |
@@ -50,9 +50,9 @@ Param
 Alternatively, can specify for a class using xref:refguide:applib:index/annotation/DomainObject.adoc#autoCompleteRepository[`@DomainObject` +
 `#autoCompleteRepository`] +
 
-See also xref:refguide:applib-methods:prefixes.adoc#choices[`choices...()`]
+See also xref:refguide:applib-methods:prefixes.adoc#choices[choices...()]
 
-|xref:refguide:applib-methods:prefixes.adoc#choices[`choices...()`]
+|xref:refguide:applib-methods:prefixes.adoc#choices[choices...()]
 |
 |Y
 |
@@ -60,9 +60,9 @@ See also xref:refguide:applib-methods:prefixes.adoc#choices[`choices...()`]
 |Y
 |Provide list of choices for a property or action parameter. +
 
-See also xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`].
+See also xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()].
 
-//|xref:refguide:applib-methods:prefixes.adoc#clear[`clear...()`]
+//|xref:refguide:applib-methods:prefixes.adoc#clear[clear...()]
 //|
 //|Y
 //|
@@ -72,10 +72,10 @@ See also xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete..
 //
 //Allows business logic to be placed apart from the setter. +
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#modify[`modify...()`]
+//See also xref:refguide:applib-methods:prefixes.adoc#modify[modify...()]
 
 
-|xref:refguide:applib-methods:prefixes.adoc#default[`default...()`]
+|xref:refguide:applib-methods:prefixes.adoc#default[default...()]
 |
 |Y
 |
@@ -83,7 +83,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete..
 |Y
 |Default value for a property or an action parameter.
 
-|xref:refguide:applib-methods:prefixes.adoc#disable[`disable...()`]
+|xref:refguide:applib-methods:prefixes.adoc#disable[disable...()]
 |Y
 |Y
 |Y
@@ -91,7 +91,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete..
 |
 |Disables (makes read-only) a property, a collection or an action.
 
-|xref:refguide:applib-methods:prefixes.adoc#get[`get...()`]
+|xref:refguide:applib-methods:prefixes.adoc#get[get...()]
 |
 |Y
 |Y
@@ -99,9 +99,9 @@ See also xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete..
 |
 |Access the value of a property or collection. +
 
-See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
+See also xref:refguide:applib-methods:prefixes.adoc#set[set...()].
 
-|xref:refguide:applib-methods:prefixes.adoc#hide[`hide...()`]
+|xref:refguide:applib-methods:prefixes.adoc#hide[hide...()]
 |
 |Y
 |Y
@@ -109,7 +109,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 |
 |Hides a property, a collection or an action.
 
-//|xref:refguide:applib-methods:prefixes.adoc#modify[`modify...()`]
+//|xref:refguide:applib-methods:prefixes.adoc#modify[modify...()]
 //|
 //|Y
 //|
@@ -119,9 +119,9 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 //
 //Allows business logic to be placed apart from the setter. +
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#clear[`clear...()`]`.
+//See also xref:refguide:applib-methods:prefixes.adoc#clear[clear...()]`.
 
-//|xref:refguide:applib-methods:prefixes.adoc#removeFrom[`removeFrom...()`]
+//|xref:refguide:applib-methods:prefixes.adoc#removeFrom[removeFrom...()]
 //|
 //|
 //|Y
@@ -131,10 +131,10 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 //
 //NOTE:Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#addTo[`addTo...()`]`
+//See also xref:refguide:applib-methods:prefixes.adoc#addTo[addTo...()]`
 
 
-|xref:refguide:applib-methods:prefixes.adoc#set[`set...()`]
+|xref:refguide:applib-methods:prefixes.adoc#set[set...()]
 |
 |Y
 |Y
@@ -142,7 +142,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 |
 |Sets the value of a property or a collection.
 
-//|xref:refguide:applib-methods:prefixes.adoc#validate[`validate...()`]
+//|xref:refguide:applib-methods:prefixes.adoc#validate[validate...()]
 //|Y
 //|
 //|
@@ -150,7 +150,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 //|Y
 //|Check that a proposed value of a property or a set of action parameters or a single action parameter is valid. +
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#validateAddTo[`validateAddTo...()`] and xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[`validateRemoveFrom...()`] to validate modifications to collections.
+//See also xref:refguide:applib-methods:prefixes.adoc#validateAddTo[validateAddTo...()] and xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[validateRemoveFrom...()] to validate modifications to collections.
 
 //|xref:refguide:applib-methods:prefixes.adoc#validateAddTo[`validate +
 //AddTo...()`]
@@ -166,7 +166,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 //Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 //====
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[`validateRemoveFrom...()`], and xref:refguide:applib-methods:prefixes.adoc#validate[`validate...()`] for properties and actions.
+//See also xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[validateRemoveFrom...()], and xref:refguide:applib-methods:prefixes.adoc#validate[validate...()] for properties and actions.
 
 //|xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[`validate +
 //RemoveFrom...()`]
@@ -182,7 +182,7 @@ See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
 //Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 //====
 //
-//See also xref:refguide:applib-methods:prefixes.adoc#validateAddTo[`validateAddTo...()`], and xref:refguide:applib-methods:prefixes.adoc#validate[`validate...()`] for properties and actions.
+//See also xref:refguide:applib-methods:prefixes.adoc#validateAddTo[validateAddTo...()], and xref:refguide:applib-methods:prefixes.adoc#validate[validate...()] for properties and actions.
 
 |===
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/autoComplete.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/autoComplete.adoc
index 31c1e4a..b6b011d 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/autoComplete.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/autoComplete.adoc
@@ -9,7 +9,7 @@ The `autoComplete...()` supporting method is called for action parameters and fo
 
 [TIP]
 ====
-If the number of candidate objects is comparatively small, then use xref:refguide:applib-methods:prefixes.adoc#choices[`choices...()`] supporting method instead.
+If the number of candidate objects is comparatively small, then use xref:refguide:applib-methods:prefixes.adoc#choices[choices...()] supporting method instead.
 ====
 
 The signature of the supporting method depends on whether it is for a parameter or a property.
@@ -62,7 +62,7 @@ public class ShoppingCartItem {
 
 <.> `product` is the 0th argument of the action.
 
-<.> the xref:refguide:applib:index/annotation/MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
+<.> the xref:refguide:applib:index/annotation/MinLength.adoc[@MinLength] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
 
 
 == Properties
@@ -95,6 +95,6 @@ public class ShoppingCartItem {
     ...
 }
 ----
-<1> the xref:refguide:applib:index/annotation/MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
+<1> the xref:refguide:applib:index/annotation/MinLength.adoc[@MinLength] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
 
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/choices.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/choices.adoc
index 1918f90..65dfe86 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/choices.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/choices.adoc
@@ -6,7 +6,7 @@
 
 
 The `choices...()` supporting method is called for both action parameters and for properties, to find objects from a drop-down list box.
-Unlike xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`], the use case is when the number of objects is comparatively small and can be selected from a drop-down without any additional filtering.
+Unlike xref:refguide:applib-methods:prefixes.adoc#autoComplete[autoComplete...()], the use case is when the number of objects is comparatively small and can be selected from a drop-down without any additional filtering.
 
 The signature of the supporting method depends on whether it is for an action parameter or a property.
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/default.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/default.adoc
index ddf4628..edec0c4 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/default.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/default.adoc
@@ -8,7 +8,7 @@
 The `default...()` supporting method is called for action parameters to return the initial argument value.
 This may be some sensible default (eg today's date, or 0 or 1), or -- for an action that is modifying the state of an object -- might default to the current value of a corresponding property.
 
-The method is _also_ called for properties in the case when an object is newly instantiated using xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService#detachedEntity(...)`] or xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService#create(...)`].
+The method is _also_ called for properties in the case when an object is newly instantiated using xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService#detachedEntity(...)] or xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService#create(...)].
 This is a much less common use case.
 If a default is not specified then properties are initialized to a default based on their type (eg 0 or `false`).
 
@@ -153,7 +153,7 @@ public class ShoppingCartItem {
 
 There are, in fact, two other ways to set properties of a newly instantiated object to default values.
 
-The first is to use the xref:refguide:applib-methods:lifecycle.adoc#created[`created()`] callback, called by the framework when xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService#detachedEntity(...)`] or xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService#create(...)`] is called.
+The first is to use the xref:refguide:applib-methods:lifecycle.adoc#created[created()] callback, called by the framework when xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService#detachedEntity(...)] or xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService#create(...)] is called.
 This method is called after any services have been injected into the domain object.
 
 The second is more straightforward: simply initialize properties in the constructor.
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/addTo.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/addTo.adoc
index 08182f6..4b5aad4 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/addTo.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/addTo.adoc
@@ -33,4 +33,4 @@ public class LibraryMember {
 <2> perform some additional business logic
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#removeFrom[`removeFrom...()`]`
+See also xref:refguide:applib-methods:prefixes.adoc#removeFrom[removeFrom...()]`
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/clear.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/clear.adoc
index d3a455a..9b57f56 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/clear.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/clear.adoc
@@ -33,4 +33,4 @@ public class LibraryMember {
 <2> perform some additional business logic
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#modify[`modify...()`]`
+See also xref:refguide:applib-methods:prefixes.adoc#modify[modify...()]`
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/modify.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/modify.adoc
index edafde2..e9974d0 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/modify.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/modify.adoc
@@ -37,6 +37,6 @@ public class LibraryMember {
 <3> perform some additional business logic
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#clear[`clear...()`]`
+See also xref:refguide:applib-methods:prefixes.adoc#clear[clear...()]`
 
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/removeFrom.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/removeFrom.adoc
index 82cb225..7945502 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/removeFrom.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/removeFrom.adoc
@@ -33,4 +33,4 @@ public class LibraryMember {
 <2> perform some additional business logic
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#addTo[`addTo...()`]`
+See also xref:refguide:applib-methods:prefixes.adoc#addTo[addTo...()]`
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateAddTo.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateAddTo.adoc
index d371091..5dd2c64 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateAddTo.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateAddTo.adoc
@@ -41,5 +41,5 @@ public class LibraryMember {
 ----
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#addTo[`addTo...()`] and  xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[`validateRemoveFrom...()`]`
+See also xref:refguide:applib-methods:prefixes.adoc#addTo[addTo...()] and  xref:refguide:applib-methods:prefixes.adoc#validateRemoveFrom[validateRemoveFrom...()]`
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateRemoveFrom.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateRemoveFrom.adoc
index 3275d46..9f60082 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateRemoveFrom.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/deprecated/validateRemoveFrom.adoc
@@ -41,5 +41,5 @@ public class LibraryMember {
 ----
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#removeFrom[`removeFrom...()`] and  xref:refguide:applib-methods:prefixes.adoc#validateAddTo[`validateAddTo...()`]`
+See also xref:refguide:applib-methods:prefixes.adoc#removeFrom[removeFrom...()] and  xref:refguide:applib-methods:prefixes.adoc#validateAddTo[validateAddTo...()]`
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/get.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/get.adoc
index ea61cf5..befee68 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/get.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/get.adoc
@@ -14,5 +14,5 @@ All remaining `public` methods (that do not use one of the Apache Isis prefixes)
 Any methods "left over" that _do_ use one of the Apache Isis prefixes, are interpreted to be orphaned.  Apache Isis "fails-fast" and will not boot, instead printing an error message to the log so that the issue can be easily diagnosed.
 
 
-See also xref:refguide:applib-methods:prefixes.adoc#set[`set...()`].
+See also xref:refguide:applib-methods:prefixes.adoc#set[set...()].
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/prefixes/set.adoc b/antora/components/refguide/modules/applib-methods/pages/prefixes/set.adoc
index f0aac72..ea4f8cb 100644
--- a/antora/components/refguide/modules/applib-methods/pages/prefixes/set.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/prefixes/set.adoc
@@ -7,4 +7,4 @@
 
 The `set...()` prefix is simply the normal JavaBean setter prefix that denotes writeable properties or collections.
 
-See also xref:refguide:applib-methods:prefixes.adoc#get[`get...()`].
+See also xref:refguide:applib-methods:prefixes.adoc#get[get...()].
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved.adoc
index aa67f72..58d430c 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved.adoc
@@ -13,33 +13,33 @@ The table below lists the reserved methods that are recognized as part of Apache
 |Method
 |Description
 
-|xref:refguide:applib-methods:reserved.adoc#cssClass[`cssClass()`]
+|xref:refguide:applib-methods:reserved.adoc#cssClass[cssClass()]
 |Provides a CSS class for this object instance.
 In conjunction with `static/css/application-css`, can therefore provide custom styling of an object instance wherever it is rendered.
 
-//|xref:refguide:applib-methods:reserved.adoc#disable[`disable(...)`]
+//|xref:refguide:applib-methods:reserved.adoc#disable[disable(...)]
 //|Disable all or some of an object's properties
 
-//|xref:refguide:applib-methods:reserved.adoc#getId[`getId()`]
+//|xref:refguide:applib-methods:reserved.adoc#getId[getId()]
 //|Provides an optional unique identifier of a service.
 //
 //If not provided, the service's fully-qualified class name is used.
 
-//|xref:refguide:applib-methods:reserved.adoc#hide[`hide(...)`]
+//|xref:refguide:applib-methods:reserved.adoc#hide[hide(...)]
 //|Hide all or some of an object's properties
 
-|xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`]
+|xref:refguide:applib-methods:reserved.adoc#iconName[iconName()]
 |Provides the name of the image to render, usually alongside the title, to represent the object.
 If not provided, then the class name is used to locate an image.
 
-|xref:refguide:applib-methods:reserved.adoc#layout[`layout()`]
+|xref:refguide:applib-methods:reserved.adoc#layout[layout()]
 |Provides an alternative layout to use, if available.
 If null or no such layout, then uses to the default layout.
 
-|xref:refguide:applib-methods:reserved.adoc#title[`title()`]
+|xref:refguide:applib-methods:reserved.adoc#title[title()]
 |Provides a title for the object. +
 
-//|xref:refguide:applib-methods:reserved.adoc#validate[`validate()`]
+//|xref:refguide:applib-methods:reserved.adoc#validate[validate()]
 //|Validate the object's state prior to persisting.
 
 |===
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/cssClass.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/cssClass.adoc
index ae57a8d..2aef561 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/cssClass.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/cssClass.adoc
@@ -45,6 +45,6 @@ tr.done {
 
 See also:
 
-* xref:refguide:applib-methods:reserved.adoc#title[`title()`]
-* xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`]
-* xref:refguide:applib-methods:reserved.adoc#layout[`layout()`]
+* xref:refguide:applib-methods:reserved.adoc#title[title()]
+* xref:refguide:applib-methods:reserved.adoc#iconName[iconName()]
+* xref:refguide:applib-methods:reserved.adoc#layout[layout()]
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/disable.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/disable.adoc
index a076730..a2bdea7 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/disable.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/disable.adoc
@@ -6,7 +6,7 @@
 
 One use case that Apache Isis supports is that of a domain object with a lifecycle whereby at some stage it should become immutable: all its properties/collections should be disabled, and/or its actions become not invokable.
 
-It would be painful to have to write a separate xref:refguide:applib-methods:prefixes.adoc#disable[`disable...()`] method for each and every member, so instead Isis allows a single `disable...(...)` method to be implemented that is applied to all members.
+It would be painful to have to write a separate xref:refguide:applib-methods:prefixes.adoc#disable[disable...()] method for each and every member, so instead Isis allows a single `disable...(...)` method to be implemented that is applied to all members.
 
 The signature of the method is:
 
@@ -30,7 +30,7 @@ public String disabled(Identifier.Type identifierType) {
 }
 ----
 
-See also the similar methods to xref:refguide:applib-methods:prefixes.adoc#hide[`hide()`] object members en-masse.
+See also the similar methods to xref:refguide:applib-methods:prefixes.adoc#hide[hide()] object members en-masse.
 
 
 == Alternatives
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/getId.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/getId.adoc
index a6535a8..4370e7f 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/getId.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/getId.adoc
@@ -10,7 +10,7 @@ This value is used internally to generate a string representation of an service
 This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
- (see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`])
+ (see xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService])
 * in the serialization of `OidDto` in the xref:refguide:schema:cmd.adoc[command] and xref:refguide:schema:ixn.adoc[interaction] schemas
 * in the URLs of the xref:vro:ROOT:about.adoc[RestfulObjects viewer]
 * in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer] (specifically, for bookmarked actions)
@@ -36,8 +36,8 @@ public class OrderMenu {
 
 The rules of precedence are:
 
-1. xref:refguide:applib:index/annotation/DomainService.adoc#objectType[`@DomainService#objectType()`]
-2. xref:refguide:applib-methods:reserved.adoc#getId[`getId()`]
+1. xref:refguide:applib:index/annotation/DomainService.adoc#objectType[@DomainService#objectType()]
+2. xref:refguide:applib-methods:reserved.adoc#getId[getId()]
 3. The fully qualified class name.
 
 
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/hide.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/hide.adoc
index 7bee5a6..5931142 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/hide.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/deprecated/hide.adoc
@@ -8,7 +8,7 @@
 One use case that Apache Isis supports is that of a domain object with a lifecycle whereby at some stage some number of the object's members should be hidden.
 For example, for an object that at some stage is logically immutable, we might want to make all its properties/collections unmodifiable and hide all its actions.
 
-While we could write a separate xref:refguide:applib-methods:prefixes.adoc#hide[`hide...()`] method for each and every action, this could become painful.  So instead Isis allows a single `hide...(...)` method to be implemented that is applied to all members.
+While we could write a separate xref:refguide:applib-methods:prefixes.adoc#hide[hide...()] method for each and every action, this could become painful.  So instead Isis allows a single `hide...(...)` method to be implemented that is applied to all members.
 
 The signature of the method is:
 
@@ -28,7 +28,7 @@ public boolean hide(Identifier.Type identifierType) {
 }
 ----
 
-See also the similar method to xref:refguide:applib-methods:prefixes.adoc#disable[`disable()`] object members en-masse.
+See also the similar method to xref:refguide:applib-methods:prefixes.adoc#disable[disable()] object members en-masse.
 
 
 == Alternatives
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/iconName.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/iconName.adoc
index 655e8f9..289528b 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/iconName.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/iconName.adoc
@@ -41,7 +41,7 @@ public class ToDoItem ... {
 
 See also:
 
-* xref:refguide:applib-methods:reserved.adoc#title[`title()`]
-* xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`]
-* xref:refguide:applib-methods:reserved.adoc#cssClass[`cssClass()`]
-* xref:refguide:applib-methods:reserved.adoc#layout[`layout()`]
+* xref:refguide:applib-methods:reserved.adoc#title[title()]
+* xref:refguide:applib-methods:reserved.adoc#iconName[iconName()]
+* xref:refguide:applib-methods:reserved.adoc#cssClass[cssClass()]
+* xref:refguide:applib-methods:reserved.adoc#layout[layout()]
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/layout.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/layout.adoc
index 7f8196b..d0b3e5e 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/layout.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/layout.adoc
@@ -5,7 +5,7 @@
 
 
 Every object has a xref:userguide:fun:ui.adoc#object-layout[layout] .
-This may be specified using annotations such as xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder`], xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[`@DomainObjectLayout`] and the like,  but it much more commonly specified using an xref:userguide:fun:ui.adoc#object-layout [XML layout file].
+This may be specified using annotations such as xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder], xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[@DomainObjectLayout] and the like,  but it much more commonly specified using an xref:userguide:fun:ui.adoc#object-layout [XML layout file].
 
 The `layout` method allows the domain object to specify an alternate layout to its usual layout.
 
@@ -42,6 +42,6 @@ If `switchToEditMode()` action is invoked, then the UI will attempt to render th
 
 See also:
 
-* xref:refguide:applib-methods:reserved.adoc#title[`title()`]
-* xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`]
-* xref:refguide:applib-methods:reserved.adoc#cssClass[`cssClass()`]
+* xref:refguide:applib-methods:reserved.adoc#title[title()]
+* xref:refguide:applib-methods:reserved.adoc#iconName[iconName()]
+* xref:refguide:applib-methods:reserved.adoc#cssClass[cssClass()]
diff --git a/antora/components/refguide/modules/applib-methods/pages/reserved/title.adoc b/antora/components/refguide/modules/applib-methods/pages/reserved/title.adoc
index 091966c..b8587ab 100644
--- a/antora/components/refguide/modules/applib-methods/pages/reserved/title.adoc
+++ b/antora/components/refguide/modules/applib-methods/pages/reserved/title.adoc
@@ -46,7 +46,7 @@ public String title() {
 
 As the example above shows, the implementation can be as complex as you like.
 
-In many cases, though, you may be able to use the xref:refguide:applib:index/annotation/Title.adoc[`@Title`] annotation.
+In many cases, though, you may be able to use the xref:refguide:applib:index/annotation/Title.adoc[@Title] annotation.
 
 r
 
@@ -54,7 +54,7 @@ r
 
 See also:
 
-* xref:refguide:applib-methods:reserved.adoc#iconName[`iconName()`]
-* xref:refguide:applib-methods:reserved.adoc#cssClass[`cssClass()`]
-* xref:refguide:applib-methods:reserved.adoc#layout[`layout()`]
+* xref:refguide:applib-methods:reserved.adoc#iconName[iconName()]
+* xref:refguide:applib-methods:reserved.adoc#cssClass[cssClass()]
+* xref:refguide:applib-methods:reserved.adoc#layout[layout()]
 
diff --git a/antora/components/refguide/modules/applib-svc/pages/about.adoc b/antora/components/refguide/modules/applib-svc/pages/about.adoc
index 7284713..c084e7d 100644
--- a/antora/components/refguide/modules/applib-svc/pages/about.adoc
+++ b/antora/components/refguide/modules/applib-svc/pages/about.adoc
@@ -16,36 +16,37 @@ image::reference-services/categories.png[width="600px"]
 What distinguishes API from SPI is primarily whether it is called by the domain application itself, or is called by the framework:
 
 * All of the API domain services provide a default implementation, and so can always be called by domain objects.
-* Most of the SPI domain services also have a default implementation, although in many cases this is a fallback implementation (such as ``AuditerServiceLogging`` for the xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber]).
+* Most of the SPI domain services also have a default implementation, although in many cases this is a fallback implementation.
 
 In one sense all API domain services are also SPI, in that they can be overridden by the domain programmer providing another domain service implementing the same type.
-For example, the framework-provided implementation of xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`] could be overridden this way, perhaps for more monitoring or caching purposes.
-This is most easily done using the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation.
+For example, the framework-provided implementation of xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService] could be overridden this way, perhaps for more monitoring or caching purposes.
+This is most easily done using the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation.
+
 Generally speaking in such cases higher precedence implementation will be used instead of the framework-provided implementation.
-For a small number of services, though, _all_ available implementations are delegated to.
-One example is the (aforementioned) xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] - all configured implementations will be delegated to.
+For some services, though, _all_ available implementations are delegated to; these are typically subscribers such as xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber].
 
-A small number of domain services can be considered both API and SPI; a good example is the xref:refguide:applib:index/services/email/EmailService.adoc[`EmailService`] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:vw:ROOT:features.adoc#user-registration[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
-The same is true of the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`]; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for
-xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent()`] etc.
+A small number of domain services can be considered both API and SPI; a good example is the xref:refguide:applib:index/services/email/EmailService.adoc[EmailService] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:vw:ROOT:features.adoc#user-registration[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
+The same is true of the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService]; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for
+xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()] etc.
 For these hybrid services we have categorized the service as an API service.
 
 This body of this guide has one page per domain service, alphabetically.
 To help you learn about them, the tables below also group the services by category.
 
 
-include::refguide:applib-svc:partial$_presentation-layer-api.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_presentation-layer-spi.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_application-layer-api.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_application-layer-spi.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_core-domain-api.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_integration-api.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_integration-spi.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_metadata-api.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_metadata-spi.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_persistence-layer-api.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_persistence-layer-spi.adoc[leveloffset=+2]
-include::refguide:applib-svc:partial$_security-spi.adoc[leveloffset=+2]
+include::applib-svc:partial$_presentation-layer-api.adoc[leveloffset=+2]
+include::applib-svc:partial$_presentation-layer-spi.adoc[leveloffset=+2]
+include::applib-svc:partial$_application-layer-api.adoc[leveloffset=+2]
+include::applib-svc:partial$_application-layer-spi.adoc[leveloffset=+2]
+include::applib-svc:partial$_core-domain-api.adoc[leveloffset=+2]
+include::applib-svc:partial$_integration-api.adoc[leveloffset=+2]
+include::applib-svc:partial$_integration-spi.adoc[leveloffset=+2]
+include::applib-svc:partial$_metadata-api.adoc[leveloffset=+2]
+include::applib-svc:partial$_metadata-spi.adoc[leveloffset=+2]
+include::applib-svc:partial$_persistence-layer-api.adoc[leveloffset=+2]
+include::applib-svc:partial$_persistence-layer-spi.adoc[leveloffset=+2]
+include::applib-svc:partial$_security-spi.adoc[leveloffset=+2]
+
 
 == Public API vs Internal Services
 
@@ -55,7 +56,7 @@ Importantly, this also minimizes the coupling between your code and Apache Isis,
 The framework also defines a number of "internal" services.
 These are not part of the framework's formal API, in that they use classes that are outside of the applib.
 These internal framework services should be thought of as part of the internal design of the framework, and are liable to change from release to release.
-The internal framework services are documented in the xref:core:runtime-services:about.adoc[Framework Internal Services] guide.
+//The internal framework services are documented in the xref:core:runtime-services:about.adoc[Framework Internal Services] guide.
 
 == Using the services
 
@@ -87,9 +88,9 @@ public class Customer {
 
 For objects that are already persisted, the service is automatically injected just after the object is rehydrated by JDO/DataNucleus.
 
-For transient objects (instantiated programmatically), the xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService#viewModel(...)`] or the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService#detachedEntity(...)`]'s will automatically inject the services.
+For transient objects (instantiated programmatically), the xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService#viewModel(...)] or the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService#detachedEntity(...)]'s will automatically inject the services.
 
-Alternatively the object can be instantiated simply using `new`, then services injected using xref:refguide:applib:index/services/inject/ServiceInjector.adoc[`ServiceInjector`]'s ``injectServicesInto(...)`` method.
+Alternatively the object can be instantiated simply using `new`, then services injected using xref:refguide:applib:index/services/inject/ServiceInjector.adoc[ServiceInjector]'s ``injectServicesInto(...)`` method.
 
 [#overriding-the-services]
 == Overriding the services
@@ -106,11 +107,11 @@ Spring offers a number of other mechanisms to specify the ordering; these can al
 For some domain services, all framework will delegate to all available implementation, using a chain-of-responsibility pattern):
 These include:
 
-xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`],
-xref:refguide:applib:index/services/grid/GridSystemService.adoc[`GridSystemService`], and
-xref:refguide:applib:index/services/routing/RoutingService.adoc[`RoutingService`].
+xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService],
+xref:refguide:applib:index/services/grid/GridSystemService.adoc[GridSystemService], and
+xref:refguide:applib:index/services/routing/RoutingService.adoc[RoutingService].
 
-For example, suppose you wanted to provide your own implementation of xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[`LocaleProvider`].
+For example, suppose you wanted to provide your own implementation of xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[LocaleProvider].
 The default implementation has these annotations:
 
 [source,java]
@@ -147,33 +148,32 @@ image::reference-services/commands-and-events.png[width="960px"]
 
 To explain:
 
-* the (request-scoped) xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] domain service acts as a factory for the ``Interaction`` object, which keeps track of the call-graph of executions (``Interaction.Execution``) of either action invocations or property edits.
+* the (request-scoped) xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] domain service acts as a factory for the ``Interaction`` object, which keeps track of the call-graph of executions (``Interaction.Execution``) of either action invocations or property edits.
 +
 In the majority of cases there is likely to be just a single top-level node of this graph, but for applications that use the xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] extensively each successive call results in a new child execution.
 
 * the `Interaction` also holds a reference to the `Command`, which represents the top-level intention to invoke the action / edit the property.
 
 * before and after each action invocation/property edit, a xref:applib-classes:events/domainevent.adoc[domain event] is may be broadcast to all subscribers.
-Whether this occurs depends on whether the action/property has been annotated (using xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent()`] or xref:refguide:applib:index/annotation/Property.adoc#domainEvent[`@Property#domainEvent()`]).
+Whether this occurs depends on whether the action/property has been annotated (using xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent()] or xref:refguide:applib:index/annotation/Property.adoc#domainEvent[@Property#domainEvent()]).
 +
 (Note that subscribers will also receive events for vetoing the action/property; this is not shown on the diagram).
 
-* As each execution progresses, and objects that are modified are "enlisted" into the (internal) xref:core:runtime-services:ChangedObjectsService.adoc[`ChangedObjectsServiceInternal`] domain service.
-Metrics as to which objects are merely loaded into memory are also captured using the xref:refguide:applib:index/services/metrics/MetricsService.adoc[`MetricsService`] (not shown on the diagram).
+* As each execution progresses, and objects that are modified are "enlisted" (managed by an service internal to the framework).
+Metrics as to which objects are merely loaded into memory are also captured using the xref:refguide:applib:index/services/metrics/MetricsService.adoc[MetricsService] (not shown on the diagram).
 
 * At the end of each execution, details of that execution are published through the (internal)
-xref:core:runtime-services:ExecutionPublisher.adoc[`ExecutionPublisher`] domain service.
-This is only done for actions/properties annotated appropriate (with xref:refguide:applib:index/annotation/Action.adoc#exectionPublishing[`@Action#exectionPublishing()`] or xref:refguide:applib:index/annotation/Property.adoc#exectionPublishing[`@Property#exectionPublishing()`]).
+xref:core:runtime-services:ExecutionPublisher.adoc[ExecutionPublisher] domain service.
+This is only done for actions/properties annotated appropriate (with xref:refguide:applib:index/annotation/Action.adoc#exectionPublishing[@Action#exectionPublishing()] or xref:refguide:applib:index/annotation/Property.adoc#exectionPublishing[@Property#exectionPublishing()]).
 +
 The internal service delegates in turn to any registered xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber]s (there may be more than one).
 
-* At the end of each transaction, details of all changed objects are published, through the (internal) xref:core:runtime-services:EntityChangesPublisher.adoc[`EntityChangesPublisher`] to any registered `EntityChangesSubscriber` implementations and
-through the (internal) xref:core:runtime-services:EntityPropertyChangePublisher.adoc[`EntityPropertyChangePublisher`] to any registered `EntityPropertyChangeSubscriber` implementations.
-Only domain objects specified to be published with xref:refguide:applib:index/annotation/DomainObject.adoc#entityChangePublishing[`@DomainObject#entityChangePublishing()`] are published. +
+* At the end of each transaction, details of all changed objects are published to any registered xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber] implementations and (through an internal service) also to any registered xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] implementations.
+Only domain objects specified to be published with xref:refguide:applib:index/annotation/DomainObject.adoc#entityChangePublishing[@DomainObject#entityChangePublishing()] 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:refguide:applib:index/services/xactn/TransactionService.adoc[`TransactionService`].
+Note that it's possible for there to be more than one transaction per top-level interaction, by virtue of the xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService].
 ====
 
 * At the end of the entire interaction footnote:[although rare, there can be multiple transactions in a single interaction], details of the top-level `Command` are sent to each xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber].
@@ -182,7 +182,7 @@ This captures whether the command succeeded or failed.
 The xref:extensions:command-log:about.adoc[Command Log] extension uses this to persist a log of commands, for auditing or to support regression testing with the xref:extensions:command-replay:about.adoc[Command Replay] extension.
 
 
-Implementations of xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:refguide:schema:cmd.adoc[`cmd.xsd`] schema.
+Implementations of xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:refguide:schema:cmd.adoc[cmd.xsd] schema.
 This can be converted back into a `CommandDto` using the `CommandDtoUtils` utility class (part of the applib).
 
 Similarly, implementations of xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] can use the `InteractionDtoUtils` utility class to obtain a `InteractionDto` representing the interaction, either just for a single execution or for the entire call-graph.
diff --git a/antora/components/refguide/modules/applib-svc/partials/_application-layer-api.adoc b/antora/components/refguide/modules/applib-svc/partials/_application-layer-api.adoc
index c62679a..fff025c 100644
--- a/antora/components/refguide/modules/applib-svc/partials/_application-layer-api.adoc
+++ b/antora/components/refguide/modules/applib-svc/partials/_application-layer-api.adoc
@@ -14,10 +14,6 @@ Domain service APIs for the application layer allow the domain objects to contro
 |API
 |Description
 
-//|xref:refguide:applib-svc:BackgroundService.adoc[BackgroundService]
-//|Programmatic persistence of commands to be persisted (so can be executed by a background mechanism, eg scheduler)
-//NOTE: TODO: v2: this has been replaced by `WrapperFactory#async(...)`
-
 
 |xref:refguide:applib:index/services/command/CommandExecutorService.adoc[CommandExecutorService]
 |Executes the specified `Command`.
diff --git a/antora/components/refguide/modules/applib-svc/partials/_application-layer-spi.adoc b/antora/components/refguide/modules/applib-svc/partials/_application-layer-spi.adoc
index 36fcde6..a38b7c5 100644
--- a/antora/components/refguide/modules/applib-svc/partials/_application-layer-spi.adoc
+++ b/antora/components/refguide/modules/applib-svc/partials/_application-layer-spi.adoc
@@ -13,16 +13,15 @@ Domain service SPIs influence how the framework handles application layer concer
 |Description
 
 
-//|xref:refguide:applib-svc:BackgroundCommandService.adoc[BackgroundCommandService]
-//|Persisted a memento of an action invocation such that it can be executed asynchronously ("in the background") eg by a scheduler.
-//TODO: v2: replaced by WrapperFactory#async
-
-
 
 |xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber]
 |SPI service to listen on command instances, ie representations of an action invocation or property edit.
 Used for command/auditing and background services.
 
+|xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber]
+|SPI service to listen on command instances, ie representations of an action invocation or property edit.
+Used for command/auditing and background services.
+
 
 
 |xref:refguide:applib:index/services/health/HealthCheckService.adoc[HealthCheckService]
diff --git a/antora/components/refguide/modules/applib-svc/partials/_metadata-spi.adoc b/antora/components/refguide/modules/applib-svc/partials/_metadata-spi.adoc
index 1a93ffc..7cb7930 100644
--- a/antora/components/refguide/modules/applib-svc/partials/_metadata-spi.adoc
+++ b/antora/components/refguide/modules/applib-svc/partials/_metadata-spi.adoc
@@ -22,8 +22,8 @@ The metadata SPIs allow the framework to obtain metadata from alternative locati
 
 
 |xref:refguide:applib:index/services/grid/GridService.adoc[GridService]
-|A facade on top of both xref:refguide:applib:index/services/grid/GridLoaderService.adoc[`GridLoaderService`] and
-xref:refguide:applib:index/services/grid/GridSystemService.adoc[`GridSystemService`], thus being able to return normalized grids for any domain class.
+|A facade on top of both xref:refguide:applib:index/services/grid/GridLoaderService.adoc[GridLoaderService] and
+xref:refguide:applib:index/services/grid/GridSystemService.adoc[GridSystemService], thus being able to return normalized grids for any domain class.
 
 
 
@@ -42,7 +42,7 @@ Used by
 
 
 |xref:refguide:applib:index/services/i18n/TranslationsResolver.adoc[TranslationsResolver]
-|Obtain translations for a particuar phrase and locale, in support of i18n (ie so that the app's UI, messages and exceptions can be translated to the required locale by the xref:refguide:applib:index/services/i18n/TranslationService.adoc[`TranslationService`]
+|Obtain translations for a particuar phrase and locale, in support of i18n (ie so that the app's UI, messages and exceptions can be translated to the required locale by the xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService]
 
 
 
diff --git a/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-spi.adoc b/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-spi.adoc
index 9389599..74cac99 100644
--- a/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-spi.adoc
+++ b/antora/components/refguide/modules/applib-svc/partials/_presentation-layer-spi.adoc
@@ -44,7 +44,7 @@ For example, the viewer remembers which tabs are selected, and for collections w
 
 
 |xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[LocaleProvider]
-|Request-scoped service to return the locale of the current user, in support of i18n (ie so that the app's UI, messages and exceptions can be translated to the required locale by the xref:refguide:applib:index/services/i18n/TranslationService.adoc[`TranslationService`].
+|Request-scoped service to return the locale of the current user, in support of i18n (ie so that the app's UI, messages and exceptions can be translated to the required locale by the xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService].
 
 
 |xref:refguide:applib:index/services/routing/RoutingService.adoc[RoutingService]
@@ -57,7 +57,7 @@ For example, the viewer remembers which tabs are selected, and for collections w
 
 
 |xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService]
-|Translate an app's UI, messages and exceptions for the current user (as per the locale provided by xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[`LocalProvider`].
+|Translate an app's UI, messages and exceptions for the current user (as per the locale provided by xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[LocalProvider].
 
 
 |xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[UrlEncodingService]
diff --git a/antora/components/refguide/modules/applib-svc/partials/_security-spi.adoc b/antora/components/refguide/modules/applib-svc/partials/_security-spi.adoc
index ed699ba..74232bc 100644
--- a/antora/components/refguide/modules/applib-svc/partials/_security-spi.adoc
+++ b/antora/components/refguide/modules/applib-svc/partials/_security-spi.adoc
@@ -25,7 +25,7 @@ TIP: see also the xref:security:ROOT:about.adoc[Security Guide].
 
 |xref:refguide:applib:index/services/session/SessionLoggingService.adoc[SessionLoggingService]
 |Records each login and logout by end-users.
-|
+
 * xref:security:session-log:about.adoc[Session Log +
 (Security Guide)]
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/other-changes.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/other-changes.adoc
index ef2dc24..85c8273 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/other-changes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/other-changes.adoc
@@ -232,7 +232,7 @@ JAX-RS 2.0 (one of the JavaEE 7.0 specifications) is implemented by RestEasy 3 w
 
 == IsisJdoSupport domain service
 
-In 1.16.x the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-api_IsisJdoSupport[`IsisJdoSupport`] domain service exposed the DataNucleus 4 `org.datanucleus.query.typesafe.TypesafeQuery` type in one of its signatures.
+In 1.16.x the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-api_IsisJdoSupport[IsisJdoSupport] domain service exposed the DataNucleus 4 `org.datanucleus.query.typesafe.TypesafeQuery` type in one of its signatures.
 However, in DataNucleus 5 this type was removed and replaced by `javax.jdo.JDOQLTypedQuery`, reflecting the fact that type-safe queries are now part of JDO 3.2.
 
 Consequently in 2.0.0-M1 this API has been split into three:
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-annotations.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-annotations.adoc
index 6b5ac86..f7095d5 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-annotations.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-annotations.adoc
@@ -23,11 +23,11 @@ The following annotations, or attributes of annotations, have been removed
 
 |`@ActionInteraction`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_domainEvent[`@Action#domainEvent()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_domainEvent[@Action#domainEvent()]
 
 |`@ActionOrder`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_MemberOrder[`@MemberOrder()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_MemberOrder[@MemberOrder()]
 
 |`@Aggregated`
 |
@@ -36,31 +36,31 @@ The following annotations, or attributes of annotations, have been removed
 |`@Auditable`
 (JDO applib)
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_audited[`@DomainObject#auditing()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_audited[@DomainObject#auditing()]
 
 |`@Audited`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_audited[`@DomainObject#auditing()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_audited[@DomainObject#auditing()]
 
 |`@AutoComplete`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_autoComplete[`@DomainObject#autoComplete()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_autoComplete[@DomainObject#autoComplete()]
 
 |`@ActionSemantics`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_semantics[`@Action#semantics()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_semantics[@Action#semantics()]
 
 |`@Bookmarkable`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bookmarking[`@DomainObject#bookmarking()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bookmarking[@DomainObject#bookmarking()]
 
 |`@Bounded`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bounding[`@DomainObject#bounding()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bounding[@DomainObject#bounding()]
 
 |`@Bulk`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_invokeOn[`@Action#invokeOn()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_invokeOn[@Action#invokeOn()]
 
 Similarly, the `Bulk.InteractionContext` domain service is replaced with the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgsvc/rgsvc.html#ActionInvocationContext[ActionInvocationContext] domain service.
 
@@ -76,35 +76,35 @@ Similarly, the `Bulk.InteractionContext` domain service is replaced with the lin
 
 |`@CollectionLayout`
 |`render`
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_defaultView[@CollectionLayout#defaultView()]
 
 |`@Command`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_command[`@Action#command()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_command[@Action#command()]
 
 |`@CssClass`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_cssClass[`@ActionLayout#cssClass()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_cssClass[`@PropertyLayout#cssClass()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_cssClass[`@CollectionLayout#cssClass()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Paramet [...]
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_cssClass[@ActionLayout#cssClass()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_cssClass[@PropertyLayout#cssClass()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_cssClass[@CollectionLayout#cssClass()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayo [...]
 
 |`@CssClassFa`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_cssClassFa[`@ActionLayout#cssClassFa()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObjectLayout_cssClassFa[`@DomainObjectLayout#cssClassFa()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ViewModelLayout_cssClassFa[`@ViewModelLayout#cssClassFa()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_cssClassFa[@ActionLayout#cssClassFa()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObjectLayout_cssClassFa[@DomainObjectLayout#cssClassFa()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ViewModelLayout_cssClassFa[@ViewModelLayout#cssClassFa()].
 
 |`@Debug`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_restrictTo[`@Action#restrictTo()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_restrictTo[@Action#restrictTo()]
 
 |`@DescribedAs`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_describedAs[`@ActionLayout#describedAs()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_describedAs[`@PropertyLayout#describedAs()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_describedAs[`@CollectionLayout#describedAs()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.h [...]
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_describedAs[@ActionLayout#describedAs()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_describedAs[@PropertyLayout#describedAs()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_describedAs[@CollectionLayout#describedAs()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_r [...]
 
 |`@Disabled`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_editingDisabledReason[`@Property#editingDisabledReason()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_editingDisabledReason[@Property#editingDisabledReason()]
 
 .2+|`@DomainObject`
 |`bounded`
-|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bounding[`@Property#bounding`]
+|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bounding[@Property#bounding]
 
 |`publishingPayloadFactory`
 |Removed, use the simpler link:https://isis.apache.org/versions/2.0.0-M1/guides/rgsvc/rgsvc.html#PublisherService[PublisherService] SPI instead.
@@ -113,34 +113,34 @@ Similarly, the `Bulk.InteractionContext` domain service is replaced with the lin
 
 |`@Exploration`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_restrictTo[`@Action#restrictTo()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_restrictTo[@Action#restrictTo()]
 
 |`@FieldOrder`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_MemberOrder[`@MemberOrder()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_MemberOrder[@MemberOrder()]
 
 |`@Hidden`
 |
-|For actions by either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_hidden[`@Action#hidden()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_hidden[`@ActionLayout#hidden()`], for properties by either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_hidden[`@Property#hidden()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Propert [...]
+|For actions by either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_hidden[@Action#hidden()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_hidden[@ActionLayout#hidden()], for properties by either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_hidden[@Property#hidden()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayou [...]
 
 |`@Idempotent`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_semantics[`@Action#semantics()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_semantics[@Action#semantics()]
 
 |`@Ignore`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Programmatic[`@Programmatic`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Programmatic[@Programmatic]
 
 |`@Immutable`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_editing[`@DomainObject#editing()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_editing[@DomainObject#editing()]
 
 |`@Mandatory`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_optionality[`@Property#optionality()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_optionality[`@Parameter#optionality()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_optionality[@Property#optionality()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_optionality[@Parameter#optionality()].
 
-For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Column_allowsNull[`@Column#allowsNull()`]
-Can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Nullable[`@Nullable`] for either properties or parameters.
+For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Column_allowsNull[@Column#allowsNull()]
+Can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Nullable[@Nullable] for either properties or parameters.
 
 |`@Mask`
 |
@@ -148,9 +148,9 @@ Can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.h
 
 |`@MaxLength`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_maxLength[`@Property#maxLength()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_maxLength[`@Parameter#maxLength()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_maxLength[@Property#maxLength()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_maxLength[@Parameter#maxLength()].
 
-For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Column_length[`@Column#length()`]
+For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Column_length[@Column#length()]
 
 |`@MemberGroups`
 |
@@ -158,37 +158,37 @@ For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guid
 
 |`@MultiLine`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_multiLine[`@PropertyLayout#multiLine()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayout_multiLine[`@ParameterLayout#multiLine()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_multiLine[@PropertyLayout#multiLine()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayout_multiLine[@ParameterLayout#multiLine()].
 
 |`@MustSatisfy`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_mustSatisfy[`@Property#mustSatisfy()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_mustSatisfy[`@Parameter#mustSatisfy()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_mustSatisfy[@Property#mustSatisfy()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_mustSatisfy[@Parameter#mustSatisfy()].
 
 |`@NotPersisted`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_notPersisted[`@Property#notPersisted()`].
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_notPersisted[@Property#notPersisted()].
 
 |`@Optional`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_optionality[`@Property#optionality()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_optionality[`@Parameter#optionality()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_optionality[@Property#optionality()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_optionality[@Parameter#optionality()].
 
-For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Column_allowsNull[`@Column#allowsNull()`]
-Can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Nullable[`@Nullable`] for either properties or parameters.
+For properties, can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Column_allowsNull[@Column#allowsNull()]
+Can also use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Nullable[@Nullable] for either properties or parameters.
 
 |`@Named`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_named[`@ActionLayout#named()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_named[`@PropertyLayout#named()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_named[`@CollectionLayout#named()`], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayout_named[`@P [...]
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_named[@ActionLayout#named()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_named[@PropertyLayout#named()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_named[@CollectionLayout#named()], link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayout_named[@Paramete [...]
 
 |`@NotInServiceMenu`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainService_nature[`@DomainService#nature()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainService_nature[@DomainService#nature()]
 
 Specify nature of `VIEW_CONTRIBUTIONS_ONLY`.
 Alternatively, use a link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Mixin[mixin].
 
 |`@NotContributed`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainService_nature[`@DomainService#nature()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainService_nature[@DomainService#nature()]
 
 Specify nature of `VIEW_MENU_ONLY`.
 
@@ -198,72 +198,72 @@ Specify nature of `VIEW_MENU_ONLY`.
 
 |`@ObjectType`
 |
-|Removed, link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_objectType[`@DomainObject#objectType()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainService_objectType[`@DomainService#objectType()`]
+|Removed, link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_objectType[@DomainObject#objectType()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainService_objectType[@DomainService#objectType()]
 
 Alternatively, for domain entities either:
 
-* the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Discriminator[`@Discriminator`] annotation can be specified; the value is used as the object type, or
-* the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PersistenceCapable_schema[`@PersistenceCapable#schema()`] can be specified; the value is used as the concatenated with the class name to create a two part object type.
+* the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Discriminator[@Discriminator] annotation can be specified; the value is used as the object type, or
+* the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PersistenceCapable_schema[@PersistenceCapable#schema()] can be specified; the value is used as the concatenated with the class name to create a two part object type.
 
 |`@Parameter`
 |`minLength`
 |Never implemented internally in Isis 1.x so no replacement.
 
-Note that the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_MinLength[`@MinLength`] annotation is for use with autocomplete supporting methods (specifying the minimum number of characters to enter before an auto-complete search is performed).
+Note that the link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_MinLength[@MinLength] annotation is for use with autocomplete supporting methods (specifying the minimum number of characters to enter before an auto-complete search is performed).
 
 
 |`@Paged`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_paged[`@CollectionLayout#paged()`] (for parented collections), or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_paged[`@DomainObject#paged()`] (for standalone collections)
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_paged[@CollectionLayout#paged()] (for parented collections), or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_paged[@DomainObject#paged()] (for standalone collections)
 
 |`@ParameterLayout`
 | renderedAsDayBefore
-|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayout_renderDay[`@ParameterLayout#renderDay`].
+|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ParameterLayout_renderDay[@ParameterLayout#renderDay].
 
 
 |`@Plural`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObjectLayout_plural[`@DomainObjectLayout#plural()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObjectLayout_plural[@DomainObjectLayout#plural()]
 
 |`@PostsAction +
 InvokedEvent`
 |
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_domainEvent[`@Action#domainEvent()`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_domainEvent[@Action#domainEvent()]
 
 |`@PostsCollection +
 AddedToEvent`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Collection_domainEvent[`@Collection#domainEvent()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Collection_domainEvent[@Collection#domainEvent()]
 
 |`@PostsCollection +
 RemovedFromEvent`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Collection_domainEvent[`@Collection#domainEvent()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Collection_domainEvent[@Collection#domainEvent()]
 
 |`@PostsProperty +
 ChangedEvent`
 |
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_domainEvent[`@Property#domainEvent()`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_domainEvent[@Property#domainEvent()]
 
 |`@Property`
 |`notPersisted`
-| Removed, replaced with link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_snapshot[`@Property#snapshot()`]
+| Removed, replaced with link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_snapshot[@Property#snapshot()]
 
 |`@PropertyInteraction`
 |
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_domainEvent[`@Property#domainEvent()`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_domainEvent[@Property#domainEvent()]
 
 .2+|`@PropertyLayout`
 |`renderedAsDayBefore`
-|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_renderDay[`@PropertyLayout#renderDay`].
+|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_renderDay[@PropertyLayout#renderDay].
 
 |`unchanging`
-|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_repainting[`@PropertyLayout#repainting`].
+|Deleted (was a boolean attribute), replaced by link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_repainting[@PropertyLayout#repainting].
 
 
 |`@Prototype`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_restrictTo[`@Action#restrictTo()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_restrictTo[@Action#restrictTo()]
 
 |`@PublishedAction`
 |
@@ -285,38 +285,38 @@ FactoryForObject`
 
 |`@QueryOnly`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_semantics[`@Action#semantics()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Action_semantics[@Action#semantics()]
 
 |`@Regex`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_regexPattern[`@Property#regexPattern()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_regexPattern[`@Parameter#regexPattern()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_regexPattern[@Property#regexPattern()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_regexPattern[@Parameter#regexPattern()].
 
 |`@Render`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_defaultView[@CollectionLayout#defaultView()]
 
 Supporting `RenderType` enum also removed.
 
 |`@RenderedAs +
 DayBefore`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_renderDay[`@Property#renderDay()`] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_renderDay[`@Parameter#renderDay()`].
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Property_renderDay[@Property#renderDay()] or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_Parameter_renderDay[@Parameter#renderDay()].
 
 |`@Resolve`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_defaultView[`@CollectionLayout#defaultView()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_defaultView[@CollectionLayout#defaultView()]
 
 |`@SortedBy`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_sortedBy[`@CollectionLayout#sortedBy()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_sortedBy[@CollectionLayout#sortedBy()]
 
 |`@TypeOf`
 |
-|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_typeOf[`@CollectionLayout#typeOf()`] (for parented collections), or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_typeOf[`@ActionLayout#typeOf()`] (for actions returning a standalone collection).
+|Either link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_CollectionLayout_typeOf[@CollectionLayout#typeOf()] (for parented collections), or link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_ActionLayout_typeOf[@ActionLayout#typeOf()] (for actions returning a standalone collection).
 
 |`@TypicalLength`
 |
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_typicalLength[`@PropertyLayout#typicalLength()`].
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_PropertyLayout_typicalLength[@PropertyLayout#typicalLength()].
 
 
 |===
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-configuration-properties.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-configuration-properties.adoc
index c43a0d4..bbf4f3d 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-configuration-properties.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-configuration-properties.adoc
@@ -21,7 +21,7 @@ datanucleus. +
 PublishingService. +
 serializedForm`
 |`PublishingService` has been removed.
-Use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublisherService[`PublisherService`] instead.
+Use link:https://isis.apache.org/versions/2.0.0-M1/guides/rgsvc/rgsvc.html#_rgsvc_persistence-layer-spi_PublisherService[PublisherService] instead.
 
 |===
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-types.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-types.adoc
index 526b99f..0af3e21 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-types.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/removed-types.adoc
@@ -65,11 +65,11 @@ The following interfaces have been removed.
 
 |`Auditable` +
 (JDO applib)
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_audited[`@DomainObject#auditing()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_audited[@DomainObject#auditing()]
 
 |`Bounded` +
 (JDO applib)
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bounding[`@DomainObject#bounding()`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant_DomainObject_bounding[@DomainObject#bounding()]
 
 |`NotPersistable` +
 (JDO applib)
diff --git a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/updated-annotations.adoc b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/updated-annotations.adoc
index 611524f..97cd820 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/updated-annotations.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2018/2.0.0-M1/mignotes/updated-annotations.adoc
@@ -19,145 +19,145 @@ In all cases `NOT_SPECIFIED` is the new default.
 | Updated attribute
 | Nature of change
 
-.7+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action[`@Action`]
+.7+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action[@Action]
 
-|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_command[`command`]
+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_command[command]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_hidden[`hidden`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_hidden[hidden]
 | Default changed from `NOWHERE` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_invokeOn[`invokeOn`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_invokeOn[invokeOn]
 | Default changed from `OBJECT_ONLY` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_publishing[`publishing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_publishing[publishing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_publishing[`publishing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_publishing[publishing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_restrictTo[`restrictTo`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_restrictTo[restrictTo]
 | Default changed from `NO_RESTRICTIONS` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_semantics[`semantics`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Action_semantics[semantics]
 | Default changed from `NON_IDEMPOTENT` to `NOT_SPECIFIED`.
 
 
 
-.3+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout[`@ActionLayout`]
+.3+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout[@ActionLayout]
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout_bookmarking[`bookmarking`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout_bookmarking[bookmarking]
 | Default changed from `NEVER` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout_contributed[`contributed`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout_contributed[contributed]
 | Default changed from `AS_BOTH` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout_position[`position`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ActionLayout_position[position]
 | Default changed from `BELOW` to `NOT_SPECIFIED`.
 
 
-.2+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Collection[`@Collection`]
+.2+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Collection[@Collection]
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Collection_hidden[`hidden`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Collection_hidden[hidden]
 | Default changed from `NOWHERE` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Collection_editing[`editing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Collection_editing[editing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
 
 
 
-.4+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject[`@DomainObject`]
+.4+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject[@DomainObject]
 
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_auditing[`auditing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_auditing[auditing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_bounding[`bounding`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_bounding[bounding]
 | Replaces `bounded`, taking values of `BOUNDED`, `UNBOUNDED` and `NOT_SPECIFIED`.
 Defaults to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_editing[`editing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_editing[editing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_publishing[`publishing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObject_publishing[publishing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
 
 
-.1+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObjectLayout[`@DomainObjectLayout`]
+.1+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObjectLayout[@DomainObjectLayout]
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObjectLayout_bookmarking[`bookmarking`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-DomainObjectLayout_bookmarking[bookmarking]
 | Default changed from `NEVER` to `NOT_SPECIFIED`.
 
 
-.1+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Parameter[`@Parameter`]
+.1+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Parameter[@Parameter]
 [cols="1a,3a", options="header"]
 
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Parameter_optionality[`optionality`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Parameter_optionality[optionality]
 | Default changed from `DEFAULT` to `NOT_SPECIFIED`.
 
 
 
-.2+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ParameterLayout[`@ParameterLayout`]
+.2+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ParameterLayout[@ParameterLayout]
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ParameterLayout_labelPosition[`labelPosition`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ParameterLayout_labelPosition[labelPosition]
 | Default changed from `DEFAULT` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ParameterLayout_renderDay[`renderDay`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ParameterLayout_renderDay[renderDay]
 | Replaces `renderedAsDayBefore`, taking values of `AS_DAY`, `AS_DAY_BEFORE` or `NOT_SPECIFIED`.
 Defaults to `NOT_SPECIFIED`.
 
 
-.6+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property[`@Property`]
+.6+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property[@Property]
 
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_commandReification[`commandReification`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_commandReification[commandReification]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_editing[`editing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_editing[editing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_hidden[`hidden`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_hidden[hidden]
 | Default changed from `NOWHERE` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_snapshot[`snapshot`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_snapshot[snapshot]
 | Replaces `notPersisted`, taking values of `INCLUDED`, `EXCLUDED` or `NOT_SPECIFIED`.
 Defaults to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_optionality[`optionality`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_optionality[optionality]
 | Default changed from `DEFAULT` to `NOT_SPECIFIED`.
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_publishing[`publishing`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-Property_publishing[publishing]
 | Default changed from `AS_CONFIGURED` to `NOT_SPECIFIED`.
 
 
 
-.5+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout[`@PropertyLayout`]
+.5+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout[@PropertyLayout]
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_labelPosition[`labelPosition`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_labelPosition[labelPosition]
 | Default changed from `DEFAULT` to `NOT_SPECIFIED`.
 
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_promptStyle[`promptStyle`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_promptStyle[promptStyle]
 | Default changed from `DEFAULT` to `NOT_SPECIFIED`.
 
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_renderDay[`renderDay`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_renderDay[renderDay]
 | Replaces `notPersisted`, taking values of `AS_DAY`, `AS_DAY_BEFORE` or `NOT_SPECIFIED`.
 Defaults to `NOT_SPECIFIED`.
 
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_repainting[`repainting`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-PropertyLayout_repainting[repainting]
 | Replaces `unchanging`, taking values of `REPAINT`, `NO_REPAINT` or `NOT_SPECIFIED`.
 Defaults to `NOT_SPECIFIED`.
 
 
 
-.1+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ViewModelLayout[`@ViewModelLayout`]
+.1+|link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ViewModelLayout[@ViewModelLayout]
 
-| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ViewModelLayout_bookmarking[`bookmarking`]
+| link:https://isis.apache.org/versions/2.0.0-M1/guides/rgant/rgant.html#_rgant-ViewModelLayout_bookmarking[bookmarking]
 | adds new NOT_SPECIFIED value
 
 
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
index 8b6e175..6459148 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M3/relnotes.adoc
@@ -15,9 +15,9 @@ Other new groups have been introduced: "value-types", "subdomains", (bounded con
 
 This milestone also introduces a number of new features:
 
-* new xref:refguide:applib:index/annotation/Property.adoc#projecting[`@Property#projecting`] allows view model summaries to be returned as "projections" of underlying entities.
-* new xref:refguide:applib-methods:reserved.adoc#layout[`layout()`] method (or xref:refguide:applib-classes:events.adoc#ui-event-classes[UI event]) allows a domain object to specify which layout file should be used to render it.
-* no longer any need to specify xref:refguide:applib:index/annotation/ParameterLayout.adoc#named[`@ParameterLayout#named()`]
+* new xref:refguide:applib:index/annotation/Property.adoc#projecting[@Property#projecting] allows view model summaries to be returned as "projections" of underlying entities.
+* new xref:refguide:applib-methods:reserved.adoc#layout[layout()] method (or xref:refguide:applib-classes:events.adoc#ui-event-classes[UI event]) allows a domain object to specify which layout file should be used to render it.
+* no longer any need to specify xref:refguide:applib:index/annotation/ParameterLayout.adoc#named[@ParameterLayout#named()]
 * security integration with xref:security:keycloak:about.adoc[Keycloak]
 
 * New value types:
diff --git a/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc b/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc
index 65306b5..665d718 100644
--- a/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc
+++ b/antora/components/setupguide/modules/intellij/partials/UNUSED/faster-turnaround-times.adoc
@@ -71,7 +71,7 @@ image::070-advanced/004-gradle-output.png[width="600px"]
 == Using Gradle for liveReload
 
 Similarly, gradle can be run to reduce the turn-around time when tweaking the UI (defined by the
-xref:userguide:fun:ui.adoc#object-layout[`*.layout.xml`] file for each domain class), when the app is running.
+xref:userguide:fun:ui.adoc#object-layout[*.layout.xml] file for each domain class), when the app is running.
 
 The framework will automatically notice any changes to `.layout.xml` files, but these are read from the classpath (the `target/classes` directory), not the source path.
 With IntelliJ these can be copied over manually by invoking `Run > Reload Changed Classes`.
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
index e74a449..07f6e16 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
@@ -9,7 +9,7 @@ Sometimes an action might perform irreversible changes.
 In such a case it's probably a good idea for the UI to require that the end-user explicitly confirms that they intended to invoke the action.
 
 
-One way to meet this requirement is using the framework's built-in xref:refguide:applib:index/annotation/Action.adoc#semantics[`@Action#semantics`] attribute:
+One way to meet this requirement is using the framework's built-in xref:refguide:applib:index/annotation/Action.adoc#semantics[@Action#semantics] attribute:
 
 [source,java]
 ----
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
index f4fbe86..026f9f5 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
@@ -21,8 +21,8 @@ When clicking the back button in the browser the user sees "Object not found" (s
 And refresh the current page when receiving a null response or invoking a void action.
 But how to implement this?_
 
-One way to implement this idea is to provide a custom implementation of the xref:refguide:applib:index/services/routing/RoutingService.adoc[`RoutingService`] SPI domain service.
-The default implementation will either return the current object (if not null), else the home page (as defined by xref:refguide:applib:index/annotation/HomePage.adoc[`@HomePage`]) if one exists.
+One way to implement this idea is to provide a custom implementation of the xref:refguide:applib:index/services/routing/RoutingService.adoc[RoutingService] SPI domain service.
+The default implementation will either return the current object (if not null), else the home page (as defined by xref:refguide:applib:index/annotation/HomePage.adoc[@HomePage]) if one exists.
 
 The following custom implementation refines this to use the breadcrumbs (available in the Wicket viewer) to return the first non-deleted domain object found in the list of breadcrumbs:
 
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
index 8177064..8ba70af 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
@@ -15,9 +15,9 @@ One way to implement is to use the xref:refguide:applib:index/services/eventbus/
 
 * Set up a xref:refguide:applib-cm:classes/domainevent.adoc[domain event] subscriber that can veto the changes.
 
-* if the change is made through an action, you can use xref:refguide:applib:index/annotation/Action.adoc#domainEvent[`@Action#domainEvent`].
+* if the change is made through an action, you can use xref:refguide:applib:index/annotation/Action.adoc#domainEvent[@Action#domainEvent].
 
-if if the change is made through an edit, you can use xref:refguide:applib:index/annotation/Property.adoc#domainEvent[`@Property#domainEvent`].
+if if the change is made through an edit, you can use xref:refguide:applib:index/annotation/Property.adoc#domainEvent[@Property#domainEvent].
 
 You'll need some way to know which fields should be spell checked.  Two ways spring to mind:
 
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
index c66e75d..715627f 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
@@ -9,8 +9,8 @@
 The framework provides default implementations for many of the xref:refguide:applib-svc:about.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:refguide:applib:index/services/i18n/LocaleProvider.adoc[`LocaleProvider`].
-The trick is to use the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation or equivalent mechanism.
+For example, suppose you wanted to provide your own implementation of xref:refguide:applib:index/services/i18n/LocaleProvider.adoc[LocaleProvider].
+The trick is to use the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation or equivalent mechanism.
 
 Here's how:
 
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
index 4375126..1c023e8 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
@@ -19,5 +19,5 @@ NOTE: FIXME
 
 == Persistence Concerns
 
-NOTE: FIXME -  easiest to simply store using DataNucleus' support for collections, marked as xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`] so that it is ignored by Apache Isis.  Alternatively can store as json/xml in a varchar(4000) or clob and manually unpack.
+NOTE: FIXME -  easiest to simply store using DataNucleus' support for collections, marked as xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic] so that it is ignored by Apache Isis.  Alternatively can store as json/xml in a varchar(4000) or clob and manually unpack.
 
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
index 2b5b169..cbce459 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
@@ -11,7 +11,7 @@ Indeed, if you do try to manage transactions (eg by reaching into the JDO `Persi
 
 However, you can complete a given transaction and start a new one.
 This is sometimes useful if writing a xref:testing:fixtures:about.adoc#fixture-scripts[fixture script] which is going to perform some sort of bulk migration of data from an old system.
-For this use case, use the xref:refguide:applib:index/services/xactn/TransactionService.adoc[`TransactionService`].
+For this use case, use the xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService].
 
 For example:
 
@@ -35,7 +35,7 @@ public class SomeLongRunningFixtureScript extends FixtureScript
 
 == Raise message in the UI
 
-The framework provides the xref:refguide:applib:index/services/message/MessageService.adoc[`MessageService`] as a means to return an out-of-band message to the end-user.
+The framework provides the xref:refguide:applib:index/services/message/MessageService.adoc[MessageService] as a means to return an out-of-band message to the end-user.
 In the xref:vw:ROOT:about.adoc[Wicket viewer] these are shown as "toast" pop-ups; the
 xref:vro:ROOT:about.adoc[Restful Objects viewer] returns an HTTP header.
 
@@ -64,7 +64,7 @@ If however you want to indicate that the exception is in some sense "expected",
 Another way in which exceptions might be considered "expected" could be as the result of attempting to persist an object which then violates some type of database constraint.
 Even if the domain application checks beforehand, it could be that another user operating on the object at the same moment of time might result in the conflict.
 
-To handle this the xref:refguide:applib:index/services/exceprecog/ExceptionRecognizerService.adoc[`ExceptionRecognizer`] SPI can be used.
+To handle this the xref:refguide:applib:index/services/exceprecog/ExceptionRecognizerService.adoc[ExceptionRecognizer] SPI can be used.
 The framework provides a number of implementations out-of-the-box; whenever an exception is thrown it is passed to each known recognizer implementation to see if it recognizes the exception and can return a user-meaningful error message.
 For example, `ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException` checks if the exception inherits from `java.sql.SQLIntegrityConstraintViolationException`, and if so, constructs a suitable message.
 
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
index 7862957..5cf02d2 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
@@ -5,7 +5,7 @@
 :page-partial:
 
 
-NOTE: FIXME - a write-up of the "vetoing subscriber" design pattern, eg as described in the  xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`]
+NOTE: FIXME - a write-up of the "vetoing subscriber" design pattern, eg as described in the  xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService]
 
 
 eg if included an addon such as auditing or security.
diff --git a/antora/components/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
index ee990f8..1f6412a 100644
--- a/antora/components/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
+++ b/antora/components/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
@@ -4,7 +4,7 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-The xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`] service
+The xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService] service
 covers all use-cases for programmatic view model creation and takes care,
 that all injection points are resolved for the resulting view model instance.
 
@@ -28,7 +28,7 @@ If it is, then we should probably remove FactoryService#create(...) for view mod
 With view models, some care must be taken in how they are instantiated.
 Specifically, it's important that the framework doesn't "know" about the view model until its state is "sufficiently" populated to distinguish from other view models.
 
-In practical terms, this means that view models should be instantiated using a constructor, and then injecting services (if required) using the xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[`ServiceRegistry`] service:
+In practical terms, this means that view models should be instantiated using a constructor, and then injecting services (if required) using the xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[ServiceRegistry] service:
 
 [source,java]
 ----
@@ -36,7 +36,7 @@ CustomerViewModel viewModel = new CustomerViewModel("Joe", "Bloggs");
 serviceInjector.injectServicesInto(viewModel);
 ----
 
-What will most likely *fail* is to use the xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`]:
+What will most likely *fail* is to use the xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService]:
 
 
 [source,java]
diff --git a/antora/components/userguide/modules/btb/pages/i18n.adoc b/antora/components/userguide/modules/btb/pages/i18n.adoc
index 2d51e69..b3b12c7 100644
--- a/antora/components/userguide/modules/btb/pages/i18n.adoc
+++ b/antora/components/userguide/modules/btb/pages/i18n.adoc
@@ -7,7 +7,7 @@
 
 Apache Isis' support for internationlization (i18n) allows every element of the domain model (the class names, property names, action names, parameter names and so forth) to be translated.
 
-It also supports translations of messages raised imperatively, by which we mean as the result of a call to `title()` to obtain an object's title, or messages resulting from any business rule violations (eg xref:refguide:applib-cm:methods.adoc#disable[`disable...()`] or xref:refguide:applib-cm:methods.adoc#validate[`validate...()`], and so on.
+It also supports translations of messages raised imperatively, by which we mean as the result of a call to `title()` to obtain an object's title, or messages resulting from any business rule violations (eg xref:refguide:applib-cm:methods.adoc#disable[disable...()] or xref:refguide:applib-cm:methods.adoc#validate[validate...()], and so on.
 
 The xref:vw:ROOT:about.adoc[Wicket viewer] (that is, its labels and messages) is also internationalized using the same mechanism.
 If no translations are available, then the Wicket viewer falls back to using Wicket resource bundles.
diff --git a/antora/components/userguide/modules/fun/pages/business-rules/usability.adoc b/antora/components/userguide/modules/fun/pages/business-rules/usability.adoc
index 971302d..9efe0be 100644
--- a/antora/components/userguide/modules/fun/pages/business-rules/usability.adoc
+++ b/antora/components/userguide/modules/fun/pages/business-rules/usability.adoc
@@ -8,9 +8,9 @@
 == Property
 
 By default properties cannot be edited, as specified by the
-xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[`isis.applib.annotation.domain-object.editing`] configuration property.
+xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[isis.applib.annotation.domain-object.editing] configuration property.
 
-This policy can be overridden for an individual property using the xref:refguide:applib:index/annotation/Property.adoc#editing[`@Property#editing`] annotation; this makes sense for properties where there are no business rules governing their content, for example "notes" or "comments" fields.
+This policy can be overridden for an individual property using the xref:refguide:applib:index/annotation/Property.adoc#editing[@Property#editing] annotation; this makes sense for properties where there are no business rules governing their content, for example "notes" or "comments" fields.
 
 For example:
 
@@ -25,7 +25,7 @@ private String notes;
 ----
 <.> Allows the property to be enabled (even if property editing is disabled globally).
 
-It's also possible to make all properties of a domain object editable using xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject`], though use cases for this are rare.
+It's also possible to make all properties of a domain object editable using xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject], though use cases for this are rare.
 
 For very simply "CRUD-y" like applications, you might wish to switch the global policy, so that all properties are enabled by default, then selectively disable them.
 
@@ -113,7 +113,7 @@ A non-`null` return string is taken as the _reason_ why the action argument cann
 
 == For more information
 
-For more information, see  xref:refguide:applib-cm:methods.adoc#disable[`disable...()`] section in the appropriate reference guide.
+For more information, see  xref:refguide:applib-cm:methods.adoc#disable[disable...()] section in the appropriate reference guide.
 
-It's also possible to return xref:userguide:btb:i18n.adoc#imperative-messages[locale-specific] strings, by returning xref:refguide:applib-cm:classes.adoc#TranslatableString[`TranslatableString`] instead of `java.lang.String`.
+It's also possible to return xref:userguide:btb:i18n.adoc#imperative-messages[locale-specific] strings, by returning xref:refguide:applib-cm:classes.adoc#TranslatableString[TranslatableString] instead of `java.lang.String`.
 
diff --git a/antora/components/userguide/modules/fun/pages/business-rules/validity.adoc b/antora/components/userguide/modules/fun/pages/business-rules/validity.adoc
index e0bd9f5..adb1255 100644
--- a/antora/components/userguide/modules/fun/pages/business-rules/validity.adoc
+++ b/antora/components/userguide/modules/fun/pages/business-rules/validity.adoc
@@ -61,9 +61,9 @@ The framework validates each argument separately; only if all are valid does it
 
 == For more information
 
-For more information, see the xref:refguide:applib-cm:methods.adoc#validate[`validate...()`] section in the appropriate reference guide.
-The reference guide also explains how to define validation declaratively, using the xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] or xref:refguide:applib:index/annotation/Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] attributes.
+For more information, see the xref:refguide:applib-cm:methods.adoc#validate[validate...()] section in the appropriate reference guide.
+The reference guide also explains how to define validation declaratively, using the xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[@Parameter#mustSatisfy()] or xref:refguide:applib:index/annotation/Property.adoc#mustSatisfy[@Property#mustSatisfy()] attributes.
 
-It's also possible to return xref:userguide:btb:i18n.adoc#imperative-messages[locale-specific] strings, by returning xref:refguide:applib-cm:classes.adoc#TranslatableString[`TranslatableString`] instead of `java.lang.String`.
+It's also possible to return xref:userguide:btb:i18n.adoc#imperative-messages[locale-specific] strings, by returning xref:refguide:applib-cm:classes.adoc#TranslatableString[TranslatableString] instead of `java.lang.String`.
 
 
diff --git a/antora/components/userguide/modules/fun/pages/business-rules/visibility.adoc b/antora/components/userguide/modules/fun/pages/business-rules/visibility.adoc
index bcecd5a..a650656 100644
--- a/antora/components/userguide/modules/fun/pages/business-rules/visibility.adoc
+++ b/antora/components/userguide/modules/fun/pages/business-rules/visibility.adoc
@@ -88,7 +88,7 @@ However, if they check the first boolean parameter (ie, to ship the `Order` to t
 
 == For more information
 
-For more information, see the xref:refguide:applib-cm:methods.adoc#hide[`hide...()`] section in the appropriate reference guide.
+For more information, see the xref:refguide:applib-cm:methods.adoc#hide[hide...()] section in the appropriate reference guide.
 
 
 
diff --git a/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc b/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc
index 83eac95..1cc0f23 100644
--- a/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc
+++ b/antora/components/userguide/modules/fun/pages/concepts-patterns/apache-isis-vs-cqrs-and-event-sourcing.adoc
@@ -87,7 +87,7 @@ But in any case the roadmap is to support JPA as well as JDO, indeed as you read
 
 As with a CQRS architecture, Apache xref:userguide:fun:mixins.adoc[mixins] would be the obvious way to associate behaviour with an event sourced entity.
 These mixins would most likely delegate to an event sourcing framework such as link:https://axoniq.io/[Axon] to do the work.
-Also, in Apache Isis every business action (and indeed, property and collection) emits domain events through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`], and can optionally also be published through the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
+Also, in Apache Isis every business action (and indeed, property and collection) emits domain events through the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService], and can optionally also be published through the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber].
 These features could also have a role to play in an event sourced system.
 
 
diff --git a/antora/components/userguide/modules/fun/pages/concepts-patterns/metamodel.adoc b/antora/components/userguide/modules/fun/pages/concepts-patterns/metamodel.adoc
index 2e5629d..babc496 100644
--- a/antora/components/userguide/modules/fun/pages/concepts-patterns/metamodel.adoc
+++ b/antora/components/userguide/modules/fun/pages/concepts-patterns/metamodel.adoc
@@ -8,7 +8,7 @@
 At its core, Apache Isis is a metamodel that is built at runtime from the domain classes (eg `Customer.java`), along with optional supporting metadata (eg `Customer.layout.xml`).
 
 The contents of this metamodel are the entities and supporting services, as well the members of those classes.
-These are all meta-annotated with link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[`@Component`] and are either registered explicitly (framework services) or dynamically discovered (entities and user-defined services) by Spring Boot on the classpath via link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html[`@ComponentScan`].
+These are all meta-annotated with link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component] and are either registered explicitly (framework services) or dynamically discovered (entities and user-defined services) by Spring Boot on the classpath via link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html[@ComponentScan].
 
 The detail of the metamodel is generally explicit, usually represented by Java annotations such as `@Title` or `@Action`, though this is configurable.
 Notably the metamodel is xref:userguide:btb:programming-model.adoc[extensible]; it is possible to teach Apache Isis new programming conventions/rules (and conversely to remove those that are built in).
diff --git a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/crud.adoc b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/crud.adoc
index 0488453..6e5a6c6 100644
--- a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/crud.adoc
+++ b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/crud.adoc
@@ -6,13 +6,13 @@
 
 
 This chapter shows the idioms for creating, reading, updating and deleting xref:userguide:fun:overview.adoc#domain-entities[domain entities].
-The main domain services used for this are xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`] and xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`].
+The main domain services used for this are xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService] and xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService].
 
 
 [[instantiating]]
 == Instantiating
 
-Domain entities can be instantiated using the xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`] provided by the framework.
+Domain entities can be instantiated using the xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService] provided by the framework.
 For example:
 
 [source,java]
@@ -39,8 +39,8 @@ public class Customer {
 }
 ----
 
-In such cases, the domain object cannot be instantiated using xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`].
-Instead the xref:refguide:applib:index/services/inject/ServiceInjector.adoc[`ServiceInjector`] service can be used to inject services:
+In such cases, the domain object cannot be instantiated using xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService].
+Instead the xref:refguide:applib:index/services/inject/ServiceInjector.adoc[ServiceInjector] service can be used to inject services:
 
 [source,java]
 ----
@@ -62,7 +62,7 @@ Note though that this does _not_ raise any lifecycle event.
 [[persisting]]
 == Persisting
 
-Once a domain entity has been instantiated and initialized, it can be persisted using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`].
+Once a domain entity has been instantiated and initialized, it can be persisted using the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService].
 
 For example:
 
@@ -100,7 +100,7 @@ Note that the `persist()` returns the object passed to it.
 
 It's worth being aware that the framework does _not_ eagerly persist the object.
 Rather, it queues up an internal command structure representing the object persistence request.
-This is then executed either at the end of the transaction, or if a xref:userguide:fun:domain-entities-and-services.adoc#finding[query is run], or if the internal queue is manually flushed using xref:refguide:applib:index/services/xactn/TransactionService.adoc[`TransactionService`]'s `flush()` method.
+This is then executed either at the end of the transaction, or if a xref:userguide:fun:domain-entities-and-services.adoc#finding[query is run], or if the internal queue is manually flushed using xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService]'s `flush()` method.
 Flushing also happens when a repository query is executed, so that the pending persist operation is performed first.
 Generally therefore the lazy persistence approach works well enough.
 
@@ -134,7 +134,7 @@ One downside is that the code is arguably less easy to debug.
 
 Retrieving domain entities depends on the ORM.
 In the case of xref:pjdo:ROOT:about.adoc[JDO/DataNucleus], it typically requires a JDOQL query defined on the domain entity, and a corresponding repository service for that domain entity type.
-This repository calls the framework-provided xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`] to actually submit the query.
+This repository calls the framework-provided xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService] to actually submit the query.
 
 For example:
 
@@ -182,7 +182,7 @@ public class CustomerRepository {
 
 }
 ----
-<1>    The xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`] is a generic facade over the JDO/DataNucleus API.
+<1>    The xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService] is a generic facade over the JDO/DataNucleus API.
 <2> Specifies the class that is annotated with @Query
 <3> Corresponds to the `@Query#name` attribute
 <4> Corresponds to the `:name` parameter in the query JDOQL string
@@ -194,7 +194,7 @@ When an object is loaded from the database the framework will emit `ObjectLoaded
 
 === Type-safe queries
 
-DataNucleus also supports type-safe queries; these can be executed using the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[`IsisJdoSupport`] (JDO-specific) domain service.
+DataNucleus also supports type-safe queries; these can be executed using the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[IsisJdoSupport] (JDO-specific) domain service.
 
 See xref:pjdo:ROOT:services/IsisJdoSupport.adoc#type-safe-jdoql-queries[here] for further details.
 
@@ -206,9 +206,9 @@ Rather, the ORM (DataNucleus) automatically keeps track of the state of each obj
 
 That said, it is possible to "flush" pending changes:
 
-* xref:refguide:applib:index/services/xactn/TransactionService.adoc[`TransactionService`] acts at the Apache Isis layer, and flushes any pending object persistence or object deletions
+* xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService] acts at the Apache Isis layer, and flushes any pending object persistence or object deletions
 
-* (if using xref:pjdo:ROOT:about.adoc[JDO/DataNucleus]), the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[`IsisJdoSupport`] domain service can be used reach down to the underlying JDO API, and perform a flush of pending object updates also.
+* (if using xref:pjdo:ROOT:about.adoc[JDO/DataNucleus]), the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[IsisJdoSupport] domain service can be used reach down to the underlying JDO API, and perform a flush of pending object updates also.
 
 When an object is updated the framework will emit `ObjectUpdatingEvent` and `ObjectUpdatedEvent` xref:userguide:fun:overview.adoc#lifecycle-events[lifecycle events].
 
@@ -218,7 +218,7 @@ When an object is updated the framework will emit `ObjectUpdatingEvent` and `Obj
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-Domain entities can be deleted using xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`].
+Domain entities can be deleted using xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService].
 For example:
 
 [source,java]
@@ -229,7 +229,7 @@ repositoryService.remove(customer);
 
 It's worth being aware that (as for persisting new entities) the framework does _not_ eagerly delete the object.
 Rather, it queues up an internal command structure representing the object deletion request.
-This is then executed either at the end of the transaction, or if a xref:userguide:fun:domain-entities-and-services.adoc#finding[query is run], or if the internal queue is manually flushed using xref:refguide:applib:index/services/xactn/TransactionService.adoc[`TransactionService`]'s `flush()` method.
+This is then executed either at the end of the transaction, or if a xref:userguide:fun:domain-entities-and-services.adoc#finding[query is run], or if the internal queue is manually flushed using xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService]'s `flush()` method.
 
 Alternatively, you can use:
 
diff --git a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-entities.adoc b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-entities.adoc
index a272cd4..bb1bda5 100644
--- a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-entities.adoc
+++ b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-entities.adoc
@@ -155,7 +155,7 @@ Must correspond to the class on which the annotation is defined (the framework c
 
 JDO/DataNucleus provides several APIs for defining queries, including entirely programmatic and type-safe APIs; but JDOQL is very similar to SQL and so easily learnt.
 
-To actually use the above definition, the framework provides the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`].
+To actually use the above definition, the framework provides the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService].
 This is a generic repository for any domain class.
 
 The corresponding repository method for the above query is:
diff --git a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
index 502babd..36d9a6c 100644
--- a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
+++ b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
@@ -10,12 +10,12 @@ This may be exposed in the UI, or might be invoked programmatically.
 
 However, a service cannot have (persisted) properties, nor can it have (persisted) collections.
 
-Domain services that are visible in the UI or REST API are annotated with xref:refguide:applib:index/annotation/DomainService.adoc[`@DomainService()`], while services that are _programmatic_ in nature should be simply annotated using Spring's xref:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Component.html[`@Component`] or one of its specializations, eg
-xref:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Service.html[`@Service`]
-orxref:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Repository.html[`@Repository`].
+Domain services that are visible in the UI or REST API are annotated with xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService()], while services that are _programmatic_ in nature should be simply annotated using Spring's xref:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component] or one of its specializations, eg
+xref:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Service.html[@Service]
+orxref:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/stereotype/Repository.html[@Repository].
 
 Apache Isis runs on top of Spring Boot, and relies on Spring Boot for dependency injection using `@javax.inject.Inject`.
-The Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation is used to prioritize multiple service implementations, effectively allowing any framework-provided domain service to be substituted out by a user-defined one with higher priority if required.
+The Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation is used to prioritize multiple service implementations, effectively allowing any framework-provided domain service to be substituted out by a user-defined one with higher priority if required.
 
 This section looks at the programming model for writing your own domain services.
 
@@ -23,12 +23,12 @@ This section looks at the programming model for writing your own domain services
 == Nature of Service
 
 Apache Isis uses Spring Boot to instantiate and manage the dependency injection of domain services.
-The vast majority of these are singleton (application) scoped; a smaller number are request scoped (using the xref:refguide:applib:index/annotation/InteractionScope.adoc[`@IsisSessionScope`] annotation).
+The vast majority of these are singleton (application) scoped; a smaller number are request scoped (using the xref:refguide:applib:index/annotation/InteractionScope.adoc[@IsisSessionScope] annotation).
 
-Accordingly, all domain services are annotated or meta-annotated using Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[`@Component`] annotation.
+Accordingly, all domain services are annotated or meta-annotated using Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component] annotation.
 
-For domain services to be visible in the Apache Isis UI, they must be annotated with xref:refguide:applib:index/annotation/DomainService.adoc[`@DomainService`].
-Its xref:refguide:applib:index/annotation/DomainService.adoc#nature[`#nature()`] attribute is either:
+For domain services to be visible in the Apache Isis UI, they must be annotated with xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService].
+Its xref:refguide:applib:index/annotation/DomainService.adoc#nature[#nature()] attribute is either:
 
 * `VIEW` (the default if not specified)
 +
@@ -40,12 +40,12 @@ which indicates that the actions should appear in the REST API provided by the x
 
 It's also possible to define a "programmatic" domain service, meaning one that is instantiated and injected by Spring Boot, but is not visible in the UI or REST API.
 For example, the xref:subdomains:docx:about.adoc[Docx Library] provides a domain service that performs mail merge using MS Word, but this domain service is not intended to appear in the UI.
-Such programmatic services are usually annotated with Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Service.html[`@Service`] annotation or link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Repository.html[`@Repository`].
+Such programmatic services are usually annotated with Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Service.html[@Service] annotation or link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Repository.html[@Repository].
 
 == Repository and Factory
 
-The repository/factory uses an injected xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`] to both instantiate new objects and to query the database for existing objects of a given entity type.
-Generally these services are not visible in UI, and so are annotated with link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Repository.html[`@Repository`]
+The repository/factory uses an injected xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService] to both instantiate new objects and to query the database for existing objects of a given entity type.
+Generally these services are not visible in UI, and so are annotated with link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Repository.html[@Repository]
 
 For example:
 
@@ -79,7 +79,7 @@ public CustomerRepository {
 }
 ----
 <.> Detected and managed by Spring Boot.
-<.> Lombok annotation for dependency injection of xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`] through generated constructor.
+<.> Lombok annotation for dependency injection of xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService] through generated constructor.
 <.> uses injected `RepositoryService` to query via JDOQL.
 <.> uses injected `RepositoryService` to instantiate a not-yet-persisted domain entity ...
 <.> \... and then save into the database a new `Customer` instance.
@@ -90,7 +90,7 @@ There is no need to annotate the actions; they are implicitly hidden because of
 [TIP]
 ====
 JDO/Datanucleus also supports link:http://www.datanucleus.org:15080/products/accessplatform_5_2/jdo/query.html#jdoql_typed[type-safe queries].
-These can be executed through the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[`IsisJdoSupport`] domain service.
+These can be executed through the xref:pjdo:ROOT:services/IsisJdoSupport.adoc[IsisJdoSupport] domain service.
 ====
 
 == Menu
@@ -138,7 +138,7 @@ public class Customers {
 
 <.> Rendered in the UI as a "Find By Name" menu item underneath the "Customers" menu.
 
-<.> The xref:refguide:applib:index/annotation/ParameterLayout.adoc[`@ParameterLayout`] provides metadata for the parameter itself, in this case its name.
+<.> The xref:refguide:applib:index/annotation/ParameterLayout.adoc[@ParameterLayout] provides metadata for the parameter itself, in this case its name.
 +
 [TIP]
 ====
@@ -184,7 +184,7 @@ public class OnCustomerDeletedCascadeDeleteOrders {
 ----
 <.> subscriptions do not appear in the UI at all
 
-<.> use Spring Framework's link:https://javadoc.io/doc/org.springframework/spring-context/latest/org/springframework/context/event/EventListener.html[`@EventListener`]
+<.> use Spring Framework's link:https://javadoc.io/doc/org.springframework/spring-context/latest/org/springframework/context/event/EventListener.html[@EventListener]
 
 <.> the parameter type of the method corresponds to the event emitted on the event bus.
 The actual method name does not matter (though it must have `public` visibility).
@@ -195,10 +195,10 @@ By default all domain services are application-scoped, in other words singletons
 Such domain services are required to be thread-safe, usually satisfied by being intrinsically stateless.
 
 Sometimes though a service's lifetime is applicable only to a single (http) request.
-The framework has a number of such services, including a xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[`Scratchpad`] service (to share adhoc data between methods), and xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[`QueryResultsCache`], which as its name suggests will cache query results.
+The framework has a number of such services, including a xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[Scratchpad] service (to share adhoc data between methods), and xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache], which as its name suggests will cache query results.
 Such services _do_ hold state, but that state is scoped per (possibly concurrent) request and should be removed afterwards.
 
-The requirement for request-scoped services is supported using Apache Isis' own xref:refguide:applib:index/annotation/InteractionScope.adoc[`@IsisSessionScope`] annotation (named because a short-lived `IsisSession` is created for each request).
+The requirement for request-scoped services is supported using Apache Isis' own xref:refguide:applib:index/annotation/InteractionScope.adoc[@IsisSessionScope] annotation (named because a short-lived `IsisSession` is created for each request).
 This is used by the framework services and can also be used for user-defined services.
 
 For example:
@@ -238,7 +238,7 @@ public class SomeClient {
 
 Spring provides numerous mechanisms to configure domain services, both in terms of binding or passing in the configuration property to the service, and in terms of setting the value within some sort of configuration file.
 
-The mechanism prefered by Apache Isis itself, and which you are free to use for your own services, is the type-safe link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/properties/ConfigurationProperties.html[`ConfigurationProperties`], whereby the configuration properties are expressed in a series of nested static classes.
+The mechanism prefered by Apache Isis itself, and which you are free to use for your own services, is the type-safe link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/properties/ConfigurationProperties.html[ConfigurationProperties], whereby the configuration properties are expressed in a series of nested static classes.
 
 The xref:docs:starters:simpleapp.adoc[simpleapp starter app] includes an example:
 
@@ -278,7 +278,7 @@ val prohibitedCharacters =
   config.getTypes().getName().getValidation().getProhibitedCharacters();
 ----
 
-For this configuration property service to be discovered and managed by Spring, we need to use the link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/properties/EnableConfigurationProperties.html[`EnableConfigurationProperties`] annotation.
+For this configuration property service to be discovered and managed by Spring, we need to use the link:https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/properties/EnableConfigurationProperties.html[EnableConfigurationProperties] annotation.
 This normally would reside on the owning module (discussed in more detail xref:modules.adoc[later]):
 
 [source,java]
diff --git a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc
index e7f6b64..e51c6d9 100644
--- a/antora/components/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc
+++ b/antora/components/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc
@@ -5,16 +5,16 @@
 :page-partial:
 
 
-Apache Isis runs on top of Spring Boot, and uses Spring Boot for dependency injection, both the application's own domain services and also the many additional services defined by the framework (such as xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]).
+Apache Isis runs on top of Spring Boot, and uses Spring Boot for dependency injection, both the application's own domain services and also the many additional services defined by the framework (such as xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]).
 
 Since this is a core capability of Spring, it's worth checking out Spring's link:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-factory-collaborators[documentation] on the topic.
 
 [TIP]
 ====
-Injection is requested using the JEE link:https://docs.oracle.com/javaee/7/api/javax/inject/Inject.html[`@javax.inject.Inject`] annotation.
+Injection is requested using the JEE link:https://docs.oracle.com/javaee/7/api/javax/inject/Inject.html[@javax.inject.Inject] annotation.
 This is described in Spring's documentation, link:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-standard-annotations[using JSR330 standard annotations].
 
-It is also possible to use Spring's own link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/annotation/Autowired.html[`@Autowired`] annotation.
+It is also possible to use Spring's own link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/annotation/Autowired.html[@Autowired] annotation.
 Since the two annotations are effectively equivalent, we recommend using the JEE standard.
 ====
 
@@ -143,7 +143,7 @@ Using default visibility here still allows the field to be mocked out within uni
 
 == Multiple Implementations
 
-If there is more than one implementation of the service, then a specific implementation can be requested using either Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Primary.html[`@Primary`] annotation (further discussion link:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-autowired-annotation-primary[here]) or Spring's link:https://docs.spring.io/spring-framework/docs/current/jav [...]
+If there is more than one implementation of the service, then a specific implementation can be requested using either Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Primary.html[@Primary] annotation (further discussion link:https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#beans-autowired-annotation-primary[here]) or Spring's link:https://docs.spring.io/spring-framework/docs/current/javad [...]
 
 All of the domain services provided by Apache Isis' are annotated with `@Qualifier` to enable this.
 
@@ -163,7 +163,7 @@ public class DocumentService {
 }
 ----
 
-These will be in the order as defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[`@Order`] annotation.
+These will be in the order as defined by the Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/annotation/Order.html[@Order] annotation.
 
 This pattern can be useful when implementing the link:https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern[chain of responsibility] design pattern, that is, looking for the first implementation that can handle a request.
 
@@ -177,9 +177,9 @@ All other implementations available will also be called.
 
 Most domain services are application-scoped, in other words they are stateless global singletons that are shared by all concurrent requests.
 
-A small number of framework-provided services are annotated using xref:refguide:applib:index/annotation/InteractionScope.adoc[`@IsisSessionScope`].
+A small number of framework-provided services are annotated using xref:refguide:applib:index/annotation/InteractionScope.adoc[@IsisSessionScope].
 This means that they are stateful and scoped with each isis session, in other words HTTP request.
-One such service is xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[`QueryResultsCache`], used for performance caching.
+One such service is xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache], used for performance caching.
 
 These domain services must be requested using a slightly different idiom, using the `Provider` interface.
 For example:
diff --git a/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
index aaaac48..6c27565 100644
--- a/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
+++ b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
@@ -7,16 +7,16 @@
 Invoking an action whose parameters are primitives or values (int, date, string etc) is simple: the user can just type in or use a date picker.
 Invoking an action with a parameter of reference type (such as `Customer` or `Order`) requires the viewer to provide some mechanism by which the end-user can select the relevant instance.
 
-If the list of available options is fixed then the developer can provided a list a xref:refguide:applib-cm:methods.adoc#choices[`choices...()`] supporting method (for either and action parameter or when editing a property).
+If the list of available options is fixed then the developer can provided a list a xref:refguide:applib-cm:methods.adoc#choices[choices...()] supporting method (for either and action parameter or when editing a property).
 These are rendered in a drop-down.
 
-If the list of available options is much larger, then the developer can use an xref:refguide:applib-cm:methods.adoc#autoComplete[`autoComplete...()`] supporting method.
+If the list of available options is much larger, then the developer can use an xref:refguide:applib-cm:methods.adoc#autoComplete[autoComplete...()] supporting method.
 The user user enters a few characters and this is used to search for matching reference(s), again rendered in a drop-down.
 
 Similarly, when invoking an action, there may well be suitable defaults for the action arguments.
 For example, if placing an `Order` then -- even if the `Product` argument might not have a sensible default -- the quantity argument could reasonably be defaulted to 1.
 Or, the `Product` might indeed have a default, say the product previously placed by this user.
-The developer indicates this using a xref:refguide:applib-cm:methods.adoc#default[`default...()`] supporting method.
+The developer indicates this using a xref:refguide:applib-cm:methods.adoc#default[default...()] supporting method.
 
 
 == Choices and Default
@@ -121,7 +121,7 @@ For example:
 public class Product { /* ... */ }
 ----
 
-For more on this, see xref:refguide:applib:index/annotation/DomainObject.adoc#bounding[`@DomainObject#bounding`].
+For more on this, see xref:refguide:applib:index/annotation/DomainObject.adoc#bounding[@DomainObject#bounding].
 
 Or, if the data type is an enum, then a drop-down will be provided automatically.
 A payment method is a good example of this:
@@ -160,7 +160,7 @@ public class Customers {
 }
 ----
 
-For more on this, see xref:refguide:applib:index/annotation/DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository`].
+For more on this, see xref:refguide:applib:index/annotation/DomainObject.adoc#autoCompleteRepository[@DomainObject#autoCompleteRepository].
 
 [TIP]
 ====
@@ -187,7 +187,7 @@ public List<Tag> autoCompleteTag(@MinLength(1) search) {
 ----
 
 
-If the action has been associated with a collection, using xref:refguide:applib:index/annotation/Action.adoc#associateWith[`@Action#associateWith()`], then the collection can be used to provide a list of candidate values.
+If the action has been associated with a collection, using xref:refguide:applib:index/annotation/Action.adoc#associateWith[@Action#associateWith()], then the collection can be used to provide a list of candidate values.
 
 The xref:vw:ROOT:about.adoc[Wicket Viewer] handles this by rendering checkboxes against the associated collection; the user can select/deselect these checkboxes and the selected items are taken as the values for the multi-select action.
 
diff --git a/antora/components/userguide/modules/fun/pages/meta-annotations.adoc b/antora/components/userguide/modules/fun/pages/meta-annotations.adoc
index 1c4ad8b..5d9e0b0 100644
--- a/antora/components/userguide/modules/fun/pages/meta-annotations.adoc
+++ b/antora/components/userguide/modules/fun/pages/meta-annotations.adoc
@@ -38,10 +38,10 @@ public @interface Name {
 ----
 <.> ORM annotation
 <.> Annotations that are inferred if annotated on a property. +
-The xref:refguide:applib:index/annotation/Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] allows arbitrary validation rules to be specified for the property.
+The xref:refguide:applib:index/annotation/Property.adoc#mustSatisfy[@Property#mustSatisfy()] allows arbitrary validation rules to be specified for the property.
 
 <.> Annotations that are inferred if annotated on a parameter +
-The xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] allows the same validation rules to be specified for the parameter.
+The xref:refguide:applib:index/annotation/Parameter.adoc#mustSatisfy[@Parameter#mustSatisfy()] allows the same validation rules to be specified for the parameter.
 
 <.> Layout annotations that are inferred if annotated on a parameter
 
diff --git a/antora/components/userguide/modules/fun/pages/mixins.adoc b/antora/components/userguide/modules/fun/pages/mixins.adoc
index d0f59a7..6d28ce9 100644
--- a/antora/components/userguide/modules/fun/pages/mixins.adoc
+++ b/antora/components/userguide/modules/fun/pages/mixins.adoc
@@ -15,15 +15,15 @@ Under the covers, all mixins are basically actions that use the mixee as one of
 ** if as derived state, then it will be rendered as a property (if it returns a scalar), or as a collection (if it returns a vector).
 
 
-Accordingly, a mixin can be defined using the xref:refguide:applib:index/annotation/Action.adoc[`@Action`], xref:refguide:applib:index/annotation/Property.adoc[`@Property`] or xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`] annotations, but defined at the domain class level rather than at the method level.
+Accordingly, a mixin can be defined using the xref:refguide:applib:index/annotation/Action.adoc[@Action], xref:refguide:applib:index/annotation/Property.adoc[@Property] or xref:refguide:applib:index/annotation/Collection.adoc[@Collection] annotations, but defined at the domain class level rather than at the method level.
 
-Using xref:refguide:applib:index/annotation/DomainObject.adoc#nature[`@DomainObject#nature`] attribute (specifying a nature of `Nature.MIXIN`), in combination with the above allows for more fine grained control, eg. nominating the mixin's method name.
+Using xref:refguide:applib:index/annotation/DomainObject.adoc#nature[@DomainObject#nature] attribute (specifying a nature of `Nature.MIXIN`), in combination with the above allows for more fine grained control, eg. nominating the mixin's method name.
 
 When the mixin follows the naming convention `SomeType_mixinName` then the method name can be abbreviated, and the name of the member being contributed is inferred from the name of the class itself, being everything after the last '_'.
 
 == Contributed Collection
 
-The example below shows how to contribute a collection, using xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`].
+The example below shows how to contribute a collection, using xref:refguide:applib:index/annotation/Collection.adoc[@Collection].
 The method is expected to be called "coll":
 
 [source,java]
@@ -52,7 +52,7 @@ The above will result in a contributed collection "documents" for all types that
 
 == Contributed Property
 
-Contributed properties can likewise be defined using xref:refguide:applib:index/annotation/Property.adoc[`@Property`]; this implies a method called "prop":
+Contributed properties can likewise be defined using xref:refguide:applib:index/annotation/Property.adoc[@Property]; this implies a method called "prop":
 
 [source,java]
 ----
@@ -80,7 +80,7 @@ This contributes a property called "mostRecentDocument".
 [#contributed-action]
 == Contributed Action
 
-Contributed actions are defined similarly, using xref:refguide:applib:index/annotation/Action.adoc[`@Action`]; this implies a method called "act".
+Contributed actions are defined similarly, using xref:refguide:applib:index/annotation/Action.adoc[@Action]; this implies a method called "act".
 For example:
 
 [source,java]
@@ -158,7 +158,7 @@ Can be camelCase or PascalCase, either will work.
 When a domain object is rendered, the framework will automatically instantiate all required mixins and delegate to them dynamically.
 If writing integration tests or fixtures, or (sometimes) just regular domain logic, then you may need to instantiate mixins directly.
 
-For this you can use the xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService#mixin(...)`] method.
+For this you can use the xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService#mixin(...)] method.
 
 For example:
 
@@ -168,7 +168,7 @@ DocumentHolder_documents mixin =
     factoryService.mixin(DocumentHolder_documents.class, customer);
 ----
 
-Alternatively, you can use xref:refguide:applib:index/services/inject/ServiceInjector.adoc[`ServiceInjector`] to inject domain services after the mixin has been instantiated.
+Alternatively, you can use xref:refguide:applib:index/services/inject/ServiceInjector.adoc[ServiceInjector] to inject domain services after the mixin has been instantiated.
 You'll need to use this method if using nested non-static mixins:
 
 
diff --git a/antora/components/userguide/modules/fun/pages/modules.adoc b/antora/components/userguide/modules/fun/pages/modules.adoc
index 23931ee..4e4d0f8 100644
--- a/antora/components/userguide/modules/fun/pages/modules.adoc
+++ b/antora/components/userguide/modules/fun/pages/modules.adoc
@@ -4,8 +4,8 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
-In Apache Isis we use Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[`@Configuration`]s to define a module, consisting of a set of domain services and domain objects (entities, view models and mixins).
-Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html[`@Import`] is used to express a dependency between each "configuration" module.
+In Apache Isis we use Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration]s to define a module, consisting of a set of domain services and domain objects (entities, view models and mixins).
+Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html[@Import] is used to express a dependency between each "configuration" module.
 
 TIP: See Spring documentation on link:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-annotation-config[annotation-based container configuration], link:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-classpath-scanning[classpath scanning] and link:https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#beans-java[java-based configuration] for much more on this topic.
 
diff --git a/antora/components/userguide/modules/fun/pages/object-members/actions.adoc b/antora/components/userguide/modules/fun/pages/object-members/actions.adoc
index c2e4441..933a4e9 100644
--- a/antora/components/userguide/modules/fun/pages/object-members/actions.adoc
+++ b/antora/components/userguide/modules/fun/pages/object-members/actions.adoc
@@ -22,10 +22,10 @@ You can find further discussion on when and why you should write actions xref:ov
 
 == Defining actions
 
-If the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action.explicit[`isis.applib.annotation.action.explicit`] configuration property is not set (the default), then any "left-over" `public` methods will be considered to be actions.
+If the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action.explicit[isis.applib.annotation.action.explicit] configuration property is not set (the default), then any "left-over" `public` methods will be considered to be actions.
 These are methods that do not represent properties or collections, and that are not recognised as xref:business-rules.adoc[supporting methods] (such as `hideXxx()` or `disableXxx()`).
 
-Conversely, if that xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action.explicit[`isis.applib.annotation.action.explicit`] configuration property _is_ set, then the xref:refguide:applib:index/annotation/Action.adoc[`@Action`] annotation must be applied for the method to be treated as an action.
+Conversely, if that xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action.explicit[isis.applib.annotation.action.explicit] configuration property _is_ set, then the xref:refguide:applib:index/annotation/Action.adoc[@Action] annotation must be applied for the method to be treated as an action.
 The `@Action` annotation is also used to specify additional domain semantics, for example regarding idempotency.
 
 For example:
@@ -48,7 +48,7 @@ If the code is compiled (`javac`) using the `-parameters` flag, then the name of
 
 Otherwise, the type of the parameter is used.
 For the `product` parameter this is reasonable, but not so for the `quantity` parameter (which would by default show up with a name of "int".
-In such a case the xref:refguide:applib:index/annotation/ParameterLayout.adoc[`@ParameterLayout`] annotation can be used to provide the UI hint.
+In such a case the xref:refguide:applib:index/annotation/ParameterLayout.adoc[@ParameterLayout] annotation can be used to provide the UI hint.
 
 
 
@@ -58,7 +58,7 @@ In such a case the xref:refguide:applib:index/annotation/ParameterLayout.adoc[`@
 Parameter types can be value types or reference types.
 In the case of primitive types, the end-user can just enter the value directly through the parameter field.
 In the case of reference types however (such as `Product`), a drop-down must be provided from which the end-user to select.
-This is done using either a supporting xref:refguide:applib-cm:methods.adoc#choices[`choices`] or xref:refguide:applib-cm:methods.adoc#autoComplete[`autoComplete`] method.
+This is done using either a supporting xref:refguide:applib-cm:methods.adoc#choices[choices] or xref:refguide:applib-cm:methods.adoc#autoComplete[autoComplete] method.
 The "choices" is used when there is a limited set of options, while "autoComplete" is used when there are large set of options such that the end-user must provide some characters to use for a search.
 
 For example, the `addToBasket(...)` action shown above might well have an autocomplete supporting method :
@@ -87,7 +87,7 @@ ProductRepository productRepository;
 The "0" in the name means that this corresponds to parameter 0 of the "addToBasket" action (ie `Product`).
 It is also required to return a Collection of that type.
 
-<.> The xref:refguide:applib:index/annotation/MinLength.adoc[`@MinLength`] annotation defines how many characters the end-user must enter before performing a search.
+<.> The xref:refguide:applib:index/annotation/MinLength.adoc[@MinLength] annotation defines how many characters the end-user must enter before performing a search.
 
 <.> The implementation delegates to an injected repository service.  This is typical.
 
@@ -110,7 +110,7 @@ public class Product ... {
 <.> Whenever an action parameter requiring a `Product` is defined, provide an autoComplete drop-down automatically
 <.> Use the "find" method of `ProductRepository` (rather than the default name of "autoComplete").
 +
-NOTE: The referenced method can be xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`] - it doesn't actually need to be an action in the metamodel.
+NOTE: The referenced method can be xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic] - it doesn't actually need to be an action in the metamodel.
 
 === Removing boilerplate with choices
 
@@ -164,12 +164,12 @@ public List<Product> autoComplete0AddToBasket(              // <.>
 }
 ----
 
-As the example suggests, any collection parameter type must provide a way to select items, either by way of a "choices" or "autoComplete" supporting method or alternatively defined globally using xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject`] on the referenced type (described xref:userguide:fun:object-members.adoc#reference-parameter-types[above]).
+As the example suggests, any collection parameter type must provide a way to select items, either by way of a "choices" or "autoComplete" supporting method or alternatively defined globally using xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] on the referenced type (described xref:userguide:fun:object-members.adoc#reference-parameter-types[above]).
 
 
 == Optional Parameters
 
-Either the xref:refguide:applib-ant:Nullable.adoc[`@Nullable`] annotation or the xref:refguide:applib:index/annotation/Parameter.adoc#optionality[`@Parameter#optionality`]  annotation/attribute can be used to indicate that a parameter can be left blank.
+Either the xref:refguide:applib-ant:Nullable.adoc[@Nullable] annotation or the xref:refguide:applib:index/annotation/Parameter.adoc#optionality[@Parameter#optionality]  annotation/attribute can be used to indicate that a parameter can be left blank.
 
 For example:
 
@@ -205,7 +205,7 @@ See also xref:userguide:fun:meta-annotations.adoc#properties-vs-parameters[prope
 
 == ``String`` Parameters (Length)
 
-The xref:refguide:applib:index/annotation/Parameter.adoc#maxLength[`@Parameter#maxLength`] annotation/attribute is used to specify the maximum number of characters allowed for a string parameter.
+The xref:refguide:applib:index/annotation/Parameter.adoc#maxLength[@Parameter#maxLength] annotation/attribute is used to specify the maximum number of characters allowed for a string parameter.
 
 For example:
 
@@ -235,10 +235,10 @@ private String firstName;
 @Getter @Setter
 private String lastName;
 ----
-<.> Specifies the parameter length using xref:refguide:applib:index/annotation/Parameter.adoc#maxLength[`@Parameter#maxLength`] annotation
+<.> Specifies the parameter length using xref:refguide:applib:index/annotation/Parameter.adoc#maxLength[@Parameter#maxLength] annotation
 <.> Specifies the length of a corresponding property.
 +
-Note that this uses an ORM-specific annotation (in this case, xref:refguide:applib-ant:Column.adoc#length-for-strings[`@Column#length()`] annotation
+Note that this uses an ORM-specific annotation (in this case, xref:refguide:applib-ant:Column.adoc#length-for-strings[@Column#length()] annotation
 
 [IMPORTANT]
 ====
@@ -251,7 +251,7 @@ See also xref:userguide:fun:meta-annotations.adoc#properties-vs-parameters[prope
 
 == ``BigDecimal``s (Precision)
 
-The xref:refguide:applib-ant:Digits.adoc[`@javax.validation.constraints.Digits#fraction`] annotation/attribute is used to specify the scale/precision of decimals.
+The xref:refguide:applib-ant:Digits.adoc[@javax.validation.constraints.Digits#fraction] annotation/attribute is used to specify the scale/precision of decimals.
 
 For example:
 
@@ -273,10 +273,10 @@ public Order updateDiscount(
 @Getter @Setter
 private BigDecimal discountRate;
 ----
-<.> Specifies the parameter precision using xref:refguide:applib-ant:Digits.adoc[`@Digits#fraction`].
+<.> Specifies the parameter precision using xref:refguide:applib-ant:Digits.adoc[@Digits#fraction].
 <.> Specifies the corresponding property precision.
 +
-Note that this uses an ORM-specific annotation (in this case,  xref:refguide:applib-ant:Column.adoc#lengthscale-for-bigdecimals[`@Column#scale`]
+Note that this uses an ORM-specific annotation (in this case,  xref:refguide:applib-ant:Column.adoc#lengthscale-for-bigdecimals[@Column#scale]
 
 See also xref:userguide:fun:meta-annotations.adoc#properties-vs-parameters[properties vs parameters].
 
diff --git a/antora/components/userguide/modules/fun/pages/object-members/collections.adoc b/antora/components/userguide/modules/fun/pages/object-members/collections.adoc
index bd641eb..8a04ab0 100644
--- a/antora/components/userguide/modules/fun/pages/object-members/collections.adoc
+++ b/antora/components/userguide/modules/fun/pages/object-members/collections.adoc
@@ -15,14 +15,14 @@ Formally speaking, a collection is simply a regular JavaBean getter, returning a
 Most collections (those that are modifiable) will also have a setter and, if persisted, a backing instance field.
 And collections properties will also have a number of annotations:
 
-* Apache Isis defines its own xref xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`] annotation for capturing domain semantics.
-It also provides a xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`] for UI hints (though the information in this annotation may instead be provided by a supplementary xref:userguide:fun:ui.adoc#object-layout[`.layout.xml`] file)
+* Apache Isis defines its own xref xref:refguide:applib:index/annotation/Collection.adoc[@Collection] annotation for capturing domain semantics.
+It also provides a xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout] for UI hints (though the information in this annotation may instead be provided by a supplementary xref:userguide:fun:ui.adoc#object-layout[.layout.xml] file)
 
 * the collections of domain entities are often annotated with ORM annotation(s).
 In the case of JDO/DataNucleus annotations this is most notably `javax.jdo.annotations.Persistent`.
 Other annotations can be used to specify if the association is bidirectional, and whether to define a link table or not to hold foreign key columns.
 
-* for the collections of view models, then JAXB annotations such as link:https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElementWrapper.html[`@javax.xml.bind.annotation.XmlElementWrapper`] and link:https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElement.html[`@javax.xml.bind.annotation.XmlElement`] will be present
+* for the collections of view models, then JAXB annotations such as link:https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElementWrapper.html[@javax.xml.bind.annotation.XmlElementWrapper] and link:https://docs.oracle.com/javase/7/docs/api/javax/xml/bind/annotation/XmlElement.html[@javax.xml.bind.annotation.XmlElement] will be present
 
 Apache Isis may recognise some of these annotations from the persistence layer infers some domain semantics from them.
 
@@ -103,14 +103,14 @@ JDO/Datanucleus does support the mapping of these other types, but RDBMS are set
 
 While ORMs support `java.util.Map` as a collection type, maps are not supported by Apache Isis.
 
-If you do wish to use this collection type, then annotate the getter with xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`] so that it is ignored by the Apache Isis framework.
+If you do wish to use this collection type, then annotate the getter with xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic] so that it is ignored by the Apache Isis framework.
 
 == Value vs Reference Types
 
 While ORMs support collections/arrays of value types, such collections are not supported by Apache Isis.
 Apache Isis can (currently) only provide a UI for collections of references.
 
-If you do wish to use collections of this type, then annotate the getter with xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`] so that it is ignored by the Apache Isis framework.
+If you do wish to use collections of this type, then annotate the getter with xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic] so that it is ignored by the Apache Isis framework.
 
 As a workaround, if you want to visualize an array of value types in Apache Isis, then one option is to wrap the value in a view model, as explained xref:userguide:btb:about.adoc#simulating-collections-of-values[here].
 
diff --git a/antora/components/userguide/modules/fun/pages/object-members/properties.adoc b/antora/components/userguide/modules/fun/pages/object-members/properties.adoc
index 9d5cb6c..53ad5ad 100644
--- a/antora/components/userguide/modules/fun/pages/object-members/properties.adoc
+++ b/antora/components/userguide/modules/fun/pages/object-members/properties.adoc
@@ -15,16 +15,16 @@ Formally speaking, a property is simply a regular JavaBean getter, returning a s
 Most properties (those that are editable/modifiable) will also have a setter and, if persisted, a backing instance field.
 And most properties will also have a number of annotations:
 
-* Apache Isis defines its own xref:refguide:applib:index/annotation/Property.adoc[`@Property`] annotation for capturing domain semantics.
-It also provides a xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`] for UI hints (though the information in this annotation may instead be provided by a supplementary xref:userguide:fun:ui.adoc#object-layout[`.layout.xml`] file)
+* Apache Isis defines its own xref:refguide:applib:index/annotation/Property.adoc[@Property] annotation for capturing domain semantics.
+It also provides a xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout] for UI hints (though the information in this annotation may instead be provided by a supplementary xref:userguide:fun:ui.adoc#object-layout[.layout.xml] file)
 
 * the properties of domain entities are usually also annotated with an ORM annotation.
 +
-In the case of xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] this would be the link:http://www.datanucleus.org/products/datanucleus/jdo/annotations.html#Column[`@javax.jdo.annotations.Column`] annotation.
+In the case of xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] this would be the link:http://www.datanucleus.org/products/datanucleus/jdo/annotations.html#Column[@javax.jdo.annotations.Column] annotation.
 For property references, there may be other annotations to indicate whether the reference is bidirectional.
 It's also possible (using annotations) to define a link table to hold foreign key columns.
 
-* for the properties of view models, then JAXB annotations such as  link:https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/annotation/XmlElement.html[`@XmlElement`] may be present
+* for the properties of view models, then JAXB annotations such as  link:https://docs.oracle.com/javase/8/docs/api/javax/xml/bind/annotation/XmlElement.html[@XmlElement] may be present
 
 Apache Isis recognises some of these annotations from the persistence layer and infers some domain semantics from them (for example, the maximum allowable length of a string property).
 
@@ -145,11 +145,11 @@ import lombok.Setter;
 private String notes;
 ----
 
-If this is omitted then whether editing is enabled or disabled is inherited from the domain object level, xref:refguide:applib:index/annotation/DomainObject.adoc#editing[`@DomainObject#editing()`].
+If this is omitted then whether editing is enabled or disabled is inherited from the domain object level, xref:refguide:applib:index/annotation/DomainObject.adoc#editing[@DomainObject#editing()].
 
 If that isn't specified (or is set to "AS_CONFIGURED"), then the configuration is taken from the `application.properties` configuration file:
 
-* xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[`isis.applib.annotation.domain-object.editing`]
+* xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.domain-object.editing[isis.applib.annotation.domain-object.editing]
 +
 for all properties in the domain object.
 
@@ -196,7 +196,7 @@ Excluded from the Apache Isis metamodel.
 == Ignoring Properties
 
 By default Apache Isis will automatically render all properties in the xref:vw:ROOT:about.adoc[Wicket UI] or in the xref:vro:ROOT:about.adoc[REST API].
-To get Apache Isis to ignore a property (exclude it from its metamodel), annotate the getter using xref:refguide:applib:index/annotation/Programmatic.adoc[`@Programmatic`].
+To get Apache Isis to ignore a property (exclude it from its metamodel), annotate the getter using xref:refguide:applib:index/annotation/Programmatic.adoc[@Programmatic].
 
 Similarly, for the JDO/DataNucleus ORM, ignore a property using the `@javax.jdo.annotations.NotPersistent` annotation.
 This is independent of Apache Isis; in other words that property will still be rendered in the UI (unless also annotated with `@Programmatic`).
@@ -204,7 +204,7 @@ This is independent of Apache Isis; in other words that property will still be r
 For view models, you can tell JAXB to ignore a property using the `@javax.xml.bind.annotation.XmlTransient` annotation.
 Again, this is independent of Apache Isis.
 
-You can also suppress a property from the UI using xref:refguide:applib:index/annotation/Property.adoc#hidden[`@Property#hidden()`] or indeed xref:refguide:applib:index/annotation/PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`].
+You can also suppress a property from the UI using xref:refguide:applib:index/annotation/Property.adoc#hidden[@Property#hidden()] or indeed xref:refguide:applib:index/annotation/PropertyLayout.adoc#hidden[@PropertyLayout#hidden()].
 However, this doesn't exclude the property from the metamodel.
 
 == Derived Properties
diff --git a/antora/components/userguide/modules/fun/pages/overview/events.adoc b/antora/components/userguide/modules/fun/pages/overview/events.adoc
index 6d7b1d9..182581a 100644
--- a/antora/components/userguide/modules/fun/pages/overview/events.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/events.adoc
@@ -7,7 +7,7 @@
 When the framework renders a domain object, and as the end-user interacts with the domain object, the framework it emits multiple events using the intra-process xref:refguide:applib:index/services/eventbus/EventBusService.adoc[event bus].
 These events enable other domain services (possibly in other modules) to influence how the domain object is rendered, or to perform side-effects or even veto an action invocation.
 
-To receive the events, the domain service should subscribe to the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[`EventBusService`], and implement an appropriately annotated method to receive the events.
+To receive the events, the domain service should subscribe to the xref:refguide:applib:index/services/eventbus/EventBusService.adoc[EventBusService], and implement an appropriately annotated method to receive the events.
 
 The framework has several categories of events: domain events, UI events and lifecycle events.
 These are explored in the sections below.
@@ -17,7 +17,7 @@ These are explored in the sections below.
 
 Domain events are fired -- through the internal xref:refguide:applib:index/services/eventbus/EventBusService.adoc[event bus] -- for every user interaction with each object member (property, collection or action).
 
-By default, rendering a property causes a `PropertyDomainEvent` to be fired, though the xref:refguide:applib:index/annotation/Property.adoc#domainEvent[`@Property#domainEvent()`] attribute allows a custom subclass to be specified if necessary.
+By default, rendering a property causes a `PropertyDomainEvent` to be fired, though the xref:refguide:applib:index/annotation/Property.adoc#domainEvent[@Property#domainEvent()] attribute allows a custom subclass to be specified if necessary.
 Similarly, rendering a collection causes a `CollectionDomainEvent` to be fired, and rendering an action causes an `ActionDomainEvent` 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:
@@ -52,9 +52,9 @@ xref:userguide:fun:ui.adoc#object-titles-and-icons[Normally] the code to return
 However, UI events allow this title and icon to be provided instead by a subscriber.
 UI events have higher precedence than the other mechanisms of supplying a title.
 
-If annotated with xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], the appropriate (subclass of) `TitleUiEvent` will be emitted.
-Similarly for xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[`#iconUiEvent()`].
-In addition, it is possible to use events to obtain a CSS class to render with the domain object, using xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassUiEvent[`#cssClassUiEvent()`], and to select an alternate xref:userguide:fun:ui.adoc#layout-file[layout file] using xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#layoutUiEvent[`#layoutUiEvent()`].
+If annotated with xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[@DomainObjectLayout#titleUiEvent()], the appropriate (subclass of) `TitleUiEvent` will be emitted.
+Similarly for xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[#iconUiEvent()].
+In addition, it is possible to use events to obtain a CSS class to render with the domain object, using xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassUiEvent[#cssClassUiEvent()], and to select an alternate xref:userguide:fun:ui.adoc#layout-file[layout file] using xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#layoutUiEvent[#layoutUiEvent()].
 
 There are two use cases where this feature is useful:
 
@@ -105,7 +105,7 @@ The (already persistent) entity has just been flushed to the database
 +
 The (already persistent) entity is about to be deleted from the database
 
-For example, if annotated with xref:refguide:applib:index/annotation/DomainObject.adoc#updatingLifecycleEvent[`@DomainObjectLayout#updatingLifecycleEvent`], the appropriate (subclass of) `ObjectUpdatingEvent` will be emitted.
+For example, if annotated with xref:refguide:applib:index/annotation/DomainObject.adoc#updatingLifecycleEvent[@DomainObjectLayout#updatingLifecycleEvent], the appropriate (subclass of) `ObjectUpdatingEvent` will be emitted.
 
 There is no lifecycle event for "entity creating" because (obviously) the framework doesn't know about newly created objects until they have been created.
 Similarly, there is no lifecycle event for entities that have been removed because it is not valid to "touch" a domain entity once deleted.
diff --git a/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc b/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc
index 010d1f4..7bda812 100644
--- a/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/identifiers.adoc
@@ -67,8 +67,8 @@ When the PDF is scanned by the mail room, the barcode could be read to attach th
 * and of course both the xref:vro:ROOT:about.adoc[RestfulObjects viewer] and xref:vw:ROOT:about.adoc[Wicket viewer] use the oid tuple to look up, render and allow the user to interact with domain objects.
 
 Although the exact content of an OID should be considered opaque by domain objects, it is possible for domain objects to obtain OIDs.
-These are represented as ``Bookmark``s, obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`].
-Deep links meanwhile can be obtained from the xref:refguide:applib:index/services/linking/DeepLinkService.adoc[`DeepLinkService`].
+These are represented as ``Bookmark``s, obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
+Deep links meanwhile can be obtained from the xref:refguide:applib:index/services/linking/DeepLinkService.adoc[DeepLinkService].
 
 OIDs can also be converted into XML format, useful for integration scenarios.
 The xref:refguide:schema:common.adoc[common schema] XSD defines the `oidDto` complex type for precisely this purpose.
diff --git a/antora/components/userguide/modules/fun/pages/overview/modules.adoc b/antora/components/userguide/modules/fun/pages/overview/modules.adoc
index a40e8b3..105ebc6 100644
--- a/antora/components/userguide/modules/fun/pages/overview/modules.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/modules.adoc
@@ -123,7 +123,7 @@ Customer -u.-^ DocumentHolder
 == Defining Modules
 
 In the context of Java applications, modularity is a rather overloaded term.
-We have Maven modules, Java 9 modules and we also have Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[`@Configuration`]s, which define a set of domain services.
+We have Maven modules, Java 9 modules and we also have Spring link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html[@Configuration]s, which define a set of domain services.
 
 In the context of Apache Isis, a module is actually the last of these, a Spring module.
 
@@ -136,9 +136,9 @@ This is at the root package of the maven module.
 
 * all of the domain classes (domain objects and services) are part of that Maven module.
 +
-All are annotated or meta-annotated with Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[`@Component`] annotation, and Spring's link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html[`@ComponentScan`] is used to discover these from the classpath.
+All are annotated or meta-annotated with Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[@Component] annotation, and Spring's link:https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/annotation/ComponentScan.html[@ComponentScan] is used to discover these from the classpath.
 
-* Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html[`@Import`] is used to express a dependency between each "configuration" module.
+* Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Import.html[@Import] is used to express a dependency between each "configuration" module.
 
 By convention, we have just one Spring module to each Maven module.
 This means that the dependencies between Maven modules (using `<dependency>` are mirrored in the Spring module's `@Import` statements).
diff --git a/antora/components/userguide/modules/fun/pages/overview/object-members.adoc b/antora/components/userguide/modules/fun/pages/overview/object-members.adoc
index 5536d4b..c0e852b 100644
--- a/antora/components/userguide/modules/fun/pages/overview/object-members.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/object-members.adoc
@@ -43,8 +43,8 @@ public class Customer
     ...
 }
 ----
-<.> The xref:refguide:applib:index/annotation/Property.adoc[`@Property`] annotation defines additional domain-layer semantics
-<.> The xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`] annotation defines additional presentation-layer hints
+<.> The xref:refguide:applib:index/annotation/Property.adoc[@Property] annotation defines additional domain-layer semantics
+<.> The xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout] annotation defines additional presentation-layer hints
 
 From this the framework infers the `Customer` domain entity, which in turn has a `firstName` string _property_.
 
@@ -76,8 +76,8 @@ public class Customer
     ...
 }
 ----
-<.> The xref:refguide:applib:index/annotation/Collection.adoc[`@Collection`] annotation defines additional domain-layer semantics
-<.> The xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`] annotation defines additional presentation-layer hints
+<.> The xref:refguide:applib:index/annotation/Collection.adoc[@Collection] annotation defines additional domain-layer semantics
+<.> The xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout] annotation defines additional presentation-layer hints
 <.> The most commonly a `java.util.SortedSet` for entities obtained from an RDBMS (with set semantics).
 +
 TIP: all entities should define a natural ordering so that when rendered in the UI they will be ordered "meaningfully" to the end-user.
@@ -137,10 +137,10 @@ public class Customer {
     ...
 }
 ----
-<.> The xref:refguide:applib:index/annotation/Action.adoc[`@Action`] annotation defines additional domain-layer semantics
-<.> The xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`] annotation defines additional presentation-layer hints
-<.> The xref:refguide:applib:index/annotation/Parameter.adoc[`@Parameter`] annotation defines additional domain-layer semantics
-<.> The xref:refguide:applib:index/annotation/ParameterLayout.adoc[`@ParameterLayout`] annotation defines additional presentation-layer hints
+<.> The xref:refguide:applib:index/annotation/Action.adoc[@Action] annotation defines additional domain-layer semantics
+<.> The xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout] annotation defines additional presentation-layer hints
+<.> The xref:refguide:applib:index/annotation/Parameter.adoc[@Parameter] annotation defines additional domain-layer semantics
+<.> The xref:refguide:applib:index/annotation/ParameterLayout.adoc[@ParameterLayout] annotation defines additional presentation-layer hints
 
 From this the framework infers a the `placeOrder` _action_.
 
diff --git a/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc b/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
index c8b4d1a..30040b0 100644
--- a/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
+++ b/antora/components/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
@@ -26,9 +26,9 @@ you can generally recognize an Apache Isis domain class because it will be proba
 The framework also recognises some annotations from the ORM layer (eg JDO/DataNucleus) and infers domain semantics from these annotations.
 Similarly, JAXB annotations are typically used for view models.
 
-The framework also defines supplementary annotations, notably xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[`@DomainObjectLayout`] and xref:refguide:applib:index/annotation/DomainServiceLayout.adoc[`@DomainServiceLayout`].
+The framework also defines supplementary annotations, notably xref:refguide:applib:index/annotation/DomainObjectLayout.adoc[@DomainObjectLayout] and xref:refguide:applib:index/annotation/DomainServiceLayout.adoc[@DomainServiceLayout].
 These provide hints relating to the layout of the domain object in the user interface.
-Alternatively, these UI hints might be defined in a supplementary xref:userguide:fun:ui.adoc#object-layout[`.layout.xml`] file.
+Alternatively, these UI hints might be defined in a supplementary xref:userguide:fun:ui.adoc#object-layout[.layout.xml] file.
 
 
 
@@ -214,7 +214,7 @@ These DTOs are still usable as "regular" view models; they will render in the xr
 In fact (as the xref:userguide:fun:view-models.adoc#jaxb[programming model] section below makes clear), these JAXB-annotated view models are in many regards the most powerful of all the alternative ways of writing view models.
 
 It's also worth noting that it is also possible to download the XML (or XSD) straight from the UI, useful during development.
-The view model simply needs to implement the xref:refguide:applib-cm:roles-mixins-contributees/mixins.adoc#Dto[`Dto`] marker interface; the framework has xref:refguide:applib-cm:roles-mixins-contributees/mixins.adoc#Dto[mixins] that contribute the download actions to the view model.
+The view model simply needs to implement the xref:refguide:applib-cm:roles-mixins-contributees/mixins.adoc#Dto[Dto] marker interface; the framework has xref:refguide:applib-cm:roles-mixins-contributees/mixins.adoc#Dto[mixins] that contribute the download actions to the view model.
 
 === For REST Clients
 
diff --git a/antora/components/userguide/modules/fun/pages/ui/action-icons-and-css.adoc b/antora/components/userguide/modules/fun/pages/ui/action-icons-and-css.adoc
index a9e4fda..4729bde 100644
--- a/antora/components/userguide/modules/fun/pages/ui/action-icons-and-css.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/action-icons-and-css.adoc
@@ -14,7 +14,7 @@ It is also possible to specify additional CSS for an object's members (not just
 
 Action icons can be specified in several ways.
 
-One option is to use the xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa`].
+One option is to use the xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClassFa[@ActionLayout#cssClassFa].
 For example:
 
 [source,java]
@@ -32,10 +32,10 @@ Alternatively, you can specify these hints dynamically in the xref:ui.adoc#objec
 <cpt:action id="renew" cssClassFa="refresh"/>
 ----
 
-Rather than annotating every action with xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa`] and xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClass[`@ActionLayout#cssClass`] you can instead specify the UI hint globally using regular expressions.
+Rather than annotating every action with xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClassFa[@ActionLayout#cssClassFa] and xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClass[@ActionLayout#cssClass] you can instead specify the UI hint globally using regular expressions.
 Not only does this save a lot of boilerplate/editing, it helps ensure consistency across all actions.
 
-To declare fa classes globally, use the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action-layout.css-class-fa.patterns[`isis.applib.annotation.action-layout.css-class-fa.patterns`] configuration property (a comma separated list of key:value pairs).
+To declare fa classes globally, use the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action-layout.css-class-fa.patterns[isis.applib.annotation.action-layout.css-class-fa.patterns] configuration property (a comma separated list of key:value pairs).
 
 For example:
 
@@ -66,18 +66,18 @@ For example, "fa-plus" is applied to all action members called "newXxx"
 
 Similarly, a CSS class can be specified for object members:
 
-* xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClass[`@ActionLayout#cssClass`] for actions
+* xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClass[@ActionLayout#cssClass] for actions
 
-* xref:refguide:applib:index/annotation/PropertyLayout.adoc#cssClass[`@PropertyLayout#cssClass`] for properties, and
+* xref:refguide:applib:index/annotation/PropertyLayout.adoc#cssClass[@PropertyLayout#cssClass] for properties, and
 
-* xref:refguide:applib:index/annotation/CollectionLayout.adoc#cssClass[`@CollectionLayout#cssClass`] for collections.
+* xref:refguide:applib:index/annotation/CollectionLayout.adoc#cssClass[@CollectionLayout#cssClass] for collections.
 
 Again, this CSS class will be attached to an appropriate containing `<div>` or `<span>` on the rendered page.
 
 Possible use cases for this is to highlight the most important properties of a domain object.
 
 
-It is also possible to specify CSS classes globally, using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action-layout.css-class.patterns[`isis.applib.annotation.action-layout.css-class.patterns`] configuration property.
+It is also possible to specify CSS classes globally, using the xref:refguide:config:sections/isis.applib.adoc#isis.applib.annotation.action-layout.css-class.patterns[isis.applib.annotation.action-layout.css-class.patterns] configuration property.
 
 For example:
 
diff --git a/antora/components/userguide/modules/fun/pages/ui/menubars-layout.adoc b/antora/components/userguide/modules/fun/pages/ui/menubars-layout.adoc
index e966f78..375803a 100644
--- a/antora/components/userguide/modules/fun/pages/ui/menubars-layout.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/menubars-layout.adoc
@@ -4,7 +4,7 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The actions of xref:domain-entities-and-services.adoc#domain-services[domain services] (annotated using xref:refguide:applib:index/annotation/DomainService.adoc[`@DomainService`] with a xref:refguide:applib:index/annotation/DomainService.adoc#nature[`nature`] of `VIEW`) are made available as menu items on menus.
+The actions of xref:domain-entities-and-services.adoc#domain-services[domain services] (annotated using xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService] with a xref:refguide:applib:index/annotation/DomainService.adoc#nature[nature] of `VIEW`) are made available as menu items on menus.
 
 For example:
 
@@ -36,7 +36,7 @@ If using annotations, services can be added to either the primary, secondary or
 
 image::application-menu/layout-menus.png[width="800px"]
 
-This is done using the xref:refguide:applib:index/annotation/DomainServiceLayout.adoc#menuBar[`@DomainServiceLayout#menuBar()`] annotation.
+This is done using the xref:refguide:applib:index/annotation/DomainServiceLayout.adoc#menuBar[@DomainServiceLayout#menuBar()] annotation.
 
 For example:
 
@@ -61,7 +61,7 @@ image::application-menu/tertiary.png[width="300px"]
 
 
 
-In addition, the xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder`] annotation can be used to group and order domain service actions:
+In addition, the xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder] annotation can be used to group and order domain service actions:
 
 * `@MemberOrder#name()` is used to define the name of the menu
 +
@@ -97,7 +97,7 @@ There are some disadvantages to using file-based layouts:
 
 * they also suffer from syntactic fragility: an invalid XML document could result in no metadata for the entire class.
 
-The `menubars.layout.xml` file is just the serialized form of a xref:refguide:applib-cm:layout.adoc[`MenuBars`] layout class defined within Apache Isis' applib.
+The `menubars.layout.xml` file is just the serialized form of a xref:refguide:applib-cm:layout.adoc[MenuBars] layout class defined within Apache Isis' applib.
 These are JAXB-annotated classes with corresponding XSD schemas; the upshot of that
 is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making it easy to author such layout files.
 
@@ -175,7 +175,7 @@ Once the application has bootstrapped with a layout file, downloading the "Defau
 
 === Downloading the layout file
 
-The current `menubars.layout.xml` can be downloaded from the xref:refguide:applib:index/services/menu/MenuBarsService.adoc[`MenuBarsService`] (exposed on the prototyping menu):
+The current `menubars.layout.xml` can be downloaded from the xref:refguide:applib:index/services/menu/MenuBarsService.adoc[MenuBarsService] (exposed on the prototyping menu):
 
 image::menubars/010-download.png[width="300px"]
 
diff --git a/antora/components/userguide/modules/fun/pages/ui/names-and-descriptions.adoc b/antora/components/userguide/modules/fun/pages/ui/names-and-descriptions.adoc
index f4372a9..d99043b 100644
--- a/antora/components/userguide/modules/fun/pages/ui/names-and-descriptions.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/names-and-descriptions.adoc
@@ -25,25 +25,25 @@ The table below summarizes the annotations available:
 
 
 | Class
-| xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#named[`@DomainObjectLayout#named`]
-| xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs`]
+| xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#named[@DomainObjectLayout#named]
+| xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#describedAs[@DomainObjectLayout#describedAs]
 
 
 | Property
-| xref:refguide:applib:index/annotation/PropertyLayout.adoc#named[`@PropertyLayout#named`]
-| xref:refguide:applib:index/annotation/PropertyLayout.adoc#describedAs[`@PropertyLayout#describedAs`]
+| xref:refguide:applib:index/annotation/PropertyLayout.adoc#named[@PropertyLayout#named]
+| xref:refguide:applib:index/annotation/PropertyLayout.adoc#describedAs[@PropertyLayout#describedAs]
 
 | Collection
-| xref:refguide:applib:index/annotation/CollectionLayout.adoc#named[`@CollectionLayout#named`]
-| xref:refguide:applib:index/annotation/CollectionLayout.adoc#describedAs[`@CollectionLayout#describedAs`]
+| xref:refguide:applib:index/annotation/CollectionLayout.adoc#named[@CollectionLayout#named]
+| xref:refguide:applib:index/annotation/CollectionLayout.adoc#describedAs[@CollectionLayout#describedAs]
 
 | Action
-| xref:refguide:applib:index/annotation/ActionLayout.adoc#named[`@ActionLayout#named`]
-| xref:refguide:applib:index/annotation/ActionLayout.adoc#describedAs[`@ActionLayout#describedAs`]
+| xref:refguide:applib:index/annotation/ActionLayout.adoc#named[@ActionLayout#named]
+| xref:refguide:applib:index/annotation/ActionLayout.adoc#describedAs[@ActionLayout#describedAs]
 
 | Action Parameters
-| xref:refguide:applib:index/annotation/ParameterLayout.adoc#named[`@ParameterLayout#named`]
-| xref:refguide:applib:index/annotation/ParameterLayout.adoc#describedAs[`@ParameterLayout#describedAs`]
+| xref:refguide:applib:index/annotation/ParameterLayout.adoc#named[@ParameterLayout#named]
+| xref:refguide:applib:index/annotation/ParameterLayout.adoc#describedAs[@ParameterLayout#describedAs]
 
 |===
 
diff --git a/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc b/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc
index 45496d3..be54708 100644
--- a/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/object-layout.adoc
@@ -14,7 +14,7 @@ File-based layouts offer a number of benefits:
 
 * UI hints can be provided for xref:userguide:fun:mixins.adoc[mixin] contributions that are synthesised at runtime.
 
-It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:refguide:applib:index/services/layout/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu) or using a xref:refguide:applib-cm:roles-mixins-contributees/mixins.adoc#Object[mixin action] contributed to every domain object.
+It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService] (exposed on the prototyping menu) or using a xref:refguide:applib-cm:roles-mixins-contributees/mixins.adoc#Object[mixin action] contributed to every domain object.
 
 There are some downsides, though:
 
@@ -24,7 +24,7 @@ There are some downsides, though:
 
 * there is no notion of inheritance, so a `.layout.xml` is required for all concrete classes and also for any abstract classes (if used as a collection type).
 
-The `Xxx.layout.xml` file is just the serialized form of a xref:refguide:applib-cm:layout.adoc[`Grid`] layout class defined within Apache Isis' applib.
+The `Xxx.layout.xml` file is just the serialized form of a xref:refguide:applib-cm:layout.adoc[Grid] layout class defined within Apache Isis' applib.
 These are JAXB-annotated classes with corresponding XSD schemas; the upshot of that is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making iteasy to author such layout files.
 
 == Grids vs Components
@@ -227,7 +227,7 @@ The layout XML will then be ignored.
 Rather than specify every UI semantic in the layout file, you can optionally combine with a number of annotations.
 The idea is that the layout.xml is used primarily for the coarse-grained grid layout, with annotations used for the stuff that changes less often, such as associating actions with properties or collections, or the order of properties or actions within a fieldset.
 
-The annotations most relevant here is xref:refguide:applib:index/annotation/MemberOrder.adoc[`@MemberOrder`]:
+The annotations most relevant here is xref:refguide:applib:index/annotation/MemberOrder.adoc[@MemberOrder]:
 
 * for properties:
 
@@ -248,15 +248,15 @@ The `@Action#associateWith()` annotation can be used instead as a direct replace
 +
 The `@Action#associateWithSequence()` annotation can be used as a direct replacement.
 
-There are a number of other "layout" annotations, specifically xref:refguide:applib:index/annotation/PropertyLayout.adoc[`@PropertyLayout`], xref:refguide:applib:index/annotation/CollectionLayout.adoc[`@CollectionLayout`] and xref:refguide:applib:index/annotation/ActionLayout.adoc[`@ActionLayout`].
+There are a number of other "layout" annotations, specifically xref:refguide:applib:index/annotation/PropertyLayout.adoc[@PropertyLayout], xref:refguide:applib:index/annotation/CollectionLayout.adoc[@CollectionLayout] and xref:refguide:applib:index/annotation/ActionLayout.adoc[@ActionLayout].
 All of the semantics in these layout annotations can also be specified in the `.layout.xml` files; which is used is a matter of taste.
 
-In addition, xref:refguide:applib:index/annotation/ParameterLayout.adoc[`@ParameterLayout`] provides layout hints for action parameters.
+In addition, xref:refguide:applib:index/annotation/ParameterLayout.adoc[@ParameterLayout] provides layout hints for action parameters.
 There is no way to specify these semantics in the `.layout.xml` file (action parameters are not enumerated in the file).
 
 === Layout file styles
 
-If you want to make your usage of layout files consistent, then the framework can help because it allows the layout XML files to be downloaded using the xref:refguide:applib:index/services/layout/LayoutService.adoc[`LayoutService`].
+If you want to make your usage of layout files consistent, then the framework can help because it allows the layout XML files to be downloaded using the xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService].
 This is exposed on the prototyping menu to allow you to download a ZIP file of layout XML files for all domain entities and view models.
 
 When downloading the layout files, there are four "styles" available:
diff --git a/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc b/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc
index 6de4c0a..748af89 100644
--- a/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/object-titles-and-icons.adoc
@@ -29,7 +29,7 @@ For example the title of a customer object shouldn't include the literal string
 
 === Declarative style
 
-The xref:refguide:applib:index/annotation/Title.adoc[`@Title`] annotation can be used build up the title of an object from its constituent parts.
+The xref:refguide:applib:index/annotation/Title.adoc[@Title] annotation can be used build up the title of an object from its constituent parts.
 
 For example:
 
@@ -97,7 +97,7 @@ could return "Arthur C. Clarke".
 
 === Imperative style
 
-Alternatively, the title can be provided simply by implementing the xref:refguide:applib-cm:methods.adoc#title[`title()`] reserved method.
+Alternatively, the title can be provided simply by implementing the xref:refguide:applib-cm:methods.adoc#title[title()] reserved method.
 
 For example:
 
@@ -125,7 +125,7 @@ A variation on this approach also supports localized names; see xref:userguide:b
 
 A third alternative is to move the responsibility for deriving the title into a separate subscriber object.
 
-In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] attribute to specify:
+In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[@DomainObjectLayout#titleUiEvent()] attribute to specify:
 
 [source,java]
 ----
@@ -185,7 +185,7 @@ If there is no requirement to customize the icon (the normal case), then the ico
 For example, the icon for a class `org.mydomain.myapp.Customer` will be `org/mydomain/myapp/Customer.png` (if it exists).
 
 Alternatively, a font-awesome icon can be used.
-This is specified using the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:userguide:fun:ui.adoc#object-layout[layout.xml] file.
+This is specified using the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassFa[@DomainObjectLayout#cssClassFa()] attribute or in the xref:userguide:fun:ui.adoc#object-layout[layout.xml] file.
 
 For example:
 
@@ -200,7 +200,7 @@ public class InvoiceRun {
 
 === Imperative style
 
-To customise the icon on an instance-by-instance basis, we implement the reserved xref:refguide:applib-cm:methods.adoc#iconName[`iconName()`] method.
+To customise the icon on an instance-by-instance basis, we implement the reserved xref:refguide:applib-cm:methods.adoc#iconName[iconName()] method.
 
 For example:
 
@@ -221,7 +221,7 @@ Otherwise it will just use "Order.png", as normal.
 
 As for title, the determination of which image file to use for the icon can be externalized into a UI event subscriber.
 
-In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#iconUiEvent[@DomainObjectLayout#iconUiEvent()] attribute to specify.
 
 For example:
 
@@ -268,7 +268,7 @@ In conjunction with a viewer-specific customisation of CSS (eg for the xref:vw:R
 === Declarative style
 
 To render an object with a particular CSS, use
-xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] or in the xref:userguide:fun:ui.adoc#object-layout[layout.xml] file.
+xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClass[@DomainObjectLayout#cssClass()] or in the xref:userguide:fun:ui.adoc#object-layout[layout.xml] file.
 
 The usage of this CSS class is viewer-specific.
 In the case of the xref:vw:ROOT:about.adoc[Wicket Viewer], when the domain object is rendered on its own page, this CSS class will appear on a top-level `<div>`.
@@ -278,7 +278,7 @@ One possible use case would be to render the most important object types with a
 
 === Imperative style
 
-To specify a CSS class on an instance-by-instance basis, we implement the reserved xref:refguide:applib-cm:methods.adoc#cssclass[`cssClass()`] method.
+To specify a CSS class on an instance-by-instance basis, we implement the reserved xref:refguide:applib-cm:methods.adoc#cssclass[cssClass()] method.
 
 For example:
 
@@ -299,7 +299,7 @@ If non-null value is returned then the CSS class will be rendered _in addition_
 
 As for title and icon, the determination of which CSS class to render can be externalized into a UI event subscriber.
 
-In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClassUiEvent[@DomainObjectLayout#cssClassUiEvent()] attribute to specify.
 
 For example
 
@@ -353,7 +353,7 @@ More generally, for a given domain object `Xxx`, if it has specified a layout `y
 
 === Imperative style
 
-To specify the layout on an instance-by-instance basis, we implement the reserved xref:refguide:applib-cm:methods.adoc#layout[`layout()`] method.
+To specify the layout on an instance-by-instance basis, we implement the reserved xref:refguide:applib-cm:methods.adoc#layout[layout()] method.
 
 For example:
 
@@ -371,7 +371,7 @@ public class IncomingInvoice {
 
 As for title, icon and CSS, the determination of which layout class to render can be externalized into a UI event subscriber.
 
-In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#layoutUiEvent[@DomainObjectLayout#layoutUiEvent()] attribute to specify.
 
 For example
 
diff --git a/antora/components/userguide/modules/fun/pages/ui/table-columns.adoc b/antora/components/userguide/modules/fun/pages/ui/table-columns.adoc
index 1ecc7bd..3965792 100644
--- a/antora/components/userguide/modules/fun/pages/ui/table-columns.adoc
+++ b/antora/components/userguide/modules/fun/pages/ui/table-columns.adoc
@@ -6,7 +6,7 @@
 
 
 
-The optional xref:refguide:applib:index/services/tablecol/TableColumnOrderService.adoc[`TableColumnOrderService`] SPI service can be used to reorder columns in a table, either for a parented collection (owned by parent domain object) or a standalone collection (returned from an action invocation).
+The optional xref:refguide:applib:index/services/tablecol/TableColumnOrderService.adoc[TableColumnOrderService] SPI service can be used to reorder columns in a table, either for a parented collection (owned by parent domain object) or a standalone collection (returned from an action invocation).
 
 For example, suppose there is a `Customer` and an `Order`:
 
diff --git a/antora/components/userguide/modules/fun/pages/view-models.adoc b/antora/components/userguide/modules/fun/pages/view-models.adoc
index 361123c..abe9bc4 100644
--- a/antora/components/userguide/modules/fun/pages/view-models.adoc
+++ b/antora/components/userguide/modules/fun/pages/view-models.adoc
@@ -77,10 +77,10 @@ The derived properties could also have been implemented using xref:userguide:fun
 
 [IMPORTANT]
 ====
-Be aware that all the state will ultimately converted into a URL-safe form (by way of the xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[`UrlEncodingService`]).
+Be aware that all the state will ultimately converted into a URL-safe form (by way of the xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[UrlEncodingService]).
 
 There are limits to the lengths of URLs, however.
-If the URL does exceed limits or contains invalid characters, then provide a custom implementation of xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[`UrlEncodingService`] to handle the memento string in some other fashion (eg substituting it with a GUID, with the memento cached somehow on the server).
+If the URL does exceed limits or contains invalid characters, then provide a custom implementation of xref:refguide:applib:index/services/urlencoding/UrlEncodingService.adoc[UrlEncodingService] to handle the memento string in some other fashion (eg substituting it with a GUID, with the memento cached somehow on the server).
 ====
 
 [#referencing-domain-entities]
@@ -91,10 +91,10 @@ For example, the `CompareCustomers` view model described xref:userguide:fun:view
 
 It wouldn't make sense to serialize out the state of a persistent entity.
 However, the identity of the underlying entity is well defined; Apache Isis defines the xref:refguide:schema:common.adoc[common schema] which defines the `<oid-dto>` element (and corresponding `OidDto` class): the object's type and its identifier.
-This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`].
+This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
 
-There is only one requirement to make this work: every referenced domain entity must be annotated with xref:refguide:applib-ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
-And this class is similar to the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`]: it knows how to create an `OidDto` from an object reference.
+There is only one requirement to make this work: every referenced domain entity must be annotated with xref:refguide:applib-ant:XmlJavaTypeAdapter.adoc[@XmlJavaTypeAdapter], specifying the framework-provided `PersistentEntityAdapter`.
+And this class is similar to the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService]: it knows how to create an `OidDto` from an object reference.
 
 Thus, in our view model we can legitimately write:
 
@@ -240,7 +240,7 @@ public class CustomerRecordOnSAP {
     // ...
 }
 ----
-|Annotated with xref:refguide:applib:index/annotation/DomainObject.adoc#nature[`@DomainObject#nature`] and a nature of `EXTERNAL_ENTITY`, with memento derived automatically from the properties of the domain object.
+|Annotated with xref:refguide:applib:index/annotation/DomainObject.adoc#nature[@DomainObject#nature] and a nature of `EXTERNAL_ENTITY`, with memento derived automatically from the properties of the domain object.
 Collections are ignored, as are any properties annotated as xref:refguide:applib:index/annotation/Property.adoc#snapshot[snapshot=EXCLUDED].
 
 | In-memory entity
@@ -277,7 +277,7 @@ public class ExcelUploadManager implements ViewModel {
   }
 }
 ----
-|Implement xref:refguide:applib-cm:classes/super.adoc#AbstractViewModel[`ViewModel`] interface.
+|Implement xref:refguide:applib-cm:classes/super.adoc#AbstractViewModel[ViewModel] interface.
 The memento is as defined by the interface's methods: the programmer has full control (but also full responsibility) for the string memento.
 
 |===
diff --git a/antora/components/userguide/modules/fun/pages/view-models/UNUSED-dto.adoc b/antora/components/userguide/modules/fun/pages/view-models/UNUSED-dto.adoc
index 2156bd6..0e7843c 100644
--- a/antora/components/userguide/modules/fun/pages/view-models/UNUSED-dto.adoc
+++ b/antora/components/userguide/modules/fun/pages/view-models/UNUSED-dto.adoc
@@ -50,7 +50,7 @@ public class ToDoItemV1_1 implements Dto {                          // <.>
 <.> package name encodes major version; see discussion on xref:userguide:fun:view-models.adoc#versioning[versioning]
 <.> identifies this class as a view model and defines the root element for JAXB serialization
 <.> all properties in the class must be listed; (they can be ignored using `@XmlTransient`)
-<.> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
+<.> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#titleUiEvent[@DomainObjectLayout#titleUiEvent()].
 <.> class name encodes (major and) minor version; see discussion on xref:userguide:fun:view-models.adoc#versioning[versioning]
 <.> again, see discussion on xref:userguide:fun:view-models.adoc#versioning[versioning]
 <.> again, see discussion on xref:userguide:fun:view-models.adoc#versioning[versioning]
@@ -170,9 +170,9 @@ Alternatively, you might also consider simply editing the source file, ie renami
 The actual consumers of DTOs will generally obtain the XML of the view models either by requesting the XML directly, eg using the xref:vro:ROOT:about.adoc[RestfulObjects viewer], or may have the XML sent to them asynchronously using an ESB such as Apache Camel.
 
 In the former case, the consumer requests the DTO by calling the REST API with the appropriate HTTP `Accept` header.
-An appropriate implementation of xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] can then be used to return the appropriate DTO (as XML).
+An appropriate implementation of xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] can then be used to return the appropriate DTO (as XML).
 
-For the latter case, one design is simply for the application to instantiate the view model, then call the xref:refguide:applib:index/services/jaxb/JaxbService.adoc[`JaxbService`] to obtain its corresponding XML.  This can then be published onto the ESB, for example using an http://activemq.apache.org[Apache ActiveMQ (TM)] queue.
+For the latter case, one design is simply for the application to instantiate the view model, then call the xref:refguide:applib:index/services/jaxb/JaxbService.adoc[JaxbService] to obtain its corresponding XML.  This can then be published onto the ESB, for example using an http://activemq.apache.org[Apache ActiveMQ (TM)] queue.
 
 However, rather than try to push all the data that might be needed by any of these external systems in a single XML event (which would require anticipating all the requirements, likely a hopeless task), a better design is to publish only the fact that something of note has changed - ie, that an action on a domain object has been invoked - and then let the consumers call back to obtain other information if required.
 This can once again be done by calling the REST API with an appropriate HTTP `Accept` header.
@@ -184,7 +184,7 @@ In our case we focus on the validation (to determine the nature of the inbound m
 ====
 
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module provides an out-of-the-box solution of this design.
-It provides an implementation of the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber], but which simply publishes instances of xref:refguide:schema:ixn.adoc[`InteractionDto`] to an ActiveMQ queue.
+It provides an implementation of the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber], but which simply publishes instances of xref:refguide:schema:ixn.adoc[InteractionDto] to an ActiveMQ queue.
 Camel (or similar) can then be hooked up to consume these events from this queue, and use a processor to parse the action memento to determine what has changed on the source system.
 Thereafter, a subsequent Camel processor can then call back to the source - via the xref:vro:ROOT:about.adoc[Restful Objects viewer] - to enrich the message with additional details using a DTO.
 
diff --git a/antora/components/userguide/modules/fun/partials/_deployment-options.adoc b/antora/components/userguide/modules/fun/partials/_deployment-options.adoc
index 8ae4e95..c1caa37 100644
--- a/antora/components/userguide/modules/fun/partials/_deployment-options.adoc
+++ b/antora/components/userguide/modules/fun/partials/_deployment-options.adoc
@@ -68,7 +68,7 @@ It is perfectly possible to deploy the RESTful API alongside an auto-generated w
 == Deploy on your own platform
 
 The programming model defined by Apache Isis deliberately minimizes the dependencies on the rest of the framework.
-In fact, the only hard dependency that the domain model classes have on Apache Isis is through the `org.apache.isis.applib` classes, mostly to pick up annotations such as xref:refguide:applib:index/annotation/Action.adoc[`@Action`] and xref:refguide:applib:index/annotation/Property.adoc[`@Property`].
+In fact, the only hard dependency that the domain model classes have on Apache Isis is through the `org.apache.isis.applib` classes, mostly to pick up annotations such as xref:refguide:applib:index/annotation/Action.adoc[@Action] and xref:refguide:applib:index/annotation/Property.adoc[@Property].
 It's therefore relatively easy to take a domain object prototyped and/or tested using Apache Isis, but to deploy on some other framework's runtime.
 
 If you are interested in taking this approach, then you will need to provide your own implementations of any framework-provided services used by your code.
diff --git a/antora/playbooks/site-core.yml b/antora/playbooks/site-core.yml
index 4bde93e..426bfe4 100644
--- a/antora/playbooks/site-core.yml
+++ b/antora/playbooks/site-core.yml
@@ -47,9 +47,6 @@ content:
       start_path: core/runtime/src/main/adoc # core
       branches: HEAD
     - url: .
-      start_path: core/runtimeservices/src/main/adoc # core
-      branches: HEAD
-    - url: .
       start_path: core/webapp/src/main/adoc # core
       branches: HEAD
 
diff --git a/antora/playbooks/site.yml b/antora/playbooks/site.yml
index 6e09140..0dc9095 100644
--- a/antora/playbooks/site.yml
+++ b/antora/playbooks/site.yml
@@ -77,9 +77,6 @@ content:
       start_path: core/runtime/src/main/adoc # core
       branches: HEAD
     - url: .
-      start_path: core/runtimeservices/src/main/adoc # core
-      branches: HEAD
-    - url: .
       start_path: core/webapp/src/main/adoc # core
       branches: HEAD
     - url: .
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java b/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
index 9a71f3f..d2bebe5 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/ObjectContracts.java
@@ -30,43 +30,6 @@ import lombok.extern.log4j.Log4j2;
 /**
  * Provides fluent composition for Objects' equals, hashCode and toString.
  *
- * Sample usage by composing getters ...
- *
- *
- * <pre>
- * private static final Equality<ApplicationFeature> equality =
- * 		ObjectContracts.checkEquals(ApplicationFeature::getFeatureId);
- *
- * private static final Hashing<ApplicationFeature> hashing =
- * 		ObjectContracts.hashing(ApplicationFeature::getFeatureId);
- *
- * private static final ToString<ApplicationFeature> toString =
- * 		ObjectContracts.toString("featureId", ApplicationFeature::getFeatureId);
- *
- * public boolean equals(final Object obj) {
- * 	return equality.equals(this, obj);
- * }
- *
- * public int hashCode() {
- * 	return hashing.hashCode(this);
- * }
- *
- * public String toString() {
- * 	return toString.toString(this);
- * }
- * </pre>
- *
- * For 'compareTo' use JDK's comparator composition ...
- *
- * <pre>
- * private static final Comparator<ApplicationFeature> comparator =
- * 		Comparator.comparing(ApplicationFeature::getFeatureId);
- *
- * public int compareTo(final ApplicationFeature other) {
- * 	return comparator.compare(this, other);
- * }
- * </pre>
- *
  * @since 1.x revised for 2.0 {@index}
  */
 @Log4j2
diff --git a/api/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals.java b/api/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals.java
index ccab753..fa65506 100644
--- a/api/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals.java
+++ b/api/applib/src/test/java/org/apache/isis/applib/util/ObjectContractsTest_equals.java
@@ -16,12 +16,18 @@
  */
 package org.apache.isis.applib.util;
 
+import java.util.Comparator;
+
 import org.junit.Before;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import lombok.Getter;
+import lombok.RequiredArgsConstructor;
+
 @SuppressWarnings("deprecation")
 public class ObjectContractsTest_equals {
 
@@ -88,5 +94,45 @@ public class ObjectContractsTest_equals {
         assertFalse(ObjectContracts.equals(p, null, "number"));
     }
 
+    @RequiredArgsConstructor(staticName = "of")
+    public static class ComplexNumber implements Comparable<ComplexNumber> {
+
+        @Getter private final int real;
+        @Getter private final int imaginary;
+
+        private ObjectContracts.ObjectContract<ComplexNumber> contract
+                = ObjectContracts.contract(ComplexNumber.class)
+                    .thenUse("real", ComplexNumber::getReal)
+                    .thenUse("imaginary", ComplexNumber::getImaginary);
+
+
+        @Override
+        public boolean equals(Object o) {
+            return contract.equals(this, o);
+        }
+
+        @Override
+        public int hashCode() {
+            return contract.hashCode(this);
+        }
+
+        @Override
+        public int compareTo(final ComplexNumber other) {
+            return contract.compare(this, other);
+        }
+
+        @Override
+        public String toString() {
+            return contract.toString(this);
+        }
+    }
+
+    @Test
+    public void more_complex_scenario() {
+        final ComplexNumber cn1 = ComplexNumber.of(3, 4);
+        final ComplexNumber cn2 = ComplexNumber.of(3, 4);
+
+        assertEquals(cn1, cn2);
+    }
 
 }
diff --git a/api/schema/src/main/adoc/modules/schema/pages/chg.adoc b/api/schema/src/main/adoc/modules/schema/pages/chg.adoc
index 8bb30b5..3ea2ead 100644
--- a/api/schema/src/main/adoc/modules/schema/pages/chg.adoc
+++ b/api/schema/src/main/adoc/modules/schema/pages/chg.adoc
@@ -9,7 +9,7 @@ The changes ("chg") schema defines the serialized form identifying which objects
 It also captures a number of other metrics counts (number of objects loaded, number of object properties modified), useful for profiling.
 
 An instance of the DTO (corresponding to this schema) is used within the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI, identifying changed objects that are to be
-published (as per xref:refguide:applib:index/annotation/DomainObject.adoc#publishing[`@DomainObject#publishing()`] or equivalent).
+published (as per xref:refguide:applib:index/annotation/DomainObject.adoc#publishing[@DomainObject#publishing()] or equivalent).
 
 
 == `changesDto`
diff --git a/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc b/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc
index 5a6995f..05f514d 100644
--- a/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc
+++ b/api/schema/src/main/adoc/modules/schema/pages/cmd.adoc
@@ -132,7 +132,7 @@ The `paramsDto` type is defined xref:refguide:schema:cmd/ancillary.adoc[below].
 
 In general the `logicalMemberIdentifier` should be used in preference to the `memberIdentifier` because will not (necessarily) have to change if the class is moved during a refactoring.
 
-Note also that there is a corresponding xref:refguide:schema:ixn/memberExecutionDto.adoc[`memberExecutionDto`]
+Note also that there is a corresponding xref:refguide:schema:ixn/memberExecutionDto.adoc[memberExecutionDto]
 complex type in the "ixn" schema that is for the actual execution (capturing metrics about its execution and also the return value if an action invocation).
 
 
diff --git a/api/schema/src/main/adoc/modules/schema/pages/common.adoc b/api/schema/src/main/adoc/modules/schema/pages/common.adoc
index c0e3172..1e451d0 100644
--- a/api/schema/src/main/adoc/modules/schema/pages/common.adoc
+++ b/api/schema/src/main/adoc/modules/schema/pages/common.adoc
@@ -10,7 +10,7 @@ The "common" schema defines a number of complex types that are used by other hig
 == `oidDto`
 
 The `oidDto` complex type captures an object's type and its identifier.
-This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[`BookmarkService`].
+This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:refguide:applib:index/services/bookmark/BookmarkService.adoc[BookmarkService].
 
 Although simple, this is an enormously powerful concept, in that it represents a URI to any domain object managed by a given Apache Isis application.
 With it, we have the ability to lookup any arbitrary object.
@@ -52,8 +52,8 @@ The `oidDto` complex type is defined as:
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
 <2> the `oidDto` complex type defines the unique identifier for any domain object: its type, and an identifier.
 The `objectState` attribute can usually be omitted (indicating a persistent object)
-<3> the object type, corresponding to either the xref:refguide:applib:index/annotation/DomainObject.adoc#objectType[`@DomainObject#objectType()`] attribute, or to the (JDO)
-xref:refguide:applib-ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation (`schema` and/or `table` attributes), or to the (JDO) xref:refguide:applib-ant:Discriminator.adoc[`@Discriminator`] annotation.
+<3> the object type, corresponding to either the xref:refguide:applib:index/annotation/DomainObject.adoc#objectType[@DomainObject#objectType()] attribute, or to the (JDO)
+xref:refguide:applib-ant:PersistenceCapable.adoc[@PersistenceCapable] annotation (`schema` and/or `table` attributes), or to the (JDO) xref:refguide:applib-ant:Discriminator.adoc[@Discriminator] annotation.
 If none is specified, then the fully qualified class name will be used.
 <4> the object identifier (aka primary key), converted to string form.
 <5> the `bookmarkObjectState` enumerates the possible persistence states of the referenced object.
@@ -68,7 +68,7 @@ The element form can still be used, but is deprecated.
 The `oidDto` complex type is used in a number of places by the framework:
 
 * first, as a means of serializing JAXB view model/DTOs (annotated with
-xref:refguide:applib-ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain entities.
+xref:refguide:applib-ant:XmlRootElement.adoc[@XmlRootElement]), that reference domain entities.
 +
 These references are serialized instead into OIDs
 
diff --git a/api/schema/src/main/adoc/modules/schema/pages/ixn.adoc b/api/schema/src/main/adoc/modules/schema/pages/ixn.adoc
index 92a1ac8..69dfca1 100644
--- a/api/schema/src/main/adoc/modules/schema/pages/ixn.adoc
+++ b/api/schema/src/main/adoc/modules/schema/pages/ixn.adoc
@@ -69,7 +69,7 @@ The `InteractionDto` DTO corresponding to the `interactionDto` root element can
 == `memberExecutionDto`
 
 The `memberExecutionDto` complex type is an abstract type representing either the invocation an action or the editing of a property.
-It corresponds to the xref:refguide:schema:cmd/memberDto.adoc[`memberDto`] of the "cmd" schema; some elements are copied directly:
+It corresponds to the xref:refguide:schema:cmd/memberDto.adoc[memberDto] of the "cmd" schema; some elements are copied directly:
 
 [source,xml]
 ----
@@ -103,10 +103,10 @@ It corresponds to the xref:refguide:schema:cmd/memberDto.adoc[`memberDto`] of th
 <1> the `memberExecutionDto` is an abstract type
 <2> uniquely identifies this execution within the transaction.
 Can be combined with `transactionId` to create a unique identifier (across all other interaction executions and also changed objects events) of this particular interaction execution.
-<3> the target object, corresponding to one of the elements of the `targets` element of the xref:refguide:schema:cmd/memberDto.adoc[`memberDto`]
-<4> the member identifier; corresponds to `memberIdentifier` of the `member` element of the xref:refguide:schema:cmd/memberDto.adoc[`memberDto`]
-<5> the _logical_ member identifier; corresponds to `logicalMemberIdentifier` of the `member` element of the xref:refguide:schema:cmd/memberDto.adoc[`memberDto`]
-<6> the user executing the action invocation/property edit; corresponds to the `user` element of the xref:refguide:schema:cmd/memberDto.adoc[`memberDto`]
+<3> the target object, corresponding to one of the elements of the `targets` element of the xref:refguide:schema:cmd/memberDto.adoc[memberDto]
+<4> the member identifier; corresponds to `memberIdentifier` of the `member` element of the xref:refguide:schema:cmd/memberDto.adoc[memberDto]
+<5> the _logical_ member identifier; corresponds to `logicalMemberIdentifier` of the `member` element of the xref:refguide:schema:cmd/memberDto.adoc[memberDto]
+<6> the user executing the action invocation/property edit; corresponds to the `user` element of the xref:refguide:schema:cmd/memberDto.adoc[memberDto]
 <7> the current "human-friendly" title of the target object
 <8> the set of metrics captured for this execution, of type `metricsDto` defined xref:refguide:schema:ixn/ancillary.adoc[below].
 <9> if the action invocation/property edit threw an exception, then this is captured here.
@@ -149,12 +149,12 @@ The `actionInvocationDto` and `propertyEditDto` are the concrete subtypes:
 ----
 <1> the `actionInvocationDto` inherits from `memberExecutionDto`.
 It corresponds to the similar
-xref:refguide:schema:cmd/memberDto.adoc[`actionDto`] complex type of the "cmd" schema
+xref:refguide:schema:cmd/memberDto.adoc[actionDto] complex type of the "cmd" schema
 <2> the `parameters` element captures the parameter and argument values; for the top-level execution it is a direct copy of the corresponding `parameters` element of the `actionDto` complex type of the "cmd" schema.
 <3> the `returned` element captures the returned value (if not void).
 It is not valid for both this element and the inherited `threw` element to both be populated.
 <4> the `propertyEditDto` inherits from `memberExecutionDto`.
-It corresponds to the similar xref:refguide:schema:cmd/memberDto.adoc[`propertyDto`] complex type of the "cmd" schema
+It corresponds to the similar xref:refguide:schema:cmd/memberDto.adoc[propertyDto] complex type of the "cmd" schema
 <5> the `newValue` element captures the new value; for the top-level execution it is a direct
 copy of the corresponding `newValue` element of the `propertyDto` complex type of the "cmd" schema.
 
diff --git a/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc b/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc
index bfc91c2..c6a81eb 100644
--- a/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc
+++ b/core/config/src/main/adoc/modules/config/pages/application-specific/application-css.adoc
@@ -5,12 +5,12 @@
 
 All of the layout annotations provide the ability to specify adhoc CSS classes, associated with the corresponding element:
 
-* xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`]
-* xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`]
-* xref:refguide:applib:index/annotation/PropertyLayout.adoc#cssClass[`@PropertyLayout#cssClass()`]
-* xref:refguide:applib:index/annotation/CollectionLayout.adoc#cssClass[`@CollectionLayout#cssClass()`]
+* xref:refguide:applib:index/annotation/DomainObjectLayout.adoc#cssClass[@DomainObjectLayout#cssClass()]
+* xref:refguide:applib:index/annotation/ActionLayout.adoc#cssClass[@ActionLayout#cssClass()]
+* xref:refguide:applib:index/annotation/PropertyLayout.adoc#cssClass[@PropertyLayout#cssClass()]
+* xref:refguide:applib:index/annotation/CollectionLayout.adoc#cssClass[@CollectionLayout#cssClass()]
 
-CSS can also be specified using the xref:userguide:fun:ui.adoc#object-layout[`Xxx.layout.xml`] layout files.
+CSS can also be specified using the xref:userguide:fun:ui.adoc#object-layout[Xxx.layout.xml] layout files.
 The viewer can then use this information within the rendered page.
 For example, the xref:vw:ROOT:about.adoc[Wicket Viewer] adds the CSS as a style in a containing `<div>` for each element.
 
diff --git a/core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties b/core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties
index 1a275af..f125406 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties
+++ b/core/config/src/main/java/org/apache/isis/core/config/presets/DatanucleusAutocreateNoValidate.properties
@@ -5,9 +5,9 @@
 #  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 agreed to in writing,
 #  software distributed under the License is distributed on an
 #  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,7 +21,6 @@ datanucleus.schema.validateAll = false
 #datanucleus.schema.validateTables=true
 #datanucleus.schema.validateConstraints=true
 
-# other properties as per WEB-INF/persistor_datanucleus.properties
 datanucleus.persistenceByReachabilityAtCommit = false
 datanucleus.identifier.case = MixedCase
 datanucleus.cache.level2.type = none
diff --git a/core/runtimeservices/src/main/adoc/modules/runtime-services/nav.adoc b/core/runtimeservices/src/main/adoc/modules/runtime-services/nav.adoc
deleted file mode 100644
index 798e16a..0000000
--- a/core/runtimeservices/src/main/adoc/modules/runtime-services/nav.adoc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-include::core:ROOT:partial$component-nav.adoc[]
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo-description.adoc
index 1ac5ec5..6760de8 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/Action/commandPublishing/ActionCommandPublishingJdo-description.adoc
@@ -4,11 +4,11 @@ WARNING: TODO command was renamed to commandPublishing
 
 The `command` element is used to allow or suppress the reification of an action invocation into a `Command`.
 
-When allowed (the default), then the `Command` is sent to registered implementation(s) of https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandServiceListener.html#section-top[`CommandServiceListener`] SPI, _after_ the interaction has completed.
+When allowed (the default), then the `Command` is sent to registered implementation(s) of https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandServiceListener.html#section-top[CommandServiceListener] SPI, _after_ the interaction has completed.
 One use case is to replicate and replay commands to a secondary system, for example for regression testing.
 For more on this, see the "Command Replay" section below.
 
-Commands are also used under the covers to allow actions invocations to be made asynchronously using the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/WrapperFactory.html[`WrapperFactory`].
+Commands are also used under the covers to allow actions invocations to be made asynchronously using the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/WrapperFactory.html[WrapperFactory].
 This can be useful for long-running actions.
 
 [NOTE]
@@ -145,7 +145,7 @@ This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/command-rep
 
 The associated `commandDtoProcessor()` element allows the `Command` XML representation (as a `CommandDto`) to be processed before being surfaced through the REST endpoint.
 One use case is to allow data to be obfuscated for security, or to replace large payloads (such as Blobs) with a smaller dummy payload.
-As well as specifying DTO processing at the action level, it can be specified globally by implementing the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandDtoProcessorService.html[`CommandDtoProcessorService`] SPI.
+As well as specifying DTO processing at the action level, it can be specified globally by implementing the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandDtoProcessorService.html[CommandDtoProcessorService] SPI.
 
 The command replay can be demonstrated by running a second instance of the demo app, using the "secondary" Spring Boot profile.
 This is most easily done by specifying a system property:
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb-description.adoc
index 6eecec3..60cc6cd 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/objects/DomainObject/nature/viewmodels/usingjaxb/StatefulVmUsingJaxb-description.adoc
@@ -44,5 +44,5 @@ NOTE: the child object has value-type semantics (is annotated with `@lombok.Data
 == Long URLs
 
 As you can see this can result in long URLs.
-If the URL is too long, or needs to be encrypted, then the link:https://isis.apache.org/refguide/${ISIS_VERSION}/applib-svc/UrlEncodingService.html[`UrlEncodingService`] SPI can provide for different serializations.
+If the URL is too long, or needs to be encrypted, then the link:https://isis.apache.org/refguide/${ISIS_VERSION}/applib-svc/UrlEncodingService.html[UrlEncodingService] SPI can provide for different serializations.
 
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo-description.adoc
index fff47d1..2c44994 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/properties/Property/commandPublishing/PropertyCommandPublishingJdo-description.adoc
@@ -5,11 +5,11 @@ WARNING: TODO command was renamed to commandPublishing
 The `command` element is used to allow or suppress the reification of an property edit into a `Command`.
 
 
-When allowed (the default), then the `Command` is sent to registered implementation(s) of https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandServiceListener.html#section-top[`CommandServiceListener`] SPI, _after_ the interaction has completed.
+When allowed (the default), then the `Command` is sent to registered implementation(s) of https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandServiceListener.html#section-top[CommandServiceListener] SPI, _after_ the interaction has completed.
 One use case is to replicate and replay commands to a secondary system, for example for regression testing.
 For more on this, see the "Command Replay" section below.
 
-Commands are also used under the covers to allow property edits to be made asynchronously using the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/WrapperFactory.html[`WrapperFactory`].
+Commands are also used under the covers to allow property edits to be made asynchronously using the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/WrapperFactory.html[WrapperFactory].
 
 [NOTE]
 ====
@@ -107,7 +107,7 @@ This is used by the link:https://isis.apache.org/extensions/2.0.0-M3/command-rep
 
 The associated `commandDtoProcessor()` element allows the `Command` XML representation (as a `CommandDto`) to be processed before being surfaced through the REST endpoint.
 One use case is to allow data to be obfuscated for security, or to replace large payloads (such as Blobs) with a smaller dummy payload.
-As well as specifying DTO processing at the action level, it can be specified globally by implementing the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandDtoProcessorService.html[`CommandDtoProcessorService`] SPI.
+As well as specifying DTO processing at the action level, it can be specified globally by implementing the link:https://isis.apache.org/refguide/2.0.0-M3/applib-svc/CommandDtoProcessorService.html[CommandDtoProcessorService] SPI.
 
 The command replay can be demonstrated by running a second instance of the demo app, using the "secondary" Spring Boot profile.
 This is most easily done by specifying a system property:
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage-description.adoc b/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage-description.adoc
index c3304a3..6dd1551 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage-description.adoc
+++ b/examples/demo/domain/src/main/java/demoapp/dom/homepage/DemoHomePage-description.adoc
@@ -1,6 +1,6 @@
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-Apache Isis applications can nominate a view model to act as the home page, using the link:https://isis.apache.org/refguide/${ISIS_VERSION}/applib-ant/HomePage.html[`@HomePage`] annotation:
+Apache Isis applications can nominate a view model to act as the home page, using the link:https://isis.apache.org/refguide/${ISIS_VERSION}/applib-ant/HomePage.html[@HomePage] annotation:
 
 [source,java]
 ----
@@ -18,6 +18,6 @@ This application's home page is pretty simple, not much more than a couple of ha
 A more common implementation of a home page is as a dashboard, displaying the most useful current information to the user (perhaps a task list, or alerts).
 Such a home page would have a number of repository services injected into it, in order to query and render those tasks or alerts.
 
-It would probably also have the framework's link:https://isis.apache.org/refguide/${ISIS_VERSION}/applib-svc/UserService.html[`UserService`] injected, in order that the information displayed is relevant to the current user.
+It would probably also have the framework's link:https://isis.apache.org/refguide/${ISIS_VERSION}/applib-svc/UserService.html[UserService] injected, in order that the information displayed is relevant to the current user.
 As you can see, this app's home page does actually do this, in order to "personalise" the title.
 
diff --git a/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc b/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc
index d46c0f4..648797e 100644
--- a/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc
+++ b/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc
@@ -15,7 +15,7 @@ The module also provides:
 * `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 contributes collections to the xref:refguide:applib-cm:roles-mixins-contributees/contributee.adoc#HasUniqueId[`HasUniqueId`] interface.
+* `AuditingServiceContributions` which contributes collections to the xref:refguide:applib-cm:roles-mixins-contributees/contributee.adoc#HasUniqueId[HasUniqueId] 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.
 
 These services can be activated by updating the `pom.xml` and updating the `AppManifest#getModules()` method.
@@ -24,14 +24,14 @@ 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:refguide:applib:index/annotation/DomainObject.adoc#auditing[`@DomainObject#auditing()`] annotation.
+The typical way to indicate that an object should be audited is to annotate it with the xref:refguide:applib:index/annotation/DomainObject.adoc#auditing[@DomainObject#auditing()] annotation.
 
 
 == Related Services
 
-The auditing service works very well with implementations of xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] that persist the ``Execution`` objects obtained from the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] service.
+The auditing service works very well with implementations of xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] that persist the ``Execution`` objects obtained from the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] service.
 The interaction execution captures the _cause_ of an interaction (an action was invoked, a property was edited), while the `EntityPropertyChangeSubscriber` audit entries capture the _effect_ of that interaction in terms of changed state.
 
-The xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[`CommandSubscriber`] SPI can also be combined with the audit-trail service, where the ``Command`` capturesthe _intent_ of an action, not the actual action invocation itself.
+The xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] SPI can also be combined with the audit-trail service, where the ``Command`` capturesthe _intent_ of an action, not the actual action invocation itself.
 
 
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
index 49311ef..2f9e98f 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
@@ -16,11 +16,11 @@ DataNucleus' persistence-by-reachability may cause performance issues.
 We strongly recommend that you disable it.
 ====
 
-One scenario in particular where this performance issues can arise is if your entities implement the `java.lang.Comparable` interface, and you have used Apache Isis' xref:refguide:applib-cm:classes/utility.adoc#ObjectContracts[`ObjectContracts`] utility class.
+One scenario in particular where this performance issues can arise is if your entities implement the `java.lang.Comparable` interface, and you have used Apache Isis' xref:refguide:applib-cm:classes/utility.adoc#ObjectContracts[ObjectContracts] utility class.
 The issue here is that `ObjectContracts` implementation can cause DataNucleus to recursively rehydrate a larger number of associated entities.
 (More detail below).
 
-We therefore recommend that you disable persistence-by-reachability by adding the following to `persistor_datanucleus.properties`:
+We therefore recommend that you disable persistence-by-reachability by adding the following to `application.properties`:
 
 [source,ini]
 ----
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc b/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc
index 714f5c8..d2a250c 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/configuring/properties.adoc
@@ -45,7 +45,7 @@ There generally is no need to change this from its default.
 `RegisterEntities.` +
 `packagePrefix`
 |fully qualified package names, CSV
-|This property is derived automatically derived from the set of modules provided in the xref:refguide:applib-cm:classes/super.adoc#AppManifest[`AppManifest`], and so does not need to be specified explicitly.
+|This property is derived automatically derived from the set of modules provided in the xref:refguide:applib-cm:classes/super.adoc#AppManifest[AppManifest], and so does not need to be specified explicitly.
 
 It holds the set of packages to search so that DataNucleus builds its metamodel eagerly rather than lazily.
 
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/hints-and-tips/overriding-jdo-annotations.adoc b/persistence/jdo/adoc/modules/ROOT/pages/hints-and-tips/overriding-jdo-annotations.adoc
index 1e2c5b2..b2ed645 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/hints-and-tips/overriding-jdo-annotations.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/hints-and-tips/overriding-jdo-annotations.adoc
@@ -19,7 +19,7 @@ The idea here is simply to use XML as the means by which metadata is specified.
 The idea here is to accommodate for subtle differences in support for SQL between vendors.
 A good example is the default schema for a table: `dbo` for SQL Server, `public` for HSQLDB, `sys` for Oracle, and so on.
 
-If you want to use the first approach (the `.jdo` file), you'll find that you can download the effective XML representation of domain entities using the xref:refguide:applib-cm:classes.adoc#downloadJdoMetadata[`downloadJdoMetadata()`] mixin action available in prototyping mode.
+If you want to use the first approach (the `.jdo` file), you'll find that you can download the effective XML representation of domain entities using the xref:refguide:applib-cm:classes.adoc#downloadJdoMetadata[downloadJdoMetadata()] mixin action available in prototyping mode.
 This then needs to be renamed and placed in the appropriate location on the classpath; see the link:http://www.datanucleus.org[DataNucleus documentation] for details.
 
 However, using this first approach does create a maintenance effort; if the domain entity's class structure changes over time, then the XML metadata file will need to be updated.
diff --git a/persistence/jdo/adoc/modules/ROOT/pages/services/IsisJdoSupport.adoc b/persistence/jdo/adoc/modules/ROOT/pages/services/IsisJdoSupport.adoc
index e5d7595..e6d23d8 100644
--- a/persistence/jdo/adoc/modules/ROOT/pages/services/IsisJdoSupport.adoc
+++ b/persistence/jdo/adoc/modules/ROOT/pages/services/IsisJdoSupport.adoc
@@ -6,7 +6,7 @@
 
 
 The `IsisJdoSupport` service provides a number of general purpose methods for working with the JDO/DataNucleus objectstore.
-In general these act at a lower-level of abstraction than the APIs normally used (specifically, those of xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]), but nevertheless deal with some of the most common use cases.
+In general these act at a lower-level of abstraction than the APIs normally used (specifically, those of xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]), but nevertheless deal with some of the most common use cases.
 For service also provides access to the underlying JDO `PersistenceManager` for full control.
 
 The following sections discuss the functionality provided by the service, broken out into categories.
@@ -55,7 +55,7 @@ As an alternative, consider using DataNucleus' link:http://www.datanucleus.org/p
 DataNucleus provides an link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[extension to JDO], so that JDOQL queries can be built up and executed using a set of type-safe classes.
 
 The types in question for type safe queries are not the domain entities, but rather are companion "Q..." query classes.
-These classes are generated dynamically by an link:https://www.jcp.org/en/jsr/detail?id=269[annotation processor] as a side-effect of compilation, one "Q..." class for each of the xref:refguide:applib-ant:PersistenceCapable.adoc[`@PersistenceCapable`] domain entity in your application.
+These classes are generated dynamically by an link:https://www.jcp.org/en/jsr/detail?id=269[annotation processor] as a side-effect of compilation, one "Q..." class for each of the xref:refguide:applib-ant:PersistenceCapable.adoc[@PersistenceCapable] domain entity in your application.
 For example, a `ToDoItem` domain entity will give rise to a `QToDoItem` query class.
 These "Q..." classes mirror the structure of domain entity, but expose properties that allow predicates to be built up for querying instances, as well as other functions in support of order by, group by and other clauses.
 
@@ -109,7 +109,7 @@ public List<ToDoItem> findByAtPathAndCategory(final String atPath, final Categor
 
 [NOTE]
 ====
-You can find the full example of the JDOQL equivalent in the xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]
+You can find the full example of the JDOQL equivalent in the xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]
 ====
 
 The `executeUniqueQuery(...)` method is similar to `executeQuery(...)`, however expects the query to return at most a single object, which it returns (or `null` if none).
diff --git a/preview.sh b/preview.sh
index 5d2fc67..5c99588 100644
--- a/preview.sh
+++ b/preview.sh
@@ -12,7 +12,7 @@ export ANTORA_TARGET_SITE=antora/target/site
 #
 PLAYBOOK_FILE=antora/playbooks/site.yml
 
-while getopts 'ECDAKSecdaksxyhf:' opt
+while getopts 'ECDAKSLecdaksxyhfl:' opt
 do
   case $opt in
     E) export SKIP_EXAMPLES=false
@@ -21,6 +21,8 @@ do
        forcing=true ;;
     D) export SKIP_PROJDOC_GENERATION=false
        forcing=true ;;
+    L) export SKIP_FIX_ADOC_LINE_ENDINGS=false
+       forcing=true ;;
     A) export SKIP_ANTORA_GENERATION=false
        export SKIP_CLEAR_CACHE=false
        export SKIP_CLEAR_PREVIOUS=false
@@ -33,6 +35,7 @@ do
     e) export SKIP_EXAMPLES=true ;;
     c) export SKIP_CONFIGS=true ;;
     d) export SKIP_PROJDOC_GENERATION=true ;;
+    l) export SKIP_FIX_ADOC_LINE_ENDINGS=true ;;
     a) export SKIP_ANTORA_GENERATION=true
        export SKIP_CLEAR_CACHE=true
        export SKIP_CLEAR_PREVIOUS=true
@@ -51,6 +54,7 @@ do
        echo "  -k skip stale example check"
        echo "  -c skip config doc generation"
        echo "  -d skip projdoc generation"
+       echo "  -l skip fix adoc line endings"
        echo "  -a skip Antora generation"
        echo "  -s skip serving generated site"
        echo ""
@@ -59,6 +63,7 @@ do
        echo "  -K force stale example check"
        echo "  -C force config doc generation"
        echo "  -D force projdoc generation"
+       echo "  -L force fix adoc line endings"
        echo "  -A force Antora generation"
        echo "  -S force serving generated site"
        echo ""
@@ -81,6 +86,9 @@ if [ "$forcing" = "true" ]; then
     if [ -z "$SKIP_PROJDOC_GENERATION" ]; then
       export SKIP_PROJDOC_GENERATION=true
     fi
+    if [ -z "$SKIP_FIX_ADOC_LINE_ENDINGS" ]; then
+      export SKIP_FIX_ADOC_LINE_ENDINGS=true
+    fi
     if [ -z "$SKIP_ANTORA_GENERATION" ]; then
       export SKIP_ANTORA_GENERATION=true
       export SKIP_CLEAR_CACHE=true
@@ -98,6 +106,7 @@ echo ""
 echo "SKIP_EXAMPLES              : $SKIP_EXAMPLES"
 echo "SKIP_STALE_EXAMPLE_CHECK   : $SKIP_STALE_EXAMPLE_CHECK"
 echo "SKIP_PROJDOC_GENERATION    : $SKIP_PROJDOC_GENERATION"
+echo "SKIP_FIX_ADOC_LINE_ENDINGS : $SKIP_FIX_ADOC_LINE_ENDINGS"
 echo "SKIP_CONFIGS               : $SKIP_CONFIGS"
 echo "SKIP_ANTORA_GENERATION     : $SKIP_ANTORA_GENERATION"
 echo "SKIP_SERVE                 : $SKIP_SERVE"
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/BigComplex.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/BigComplex.java
index 506c328..f360a0a 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/BigComplex.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/BigComplex.java
@@ -38,55 +38,56 @@ public final class BigComplex {
 
     private BigDecimal re;
     private BigDecimal im;
-    
+
     public static BigComplex zero() {
-        return BigComplex.of(BigDecimal.ZERO, BigDecimal.ZERO); 
+        return BigComplex.of(BigDecimal.ZERO, BigDecimal.ZERO);
     }
-    
+
     public static BigComplex of(String re, String im) {
-        return BigComplex.of(new BigDecimal(re), new BigDecimal(im)); 
+        return BigComplex.of(new BigDecimal(re), new BigDecimal(im));
     }
-    
+
     public BigComplex add(BigComplex other) {
         return BigComplex.of(
-                this.re.add(other.re), 
+                this.re.add(other.re),
                 this.im.add(other.im));
     }
-    
+
     public BigComplex subtract(BigComplex other) {
         return BigComplex.of(
-                this.re.subtract(other.re), 
+                this.re.subtract(other.re),
                 this.im.subtract(other.im));
     }
-    
-    public BigDecimal norm() {
-        return this.re.multiply(this.re)
-                .add(this.im.multiply(this.im))
-                .sqrt(MathContext.UNLIMITED); 
-    }
-    
+
+// java 9 dependency
+//    public BigDecimal norm() {
+//        return this.re.multiply(this.re)
+//                .add(this.im.multiply(this.im))
+//                .sqrt(MathContext.UNLIMITED);
+//    }
+
     @Override
     public boolean equals(Object obj) {
         if(!(obj instanceof BigComplex)) {
-            return false;    
+            return false;
         }
         val other = (BigComplex) obj;
         return this.re.compareTo(other.re) == 0
                 && this.im.compareTo(other.im) == 0;
     }
-    
+
     @Override
     public int hashCode() {
         return Objects.hash(re, im);
     }
-    
+
     public static void assertEquals(BigComplex a, BigComplex b) {
         _Assert.assertEquals(a.re.toPlainString(), b.re.toPlainString());
         _Assert.assertEquals(a.im.toPlainString(), b.im.toPlainString());
     }
-    
-    public static void assertNumberEquals(BigComplex a, BigComplex b, double epsilon) {
-        _Assert.assertTrue(a.subtract(b).norm().doubleValue()<epsilon);
-    }
-    
+
+//    public static void assertNumberEquals(BigComplex a, BigComplex b, double epsilon) {
+//        _Assert.assertTrue(a.subtract(b).norm().doubleValue()<epsilon);
+//    }
+
 }
diff --git a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java
index 4bd98fd..c1e2d3b 100644
--- a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java
+++ b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/rospec/RoSpecSampler.java
@@ -28,144 +28,144 @@ import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.internal.collections._Lists;
 
 @DomainService(
-        nature = NatureOfService.REST, 
+        nature = NatureOfService.REST,
         objectType = "testdomain.RoSpecSampler")
 public class RoSpecSampler {
 
     // -- VOID
-    
-    @Action 
+
+    @Action
     public void voidResult() {
     }
-    
+
     // -- STRING
-    
-    @Action 
+
+    @Action
     public String string() {
         return "aString";
     }
-    
-    @Action(semantics = SemanticsOf.SAFE) 
+
+    @Action(semantics = SemanticsOf.SAFE)
     public String stringSafe() {
         return "aSafeString";
     }
-    
-    @Action 
+
+    @Action
     public String stringNull() {
         return null;
     }
-    
+
     // -- STRING ARRAY
-    
-    @Action 
+
+    @Action
     public String[] stringArray() {
         return new String[] {"Hello", "World!"};
     }
-    
-    @Action 
+
+    @Action
     public String[] stringArrayEmpty() {
         return new String[0];
     }
-    
-    @Action 
+
+    @Action
     public String[] stringArrayNull() {
         return null;
     }
-    
+
     // -- STRING LIST
-    
-    @Action 
+
+    @Action
     public List<String> stringList() {
         return _Lists.of("Hello", "World!");
     }
-    
-    @Action 
+
+    @Action
     public List<String> stringListEmpty() {
         return _Lists.of();
     }
-    
-    @Action 
+
+    @Action
     public List<String> stringListNull() {
         return null;
     }
-    
+
     // -- INT
-    
-    @Action 
+
+    @Action
     public int integerPrimitive() {
         return 123;
     }
-    
-    @Action 
+
+    @Action
     public Integer integer() {
         return 123;
     }
-    
-    @Action 
+
+    @Action
     public Integer integerNull() {
         return null;
     }
-    
+
     // -- BIG INT
-    
-    @Action 
+
+    @Action
     public BigInteger bigInteger() {
-        return BigInteger.valueOf(Long.MAX_VALUE).multiply(BigInteger.TWO);
+        return BigInteger.valueOf(Long.MAX_VALUE).multiply(BigInteger.valueOf(2));
     }
-    
-    @Action 
+
+    @Action
     public BigInteger bigIntegerNull() {
         return null;
     }
-    
-    @Action 
+
+    @Action
     public List<BigInteger> bigIntegerList() {
         return _Lists.of(BigInteger.ZERO, bigInteger());
     }
-    
-    
+
+
     // -- CUSTOMER
-    
-    @Action 
+
+    @Action
     public Customer customer() {
         return new Customer("Hello World!", 22);
     }
-    
-    @Action 
+
+    @Action
     public Customer customerNull() {
         return null;
     }
-    
+
     // -- CUSTOMER LIST
-    
-    @Action 
+
+    @Action
     public List<Customer> customerList() {
         return _Lists.of(
                 new Customer("Alice", 22),
                 new Customer("Bob", 33));
     }
-    
-    @Action 
+
+    @Action
     public List<Customer> customerListEmpty() {
         return _Lists.of();
     }
-    
-    @Action 
+
+    @Action
     public List<Customer> customerListNull() {
         return null;
     }
-    
+
     // -- COMPOSITE
-    
-    @Action 
+
+    @Action
     public List<BigComplex> complexList() {
         return _Lists.of(BigComplex.zero(), BigComplex.of("2.1", "-4.3"));
     }
-    
-    @Action 
+
+    @Action
     public BigComplex complexAdd(String are, String aim, String bre, String bim) {
         return BigComplex.of(are, aim).add(BigComplex.of(bre, bim));
     }
-    
-    
+
+
 }
diff --git a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/interact/CommandArgumentTest.java b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/interact/CommandArgumentTest.java
index 2c95307..04bbf8b 100644
--- a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/interact/CommandArgumentTest.java
+++ b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/interact/CommandArgumentTest.java
@@ -21,6 +21,7 @@ package org.apache.isis.testdomain.interact;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
@@ -52,10 +53,10 @@ import lombok.Setter;
 import lombok.val;
 
 @SpringBootTest(
-        classes = { 
+        classes = {
                 Configuration_headless.class,
                 CommandArgumentTest.CommandArgDemo.class,
-        }, 
+        },
         properties = {
         })
 @TestPropertySource({
@@ -63,7 +64,7 @@ import lombok.val;
     IsisPresets.SilenceProgrammingModel
 })
 class CommandArgumentTest extends InteractionTestAbstract {
-    
+
     @XmlRootElement(name = "root")
     @XmlType
     @XmlAccessorType(XmlAccessType.FIELD)
@@ -71,44 +72,44 @@ class CommandArgumentTest extends InteractionTestAbstract {
     @NoArgsConstructor
     @AllArgsConstructor(staticName = "of")
     public static class CommandResult {
-        
+
         @Getter @Setter
         private String resultAsString;
-        
+
     }
-    
+
 
     @XmlRootElement(name = "root")
     @XmlType
     @XmlAccessorType(XmlAccessType.FIELD)
     @DomainObject(nature=Nature.VIEW_MODEL, objectType="regressiontests.CommandArgDemo")
     public static class CommandArgDemo {
-        
+
         @Action
         public CommandResult list(List<Long> someIds){
             val stringified = ""+someIds;
             assertEquals("[1, 2, 3]", stringified);
             return CommandResult.of(stringified);
         }
-        
+
     }
-    
+
     @Test
     void listParam_shouldAllowInvocation() {
 
         val actionInteraction = startActionInteractionOn(CommandArgDemo.class, "list", Where.OBJECT_FORMS)
         .checkVisibility()
         .checkUsability();
-        
+
         val pendingArgs = actionInteraction.startParameterNegotiation().get();
-        
+
         pendingArgs.setParamValue(0, ManagedObject.of(
-                objectManager.getMetaModelContext().getSpecificationLoader()::loadSpecification, 
-                List.of(1L, 2L, 3L)));
-        
+                objectManager.getMetaModelContext().getSpecificationLoader()::loadSpecification,
+                Arrays.asList(1L, 2L, 3L)));
+
         val resultOrVeto = actionInteraction.invokeWith(pendingArgs);
         assertTrue(resultOrVeto.isLeft());
-        
+
         val stringified = resultOrVeto.left()
                 .map(ManagedObject::getPojo)
                 .map(CommandResult.class::cast)
@@ -116,21 +117,21 @@ class CommandArgumentTest extends InteractionTestAbstract {
                 .orElse(null);
         assertEquals("[1, 2, 3]", stringified);
     }
-    
+
     @Test
     void listParam_shouldAllowAsyncInvocation() throws InterruptedException, ExecutionException, TimeoutException {
 
         val commandArgDemo = new CommandArgDemo();
-        
+
         val control = AsyncControl.returning(CommandResult.class);
-        
+
         wrapperFactory.asyncWrap(commandArgDemo, control)
-        .list(List.of(1L, 2L, 3L));
-        
+        .list(Arrays.asList(1L, 2L, 3L));
+
         val stringified = control.getFuture().get(3L, TimeUnit.DAYS).getResultAsString();
-        
+
         assertEquals("[1, 2, 3]", stringified);
     }
-    
+
 
 }
diff --git a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jdo/_JdoExceptionTranslator.java b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jdo/_JdoExceptionTranslator.java
index 61f5a70..6061335 100644
--- a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jdo/_JdoExceptionTranslator.java
+++ b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jdo/_JdoExceptionTranslator.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.testdomain.persistence.jdo;
 
+import java.util.NoSuchElementException;
+
 import javax.jdo.JDODataStoreException;
 import javax.jdo.JDOException;
 
@@ -32,38 +34,38 @@ import org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
 
 final class _JdoExceptionTranslator {
 
-    // not used, but maybe keep for debugging purposes 
+    // not used, but maybe keep for debugging purposes
     static DataAccessException translate(Throwable failure, JdoTransactionManager txManager) {
-        
+
         return (DataAccessException) Result.failure(failure)
-        
+
         //XXX seems like a bug in DN, why do we need to unwrap this?
         .mapFailure(ex->ex instanceof IllegalArgumentException
                 ? ((IllegalArgumentException)ex).getCause()
                 : ex)
-        
+
         // asserts we have a NucleusException
         .ifFailure(ex->assertTrue(ex instanceof NucleusException))
-        
+
         // converts to JDOException
         .mapFailure(ex->ex instanceof NucleusException
                 ? NucleusJDOHelper
                         .getJDOExceptionForNucleusException(((NucleusException)ex))
                 : ex)
-        
+
         // asserts translation to JDO standard
         .ifFailure(ex->assertTrue(ex instanceof JDODataStoreException))
-        
+
         // converts to Spring DataAccessException
         .mapFailure(ex->ex instanceof JDOException
                 ? txManager.getJdoDialect().translateException((JDOException)ex)
                 : ex)
-        
+
         .getFailure()
-        .orElseThrow();
+        .orElse(new NoSuchElementException("No value present"));
 
     }
-    
-     
+
+
 
 }
diff --git a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jpa/_JpaExceptionTranslator.java b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jpa/_JpaExceptionTranslator.java
index 0d99284..380a3d3 100644
--- a/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jpa/_JpaExceptionTranslator.java
+++ b/regressiontests/stable/src/test/java/org/apache/isis/testdomain/persistence/jpa/_JpaExceptionTranslator.java
@@ -18,6 +18,8 @@
  */
 package org.apache.isis.testdomain.persistence.jpa;
 
+import java.util.NoSuchElementException;
+
 import org.springframework.dao.DataAccessException;
 import org.springframework.dao.support.DataAccessUtils;
 import org.springframework.orm.jpa.JpaTransactionManager;
@@ -27,11 +29,11 @@ import org.apache.isis.commons.internal.exceptions._Exceptions;
 
 final class _JpaExceptionTranslator {
 
-    // not used, but maybe keep for debugging purposes 
+    // not used, but maybe keep for debugging purposes
     static DataAccessException translate(Throwable failure, JpaTransactionManager txManager) {
-        
+
         return (DataAccessException) Result.failure(failure)
-        
+
         .mapFailure(ex-> _Exceptions.streamCausalChain(ex)
                 .filter(e->e instanceof RuntimeException)
                 .map(RuntimeException.class::cast)
@@ -40,12 +42,12 @@ final class _JpaExceptionTranslator {
                 .filter(nextEx -> nextEx instanceof DataAccessException)
                 .findFirst()
                 .orElseGet(()->new RuntimeException(ex)))
-        
+
         .getFailure()
-        .orElseThrow();
+        .orElse(new NoSuchElementException("No value present"));
 
     }
-    
-     
+
+
 
 }
diff --git a/core/runtimeservices/src/main/adoc/antora.yml b/scripts/ci/_adoc-fix-adoc-line-endings.sh
similarity index 52%
rename from core/runtimeservices/src/main/adoc/antora.yml
rename to scripts/ci/_adoc-fix-adoc-line-endings.sh
index 1a59920..a2fe201 100644
--- a/core/runtimeservices/src/main/adoc/antora.yml
+++ b/scripts/ci/_adoc-fix-adoc-line-endings.sh
@@ -1,3 +1,4 @@
+#!/bin/bash
 #  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
@@ -15,5 +16,43 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-name: core
-version: latest
+
+SCRIPT_DIR=$( dirname "$0" )
+if [ -z "$PROJECT_ROOT_PATH" ]; then
+  PROJECT_ROOT_PATH=`cd $SCRIPT_DIR/../.. ; pwd`
+fi
+
+if [ -z "$REVISION" ]; then
+  if [ ! -z "$SHARED_VARS_FILE" ] && [ -f "$SHARED_VARS_FILE" ]; then
+    . $SHARED_VARS_FILE
+    export $(cut -d= -f1 $SHARED_VARS_FILE)
+  fi
+fi
+
+if [ -z "$REVISION" ]; then
+  export REVISION="SNAPSHOT"
+fi
+
+
+GENERATED_PATH="${PROJECT_ROOT_PATH}/antora/components/refguide-index"
+
+##
+## run java
+##
+DOS2UNIX_CMD=$(command -v dos2unix)
+
+echo ""
+echo "\$DOS2UNIX_CMD : ${DOS2UNIX_CMD}"
+echo ""
+
+if [ ! -z "${DOS2UNIX_CMD}" ]; then
+  for FILE in $(find $GENERATED_PATH -name "*.adoc" -print)
+  do
+    ${DOS2UNIX_CMD} $FILE
+  done
+  echo
+  echo
+  echo
+fi
+
+
diff --git a/scripts/ci/_adoc-gen-projdoc.sh b/scripts/ci/_adoc-gen-projdoc.sh
index 7b2b7de..15138b1 100644
--- a/scripts/ci/_adoc-gen-projdoc.sh
+++ b/scripts/ci/_adoc-gen-projdoc.sh
@@ -41,11 +41,9 @@ GENERATED_PATH="${PROJECT_ROOT_PATH}/antora/components/refguide-index"
 ## run java
 ##
 JAVA_CMD=$(command -v java)
-DOS2UNIX_CMD=$(command -v dos2unix)
 
 echo ""
 echo "\$JAVA_CMD     : ${JAVA_CMD}"
-echo "\$DOS2UNIX_CMD : ${DOS2UNIX_CMD}"
 echo ""
 
 # for now meant to run with nightly builds only
@@ -53,17 +51,6 @@ if [ -z "${JAVA_CMD}" ]; then
   echo "projdoc gen: no java, skipping"
 else
   java -jar "${PROJECT_ROOT_PATH}/tooling/cli/target/isis-tooling-cli.jar" -p "${PROJECT_ROOT_PATH}" -o "${GENERATED_PATH}" $MODE
-
-  if [ ! -z "${DOS2UNIX_CMD}" ]; then
-    for FILE in $(find $GENERATED_PATH -name "*.adoc" -print)
-    do
-      ${DOS2UNIX_CMD} $FILE
-    done
-    echo
-    echo
-    echo
-  fi
-
 fi
 
 
diff --git a/scripts/ci/_build-site.sh b/scripts/ci/_build-site.sh
index 4edd030..462657a 100644
--- a/scripts/ci/_build-site.sh
+++ b/scripts/ci/_build-site.sh
@@ -46,6 +46,12 @@ else
   bash $SCRIPT_DIR/_adoc-gen-projdoc.sh
 fi
 
+if [[ "$SKIP_FIX_ADOC_LINE_ENDINGS" == "true" ]]; then
+  echo "skipping fix adoc line endings"
+else
+  bash $SCRIPT_DIR/_adoc-fix-adoc-line-endings.sh
+fi
+
 
 
 if [[ "$SKIP_ANTORA_GENERATION" == "true" ]]; then
diff --git a/security/adoc/modules/ROOT/pages/about.adoc b/security/adoc/modules/ROOT/pages/about.adoc
index 24b6679..fd22f86 100644
--- a/security/adoc/modules/ROOT/pages/about.adoc
+++ b/security/adoc/modules/ROOT/pages/about.adoc
@@ -51,7 +51,7 @@ In addition to Apache Isis' Shiro-based implementation of its authentication and
 ====
 A further aspect of security is auditing: recording what data was modified by which user.
 
-Apache Isis provides the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[`InteractionContext`] can be used to track the actions being invoked, and the xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] captures what data was modified as a result (auditing).
+Apache Isis provides the xref:refguide:applib:index/services/iactn/InteractionContext.adoc[InteractionContext] can be used to track the actions being invoked, and the xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] captures what data was modified as a result (auditing).
 When ``Interaction``s are persisted (eg by way of the xref:mappings:outbox-publisher:about.adoc[Outbox Publisher] mapping module) then this provides excellent traceability.
 The xref:security:audit-trail:about.adoc[Audit Trail] module provides an implementation of the xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] that persists audit entries to the database.
 
diff --git a/security/adoc/modules/ROOT/pages/domain-services-api-for-applications.adoc b/security/adoc/modules/ROOT/pages/domain-services-api-for-applications.adoc
index 763f179..b4456cd 100644
--- a/security/adoc/modules/ROOT/pages/domain-services-api-for-applications.adoc
+++ b/security/adoc/modules/ROOT/pages/domain-services-api-for-applications.adoc
@@ -12,7 +12,7 @@ Still, on very rare occasion you may have a need, in which case you can either u
 
 == `UserService` API
 
-The xref:refguide:applib:index/services/user/UserService.adoc[`UserService`] service exposes the following API:
+The xref:refguide:applib:index/services/user/UserService.adoc[UserService] service exposes the following API:
 
 [source,java]
 ----
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc
index af9d9a3..56e5d77 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/enhanced-wildcard-permission.adoc
@@ -4,7 +4,7 @@
 :page-partial:
 
 
-If using the text-based xref:security:shiro:about/ini-realm.adoc[`IniRealm`] or xref:security:shiro-realm-ldap:about.adoc[Apache Isis' LDAP realm], then note that Shiro also allows the string representation of the permissions to be mapped (resolved) to alternative `Permission` instances.
+If using the text-based xref:security:shiro:about/ini-realm.adoc[IniRealm] or xref:security:shiro-realm-ldap:about.adoc[Apache Isis' LDAP realm], then note that Shiro also allows the string representation of the permissions to be mapped (resolved) to alternative `Permission` instances.
 Apache Isis provides its own `IsisPermission` which introduces the concept of a "veto".
 
 A vetoing permission is one that prevents access to a feature, rather than grants it.
diff --git a/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc b/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc
index 328f720..0873028 100644
--- a/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc
+++ b/security/shiro/src/main/adoc/modules/shiro/pages/about/ini-realm.adoc
@@ -16,7 +16,7 @@ The diagram below shows the Isis and components involved:
 
 image::configuration/configuring-shiro/ini/configure-shiro-to-use-ini-realm.PNG[width="600px"]
 
-The realm is responsible for validating the user credentials, and then creates a Shiro link:http://shiro.apache.org/static/latest/apidocs/org/apache/shiro/subject/Subject.html[`Subject`] which represents the user (for the current request).
+The realm is responsible for validating the user credentials, and then creates a Shiro link:http://shiro.apache.org/static/latest/apidocs/org/apache/shiro/subject/Subject.html[Subject] which represents the user (for the current request).
 Apache Isis `Authenticator` component then interacts with the `Subject` in order to check permissions.
 
 
diff --git a/starters/adoc/modules/starters/pages/helloworld.adoc b/starters/adoc/modules/starters/pages/helloworld.adoc
index d8c46cc..3ec8920 100644
--- a/starters/adoc/modules/starters/pages/helloworld.adoc
+++ b/starters/adoc/modules/starters/pages/helloworld.adoc
@@ -278,7 +278,7 @@ This will pick up the `HelloWorldObjects` repository because it is annotated wit
 
 * all domain services
 +
-These are classes that are annotated with the framework's xref:refguide:applib:index/annotation/DomainService.adoc[`@DomainService`] annotation.
+These are classes that are annotated with the framework's xref:refguide:applib:index/annotation/DomainService.adoc[@DomainService] annotation.
 Because `@DomainService` is meta-annotated as a `@Component`, these are found automatically and are managed by Spring.
 +
 Depending on their nature, domain services are used to build up the menu, or are available to call programmatically, eg repositories, or sometimes both.
@@ -288,10 +288,10 @@ This appears in the menu, and also acts as a repository for the `HelloWorldObjec
 
 * all entities.
 +
-These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject`] annotation and with `@javax.jdo.annotations.PersistenceCapable`.
+These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] annotation and with `@javax.jdo.annotations.PersistenceCapable`.
 Because `@DomainObject` is meta-annotated as a `@Component`, these are found automatically by Spring.
 They are passed through to the JDO/DataNucleus object store, in order to create database mappings from the entities to relational tables.
-It is also annotated with xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject`]
+It is also annotated with xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject]
 +
 In the helloworld starter app, the only entity is `HelloWorldObject`.
 
diff --git a/starters/adoc/modules/starters/pages/simpleapp.adoc b/starters/adoc/modules/starters/pages/simpleapp.adoc
index 9e33119..6d7385a 100644
--- a/starters/adoc/modules/starters/pages/simpleapp.adoc
+++ b/starters/adoc/modules/starters/pages/simpleapp.adoc
@@ -480,7 +480,7 @@ This appears in the menu, and also acts as a repository for the `SimpleObject` e
 
 * all entities.
 +
-These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[`@DomainObject`] annotation and with `@javax.jdo.annotations.PersistenceCapable`.
+These are entities that are annotated with both xref:refguide:applib:index/annotation/DomainObject.adoc[@DomainObject] annotation and with `@javax.jdo.annotations.PersistenceCapable`.
 Because `@DomainObject` is meta-annotated as a `@Component`, these are found automatically by Spring.
 They are passed through to the JDO/DataNucleus object store, in order to create database mappings from the entities to relational tables.
 +
diff --git a/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc b/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc
index eae8976..0fd738e 100644
--- a/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc
+++ b/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/api-and-usage.adoc
@@ -14,10 +14,10 @@ Let's look at `FixtureScripts` domain service in more detail first.
 
 == `FixtureScripts`
 
-The framework provides a default implementation of `FixtureScripts` domain service, namely the xref:testing:fixtures:services/FixtureScripts.adoc[`FixtureScriptsDefault`] domain service.
+The framework provides a default implementation of `FixtureScripts` domain service, namely the xref:testing:fixtures:services/FixtureScripts.adoc[FixtureScriptsDefault] domain service.
 This is annotated to be rendered on the secondary "Prototyping" menu.
 
-The behaviour of this domain menu service can be refined by providing an implementation of the optional xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] SPI.
+The behaviour of this domain menu service can be refined by providing an implementation of the optional xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider] SPI.
 
 For example, here's the `FixtureScriptsSpecificationProvider` service that's generated by the xref:docs:starters:simpleapp.adoc[SimpleApp] starter apps:
 
diff --git a/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/mocking-the-clock.adoc b/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/mocking-the-clock.adoc
index c896fb9..848821e 100644
--- a/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/mocking-the-clock.adoc
+++ b/testing/fixtures/adoc/modules/fixtures/pages/fixture-scripts/mocking-the-clock.adoc
@@ -4,13 +4,13 @@
 
 
 It's often useful to be able to change the effective time that a test runs.
-The framework itself uses the xref:refguide:applib:index/services/clock/ClockService.adoc[`ClockService`] to obtain the current time, and applications should also use this domain service for a consistent view of the current time.
+The framework itself uses the xref:refguide:applib:index/services/clock/ClockService.adoc[ClockService] to obtain the current time, and applications should also use this domain service for a consistent view of the current time.
 
 This page describes how to change the current time, and how to set up tests using fixture scripts with a mocked time.
 
 == FixtureClock
 
-The default xref:refguide:applib:index/services/clock/ClockService.adoc[`ClockService`] implementation in fact simply delegates to another class defined in the API, namely the `o.a.i.applib.clock.Clock`, an abstract singleton class.
+The default xref:refguide:applib:index/services/clock/ClockService.adoc[ClockService] implementation in fact simply delegates to another class defined in the API, namely the `o.a.i.applib.clock.Clock`, an abstract singleton class.
 It is not recommended that your code use the `Clock` directly, but it's worth understanding how this all works.
 
 * If running in xref:refguide:config:about.adoc#deployment-types[production] (server) mode, then the framework will (lazily) instantiate the ``SystemClock` when first required.
@@ -30,7 +30,7 @@ Will be superceded as a requirement if refactor to provide alternative ClockServ
 
 == TickingClockFixture
 
-The `TickingClockFixture` is a pre-built fixture script that resets the date/time returned by the xref:refguide:applib:index/services/clock/ClockService.adoc[`ClockService`] to a known value.
+The `TickingClockFixture` is a pre-built fixture script that resets the date/time returned by the xref:refguide:applib:index/services/clock/ClockService.adoc[ClockService] to a known value.
 
 Thereafter the time returned continues to tick forward (as would the real clock) until reset once more.
 
diff --git a/testing/fixtures/adoc/modules/fixtures/pages/services/ExecutionParametersService.adoc b/testing/fixtures/adoc/modules/fixtures/pages/services/ExecutionParametersService.adoc
index 7c693dc..b012a50 100644
--- a/testing/fixtures/adoc/modules/fixtures/pages/services/ExecutionParametersService.adoc
+++ b/testing/fixtures/adoc/modules/fixtures/pages/services/ExecutionParametersService.adoc
@@ -6,7 +6,7 @@
 
 
 The `ExecutionParametersService` is used by the framework simply to instantiate the `ExecutionParameters` object.
-The `ExecutionParameters` object in turn is responsible for parsing the string parameter passed when executing fixtures through the UI to the xref:testing:fixtures:services/FixtureScripts.adoc[`FixtureScripts`] domain service.
+The `ExecutionParameters` object in turn is responsible for parsing the string parameter passed when executing fixtures through the UI to the xref:testing:fixtures:services/FixtureScripts.adoc[FixtureScripts] domain service.
 
 == API & Implementation
 
diff --git a/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScripts.adoc b/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScripts.adoc
index 807f14b..cecc5cb 100644
--- a/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScripts.adoc
+++ b/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScripts.adoc
@@ -8,7 +8,7 @@
 
 The `FixtureScripts` service provides the ability to execute xref:fixtures:ROOT:about.adoc#api-and-usage[fixture scripts].
 
-The default implementation of this service, `FixtureScriptsDefault`, uses the associated xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] to obtain a `FixtureScriptsSpecification`.
+The default implementation of this service, `FixtureScriptsDefault`, uses the associated xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider] to obtain a `FixtureScriptsSpecification`.
 This configures this service, for example telling it which package to search for `FixtureScript` classes, how to execute those classes, and hints that influence the UI.
 
 
@@ -52,11 +52,11 @@ The default implementation of this domain service supports the following configu
 |Whether fixture `FixturesInstallingEvent` and `FixturesInstalledEvent` events should be posted while the system is bootstrapping.
 
 Fixture events are fired to indicate the start and end of fixtures are being installed.
-This are listened to by the xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[`QueryResultsCache`] to disable caching during this period.
+This are listened to by the xref:refguide:applib:index/services/queryresultscache/QueryResultsCache.adoc[QueryResultsCache] to disable caching during this period.
 
 |===
 
 
 === Related Services
 
-The default implementation of this domain service interacts with xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`].
+The default implementation of this domain service interacts with xref:testing:fixtures:services/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider].
diff --git a/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScriptsSpecificationProvider.adoc b/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScriptsSpecificationProvider.adoc
index 5c1cef1..3effdd1 100644
--- a/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScriptsSpecificationProvider.adoc
+++ b/testing/fixtures/adoc/modules/fixtures/pages/services/FixtureScriptsSpecificationProvider.adoc
@@ -5,7 +5,7 @@
 
 
 
-The `FixtureScriptsSpecificationProvider` configures the xref:testing:fixtures:services/FixtureScripts.adoc[`FixtureScripts`] domain service, providing the location to search for fixture scripts and other settings.
+The `FixtureScriptsSpecificationProvider` configures the xref:testing:fixtures:services/FixtureScripts.adoc[FixtureScripts] domain service, providing the location to search for fixture scripts and other settings.
 
 The service is used only by the default implementation of `FixtureScripts`, namely `FixtureScriptsDefault`.
 
diff --git a/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc b/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc
index 81dfd33..a60d05d 100644
--- a/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc
+++ b/testing/integtestsupport/adoc/modules/integtestsupport/pages/about.adoc
@@ -350,23 +350,23 @@ This has an alias of `wm()`.
 
 This class also provides a number of injected domain services:
 
-* xref:refguide:applib:index/services/repository/RepositoryService.adoc[`RepositoryService`]
+* xref:refguide:applib:index/services/repository/RepositoryService.adoc[RepositoryService]
 +
 to query and persist objects through a generic repository
 
-* xref:refguide:applib:index/services/factory/FactoryService.adoc[`FactoryService`]
+* xref:refguide:applib:index/services/factory/FactoryService.adoc[FactoryService]
 +
 for instantiating domain objects and mixins
 
-* xref:refguide:applib:index/services/user/UserService.adoc[`UserService`]
+* xref:refguide:applib:index/services/user/UserService.adoc[UserService]
 +
 to acces the current user
 
-* xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[`ServiceRegistry`]
+* xref:refguide:applib:index/services/registry/ServiceRegistry.adoc[ServiceRegistry]
 +
 to access domain services
 
-* xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[`MetaModelService`]
+* xref:refguide:applib:index/services/metamodel/MetaModelService.adoc[MetaModelService]
 +
 to access the metamodel.
 
@@ -375,7 +375,7 @@ to access the metamodel.
 to simulate interactions through the UI.
 This is discussed further xref:about.adoc#wrapper-factory[below].
 
-* xref:refguide:applib:index/services/xactn/TransactionService.adoc[`TransactionService`]
+* xref:refguide:applib:index/services/xactn/TransactionService.adoc[TransactionService]
 +
 for more control over transactions
 
diff --git a/testing/specsupport/adoc/modules/specsupport/pages/about.adoc b/testing/specsupport/adoc/modules/specsupport/pages/about.adoc
index d55c64d..f344692 100644
--- a/testing/specsupport/adoc/modules/specsupport/pages/about.adoc
+++ b/testing/specsupport/adoc/modules/specsupport/pages/about.adoc
@@ -239,7 +239,7 @@ This is done using the xref:testing:integtestsupport:about.adoc#wrapper-factory[
 
 [TIP]
 ====
-The xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[`Scratchpad`] domain service is one way in which glue classes can pass state between each other.
+The xref:refguide:applib:index/services/scratchpad/Scratchpad.adoc[Scratchpad] domain service is one way in which glue classes can pass state between each other.
 Or, for more type safety, you could develop your own custom domain services for each scenario, and inject these in as regular services.
 See link:http://www.thinkcode.se/blog/2017/04/01/sharing-state-between-steps-in-cucumberjvm-using-picocontainer[this blog] post for more details.
 ====
diff --git a/testing/unittestsupport/adoc/modules/unittestsupport/pages/about.adoc b/testing/unittestsupport/adoc/modules/unittestsupport/pages/about.adoc
index eecc7b1..5585210 100644
--- a/testing/unittestsupport/adoc/modules/unittestsupport/pages/about.adoc
+++ b/testing/unittestsupport/adoc/modules/unittestsupport/pages/about.adoc
@@ -43,7 +43,7 @@ If using an RDBMS for persistence then we strongly recommend that you implement
 
 * second, `SortedSet` is preferable to `Set` because then the order is well-defined and predictable (to an end user, to the programmer).
 +
-The xref:refguide:applib-cm:classes/utility.adoc#ObjectContracts[`ObjectContracts`]  utility class substantially simplifies the task of implementing `Comparable` in your domain classes.
+The xref:refguide:applib-cm:classes/utility.adoc#ObjectContracts[ObjectContracts]  utility class substantially simplifies the task of implementing `Comparable` in your domain classes.
 
 * third, if the relationship is bidirectional then the ORM (JDO/DataNucleus) will automatically maintain the relationship.
 
@@ -189,7 +189,7 @@ public class JUnitRuleMockery2Test_autoWiring_setterInjection_happyCase {
 
 [NOTE]
 ====
-Isis also includes (and automatically uses) a link:http://www.javassist.org[Javassist]-based implementation of JMock's link:http://www.jmock.org/mocking-classes.html[`ClassImposteriser`] interface, so that you can mock out concrete classes as well as interfaces.  We've provided this rather than JMock's own cglib-based implementation (which is problematic for us given its own dependencies on link:http://asm.ow2.org/[asm]).
+Isis also includes (and automatically uses) a link:http://www.javassist.org[Javassist]-based implementation of JMock's link:http://www.jmock.org/mocking-classes.html[ClassImposteriser] interface, so that you can mock out concrete classes as well as interfaces.  We've provided this rather than JMock's own cglib-based implementation (which is problematic for us given its own dependencies on link:http://asm.ow2.org/[asm]).
 ====
 
 
diff --git a/tooling/cli/adoc/modules/tooling-cli/examples/isis-tooling.yml b/tooling/cli/adoc/modules/tooling-cli/examples/isis-tooling.yml
index bd127f4..b3aa3fc 100644
--- a/tooling/cli/adoc/modules/tooling-cli/examples/isis-tooling.yml
+++ b/tooling/cli/adoc/modules/tooling-cli/examples/isis-tooling.yml
@@ -21,77 +21,77 @@ global:
   namespacePartsSkipCount: 3
 
   sections:
-#    App: org.apache.isis.app.*
-#    Mavendeps: org.apache.isis.mavendeps.*
-#    Testing: org.apache.isis.testing.*
-#    Examples: org.apache.isis.examples.*
-#
-#    Root: org.apache.isis
-#    Commons: org.apache.isis.commons.*
+    App: org.apache.isis.app.*
+    Mavendeps: org.apache.isis.mavendeps.*
+    Testing: org.apache.isis.testing.*
+    Examples: org.apache.isis.examples.*
+
+    Root: org.apache.isis
+    Commons: org.apache.isis.commons.*
 
     Core: org.apache.isis.core.*
 
-#    Persistence: org.apache.isis.persistence
-#    JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
-#    JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
-#
-#    Security: org.apache.isis.security
-#    Bypass: "org.apache.isis.security:isis-security-bypass.*"
-#    Keycloak: "org.apache.isis.security:isis-security-keycloak.*"
-#    Shiro: "org.apache.isis.security:isis-security-shiro.*"
-#
-#    Viewer: org.apache.isis.viewer
-#    "Restful Objects": "org.apache.isis.viewer:isis-viewer-restfulobjects.*"
-#    Wicket: "org.apache.isis.viewer:isis-viewer-wicket.*"
-#
-#    Valuetypes: org.apache.isis.valuetypes.*
-#    "Asciidoc": "org.apache.isis.valuetypes:isis-valuetypes-asciidoc.*"
-#    "Markdown": "org.apache.isis.valuetypes:isis-valuetypes-markdown.*"
-#    "SSE": "org.apache.isis.valuetypes:isis-valuetypes-ssec.*"
-#
-#    Mappings: org.apache.isis.mappings
-#    #"Outbox Publisher": org.apache.isis.mappings:isis-mappings-jaxrsclient.*
-#    "JAX-RS Client Library": "org.apache.isis.mappings:isis-mappings-jaxrsclient.*"
-#    #Minio: "org.apache.isis.mappings:isis-mappings-minio.*"
-#    "REST Client": "org.apache.isis.mappings:isis-mappings-restclient.*"
-#    #"Slack Library": "org.apache.isis.mappings:isis-mappings-slack.*"
-#
-#    Extensions: org.apache.isis.extensions
-#    "Core: Command Log": "org.apache.isis.extensions:isis-extensions-command-log.*"
-#    "Core: Command Replay": "org.apache.isis.extensions:isis-extensions-command-replay.*"
-#    #"Core: Flyway": "org.apache.isis.extensions:isis-extensions-flyway.*"
-#    "Core: Model Annotation": "org.apache.isis.extensions:isis-extensions-modelannotation.*"
-#    "Core: Quartz": "org.apache.isis.extensions:isis-extensions-quartz.*"
-#    #"Security: Audit Trail": "org.apache.isis.security:isis-extensions-audit-trail.*"
-#    "Security: Secman": "org.apache.isis.security:isis-extensions-secman.*"
-#    #"Security: Session Log": "org.apache.isis.security:isis-extensions-session-log.*"
-#    "Security: Shiro LDAP Realm": "org.apache.isis.security:isis-extensions-shiro-realm-ldap.*"
-#    "RO Viewer: CORS": "org.apache.isis.security:isis-extensions-cors.*"
-#    "Wicket Viewer: Excel Download": "org.apache.isis.security:isis-extensions-exceldownload.*"
-#    "Wicket Viewer: Full Calendar": "org.apache.isis.security:isis-extensions-fullcalendar.*"
-#    #"Wicket Viewer: Gmap3": "org.apache.isis.security:isis-extensions-gmap3.*"
-#    "Wicket Viewer: Pdf.js": "org.apache.isis.security:isis-extensions-fullcalendar.*"
-#
-#    Subdomains: org.apache.isis.subdomains
-#    "Base": "org.apache.isis.subdomains:isis-subdomains-base.*"
-#    #"docx": "org.apache.isis.subdomains:isis-subdomains-docx.*"
-#    "Excel": "org.apache.isis.subdomains:isis-subdomains-excel.*"
-#    #"Freemarker": "org.apache.isis.subdomains:isis-subdomains-freemarker.*"
-#    #"OGNL": "org.apache.isis.subdomains:isis-subdomains-ognl.*"
-#    #"PDF Box": "org.apache.isis.subdomains:isis-subdomains-pdfbox.*"
-#    "Spring": "org.apache.isis.subdomains:isis-subdomains-spring.*"
-#    "XDocReport": "org.apache.isis.subdomains:isis-subdomains-xdocreport.*"
-#    #"Zip": "org.apache.isis.subdomains:isis-subdomains-zip.*"
-#
-#    "Tooling": org.apache.isis.tooling.*
-#    "Regression Tests": org.apache.isis.regressiontests.*
-#
-#    Incubator: org.apache.isis.incubator
-#    "Kroviz Client": "org.apache.isis.incubator.clients:isis-client-kroviz.*"
-#    "JavaFX Viewer": "org.apache.isis.incubator.viewer:isis-viewer-javafx.*"
-#    "Vaadin Viewer": "org.apache.isis.incubator.viewer:isis-viewer-vaadin.*"
-#
-#    Legacy: org.apache.isis.legacy.*
+    Persistence: org.apache.isis.persistence
+    JDO: "org.apache.isis.persistence:isis-persistence-jdo.*"
+    JPA: "org.apache.isis.persistence:isis-persistence-jpa.*"
+
+    Security: org.apache.isis.security
+    Bypass: "org.apache.isis.security:isis-security-bypass.*"
+    Keycloak: "org.apache.isis.security:isis-security-keycloak.*"
+    Shiro: "org.apache.isis.security:isis-security-shiro.*"
+
+    Viewer: org.apache.isis.viewer
+    "Restful Objects": "org.apache.isis.viewer:isis-viewer-restfulobjects.*"
+    Wicket: "org.apache.isis.viewer:isis-viewer-wicket.*"
+
+    Valuetypes: org.apache.isis.valuetypes.*
+    "Asciidoc": "org.apache.isis.valuetypes:isis-valuetypes-asciidoc.*"
+    "Markdown": "org.apache.isis.valuetypes:isis-valuetypes-markdown.*"
+    "SSE": "org.apache.isis.valuetypes:isis-valuetypes-ssec.*"
+
+    Mappings: org.apache.isis.mappings
+    #"Outbox Publisher": org.apache.isis.mappings:isis-mappings-jaxrsclient.*
+    "JAX-RS Client Library": "org.apache.isis.mappings:isis-mappings-jaxrsclient.*"
+    #Minio: "org.apache.isis.mappings:isis-mappings-minio.*"
+    "REST Client": "org.apache.isis.mappings:isis-mappings-restclient.*"
+    #"Slack Library": "org.apache.isis.mappings:isis-mappings-slack.*"
+
+    Extensions: org.apache.isis.extensions
+    "Core: Command Log": "org.apache.isis.extensions:isis-extensions-command-log.*"
+    "Core: Command Replay": "org.apache.isis.extensions:isis-extensions-command-replay.*"
+    #"Core: Flyway": "org.apache.isis.extensions:isis-extensions-flyway.*"
+    "Core: Model Annotation": "org.apache.isis.extensions:isis-extensions-modelannotation.*"
+    "Core: Quartz": "org.apache.isis.extensions:isis-extensions-quartz.*"
+    #"Security: Audit Trail": "org.apache.isis.security:isis-extensions-audit-trail.*"
+    "Security: Secman": "org.apache.isis.security:isis-extensions-secman.*"
+    #"Security: Session Log": "org.apache.isis.security:isis-extensions-session-log.*"
+    "Security: Shiro LDAP Realm": "org.apache.isis.security:isis-extensions-shiro-realm-ldap.*"
+    "RO Viewer: CORS": "org.apache.isis.security:isis-extensions-cors.*"
+    "Wicket Viewer: Excel Download": "org.apache.isis.security:isis-extensions-exceldownload.*"
+    "Wicket Viewer: Full Calendar": "org.apache.isis.security:isis-extensions-fullcalendar.*"
+    #"Wicket Viewer: Gmap3": "org.apache.isis.security:isis-extensions-gmap3.*"
+    "Wicket Viewer: Pdf.js": "org.apache.isis.security:isis-extensions-fullcalendar.*"
+
+    Subdomains: org.apache.isis.subdomains
+    "Base": "org.apache.isis.subdomains:isis-subdomains-base.*"
+    #"docx": "org.apache.isis.subdomains:isis-subdomains-docx.*"
+    "Excel": "org.apache.isis.subdomains:isis-subdomains-excel.*"
+    #"Freemarker": "org.apache.isis.subdomains:isis-subdomains-freemarker.*"
+    #"OGNL": "org.apache.isis.subdomains:isis-subdomains-ognl.*"
+    #"PDF Box": "org.apache.isis.subdomains:isis-subdomains-pdfbox.*"
+    "Spring": "org.apache.isis.subdomains:isis-subdomains-spring.*"
+    "XDocReport": "org.apache.isis.subdomains:isis-subdomains-xdocreport.*"
+    #"Zip": "org.apache.isis.subdomains:isis-subdomains-zip.*"
+
+    "Tooling": org.apache.isis.tooling.*
+    "Regression Tests": org.apache.isis.regressiontests.*
+
+    Incubator: org.apache.isis.incubator
+    "Kroviz Client": "org.apache.isis.incubator.clients:isis-client-kroviz.*"
+    "JavaFX Viewer": "org.apache.isis.incubator.viewer:isis-viewer-javafx.*"
+    "Vaadin Viewer": "org.apache.isis.incubator.viewer:isis-viewer-vaadin.*"
+
+    Legacy: org.apache.isis.legacy.*
 
 
 commands:
@@ -100,6 +100,6 @@ commands:
 
   index:
     fixOrphanedAdocIncludeStatements: false
-    skipTitleHeader: true
+    skipTitleHeader: false
     formatter: JAVA_SOURCES_WITH_SECTIONS
 
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/architecture.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/architecture.adoc
index 75c5242..2f0cf66 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/architecture.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/architecture.adoc
@@ -12,19 +12,19 @@ In response, the server uses the `Content-Type` header which the client can use
 
 
 * `RepresentationService` +
-+ The xref:core:runtime-services:RepresentationService.adoc[`RepresentationService`] is an SPI domain service (plugin-point) that allows an arbitrary representation to be generated for any of the resources defined in the RO spec. +
++ The xref:core:runtime-services:RepresentationService.adoc[RepresentationService] is an SPI domain service (plugin-point) that allows an arbitrary representation to be generated for any of the resources defined in the RO spec. +
 + Normally this SPI service need not be replaced, because the default implementation (`RepresentationServiceContentNegotiator`) simply uses the HTTP `Accept` header and delegates onto another service, the (slightly misnamed) `ContentNegotiationService`, to actually generate the representation.
 There can be multiple implementations of the `ContentNegotiationService` and the content negotiator will delegate to each in turn until one is able to handle the request (per the chain of responsibliity pattern).
 
 * `ContentNegotiationService` +
 + As noted above, there can be multiple implementations of the
-xref:core:runtime-services:ContentNegotiationService.adoc[`ContentNegotiationService`], each one handling a particular HTTP `Accept` header.
+xref:core:runtime-services:ContentNegotiationService.adoc[ContentNegotiationService], each one handling a particular HTTP `Accept` header.
 If the implementation does not recognize the value of the header, if can simply return `null`. +
 + The framework provides a number of implementations; an implementation that handles the
 xref:vro:ROOT:simplified-representations.adoc[simplified representation] of the Apache Isis profile; an implementation that provides support for the `x-ro-domain-type` parameter, and a default/fallback implementation that returns the representations defined by the RO spec.
 
 * `ContentMappingService` +
-+ The xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] is used by the implementation of
++ The xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] is used by the implementation of
 `ContentNegotationService` that recognizes the `x-ro-domain-type`, its role being to transform a domain object (usually an entity) into some other form (usually a DTO), as specified by the `x-ro-domain-type` parameter.
 There can be many such implementations, each handling a different target domain type.
 
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/health-check.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/health-check.adoc
index 626f877..15b3475 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/health-check.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/health-check.adoc
@@ -5,7 +5,7 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The xref:refguide:applib:index/services/health/HealthCheckService.adoc[`HealthCheckService`] SPI allows applications to provide an implementation of that service which can indicate the overall health of the application.
+The xref:refguide:applib:index/services/health/HealthCheckService.adoc[HealthCheckService] SPI allows applications to provide an implementation of that service which can indicate the overall health of the application.
 The "health" is defined by the very simple `Health` class, where a non-null message indicates a problem, otherwise everything is ok:
 
 [source,java]
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
index 82f5a49..c8e7f62 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
@@ -19,6 +19,6 @@ This is in the form:
 
     (filename):(mime type):(binary data in base64)
 
-This is basically the xref:refguide:applib-cm:value-types.adoc#Blob[`Blob`] value type, in string form.
+This is basically the xref:refguide:applib-cm:value-types.adoc#Blob[Blob] value type, in string form.
 
 To use, split the parts then format the mime type and base64 data correctly before using as source in an `<img>` tag.
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/layout-resources.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/layout-resources.adoc
index 7cbc1e6..b1283a5 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/layout-resources.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/layout-resources.adoc
@@ -4,13 +4,13 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-Apache Isis' Restful Objects viewer provides a number of additional resource endpoints that provide representations of the object layout (as per xref:refguide:applib:index/services/grid/GridService.adoc[`GridService`]) and of the menu layout (as per xref:refguide:applib:index/services/menu/MenuBarsService.adoc[`MenuBarsService`]).
+Apache Isis' Restful Objects viewer provides a number of additional resource endpoints that provide representations of the object layout (as per xref:refguide:applib:index/services/grid/GridService.adoc[GridService]) and of the menu layout (as per xref:refguide:applib:index/services/menu/MenuBarsService.adoc[MenuBarsService]).
 
 This chapter provides details of these resources, the link ``Rel``s to access them, and the resultant representations.
 
 == MenuBars
 
-The xref:refguide:applib:index/services/menu/MenuBarsService.adoc[`MenuBarsService`] provides the `menu.layout.xml` XML document which defines how to group the various domain service actions into menubars, menus and menu sections.
+The xref:refguide:applib:index/services/menu/MenuBarsService.adoc[MenuBarsService] provides the `menu.layout.xml` XML document which defines how to group the various domain service actions into menubars, menus and menu sections.
 
 For example, the xref:docs:starters:helloworld.adoc[Hello World starter app] has the following layout:
 
@@ -124,11 +124,11 @@ The representation returned by the domain object resource (section 14.4 of the R
 }
 ----
 
-Note that because of dynamic icons (the xref:refguide:applib-cm:methods.adoc#iconName[`iconName()`] supporting method) the image returned can vary on an instance-by-instance basis.
+Note that because of dynamic icons (the xref:refguide:applib-cm:methods.adoc#iconName[iconName()] supporting method) the image returned can vary on an instance-by-instance basis.
 
 == Domain Object Layout
 
-The xref:refguide:applib:index/services/grid/GridService.adoc[`GridService`] provides an XML document which defines the layout of any of domain object.
+The xref:refguide:applib:index/services/grid/GridService.adoc[GridService] provides an XML document which defines the layout of any of domain object.
 Typically this is the contents of the `Xxx.layout.xml` file (where `Xxx` is the domain type).
 
 For example, in the xref:docs:starters:helloworld.adoc[Hello World starter app] the `HelloWorld` domain object has a layout defined by `HelloWorld.layout.xml`.
@@ -242,7 +242,7 @@ The representation of the domain types resource (section 22.2 of RO spec v1.0) h
 }
 ----
 
-The representation returned by this resource is essentially exactly the same as the layout returned by xref:refguide:applib:index/services/grid/GridService.adoc[`GridService`] (it is not dynamically extended with links).
+The representation returned by this resource is essentially exactly the same as the layout returned by xref:refguide:applib:index/services/grid/GridService.adoc[GridService] (it is not dynamically extended with links).
 
 == Static vs Dynamic Resources
 
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/pages/ro-spec.adoc b/viewers/restfulobjects/adoc/modules/ROOT/pages/ro-spec.adoc
index 03266db..9d094db 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/pages/ro-spec.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/pages/ro-spec.adoc
@@ -106,7 +106,7 @@ For example, the client could use an `Accept` header such as:
 Accept: application/xml;x-ro-domain-type="com.mycompany.viewmodels.v2.CustomerViewModel"
 ----
 
-The server will use the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[`ContentMappingService`] to attempt to transform the domain object into the requested `x-ro-domain-type`.
+The server will use the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] to attempt to transform the domain object into the requested `x-ro-domain-type`.
 The whole process is discussed in more detail in the xref:vro:ROOT:architecture.adoc[architecture] chapter.
 
 ==== Apache Isis profile
@@ -154,7 +154,7 @@ By default the representations generated by Restful Objects ignore any Apache Is
 In particular, if a collection is annotated then `Render(EAGERLY)` then the contents of the collection are _not_ eagerly embedded in the object representation.
 
 However, this behaviour can be overridden globally using the
-xref:refguide:config:sections/isis.viewer.restfulobjects.adoc#isis.viewer.restfulobjects.honor-ui-hints[`isis.viewer.restfulobjects.adoc#isis.viewer.restfulobjects.honor-ui-hints`] configuration property:
+xref:refguide:config:sections/isis.viewer.restfulobjects.adoc#isis.viewer.restfulobjects.honor-ui-hints[isis.viewer.restfulobjects.adoc#isis.viewer.restfulobjects.honor-ui-hints] configuration property:
 
 [source,ini]
 ----
diff --git a/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc b/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc
index e4152db..776a59d 100644
--- a/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc
+++ b/viewers/restfulobjects/adoc/modules/ROOT/partials/security/user-registration.adoc
@@ -106,7 +106,7 @@ An alternative approach, possibly less work and overall of more value, would be
 
 The following steps sketch out the solution in a little more detail:
 
-* Define some new Restful resources (cf link:https://github.com/apache/isis/blob/master/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainObjectResourceServerside.java[`DomainServiceResourceServerside`] that correspond to sign-up/register page, eg `SignupResource` +
+* Define some new Restful resources (cf link:https://github.com/apache/isis/blob/master/core/viewer-restfulobjects-server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainObjectResourceServerside.java[DomainServiceResourceServerside] that correspond to sign-up/register page, eg `SignupResource` +
 +
 [source,java]
 ----
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc b/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc
index 02dc6c3..16177f9 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/configuration-properties.adoc
@@ -471,10 +471,10 @@ The xref:refguide:config:about.adoc[Configuration Guide] includes a xref:refguid
 //`defaultView`
 //|`hidden`, `table` +
 //(`hidden`)
-//|Default for the default view for all (parented) collections if not explicitly specified using xref:refguide:applib:index/annotation/CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]
+//|Default for the default view for all (parented) collections if not explicitly specified using xref:refguide:applib:index/annotation/CollectionLayout.adoc#defaultView[@CollectionLayout#defaultView()]
 //
 //By default the framework renders (parented) collections as "hidden", ie collapsed.
-//These can be overridden on a case-by-case basis using the xref:refguide:applib:index/annotation/CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`] or the corresponding `<collectionLayout defaultView="...">` element in the `Xxx.layout.xml` layout file.
+//These can be overridden on a case-by-case basis using the xref:refguide:applib:index/annotation/CollectionLayout.adoc#defaultView[@CollectionLayout#defaultView()] or the corresponding `<collectionLayout defaultView="...">` element in the `Xxx.layout.xml` layout file.
 //
 //If the majority of collections should be displayed as "table" form, then it is more convenient to specify the default view globally.
 //
@@ -496,7 +496,7 @@ The xref:refguide:config:about.adoc[Configuration Guide] includes a xref:refguid
 //`labelPosition`
 //|`TOP`, `LEFT` +
 //(`LEFT`)
-//|Default for label position for all properties if not explicitly specified using xref:refguide:applib:index/annotation/PropertyLayout.adoc#labelPosition[`@PropertyLayout#labelPosition()`]
+//|Default for label position for all properties if not explicitly specified using xref:refguide:applib:index/annotation/PropertyLayout.adoc#labelPosition[@PropertyLayout#labelPosition()]
 //
 //
 //If you want a consistent look-n-feel throughout the app, eg all property labels to the top, then it'd be rather frustrating to have to annotate every property.
@@ -534,7 +534,7 @@ The xref:refguide:config:about.adoc[Configuration Guide] includes a xref:refguid
 //For actions, `inline_as_if_edit` will suppress the action's button, and instead let the action be invoked as if editing the property.
 //The net effect is that being able to "edit" complex properties with multiple parts (eg a date) using a multi-argument editor (this editor, in fact, being the action's argument panel).
 //
-//The property can be overridden on a property-by-property basis using xref:refguide:applib:index/annotation/PropertyLayout.adoc#promptStyle[`@Property#promptStyle()`]) or  xref:refguide:applib:index/annotation/ActionLayout.adoc#promptStyle[`@Action#promptStyle()`]).
+//The property can be overridden on a property-by-property basis using xref:refguide:applib:index/annotation/PropertyLayout.adoc#promptStyle[@Property#promptStyle()]) or  xref:refguide:applib:index/annotation/ActionLayout.adoc#promptStyle[@Action#promptStyle()]).
 //
 //Note that `inline_as_if_edit` does not make sense for a configuration property default, and will instead be interpreted as `inline`.
 //
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc
index 738de2d..43d0a80 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/brand-logo.adoc
@@ -34,7 +34,7 @@ These are resolved relative to `src/main/webapp`, or an absolute URL can be spec
 * for the header image, a size of 160x40 works well.
 
 
-You may also wish to tweak the xref:refguide:config:application-specific/application-css.adoc[`application.css`].
+You may also wish to tweak the xref:refguide:config:application-specific/application-css.adoc[application.css].
 For example, a logo with height 40px works well with the following:
 
 [source,css]
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc b/viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
index 9afa98f..358585c 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/customisation/tweaking-css-classes.adoc
@@ -44,7 +44,7 @@ The HTML for this will be something like:
 </div>
 ----
 
-The xref:refguide:config:application-specific/application-css.adoc[`application.css`] file is the place to add application-specific styles.
+The xref:refguide:config:application-specific/application-css.adoc[application.css] file is the place to add application-specific styles.
 By way of an example, if (for some reason) we wanted to completely hide the notes value, we could do so using:
 
 [source,css]
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc b/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
index 810a9fa..14033e3 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
@@ -87,7 +87,7 @@ The xref:vw:ROOT:features.adoc#recent-pages[Recent Pages] also lists recently vi
 == Configuration
 
 By default, the bookmarked pages panel will show a maximum of 15 'root' pages.
-This can be overridden using the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.max-size[`isis.viewer.wicket.bookmarked-pages.max-size`] configuration property, for example:
+This can be overridden using the xref:refguide:config:sections/isis.viewer.wicket.adoc#isis.viewer.wicket.bookmarked-pages.max-size[isis.viewer.wicket.bookmarked-pages.max-size] configuration property, for example:
 
 [source,ini]
 ----
diff --git a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
index 732c09d..0c216d2 100644
--- a/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
@@ -12,7 +12,7 @@ Referencing those via their message id inside a .po file didn't work either.
 Can this be done?_
 
 
-Yes, it _is_ possible to internationalize both the Wicket viewer's labels as well as the regular translations of the domain object metadata using the `.po` translation files as supported by the xref:refguide:applib:index/services/i18n/TranslationService.adoc[`TranslationService`].
+Yes, it _is_ possible to internationalize both the Wicket viewer's labels as well as the regular translations of the domain object metadata using the `.po` translation files as supported by the xref:refguide:applib:index/services/i18n/TranslationService.adoc[TranslationService].
 
 Full details of the ``msgId``s that must be added to the `translations.po` file can be found in xref:userguide:btb:i18n.adoc#wicket-viewer[i18n] section of the xref:userguide:btb:about.adoc[beyond the basics] guide.
 
diff --git a/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc b/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc
index 7c4c08e..c6fca77 100644
--- a/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc
+++ b/viewers/wicket/adoc/modules/ROOT/partials/security/user-registration.adoc
@@ -14,7 +14,7 @@ These pages all "reach inside" Apache Isis framework in order to actually do the
 The sign-in verification page to render is pluggable; see xref:vw:ROOT:extending.adoc#custom-pages[extensions chapter] for details.
 ====
 
-User registration is only available if the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[`UserRegistrationService`] is configured; this is used by the framework to actually create new instances of the user as accessed by the corresponding (Shiro) realm.
+User registration is only available if the xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService] is configured; this is used by the framework to actually create new instances of the user as accessed by the corresponding (Shiro) realm.
 
 Because Shiro realms are pluggable, the Apache Isis framework does not provide default implementations of this service.
 However, if you are using the xref:security:ROOT:about.adoc[SecMan extension], then this module _does_ provide an implementation (that, as you might expect, creates new "user" domain entities).