You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/10/07 21:00:54 UTC

[isis] branch ISIS-2062 updated (16d0081 -> 2cbf8c2)

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

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


 discard 16d0081  ISIS-2062: renames fis to runtime-services
 discard 9696c5f  ISIS-2062: cosmetic, change title to TOC
 discard ad785b8  ISIS-2062: more fixes for bad links
 discard d7ac5de  ISIS-2062: more fixing up of xref's
 discard 0831115  ISIS-2062: fixes some more bad links from previous stuff being moved.
 discard fdd90ea  ISIS-2062: fixes some xref's that were missed for rg:cms
 discard d830199  ISIS-2062: splits up refguide across applib, config and schema.
 discard 7d8d131  ISIS-2062: wip, moving ant to applib
 discard ddd853e  ISIS-2062: updating docs on using Antora
     add a6241bc  ISIS-2086: adds type-safe configurations for the DN settings that Apache Isis is explicitly aware of.
     add 8400144  ISIS-2158: convert MixinInterceptor to use new _Annotations API
     add 89021e1  ISIS-2158: _Annotations: synthesize with attribute inheritance
     add 32fdd3f  ISIS-2158: _Annotations: simplifies the synthesizer proxy
     add 0d34455  ISIS-2158: converts remaining type annotation processing to new API
     add 09cd6c9  ISIS-2158: converting some method annotation processing to new API
     add 59ed73f  ISIS-2158: further converting method annotation processing
     add b1dc139  ISIS-2158: more conversions (method level annotations)
     add 42d59b4  ISIS-2158: remaining conversions (method level annotations)
     add 52751d3  ISIS-2158: remaining conversions (parameter level annotations)
     add 6a94598  ISIS-2158: minor: remove unused code
     add e88bb5a  ISIS-2158: annotation scanning: minor performance tweaks
     add 4fee799  ISIS-2158: fixes @Action annotation processing also looking into fields
     add 7a38263  ISIS-2158: adds 'fileAccept' for @Action
     add 9c4d001  ISIS-2158: fixes the annotation syntesizer (proxy generator)
     add 7eb66b5  ISIS-2158: fixes NamedFacet picking up on empty 'named' attribute
     add 338b10d  ISIS-2158: remove debug code
     add 82417ed  ISIS-2158: more generic approach to vetoing field annotation lookup
     add f3e03a1  ISIS-2158: non-invasive preparations for ISIS-1998
     add f2af6d8  ISIS-2158: some minor refinements reg. MixinFacet
     add 150db59  ISIS-2158 major: refactoring ProgrammingModel
     add 838ffbe  ISIS-2158: simplifies MetaModelRefiner
     add 37043dd  ISIS-2158: rename MetaModelValidator.validate(...) -> validateInto(...)
     add 908ce9a  ISIS-2158: further refine the ProgrammingModel API
     add 2c3d254  ISIS-2158: cleaning up
     add a264554  ISIS-2158: consolidate JDO specific programming-model contributions
     add e1cfbc3  ISIS-2158: further consolidating
     add 95b99e7  ISIS-2158: reverting the idea of storing validators unique by type
     add 589f5db  ISIS-1998: use @Mixin as meta-annotation on @Action, @Property ...
     add a7dda4e  ISIS-1998: allows @Action on type as synonym for @Mixin(method="act")
     new 52dbc9f  ISIS-2062: updating docs on using Antora
     new a9f183d  ISIS-2062: wip, moving ant to applib
     new 0081877  ISIS-2062: splits up refguide across applib, config and schema.
     new 0e80893  ISIS-2062: fixes some xref's that were missed for rg:cms
     new 779b752  ISIS-2062: fixes some more bad links from previous stuff being moved.
     new 1cce14b  ISIS-2062: more fixing up of xref's
     new dfe91bb  ISIS-2062: more fixes for bad links
     new d780999  ISIS-2062: cosmetic, change title to TOC
     new 2cbf8c2  ISIS-2062: renames fis to runtime-services

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   (16d0081)
            \
             N -- N -- N   refs/heads/ISIS-2062 (2cbf8c2)

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 9 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:
 .../org/apache/isis/applib/annotation/Action.java  |  16 +-
 .../isis/applib/annotation/ActionLayout.java       |   3 +-
 .../apache/isis/applib/annotation/Collection.java  |   3 +-
 .../isis/applib/annotation/CollectionLayout.java   |   3 +-
 .../apache/isis/applib/annotation/Property.java    |   6 +-
 .../isis/applib/annotation/PropertyLayout.java     |   3 +-
 .../isis/commons/internal/assertions/_Assert.java  |   7 +
 .../isis/commons/internal/base/_Strings.java       |  18 +
 .../apache/isis/commons/internal/base/_With.java   |  36 +-
 .../commons/internal/collections/_Multimaps.java   |  17 +
 .../commons/internal/reflection/_Annotations.java  | 217 ++++++++-----
 .../internal/reflection/_AnnotationsLegacy.java    | 361 +++++++++++++++++++++
 .../reflection/_Annotations_AttributeMethods.java  | 311 ++++++++++++++++++
 .../reflection/_Annotations_SyntCache.java         |  78 +++++
 ...nthesizedMergedAnnotationInvocationHandler.java | 235 ++++++++++++++
 .../isis/commons/internal/reflection/_Reflect.java |  32 +-
 .../org/apache/isis/config/IsisConfiguration.java  | 191 ++++++++++-
 .../IsisBeanFactoryPostProcessorForSpring.java     |  11 +-
 .../isis/config/registry/IsisBeanTypeRegistry.java |  29 +-
 .../additional-spring-configuration-metadata.json  |  70 +++-
 .../facets/object/mixin/MixinIntendedAs.java       | 121 +++++++
 .../object/mixin/MixinIntendedAsActionTest.java    | 190 +++++++++++
 .../facets/param/name/ParameterNameFacetTest.java  |  12 +-
 .../isis/metamodel/facetapi/MetaModelRefiner.java  |  12 +-
 .../facetapi/MetaModelValidatorRefiner.java        |  36 --
 .../apache/isis/metamodel/facets/Annotations.java  |  10 +-
 .../isis/metamodel/facets/DomainEventHelper.java   |  29 +-
 .../apache/isis/metamodel/facets/FacetFactory.java | 113 ++++++-
 .../facets/MethodPrefixBasedFacetFactory.java      |   4 +-
 .../MethodPrefixBasedFacetFactoryAbstract.java     |  12 +-
 .../action/ActionAnnotationFacetFactory.java       | 156 +++++----
 ...nChoicesForCollectionParameterFacetFactory.java |  21 +-
 .../command/CommandFacetForActionAnnotation.java   |   7 +-
 .../hidden/HiddenFacetForActionAnnotation.java     |   7 +-
 .../invocation/ActionDomainEventFacetAbstract.java |   4 +-
 .../PrototypeFacetForActionAnnotation.java         |  12 +-
 .../PublishedActionFacetForActionAnnotation.java   |   7 +-
 .../ActionSemanticsFacetForActionAnnotation.java   |   7 +-
 .../FileAcceptFacetForActionAnnotation.java}       |  19 +-
 .../annotation/HomePageFacetAnnotationFactory.java |  14 +-
 .../actions/layout/ActionLayoutFacetFactory.java   |  36 +-
 ...tionPositionFacetForActionLayoutAnnotation.java |   8 +-
 ...okmarkPolicyFacetForActionLayoutAnnotation.java |   7 +-
 .../CssClassFaFacetForActionLayoutAnnotation.java  |   9 +-
 .../CssClassFacetForActionLayoutAnnotation.java    |   7 +-
 .../DescribedAsFacetForActionLayoutAnnotation.java |   9 +-
 .../HiddenFacetForActionLayoutAnnotation.java      |   7 +-
 .../NamedFacetForActionLayoutAnnotation.java       |   7 +-
 ...tContributedFacetForActionLayoutAnnotation.java |   7 +-
 .../PromptStyleFacetForActionLayoutAnnotation.java |  13 +-
 .../RedirectFacetFromActionLayoutAnnotation.java   |  10 +-
 .../ActionValidationFacetViaMethodFactory.java     |  10 +-
 .../CollectionAnnotationFacetFactory.java          |  64 ++--
 .../DisabledFacetForCollectionAnnotation.java      |   7 +-
 .../hidden/HiddenFacetForCollectionAnnotation.java |   7 +-
 .../NotPersistedFacetForCollectionAnnotation.java  |   7 +-
 ...fFacetOnCollectionFromCollectionAnnotation.java |   7 +-
 .../layout/CollectionLayoutFacetFactory.java       |  25 +-
 ...CssClassFacetForCollectionLayoutAnnotation.java |   7 +-
 ...aultViewFacetForCollectionLayoutAnnotation.java |   8 +-
 ...cribedAsFacetForCollectionLayoutAnnotation.java |   7 +-
 .../HiddenFacetForCollectionLayoutAnnotation.java  |  10 +-
 .../NamedFacetForCollectionLayoutAnnotation.java   |   9 +-
 .../PagedFacetForCollectionLayoutAnnotation.java   |   7 +-
 ...SortedByFacetForCollectionLayoutAnnotation.java |   7 +-
 .../annotation/SortedByFacetAnnotationFactory.java |  11 +-
 .../metamodel/facets/jaxb/JaxbFacetFactory.java    |  17 +-
 .../members/cssclassfa/CssClassFaPosition.java     |   3 +-
 .../cssclassfa/annotprop/MixinInterceptor.java     |  18 +-
 .../DisableForSessionFacetViaMethod.java           |   2 +-
 .../forsession/HideForSessionFacetViaMethod.java   |   2 +-
 .../ViewModelSemanticCheckingFacetFactory.java     |  13 +-
 .../BookmarkPolicyFacetFallbackFactory.java        |  65 ++--
 .../DomainObjectAnnotationFacetFactory.java        | 226 ++++++-------
 .../AuditableFacetForDomainObjectAnnotation.java   |   4 +-
 .../ChoicesFacetForDomainObjectAnnotation.java     |   7 +-
 .../ImmutableFacetForDomainObjectAnnotation.java   |  13 +-
 ...ObjectSpecIdFacetForDomainObjectAnnotation.java |   7 +-
 ...lishedObjectFacetForDomainObjectAnnotation.java |   7 +-
 ...atableObjectFacetForDomainObjectAnnotation.java |   7 +-
 ...PolicyFacetForDomainObjectLayoutAnnotation.java |  12 +-
 ...arkPolicyFacetForViewModelLayoutAnnotation.java |  11 +-
 ...lassFaFacetForDomainObjectLayoutAnnotation.java |   9 +-
 ...ssClassFaFacetForViewModelLayoutAnnotation.java |   9 +-
 ...sClassFacetForDomainObjectLayoutAnnotation.java |  10 +-
 .../CssClassFacetForViewModelLayoutAnnotation.java |   9 +-
 ...ObjectLayoutAnnotationUsingCssClassUiEvent.java |   7 +-
 ...wModelLayoutAnnotationUsingCssClassUiEvent.java |   7 +-
 ...ibedAsFacetForDomainObjectLayoutAnnotation.java |   9 +-
 ...scribedAsFacetForViewModelLayoutAnnotation.java |   9 +-
 .../DomainObjectLayoutFacetFactory.java            |  57 ++--
 ...mainObjectLayoutAnnotationUsingIconUiEvent.java |   7 +-
 ...aViewModelLayoutAnnotationUsingIconUiEvent.java |   7 +-
 ...inObjectLayoutAnnotationUsingLayoutUiEvent.java |   7 +-
 ...iewModelLayoutAnnotationUsingLayoutUiEvent.java |   7 +-
 .../NamedFacetForDomainObjectLayoutAnnotation.java |   7 +-
 .../NamedFacetForViewModelLayoutAnnotation.java    |   7 +-
 .../PagedFacetForDomainObjectLayoutAnnotation.java |  10 +-
 .../PagedFacetForViewModelLayoutAnnotation.java    |  13 +-
 ...PluralFacetForDomainObjectLayoutAnnotation.java |  13 +-
 .../PluralFacetForViewModelLayoutAnnotation.java   |  10 +-
 ...ainObjectLayoutAnnotationUsingTitleUiEvent.java |   7 +-
 ...ViewModelLayoutAnnotationUsingTitleUiEvent.java |   7 +-
 .../DomainServiceFacetAnnotationFactory.java       |  26 +-
 .../DomainServiceLayoutFacetFactory.java           |  37 +--
 .../facets/object/grid/GridFacetFactory.java       |   6 +-
 .../RemoveStaticGettersAndSettersFacetFactory.java |   3 +-
 .../javalang/IteratorFilteringFacetFactory.java    |   4 +-
 .../mixin/MetaModelValidatorForMixinTypes.java     |  21 +-
 .../metamodel/facets/object/mixin/MixinFacet.java  |  28 +-
 .../facets/object/mixin/MixinFacetAbstract.java    |  66 ++--
 .../mixin/MixinFacetForDomainObjectAnnotation.java |  36 +-
 .../object/mixin/MixinFacetForMixinAnnotation.java |  35 +-
 .../mixin/MixinFacetForMixinAnnotationFactory.java |  33 +-
 .../NavigableParentAnnotationFacetFactory.java     |  80 +++--
 .../method/NavigableParentFacetMethodFactory.java  |  66 ----
 ...jectSpecIdFacetDerivedFromClassNameFactory.java |  85 +++--
 .../recreatable/RecreatableObjectFacetFactory.java |  43 ++-
 .../annotation/TitleAnnotationFacetFactory.java    |  63 ++--
 ...ameterFromJavaxValidationAnnotationFactory.java |  17 +-
 ...ChoicesFacetDerivedFromChoicesFacetFactory.java |   5 +-
 .../method/ActionChoicesFacetViaMethod.java        |   8 +-
 .../method/ActionChoicesFacetViaMethodFactory.java |   3 +-
 .../ActionParameterDefaultsFacetViaMethod.java     |   2 +-
 ...tionParameterDefaultsFacetViaMethodFactory.java |   4 +-
 ...ameterAnnotationElseDerivedFromTypeFactory.java |   5 +-
 ...tionParameterDisabledFacetViaMethodFactory.java |   4 +-
 ...ActionParameterHiddenFacetViaMethodFactory.java |   4 +-
 .../CssClassFacetForParameterLayoutAnnotation.java |   7 +-
 ...scribedAsFacetForParameterLayoutAnnotation.java |   7 +-
 .../LabelAtFacetForParameterLayoutAnnotation.java  |   7 +-
 ...MultiLineFacetForParameterLayoutAnnotation.java |   7 +-
 .../NamedFacetForParameterLayoutAnnotation.java    |   7 +-
 .../param/layout/ParameterLayoutFacetFactory.java  |  43 +--
 ...dAdjustedFacetForParameterLayoutAnnotation.java |   7 +-
 ...calLengthFacetForParameterLayoutAnnotation.java |   7 +-
 .../ParameterNameFacetFactoryUsingReflection.java  |   5 +-
 .../parameter/ParameterAnnotationFacetFactory.java |  83 ++---
 .../FileAcceptFacetForParameterAnnotation.java     |   7 +-
 .../MandatoryFacetForParameterAnnotation.java      |   7 +-
 ...cetInvertedByNullableAnnotationOnParameter.java |  11 +-
 .../MaxLengthFacetForParameterAnnotation.java      |   7 +-
 ...fySpecificationFacetForParameterAnnotation.java |  24 +-
 .../regex/RegExFacetForParameterAnnotation.java    |   7 +-
 .../RegExFacetForPatternAnnotationOnParameter.java |   7 +-
 ...acetOnParameterDerivedFromTypeFacetFactory.java |   7 +-
 ...onParameterValidationFacetViaMethodFactory.java |  14 +-
 ...FromJavaxValidationDigitsAnnotationFactory.java |  11 +-
 .../ProjectingFacetFromPropertyAnnotation.java     |  14 +-
 .../property/PropertyAnnotationFacetFactory.java   | 208 +++++-------
 .../command/CommandFacetForPropertyAnnotation.java |   8 +-
 .../DisabledFacetForPropertyAnnotation.java        |   9 +-
 .../FileAcceptFacetForPropertyAnnotation.java      |   7 +-
 .../hidden/HiddenFacetForPropertyAnnotation.java   |   7 +-
 .../MandatoryFacetForPropertyAnnotation.java       |  12 +-
 ...acetInvertedByNullableAnnotationOnProperty.java |  12 +-
 .../MaxLengthFacetForPropertyAnnotation.java       |   7 +-
 ...sfySpecificationFacetForPropertyAnnotation.java |  26 +-
 .../NotPersistedFacetForPropertyAnnotation.java    |   7 +-
 ...ublishedPropertyFacetForPropertyAnnotation.java |   8 +-
 .../RegExFacetForPatternAnnotationOnProperty.java  |  12 +-
 .../regex/RegExFacetForPropertyAnnotation.java     |   7 +-
 .../CssClassFacetForPropertyLayoutAnnotation.java  |   7 +-
 ...escribedAsFacetForPropertyLayoutAnnotation.java |   7 +-
 .../HiddenFacetForPropertyLayoutAnnotation.java    |   7 +-
 .../LabelAtFacetForPropertyLayoutAnnotation.java   |   7 +-
 .../MultiLineFacetForPropertyLayoutAnnotation.java |   8 +-
 .../NamedFacetForPropertyLayoutAnnotation.java     |  10 +-
 ...romptStyleFacetForPropertyLayoutAnnotation.java |   7 +-
 .../propertylayout/PropertyLayoutFacetFactory.java |  91 +++---
 ...edAdjustedFacetForPropertyLayoutAnnotation.java |   7 +-
 ...icalLengthFacetForPropertyLayoutAnnotation.java |   7 +-
 ...UnchangingFacetForPropertyLayoutAnnotation.java |   7 +-
 .../dflt/MetaModelValidatorDefault.java            |  35 --
 ...arameterChoicesFacetFromParentedCollection.java |  10 +-
 .../isis/metamodel/progmodel/DeprecatedMarker.java |  31 --
 .../isis/metamodel/progmodel/FacetFactorySet.java  |  86 -----
 .../isis/metamodel/progmodel/PostProcessorSet.java |  28 --
 .../isis/metamodel/progmodel/ProgrammingModel.java | 147 ++++++++-
 .../progmodel/ProgrammingModelAbstract.java        | 251 ++++++++------
 .../progmodel/ProgrammingModelInitFilter.java      |  81 +++++
 .../ProgrammingModelInitFilterDefault.java         |  84 +++++
 .../progmodel/ProgrammingModelPlugin.java          | 100 ------
 .../progmodel/ProgrammingModelService.java         |   7 +-
 .../dflt/ProgrammingModelFacetsJava8.java          | 340 ++++++++-----------
 .../MetaModelValidatorServiceDefault.java          |  93 ------
 .../specloader/ProgrammingModelServiceDefault.java |  68 +++-
 .../metamodel/specloader/ReflectorConstants.java   |  24 +-
 .../metamodel/specloader/SpecificationLoader.java  |   3 +-
 .../specloader/SpecificationLoaderDefault.java     |  42 +--
 .../specloader/facetprocessor/FacetProcessor.java  |   4 +-
 .../specloader/postprocessor/PostProcessor.java    |  14 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java |  64 ++--
 .../specloader/specimpl/ObjectActionMixedIn.java   |   2 +-
 .../specimpl/ObjectSpecificationAbstract.java      |   4 +-
 .../traverser/SpecificationTraverser.java          |   6 +-
 .../specloader/validator/MetaModelValidator.java   |  10 +-
 .../validator/MetaModelValidatorAbstract.java      |   8 -
 .../validator/MetaModelValidatorComposite.java     |  21 +-
 ...etaModelValidatorForConflictingOptionality.java |   2 +-
 .../MetaModelValidatorForDeprecatedAbstract.java   |   3 +-
 .../MetaModelValidatorForValidationFailures.java   |   2 +-
 .../validator/MetaModelValidatorService.java       |  28 --
 .../MetaModelValidatorToCheckModuleExtent.java     | 118 -------
 ...taModelValidatorToCheckObjectSpecIdsUnique.java |  95 ------
 .../validator/MetaModelValidatorVisiting.java      |  15 +-
 .../facets/AbstractFacetFactoryJUnit4TestCase.java |   3 +-
 .../Annotations_getAnnotations_on_Class_Test.java  | 126 ++++---
 .../Annotations_getAnnotations_on_Field_Test.java  |  84 +++--
 .../Annotations_getAnnotations_on_Method_Test.java |  77 ++---
 ...notations_getAnnotations_on_Parameter_Test.java |  76 ++---
 .../action/ActionAnnotationFacetFactoryTest.java   |   2 +-
 ...nnotationFacetFactoryTest_ActionInvocation.java |  26 +-
 .../ActionAnnotationFacetFactoryTest_Command.java  |  34 +-
 .../ActionAnnotationFacetFactoryTest_Hidden.java   |  10 +-
 ...ctionAnnotationFacetFactoryTest_Invocation.java |  25 +-
 ...ctionAnnotationFacetFactoryTest_Publishing.java |  34 +-
 ...ctionAnnotationFacetFactoryTest_RestrictTo.java |  14 +-
 ...ActionAnnotationFacetFactoryTest_Semantics.java |  14 +-
 .../ActionAnnotationFacetFactoryTest_TypeOf.java   |  17 +-
 ...icsFacetFallbackToNonIdempotentFactoryTest.java |  11 +-
 .../PrototypeFacetAnnotationFactoryTest.java       |  10 +-
 .../ViewModelSemanticCheckingFacetFactoryTest.java |  47 +--
 .../NavigableParentFacetMethodFactoryTest.java     |  70 ----
 ...romptStyleFacetFromPropertyAnnotation_Test.java |  14 +-
 ...sabledAnnotationOnPropertyFacetFactoryTest.java |  12 +-
 .../MandatoryAnnotationFacetFactoryTest.java       |  10 +-
 ...sistedAnnotationOnPropertyFacetFactoryTest.java |  10 +-
 .../PropertyAnnotationFacetFactoryTest.java        |  87 ++++-
 ...llableAnnotationOnPropertyFacetFactoryTest.java |  17 +-
 .../RegExAnnotationOnPropertyFacetFactoryTest.java |  14 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  10 +-
 ...acetForPropertyLayoutAnnotationFactoryTest.java |  16 +-
 .../SpecificationLoaderTestAbstract.java           |  28 +-
 .../jdo/metamodel/JdoProgrammingModelPlugin.java   |  56 ++++
 ...cIdFacetForJdoPersistenceCapableAnnotation.java |   2 +-
 .../query/JdoQueryAnnotationFacetFactory.java      |  37 +--
 .../version/JdoVersionAnnotationFacetFactory.java  |  14 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |  20 +-
 ...ndatoryFromJdoColumnAnnotationFacetFactory.java |  23 +-
 ...DerivedFromJdoColumnAnnotationFacetFactory.java |  30 +-
 .../validator/JdoMetaModelValidator.java           | 116 ++++---
 .../PersistenceSessionFactoryMetamodelRefiner.java | 191 ++++++++---
 .../org/apache/isis/jdo/IsisBootDataNucleus.java   |   2 +
 .../jdo/datanucleus/JDOStateManagerForIsis.java    |   2 +-
 .../mixins/Persistable_datanucleusIdLong.java      |   3 +-
 .../mixins/Persistable_datanucleusVersionLong.java |   3 +-
 .../Persistable_datanucleusVersionTimestamp.java   |   3 +-
 .../mixins/Persistable_downloadJdoMetadata.java    |   3 +-
 .../adapterfactory/pojo/PojoAdapterTest.java       |   1 -
 .../transaction/PojoAdapterBuilder.java            |   2 +-
 .../runtime/system/ObjectMemberAbstractTest.java   |  21 +-
 .../runtime/persistence/adapter/PojoAdapter.java   |  16 +-
 .../system/session/IsisSessionFactoryDefault.java  |  76 -----
 .../standard/AuthenticationManagerStandard.java    |  30 +-
 .../validate/ValidateDomainModel.java              |   7 +-
 ...port.java => InvalidOrphanedActionSupport.java} |   2 +-
 ....java => InvalidOrphanedCollectionSupport.java} |   2 +-
 ...rt.java => InvalidOrphanedPropertySupport.java} |   2 +-
 .../InvalidPropertyAnnotationOnAction.java}        |  21 +-
 ...upport.java => ProperActionSupport_action.java} |  18 +-
 ...Support.java => ProperActionSupport_mixin.java} |  19 +-
 ...port.java => ProperActionSupport_property.java} |  22 +-
 .../good/ProperLayoutOnPropertyWithLombok.java}    |  31 +-
 .../domainmodel/AnnotationSyntesizerTest.java      | 108 ++++++
 .../DomainModelTest_usingBadDomain.java            |  26 +-
 .../DomainModelTest_usingGoodDomain.java           |  17 +
 .../domainmodel/SpecloaderPerformanceTest.java     |  20 +-
 .../bootstrapping/builtin-singleton.list           |   1 -
 ...orPlugin.java => IncubatorMetaModelPlugin.java} |  19 +-
 .../extensions/incubator/IsisBootIncubator.java}   |   6 +-
 .../SupportingMethodValidatorRefinerFactory.java   | 113 +++----
 ...isis.metamodel.progmodel.ProgrammingModelPlugin |   1 -
 .../apache/isis/extensions/sse/IsisBootSse.java    |   1 +
 .../{SsePlugin.java => SseMetaModelPlugin.java}    |  18 +-
 .../sse/facets/SseAnnotationFacetFactory.java      |  24 +-
 ...eObserveFacetForServerSentEventsAnnotation.java |   9 +-
 ...isis.metamodel.progmodel.ProgrammingModelPlugin |   1 -
 278 files changed, 5168 insertions(+), 3565 deletions(-)
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/reflection/_AnnotationsLegacy.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/reflection/_Annotations_AttributeMethods.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/reflection/_Annotations_SyntCache.java
 create mode 100644 core/commons/src/main/java/org/apache/isis/commons/internal/reflection/_Annotations_SynthesizedMergedAnnotationInvocationHandler.java
 create mode 100644 core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAs.java
 create mode 100644 core/detached-tests/src/test/java/org/apache/isis/metamodel/facets/object/mixin/MixinIntendedAsActionTest.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/facetapi/MetaModelValidatorRefiner.java
 copy core/metamodel/src/main/java/org/apache/isis/metamodel/facets/{properties/property/fileaccept/FileAcceptFacetForPropertyAnnotation.java => actions/fileaccept/FileAcceptFacetForActionAnnotation.java} (69%)
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/navparent/method/NavigableParentFacetMethodFactory.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/metamodelvalidator/dflt/MetaModelValidatorDefault.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/DeprecatedMarker.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/FacetFactorySet.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/PostProcessorSet.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelInitFilter.java
 create mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelInitFilterDefault.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/progmodel/ProgrammingModelPlugin.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/MetaModelValidatorServiceDefault.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorService.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorToCheckModuleExtent.java
 delete mode 100644 core/metamodel/src/main/java/org/apache/isis/metamodel/specloader/validator/MetaModelValidatorToCheckObjectSpecIdsUnique.java
 delete mode 100644 core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/navparent/NavigableParentFacetMethodFactoryTest.java
 create mode 100644 core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/metamodel/JdoProgrammingModelPlugin.java
 rename examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/{OrphanedActionSupport.java => InvalidOrphanedActionSupport.java} (96%)
 rename examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/{OrphanedCollectionSupport.java => InvalidOrphanedCollectionSupport.java} (96%)
 rename examples/smoketests/src/main/java/org/apache/isis/testdomain/model/bad/{OrphanedPropertySupport.java => InvalidOrphanedPropertySupport.java} (96%)
 copy examples/smoketests/src/main/java/org/apache/isis/testdomain/model/{good/ProperPropertySupport.java => bad/InvalidPropertyAnnotationOnAction.java} (73%)
 copy examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/{ProperActionSupport.java => ProperActionSupport_action.java} (75%)
 copy examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/{ProperActionSupport.java => ProperActionSupport_mixin.java} (76%)
 copy examples/smoketests/src/main/java/org/apache/isis/testdomain/model/good/{ProperPropertySupport.java => ProperActionSupport_property.java} (72%)
 copy examples/{apps/demo/src/main/java/domainapp/dom/actions/assoc/DemoItem.java => smoketests/src/main/java/org/apache/isis/testdomain/model/good/ProperLayoutOnPropertyWithLombok.java} (67%)
 create mode 100644 examples/smoketests/src/test/java/org/apache/isis/testdomain/domainmodel/AnnotationSyntesizerTest.java
 rename extensions/incubator/src/main/java/org/apache/isis/extensions/incubator/{IncubatorPlugin.java => IncubatorMetaModelPlugin.java} (63%)
 copy extensions/{secman/realm-shiro/src/main/java/org/apache/isis/extensions/secman/shiro/IsisBootSecmanRealmShiro.java => incubator/src/main/java/org/apache/isis/extensions/incubator/IsisBootIncubator.java} (88%)
 delete mode 100644 extensions/incubator/src/main/resources/META-INF/services/org.apache.isis.metamodel.progmodel.ProgrammingModelPlugin
 rename extensions/sse/src/main/java/org/apache/isis/extensions/sse/{SsePlugin.java => SseMetaModelPlugin.java} (64%)
 delete mode 100644 extensions/sse/src/main/resources/META-INF/services/org.apache.isis.metamodel.progmodel.ProgrammingModelPlugin


[isis] 04/09: ISIS-2062: fixes some xref's that were missed for rg:cms

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

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

commit 0e808931b7b32295ee7783163a9cb0b6e17e459e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:18:13 2019 +0100

    ISIS-2062: fixes some xref's that were missed for rg:cms
---
 .../pages/what-is-apache-isis/screencasts.adoc     | 28 +++++++++++-----------
 .../how-run-fixtures-on-app-startup.adoc           |  2 +-
 .../modules/btb/pages/deployment/cmd-line.adoc     |  4 ++--
 .../modules/btb/pages/deployment/docker.adoc       |  2 +-
 .../deployment/externalized-configuration.adoc     |  2 +-
 .../btb/pages/hints-and-tips/are-you-sure.adoc     |  2 +-
 .../how-to-implement-a-spellchecker.adoc           |  2 +-
 .../btb/pages/hints-and-tips/persisted-title.adoc  |  2 +-
 .../btb/pages/hints-and-tips/pushing-changes.adoc  |  4 ++--
 core/_adoc-ug/modules/btb/pages/i18n.adoc          |  6 ++---
 core/_adoc-ug/modules/btb/pages/web-xml.adoc       |  2 +-
 .../building-blocks/events/domain-events.adoc      |  2 +-
 .../types-of-domain-objects/view-models.adoc       |  2 +-
 .../fun/pages/business-rules/side-effects.adoc     |  2 +-
 .../fun/pages/business-rules/usability.adoc        |  4 ++--
 .../modules/fun/pages/business-rules/validity.adoc |  2 +-
 .../fun/pages/business-rules/visibility.adoc       |  2 +-
 .../pages/core-concepts/apache-isis-vs/cqrs.adoc   |  2 +-
 .../apache-isis-vs/event-sourcing.adoc             |  2 +-
 .../modules/fun/pages/drop-downs-and-defaults.adoc |  6 ++---
 .../fun/pages/programming-model/actions.adoc       |  6 ++---
 .../domain-services/registering.adoc               |  2 +-
 .../fun/pages/programming-model/properties.adoc    |  2 +-
 .../programming-model/view-models/non-jaxb.adoc    |  2 +-
 .../fun/pages/ui-hints/action-icons-and-css.adoc   |  4 ++--
 .../pages/ui-hints/object-titles-and-icons.adoc    |  8 +++----
 .../_adoc/modules/ROOT/pages/configuring-core.adoc |  6 ++---
 .../modules/ROOT/pages/specifying-components.adoc  |  2 +-
 .../disabling-persistence-by-reachability.adoc     |  2 +-
 .../modules/ROOT/pages/configuring/properties.adoc |  2 +-
 .../_adoc/modules/ROOT/pages/overview.adoc         |  2 +-
 .../pages/integ-test-support/bootstrapping.adoc    |  2 +-
 .../configuration-properties.adoc                  |  2 +-
 .../pages/integ-test-support/typical-usage.adoc    |  2 +-
 .../_adoc/modules/mvn/pages/intro.adoc             |  4 ++--
 .../pages/unit-test-support/contract-tests.adoc    |  2 +-
 .../hints-and-tips/restful-image-property.adoc     |  2 +-
 .../_adoc/modules/ROOT/pages/layout-resources.adoc |  2 +-
 .../ROOT/pages/features/blob-attachments.adoc      |  2 +-
 .../modules/ROOT/pages/layout/file-based.adoc      | 14 +++++------
 .../ROOT/pages/menubars-layout/file-based.adoc     |  2 +-
 .../simpleapp/_adoc/modules/ROOT/pages/about.adoc  |  2 +-
 42 files changed, 77 insertions(+), 77 deletions(-)

diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index d51b1bf..46e7fb4 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -126,7 +126,7 @@ Using the Swagger UI to access the xref:vro:ROOT:about.adoc[REST API] automatica
 
 
 |link:https://www.youtube.com/watch?v=1sNiR3Y84c0[011^] +
-How the framework uses the xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] is used to bootstrap the application
+How the framework uses the xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] is used to bootstrap the application
 ||||||||||x|
 
 
@@ -159,13 +159,13 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=CwM430UH5WE[014^] +
-Using the xref:rg:cms:methods.adoc#title[`title()`], xref:rg:cms:methods.adoc#iconName[`iconName()`] and xref:rg:cms:methods.adoc#cssClass[`cssClass()`] so that end-users can distinguish domain objects within the UI.
+Using the xref:applib:cms:methods.adoc#title[`title()`], xref:applib:cms:methods.adoc#iconName[`iconName()`] and xref:applib:cms: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:rg:cms:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:applib:ant: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:applib:cms:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] annotation
 ||||||x|||||
 
 
@@ -252,13 +252,13 @@ Shows how to refactor a domain object to move (derived) collections out of the d
 
 
 |link:https://www.youtube.com/watch?v=-AQJb9GtIqI[024^] +
-Using a domain event xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscriber] to xref:ug:fun:building-blocks.adoc#domain-events[decouple] and abstract business rules (xref:rg:cms:methods.adoc#validate[validation]).
+Using a domain event xref:applib:cms:classes/super.adoc#AbstractSubscriber[subscriber] to xref:ug:fun:building-blocks.adoc#domain-events[decouple] and abstract business rules (xref:applib:cms:methods.adoc#validate[validation]).
 ||||||x|||||
 
 
 
 |link:https://www.youtube.com/watch?v=6GjLW0hlrm4[025^] +
-Using a domain event xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscriber] to hide functionality, in this
+Using a domain event xref:applib:cms:classes/super.adoc#AbstractSubscriber[subscriber] to hide functionality, in this
   case the xref:rg:cms:rgcms.adoc#__rgcms_classes_mixins_Object_clearHints["clear hints"] action automatically provided by the framework.
 ||||||||||x|
 
@@ -271,7 +271,7 @@ Using a domain event xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribe
 
 
 |link:https://www.youtube.com/watch?v=qj4bMkQRBUY[026^] +
-Using the xref:applib:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cms: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:applib:ant:Title.adoc[`@Title`] annotation (instead of the xref:applib:cms: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||
 
 
@@ -322,7 +322,7 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=ORoEYlg6XFM[030^] +
-How to validate action parameters using a supporting xref:rg:cms:methods.adoc#validate[`validateNXxx()`] method.
+How to validate action parameters using a supporting xref:applib:cms:methods.adoc#validate[`validateNXxx()`] method.
 |x||||||||x||
 
 
@@ -355,19 +355,19 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=cQ06PoMNDPw[033^] +
-How to provide a set of xref:rg:cms:methods.adoc#choices[choices] (a drop-down list) when editing a property.
+How to provide a set of xref:applib:cms:methods.adoc#choices[choices] (a drop-down list) when editing a property.
 |x||||||||x||
 
 
 
 |link:https://www.youtube.com/watch?v=afEnYKljBQs[034^] +
-How to provide a set of xref:rg:cms:methods.adoc#choices[choices] (a drop-down list) when invoking an action.
+How to provide a set of xref:applib:cms:methods.adoc#choices[choices] (a drop-down list) when invoking an action.
 |||||||||x||
 
 
 
 |link:https://www.youtube.com/watch?v=fKo6aTPK-gk[035^] +
-How to use the xref:rg:cms:methods.adoc#choices[choices] supporting methods as a source for default values within a xref:ext-fixtures:ROOT:about.adoc[fixture script].
+How to use the xref:applib:cms:methods.adoc#choices[choices] supporting methods as a source for default values within a xref:ext-fixtures:ROOT:about.adoc[fixture script].
 ||x|||||||x||
 
 
@@ -406,7 +406,7 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=NKaR7ZedI8E[039^] +
-Using the xref:rg:cms: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:applib:cms:classes/super.adoc#FixtureScript[`FixtureScript`] `defaultParam(...)` method to reflectively default parameters to fixture scripts that have not been set by the caller.
 ||x|||||||||
 
 
@@ -446,7 +446,7 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=Rt4JoV4ssVY[043^] +
-How to use the supporting xref:rg:cms:methods.adoc#default[`defaultXxx(...)`] supporting method to provide a default argument value for action parameters.
+How to use the supporting xref:applib:cms:methods.adoc#default[`defaultXxx(...)`] supporting method to provide a default argument value for action parameters.
 |x||||||||x||
 
 
@@ -456,12 +456,12 @@ How to use xref:applib:ant:DomainObject.adoc#bounding[`@DomainObject#bounding()`
 
 
 |link:https://www.youtube.com/watch?v=0ro_YhXOpJU[045^] +
-How to use the xref:rg:cms: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:applib:cms: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:rg:cms: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:applib:cms: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||
 
 
diff --git a/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc b/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc
index ad378e1..061e08c 100644
--- a/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc
+++ b/antora/components/toc/modules/devguide/pages/hints-and-tips/how-run-fixtures-on-app-startup.adoc
@@ -14,7 +14,7 @@ Use events?_
 
 
 The standard approach is to use xref:ext-fixtures:ROOT:about.adoc[fixture scripts].
-These can be run in on start-up typically by being specified in the xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`], see for example the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype].
+These can be run in on start-up typically by being specified in the xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`], see for example the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype].
 
 Alternatively just set `isis.fixtures` and `isis.persistor.datanucleus.install-fixtures` properties.
 
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/cmd-line.adoc b/core/_adoc-ug/modules/btb/pages/deployment/cmd-line.adoc
index a13b1a3..4f06875 100644
--- a/core/_adoc-ug/modules/btb/pages/deployment/cmd-line.adoc
+++ b/core/_adoc-ug/modules/btb/pages/deployment/cmd-line.adoc
@@ -33,7 +33,7 @@ The class also supports a number of command line arguments:
 |`-m`
 |`--manifest`
 |FQCN
-|Fully qualified class name of the xref:rg:cms:classes/super.adoc#AppManifest[`AppManifest`] to use to bootstrap the system. +
+|Fully qualified class name of the xref:applib:cms:classes/super.adoc#AppManifest[`AppManifest`] to use to bootstrap the system. +
 
 This flag sets/overrides the `isis.appManifest` configuration property to the specified class name.
 
@@ -41,7 +41,7 @@ This flag sets/overrides the `isis.appManifest` configuration property to the sp
 |`-f`
 |`--fixture`
 |FQCN
-|Fully qualified class name of the fixture (extending xref:rg:cms:classes/super.adoc#FixtureScript[`FixtureScript`]) to be run to setup data. +
+|Fully qualified class name of the fixture (extending xref:applib:cms:classes/super.adoc#FixtureScript[`FixtureScript`]) to be run to setup data. +
 
 This flag sets/overrides the `isis.fixtures` configuration property to the specified class name, and also sets the `isis.persistor.datanucleus.install-fixtures` configuration property to `true` to instruct the JDO/DataNucleus objectstore to actually load in the fixtures. +
 
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/docker.adoc b/core/_adoc-ug/modules/btb/pages/deployment/docker.adoc
index e931f8d..e0e120a 100644
--- a/core/_adoc-ug/modules/btb/pages/deployment/docker.adoc
+++ b/core/_adoc-ug/modules/btb/pages/deployment/docker.adoc
@@ -21,7 +21,7 @@ Docker host can be assured.
 == Using an `overrides.properties`
 
 In addition to loading the regular configuration properties from `WEB-INF` directory (described
-xref:rg:cfg:configuration-files.adoc[here]), Apache Isis will also load the `overrides.properties` file.
+xref:cfg:ROOT:configuration-files.adoc[here]), Apache Isis will also load the `overrides.properties` file.
 
 This file is treated slightly differently than the other configuration files; it is loaded last, and any configuration
 properties defined in it will _override_ any configuration properties already read from other files (this includes
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc b/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
index f0a35d7..96835e5 100644
--- a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
+++ b/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-As described xref:rg:cfg:configuration-files.adoc[here], by default Apache Isis itself bootstraps from the
+As described xref:cfg:ROOT:configuration-files.adoc[here], by default Apache Isis itself bootstraps from the
 `isis.properties` configuration file.
 It will also read configuration from the (optional) component/implementation-specific configuration files (such as `persistor_datanucleus.properties` or `viewer_wicket.properties`), and also (optional) component-specific configuration files (such as `persistor.properties` or `viewer.properties`).
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
index b424802..cda37a8 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
@@ -72,4 +72,4 @@ public String validateDelete(boolean areYouSure) {
 ----
 <1> invalid to return `this` (cannot render a deleted object)
 
-Note that the action itself does not use the boolean parameter, it is only used by the supporting xref:rg:cms:methods.adoc#validate[`validate...()`] method.
\ No newline at end of file
+Note that the action itself does not use the boolean parameter, it is only used by the supporting xref:applib:cms:methods.adoc#validate[`validate...()`] method.
\ No newline at end of file
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
index a02da1c..e7a80fd 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
@@ -13,7 +13,7 @@ From this link:http://isis.markmail.org/thread/dduarjscrbnodfsi[thread] on the A
 
 One way to implement is to use the xref:applib:svc:core-domain-api/EventBusService.adoc[event bus]:
 
-* Set up a xref:rg:cms:classes/domainevent.adoc[domain event] xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscriber] that can veto the changes.
+* Set up a xref:applib:cms:classes/domainevent.adoc[domain event] xref:applib:cms:classes/super.adoc#AbstractSubscriber[subscriber] that can veto the changes.
 
 * if the change is made through an action, you can use xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`].
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/persisted-title.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/persisted-title.adoc
index b00b703..edc4ab3 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/persisted-title.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/persisted-title.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 Normally the title of an object is not persisted to the database, rather it is recomputed automatically from underlying properties.  On occasion though you might want the title to also be persisted; either to make things easier for the DBA, or for an integration scenario, or some other purpose.
 
-We can implement this feature by leveraging the xref:rg:cms:methods.adoc#jdo-api[JDO lifecycle].  In the design we discuss here we make it a responsibility of the entities to persist the title as a property, by implementing a `ObjectWithPersistedTitle` interface:
+We can implement this feature by leveraging the xref:applib:cms:methods.adoc#jdo-api[JDO lifecycle].  In the design we discuss here we make it a responsibility of the entities to persist the title as a property, by implementing a `ObjectWithPersistedTitle` interface:
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/pushing-changes.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/pushing-changes.adoc
index cb84cc0..0ea7b26 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/pushing-changes.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/pushing-changes.adoc
@@ -134,7 +134,7 @@ public class Department {
 --
 <1> maintain a count of the number of male ...
 <2> ... and female employees (getters and setters omitted)
-<3> the xref:rg:cms:methods.adoc#addTo[`addTo...()`] method increments the derived properties
-<4> the xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`] method similarly decrements the derived properties
+<3> the xref:applib:cms:methods.adoc#addTo[`addTo...()`] method increments the derived properties
+<4> the xref:applib:cms:methods.adoc#removeFrom[`removeFrom...()`] method similarly decrements the derived properties
 
 
diff --git a/core/_adoc-ug/modules/btb/pages/i18n.adoc b/core/_adoc-ug/modules/btb/pages/i18n.adoc
index b0127a0..4c734bd 100644
--- a/core/_adoc-ug/modules/btb/pages/i18n.adoc
+++ b/core/_adoc-ug/modules/btb/pages/i18n.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 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:rg:cms:methods.adoc#disable[`disable...()`] or xref:rg:cms: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:applib:cms:methods.adoc#disable[`disable...()`] or xref:applib:cms: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.
@@ -105,9 +105,9 @@ All requested translations are written into the `.pot` file.
 
 To make the service as convenient as possible to use, the service configures itself as follows:
 
-* if running in prototype mode xref:rg:cfg:deployment-types.adoc[deployment type] or during integration tests, then the service runs in *write* mode, in which case it records all translations into the `.pot` file.
+* if running in prototype mode xref:cfg:ROOT:deployment-types.adoc[deployment type] or during integration tests, then the service runs in *write* mode, in which case it records all translations into the `.pot` file.
 The `.pot` file is written out when the system is shutdown.
-* if running in server (production) mode xref:rg:cfg:deployment-types.adoc[deployment type], then the service runs in *read* mode.
+* if running in server (production) mode xref:cfg:ROOT:deployment-types.adoc[deployment type], then the service runs in *read* mode.
 It is also possible to set a configuration setting in `isis.properties` to force read mode even if running in prototype mode (useful to manually test/demo the translations).
 
 When running in write mode the original text is returned to the caller untranslated.
diff --git a/core/_adoc-ug/modules/btb/pages/web-xml.adoc b/core/_adoc-ug/modules/btb/pages/web-xml.adoc
index 1561428..e799bf6 100644
--- a/core/_adoc-ug/modules/btb/pages/web-xml.adoc
+++ b/core/_adoc-ug/modules/btb/pages/web-xml.adoc
@@ -388,7 +388,7 @@ This filter reads one context parameter:
     <param-value>deployment</param-value>   <!--1-->
 </context-param>
 ----
-<1> alternatively set to "development"; see xref:rg:cfg:deployment-types.adoc[deployment types] for further discussion.
+<1> alternatively set to "development"; see xref:cfg:ROOT:deployment-types.adoc[deployment types] for further discussion.
 
 
 === `IsisSessionFilter`
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
index 12085b8..67fad24 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
@@ -32,7 +32,7 @@ For example, a cascade delete could be implemented here.
 For example, a business audit event could be implemented here.
 
 
-For more details on the actual domain event classes, see the xref:rg:cms:classes/domainevent.adoc[domain event] section of the relevant reference guide.
+For more details on the actual domain event classes, see the xref:applib:cms:classes/domainevent.adoc[domain event] section of the relevant reference guide.
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
index 77c7bf7..d6e842a 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
@@ -115,7 +115,7 @@ In case it's not obvious, these DTOs are still usable as "regular" view models;
 In fact (as the xref:ug:fun:programming-model.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:rg:cms:classes/mixins.adoc#Dto[`Dto`] marker interface; the framework has xref:rg:cms:classes/mixins.adoc#Dto[mixins] that contribute the download actions to the view model.
+The view model simply needs to implement the xref:applib:cms:classes/mixins.adoc#Dto[`Dto`] marker interface; the framework has xref:applib:cms:classes/mixins.adoc#Dto[mixins] that contribute the download actions to the view model.
 
 [TIP]
 ====
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/side-effects.adoc b/core/_adoc-ug/modules/fun/pages/business-rules/side-effects.adoc
index d52bbc0..d6c9a5a 100644
--- a/core/_adoc-ug/modules/fun/pages/business-rules/side-effects.adoc
+++ b/core/_adoc-ug/modules/fun/pages/business-rules/side-effects.adoc
@@ -46,6 +46,6 @@ Datanucleus does _not_ call the setter when reloading the object from the databa
 
 [NOTE]
 ====
-The framework also allows side-effect code to be placed in separate xref:rg:cms:methods.adoc#modify[`modify...()`], xref:rg:cms:methods.adoc#clear[`clear...()`] supporting methods; if present then these will be called by the framework rather than the setter.
+The framework also allows side-effect code to be placed in separate xref:applib:cms:methods.adoc#modify[`modify...()`], xref:applib:cms:methods.adoc#clear[`clear...()`] supporting methods; if present then these will be called by the framework rather than the setter.
 However, because of DataNucleus' smart handling of setters, these supporting methods are in essence redundant, and so should be considered deprecated.
 ====
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/usability.adoc b/core/_adoc-ug/modules/fun/pages/business-rules/usability.adoc
index 8082aa6..f71ba87 100644
--- a/core/_adoc-ug/modules/fun/pages/business-rules/usability.adoc
+++ b/core/_adoc-ug/modules/fun/pages/business-rules/usability.adoc
@@ -29,7 +29,7 @@ To make _all_ of the properties of a domain object unmodifiable, use:
 public class Customer { /* ... */ }
 ----
 
-This can be made a global policy using a xref:rg:cfg:configuring-core.adoc#isis-objects-editing[configuration setting]:
+This can be made a global policy using a xref:cfg:ROOT:configuring-core.adoc#isis-objects-editing[configuration setting]:
 
 .isis.properties
 [source,ini]
@@ -75,7 +75,7 @@ public String disable1Categorize(Category category) {
 
 == For more information
 
-For more information, see  xref:rg:cms:methods.adoc#disable[`disable...()`] section in the appropriate reference guide.
+For more information, see  xref:applib:cms:methods.adoc#disable[`disable...()`] section in the appropriate reference guide.
 
 
 It is also possible to hide an action parameter, based on the value of some other earlier parameter:
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc b/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
index 1a788f1..c493f82 100644
--- a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
+++ b/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
@@ -43,7 +43,7 @@ It is also possible to return a localized string by returning a `TranslatableStr
 
 == For more information
 
-For more information, see the xref:rg:cms:methods.adoc#validate[`validate...()`] section in the appropriate reference guide.
+For more information, see the xref:applib:cms:methods.adoc#validate[`validate...()`] section in the appropriate reference guide.
 The reference guide also explains how to define validation declaratively, using the xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] or xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] attributes.
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/visibility.adoc b/core/_adoc-ug/modules/fun/pages/business-rules/visibility.adoc
index 3bf30d6..871a9bf 100644
--- a/core/_adoc-ug/modules/fun/pages/business-rules/visibility.adoc
+++ b/core/_adoc-ug/modules/fun/pages/business-rules/visibility.adoc
@@ -62,7 +62,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:rg:cms:methods.adoc#hide[`hide...()`] section in the appropriate reference guide.
+For more information, see the xref:applib:cms:methods.adoc#hide[`hide...()`] section in the appropriate reference guide.
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
index e6201a0..37d9ea9 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
@@ -31,7 +31,7 @@ There are other reasons though why a separate read model might make sense, such
 In these cases Apache Isis can often provide a reasonable alternative, namely to map domain entities against RDBMS views, either materialized views or dynamic.
 In such cases there is still only a single physical datastore, and so transactional integrity is retained.
 
-Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], or using xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribers]  on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
+Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], or using xref:applib:cms:classes/super.adoc#AbstractSubscriber[subscribers]  on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 One can then use xref:ug:fun:building-blocks.adoc#view-models[view models] to surface the data in the external read datastore.
 
 With respect to commands, Apache Isis does of course support the xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] which allows each business action to be reified into a `Command`.
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
index d45c0fb..0a07b14 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
@@ -23,7 +23,7 @@ If the latter, then the subscriber will operate within a separate transaction, m
 CQRS/event sourcing advocates point out -- correctly -- that this is just how things are in the "real world" too.
 
 In Apache Isis every business action (and indeed, property and collection) emits domain events through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`], and can optionally also be published through the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
-The former are dispatched and consumed in-process and within the same transaction, and for this reason the xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribers] can also veto the events.
+The former are dispatched and consumed in-process and within the same transaction, and for this reason the xref:applib:cms:classes/super.adoc#AbstractSubscriber[subscribers] can also veto the events.
 The latter are intended for out-of-process consumption; the (obsolete) http://github.com/isisaddons-legacy/isis-module-publishing[Isis addons' publishing] and the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq modules provide implementations for dispatching either through a RDBMS database table, or directly through to an link:http://camel.apache.org[ActiveMQ] message queue (eg wired up to link:http://camel.apache.org[Apache Camel] event bus).
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc b/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
index c17e19f..9c3cbfe 100644
--- a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
+++ b/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
@@ -7,16 +7,16 @@ include::_attributes.adoc[]
 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:rg:cms: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:applib:cms: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:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method.
+If the list of available options is much larger, then the developer can use an xref:applib:cms: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:rg:cms:methods.adoc#default[`default...()`] supporting method.
+The developer indicates this using a xref:applib:cms:methods.adoc#default[`default...()`] supporting method.
 
 
 == Choices and Default
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
index 66e6deb..1f1fc55 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
@@ -23,7 +23,7 @@ But if the state change is more complex, then most likely an action should be us
 
 == Defining actions
 
-If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is set (recommended), then actions are `public` methods with the xref:applib:ant:Action.adoc[`@Action`] annotation.
+If the xref:cfg:ROOT:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is set (recommended), then actions are `public` methods with the xref:applib:ant:Action.adoc[`@Action`] annotation.
 This annotation can also specify additional domain semantics, for example regarding idempotency.
 
 For example:
@@ -46,7 +46,7 @@ public ShoppingBasket addToBasket(
 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".
 The `@ParameterLayout` annotation provides a UI hint to the framework.
 
-If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is _not_ set, then the rules are a little more involved: an action is a public method that is not getters or setters which represent properties or collections, and does not have one of the various method prefixes (such as `hide` or `validate`) used for represent xref:ug:fun:business-rules.adoc[business rules]), and is not annotated with xref:applib:ant:Programmatic.adoc[`@P [...]
+If the xref:cfg:ROOT:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is _not_ set, then the rules are a little more involved: an action is a public method that is not getters or setters which represent properties or collections, and does not have one of the various method prefixes (such as `hide` or `validate`) used for represent xref:ug:fun:business-rules.adoc[business rules]), and is not annotated with xref:applib:ant:Programmatic.adoc[` [...]
 
 
 
@@ -56,7 +56,7 @@ If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotati
 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:rg:cms:methods.adoc#choices[`choices`] or xref:rg:cms:methods.adoc#autoComplete[`autoComplete`] method.
+This is done using either a supporting xref:applib:cms:methods.adoc#choices[`choices`] or xref:applib:cms: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 :
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
index 124123b..ce36e18 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 // TODO: v2: this is out of date, need to xref Spring Boot mechanism instead.
 
 
-The easiest way to register domain services with the framework is to use an xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`].
+The easiest way to register domain services with the framework is to use an xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`].
 This specifies the modules which contain xref:applib:ant:DomainService.adoc[`@DomainService`]-annotated classes.
 
 For example:
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/properties.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/properties.adoc
index d507140..a83315c 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/properties.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/properties.adoc
@@ -119,7 +119,7 @@ For example:
 private String notes;
 ----
 
-If this is omitted then whether editing is enabled or disabled is defined globally, in the `isis.properties` configuration file; see xref:rg:cfg:configuring-core.adoc#isis-objects-editing[reference configuration guide] for further details.
+If this is omitted then whether editing is enabled or disabled is defined globally, in the `isis.properties` configuration file; see xref:cfg:ROOT:configuring-core.adoc#isis-objects-editing[reference configuration guide] for further details.
 
 
 == Ignoring Properties
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
index a97d3e6..c5b4f78 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
@@ -69,7 +69,7 @@ public class ExcelUploadManager implements ViewModel {
   public void viewModelInit(String memento) { /* ... */ }
 }
 ----
-|Implement xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.  The memento is as defined by the
+|Implement xref:applib:cms:classes/super.adoc#ViewModel[`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/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
index 7222875..974fcf8 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
@@ -35,7 +35,7 @@ Alternatively, you can specify these hints dynamically in the xref:vw:ROOT:layou
 Rather than annotating every action with xref:applib:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] and xref:applib:ant: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:rg:cfg:configuring-core.adoc[configuration property] `isis.reflector.facet.cssClassFa.patterns` (a comma separated list of key:value pairs).
+To declare fa classes globally, use the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.reflector.facet.cssClassFa.patterns` (a comma separated list of key:value pairs).
 
 For example:
 
@@ -78,7 +78,7 @@ Again, this CSS class will be attached to an appropriate containing `<div>` or `
 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:rg:cfg:configuring-core.adoc[configuration property] `isis.reflector.facet.cssClass.patterns` configuration property.
+It is also possible to specify CSS classes globally, using the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.reflector.facet.cssClass.patterns` configuration property.
 
 For example:
 
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
index 3d47349..daee8a5 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
@@ -88,7 +88,7 @@ could return "Arthur C. Clarke".
 
 === Imperative style
 
-Alternatively, the title can be provided simply by implementing the xref:rg:cms:methods.adoc#title[`title()`] reserved method.
+Alternatively, the title can be provided simply by implementing the xref:applib:cms:methods.adoc#title[`title()`] reserved method.
 
 For example:
 
@@ -191,7 +191,7 @@ public class InvoiceRun {
 
 === Imperative style
 
-To customise the icon on an instance-by-instance basis, we implement the reserved xref:rg:cms:methods.adoc#iconName[`iconName()`] method.
+To customise the icon on an instance-by-instance basis, we implement the reserved xref:applib:cms:methods.adoc#iconName[`iconName()`] method.
 
 For example:
 
@@ -257,7 +257,7 @@ public class OrderSubscriptions extends AbstractSubscriber {
 
 == Object CSS Styling
 
-It is also possible for an object to return a xref:rg:cms:methods.adoc#cssClass[CSS class].
+It is also possible for an object to return a xref:applib:cms:methods.adoc#cssClass[CSS class].
 In conjunction with xref:vw:ROOT:customisation/tweaking-css-classes.adoc[customized CSS] this can be used to apply arbitrary styling; for example each object could be rendered in a page with a different background colour.
 
 
@@ -277,7 +277,7 @@ One possible use case would be to render the most important object types with a
 === Imperative style
 
 
-To customise the icon on an instance-by-instance basis, we implement the reserved xref:rg:cms:methods.adoc#cssClass[`cssClass()`] method.
+To customise the icon on an instance-by-instance basis, we implement the reserved xref:applib:cms:methods.adoc#cssClass[`cssClass()`] method.
 
 For example:
 
diff --git a/core/config/_adoc/modules/ROOT/pages/configuring-core.adoc b/core/config/_adoc/modules/ROOT/pages/configuring-core.adoc
index b38719b..798f0cf 100644
--- a/core/config/_adoc/modules/ROOT/pages/configuring-core.adoc
+++ b/core/config/_adoc/modules/ROOT/pages/configuring-core.adoc
@@ -231,7 +231,7 @@ In order for these events to fire the class must be annotated using `@DomainObje
 
 |`isis.services`
 |`FQCN`,`FQCN2`,...
-|NO LONGER REQUIRED; replaced by xref:rg:cms:classes/super.adoc#AppManifest[`AppManifest`].
+|NO LONGER REQUIRED; replaced by xref:applib:cms:classes/super.adoc#AppManifest[`AppManifest`].
 
 (It used to define the list of fully qualified class names of classes to be instantiated as domain services; this is now inferred from the list of modules provided to the app manifest).
 
@@ -309,7 +309,7 @@ If the setting is changed to disabled then this may reduce application start-up
 `packagePrefix`
 |fully qualified package names (CSV)
 
-|NO LONGER REQUIRED; replaced by xref:rg:cms:classes/super.adoc#AppManifest[`AppManifest`].
+|NO LONGER REQUIRED; replaced by xref:applib:cms:classes/super.adoc#AppManifest[`AppManifest`].
 
 (It used to define the list of packages to search for domain services; ; this is now inferred from the list of modules provided to the app manifest).
 
@@ -511,7 +511,7 @@ This is by way of possibly deprecating and eventually moving contributed service
 `noParamsOnly`
 |`true`,`false` +
 (`false`)
-| When searching for  xref:rg:cms:methods.adoc#disable[`disableXxx()`] or xref:rg:cms:methods.adoc#hide[`hideXxx()`] methods, whether to search only for the no-param version (or also for supporting methods that match the parameter types of the action). +
+| When searching for  xref:applib:cms:methods.adoc#disable[`disableXxx()`] or xref:applib:cms:methods.adoc#hide[`hideXxx()`] methods, whether to search only for the no-param version (or also for supporting methods that match the parameter types of the action). +
 
 If enabled then will not search for supporting methods with the exact set of arguments as the method it was supporting (and any supporting methods that have additional parameters will be treated as invalid).
 Note that this in effect means that xref:ug:fun:building-blocks.adoc#mixins[mixins] must be used instead of xref:ug:fun:programming-model.adoc#contributions[contributed services].
diff --git a/core/config/_adoc/modules/ROOT/pages/specifying-components.adoc b/core/config/_adoc/modules/ROOT/pages/specifying-components.adoc
index f4ac045..d12a305 100644
--- a/core/config/_adoc/modules/ROOT/pages/specifying-components.adoc
+++ b/core/config/_adoc/modules/ROOT/pages/specifying-components.adoc
@@ -11,7 +11,7 @@ Bootstrapping an Apache Isis application involves identifying both:
 * the major components (authentication, persistence mechanisms, viewers) of Apache Isis, and also
 * specifying the domain services and persistent entities that make up the application itself.
 
-This is done using an xref:rg:cms:classes/super.adoc#AppManifest[`AppManifest`], specified either programmatically or through the configuration properties.
+This is done using an xref:applib:cms:classes/super.adoc#AppManifest[`AppManifest`], specified either programmatically or through the configuration properties.
 This allows the components, services and entities to be specified from a single class.
 
 To specify the `AppManifest` as a configuration property, use:
diff --git a/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc b/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
index 3e49ab6..b084cd6 100644
--- a/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
+++ b/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/disabling-persistence-by-reachability.adoc
@@ -15,7 +15,7 @@ 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:rg:cms: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:applib:cms: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).
 
diff --git a/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/properties.adoc b/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/properties.adoc
index 2f94e02..f8c02ed 100644
--- a/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/properties.adoc
+++ b/core/plugins/jdo/_adoc/modules/ROOT/pages/configuring/properties.adoc
@@ -42,7 +42,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:rg:cms: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:applib:cms: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/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc b/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
index 0a59f5d..cacd314 100644
--- a/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
+++ b/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
@@ -123,7 +123,7 @@ In the previous section we discussed using given/when/then as a form of organizi
 
 For integration tests though it can be difficult to keep the "given" short; there could be a lot of prerequisite data that needs to exist before you can actually exercise your system.  Moreover, however we do set up that data, but we also want to do so in a way that is resilient to the system changing over time.
 
-The solution that Apache Isis provides is a domain service called xref:rg:cms:classes/super.adoc#FixtureScripts[Fixture Scripts], that defines a pattern and supporting classes to help ensure that the "data setup" for your tests are reusable and maintainable over time.
+The solution that Apache Isis provides is a domain service called xref:applib:cms:classes/super.adoc#FixtureScripts[Fixture Scripts], that defines a pattern and supporting classes to help ensure that the "data setup" for your tests are reusable and maintainable over time.
 
 
 
diff --git a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
index de0f187..1b2d6e6 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
@@ -8,7 +8,7 @@ Integration tests instantiate an Apache Isis "runtime" (as a singleton) within a
 Because (depending on the size of your app) it takes a little time to bootstrap Apache Isis, the framework caches the runtime on a thread-local from one test to the next.
 
 
-The recommended way to bootstrapping of integration tests is done using a xref:rg:cms:classes/AppManifest2-bootstrapping.adoc[`Module`] implementation, along with the `IntegrationTestAbstract3` superclass.
+The recommended way to bootstrapping of integration tests is done using a xref:applib:cms:classes/AppManifest2-bootstrapping.adoc[`Module`] implementation, along with the `IntegrationTestAbstract3` superclass.
 
 For example, the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]'s integration tests all inherit from this class:
 
diff --git a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
index 100070a..f826893 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 The recommended way to run integration tests is against an HSQLDB in-memory database.
-This can be done using the application's usual xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`], and then overriding JDBC URL and similar.
+This can be done using the application's usual xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`], and then overriding JDBC URL and similar.
 
 If inheriting from `IntegrationTestAbstract3`'s then these configuration properties are set up automatically:
 
diff --git a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc
index 105ec31..273634e 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc
@@ -57,7 +57,7 @@ public class ToDoItemIntegTest extends AbstractToDoIntegTest {
     ...
 }
 ----
-<1> the xref:rg:cms:classes/super.adoc#FixtureScripts[`FixtureScripts`] domain service is injected, providing us with the ability to run fixture scripts
+<1> the xref:applib:cms:classes/super.adoc#FixtureScripts[`FixtureScripts`] domain service is injected, providing us with the ability to run fixture scripts
 <2> likewise, an instance of the `ToDoItems` domain service is injected.  We'll use this to lookup...
 <3> the object under test, held as a field
 <4> the fixture script for this test; it deletes all existing todo items (for the current user only) and then recreates them
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
index 69d4816..5c9e280 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
@@ -24,14 +24,14 @@ The `validate` goal is by default bound to the `test` phase, and the `swagger` g
 The `xsd` goal meanwhile defaults to the `generate-resources` phase, and this is generally used in a completely separate sub-module.
 An example can be found in the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp] example app; the separate submodule that uses the `xsd` goal is (also) called `todoapp-xsd`.
 
-All of these goals require an xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] to point the plugin at, so that it knows how to bootstrap an Isis runtime.
+All of these goals require an xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] to point the plugin at, so that it knows how to bootstrap an Isis runtime.
 This is discussed below, followed by sections on configuring the two goals.
 
 
 
 == `AppManifest`
 
-As noted in the introduction, all the goals require an xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] to point the plugin at, so that it knows how to bootstrap an Isis runtime.
+As noted in the introduction, all the goals require an xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] to point the plugin at, so that it knows how to bootstrap an Isis runtime.
 
 This can be extremely minimal; it isn't necessary to use the main `AppManifest` (in the `app` module) used to bootstrap the application, you can instead use a cut-down one.
 This then allows the plugins to be run during the build of the `dom` module, rather than having to run in the context of the `integtest` module.
diff --git a/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc
index 80bee3f..87a31c2 100644
--- a/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc
+++ b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc
@@ -40,7 +40,7 @@ If using DataNucleus against an RDBMS (as you probably are) then we strongly rec
 
 * second, `SortedSet` is preferable to `Set` because then the order is well-defined and predictable (to an end user, to the programmer). +
 +
-The xref:rg:cms:classes/utility.adoc#ObjectContracts[`ObjectContracts`]  utility class substantially simplifies the task of implementing `Comparable` in your domain classes.
+The xref:applib:cms: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 JDO/Objectstore will automatically maintain the relationship.
 
diff --git a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
index 63206e4..8db88d4 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/hints-and-tips/restful-image-property.adoc
@@ -18,6 +18,6 @@ This is in the form:
 
     (filename):(mime type):(binary data in base64)
 
-This is basically the xref:rg:cms:classes/value-types.adoc#Blob[`Blob`] value type, in string form.
+This is basically the xref:applib:cms:classes/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/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc
index 36527a6..f6a283f 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc
@@ -127,7 +127,7 @@ The representation returned by the domain object resource (section 14.4 of the R
 }
 ----
 
-Note that because of dynamic icons (the xref:rg:cms: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:applib:cms:methods.adoc#iconName[`iconName()`] supporting method) the image returned can vary on an instance-by-instance basis.
 
 
 == Domain Object Layout
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/blob-attachments.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/blob-attachments.adoc
index cce0a9f..c9923da 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/blob-attachments.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/blob-attachments.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The Apache Isis application library provides the xref:rg:cms:classes/value-types.adoc#Blob[Blob] value type (binary large objects) and also the xref:rg:cms:classes/value-types.adoc#Clob[Clob]
+The Apache Isis application library provides the xref:applib:cms:classes/value-types.adoc#Blob[Blob] value type (binary large objects) and also the xref:applib:cms:classes/value-types.adoc#Clob[Clob]
 value type (character large object), each of which also includes metadata about the data (specifically the filename and mime type).
 
 A class can define a property using either of these types, for example:
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
index 441427d..66d6a51 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
@@ -14,7 +14,7 @@ File-based layouts offer a number of benefits:
 
 * UI hints can be provided for contributed xref:ug:fun:programming-model.adoc#contributed-action[actions] that are synthesised at runtime.
 
-It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu) or using a xref:rg:cms:classes/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:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu) or using a xref:applib:cms:classes/mixins.adoc#Object[mixin action] contributed to every domain object.
 
 There are some downsides, though:
 
@@ -25,7 +25,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).
 In contrast, the dewey-decimal format `@MemberOrder` annotation allows the metadata of the subclass its superclasses to fit together relatively seamlessly.
 
-The `Xxx.layout.xml` file is just the serialized form of a xref:rg:cms:classes/layout.adoc[`Grid`] layout class defined within Apache Isis' applib.
+The `Xxx.layout.xml` file is just the serialized form of a xref:applib:cms:classes/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.
 
 
@@ -35,7 +35,7 @@ A domain object may also have multiple layouts.
 For example, there may be the capability to switch into an "edit" mode, which perhaps hides some class members, shows others (perhaps mixins specific to data entry).
 Another reason might be to support different tenancies/user groups, where different business processes might require a slightly different UI representation.
 
-One way in which the domain object can specify an alternate layout is through its xref:rg:cms:methods.adoc#layout[`layout()`] method.
+One way in which the domain object can specify an alternate layout is through its xref:applib:cms:methods.adoc#layout[`layout()`] method.
 If this returns a non-null value, say "edit", then this is used to locate an alternative layout, in the form `Xxx-edit.layout.xml`.
 
 
@@ -63,7 +63,7 @@ The rows and columns are closely modelled on link:http://getbootstrap.com[Bootst
 
 * those that defines common components, of: fieldsets (previously called member groups or property groups), properties, collections, actions and also the title/icon of the domain object itself.
 
-More information about these classes can be found in xref:rg:cms:classes/layout.adoc[the reference guide].  More information on Bootstrap 3's grid system can be found link:http://getbootstrap.com/css/#grid[here].
+More information about these classes can be found in xref:applib:cms:classes/layout.adoc[the reference guide].  More information on Bootstrap 3's grid system can be found link:http://getbootstrap.com/css/#grid[here].
 
 
 
@@ -362,7 +362,7 @@ from the top of the page slightly, using the following CSS:
 == Migrating from earlier versions
 
 As noted earlier on, it is possible to download layout XML files using the xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu); this will download a ZIP file of layout XML files for all domain entities and view models.
-Alternatively the layout XML for a single domain object can be downloaded using the xref:rg:cms:classes/mixins.adoc#Object[mixin action] (contributed to every domain object).
+Alternatively the layout XML for a single domain object can be downloaded using the xref:applib:cms:classes/mixins.adoc#Object[mixin action] (contributed to every domain object).
 
 There are four "styles":
 
@@ -424,11 +424,11 @@ Download either for a single domain object, or download all domain objects (enti
 
 For more information about layouts, see:
 
-* xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (whose functionality is exposed on the prototyping menu as an action) and lso the a xref:rg:cms:classes/mixins.adoc#Object[mixin action]
+* xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (whose functionality is exposed on the prototyping menu as an action) and lso the a xref:applib:cms:classes/mixins.adoc#Object[mixin action]
 
 * xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] and its supporting services, xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`]
 
-* xref:rg:cms:classes/layout.adoc[grid layout classes], defined in the Apache Isis applib
+* xref:applib:cms:classes/layout.adoc[grid layout classes], defined in the Apache Isis applib
 
 
 
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc
index 825a93c..b7c8961 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc
@@ -18,7 +18,7 @@ There are some disadvantages to using file-based layouts:
 
 * they also suffer from syntactic fragility: an invalid XML document will result in no metadata for the entire class.
 
-The `menubars.layout.xml` file is just the serialized form of a xref:rg:cms:classes/layout.adoc[`MenuBars`] layout class defined within Apache Isis' applib.
+The `menubars.layout.xml` file is just the serialized form of a xref:applib:cms:classes/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.
 
diff --git a/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc b/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc
index 9bc8463..d3926f8 100644
--- a/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc
+++ b/examples/apps/simpleapp/_adoc/modules/ROOT/pages/about.adoc
@@ -676,7 +676,7 @@ If you are running the app from an IDE, then you can specify the fixture script
 
 image::simpleapp-webapp-with-fixtures.png[width="600px",link="{imagesdir}/simpleapp-webapp-with-fixtures.png"]
 
-Alternatively, you can run with a different xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] using the `--appManifest` (or `-m`) flag.
+Alternatively, you can run with a different xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] using the `--appManifest` (or `-m`) flag.
 The archetype provides
 `domainapp.app.DomainAppAppManifestWithFixtures` which specifies the aforementioned `RecreateSimpleObjects` fixture.
 


[isis] 06/09: ISIS-2062: more fixing up of xref's

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

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

commit 1cce14b081c964093aeb6c1b4a8b9a636a70f43c
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:33:15 2019 +0100

    ISIS-2062: more fixing up of xref's
---
 antora/components/refguide/modules/ROOT/pages/about.adoc |  6 ++++--
 antora/components/toc/modules/ROOT/nav.adoc              |  7 ++++---
 antora/components/toc/modules/ROOT/pages/about.adoc      | 12 +++++++-----
 antora/components/toc/modules/ROOT/pages/guides.adoc     |  7 ++++---
 core/applib/_adoc/modules/cms/pages/rgcms.adoc           |  3 +--
 core/applib/_adoc/modules/cms/partials/nav.adoc          |  6 +++---
 core/config/_adoc/modules/ROOT/partials/nav.adoc         |  2 +-
 core/schema/_adoc/modules/ROOT/partials/nav.adoc         | 13 ++++++-------
 8 files changed, 30 insertions(+), 26 deletions(-)

diff --git a/antora/components/refguide/modules/ROOT/pages/about.adoc b/antora/components/refguide/modules/ROOT/pages/about.adoc
index 454deb1..f4aaf71 100644
--- a/antora/components/refguide/modules/ROOT/pages/about.adoc
+++ b/antora/components/refguide/modules/ROOT/pages/about.adoc
@@ -5,6 +5,8 @@ The reference guides are:
 
 * xref:applib:ant:about.adoc[Annotations]
 * xref:applib:svc:about.adoc[Domain Services]
-* xref:cfg:ROOT:about.adoc[Configuration Properties]
-* xref:cms:ROOT:about.adoc[Classes, Methods and Schema]
+* xref:applib:cms:about.adoc[Classes & Methods]
+* xref:schema:ROOT:about.adoc[Schemas]
+* xref:cfg:ROOT:about.adoc[Configuration]
+
 
diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index 6739c80..cd6513b 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -19,12 +19,13 @@
 ** *xref:demoapp:ROOT:about.adoc[Demo App]*
 ** link:https://danhaywood.gitlab.io/isis-petclinic-tutorial-docs/petclinic/1.16.2/intro.html[Petclinic (tutorial)]
 
-* Reference Guides
+* xref:rg:ROOT:about.adoc[Reference Guide]
 
 ** *xref:applib:ant:about.adoc[Annotations]*
 ** *xref:applib:svc:about.adoc[Domain Services]*
-**  xref:cfg:ROOT:about.adoc[Core Config'n Properties]
-**  xref:cms:ROOT:about.adoc[Classes, Methods & Schema]
+** xref:applib:cms:about.adoc[Classes & Methods]
+** xref:schema:ROOT:about.adoc[Schemas]
+** xref:cfg:ROOT:about.adoc[Configuration]
 
 * Testing & Prototyping
 
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 4571d5b..712bf80 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -31,12 +31,14 @@ _Tutorials:_
 
 * link:https://danhaywood.gitlab.io/isis-petclinic-tutorial-docs/petclinic/1.16.2/intro.html[Petclinic]
 
-| *xref:toc:ROOT:guides.adoc#reference-guides[Reference Guides]*
+| *xref:rg:ROOT:about.adoc[Reference Guide]*
+
+* xref:applib:ant:about.adoc[Annotations]
+* xref:applib:svc:about.adoc[Domain Services]
+* xref:applib:cms:about.adoc[Classes & Methods]
+* xref:schema:ROOT:about.adoc[Schemas]
+* xref:cfg:ROOT:about.adoc[Configuration]
 
-* *xref:applib:ant:about.adoc[Annotations]*
-* *xref:applib:svc:about.adoc[Domain Services]*
-*  xref:cfg:ROOT:about.adoc[Core Config'n Properties]
-*  xref:cms:ROOT:about.adoc[Classes, Methods & Schema]
 
 | *xref:toc:ROOT:guides.adoc#testing-prototyping[Testing & Prototyping]*
 
diff --git a/antora/components/toc/modules/ROOT/pages/guides.adoc b/antora/components/toc/modules/ROOT/pages/guides.adoc
index e392228..9e4a511 100644
--- a/antora/components/toc/modules/ROOT/pages/guides.adoc
+++ b/antora/components/toc/modules/ROOT/pages/guides.adoc
@@ -10,12 +10,13 @@ This page lists the user and reference guides available for developers to create
 * xref:ug:ROOT:about.adoc[Fundamentals & Beyond]
 * xref:demoapp:ROOT:about.adoc[Demo App]
 
-== Reference Guides
+== xref:rg:ROOT:about.adoc[Reference Guide]
 
 * xref:applib:ant:about.adoc[Annotations]
 * xref:applib:svc:about.adoc[Domain Services]
-* xref:cfg:ROOT:about.adoc[Core Configuration Properties]
-* xref:cms:ROOT:about.adoc[Classes, Methods & Schemas]
+* xref:applib:cms:about.adoc[Classes & Methods]
+* xref:schema:ROOT:about.adoc[Schemas]
+* xref:cfg:ROOT:about.adoc[Configuration]
 
 == Testing & Prototyping
 
diff --git a/core/applib/_adoc/modules/cms/pages/rgcms.adoc b/core/applib/_adoc/modules/cms/pages/rgcms.adoc
index 069c094..9c4ecad 100644
--- a/core/applib/_adoc/modules/cms/pages/rgcms.adoc
+++ b/core/applib/_adoc/modules/cms/pages/rgcms.adoc
@@ -1,8 +1,7 @@
-= Classes, Methods and Schema
+= Classes & Methods
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 include::_attributes.adoc[]
 :numbered:
-:generate_pdf:
 
 
 
diff --git a/core/applib/_adoc/modules/cms/partials/nav.adoc b/core/applib/_adoc/modules/cms/partials/nav.adoc
index 00a4a24..c3b7f84 100644
--- a/core/applib/_adoc/modules/cms/partials/nav.adoc
+++ b/core/applib/_adoc/modules/cms/partials/nav.adoc
@@ -1,6 +1,6 @@
-* xref:about.adoc[Classes, Methods & Schema]
+* xref:applib:cms:about.adoc[Classes & Methods]
 
-** xref:methods.adoc[Methods]
-** xref:classes.adoc[Classes]
+** xref:applib:cms:methods.adoc[Methods]
+** xref:applib:cms:classes.adoc[Classes]
 
 
diff --git a/core/config/_adoc/modules/ROOT/partials/nav.adoc b/core/config/_adoc/modules/ROOT/partials/nav.adoc
index cfe4bae..b95e0a8 100644
--- a/core/config/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/config/_adoc/modules/ROOT/partials/nav.adoc
@@ -1,4 +1,4 @@
-* xref:cfg:ROOT:about.adoc[Core Config Properties]
+* xref:cfg:ROOT:about.adoc[Configuration]
 
 ** xref:cfg:ROOT:deployment-types.adoc[Deployment Types]
 ** xref:cfg:ROOT:configuration-files.adoc[Configuration Files]
diff --git a/core/schema/_adoc/modules/ROOT/partials/nav.adoc b/core/schema/_adoc/modules/ROOT/partials/nav.adoc
index 86fca82..dc842ca 100644
--- a/core/schema/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/schema/_adoc/modules/ROOT/partials/nav.adoc
@@ -1,8 +1,7 @@
-* xref:about.adoc[Schema]
+* xref:schema:ROOT:about.adoc[Schema]
 
-
-* xref:mml.adoc[MetaModel]
-* xref:cmd.adoc[Command]
-* xref:ixn.adoc[Interaction]
-* xref:chg.adoc[Changes]
-* xref:common.adoc[Common]
+** xref:schema:ROOT:mml.adoc[MetaModel]
+** xref:schema:ROOT:cmd.adoc[Command]
+** xref:schema:ROOT:ixn.adoc[Interaction]
+** xref:schema:ROOT:chg.adoc[Changes]
+** xref:schema:ROOT:common.adoc[Common]


[isis] 01/09: ISIS-2062: updating docs on using Antora

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

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

commit 52dbc9f356434224e4e19ebfa7ea39dd9380b8d1
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Oct 2 07:16:31 2019 +0100

    ISIS-2062: updating docs on using Antora
---
 antora/components/toc/modules/comguide/pages/about.adoc        |  2 +-
 ...oc-publish-procedure.adoc => antora-publish-procedure.adoc} |  4 ++--
 .../toc/modules/comguide/pages/post-release-successful.adoc    |  4 ++--
 antora/components/toc/modules/devguide/pages/about.adoc        |  1 +
 .../toc/modules/devguide/pages/building-docs-and-website.adoc  | 10 ++++++++++
 5 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/antora/components/toc/modules/comguide/pages/about.adoc b/antora/components/toc/modules/comguide/pages/about.adoc
index 8543ac4..c4fd7bc 100644
--- a/antora/components/toc/modules/comguide/pages/about.adoc
+++ b/antora/components/toc/modules/comguide/pages/about.adoc
@@ -22,7 +22,7 @@ include::release-process-for-snapshots.adoc[leveloffset=+1]
 
 include::release-process-for-interim-releases.adoc[leveloffset=+1]
 
-include::asciidoc-publish-procedure.adoc[leveloffset=+1]
+include::antora-publish-procedure.adoc[leveloffset=+1]
 
 include::key-generation.adoc[leveloffset=+1]
 
diff --git a/antora/components/toc/modules/comguide/pages/asciidoc-publish-procedure.adoc b/antora/components/toc/modules/comguide/pages/antora-publish-procedure.adoc
similarity index 97%
rename from antora/components/toc/modules/comguide/pages/asciidoc-publish-procedure.adoc
rename to antora/components/toc/modules/comguide/pages/antora-publish-procedure.adoc
index c101f17..b2880a3 100644
--- a/antora/components/toc/modules/comguide/pages/asciidoc-publish-procedure.adoc
+++ b/antora/components/toc/modules/comguide/pages/antora-publish-procedure.adoc
@@ -1,4 +1,4 @@
-[[asciidoc-publish-procedure]]
+[[antora-publish-procedure]]
 = Publishing the Docs
 :notice: licensed to the apache software foundation (asf) under one or more contributor license agreements. see the notice file distributed with this work for additional information regarding copyright ownership. the asf licenses this file to you under the apache license, version 2.0 (the "license"); you may not use this file except in compliance with the license. you may obtain a copy of the license at. http://www.apache.org/licenses/license-2.0 . unless required by applicable law or ag [...]
 include::_attributes.adoc[]
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 
 
-Apache Isis' documentation (meaning the website and the users' guide, the reference guide and this contributors' guide) is written using link:http://www.methods.co.nz/asciidoc/[Asciidoc], specifically the link:http://asciidoctor.org/[Asciidoctor] implementation.
+Apache Isis' documentation (meaning the website and the users' guide, the reference guide and this contributors' guide) is written using link:https://asciidoctor.org/[Asciidoctor] syntax, and organized to be published as an link:https:antora.org[Antora] website.
 
 The website and guides are created by running build tools (documented below) which create the HTML version of the site and guides.
 You can therefore easily check the documentation before raising a pull request (as a contributor) or publishing the site (if a committer).
diff --git a/antora/components/toc/modules/comguide/pages/post-release-successful.adoc b/antora/components/toc/modules/comguide/pages/post-release-successful.adoc
index 859da3c..44c8f73 100644
--- a/antora/components/toc/modules/comguide/pages/post-release-successful.adoc
+++ b/antora/components/toc/modules/comguide/pages/post-release-successful.adoc
@@ -322,7 +322,7 @@ mvn -Drevision=$ISISREL \
 
 In the main `isis` repo (ie containing the asciidoc source):
 
-* Paste in the JIRA-generated release notes generated above, adding to top of `antora/downloads/modules/rn/pages/about.adoc`.
+* Paste in the JIRA-generated release notes generated above, adding to top of `antora/components/relnotes/modules/ROOT/pages/about.adoc`.
 +
 Also add a summary line for the release.
 
@@ -332,7 +332,7 @@ Also add a summary line for the release.
 +
 A search for `archetypeGroupId=org.apache.isis.archetype` should find these pages.
 
-* update the link:../../doap_isis.rdf[DOAP RDF] file (which provides a machine-parseable description of the project) should also be updated with details of the new release.
+* update the `doap_isis.rdf` file (which provides a machine-parseable description of the project) with details of the new release.
 Validate using the http://www.w3.org/RDF/Validator/[W3C RDF Validator] service.
 +
 For more information on DOAP files, see these http://projects.apache.org/doap.html[Apache policy docs].
diff --git a/antora/components/toc/modules/devguide/pages/about.adoc b/antora/components/toc/modules/devguide/pages/about.adoc
index 0361898..f132580 100644
--- a/antora/components/toc/modules/devguide/pages/about.adoc
+++ b/antora/components/toc/modules/devguide/pages/about.adoc
@@ -15,6 +15,7 @@ include::hints-and-tips/enhance-only.adoc[leveloffset=+2]
 include::hints-and-tips/how-run-fixtures-on-app-startup.adoc[leveloffset=+2]
 
 include::building-apache-isis.adoc[leveloffset=+1]
+include::building-docs-and-website.adoc[leveloffset=+1]
 
 include::contributing.adoc[leveloffset=+1]
 
diff --git a/antora/components/toc/modules/devguide/pages/building-docs-and-website.adoc b/antora/components/toc/modules/devguide/pages/building-docs-and-website.adoc
new file mode 100644
index 0000000..5047983
--- /dev/null
+++ b/antora/components/toc/modules/devguide/pages/building-docs-and-website.adoc
@@ -0,0 +1,10 @@
+[[building-docs-and-website]]
+= Building Docs and Website
+:notice: licensed to the apache software foundation (asf) under one or more contributor license agreements. see the notice file distributed with this work for additional information regarding copyright ownership. the asf licenses this file to you under the apache license, version 2.0 (the "license"); you may not use this file except in compliance with the license. you may obtain a copy of the license at. http://www.apache.org/licenses/license-2.0 . unless required by applicable law or ag [...]
+include::_attributes.adoc[]
+:page-partial:
+
+
+
+
+


[isis] 07/09: ISIS-2062: more fixes for bad links

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

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

commit dfe91bb8dac8c16718398a17398c73f99a5d9de7
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:35:32 2019 +0100

    ISIS-2062: more fixes for bad links
---
 core/applib/_adoc/modules/svc/partials/nav.adoc | 164 ++++++++++++------------
 1 file changed, 82 insertions(+), 82 deletions(-)

diff --git a/core/applib/_adoc/modules/svc/partials/nav.adoc b/core/applib/_adoc/modules/svc/partials/nav.adoc
index ec5b730..beaf579 100644
--- a/core/applib/_adoc/modules/svc/partials/nav.adoc
+++ b/core/applib/_adoc/modules/svc/partials/nav.adoc
@@ -1,120 +1,120 @@
-* xref:applib:rg:about.adoc[Domain Services]
+* xref:applib:svc:about.adoc[Domain Services]
 
 
-** xref:applib:rg:intro.adoc[Introduction]
+** xref:applib:svc:intro.adoc[Introduction]
 
 
 
-** xref:applib:rg:presentation-layer-api.adoc[Presentation Layer API]
-*** xref:applib:rg:presentation-layer-api/AcceptHeaderService.adoc[AcceptHeaderService]
-*** xref:applib:rg:presentation-layer-api/BookmarkUiService.adoc[BookmarkUiService]
-*** xref:applib:rg:presentation-layer-api/ConfigurationViewService.adoc[ConfigurationViewService]
-*** xref:applib:rg:presentation-layer-api/DeepLinkService.adoc[DeepLinkService]
-*** xref:applib:rg:presentation-layer-api/GuiceBeanProvider.adoc[GuiceBeanProvider]
+** xref:applib:svc:presentation-layer-api.adoc[Presentation Layer API]
+*** xref:applib:svc:presentation-layer-api/AcceptHeaderService.adoc[AcceptHeaderService]
+*** xref:applib:svc:presentation-layer-api/BookmarkUiService.adoc[BookmarkUiService]
+*** xref:applib:svc:presentation-layer-api/ConfigurationViewService.adoc[ConfigurationViewService]
+*** xref:applib:svc:presentation-layer-api/DeepLinkService.adoc[DeepLinkService]
+*** xref:applib:svc:presentation-layer-api/GuiceBeanProvider.adoc[GuiceBeanProvider]
 
 
 
-** xref:applib:rg:presentation-layer-spi.adoc[Presentation Layer SPI]
-*** xref:applib:rg:presentation-layer-spi/ContentMappingService.adoc[ContentMappingService]
-*** xref:applib:rg:presentation-layer-spi/EmailNotificationService.adoc[EmailNotificationService]
-*** xref:applib:rg:presentation-layer-spi/ErrorReportingService.adoc[ErrorReportingService]
-*** xref:applib:rg:presentation-layer-spi/ExceptionRecognizer.adoc[ExceptionRecognizer]
-*** xref:applib:rg:presentation-layer-spi/GridLoaderService.adoc[GridLoaderService]
-*** xref:applib:rg:presentation-layer-spi/GridService.adoc[GridService]
-*** xref:applib:rg:presentation-layer-spi/GridSystemService.adoc[GridSystemService]
-*** xref:applib:rg:presentation-layer-spi/HintStore.adoc[HintStore]
-*** xref:applib:rg:presentation-layer-spi/LocaleProvider.adoc[LocaleProvider]
-*** xref:applib:rg:presentation-layer-spi/MenuBarsLoaderService.adoc[MenuBarsLoaderService]
-*** xref:applib:rg:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService]
-*** xref:applib:rg:presentation-layer-spi/RoutingService.adoc[RoutingService]
-*** xref:applib:rg:presentation-layer-spi/SessionLoggingService.adoc[SessionLoggingService]
-*** xref:applib:rg:presentation-layer-spi/TableColumnOrderService.adoc[TableColumnOrderService]
-*** xref:applib:rg:presentation-layer-spi/TranslationService.adoc[TranslationService]
-*** xref:applib:rg:presentation-layer-spi/TranslationsResolver.adoc[TranslationsResolver]
-*** xref:applib:rg:presentation-layer-spi/UrlEncodingService.adoc[UrlEncodingService]
-*** xref:applib:rg:presentation-layer-spi/UserProfileService.adoc[UserProfileService]
+** xref:applib:svc:presentation-layer-spi.adoc[Presentation Layer SPI]
+*** xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[ContentMappingService]
+*** xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[EmailNotificationService]
+*** xref:applib:svc:presentation-layer-spi/ErrorReportingService.adoc[ErrorReportingService]
+*** xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[ExceptionRecognizer]
+*** xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[GridLoaderService]
+*** xref:applib:svc:presentation-layer-spi/GridService.adoc[GridService]
+*** xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[GridSystemService]
+*** xref:applib:svc:presentation-layer-spi/HintStore.adoc[HintStore]
+*** xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[LocaleProvider]
+*** xref:applib:svc:presentation-layer-spi/MenuBarsLoaderService.adoc[MenuBarsLoaderService]
+*** xref:applib:svc:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService]
+*** xref:applib:svc:presentation-layer-spi/RoutingService.adoc[RoutingService]
+*** xref:applib:svc:presentation-layer-spi/SessionLoggingService.adoc[SessionLoggingService]
+*** xref:applib:svc:presentation-layer-spi/TableColumnOrderService.adoc[TableColumnOrderService]
+*** xref:applib:svc:presentation-layer-spi/TranslationService.adoc[TranslationService]
+*** xref:applib:svc:presentation-layer-spi/TranslationsResolver.adoc[TranslationsResolver]
+*** xref:applib:svc:presentation-layer-spi/UrlEncodingService.adoc[UrlEncodingService]
+*** xref:applib:svc:presentation-layer-spi/UserProfileService.adoc[UserProfileService]
 
 
 
-** xref:applib:rg:application-layer-api.adoc[Application Layer API]
-*** xref:applib:rg:application-layer-api/ActionInvocationContext.adoc[ActionInvocationContext]
+** xref:applib:svc:application-layer-api.adoc[Application Layer API]
+*** xref:applib:svc:application-layer-api/ActionInvocationContext.adoc[ActionInvocationContext]
 
-*** xref:applib:rg:application-layer-api/BackgroundService.adoc[BackgroundService]
-**** xref:applib:rg:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[BackgroundCommandExecution]
-**** xref:applib:rg:application-layer-api/BackgroundService/Quartz.adoc[Quartz]
+*** xref:applib:svc:application-layer-api/BackgroundService.adoc[BackgroundService]
+**** xref:applib:svc:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[BackgroundCommandExecution]
+**** xref:applib:svc:application-layer-api/BackgroundService/Quartz.adoc[Quartz]
 
 
-*** xref:applib:rg:application-layer-api/CommandContext.adoc[CommandContext]
-*** xref:applib:rg:application-layer-api/DtoMappingHelper.adoc[DtoMappingHelper]
-*** xref:applib:rg:application-layer-api/InteractionContext.adoc[InteractionContext]
-*** xref:applib:rg:application-layer-api/MessageService.adoc[MessageService]
-*** xref:applib:rg:application-layer-api/SessionManagementService.adoc[SessionManagementService]
-*** xref:applib:rg:application-layer-api/TitleService.adoc[TitleService]
-*** xref:applib:rg:application-layer-api/TransactionService.adoc[TransactionService]
-*** xref:applib:rg:application-layer-api/WrapperFactory.adoc[WrapperFactory]
+*** xref:applib:svc:application-layer-api/CommandContext.adoc[CommandContext]
+*** xref:applib:svc:application-layer-api/DtoMappingHelper.adoc[DtoMappingHelper]
+*** xref:applib:svc:application-layer-api/InteractionContext.adoc[InteractionContext]
+*** xref:applib:svc:application-layer-api/MessageService.adoc[MessageService]
+*** xref:applib:svc:application-layer-api/SessionManagementService.adoc[SessionManagementService]
+*** xref:applib:svc:application-layer-api/TitleService.adoc[TitleService]
+*** xref:applib:svc:application-layer-api/TransactionService.adoc[TransactionService]
+*** xref:applib:svc:application-layer-api/WrapperFactory.adoc[WrapperFactory]
 
 
 
-** xref:applib:rg:application-layer-spi.adoc[Application Layer SPI]
-*** xref:applib:rg:application-layer-spi/BackgroundCommandService.adoc[BackgroundCommandService]
-*** xref:applib:rg:application-layer-spi/CommandService.adoc[CommandService]
-*** xref:applib:rg:application-layer-spi/HomePageProviderService.adoc[HomePageProviderService]
-*** xref:applib:rg:application-layer-spi/HealthCheckService.adoc[HealthCheckService]
+** xref:applib:svc:application-layer-spi.adoc[Application Layer SPI]
+*** xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[BackgroundCommandService]
+*** xref:applib:svc:application-layer-spi/CommandService.adoc[CommandService]
+*** xref:applib:svc:application-layer-spi/HomePageProviderService.adoc[HomePageProviderService]
+*** xref:applib:svc:application-layer-spi/HealthCheckService.adoc[HealthCheckService]
 
 
 
-** xref:applib:rg:core-domain-api.adoc[Core Domain API]
-*** xref:applib:rg:core-domain-api/ClockService.adoc[ClockService]
-*** xref:applib:rg:core-domain-api/ConfigurationService.adoc[ConfigurationService]
-*** xref:applib:rg:core-domain-api/EventBusService.adoc[EventBusService]
-*** xref:applib:rg:core-domain-api/FactoryService.adoc[FactoryService]
-*** xref:applib:rg:core-domain-api/Scratchpad.adoc[Scratchpad.]
-*** xref:applib:rg:core-domain-api/UserService.adoc[UserService]
+** xref:applib:svc:core-domain-api.adoc[Core Domain API]
+*** xref:applib:svc:core-domain-api/ClockService.adoc[ClockService]
+*** xref:applib:svc:core-domain-api/ConfigurationService.adoc[ConfigurationService]
+*** xref:applib:svc:core-domain-api/EventBusService.adoc[EventBusService]
+*** xref:applib:svc:core-domain-api/FactoryService.adoc[FactoryService]
+*** xref:applib:svc:core-domain-api/Scratchpad.adoc[Scratchpad.]
+*** xref:applib:svc:core-domain-api/UserService.adoc[UserService]
 
 
 
-** xref:applib:rg:integration-api.adoc[Integration API]
-*** xref:applib:rg:integration-api/BookmarkService.adoc[BookmarkService]
-*** xref:applib:rg:integration-api/EmailService.adoc[EmailService]
-*** xref:applib:rg:integration-api/JaxbService.adoc[JaxbService]
-*** xref:applib:rg:integration-api/MementoService.adoc[MementoService]
-*** xref:applib:rg:integration-api/XmlSnapshotService.adoc[XmlSnapshotService]
+** xref:applib:svc:integration-api.adoc[Integration API]
+*** xref:applib:svc:integration-api/BookmarkService.adoc[BookmarkService]
+*** xref:applib:svc:integration-api/EmailService.adoc[EmailService]
+*** xref:applib:svc:integration-api/JaxbService.adoc[JaxbService]
+*** xref:applib:svc:integration-api/MementoService.adoc[MementoService]
+*** xref:applib:svc:integration-api/XmlSnapshotService.adoc[XmlSnapshotService]
 
 
 
-** xref:applib:rg:metadata-api.adoc[Metadata API]
-*** xref:applib:rg:metadata-api/ApplicationFeatureRepository.adoc[ApplicationFeatureRepository]
-*** xref:applib:rg:metadata-api/LayoutService.adoc[LayoutService]
-*** xref:applib:rg:metadata-api/MetamodelService.adoc[MetamodelService]
-*** xref:applib:rg:metadata-api/ServiceRegistry.adoc[ServiceRegistry]
-*** xref:applib:rg:metadata-api/SwaggerService.adoc[SwaggerService]
+** xref:applib:svc:metadata-api.adoc[Metadata API]
+*** xref:applib:svc:metadata-api/ApplicationFeatureRepository.adoc[ApplicationFeatureRepository]
+*** xref:applib:svc:metadata-api/LayoutService.adoc[LayoutService]
+*** xref:applib:svc:metadata-api/MetamodelService.adoc[MetamodelService]
+*** xref:applib:svc:metadata-api/ServiceRegistry.adoc[ServiceRegistry]
+*** xref:applib:svc:metadata-api/SwaggerService.adoc[SwaggerService]
 
 
 
-** xref:applib:rg:testing.adoc[Testing]
-*** xref:applib:rg:testing/ExecutionParametersService.adoc[ExecutionParametersService]
-*** xref:applib:rg:testing/FixtureScripts.adoc[FixtureScripts]
-*** xref:applib:rg:testing/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider]
-*** xref:applib:rg:testing/SudoService.adoc[SudoService]
-*** xref:applib:rg:testing/SwitchUserService.adoc[SwitchUserService]
+** xref:applib:svc:testing.adoc[Testing]
+*** xref:applib:svc:testing/ExecutionParametersService.adoc[ExecutionParametersService]
+*** xref:applib:svc:testing/FixtureScripts.adoc[FixtureScripts]
+*** xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider]
+*** xref:applib:svc:testing/SudoService.adoc[SudoService]
+*** xref:applib:svc:testing/SwitchUserService.adoc[SwitchUserService]
 
 
 
-** xref:applib:rg:persistence-layer-api.adoc[Persistence Layer API]
-*** xref:applib:rg:persistence-layer-api/HsqlDbManagerMenu.adoc[HsqlDbManagerMenu]
-*** xref:applib:rg:persistence-layer-api/IsisJdoSupport.adoc[JdoSupport]
-*** xref:applib:rg:persistence-layer-api/MetricsService.adoc[MetricsService]
-*** xref:applib:rg:persistence-layer-api/QueryResultsCache.adoc[QueryResultsCache]
-*** xref:applib:rg:persistence-layer-api/RepositoryService.adoc[RepositoryService]
+** xref:applib:svc:persistence-layer-api.adoc[Persistence Layer API]
+*** xref:applib:svc:persistence-layer-api/HsqlDbManagerMenu.adoc[HsqlDbManagerMenu]
+*** xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[JdoSupport]
+*** xref:applib:svc:persistence-layer-api/MetricsService.adoc[MetricsService]
+*** xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[QueryResultsCache]
+*** xref:applib:svc:persistence-layer-api/RepositoryService.adoc[RepositoryService]
 
 
 
-** xref:applib:rg:persistence-layer-spi.adoc[Persistence Layer SPI]
-*** xref:applib:rg:persistence-layer-spi/AuditerService.adoc[AuditerService]
-*** xref:applib:rg:persistence-layer-spi/PublisherService.adoc[PublisherService]
-*** xref:applib:rg:persistence-layer-spi/UserRegistrationService.adoc[UserRegistrationService]
+** xref:applib:svc:persistence-layer-spi.adoc[Persistence Layer SPI]
+*** xref:applib:svc:persistence-layer-spi/AuditerService.adoc[AuditerService]
+*** xref:applib:svc:persistence-layer-spi/PublisherService.adoc[PublisherService]
+*** xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[UserRegistrationService]
 
 
-** xref:applib:rg:bootstrapping-spi.adoc[Bootstrapping SPI]
-*** xref:applib:rg:bootstrapping-spi/ClassDiscoveryService.adoc[ClassDiscoveryService]
+** xref:applib:svc:bootstrapping-spi.adoc[Bootstrapping SPI]
+*** xref:applib:svc:bootstrapping-spi/ClassDiscoveryService.adoc[ClassDiscoveryService]
 


[isis] 08/09: ISIS-2062: cosmetic, change title to TOC

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

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

commit d78099979b854727031a598d1f39bb9e5cd60bba
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:41:00 2019 +0100

    ISIS-2062: cosmetic, change title to TOC
---
 antora/components/refguide/modules/ROOT/partials/nav.adoc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/antora/components/refguide/modules/ROOT/partials/nav.adoc b/antora/components/refguide/modules/ROOT/partials/nav.adoc
index ace2602..ac9353d 100644
--- a/antora/components/refguide/modules/ROOT/partials/nav.adoc
+++ b/antora/components/refguide/modules/ROOT/partials/nav.adoc
@@ -1,4 +1,4 @@
-* xref:rg:ROOT:about.adoc[Reference Guide]
+* xref:rg:ROOT:about.adoc[Table of Contents]
 include::applib:ant:partial$nav.adoc[]
 include::applib:svc:partial$nav.adoc[]
 include::applib:cms:partial$nav.adoc[]


[isis] 09/09: ISIS-2062: renames fis to runtime-services

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

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

commit 2cbf8c2dea76b066fe59ccbc4c8f12aa681db2b4
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:56:55 2019 +0100

    ISIS-2062: renames fis to runtime-services
---
 antora/components/toc/modules/ROOT/nav.adoc        |   2 +-
 .../components/toc/modules/ROOT/pages/about.adoc   |   2 +-
 .../toc/modules/ROOT/pages/internal.adoc           |   2 +-
 .../components/userguide}/antora.yml               |   0
 .../components/userguide}/examples.csv             |   0
 .../userguide/modules/ROOT}/_attributes.adoc       |   0
 .../components/userguide}/modules/ROOT/nav.adoc    |   0
 .../userguide/modules/ROOT}/pages/_attributes.adoc |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../userguide}/modules/ROOT/pages/about.adoc       |   0
 .../userguide}/modules/btb/_attributes.adoc        |   0
 .../modules/btb/assets/attachments}/.gitkeep       |   0
 .../headless-access/BackgroundCommandExecution.png | Bin
 ...andExecutionFromBackgroundCommandServiceJdo.png | Bin
 .../action-semantics-are-you-sure.png              | Bin
 .../hints-and-tips/are-you-sure-happy-case.png     | Bin
 .../hints-and-tips/are-you-sure-sad-case.png       | Bin
 .../assets/images/hints-and-tips/are-you-sure.png  | Bin
 .../images/hints-and-tips/view-model-fail.png      | Bin
 .../images/hints-and-tips/view-model-success.png   | Bin
 .../btb/assets/images/runtime/web-xml/key.png      | Bin
 .../btb/assets/images/runtime/web-xml/parts.pptx   | Bin
 .../btb/assets/images/runtime/web-xml/ro-only.png  | Bin
 .../images/runtime/web-xml/wicket-and-ro.png       | Bin
 .../assets/images/runtime/web-xml/wicket-only.png  | Bin
 .../userguide}/modules/btb/examples/.gitkeep       |   0
 .../components/userguide}/modules/btb/nav.adoc     |   0
 .../userguide}/modules/btb/pages/_attributes.adoc  |   0
 .../modules/btb/pages/_partials}/_attributes.adoc  |   0
 .../userguide}/modules/btb/pages/about.adoc        |   0
 .../userguide}/modules/btb/pages/deployment.adoc   |   0
 .../modules/btb/pages/deployment}/_attributes.adoc |   0
 .../modules/btb/pages/deployment/cmd-line.adoc     |   0
 .../modules/btb/pages/deployment/docker.adoc       |   0
 .../deployment/externalized-configuration.adoc     |   0
 .../modules/btb/pages/deployment/gae.adoc          |   0
 .../modules/btb/pages/deployment/jvm-flags.adoc    |   0
 .../modules/btb/pages/deployment/neo4j.adoc        |   0
 .../modules/btb/pages/deployment/tomcat.adoc       |   0
 .../modules/btb/pages/headless-access.adoc         |   0
 .../AbstractIsisSessionTemplate.adoc               |   0
 .../BackgroundCommandExecution.adoc                |   0
 .../btb/pages/headless-access}/_attributes.adoc    |   0
 .../modules/btb/pages/hints-and-tips.adoc          |   0
 .../btb/pages/hints-and-tips}/_attributes.adoc     |   0
 .../btb/pages/hints-and-tips/are-you-sure.adoc     |   0
 .../how-to-handle-void-and-null-results.adoc       |   0
 .../how-to-implement-a-spellchecker.adoc           |   0
 .../btb/pages/hints-and-tips/multi-tenancy.adoc    |   0
 .../btb/pages/hints-and-tips/persisted-title.adoc  |   0
 .../btb/pages/hints-and-tips/pushing-changes.adoc  |   0
 .../replacing-default-service-implementations.adoc |   0
 .../simulating-collections-of-values.adoc          |   0
 .../subclass-properties-in-tables.adoc             |   0
 .../hints-and-tips/transactions-and-errors.adoc    |   0
 .../pages/hints-and-tips/vetoing-visibility.adoc   |   0
 .../hints-and-tips/view-model-instantiation.adoc   |   0
 .../userguide}/modules/btb/pages/i18n.adoc         |   0
 .../modules/btb/pages/other-techniques.adoc        |   0
 .../modules/btb/pages/programming-model.adoc       |   0
 .../btb/pages/programming-model}/_attributes.adoc  |   0
 .../pages/programming-model/custom-validator.adoc  |   0
 .../btb/pages/programming-model/finetuning.adoc    |   0
 .../userguide}/modules/btb/pages/web-xml.adoc      |   0
 .../userguide}/modules/fun/.asciidoctorconfig      |   0
 .../userguide/modules/fun}/_attributes.adoc        |   0
 .../core-concepts/Pawson-Naked-Objects-thesis.pdf  | Bin
 .../core-concepts/philosophy/build-vs-buy.png      | Bin
 .../core-concepts/philosophy/build-vs-buy.pptx     | Bin
 .../philosophy/decoupled-applications.png          | Bin
 .../philosophy/decoupled-applications.pptx         | Bin
 .../philosophy/hexagonal-architecture-addons.png   | Bin
 .../philosophy/hexagonal-architecture.png          | Bin
 .../philosophy/hexagonal-architecture.pptx         | Bin
 .../images/programming-model/todoapp-Dashboard.png | Bin
 .../userguide/modules/fun/examples}/.gitkeep       |   0
 .../components/userguide}/modules/fun/nav.adoc     |   0
 .../userguide/modules/fun}/pages/_attributes.adoc  |   0
 .../modules/fun/pages/_partials}/_attributes.adoc  |   0
 .../userguide}/modules/fun/pages/about.adoc        |   0
 .../fun/pages/available-domain-services.adoc       |   0
 .../available-domain-services}/_attributes.adoc    |   0
 .../framework-provided.adoc                        |   0
 .../available-domain-services/incode-platform.adoc |   0
 .../modules/fun/pages/building-blocks.adoc         |   0
 .../fun/pages/building-blocks}/_attributes.adoc    |   0
 .../modules/fun/pages/building-blocks/events.adoc  |   0
 .../pages/building-blocks/events}/_attributes.adoc |   0
 .../building-blocks/events/domain-events.adoc      |   0
 .../building-blocks/events/lifecycle-events.adoc   |   0
 .../pages/building-blocks/events/ui-events.adoc    |   0
 .../fun/pages/building-blocks/identifiers.adoc     |   0
 .../building-blocks/identifiers}/_attributes.adoc  |   0
 .../fun/pages/building-blocks/identifiers/oid.adoc |   0
 .../identifiers/title-and-icon-and-css-class.adoc  |   0
 .../fun/pages/building-blocks/metamodel.adoc       |   0
 .../modules/fun/pages/building-blocks/modules.adoc |   0
 .../fun/pages/building-blocks/object-members.adoc  |   0
 .../building-blocks/types-of-domain-objects.adoc   |   0
 .../types-of-domain-objects}/_attributes.adoc      |   0
 .../types-of-domain-objects/domain-entities.adoc   |   0
 .../types-of-domain-objects/domain-services.adoc   |   0
 .../types-of-domain-objects/mixins.adoc            |   0
 .../types-of-domain-objects/view-models.adoc       |   0
 .../modules/fun/pages/business-rules.adoc          |   0
 .../fun/pages/business-rules}/_attributes.adoc     |   0
 .../modules/fun/pages/business-rules/actions.adoc  |   0
 .../fun/pages/business-rules/side-effects.adoc     |   0
 .../fun/pages/business-rules/usability.adoc        |   0
 .../modules/fun/pages/business-rules/validity.adoc |   0
 .../fun/pages/business-rules/visibility.adoc       |   0
 .../modules/fun/pages/core-concepts.adoc           |   0
 .../fun/pages/core-concepts}/_attributes.adoc      |   0
 .../fun/pages/core-concepts/apache-isis-vs.adoc    |   0
 .../core-concepts/apache-isis-vs}/_attributes.adoc |   0
 .../pages/core-concepts/apache-isis-vs/cqrs.adoc   |   0
 .../apache-isis-vs/event-sourcing.adoc             |   0
 .../apache-isis-vs/mvc-server-side.adoc            |   0
 .../pages/core-concepts/deployment-options.adoc    |   0
 .../fun/pages/core-concepts/philosophy.adoc        |   0
 .../core-concepts/philosophy/_attributes.adoc      |   0
 .../fun/pages/core-concepts/philosophy/aop.adoc    |   0
 .../fun/pages/core-concepts/philosophy/dci.adoc    |   0
 .../philosophy/domain-driven-design.adoc           |   0
 .../philosophy/hexagonal-architecture.adoc         |   0
 .../core-concepts/philosophy/how-eases-ddd.adoc    |   0
 .../philosophy/naked-objects-pattern.adoc          |   0
 .../fun/pages/core-concepts/principles.adoc        |   0
 .../core-concepts/principles}/_attributes.adoc     |   0
 .../core-concepts/principles/build-not-buy.adoc    |   0
 .../principles/for-the-long-term.adoc              |   0
 .../core-concepts/principles/isis-itself.adoc      |   0
 .../principles/isis-itself}/_attributes.adoc       |   0
 .../principles/isis-itself/focuses-on-its-usp.adoc |   0
 .../isis-itself/full-stack-but-extensible.adoc     |   0
 .../core-concepts/principles/lego-blocks.adoc      |   0
 .../pages/core-concepts/principles/testable.adoc   |   0
 .../userguide}/modules/fun/pages/crud.adoc         |   0
 .../modules/fun/pages/crud}/_attributes.adoc       |   0
 .../modules/fun/pages/crud/deleting.adoc           |   0
 .../userguide}/modules/fun/pages/crud/finding.adoc |   0
 .../modules/fun/pages/crud/instantiating.adoc      |   0
 .../modules/fun/pages/crud/persisting.adoc         |   0
 .../modules/fun/pages/crud/updating.adoc           |   0
 .../modules/fun/pages/drop-downs-and-defaults.adoc |   0
 .../modules/fun/pages/programming-model.adoc       |   0
 .../fun/pages/programming-model}/_attributes.adoc  |   0
 .../fun/pages/programming-model/actions.adoc       |   0
 .../fun/pages/programming-model/collections.adoc   |   0
 .../pages/programming-model/domain-entities.adoc   |   0
 .../pages/programming-model/domain-services.adoc   |   0
 .../domain-services}/_attributes.adoc              |   0
 .../domain-services/event-subscribers.adoc         |   0
 .../domain-services/initialization.adoc            |   0
 .../programming-model/domain-services/menu.adoc    |   0
 .../domain-services/organizing-services.adoc       |   0
 .../domain-services/registering.adoc               |   0
 .../domain-services/repository-and-factory.adoc    |   0
 .../domain-services/scoped-services.adoc           |   0
 .../pages/programming-model/inject-services.adoc   |   0
 .../fun/pages/programming-model/mixins.adoc        |   0
 .../programming-model/mixins}/_attributes.adoc     |   0
 .../mixins/contributed-action.adoc                 |   0
 .../mixins/contributed-collection.adoc             |   0
 .../mixins/contributed-property.adoc               |   0
 .../programming-model/mixins/inferred-name.adoc    |   0
 .../mixins/nested-static-classes.adoc              |   0
 .../mixins/programmatic-usage.adoc                 |   0
 .../properties-vs-parameters.adoc                  |   0
 .../fun/pages/programming-model/properties.adoc    |   0
 .../fun/pages/programming-model/view-models.adoc   |   0
 .../view-models}/_attributes.adoc                  |   0
 .../pages/programming-model/view-models/dto.adoc   |   0
 .../view-models/dto/_attributes.adoc               |   0
 .../view-models/dto/dto-consumers.adoc             |   0
 .../view-models/dto/generating-xsds.adoc           |   0
 .../view-models/dto/versioning.adoc                |   0
 .../pages/programming-model/view-models/jaxb.adoc  |   0
 .../view-models/jaxb}/_attributes.adoc             |   0
 .../view-models/jaxb/joda-datatypes.adoc           |   0
 .../jaxb/referencing-domain-entities.adoc          |   0
 .../programming-model/view-models/non-jaxb.adoc    |   0
 .../userguide}/modules/fun/pages/ui-hints.adoc     |   0
 .../modules/fun/pages/ui-hints}/_attributes.adoc   |   0
 .../fun/pages/ui-hints/action-icons-and-css.adoc   |   0
 .../fun/pages/ui-hints/eager-rendering.adoc        |   0
 .../modules/fun/pages/ui-hints/layout.adoc         |   0
 .../fun/pages/ui-hints/names-and-descriptions.adoc |   0
 .../pages/ui-hints/object-titles-and-icons.adoc    |   0
 .../components/userguide}/sync_examples.sh         |   0
 core/_adoc-fis/modules/ROOT/nav.adoc               |  25 ---------------------
 .../application-layer-api/BackgroundService.adoc   |   4 ++--
 core/applib/_adoc/modules/svc/pages/intro.adoc     |  10 ++++-----
 .../persistence-layer-api/MetricsService.adoc      |   2 +-
 .../persistence-layer-spi/PublisherService.adoc    |   4 ++--
 .../AcceptHeaderService.adoc                       |   2 +-
 .../ContentMappingService.adoc                     |   6 ++---
 .../modules/svc/pages/testing/SudoService.adoc     |   4 ++--
 .../_adoc}/antora.yml                              |   4 ++--
 .../_adoc}/examples.csv                            |   0
 .../_adoc}/modules/ROOT/_attributes.adoc           |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../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
 .../_adoc/modules/ROOT/examples}/.gitkeep          |   0
 core/runtime-services/_adoc/modules/ROOT/nav.adoc  |  20 +++++++++++++++++
 .../_adoc}/modules/ROOT/pages/_attributes.adoc     |   0
 .../modules/ROOT/pages/_partials}/_attributes.adoc |   0
 .../_adoc}/modules/ROOT/pages/about.adoc           |   0
 .../modules/ROOT/pages/application-layer.adoc      |   6 ++---
 .../AuthenticationSessionProvider.adoc             |   0
 .../CommandDtoServiceInternal.adoc                 |   2 +-
 .../InteractionDtoServiceInternal.adoc             |   2 +-
 .../ROOT/pages/application-layer}/_attributes.adoc |   0
 .../modules/ROOT/pages/persistence-layer.adoc      |  14 ++++++------
 .../persistence-layer/AuditingServiceInternal.adoc |   6 ++---
 .../ChangedObjectsServiceInternal.adoc             |   8 +++----
 .../PersistenceSessionServiceInternal.adoc         |   0
 .../PublishingServiceInternal.adoc                 |   6 ++---
 .../ROOT/pages/persistence-layer}/_attributes.adoc |   0
 .../modules/ROOT/pages/presentation-layer.adoc     |   6 ++---
 .../ContentNegotiationService.adoc                 |   2 +-
 .../presentation-layer/RepresentationService.adoc  |   8 +++----
 .../pages/presentation-layer}/_attributes.adoc     |   0
 .../_adoc}/sync_examples.sh                        |   0
 .../_adoc/modules/ROOT/pages/architecture.adoc     |   4 ++--
 site.yml                                           |   6 ++++-
 231 files changed, 78 insertions(+), 79 deletions(-)

diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index cd6513b..d1311cd 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -97,7 +97,7 @@ _for bug reports & feature requests_
 [external]
 **  xref:archdesign:ROOT:about.adoc[Architecture & Design]
 [external]
-**  xref:fis:ROOT:about.adoc[Framework Internal Services]
+**  xref:runtime-services:ROOT:about.adoc[Framework Internal Services]
 [external]
 **  xref:smoketests:ROOT:about.adoc[SmokeTest App]
 
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 712bf80..97c7f98 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -116,7 +116,7 @@ _for bug reports & feature requests_
 |*xref:toc:ROOT:internal.adoc#implementation[Implementation]*
 
 *  xref:archdesign:ROOT:about.adoc[Architecture & Design]
-*  xref:fis:ROOT:about.adoc[Framework Internal Services]
+*  xref:runtime-services:ROOT:about.adoc[Framework Internal Services]
 *  xref:smoketests:ROOT:about.adoc[SmokeTest App]
 
 
diff --git a/antora/components/toc/modules/ROOT/pages/internal.adoc b/antora/components/toc/modules/ROOT/pages/internal.adoc
index 9093fca..f3592e7 100644
--- a/antora/components/toc/modules/ROOT/pages/internal.adoc
+++ b/antora/components/toc/modules/ROOT/pages/internal.adoc
@@ -16,6 +16,6 @@ They include guides for day-to-day operations, as well as notes on the design/im
 == Implementation
 
 *  xref:archdesign:ROOT:about.adoc[Architecture & Design]
-*  xref:fis:ROOT:about.adoc[Framework Internal Services]
+*  xref:runtime-services:ROOT:about.adoc[Framework Internal Services]
 *  xref:smoketests:ROOT:about.adoc[SmokeTest App]
 
diff --git a/core/_adoc-ug/antora.yml b/antora/components/userguide/antora.yml
similarity index 100%
rename from core/_adoc-ug/antora.yml
rename to antora/components/userguide/antora.yml
diff --git a/core/_adoc-ug/examples.csv b/antora/components/userguide/examples.csv
similarity index 100%
rename from core/_adoc-ug/examples.csv
rename to antora/components/userguide/examples.csv
diff --git a/core/_adoc-ug/modules/fun/_attributes.adoc b/antora/components/userguide/modules/ROOT/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/_attributes.adoc
rename to antora/components/userguide/modules/ROOT/_attributes.adoc
diff --git a/core/_adoc-ug/modules/ROOT/nav.adoc b/antora/components/userguide/modules/ROOT/nav.adoc
similarity index 100%
rename from core/_adoc-ug/modules/ROOT/nav.adoc
rename to antora/components/userguide/modules/ROOT/nav.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/_attributes.adoc b/antora/components/userguide/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/_attributes.adoc
rename to antora/components/userguide/modules/ROOT/pages/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/_attributes.adoc b/antora/components/userguide/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints/_attributes.adoc
rename to antora/components/userguide/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/core/_adoc-ug/modules/ROOT/pages/about.adoc b/antora/components/userguide/modules/ROOT/pages/about.adoc
similarity index 100%
rename from core/_adoc-ug/modules/ROOT/pages/about.adoc
rename to antora/components/userguide/modules/ROOT/pages/about.adoc
diff --git a/core/_adoc-ug/modules/btb/_attributes.adoc b/antora/components/userguide/modules/btb/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/_attributes.adoc
rename to antora/components/userguide/modules/btb/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/examples/.gitkeep b/antora/components/userguide/modules/btb/assets/attachments/.gitkeep
similarity index 100%
rename from core/_adoc-ug/modules/fun/examples/.gitkeep
rename to antora/components/userguide/modules/btb/assets/attachments/.gitkeep
diff --git a/core/_adoc-ug/modules/btb/assets/images/headless-access/BackgroundCommandExecution.png b/antora/components/userguide/modules/btb/assets/images/headless-access/BackgroundCommandExecution.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/headless-access/BackgroundCommandExecution.png
rename to antora/components/userguide/modules/btb/assets/images/headless-access/BackgroundCommandExecution.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/headless-access/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.png b/antora/components/userguide/modules/btb/assets/images/headless-access/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/headless-access/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.png
rename to antora/components/userguide/modules/btb/assets/images/headless-access/BackgroundCommandExecutionFromBackgroundCommandServiceJdo.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/hints-and-tips/action-semantics-are-you-sure.png b/antora/components/userguide/modules/btb/assets/images/hints-and-tips/action-semantics-are-you-sure.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/hints-and-tips/action-semantics-are-you-sure.png
rename to antora/components/userguide/modules/btb/assets/images/hints-and-tips/action-semantics-are-you-sure.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/hints-and-tips/are-you-sure-happy-case.png b/antora/components/userguide/modules/btb/assets/images/hints-and-tips/are-you-sure-happy-case.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/hints-and-tips/are-you-sure-happy-case.png
rename to antora/components/userguide/modules/btb/assets/images/hints-and-tips/are-you-sure-happy-case.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/hints-and-tips/are-you-sure-sad-case.png b/antora/components/userguide/modules/btb/assets/images/hints-and-tips/are-you-sure-sad-case.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/hints-and-tips/are-you-sure-sad-case.png
rename to antora/components/userguide/modules/btb/assets/images/hints-and-tips/are-you-sure-sad-case.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/hints-and-tips/are-you-sure.png b/antora/components/userguide/modules/btb/assets/images/hints-and-tips/are-you-sure.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/hints-and-tips/are-you-sure.png
rename to antora/components/userguide/modules/btb/assets/images/hints-and-tips/are-you-sure.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/hints-and-tips/view-model-fail.png b/antora/components/userguide/modules/btb/assets/images/hints-and-tips/view-model-fail.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/hints-and-tips/view-model-fail.png
rename to antora/components/userguide/modules/btb/assets/images/hints-and-tips/view-model-fail.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/hints-and-tips/view-model-success.png b/antora/components/userguide/modules/btb/assets/images/hints-and-tips/view-model-success.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/hints-and-tips/view-model-success.png
rename to antora/components/userguide/modules/btb/assets/images/hints-and-tips/view-model-success.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/key.png b/antora/components/userguide/modules/btb/assets/images/runtime/web-xml/key.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/key.png
rename to antora/components/userguide/modules/btb/assets/images/runtime/web-xml/key.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/parts.pptx b/antora/components/userguide/modules/btb/assets/images/runtime/web-xml/parts.pptx
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/parts.pptx
rename to antora/components/userguide/modules/btb/assets/images/runtime/web-xml/parts.pptx
diff --git a/core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/ro-only.png b/antora/components/userguide/modules/btb/assets/images/runtime/web-xml/ro-only.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/ro-only.png
rename to antora/components/userguide/modules/btb/assets/images/runtime/web-xml/ro-only.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/wicket-and-ro.png b/antora/components/userguide/modules/btb/assets/images/runtime/web-xml/wicket-and-ro.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/wicket-and-ro.png
rename to antora/components/userguide/modules/btb/assets/images/runtime/web-xml/wicket-and-ro.png
diff --git a/core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/wicket-only.png b/antora/components/userguide/modules/btb/assets/images/runtime/web-xml/wicket-only.png
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/images/runtime/web-xml/wicket-only.png
rename to antora/components/userguide/modules/btb/assets/images/runtime/web-xml/wicket-only.png
diff --git a/core/_adoc-ug/modules/btb/examples/.gitkeep b/antora/components/userguide/modules/btb/examples/.gitkeep
similarity index 100%
rename from core/_adoc-ug/modules/btb/examples/.gitkeep
rename to antora/components/userguide/modules/btb/examples/.gitkeep
diff --git a/core/_adoc-ug/modules/btb/nav.adoc b/antora/components/userguide/modules/btb/nav.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/nav.adoc
rename to antora/components/userguide/modules/btb/nav.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/_attributes.adoc b/antora/components/userguide/modules/btb/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/_attributes.adoc
rename to antora/components/userguide/modules/btb/pages/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/_attributes.adoc b/antora/components/userguide/modules/btb/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/_attributes.adoc
rename to antora/components/userguide/modules/btb/pages/_partials/_attributes.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/about.adoc b/antora/components/userguide/modules/btb/pages/about.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/about.adoc
rename to antora/components/userguide/modules/btb/pages/about.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment.adoc b/antora/components/userguide/modules/btb/pages/deployment.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment.adoc
rename to antora/components/userguide/modules/btb/pages/deployment.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud/_attributes.adoc b/antora/components/userguide/modules/btb/pages/deployment/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud/_attributes.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/_attributes.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/cmd-line.adoc b/antora/components/userguide/modules/btb/pages/deployment/cmd-line.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/cmd-line.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/cmd-line.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/docker.adoc b/antora/components/userguide/modules/btb/pages/deployment/docker.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/docker.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/docker.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc b/antora/components/userguide/modules/btb/pages/deployment/externalized-configuration.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/externalized-configuration.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/gae.adoc b/antora/components/userguide/modules/btb/pages/deployment/gae.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/gae.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/gae.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/jvm-flags.adoc b/antora/components/userguide/modules/btb/pages/deployment/jvm-flags.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/jvm-flags.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/jvm-flags.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/neo4j.adoc b/antora/components/userguide/modules/btb/pages/deployment/neo4j.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/neo4j.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/neo4j.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/tomcat.adoc b/antora/components/userguide/modules/btb/pages/deployment/tomcat.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/tomcat.adoc
rename to antora/components/userguide/modules/btb/pages/deployment/tomcat.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/headless-access.adoc b/antora/components/userguide/modules/btb/pages/headless-access.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/headless-access.adoc
rename to antora/components/userguide/modules/btb/pages/headless-access.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc b/antora/components/userguide/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc
rename to antora/components/userguide/modules/btb/pages/headless-access/AbstractIsisSessionTemplate.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc b/antora/components/userguide/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
rename to antora/components/userguide/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/_attributes.adoc b/antora/components/userguide/modules/btb/pages/headless-access/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/_attributes.adoc
rename to antora/components/userguide/modules/btb/pages/headless-access/_attributes.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/_attributes.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules/_attributes.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/_attributes.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/are-you-sure.adoc
diff --git a/core/_adoc-ug/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
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
diff --git a/core/_adoc-ug/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
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/multi-tenancy.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/multi-tenancy.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/multi-tenancy.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/multi-tenancy.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/persisted-title.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/persisted-title.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/persisted-title.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/persisted-title.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/pushing-changes.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/pushing-changes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/pushing-changes.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/pushing-changes.adoc
diff --git a/core/_adoc-ug/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
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
diff --git a/core/_adoc-ug/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
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/subclass-properties-in-tables.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc b/antora/components/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
rename to antora/components/userguide/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/i18n.adoc b/antora/components/userguide/modules/btb/pages/i18n.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/i18n.adoc
rename to antora/components/userguide/modules/btb/pages/i18n.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/other-techniques.adoc b/antora/components/userguide/modules/btb/pages/other-techniques.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/other-techniques.adoc
rename to antora/components/userguide/modules/btb/pages/other-techniques.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/programming-model.adoc b/antora/components/userguide/modules/btb/pages/programming-model.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/programming-model.adoc
rename to antora/components/userguide/modules/btb/pages/programming-model.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/_attributes.adoc b/antora/components/userguide/modules/btb/pages/programming-model/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/_attributes.adoc
rename to antora/components/userguide/modules/btb/pages/programming-model/_attributes.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc b/antora/components/userguide/modules/btb/pages/programming-model/custom-validator.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
rename to antora/components/userguide/modules/btb/pages/programming-model/custom-validator.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/programming-model/finetuning.adoc b/antora/components/userguide/modules/btb/pages/programming-model/finetuning.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/programming-model/finetuning.adoc
rename to antora/components/userguide/modules/btb/pages/programming-model/finetuning.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/web-xml.adoc b/antora/components/userguide/modules/btb/pages/web-xml.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/web-xml.adoc
rename to antora/components/userguide/modules/btb/pages/web-xml.adoc
diff --git a/core/_adoc-ug/modules/fun/.asciidoctorconfig b/antora/components/userguide/modules/fun/.asciidoctorconfig
similarity index 100%
rename from core/_adoc-ug/modules/fun/.asciidoctorconfig
rename to antora/components/userguide/modules/fun/.asciidoctorconfig
diff --git a/core/_adoc-ug/modules/ROOT/_attributes.adoc b/antora/components/userguide/modules/fun/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/ROOT/_attributes.adoc
rename to antora/components/userguide/modules/fun/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/assets/attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf b/antora/components/userguide/modules/fun/assets/attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf
rename to antora/components/userguide/modules/fun/assets/attachments/core-concepts/Pawson-Naked-Objects-thesis.pdf
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.png b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.png
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.png
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.png
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.pptx b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.pptx
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.pptx
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/build-vs-buy.pptx
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.png b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.png
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.png
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.png
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.pptx b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.pptx
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.pptx
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/decoupled-applications.pptx
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture-addons.png b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture-addons.png
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture-addons.png
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture-addons.png
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.png b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.png
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.png
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.png
diff --git a/core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.pptx b/antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.pptx
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.pptx
rename to antora/components/userguide/modules/fun/assets/images/core-concepts/philosophy/hexagonal-architecture.pptx
diff --git a/core/_adoc-ug/modules/fun/assets/images/programming-model/todoapp-Dashboard.png b/antora/components/userguide/modules/fun/assets/images/programming-model/todoapp-Dashboard.png
similarity index 100%
rename from core/_adoc-ug/modules/fun/assets/images/programming-model/todoapp-Dashboard.png
rename to antora/components/userguide/modules/fun/assets/images/programming-model/todoapp-Dashboard.png
diff --git a/core/_adoc-ug/modules/btb/assets/attachments/.gitkeep b/antora/components/userguide/modules/fun/examples/.gitkeep
similarity index 100%
rename from core/_adoc-ug/modules/btb/assets/attachments/.gitkeep
rename to antora/components/userguide/modules/fun/examples/.gitkeep
diff --git a/core/_adoc-ug/modules/fun/nav.adoc b/antora/components/userguide/modules/fun/nav.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/nav.adoc
rename to antora/components/userguide/modules/fun/nav.adoc
diff --git a/core/_adoc-ug/modules/ROOT/pages/_attributes.adoc b/antora/components/userguide/modules/fun/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/ROOT/pages/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/available-domain-services/_attributes.adoc b/antora/components/userguide/modules/fun/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/available-domain-services/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/_partials/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/about.adoc b/antora/components/userguide/modules/fun/pages/about.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/about.adoc
rename to antora/components/userguide/modules/fun/pages/about.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/available-domain-services.adoc b/antora/components/userguide/modules/fun/pages/available-domain-services.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/available-domain-services.adoc
rename to antora/components/userguide/modules/fun/pages/available-domain-services.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/_partials/_attributes.adoc b/antora/components/userguide/modules/fun/pages/available-domain-services/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/_partials/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/available-domain-services/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/available-domain-services/framework-provided.adoc b/antora/components/userguide/modules/fun/pages/available-domain-services/framework-provided.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/available-domain-services/framework-provided.adoc
rename to antora/components/userguide/modules/fun/pages/available-domain-services/framework-provided.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/available-domain-services/incode-platform.adoc b/antora/components/userguide/modules/fun/pages/available-domain-services/incode-platform.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/available-domain-services/incode-platform.adoc
rename to antora/components/userguide/modules/fun/pages/available-domain-services/incode-platform.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks.adoc b/antora/components/userguide/modules/fun/pages/building-blocks.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/programming-model/_attributes.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/programming-model/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/events.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/events.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/events.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/_attributes.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/events/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/events/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/events/domain-events.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/events/domain-events.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/events/ui-events.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/events/ui-events.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/identifiers.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/identifiers.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/identifiers.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/_attributes.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/identifiers/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/identifiers/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/identifiers/oid.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/identifiers/oid.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/identifiers/title-and-icon-and-css-class.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/metamodel.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/metamodel.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/metamodel.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/metamodel.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/modules.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/modules.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/modules.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/modules.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/object-members.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/object-members.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/object-members.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/object-members.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/_attributes.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-entities.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/domain-entities.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-entities.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/domain-entities.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/domain-services.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/mixins.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/mixins.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/mixins.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/mixins.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc b/antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
rename to antora/components/userguide/modules/fun/pages/building-blocks/types-of-domain-objects/view-models.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules.adoc b/antora/components/userguide/modules/fun/pages/business-rules.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/_attributes.adoc b/antora/components/userguide/modules/fun/pages/business-rules/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/hints-and-tips/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/actions.adoc b/antora/components/userguide/modules/fun/pages/business-rules/actions.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules/actions.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules/actions.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/side-effects.adoc b/antora/components/userguide/modules/fun/pages/business-rules/side-effects.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules/side-effects.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules/side-effects.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/usability.adoc b/antora/components/userguide/modules/fun/pages/business-rules/usability.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules/usability.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules/usability.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc b/antora/components/userguide/modules/fun/pages/business-rules/validity.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules/validity.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/visibility.adoc b/antora/components/userguide/modules/fun/pages/business-rules/visibility.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/business-rules/visibility.adoc
rename to antora/components/userguide/modules/fun/pages/business-rules/visibility.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts.adoc b/antora/components/userguide/modules/fun/pages/core-concepts.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/headless-access/_attributes.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/headless-access/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/_attributes.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/deployment-options.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/deployment-options.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/deployment-options.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/deployment-options.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/_attributes.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/aop.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/aop.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/aop.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/aop.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/dci.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/dci.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/dci.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/dci.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/domain-driven-design.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/domain-driven-design.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/domain-driven-design.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/domain-driven-design.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/hexagonal-architecture.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/hexagonal-architecture.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/hexagonal-architecture.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/hexagonal-architecture.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/how-eases-ddd.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/naked-objects-pattern.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/philosophy/naked-objects-pattern.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/philosophy/naked-objects-pattern.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/philosophy/naked-objects-pattern.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/_attributes.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/build-not-buy.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/build-not-buy.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/build-not-buy.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/build-not-buy.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/_attributes.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself/focuses-on-its-usp.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself/focuses-on-its-usp.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself/focuses-on-its-usp.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself/focuses-on-its-usp.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself/full-stack-but-extensible.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself/full-stack-but-extensible.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself/full-stack-but-extensible.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/isis-itself/full-stack-but-extensible.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/lego-blocks.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/lego-blocks.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/lego-blocks.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/lego-blocks.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/testable.adoc b/antora/components/userguide/modules/fun/pages/core-concepts/principles/testable.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/testable.adoc
rename to antora/components/userguide/modules/fun/pages/core-concepts/principles/testable.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud.adoc b/antora/components/userguide/modules/fun/pages/crud.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud.adoc
rename to antora/components/userguide/modules/fun/pages/crud.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/_attributes.adoc b/antora/components/userguide/modules/fun/pages/crud/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/deployment/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/crud/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud/deleting.adoc b/antora/components/userguide/modules/fun/pages/crud/deleting.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud/deleting.adoc
rename to antora/components/userguide/modules/fun/pages/crud/deleting.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud/finding.adoc b/antora/components/userguide/modules/fun/pages/crud/finding.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud/finding.adoc
rename to antora/components/userguide/modules/fun/pages/crud/finding.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud/instantiating.adoc b/antora/components/userguide/modules/fun/pages/crud/instantiating.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud/instantiating.adoc
rename to antora/components/userguide/modules/fun/pages/crud/instantiating.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud/persisting.adoc b/antora/components/userguide/modules/fun/pages/crud/persisting.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud/persisting.adoc
rename to antora/components/userguide/modules/fun/pages/crud/persisting.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/crud/updating.adoc b/antora/components/userguide/modules/fun/pages/crud/updating.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/crud/updating.adoc
rename to antora/components/userguide/modules/fun/pages/crud/updating.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc b/antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
rename to antora/components/userguide/modules/fun/pages/drop-downs-and-defaults.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model.adoc b/antora/components/userguide/modules/fun/pages/programming-model.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model.adoc
diff --git a/core/_adoc-ug/modules/btb/pages/_partials/_attributes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/btb/pages/_partials/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc b/antora/components/userguide/modules/fun/pages/programming-model/actions.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/actions.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/collections.adoc b/antora/components/userguide/modules/fun/pages/programming-model/collections.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/collections.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/collections.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-entities.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-entities.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-entities.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-entities.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/_attributes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/types-of-domain-objects/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/initialization.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/initialization.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/menu.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/menu.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/organizing-services.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/organizing-services.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/organizing-services.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/organizing-services.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/registering.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/registering.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc b/antora/components/userguide/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/inject-services.adoc b/antora/components/userguide/modules/fun/pages/programming-model/inject-services.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/inject-services.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/inject-services.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/_attributes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/contributed-action.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/contributed-action.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/contributed-action.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/contributed-action.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/contributed-collection.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/contributed-collection.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/contributed-collection.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/contributed-collection.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/contributed-property.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/contributed-property.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/contributed-property.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/contributed-property.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/inferred-name.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/inferred-name.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/inferred-name.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/inferred-name.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/nested-static-classes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/nested-static-classes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/nested-static-classes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/nested-static-classes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc b/antora/components/userguide/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/properties-vs-parameters.adoc b/antora/components/userguide/modules/fun/pages/programming-model/properties-vs-parameters.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/properties-vs-parameters.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/properties-vs-parameters.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/properties.adoc b/antora/components/userguide/modules/fun/pages/programming-model/properties.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/properties.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/properties.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/_attributes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/building-blocks/events/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/dto.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/dto.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/_attributes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/generating-xsds.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/generating-xsds.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/generating-xsds.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/generating-xsds.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/versioning.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/versioning.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/versioning.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/dto/versioning.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself/_attributes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/core-concepts/principles/isis-itself/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/joda-datatypes.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb/joda-datatypes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/joda-datatypes.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb/joda-datatypes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc b/antora/components/userguide/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
rename to antora/components/userguide/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints.adoc b/antora/components/userguide/modules/fun/pages/ui-hints.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints.adoc
diff --git a/core/_adoc-ug/modules/ROOT/pages/_partials/_attributes.adoc b/antora/components/userguide/modules/fun/pages/ui-hints/_attributes.adoc
similarity index 100%
rename from core/_adoc-ug/modules/ROOT/pages/_partials/_attributes.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints/_attributes.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc b/antora/components/userguide/modules/fun/pages/ui-hints/action-icons-and-css.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints/action-icons-and-css.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc b/antora/components/userguide/modules/fun/pages/ui-hints/eager-rendering.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints/eager-rendering.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/layout.adoc b/antora/components/userguide/modules/fun/pages/ui-hints/layout.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints/layout.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints/layout.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc b/antora/components/userguide/modules/fun/pages/ui-hints/names-and-descriptions.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints/names-and-descriptions.adoc
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc b/antora/components/userguide/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
similarity index 100%
rename from core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
rename to antora/components/userguide/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
diff --git a/core/_adoc-ug/sync_examples.sh b/antora/components/userguide/sync_examples.sh
similarity index 100%
rename from core/_adoc-ug/sync_examples.sh
rename to antora/components/userguide/sync_examples.sh
diff --git a/core/_adoc-fis/modules/ROOT/nav.adoc b/core/_adoc-fis/modules/ROOT/nav.adoc
deleted file mode 100644
index 6623efb..0000000
--- a/core/_adoc-fis/modules/ROOT/nav.adoc
+++ /dev/null
@@ -1,25 +0,0 @@
-* xref:about.adoc[Framework Internal Services]
-
-
-** xref:presentation-layer.adoc[Presentation Layer]
-*** xref:presentation-layer/ContentNegotiationService.adoc[ContentNegotiationService]
-*** xref:presentation-layer/RepresentationService.adoc[RepresentationService]
-
-
-
-** xref:application-layer.adoc[Application Layer]
-*** xref:application-layer/AuthenticationSessionProvider.adoc[AuthenticationSessionProvider]
-*** xref:application-layer/CommandDtoServiceInternal.adoc[CommandDtoServiceInternal]
-*** xref:application-layer/InteractionDtoServiceInternal.adoc[InteractionDtoServiceInternal]
-
-
-
-** xref:persistence-layer.adoc[Persistence Layer]
-*** xref:persistence-layer/AuditingServiceInternal.adoc[AuditingServiceInternal]
-*** xref:persistence-layer/ChangedObjectsServiceInternal.adoc[ChangedObjectsServiceInternal]
-*** xref:persistence-layer/PersistenceSessionServiceInternal.adoc[PersistenceSessionServiceInternal]
-*** xref:persistence-layer/PublishingServiceInternal.adoc[PublishingServiceInternal]
-
-
-
-
diff --git a/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc
index 4bf453b..5e6ed7d 100644
--- a/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc
@@ -11,7 +11,7 @@ The `BackgroundService2` is responsible for capturing a memento representing the
 
 The default `BackgroundServiceDefault` implementation works by using a proxy wrapper around the target so that it can capture the action to invoke and its arguments.
 
-This is done using xref:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`].
+This is done using xref:runtime-services:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`].
 
 The persistence delegates the persistence of the memento to an appropriate implementation of the companion `BackgroundCommandService2`.
 One such implementation of `BackgroundCommandService` is provided by (non-ASF) http://github.com/isisaddons/isis-module-command[Isis addons' command] module.
@@ -115,7 +115,7 @@ The latter is analogous to the way in which the `BackgroundCommandService` persi
 The implementations of `CommandService` and `BackgroundCommandService` go together; typically both parent `Command`s and child background `Command`s will be persisted in the same way.
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module provides implementations of both (see xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] and xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]).
 
-The xref:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`] is used to obtain a memento of the command such that it can be persisted.
+The xref:runtime-services:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`] is used to obtain a memento of the command such that it can be persisted.
 (In earlier versions, xref:applib:svc:integration-api/MementoService.adoc[`MementoService`] was used for this purpose).
 
 
diff --git a/core/applib/_adoc/modules/svc/pages/intro.adoc b/core/applib/_adoc/modules/svc/pages/intro.adoc
index 8678e56..92592e8 100644
--- a/core/applib/_adoc/modules/svc/pages/intro.adoc
+++ b/core/applib/_adoc/modules/svc/pages/intro.adoc
@@ -35,7 +35,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:fis:ROOT:about.adoc[Framework Internal Services] guide.
+The internal framework services are documented in the xref:runtime-services:ROOT:about.adoc[Framework Internal Services] guide.
 
 
 
@@ -172,15 +172,15 @@ Whether this occurs depends on whether the action/property has been annotated (u
 +
 (Note that susbcribers 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:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service.
+* As each execution progresses, and objects that are modified are "enlisted" into the (internal) xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service.
 Metrics as to which objects are merely loaded into memory are also captured using the xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] (not shown on the diagram).
 
 * At the end of each execution, details of that execution are published through the (internal)
-xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`]).
+xref:runtime-services:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`]).
 +
 The internal service delegates in turn to any registered xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`]s (there may be more than one).
 
-* At the end of each transaction, details of all changed objects are published, again through the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
+* At the end of each transaction, details of all changed objects are published, again through the (internal) xref:runtime-services:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
 Only domain objects specified to be published with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] are published. +
 +
 [NOTE]
@@ -188,7 +188,7 @@ Only domain objects specified to be published with xref:applib:ant:DomainObject.
 Note that it's possible for there to be more than one transaction per top-level interaction, by virtue of the xref:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`].
 ====
 
-* Also at the end of each transaction, details of all changed properties are passed to any registered xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s) by way of the (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] domain service.
+* Also at the end of each transaction, details of all changed properties are passed to any registered xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s) by way of the (internal) xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] domain service.
 
 Implementations of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:schema:ROOT:cmd.adoc[`cmd.xsd`] schema.
 This can be converted back into a `CommandDto` using the `CommandDtoUtils` utility class (part of the applib).
diff --git a/core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc
index 7e393d3..d0a170e 100644
--- a/core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `MetricsService` is a request-scoped domain service that hooks into the JDO/DataNucleus ObjectStore to provide a number of counters relating to numbers of object loaded, dirtied etc.
 
-The service is used by the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service (to populate the DTO held by the `Interaction.Execution`) and also by the (internal) xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] domain service (to populate the `PublishedObjects` class.
+The service is used by the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service (to populate the DTO held by the `Interaction.Execution`) and also by the (internal) xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] domain service (to populate the `PublishedObjects` class.
 
 
 == API & Implementation
diff --git a/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
index f0b8d35..a32954d 100644
--- a/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
@@ -122,9 +122,9 @@ To support these use cases several other services are involved:
 
 * the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] is used to obtain the `Interaction` from which the member executions are published.
 
-* the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service is used to obtain the set of objects modified throughout the transaction
+* the (internal) xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service is used to obtain the set of objects modified throughout the transaction
 
-* the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
+* the (internal) xref:runtime-services:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
 
 * the xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the `PublishedObjects` object passed through to the `PublisherService`.
 
diff --git a/core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
index 1bf2a6b..4686823 100644
--- a/core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
@@ -10,7 +10,7 @@ Its intended use is to support multiple versions of a REST API, where the respon
 
 [NOTE]
 ====
-As an alternative to performing content negotiation within the domain classes, the xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] SPI domain services allow the framework to perform the content negotiation responsibility.
+As an alternative to performing content negotiation within the domain classes, the xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] SPI domain services allow the framework to perform the content negotiation responsibility.
 ====
 
 == API & Implementation
diff --git a/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
index 60dbbf4..5cbaedd 100644
--- a/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
@@ -6,9 +6,9 @@ include::_attributes.adoc[]
 
 
 
-The `ContentMappingService` supports the (default implementation of the) xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] 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) xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] enabling the xref:vro:ROOT:about.adoc[RestfulObjects viewer] to represent domain objects in some other format as specified by the HTTP `Accept` header.
 
-See xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] for further discussion.
+See xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] for further discussion.
 
 
 [NOTE]
@@ -74,6 +74,6 @@ public static class Util {
 
 == Related Services
 
-This service is a companion to the default implementation of the xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`].
+This service is a companion to the default implementation of the xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`].
 
 The framework implementations of `ContentMappingService` use the xref:applib:svc:metadata-api/MetamodelService.adoc[`MetaModelService`] to lookup any custom implementations of `CommandDtoProcessor`.
\ No newline at end of file
diff --git a/core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc b/core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc
index 9076b6a..a3c967b 100644
--- a/core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc
@@ -32,7 +32,7 @@ which will run the provided block of code (a `Runnable` or a `Callable`) in a wa
 `UserService#getUser()` will return the specified user (and roles, if specified).
 (If roles are not specified, then the roles of the current user are preserved).
 
-The current user/role reported by the internal xref:fis:ROOT:application-layer/AuthenticationSessionProvider.adoc[`AuthenticationSessionProvider`] will also return the specified user/roles.
+The current user/role reported by the internal xref:runtime-services:ROOT:application-layer/AuthenticationSessionProvider.adoc[`AuthenticationSessionProvider`] will also return the specified user/roles.
 
 [IMPORTANT]
 ====
@@ -69,7 +69,7 @@ protected void execute(final ExecutionContext ec) {
 
 === ACCESS_ALL_ROLE
 
-When `sudo(...)` is called the "effective user" is reported by both xref:applib:svc:core-domain-api/UserService.adoc[`UserService`] and by xref:fis:ROOT:application-layer/AuthenticationSessionProvider.adoc[`AuthenticationSessionProvider`], but does not propagate through to the xref:security:ROOT:about.adoc[Shiro security mechanism].
+When `sudo(...)` is called the "effective user" is reported by both xref:applib:svc:core-domain-api/UserService.adoc[`UserService`] and by xref:runtime-services:ROOT:application-layer/AuthenticationSessionProvider.adoc[`AuthenticationSessionProvider`], but does not propagate through to the xref:security:ROOT:about.adoc[Shiro security mechanism].
 These continue to be evaluated according to the permissions of the current user.
 
 This can be a problem in certain use cases.
diff --git a/core/_adoc-fis/antora.yml b/core/runtime-services/_adoc/antora.yml
similarity index 59%
rename from core/_adoc-fis/antora.yml
rename to core/runtime-services/_adoc/antora.yml
index 269c550..52637fd 100644
--- a/core/_adoc-fis/antora.yml
+++ b/core/runtime-services/_adoc/antora.yml
@@ -1,5 +1,5 @@
-name: fis
-title: "Framework Internal Services"
+name: runtime-services
+title: "Runtime Services"
 version: master
 start_page: ROOT:about.adoc
 nav:
diff --git a/core/_adoc-fis/examples.csv b/core/runtime-services/_adoc/examples.csv
similarity index 100%
rename from core/_adoc-fis/examples.csv
rename to core/runtime-services/_adoc/examples.csv
diff --git a/core/_adoc-fis/modules/ROOT/_attributes.adoc b/core/runtime-services/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/_attributes.adoc
rename to core/runtime-services/_adoc/modules/ROOT/_attributes.adoc
diff --git a/core/_adoc-fis/modules/ROOT/examples/.gitkeep b/core/runtime-services/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/examples/.gitkeep
rename to core/runtime-services/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/accept-json.png b/core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/accept-json.png
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/accept-json.png
rename to core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/accept-json.png
diff --git a/core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/accept-xml.png b/core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/accept-xml.png
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/accept-xml.png
rename to core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/accept-xml.png
diff --git a/core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.png b/core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.png
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.png
rename to core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.png
diff --git a/core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.pptx b/core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.pptx
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.pptx
rename to core/runtime-services/_adoc/modules/ROOT/assets/images/ContentNegotiationService/facade-choices.pptx
diff --git a/core/_adoc-fis/modules/ROOT/assets/images/RepresentationService/service-collaborations.png b/core/runtime-services/_adoc/modules/ROOT/assets/images/RepresentationService/service-collaborations.png
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/images/RepresentationService/service-collaborations.png
rename to core/runtime-services/_adoc/modules/ROOT/assets/images/RepresentationService/service-collaborations.png
diff --git a/core/_adoc-fis/modules/ROOT/assets/images/RepresentationService/service-collaborations.pptx b/core/runtime-services/_adoc/modules/ROOT/assets/images/RepresentationService/service-collaborations.pptx
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/images/RepresentationService/service-collaborations.pptx
rename to core/runtime-services/_adoc/modules/ROOT/assets/images/RepresentationService/service-collaborations.pptx
diff --git a/core/_adoc-fis/modules/ROOT/assets/attachments/.gitkeep b/core/runtime-services/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/assets/attachments/.gitkeep
rename to core/runtime-services/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/core/runtime-services/_adoc/modules/ROOT/nav.adoc b/core/runtime-services/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..d09575f
--- /dev/null
+++ b/core/runtime-services/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1,20 @@
+* xref:runtime-services:ROOT:about.adoc[Framework Internal Services]
+
+** xref:runtime-services:ROOT:presentation-layer.adoc[Presentation Layer]
+*** xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[ContentNegotiationService]
+*** xref:runtime-services:ROOT:presentation-layer/RepresentationService.adoc[RepresentationService]
+
+** xref:runtime-services:ROOT:application-layer.adoc[Application Layer]
+*** xref:runtime-services:ROOT:application-layer/AuthenticationSessionProvider.adoc[AuthenticationSessionProvider]
+*** xref:runtime-services:ROOT:application-layer/CommandDtoServiceInternal.adoc[CommandDtoServiceInternal]
+*** xref:runtime-services:ROOT:application-layer/InteractionDtoServiceInternal.adoc[InteractionDtoServiceInternal]
+
+** xref:runtime-services:ROOT:persistence-layer.adoc[Persistence Layer]
+*** xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[AuditingServiceInternal]
+*** xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[ChangedObjectsServiceInternal]
+*** xref:runtime-services:ROOT:persistence-layer/PersistenceSessionServiceInternal.adoc[PersistenceSessionServiceInternal]
+*** xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[PublishingServiceInternal]
+
+
+
+
diff --git a/core/_adoc-fis/modules/ROOT/pages/_attributes.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/_attributes.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/_attributes.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/presentation-layer/_attributes.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/about.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/about.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/about.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer.adoc
similarity index 90%
rename from core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/application-layer.adoc
index 7c98792..7bdc5b1 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer.adoc
@@ -24,7 +24,7 @@ Impl'n (g: a:)
 
 
 
-|xref:fis:ROOT:application-layer/AuthenticationSessionProvider.adoc[`o.a.i.core.commons.` +
+|xref:runtime-services:ROOT:application-layer/AuthenticationSessionProvider.adoc[`o.a.i.core.commons.` +
 `authentication.` +
 `AuthenticationSessionProvider`]
 |Simply responsible for obtaining the current `AuthenticationSession` (the framework's internal representation of the currently logged-in user).
@@ -34,7 +34,7 @@ Impl'n (g: a:)
 |Default implementation looks up from `IsisSessionFactory` singleton's thread-local
 
 
-|xref:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`o.a.i.c.m.s.command` +
+|xref:runtime-services:ROOT:application-layer/CommandDtoServiceInternal.adoc[`o.a.i.c.m.s.command` +
 `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
@@ -46,7 +46,7 @@ xref:applib:ant:Property.adoc#command[`@Property#commandExecuteIn()`].
 |
 
 
-|xref:fis:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`o.a.i.c.m.s.ixn` +
+|xref:runtime-services:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`o.a.i.c.m.s.ixn` +
 `InteractionDtoServiceInternal`]
 |Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 |`CommandDtoService-` +
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
similarity index 96%
rename from core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
index 0fa67d8..3d8e561 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
@@ -51,5 +51,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:fis:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`InteractionDtoServiceInternal`], used to create the
+xref:runtime-services:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`InteractionDtoServiceInternal`], used to create the
 `MemberExecutionDto` (from the xref:schema:ROOT:ixn.adoc["ixn" schema]).
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
similarity index 95%
rename from core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
index 7de1336..65a4712 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
@@ -38,5 +38,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:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`], used to create the `CommandDto`
+xref:runtime-services:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`], used to create the `CommandDto`
 (from the xref:schema:ROOT:cmd.adoc["cmd" schema]).
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/_attributes.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/application-layer/_attributes.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/persistence-layer/_attributes.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/application-layer/_attributes.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer.adoc
similarity index 77%
rename from core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer.adoc
index 129b5e8..697a02b 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer.adoc
@@ -24,23 +24,23 @@ Impl'n (g: a:)
 
 
 
-|xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`o.a.i.c.r.s.auditing.` +
+|xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[`o.a.i.c.r.s.auditing.` +
 `AuditingServiceInternal`]
 |Co-ordinates between
-xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] and
-xref:fis:ROOT:spi/AuditerService.adoc[`AuditerService`].
+xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] and
+xref:runtime-services:ROOT:spi/AuditerService.adoc[`AuditerService`].
 |concrete class.
 |
 
 
-|xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`o.a.i.c.r.s.changes.` +
+|xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`o.a.i.c.r.s.changes.` +
 `ChangedObjectsServiceInternal`]
 |Request-scoped service holding objects enlisted into current transaction.
 |concrete class.
 |
 
 
-|xref:fis:ROOT:persistence-layer/PersistenceSessionServiceInternal.adoc[`o.a.i.c.m.s.` +
+|xref:runtime-services:ROOT:persistence-layer/PersistenceSessionServiceInternal.adoc[`o.a.i.c.m.s.` +
 `persistsession.` +
 `PersistenceSessionServiceInternal`]
 |Acts as a facade to the underlying JDO persistence session / database connection.  As such it provides methods for
@@ -51,10 +51,10 @@ querying and for persisting objects.
 |
 
 
-|xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`o.a.i.c.m.s.publishing.` +
+|xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[`o.a.i.c.m.s.publishing.` +
 `PublishingServiceInternal`]
 |Co-ordinates between
-xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] and
+xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] and
 xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] and the SPI services, and the
 xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 |`PublishingService-` +
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
similarity index 70%
rename from core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
index 3e2c617..a279f3f 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
@@ -21,7 +21,7 @@ public class AuditingServiceInternal {
 }
 ----
 <1> minor performance optimization as to whether any auditing services are actually enabled; checks to see if any xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] are enabled.
-<2> uses the xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] to obtain details of the changed properties, then call the configured xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
+<2> uses the xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] to obtain details of the changed properties, then call the configured xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
 
 The service implementation is `o.a.i.c.r.s.auditing.AuditingServiceInternal`.
 
@@ -34,7 +34,7 @@ Apache Isis' default implementation of `AuditingServiceInternal` class is automa
 
 == Related Classes
 
-The service delegates between the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service  to the configured xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
+The service delegates between the (internal) xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service  to the configured xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
 If no such service(s) are configured, then _this_ service is in effect a no-op.
 
-The (internal) xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] performs a similar function for the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
+The (internal) xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] performs a similar function for the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
similarity index 80%
rename from core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
index aa3a34e..4c64a4b 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 The `ChangedObjectsServiceInternal` 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:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] and xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`].
+This is then used by various other  (internal) domain services, notably xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] and xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`].
 
 
 
@@ -33,9 +33,9 @@ public class ChangedObjectsServiceInternal {
 ----
 <1> Enlists an object that has just been created, updated or deleted, capturing the pre-modification values of the properties.
 <2> Used by the framework to determine whether to set the "persist hint" on the `Command` object (as per xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).
-<3> Used by xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] to obtain details of and
+<3> Used by xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] to obtain details of and
 counters of all objects changed within the transaction.
-<4> Used by xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] to obtain all pairs of
+<4> Used by xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] to obtain all pairs of
 pre/post values of changed properties
 <5> Called by the framework to for clean up after auditing and publishing has completed.
 
@@ -56,4 +56,4 @@ Apache Isis' default implementation of `ChangedObjectsServiceInternal` class is
 
 == Related Classes
 
-Both the xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] and xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] (internal) domain services query this object.
+Both the xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] and xref:runtime-services:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] (internal) domain services query this object.
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PersistenceSessionServiceInternal.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/PersistenceSessionServiceInternal.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/persistence-layer/PersistenceSessionServiceInternal.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/PersistenceSessionServiceInternal.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
similarity index 79%
rename from core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
index 192ff9c..f706242 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
@@ -7,7 +7,7 @@ The (internal) `PublishingServiceInternal` domain service acts as an internal fa
 
 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:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`]) and filters them to just those objects that are to be published; these are then passed through to any configured `PublisherService` 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:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`]) and filters them to just those objects that are to be published; these are then passed through to any configured `PublisherService` implementations.
 
 
 == SPI and Implementation
@@ -44,6 +44,6 @@ To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.ad
 
 == Related Classes
 
-The service delegates between the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service to the configured xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The service delegates between the (internal) xref:runtime-services:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service to the configured xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
-The (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] performs a similar function for the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
+The (internal) xref:runtime-services:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] performs a similar function for the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/_attributes.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/_attributes.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/application-layer/_attributes.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/persistence-layer/_attributes.adoc
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer.adoc
similarity index 88%
rename from core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer.adoc
index 415f7e2..af5a116 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer.adoc
@@ -24,7 +24,7 @@ Impl'n (g: a:)
 |Notes
 
 
-|xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`o.a.i.v.ro.` +
+|xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`o.a.i.v.ro.` +
 `rendering.service.conneg.` +
 `ContentNegotiationService`]
 |Encodes the algorithm that delegates to any registered xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`]s.
@@ -35,10 +35,10 @@ Impl'n (g: a:)
 |
 
 
-|xref:fis:ROOT:presentation-layer/RepresentationService.adoc[`o.a.i.v.ro.` +
+|xref:runtime-services:ROOT:presentation-layer/RepresentationService.adoc[`o.a.i.v.ro.` +
 `rendering.service.` +
 `RepresentationService`]
-|Generates the representations, delegating to any registered xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`]s.
+|Generates the representations, delegating to any registered xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`]s.
 |`RepresentationService-` +
 `ForRestfulObjects` +
 ``o.a.i.core`` +
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
similarity index 98%
rename from core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
index ec51cc7..abc225c 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
@@ -201,4 +201,4 @@ To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.ad
 
 The default implementation of `ContentNegotiationService` delegates to xref:applib:svc:presentation-layer-spi/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:fis:ROOT:presentation-layer/RepresentationService.adoc[`RepresentationService`].
\ No newline at end of file
+The `ContentNegotiationService` is itself called by the (default implementation of) xref:runtime-services:ROOT:presentation-layer/RepresentationService.adoc[`RepresentationService`].
\ No newline at end of file
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
similarity index 80%
rename from core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
index d6aecd2..b20dae3 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
+++ b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
@@ -8,10 +8,10 @@ include::_attributes.adoc[]
 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:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] which provides a mechanism for altering representations according to the HTTP `Accept` header.
+However, it also delegates to the xref:runtime-services:ROOT:presentation-layer/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:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and the xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
+In all there are three domain services that can influence the representations generated: this service, xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and the xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
 The diagram below shows how these collaborate:
 
 image::RepresentationService/service-collaborations.png[width="700px",link="{imagesdir}/RepresentationService/service-collaborations.png"]
@@ -77,7 +77,7 @@ 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:fis:ROOT:presentation-layer/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:runtime-services:ROOT:presentation-layer/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 xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
@@ -90,4 +90,4 @@ Apache Isis' default implementation of `RepresentationService` service is automa
 
 == Related Services
 
-The default implementation delegates to xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`], whose default implementation may delegate in turn to xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (if present).
\ No newline at end of file
+The default implementation delegates to xref:runtime-services:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`], whose default implementation may delegate in turn to xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (if present).
\ No newline at end of file
diff --git a/core/_adoc-fis/modules/ROOT/pages/_partials/_attributes.adoc b/core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/_attributes.adoc
similarity index 100%
rename from core/_adoc-fis/modules/ROOT/pages/_partials/_attributes.adoc
rename to core/runtime-services/_adoc/modules/ROOT/pages/presentation-layer/_attributes.adoc
diff --git a/core/_adoc-fis/sync_examples.sh b/core/runtime-services/_adoc/sync_examples.sh
similarity index 100%
rename from core/_adoc-fis/sync_examples.sh
rename to core/runtime-services/_adoc/sync_examples.sh
diff --git a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc
index c975cd1..a8ef061 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc
@@ -15,7 +15,7 @@ the `Content-Type` header which the client can use to know how to process the re
 
 * `RepresentationService` +
 +
-The xref:fis:ROOT:presentation-layer/RepresentationService.adoc[`RepresentationService`] is an SPI domain service (plugin-point)
+The xref:runtime-services:ROOT:presentation-layer/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
@@ -27,7 +27,7 @@ is able to handle the request (per the chain of responsibliity pattern).
 * `ContentNegotiationService` +
 +
 As noted above, there can be multiple implementations of the
-xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`], each one handling a particular
+xref:runtime-services:ROOT:presentation-layer/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
diff --git a/site.yml b/site.yml
index 93e5bf6..0184fa5 100644
--- a/site.yml
+++ b/site.yml
@@ -29,7 +29,7 @@ content:
       start_path: antora/components/archdesign
 
     - url: .
-      start_path: core/_adoc-ug
+      start_path: antora/components/userguide
       branches: HEAD
     - url: .
       branches: HEAD
@@ -50,6 +50,10 @@ content:
       branches: HEAD
 
     - url: .
+      start_path: core/runtime-services/_adoc
+      branches: HEAD
+
+    - url: .
       start_path: core/testsupport/_adoc
       branches: HEAD
     - url: .


[isis] 05/09: ISIS-2062: fixes some more bad links from previous stuff being moved.

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

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

commit 779b75221cf5a078c9ce6995c772923534f6e854
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:23:06 2019 +0100

    ISIS-2062: fixes some more bad links from previous stuff being moved.
---
 .../refguide/modules/ROOT/pages/about.adoc         |  4 ++--
 .../refguide/modules/ROOT/partials/nav.adoc        |  2 +-
 antora/components/toc/modules/ROOT/nav.adoc        |  4 ++--
 .../components/toc/modules/ROOT/pages/about.adoc   |  4 ++--
 .../components/toc/modules/ROOT/pages/guides.adoc  |  4 ++--
 .../CommandDtoServiceInternal.adoc                 |  6 +++---
 .../InteractionDtoServiceInternal.adoc             |  6 +++---
 .../fun/pages/building-blocks/identifiers/oid.adoc |  2 +-
 .../view-models/dto/dto-consumers.adoc             |  2 +-
 .../jaxb/referencing-domain-entities.adoc          |  2 +-
 .../_adoc/modules/ant/pages/Discriminator.adoc     |  2 +-
 .../modules/ant/pages/DomainObject/objectType.adoc |  2 +-
 .../ant/pages/DomainService/objectType.adoc        |  2 +-
 .../modules/ant/pages/PersistenceCapable.adoc      |  2 +-
 .../modules/ant/pages/ViewModel/objectType.adoc    |  2 +-
 .../_adoc/modules/ant/pages/XmlRootElement.adoc    |  2 +-
 .../classes/contributee/HasTransactionId.adoc      |  2 +-
 .../modules/cms/pages/methods/reserved/getId.adoc  |  2 +-
 .../CommandExecutorService.adoc                    |  2 +-
 .../application-layer-api/DtoMappingHelper.adoc    |  2 +-
 .../application-layer-api/InteractionContext.adoc  |  2 +-
 .../BackgroundCommandService.adoc                  |  2 +-
 core/applib/_adoc/modules/svc/pages/intro.adoc     |  2 +-
 .../persistence-layer-spi/PublisherService.adoc    |  6 +++---
 .../ContentMappingService.adoc                     |  2 +-
 core/config/_adoc/modules/ROOT/nav.adoc            |  8 +-------
 core/schema/_adoc/modules/ROOT/pages/about.adoc    | 10 +++++-----
 core/schema/_adoc/modules/ROOT/pages/aim.adoc      |  4 ++--
 core/schema/_adoc/modules/ROOT/pages/chg.adoc      |  6 +++---
 core/schema/_adoc/modules/ROOT/pages/cmd.adoc      | 10 +++++-----
 core/schema/_adoc/modules/ROOT/pages/common.adoc   | 10 +++++-----
 core/schema/_adoc/modules/ROOT/pages/ixn.adoc      | 22 +++++++++++-----------
 .../_adoc/modules/mvn/pages/intro.adoc             |  2 +-
 .../_adoc/modules/mvn/pages/xsd.adoc               |  8 ++++----
 34 files changed, 72 insertions(+), 78 deletions(-)

diff --git a/antora/components/refguide/modules/ROOT/pages/about.adoc b/antora/components/refguide/modules/ROOT/pages/about.adoc
index 11c54e5..454deb1 100644
--- a/antora/components/refguide/modules/ROOT/pages/about.adoc
+++ b/antora/components/refguide/modules/ROOT/pages/about.adoc
@@ -5,6 +5,6 @@ The reference guides are:
 
 * xref:applib:ant:about.adoc[Annotations]
 * xref:applib:svc:about.adoc[Domain Services]
-* xref:rg:cfg:about.adoc[Configuration Properties]
-* xref:rg:cms:about.adoc[Classes, Methods and Schema]
+* xref:cfg:ROOT:about.adoc[Configuration Properties]
+* xref:cms:ROOT:about.adoc[Classes, Methods and Schema]
 
diff --git a/antora/components/refguide/modules/ROOT/partials/nav.adoc b/antora/components/refguide/modules/ROOT/partials/nav.adoc
index 5955705..ace2602 100644
--- a/antora/components/refguide/modules/ROOT/partials/nav.adoc
+++ b/antora/components/refguide/modules/ROOT/partials/nav.adoc
@@ -1,6 +1,6 @@
 * xref:rg:ROOT:about.adoc[Reference Guide]
 include::applib:ant:partial$nav.adoc[]
-include::applib:rg:partial$nav.adoc[]
+include::applib:svc:partial$nav.adoc[]
 include::applib:cms:partial$nav.adoc[]
 include::cfg:ROOT:partial$nav.adoc[]
 include::schema:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index bfb82ed..6739c80 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -23,8 +23,8 @@
 
 ** *xref:applib:ant:about.adoc[Annotations]*
 ** *xref:applib:svc:about.adoc[Domain Services]*
-**  xref:rg:cfg:about.adoc[Core Config'n Properties]
-**  xref:rg:cms:about.adoc[Classes, Methods & Schema]
+**  xref:cfg:ROOT:about.adoc[Core Config'n Properties]
+**  xref:cms:ROOT:about.adoc[Classes, Methods & Schema]
 
 * Testing & Prototyping
 
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index c7ddb80..4571d5b 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -35,8 +35,8 @@ _Tutorials:_
 
 * *xref:applib:ant:about.adoc[Annotations]*
 * *xref:applib:svc:about.adoc[Domain Services]*
-*  xref:rg:cfg:about.adoc[Core Config'n Properties]
-*  xref:rg:cms:about.adoc[Classes, Methods & Schema]
+*  xref:cfg:ROOT:about.adoc[Core Config'n Properties]
+*  xref:cms:ROOT:about.adoc[Classes, Methods & Schema]
 
 | *xref:toc:ROOT:guides.adoc#testing-prototyping[Testing & Prototyping]*
 
diff --git a/antora/components/toc/modules/ROOT/pages/guides.adoc b/antora/components/toc/modules/ROOT/pages/guides.adoc
index ceee043..e392228 100644
--- a/antora/components/toc/modules/ROOT/pages/guides.adoc
+++ b/antora/components/toc/modules/ROOT/pages/guides.adoc
@@ -14,8 +14,8 @@ This page lists the user and reference guides available for developers to create
 
 * xref:applib:ant:about.adoc[Annotations]
 * xref:applib:svc:about.adoc[Domain Services]
-* xref:rg:cfg:about.adoc[Core Configuration Properties]
-* xref:rg:cms:about.adoc[Classes, Methods & Schemas]
+* xref:cfg:ROOT:about.adoc[Core Configuration Properties]
+* xref:cms:ROOT:about.adoc[Classes, Methods & Schemas]
 
 == Testing & Prototyping
 
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
index df26928..0fa67d8 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 The `CommandDtoServiceInternal` is responsible for creating an memento of the current action
 invocation or property edit, to store in the `Command` object (from
 xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).  This memento is a JAXB DTO being an instance of the
-xref:xref:schema:ROOT:cmd.adoc["cmd" schema], so can be reified so that its execution can be deferred until later,
+xref:schema:ROOT:cmd.adoc["cmd" schema], so can be reified so that its execution can be deferred until later,
 as a xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[background command].
 
 
@@ -36,7 +36,7 @@ public interface CommandDtoServiceInternal {
             final ObjectAdapter valueAdapter);
 }
 ----
-<1> Returns a JAXB DTO being an instance of the xref:xref:schema:ROOT:cmd.adoc["cmd" schema] (hence convertible to
+<1> Returns a JAXB DTO being an instance of the xref:schema:ROOT:cmd.adoc["cmd" schema] (hence convertible to
 XML) that represents the __intention__ to invoke an action on a target object (or possibly many targets, for
 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
@@ -52,4 +52,4 @@ The SPI is implemented by `o.a.i.c.r.s.command.CommandDtoServiceInternalServiceD
 
 The design of this service is similar to that of
 xref:fis:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`InteractionDtoServiceInternal`], used to create the
-`MemberExecutionDto` (from the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]).
+`MemberExecutionDto` (from the xref:schema:ROOT:ixn.adoc["ixn" schema]).
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
index 9697beb..7de1336 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-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:xref:schema:ROOT:ixn["ixn" schema], and subsequently accessible from the `Interaction` object (per the xref:applib:svc:application-layer-api/InteractionContext.adoc.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:schema:ROOT:ixn["ixn" schema], and subsequently accessible from the `Interaction` object (per the xref:applib:svc:application-layer-api/InteractionContext.adoc.adoc[`InteractionContext`] service).
 
 
 == SPI & Implementation
@@ -29,7 +29,7 @@ public interface InteractionDtoServiceInternal {
 }
 ----
 <1> called by the framework when invoking an action, to create a DTO capturing the details of the action invocation (target, arguments etc).
-<2> called by the framework when editing a property, to create a DTO (for the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) capturing the details of the property edit (target, new value etc).
+<2> called by the framework when editing a property, to create a DTO (for the xref:schema:ROOT:ixn.adoc["ixn" schema]) capturing the details of the property edit (target, new value etc).
 <3> called by the framework to attach the result of an action invocation to the aforementioned DTO.
 
 The service is implemented by `o.a.i.core.runtime.services.ixn.InteractionDtoServiceInternalDefault`.
@@ -39,4 +39,4 @@ The service is implemented by `o.a.i.core.runtime.services.ixn.InteractionDtoSer
 
 The design of this service is similar to that of
 xref:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`], used to create the `CommandDto`
-(from the xref:xref:schema:ROOT:cmd.adoc["cmd" schema]).
+(from the xref:schema:ROOT:cmd.adoc["cmd" schema]).
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
index d2c09f9..51c1e74 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
@@ -38,6 +38,6 @@ These are represented as ``Bookmark``s, obtained from the xref:applib:svc:integr
 Deep links meanwhile can be obtained from the xref:applib:svc:presentation-layer-api/DeepLinkService.adoc[``DeepLinkService`].
 
 OIDs can also be converted into XML format, useful for integration scenarios.
-The xref:xref:schema:ROOT:common.adoc[common schema] XSD defines the `oidDto` complex type for precisely this purpose.
+The xref:schema:ROOT:common.adoc[common schema] XSD defines the `oidDto` complex type for precisely this purpose.
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
index f572ea8..85c3570 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
@@ -22,7 +22,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:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], but which simply publishes instances of xref:xref:schema:ROOT:ixn.adoc[`InteractionDto`] to an ActiveMQ queue.
+It provides an implementation of the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], but which simply publishes instances of xref:schema:ROOT: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/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
index b90430f..f574804 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
@@ -8,7 +8,7 @@ It's quite common for view models to be "backed by" (be projections of) some und
 For example, the `CompareCustomers` view model described xref:ug:fun:programming-model.adoc#jaxb[above] actually references two underlying ``Customer`` entities.
 
 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:xref:schema:ROOT:common.adoc[common schema] which defines the `<oid-dto>` element (and corresponding `OidDto` class): the object's type and its identifier.
+However, the identity of the underlying entity is well defined; Apache Isis defines the xref:schema:ROOT: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:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
 There is only one requirement to make this work: every referenced domain entity must be annotated with xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
diff --git a/core/applib/_adoc/modules/ant/pages/Discriminator.adoc b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
index 833a18e..0c81ebd 100644
--- a/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
@@ -21,7 +21,7 @@ This can appear in several contexts, including:
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas
+* in the serialization of `OidDto` in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
index 8d511c5..0cafd27 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
@@ -13,7 +13,7 @@ This can appear in several contexts, including:
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
 ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas
+* in the serialization of `OidDto` in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
diff --git a/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
index b96cb48..f17a27f 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
@@ -12,7 +12,7 @@ This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
-* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas
+* in the serialization of `OidDto` in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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)
 
diff --git a/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
index 83b38ba..d9cd749 100644
--- a/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
@@ -22,7 +22,7 @@ This can appear in several contexts, including:
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas
+* in the serialization of `OidDto` in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
diff --git a/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
index b3cc055..9d82c90 100644
--- a/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
@@ -13,7 +13,7 @@ This can appear in several contexts, including:
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas
+* in the serialization of `OidDto` in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
 * in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
diff --git a/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
index 2d774df..dd8be2a 100644
--- a/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
+++ b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
@@ -23,7 +23,7 @@ In contrast, if the `@ViewModel` annotation is used then only the state of the p
 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: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:xref:schema:ROOT:common.adoc[common schema]): the object's type and its identifier.
+This adapter converts any references to such domain entities using the `oidDto` complex type (as defined by the Apache Isis xref:schema:ROOT:common.adoc[common schema]): the object's type and its identifier.
 
 [TIP]
 ====
diff --git a/core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc b/core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc
index 3545a9f..8d6080a 100644
--- a/core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc
@@ -43,7 +43,7 @@ public interface RepresentsInteractionMemberExecution extends HasTransactionId {
 }
 ----
 
-Here the (inherited) `getTransactionId()` is intended to be interpreted as an interaction (cf xref:xref:schema:ROOT:ixn[`InteractionDto`]) that has at least one member execution (cf xref:schema:ROOT:about.adoc#ixn/memberExecutionDto.adoc[`memberExecutionDto`]).
+Here the (inherited) `getTransactionId()` is intended to be interpreted as an interaction (cf xref:schema:ROOT:ixn[`InteractionDto`]) that has at least one member execution (cf xref:schema:ROOT:about.adoc#ixn/memberExecutionDto.adoc[`memberExecutionDto`]).
 
 If the interaction (almost certainly an action) calls other actions by way of xref:applib:svc:WrapperFactory.adoc[`WrapperFactory`]), then there may be several member executions, each with a unique sequence number, within the same transaction Id.
 
diff --git a/core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc
index 27bf6aa..7c4b589 100644
--- a/core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc
@@ -11,7 +11,7 @@ This can appear in several contexts, including:
 
 * as the value of `Bookmark#getObjectType()` and in the `toString()` value of `Bookmark`
  (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
-* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas
+* in the serialization of `OidDto` in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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)
 
diff --git a/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
index 491a973..092945a 100644
--- a/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
@@ -9,7 +9,7 @@ include::_attributes.adoc[]
 The `CommandExecutorService` domain service is provides the ability to execute a specified `Command`, optionally running the command with the identity of the user captured in that `Command`.
 
 In fact, the service requires that the implementation of the `Command` being executed implements the `CommandWithDto` sub-interface.
-This allows the xref:xref:schema:ROOT:cmd.adoc[`CommandDto`] memento to be extracted, from which the action can be invoked/property edited.
+This allows the xref:schema:ROOT: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/core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
index 27ed2df..9ec33db 100644
--- a/core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `DtoMappingHelper` converts the domain object's internal identifier into a serializable `OidDto` for use in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas.
+The `DtoMappingHelper` converts the domain object's internal identifier into a serializable `OidDto` for use in the xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas.
 
 
 == API and Usage
diff --git a/core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc
index a7c76b4..3b8093a 100644
--- a/core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc
@@ -127,7 +127,7 @@ turn via the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperF
 execution of this action invocation/property edit.
 <8> The date/time at which this execution started/completed.
 <9> The object returned by the action invocation/property edit, or the exception thrown.  For `void` methods and for actions returning collections, the value will be `null`.
-<10> A DTO (instance of the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) being a serializable representation of this action invocation/property edit.
+<10> A DTO (instance of the xref:schema:ROOT:ixn.adoc["ixn" schema]) being a serializable representation of this action invocation/property edit.
 
 
 
diff --git a/core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
index 657993c..fdbc4f4 100644
--- a/core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
@@ -31,7 +31,7 @@ public interface BackgroundCommandService2 {
 
 }
 ----
-<1> an instance of a xref:xref:schema:ROOT:cmd.adoc[`CommandDto`] capturing the details of the action invocation or property edit to be retained (eg persisted to a database) so that it can be executed at a later time
+<1> an instance of a xref:schema:ROOT:cmd.adoc[`CommandDto`] capturing the details of the action invocation or property edit to be retained (eg persisted to a database) so that it can be executed at a later time
 <2> reference to the parent `Command` requesting the action be performed as a background command.  This allows information such as the initiating user to be obtained.
 
 
diff --git a/core/applib/_adoc/modules/svc/pages/intro.adoc b/core/applib/_adoc/modules/svc/pages/intro.adoc
index 8fd98c9..8678e56 100644
--- a/core/applib/_adoc/modules/svc/pages/intro.adoc
+++ b/core/applib/_adoc/modules/svc/pages/intro.adoc
@@ -190,7 +190,7 @@ Note that it's possible for there to be more than one transaction per top-level
 
 * Also at the end of each transaction, details of all changed properties are passed to any registered xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s) by way of the (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] domain service.
 
-Implementations of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:xref:schema:ROOT:cmd.adoc[`cmd.xsd`] schema.
+Implementations of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:schema:ROOT: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:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] 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/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
index 3eb764b..f0b8d35 100644
--- a/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
@@ -12,7 +12,7 @@ A typical use case is to publish onto a pub/sub bus such as link:http://activemq
 
 An alternative use is for profiling: for each execution (action invocation/property edit) the framework captures metrics of the number of objects loaded or dirtied as the result of that execution.
 If the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to call other objects then the metrics are captured for each sub-execution.
-The framework provides a default implementation, `PublisherServiceLogging`, that will log these execution graphs (in XML form, per the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) to an SLF4J logger.
+The framework provides a default implementation, `PublisherServiceLogging`, that will log these execution graphs (in XML form, per the xref:schema:ROOT:ixn.adoc["ixn" schema]) to an SLF4J logger.
 
 Only actions/properties/domain objects annotated for publishing (using xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`], xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] or xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) are published.
 
@@ -32,7 +32,7 @@ public interface PublisherService {
 <2> to publish a set of changed objects.
 
 Each `Interaction.Execution` has an owning `Interaction`; this is the same object obtainable from xref:applib:svc:spi/InteractionContext.adoc[`InteractionContext`].
-Implementations that publish member executions can use `Interaction.Execution#getDto()` method to return a DTO (as per the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) which can be converted into a serializable XML representation using the `InteractionDtoUtils` utility class.
+Implementations that publish member executions can use `Interaction.Execution#getDto()` method to return a DTO (as per the xref:schema:ROOT:ixn.adoc["ixn" schema]) which can be converted into a serializable XML representation using the `InteractionDtoUtils` utility class.
 The XML can either serialize a single execution, or can be a "deep" serialization of an execution and all sub-executions.
 
 The full API of `PublishedObjects` itself is:
@@ -55,7 +55,7 @@ public interface PublishedObjects extends HasTransactionId, HasUsername {
 <1> inherited from `HasTransactionId`, correlates back to the unique identifier of the transaction in which these objects were changed.
 <2> inherited from `HasUsername`, is the user that initiated the transaction causing these objects to change
 <3> the time that this set of objects was collated (just before the completion of the transaction completes)..
-<4> returns a DTO (as per the xref:xref:schema:ROOT:chg.adoc["chg" schema]) which can be converted into a serializable XML representation can be obtained using the `ChangesDtoUtils` utility class.
+<4> returns a DTO (as per the xref:schema:ROOT:chg.adoc["chg" schema]) which can be converted into a serializable XML representation can be obtained using the `ChangesDtoUtils` utility class.
 <5> metrics as to the number of objects loaded, created, updated or deleted and the number of object properties modified (in other words the "size" or "weight" of the transaction).
 
 
diff --git a/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
index 07ef82b..60dbbf4 100644
--- a/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
@@ -45,7 +45,7 @@ public interface ContentMappingService {
 The framework provides two implementations of this service, both in support of the xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] SPI.
 
 By way of background: implementations of the SPI `CommandService` work with custom implementations of the `Command` interface, typically being persisted to a datastore.
-The `CommandWithDto` interface is a subtype of `Command` for implementations that can be reified into xref:xref:schema:ROOT:cmd.adoc[`CommandDto`] XML instances.
+The `CommandWithDto` interface is a subtype of `Command` for implementations that can be reified into xref:schema:ROOT:cmd.adoc[`CommandDto`] XML instances.
 One implementation that does this is the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module.
 
 For framework implementations of `ContentMappingService` allow domain service actions that return ``CommandDto``s (either singularly or in a list) to be converted into XML documents:
diff --git a/core/config/_adoc/modules/ROOT/nav.adoc b/core/config/_adoc/modules/ROOT/nav.adoc
index cfe4bae..de2a49c 100644
--- a/core/config/_adoc/modules/ROOT/nav.adoc
+++ b/core/config/_adoc/modules/ROOT/nav.adoc
@@ -1,7 +1 @@
-* xref:cfg:ROOT:about.adoc[Core Config Properties]
-
-** xref:cfg:ROOT:deployment-types.adoc[Deployment Types]
-** xref:cfg:ROOT:configuration-files.adoc[Configuration Files]
-** xref:cfg:ROOT:specifying-components.adoc[Specifying Components]
-** xref:cfg:ROOT:configuring-core.adoc[Configuring Core]
-
+include::rg:ROOT:partial$nav.adoc[]
diff --git a/core/schema/_adoc/modules/ROOT/pages/about.adoc b/core/schema/_adoc/modules/ROOT/pages/about.adoc
index c501494..a9624af 100644
--- a/core/schema/_adoc/modules/ROOT/pages/about.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/about.adoc
@@ -7,15 +7,15 @@ Most applications need to integrate with other apps in the enterprise.
 To facilitate such integration scenarios, Apache Isis defines a number of standard XSD schemas:
 
 
-* the xref:xref:schema:ROOT:mml.adoc[metamodel] schema, which allows the internal metamodel to be exported in a canonical fashion
+* the xref:schema:ROOT:mml.adoc[metamodel] schema, which allows the internal metamodel to be exported in a canonical fashion
 
-* the xref:xref:schema:ROOT:cmd.adoc[command] schema, which captures the __intention__ of a user to invoke an action or edit a property
+* the xref:schema:ROOT:cmd.adoc[command] schema, which captures the __intention__ of a user to invoke an action or edit a property
 
-* the xref:xref:schema:ROOT:ixn.adoc[interaction execution] schema, which captures the actual execution of an action invocation/property edit
+* the xref:schema:ROOT:ixn.adoc[interaction execution] schema, which captures the actual execution of an action invocation/property edit
 
-* the xref:xref:schema:ROOT:chg.adoc[changes] schema, which captures which objects have been created, updated or deleted as the result of an execution of an action invocation/property edit
+* the xref:schema:ROOT:chg.adoc[changes] schema, which captures which objects have been created, updated or deleted as the result of an execution of an action invocation/property edit
 
-These each use XSD types defined by the xref:xref:schema:ROOT:common.adoc[common schema] (most notably the `oidDto` complex type which identifies a domain object).
+These each use XSD types defined by the xref:schema:ROOT:common.adoc[common schema] (most notably the `oidDto` complex type which identifies a domain object).
 
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command and publishmq modules use these schemas to reify corresponding applib objects (`Command`, `Interaction.Execution` and `PublishedObjects`), either to persist or publishing using an link:http://activemq.apache.org[Apache ActiveMQ] message queue.
 
diff --git a/core/schema/_adoc/modules/ROOT/pages/aim.adoc b/core/schema/_adoc/modules/ROOT/pages/aim.adoc
index ab19d23..64569ab 100644
--- a/core/schema/_adoc/modules/ROOT/pages/aim.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/aim.adoc
@@ -9,12 +9,12 @@ The "aim" schema previously defined the serialized form (or memento) of an actio
 
 The schema was removed in `1.13.0`, and was replaced by:
 
-* xref:xref:schema:ROOT:ixn.adoc[ixn.xsd]
+* xref:schema:ROOT:ixn.adoc[ixn.xsd]
 
 +
 for action invocations/property edits, and
 
-* xref:xref:schema:ROOT:cmd.adoc[cmd.xsd]
+* xref:schema:ROOT:cmd.adoc[cmd.xsd]
 
 +
 for commands, ie the __intention__ to invoke an action/edit a property.
diff --git a/core/schema/_adoc/modules/ROOT/pages/chg.adoc b/core/schema/_adoc/modules/ROOT/pages/chg.adoc
index 45e22e7..0ab8c67 100644
--- a/core/schema/_adoc/modules/ROOT/pages/chg.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/chg.adoc
@@ -48,12 +48,12 @@ The `changesDto` root element is defined as:
 ----
 <1> the changes schema has a namespace URI of "http://isis.apache.org/schema/chg".
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
-<2> uses complex types defined in the xref:xref:schema:ROOT:common.adoc["common" schema].
+<2> uses complex types defined in the xref:schema:ROOT:common.adoc["common" schema].
 <3> definition of the `changesDto` root element.
 The corresponding XML will use this as its top-level element.
 <4> each instance of this schema indicates the version of the schema it is compatible with (following semantic versioning)
 <5> unique identifier for the transaction in which this interaction is being executed.
-The transaction Id is used to correlate back to the xref:xref:schema:ROOT:command[command] that represented the intention to perform this execution, as well as to the xref:schema:ROOT:about.adoc#interaction.adoc[interaction] that executes said command.
+The transaction Id is used to correlate back to the xref:schema:ROOT:command[command] that represented the intention to perform this execution, as well as to the xref:schema:ROOT:about.adoc#interaction.adoc[interaction] that executes said command.
 <6> uniquely identifies this set of changes within the interaction.
 Can be combined with `transactionId` to create a unique identifier (across all other changed object events and also any interaction executions) of this particular set of changed objects.
 <7> the date/time that the transaction that dirtied this objects completed
@@ -88,4 +88,4 @@ It also captures additional metrics counters:
 <2> the identities of the objects that were, respectively, created, updated or deleted within the transaction.
 <3> the number of objects' properties changed, in total, by the interaction.
 
-The xref:xref:schema:ROOT:ixn.adoc[interaction] schema also provides metrics on the number of objects loaded/changed, but is more granular, each figure relating to a single (sub-)execution within an interaction.
+The xref:schema:ROOT:ixn.adoc[interaction] schema also provides metrics on the number of objects loaded/changed, but is more granular, each figure relating to a single (sub-)execution within an interaction.
diff --git a/core/schema/_adoc/modules/ROOT/pages/cmd.adoc b/core/schema/_adoc/modules/ROOT/pages/cmd.adoc
index 9f8a203..753c554 100644
--- a/core/schema/_adoc/modules/ROOT/pages/cmd.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/cmd.adoc
@@ -62,12 +62,12 @@ The `commandDto` root element is defined as:
 ----
 <1> the command schema has a namespace URI of "http://isis.apache.org/schema/cmd".
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
-<2> uses complex types defined in the xref:xref:schema:ROOT:common.adoc["common" schema].
+<2> uses complex types defined in the xref:schema:ROOT:common.adoc["common" schema].
 <3> definition of the `commandDto` root element.
 The corresponding XML will use this as its top-level element.
 <4> each instance of this schema indicates the version of the schema it is compatible with (following semantic versioning)
 <5> unique identifier for the transaction in which this command is created.
-The transaction Id is used to correlate to the xref:xref:schema:ROOT:interaction[interaction] that executes the command, and to any xref:schema:ROOT:about.adoc#changes.adoc[changes] to domain objects occurring as a side-effect of that interaction.
+The transaction Id is used to correlate to the xref:schema:ROOT:interaction[interaction] that executes the command, and to any xref:schema:ROOT:about.adoc#changes.adoc[changes] to domain objects occurring as a side-effect of that interaction.
 <6> the name of the user who created the command (whose intention it is to invoke the action/edit the property).
 <7> the target object (or objects) to be invoked.
 A bulk action will create multiple commands, each with only a single target.
@@ -127,12 +127,12 @@ Its primary responsibility is simply to identify the member (action or property)
 <3> the "logical" formal identifier (object type, as per `@DomainObject(objectType=)`, + member name) of the member being interacted with (action or property).
 <4> the `interactionType` attribute indicates whether the member is an action or a property.
 <5> the `actionDto` complex type captures the set of parameters (also including the argument values) with which to invoke the action.
-The `paramsDto` type is defined xref:xref:schema:ROOT:cmd/ancillary.adoc[below].
+The `paramsDto` type is defined xref:schema:ROOT:cmd/ancillary.adoc[below].
 <6> the `propertyDto` complex type captures the new value (possibly `null`) to set the property to.
 
 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:xref:schema:ROOT:ixn/memberExecutionDto.adoc[`memberExecutionDto`]
+Note also that there is a corresponding xref:schema:ROOT: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).
 
 
@@ -163,4 +163,4 @@ The schema also defines a small number of supporting types:
 <1> the `paramsDto` is simply the list of parameter/arguments.
 <2> the `paramDto` complex type essentially combines a parameter with its corresponding argument: a named value that has a type.
 It extends the `valueWithTypeDto` complex type taken from the
-xref:xref:schema:ROOT:common.adoc["common"] schema.
+xref:schema:ROOT:common.adoc["common"] schema.
diff --git a/core/schema/_adoc/modules/ROOT/pages/common.adoc b/core/schema/_adoc/modules/ROOT/pages/common.adoc
index f42636d..06eda16 100644
--- a/core/schema/_adoc/modules/ROOT/pages/common.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/common.adoc
@@ -59,7 +59,7 @@ If none is specified, then the fully qualified class name will be used.
 <5> the `bookmarkObjectState` enumerates the possible persistence states of the referenced object.
 In previous versions of the schema the attribute was defaulted to "persistent"; the "persistent" state is assumed if the attribute is omitted.
 <6> Models a list of OIDs.
-This is used by the xref:xref:schema:ROOT:cmd.adoc["cmd" schema] to represent the
+This is used by the xref:schema:ROOT:cmd.adoc["cmd" schema] to represent the
 intention to perform a bulk actions (against a number of selected objects).
 
 In previous versions of the schema the object type and object identifers of `oidDto` were modelled as an element rather than an attribute.
@@ -72,11 +72,11 @@ xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain e
 +
 These references are serialized instead into OIDs
 
-* second, as references to the target of a command representing the _intention_ to invoke an action or edit a property, as described by the xref:xref:schema:ROOT:cmd.adoc["cmd" (command)] schema.
+* second, as references to the target of a command representing the _intention_ to invoke an action or edit a property, as described by the xref:schema:ROOT:cmd.adoc["cmd" (command)] schema.
 +
 They are also used to represent references to any action arguments/properties that take domain object entities/view models.
 
-* third, as references to the target of an interaction capturing the actual execution of an action invocation or property edit, as described by the xref:xref:schema:ROOT:ixn.adoc["ixn" (interaction)] schema.
+* third, as references to the target of an interaction capturing the actual execution of an action invocation or property edit, as described by the xref:schema:ROOT:ixn.adoc["ixn" (interaction)] schema.
 
 
 == `collectionDto` etc
@@ -170,7 +170,7 @@ This is primarily to save storage space if the resultant XML is persisted as a m
 
 == Ancillary types
 
-The common schema also defines a number of ancillary types, used either by the common schema itself (see above) or by the xref:xref:schema:ROOT:cmd["cmd"] and xref:schema:ROOT:about.adoc#ixn.adoc["ixn"] schemas.
+The common schema also defines a number of ancillary types, used either by the common schema itself (see above) or by the xref:schema:ROOT:cmd["cmd"] and xref:schema:ROOT:about.adoc#ixn.adoc["ixn"] schemas.
 
 [source,xml]
 ----
@@ -239,6 +239,6 @@ The common schema also defines a number of ancillary types, used either by the c
 <5> Captures a pair of numbers representing a difference.
 Used for example to capture metrics (number objects modified before and after).
 <6> Whether this command/interaction with a member is invoking an action, or editing a property.
-Used by both the xref:xref:schema:ROOT:cmd["cmd"] and xref:schema:ROOT:about.adoc#ixn.adoc["ixn"] schemas.
+Used by both the xref:schema:ROOT:cmd["cmd"] and xref:schema:ROOT:about.adoc#ixn.adoc["ixn"] schemas.
 <7> Contains a list of OIDs, eg for use in "bulk" actions that apply to multiple targets.
 
diff --git a/core/schema/_adoc/modules/ROOT/pages/ixn.adoc b/core/schema/_adoc/modules/ROOT/pages/ixn.adoc
index 5814942..7ec39ed 100644
--- a/core/schema/_adoc/modules/ROOT/pages/ixn.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/ixn.adoc
@@ -54,12 +54,12 @@ The `interactionDto` root element is defined as:
 ----
 <1> the interaction schema has a namespace URI of "http://isis.apache.org/schema/ixn".
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
-<2> uses complex types defined in the xref:xref:schema:ROOT:common["common" schema] and also the xref:schema:ROOT:about.adoc#cmd.adoc["cmd" schema]
+<2> uses complex types defined in the xref:schema:ROOT:common["common" schema] and also the xref:schema:ROOT:about.adoc#cmd.adoc["cmd" schema]
 <3> definition of the `interactionDto` root element.
 The corresponding XML will use this as its top-level element.
 <4> each instance of this schema indicates the version of the schema it is compatible with (following semantic versioning)
 <5> unique identifier for the transaction in which this interaction is being executed.
-The transaction Id is used to correlate back to the xref:xref:schema:ROOT:command[command] that represented the intention to perform this execution, as well as to any xref:schema:ROOT:about.adoc#changes.adoc[changes] to domain objects that occur as a side-effect of the interaction.
+The transaction Id is used to correlate back to the xref:schema:ROOT:command[command] that represented the intention to perform this execution, as well as to any xref:schema:ROOT:about.adoc#changes.adoc[changes] to domain objects that occur as a side-effect of the interaction.
 <6> the top-level `memberExecutionDto`, defined below, either an action invocation or edit of a property.
 
 The `InteractionDto` DTO corresponding to the `interactionDto` root element can be marshalled to/from XML using the `InteractionDtoUtils` class.
@@ -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:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`] of the "cmd" schema; some elements are copied directly:
+It corresponds to the xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`] of the "cmd" schema; some elements are copied directly:
 
 [source,xml]
 ----
@@ -103,12 +103,12 @@ It corresponds to the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`] of t
 <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:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
-<4> the member identifier; corresponds to `memberIdentifier` of the `member` element of the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
-<5> the _logical_ member identifier; corresponds to `logicalMemberIdentifier` of the `member` element of the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
-<6> the user executing the action invocation/property edit; corresponds to the `user` element of the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<3> the target object, corresponding to one of the elements of the `targets` element of the xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<4> the member identifier; corresponds to `memberIdentifier` of the `member` element of the xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<5> the _logical_ member identifier; corresponds to `logicalMemberIdentifier` of the `member` element of the xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<6> the user executing the action invocation/property edit; corresponds to the `user` element of the xref:schema:ROOT: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:xref:schema:ROOT:ixn/ancillary.adoc[below].
+<8> the set of metrics captured for this execution, of type `metricsDto` defined xref:schema:ROOT:ixn/ancillary.adoc[below].
 <9> if the action invocation/property edit threw an exception, then this is captured here.
 <10> if any sub-actions or sub-edits were performed via the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`], then these are captured in the `childExecutions` element.
 <11> the `interactionType` attribute indicates whether the member is an action or a property (similar attribute exists for the "cmd" schema).
@@ -149,12 +149,12 @@ The `actionInvocationDto` and `propertyEditDto` are the concrete subtypes:
 ----
 <1> the `actionInvocationDto` inherits from `memberExecutionDto`.
 It corresponds to the similar
-xref:xref:schema:ROOT:cmd/memberDto.adoc[`actionDto`] complex type of the "cmd" schema
+xref:schema:ROOT: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:xref:schema:ROOT:cmd/memberDto.adoc[`propertyDto`] complex type of the "cmd" schema
+It corresponds to the similar xref:schema:ROOT: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.
 
@@ -195,4 +195,4 @@ The schema also defines a small number of supporting types:
 Together these metrics give an idea of the "size" of this  particular execution.
 <3> the `exceptionDto` complex type defines a structure for capturing the stack trace of any exception that might occur in the course of invoking an action or editing a property.
 
-The xref:xref:schema:ROOT:changes.adoc[changes] schema also provides metrics on the number of objects loaded/changed, but relates to the entire interaction rather than just one (sub)execution of an interaction.
\ No newline at end of file
+The xref:schema:ROOT:changes.adoc[changes] schema also provides metrics on the number of objects loaded/changed, but relates to the entire interaction rather than just one (sub)execution of an interaction.
\ No newline at end of file
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
index 5c9e280..3c29576 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
@@ -18,7 +18,7 @@ Uses the xref:applib:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to g
 +
 Uses the xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`] to generate XSD schemas from any JAXB-annotated view models/DTOs. +
 +
-This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:xref:schema:ROOT:common.adoc[common schema]).
+This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:schema:ROOT:common.adoc[common schema]).
 
 The `validate` goal is by default bound to the `test` phase, and the `swagger` goal is by default bound to the `package` phase; both are typically of your application's `dom` sub-module.
 The `xsd` goal meanwhile defaults to the `generate-resources` phase, and this is generally used in a completely separate sub-module.
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
index 2beef89..f068889 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
@@ -10,7 +10,7 @@ generate XSD schemas from any JAXB-annotated xref:ug:fun:building-blocks.adoc#vi
 This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen]
 tool, because it uses the framework's support (via
 xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain
-objects into ``OidDto``s (as defined by the Apache Isis xref:xref:schema:ROOT:common.adoc[common schema]).
+objects into ``OidDto``s (as defined by the Apache Isis xref:schema:ROOT:common.adoc[common schema]).
 
 The `xsd` goal defines the following properties:
 
@@ -24,7 +24,7 @@ Defaults to `generated-resources/isis-xsd`
 
 * `separate` - (optional) whether to create separate directories for each JAXB-class. +
 +
-Defaults to `false`.  Most DTO classes will reference one another or the xref:xref:schema:ROOT:common.adoc[common schema].  Normally it's fine to merge all these XSDs together.  This property, if set, results in each a separate directory for each generation of its XSD or XSDs.
+Defaults to `false`.  Most DTO classes will reference one another or the xref:schema:ROOT:common.adoc[common schema].  Normally it's fine to merge all these XSDs together.  This property, if set, results in each a separate directory for each generation of its XSD or XSDs.
 
 * `commonSchemas` - (optional) whether to also generate the isis common schema(s). +
 +
@@ -276,14 +276,14 @@ The `xjc` profile is defined as:
 <1> enabled _unless_ `skip.xjc` property specified
 <2> specifies the directory that the XSD schemas were generated to by the `isis-maven-plugin`
 <3> specify each of the XSDs to be processed
-<4> catalog file indicates the location of the referenced xref:xref:schema:ROOT:common.adoc[common schema] XSDs.
+<4> catalog file indicates the location of the referenced xref:schema:ROOT:common.adoc[common schema] XSDs.
 <5> the `build-helper-maven-plugin` adds the Java source generated by the `xjc` plugin so that it can be compiled and
 packaged as any other code
 <6> the location that the `xjc` plugin generates its source code.
 
 
 The referenced `catalog.xml` file instructs the `xjc` plugin how to resolve referenced schema locations.  Only a
-reference for the Apache Isis xref:xref:schema:ROOT:common.adoc[common schema] is likely to be needed:
+reference for the Apache Isis xref:schema:ROOT:common.adoc[common schema] is likely to be needed:
 
 [source,xml]
 ----


[isis] 02/09: ISIS-2062: wip, moving ant to applib

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

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

commit a9f183dfba656604cfabe2e81ba7636df8bb5fb8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 00:19:34 2019 +0100

    ISIS-2062: wip, moving ant to applib
    
    and refining the 'logical' TOC, as used in security guide
---
 antora/components/toc/modules/ROOT/nav.adoc        |   2 +-
 .../components/toc/modules/ROOT/pages/about.adoc   |   2 +-
 .../components/toc/modules/ROOT/pages/guides.adoc  |   2 +-
 .../pages/what-is-apache-isis/screencasts.adoc     |  26 +++++------
 .../toc/modules/devguide/pages/project-lombok.adoc |   4 +-
 .../modules/ROOT/pages/application-layer.adoc      |   4 +-
 .../PublishingServiceInternal.adoc                 |   8 ++--
 .../ContentNegotiationService.adoc                 |   2 +-
 .../presentation-layer/RepresentationService.adoc  |   2 +-
 core/_adoc-rg/modules/ROOT/nav.adoc                |   2 +-
 core/_adoc-rg/modules/ROOT/pages/about.adoc        |   2 +-
 .../pages/aaa => ROOT/partials}/_attributes.adoc   |   0
 core/_adoc-rg/modules/ROOT/partials/nav.adoc       |  42 +++++++++++++++++
 core/_adoc-rg/modules/ant/nav.adoc                 |  40 -----------------
 .../modules/cfg/pages/configuring-core.adoc        |  50 ++++++++++-----------
 .../modules/cfg/pages/deployment-types.adoc        |   2 +-
 .../pages/classes/AppManifest-bootstrapping.adoc   |   4 +-
 .../pages/classes/AppManifest2-bootstrapping.adoc  |   4 +-
 .../modules/cms/pages/classes/domainevent.adoc     |   2 +-
 .../classes/domainevent/ActionDomainEvent.adoc     |   2 +-
 .../classes/domainevent/CollectionDomainEvent.adoc |   2 +-
 .../classes/domainevent/PropertyDomainEvent.adoc   |   2 +-
 .../_adoc-rg/modules/cms/pages/classes/layout.adoc |  10 ++---
 .../classes/lifecycleevent/ObjectCreatedEvent.adoc |   2 +-
 .../lifecycleevent/ObjectPersistedEvent.adoc       |   2 +-
 .../lifecycleevent/ObjectPersistingEvent.adoc      |   2 +-
 .../lifecycleevent/ObjectRemovingEvent.adoc        |   2 +-
 .../classes/lifecycleevent/ObjectUpdatedEvent.adoc |   2 +-
 .../lifecycleevent/ObjectUpdatingEvent.adoc        |   2 +-
 .../modules/cms/pages/classes/menubars.adoc        |   4 +-
 .../modules/cms/pages/classes/mixins/Dto.adoc      |   2 +-
 core/_adoc-rg/modules/cms/pages/classes/spec.adoc  |   2 +-
 .../cms/pages/classes/super/AbstractService.adoc   |   2 +-
 .../pages/classes/super/AbstractSubscriber.adoc    |   4 +-
 .../modules/cms/pages/classes/uievent.adoc         |   6 +--
 .../cms/pages/classes/uievent/IconUiEvent.adoc     |   2 +-
 .../cms/pages/classes/uievent/TitleUiEvent.adoc    |   2 +-
 core/_adoc-rg/modules/cms/pages/methods.adoc       |   2 +-
 .../modules/cms/pages/methods/prefixes.adoc        |   2 +-
 .../cms/pages/methods/prefixes/autoComplete.adoc   |   4 +-
 .../modules/cms/pages/methods/reserved/getId.adoc  |   2 +-
 .../modules/cms/pages/methods/reserved/layout.adoc |   2 +-
 .../modules/cms/pages/methods/reserved/title.adoc  |   2 +-
 core/_adoc-rg/modules/cms/pages/schema/chg.adoc    |   2 +-
 core/_adoc-rg/modules/cms/pages/schema/common.adoc |   6 +--
 .../ActionInvocationContext.adoc                   |   6 +--
 .../application-layer-api/BackgroundService.adoc   |   8 ++--
 .../application-layer-api/CommandContext.adoc      |  14 +++---
 .../application-layer-api/InteractionContext.adoc  |   4 +-
 .../application-layer-api/MessageService.adoc      |   2 +-
 .../SessionManagementService.adoc                  |   2 +-
 .../application-layer-api/WrapperFactory.adoc      |   2 +-
 .../BackgroundCommandService.adoc                  |   2 +-
 .../application-layer-spi/CommandService.adoc      |   2 +-
 .../HomePageProviderService.adoc                   |   2 +-
 .../modules/svc/pages/bootstrapping-spi.adoc       |   2 +-
 .../bootstrapping-spi/ClassDiscoveryService.adoc   |   4 +-
 .../modules/svc/pages/core-domain-api.adoc         |   6 +--
 .../core-domain-api/ConfigurationService.adoc      |   2 +-
 .../svc/pages/core-domain-api/EventBusService.adoc |  24 +++++-----
 .../svc/pages/core-domain-api/FactoryService.adoc  |   2 +-
 .../svc/pages/core-domain-api/Scratchpad.adoc      |   4 +-
 .../svc/pages/integration-api/BookmarkService.adoc |   4 +-
 .../svc/pages/integration-api/JaxbService.adoc     |   4 +-
 .../svc/pages/integration-api/MementoService.adoc  |   4 +-
 .../pages/integration-api/XmlSnapshotService.adoc  |   2 +-
 core/_adoc-rg/modules/svc/pages/intro.adoc         |  12 ++---
 .../svc/pages/metadata-api/LayoutService.adoc      |   6 +--
 .../svc/pages/metadata-api/MetamodelService.adoc   |   2 +-
 .../svc/pages/metadata-api/SwaggerService.adoc     |   4 +-
 .../persistence-layer-api/IsisJdoSupport.adoc      |   2 +-
 .../persistence-layer-api/QueryResultsCache.adoc   |   4 +-
 .../modules/svc/pages/persistence-layer-spi.adoc   |   2 +-
 .../persistence-layer-spi/AuditerService.adoc      |   2 +-
 .../persistence-layer-spi/PublisherService.adoc    |  10 ++---
 .../AcceptHeaderService.adoc                       |   8 ++--
 .../presentation-layer-api/GuiceBeanProvider.adoc  |   2 +-
 .../ContentMappingService.adoc                     |   4 +-
 .../pages/presentation-layer-spi/GridService.adoc  |   6 +--
 .../presentation-layer-spi/GridSystemService.adoc  |  10 ++---
 .../pages/presentation-layer-spi/HintStore.adoc    |   2 +-
 .../presentation-layer-spi/LocaleProvider.adoc     |   2 +-
 .../presentation-layer-spi/RoutingService.adoc     |   6 +--
 .../TableColumnOrderService.adoc                   |   4 +-
 .../presentation-layer-spi/UrlEncodingService.adoc |   4 +-
 .../btb/pages/hints-and-tips/are-you-sure.adoc     |   2 +-
 .../how-to-handle-void-and-null-results.adoc       |   2 +-
 .../how-to-implement-a-spellchecker.adoc           |   4 +-
 .../replacing-default-service-implementations.adoc |   2 +-
 .../simulating-collections-of-values.adoc          |   2 +-
 core/_adoc-ug/modules/btb/pages/i18n.adoc          |   2 +-
 .../pages/programming-model/custom-validator.adoc  |   2 +-
 .../building-blocks/events/domain-events.adoc      |   2 +-
 .../building-blocks/events/lifecycle-events.adoc   |   4 +-
 .../pages/building-blocks/events/ui-events.adoc    |   4 +-
 .../modules/fun/pages/business-rules/validity.adoc |   2 +-
 .../principles/for-the-long-term.adoc              |   2 +-
 .../modules/fun/pages/drop-downs-and-defaults.adoc |   4 +-
 .../fun/pages/programming-model/actions.adoc       |  28 ++++++------
 .../domain-services/initialization.adoc            |   4 +-
 .../programming-model/domain-services/menu.adoc    |   8 ++--
 .../domain-services/registering.adoc               |   2 +-
 .../domain-services/scoped-services.adoc           |   2 +-
 .../fun/pages/programming-model/mixins.adoc        |   2 +-
 .../pages/programming-model/view-models/dto.adoc   |   2 +-
 .../jaxb/referencing-domain-entities.adoc          |   2 +-
 .../programming-model/view-models/non-jaxb.adoc    |   4 +-
 .../fun/pages/ui-hints/action-icons-and-css.adoc   |  10 ++---
 .../fun/pages/ui-hints/eager-rendering.adoc        |   2 +-
 .../fun/pages/ui-hints/names-and-descriptions.adoc |  20 ++++-----
 .../pages/ui-hints/object-titles-and-icons.adoc    |  12 ++---
 core/applib/_adoc/antora.yml                       |   6 +++
 core/applib/_adoc/examples.csv                     |   1 +
 .../_adoc/modules/ROOT}/_attributes.adoc           |   1 +
 core/applib/_adoc/modules/ROOT/nav.adoc            |   1 +
 .../_adoc/modules/ROOT}/pages/_attributes.adoc     |   0
 .../modules/ROOT}/pages/_partials/_attributes.adoc |   0
 core/applib/_adoc/modules/ROOT/pages/about.adoc    |   7 +++
 .../_adoc}/modules/ant/_attributes.adoc            |   0
 .../_adoc/modules/ant/assets/attachments}/.gitkeep |   0
 .../_adoc}/modules/ant/assets/images/.gitkeep      |   0
 .../ActionLayout}/bookmarking.png                  | Bin
 .../ActionLayout/position-BELOW.png                | Bin
 .../ActionLayout/position-PANEL.png                | Bin
 .../ActionLayout/position-PANEL_DROPDOWN.png       | Bin
 .../ActionLayout/position-RIGHT.png                | Bin
 .../CollectionLayout/sortedby-dependencies.png     | Bin
 .../DomainObjectLayout/bookmarking-nested.png      | Bin
 .../DomainObjectLayout}/bookmarking.png            | Bin
 .../DomainServiceLayout/menuBar-primary.png        | Bin
 .../DomainServiceLayout/menuBar-secondary.png      | Bin
 .../DomainServiceLayout/menuBar-tertiary.png       | Bin
 .../DomainServiceLayout/menuOrder.png              | Bin
 .../reference-annotations/HomePage/HomePage.png    | Bin
 .../PropertyLayout/labelPosition-LEFT.png          | Bin
 .../PropertyLayout/labelPosition-NONE.png          | Bin
 .../PropertyLayout/labelPosition-TOP.png           | Bin
 .../PropertyLayout/labelPosition-boolean-LEFT.png  | Bin
 .../PropertyLayout/labelPosition-boolean-RIGHT.png | Bin
 .../_adoc/modules/ant/examples}/.gitkeep           |   0
 core/applib/_adoc/modules/ant/nav.adoc             |   1 +
 .../_adoc}/modules/ant/pages/Action.adoc           |  20 ++++-----
 .../modules/ant/pages/Action}/_attributes.adoc     |   0
 .../modules/ant/pages/Action/associateWith.adoc    |   0
 .../_adoc}/modules/ant/pages/Action/command.adoc   |   0
 .../modules/ant/pages/Action/domainEvent.adoc      |   4 +-
 .../_adoc}/modules/ant/pages/Action/hidden.adoc    |   8 ++--
 .../_adoc}/modules/ant/pages/Action/invokeOn.adoc  |   0
 .../modules/ant/pages/Action/publishing.adoc       |   4 +-
 .../modules/ant/pages/Action/restrictTo.adoc       |   0
 .../_adoc}/modules/ant/pages/Action/semantics.adoc |   0
 .../_adoc}/modules/ant/pages/Action/typeOf.adoc    |   2 +-
 .../_adoc}/modules/ant/pages/ActionLayout.adoc     |  22 ++++-----
 .../ant/pages/ActionLayout}/_attributes.adoc       |   0
 .../ant/pages/ActionLayout/bookmarking.adoc        |   6 +--
 .../ant/pages/ActionLayout/contributedAs.adoc      |   4 +-
 .../modules/ant/pages/ActionLayout/cssClass.adoc   |  12 ++---
 .../modules/ant/pages/ActionLayout/cssClassFa.adoc |   4 +-
 .../ant/pages/ActionLayout/describedAs.adoc        |  10 ++---
 .../modules/ant/pages/ActionLayout/hidden.adoc     |   8 ++--
 .../modules/ant/pages/ActionLayout/named.adoc      |  12 ++---
 .../modules/ant/pages/ActionLayout/position.adoc   |   2 +-
 .../ant/pages/ActionLayout/promptStyle.adoc        |   0
 .../modules/ant/pages/ActionLayout/redirect.adoc   |   2 +-
 .../_adoc}/modules/ant/pages/Collection.adoc       |  12 ++---
 .../modules/ant/pages/Collection}/_attributes.adoc |   0
 .../modules/ant/pages/Collection/domainEvent.adoc  |   6 +--
 .../modules/ant/pages/Collection/editing.adoc      |   8 ++--
 .../modules/ant/pages/Collection/hidden.adoc       |   6 +--
 .../modules/ant/pages/Collection/notPersisted.adoc |   2 +-
 .../modules/ant/pages/Collection/typeOf.adoc       |   2 +-
 .../_adoc}/modules/ant/pages/CollectionLayout.adoc |  16 +++----
 .../ant/pages/CollectionLayout}/_attributes.adoc   |   0
 .../ant/pages/CollectionLayout/cssClass.adoc       |  10 ++---
 .../ant/pages/CollectionLayout/defaultView.adoc    |   2 +-
 .../ant/pages/CollectionLayout/describedAs.adoc    |   2 +-
 .../modules/ant/pages/CollectionLayout/hidden.adoc |   6 +--
 .../modules/ant/pages/CollectionLayout/named.adoc  |  12 ++---
 .../modules/ant/pages/CollectionLayout/paged.adoc  |   4 +-
 .../ant/pages/CollectionLayout/sortedBy.adoc       |   0
 .../_adoc}/modules/ant/pages/Column.adoc           |   8 ++--
 .../_adoc}/modules/ant/pages/Digits.adoc           |   2 +-
 .../_adoc}/modules/ant/pages/Discriminator.adoc    |   4 +-
 .../_adoc}/modules/ant/pages/DomainObject.adoc     |  28 ++++++------
 .../ant/pages/DomainObject}/_attributes.adoc       |   0
 .../ant/pages/DomainObject/actionDomainEvent.adoc  |   2 +-
 .../modules/ant/pages/DomainObject/auditing.adoc   |   0
 .../pages/DomainObject/autoCompleteRepository.adoc |   8 ++--
 .../modules/ant/pages/DomainObject/bounding.adoc   |   2 +-
 .../pages/DomainObject/collectionDomainEvent.adoc  |   2 +-
 .../pages/DomainObject/createdLifecycleEvent.adoc  |   0
 .../modules/ant/pages/DomainObject/editing.adoc    |   0
 .../pages/DomainObject/loadedLifecycleEvent.adoc   |   0
 .../ant/pages/DomainObject/mixinMethod.adoc        |   0
 .../modules/ant/pages/DomainObject/nature.adoc     |   6 +--
 .../modules/ant/pages/DomainObject/objectType.adoc |   4 +-
 .../DomainObject/persistedLifecycleEvent.adoc      |   0
 .../DomainObject/persistingLifecycleEvent.adoc     |   0
 .../pages/DomainObject/propertyDomainEvent.adoc    |   2 +-
 .../modules/ant/pages/DomainObject/publishing.adoc |   4 +-
 .../pages/DomainObject/removingLifecycleEvent.adoc |   0
 .../pages/DomainObject/updatedLifecycleEvent.adoc  |   0
 .../pages/DomainObject/updatingLifecycleEvent.adoc |   0
 .../modules/ant/pages/DomainObjectLayout.adoc      |  24 +++++-----
 .../ant/pages/DomainObjectLayout}/_attributes.adoc |   0
 .../ant/pages/DomainObjectLayout/bookmarking.adoc  |   4 +-
 .../ant/pages/DomainObjectLayout/cssClass.adoc     |  12 ++---
 .../ant/pages/DomainObjectLayout/cssClassFa.adoc   |   6 +--
 .../pages/DomainObjectLayout/cssClassUiEvent.adoc  |   4 +-
 .../ant/pages/DomainObjectLayout/describedAs.adoc  |  10 ++---
 .../ant/pages/DomainObjectLayout/iconUiEvent.adoc  |   4 +-
 .../pages/DomainObjectLayout/layoutUiEvent.adoc    |   2 +-
 .../ant/pages/DomainObjectLayout/named.adoc        |  14 +++---
 .../ant/pages/DomainObjectLayout/paged.adoc        |   4 +-
 .../ant/pages/DomainObjectLayout/plural.adoc       |   2 +-
 .../ant/pages/DomainObjectLayout/titleUiEvent.adoc |   6 +--
 .../_adoc}/modules/ant/pages/DomainService.adoc    |  10 ++---
 .../ant/pages/DomainService}/_attributes.adoc      |   0
 .../modules/ant/pages/DomainService/nature.adoc    |   4 +-
 .../ant/pages/DomainService/objectType.adoc        |   0
 .../ant/pages/DomainService/repositoryFor.adoc     |   2 +-
 .../modules/ant/pages/DomainServiceLayout.adoc     |   6 +--
 .../pages/DomainServiceLayout}/_attributes.adoc    |   0
 .../ant/pages/DomainServiceLayout/menuBar.adoc     |   2 +-
 .../ant/pages/DomainServiceLayout/menuOrder.adoc   |   4 +-
 .../ant/pages/DomainServiceLayout/named.adoc       |  14 +++---
 .../_adoc}/modules/ant/pages/Facets.adoc           |   0
 .../_adoc}/modules/ant/pages/HomePage.adoc         |   0
 .../_adoc}/modules/ant/pages/Inject.adoc           |   2 +-
 .../modules/ant/pages/MemberGroupLayout.adoc       |   2 +-
 .../_adoc}/modules/ant/pages/MemberOrder.adoc      |   8 ++--
 .../ant/pages/MemberOrder}/_attributes.adoc        |   0
 .../_adoc}/modules/ant/pages/MemberOrder/name.adoc |   0
 .../modules/ant/pages/MemberOrder/sequence.adoc    |   0
 .../_adoc}/modules/ant/pages/MinLength.adoc        |   0
 .../_adoc}/modules/ant/pages/Mixin.adoc            |   4 +-
 .../modules/ant/pages/Mixin}/_attributes.adoc      |   0
 .../_adoc}/modules/ant/pages/Mixin/method.adoc     |   0
 .../_adoc}/modules/ant/pages/NotPersistent.adoc    |   0
 .../_adoc}/modules/ant/pages/Nullable.adoc         |  10 ++---
 .../_adoc}/modules/ant/pages/Parameter.adoc        |  10 ++---
 .../modules/ant/pages/Parameter}/_attributes.adoc  |   0
 .../modules/ant/pages/Parameter/fileAccept.adoc    |   2 +-
 .../modules/ant/pages/Parameter/maxLength.adoc     |   2 +-
 .../modules/ant/pages/Parameter/mustSatisfy.adoc   |   4 +-
 .../modules/ant/pages/Parameter/optionality.adoc   |   4 +-
 .../modules/ant/pages/Parameter/regexPattern.adoc  |   2 +-
 .../_adoc}/modules/ant/pages/ParameterLayout.adoc  |  18 ++++----
 .../ant/pages/ParameterLayout}/_attributes.adoc    |   0
 .../ant/pages/ParameterLayout/cssClass.adoc        |  12 ++---
 .../ant/pages/ParameterLayout/describedAs.adoc     |   2 +-
 .../ant/pages/ParameterLayout/labelPosition.adoc   |   6 +--
 .../ant/pages/ParameterLayout/multiLine.adoc       |   4 +-
 .../modules/ant/pages/ParameterLayout/named.adoc   |  12 ++---
 .../pages/ParameterLayout/renderedAsDayBefore.adoc |   2 +-
 .../ant/pages/ParameterLayout/typicalLength.adoc   |   2 +-
 .../_adoc}/modules/ant/pages/Pattern.adoc          |   0
 .../modules/ant/pages/PersistenceCapable.adoc      |   4 +-
 .../_adoc}/modules/ant/pages/PostConstruct.adoc    |   8 ++--
 .../_adoc}/modules/ant/pages/PreDestroy.adoc       |   6 +--
 .../_adoc}/modules/ant/pages/PrimaryKey.adoc       |   0
 .../_adoc}/modules/ant/pages/Programmatic.adoc     |   0
 .../_adoc}/modules/ant/pages/Property.adoc         |  30 ++++++-------
 .../modules/ant/pages/Property}/_attributes.adoc   |   0
 .../_adoc}/modules/ant/pages/Property/command.adoc |   2 +-
 .../modules/ant/pages/Property/domainEvent.adoc    |   4 +-
 .../_adoc}/modules/ant/pages/Property/editing.adoc |   4 +-
 .../modules/ant/pages/Property/fileAccept.adoc     |   2 +-
 .../_adoc}/modules/ant/pages/Property/hidden.adoc  |   8 ++--
 .../modules/ant/pages/Property/maxLength.adoc      |   4 +-
 .../modules/ant/pages/Property/mustSatisfy.adoc    |   4 +-
 .../modules/ant/pages/Property/notPersisted.adoc   |   2 +-
 .../modules/ant/pages/Property/optionality.adoc    |   8 ++--
 .../modules/ant/pages/Property/projecting.adoc     |   0
 .../modules/ant/pages/Property/publishing.adoc     |   4 +-
 .../modules/ant/pages/Property/regexPattern.adoc   |   2 +-
 .../_adoc}/modules/ant/pages/PropertyLayout.adoc   |  28 ++++++------
 .../ant/pages/PropertyLayout}/_attributes.adoc     |   0
 .../modules/ant/pages/PropertyLayout/cssClass.adoc |  10 ++---
 .../ant/pages/PropertyLayout/describedAs.adoc      |   2 +-
 .../modules/ant/pages/PropertyLayout/hidden.adoc   |   8 ++--
 .../ant/pages/PropertyLayout/labelPosition.adoc    |   4 +-
 .../ant/pages/PropertyLayout/multiLine.adoc        |   4 +-
 .../modules/ant/pages/PropertyLayout/named.adoc    |  12 ++---
 .../ant/pages/PropertyLayout/navigable.adoc        |   0
 .../ant/pages/PropertyLayout/promptStyle.adoc      |   0
 .../pages/PropertyLayout/renderedAsDayBefore.adoc  |   2 +-
 .../ant/pages/PropertyLayout/typicalLength.adoc    |   2 +-
 .../ant/pages/PropertyLayout/unchanging.adoc       |   2 +-
 .../_adoc}/modules/ant/pages/RequestScoped.adoc    |   2 +-
 .../_adoc}/modules/ant/pages/Title.adoc            |   0
 .../_adoc}/modules/ant/pages/ViewModel.adoc        |   6 +--
 .../modules/ant/pages/ViewModel}/_attributes.adoc  |   0
 .../modules/ant/pages/ViewModel/objectType.adoc    |   6 +--
 .../_adoc}/modules/ant/pages/ViewModelLayout.adoc  |  26 +++++------
 .../ant/pages/ViewModelLayout}/_attributes.adoc    |   0
 .../ant/pages/ViewModelLayout/bookmarking.adoc     |   2 +-
 .../ant/pages/ViewModelLayout/cssClass.adoc        |   2 +-
 .../ant/pages/ViewModelLayout/cssClassFa.adoc      |   2 +-
 .../ant/pages/ViewModelLayout/cssClassUiEvent.adoc |   2 +-
 .../ant/pages/ViewModelLayout/describedAs.adoc     |   2 +-
 .../ant/pages/ViewModelLayout/iconUiEvent.adoc     |   2 +-
 .../ant/pages/ViewModelLayout/layoutUiEvent.adoc   |   2 +-
 .../modules/ant/pages/ViewModelLayout/named.adoc   |   2 +-
 .../modules/ant/pages/ViewModelLayout/paged.adoc   |   2 +-
 .../modules/ant/pages/ViewModelLayout/plural.adoc  |   2 +-
 .../ant/pages/ViewModelLayout/titleUiEvent.adoc    |   2 +-
 .../modules/ant/pages/XmlJavaTypeAdapter.adoc      |   0
 .../_adoc}/modules/ant/pages/XmlRootElement.adoc   |   6 +--
 .../_adoc}/modules/ant/pages/_attributes.adoc      |   0
 .../modules/ant}/pages/_partials/_attributes.adoc  |   0
 .../_adoc}/modules/ant/pages/aaa.adoc              |   0
 .../_adoc}/modules/ant/pages/aaa/_attributes.adoc  |   0
 .../_adoc}/modules/ant/pages/aaa/jdo.adoc          |  14 +++---
 .../_adoc}/modules/ant/pages/aaa/jee.adoc          |  22 ++++-----
 .../_adoc}/modules/ant/pages/aaa/main.adoc         |  28 ++++++------
 .../_adoc}/modules/ant/pages/aaa/other.adoc        |  12 ++---
 .../_adoc}/modules/ant/pages/aaa/partial.adoc      |   0
 .../_adoc}/modules/ant/pages/about.adoc            |   0
 core/applib/_adoc/sync_examples.sh                 |  39 ++++++++++++++++
 core/security/api/_adoc/modules/ROOT/nav.adoc      |   6 ++-
 .../api/_adoc/modules/ROOT/partials/nav.adoc       |  21 ---------
 .../api/_adoc/modules/ROOT/partials/nav2.adoc      |   3 ++
 core/security/bypass/_adoc/modules/ROOT/nav.adoc   |   6 ++-
 .../bypass/_adoc/modules/ROOT/partials/nav.adoc    |   3 ++
 core/security/shiro/_adoc/modules/ROOT/nav.adoc    |   6 ++-
 .../shiro/_adoc/modules/ROOT/partials/nav.adoc     |  10 +++++
 .../shiro/_adoc/modules/realm-jdbc/nav.adoc        |   6 ++-
 .../shiro/_adoc/modules/realm-ldap/nav.adoc        |   6 ++-
 .../_adoc/modules/mvn/pages/intro.adoc             |   2 +-
 .../_adoc/modules/mvn/pages/xsd.adoc               |   2 +-
 .../ROOT/pages/configuration-properties.adoc       |  12 ++---
 .../ROOT/pages/features/bookmarked-pages.adoc      |   6 +--
 .../ROOT/pages/layout/annotation-based.adoc        |  26 +++++------
 .../modules/ROOT/pages/layout/file-based.adoc      |   6 +--
 .../pages/menubars-layout/annotation-based.adoc    |   2 +-
 extensions/secman/_adoc/modules/ROOT/nav.adoc      |   6 ++-
 .../secman/_adoc/modules/ROOT/partials/nav.adoc    |   8 ++++
 .../_adoc/modules/encryption-jbcrypt/nav.adoc      |   6 ++-
 extensions/secman/_adoc/modules/model/nav.adoc     |   6 ++-
 .../secman/_adoc/modules/persistence-jdo/nav.adoc  |   6 ++-
 .../secman/_adoc/modules/realm-shiro/nav.adoc      |   6 ++-
 site.yml                                           |   4 ++
 343 files changed, 879 insertions(+), 774 deletions(-)

diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index ba452c3..41c4b2d 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -21,7 +21,7 @@
 
 * Reference Guides
 
-** *xref:rg:ant:about.adoc[Annotations]*
+** *xref:applib:ant:about.adoc[Annotations]*
 ** *xref:rg:svc:about.adoc[Domain Services]*
 **  xref:rg:cfg:about.adoc[Core Config'n Properties]
 **  xref:rg:cms:about.adoc[Classes, Methods & Schema]
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 24c28fd..5b6b337 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -33,7 +33,7 @@ _Tutorials:_
 
 | *xref:toc:ROOT:guides.adoc#reference-guides[Reference Guides]*
 
-* *xref:rg:ant:about.adoc[Annotations]*
+* *xref:applib:ant:about.adoc[Annotations]*
 * *xref:rg:svc:about.adoc[Domain Services]*
 *  xref:rg:cfg:about.adoc[Core Config'n Properties]
 *  xref:rg:cms:about.adoc[Classes, Methods & Schema]
diff --git a/antora/components/toc/modules/ROOT/pages/guides.adoc b/antora/components/toc/modules/ROOT/pages/guides.adoc
index 642ecb8..ddce67f 100644
--- a/antora/components/toc/modules/ROOT/pages/guides.adoc
+++ b/antora/components/toc/modules/ROOT/pages/guides.adoc
@@ -12,7 +12,7 @@ This page lists the user and reference guides available for developers to create
 
 == Reference Guides
 
-* xref:rg:ant:about.adoc[Annotations]
+* xref:applib:ant:about.adoc[Annotations]
 * xref:rg:svc:about.adoc[Domain Services]
 * xref:rg:cfg:about.adoc[Core Configuration Properties]
 * xref:rg:cms:about.adoc[Classes, Methods & Schemas]
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index c07bc17..b38c217 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -139,13 +139,13 @@ include::partial$_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:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotations or using xref:vw:ROOT:layout/file-based.adoc[dynamic (XML) layouts].
+Implementing business logic using a (no-arg) action, and associating with a property using either the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotations or using xref:vw:ROOT:layout/file-based.adoc[dynamic (XML) layouts].
 |x||||||||x||
 
 
 
 |link:https://www.youtube.com/watch?v=0naoVsWppuQ[013^] +
-Invoking (no-arg) action on multiple objects at once (using xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`], and using the xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] domain service for a smoother end-user experience.
+Invoking (no-arg) action on multiple objects at once (using xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`], and using the xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] domain service for a smoother end-user experience.
 |||x||||||x||
 
 
@@ -165,7 +165,7 @@ Using the xref:rg:cms:methods.adoc#title[`title()`], xref:rg:cms:methods.adoc#ic
 
 
 |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:rg:cms:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:rg:ant: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:rg:cms:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] annotation
 ||||||x|||||
 
 
@@ -225,7 +225,7 @@ Demonstrates how the end-user can copy and share URLs for domain objects - inclu
 
 
 |link:https://www.youtube.com/watch?v=a0QQLT_16To[021^] +
-Demonstrates how the end-user can use bookmarks and breadcrumbs within Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer], and how the developer can ensure that xref:rg:ant:DomainObjectLayout.adoc#bookmarking[domain objects] and (xref:rg:ant:Action.adoc#semantics[query-only]) xref:rg:ant:ActionLayout.adoc#bookmarking[actions] can be bookmarked.
+Demonstrates how the end-user can use bookmarks and breadcrumbs within Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer], and how the developer can ensure that xref:applib:ant:DomainObjectLayout.adoc#bookmarking[domain objects] and (xref:applib:ant:Action.adoc#semantics[query-only]) xref:applib:ant:ActionLayout.adoc#bookmarking[actions] can be bookmarked.
 |||x||||||||
 
 
@@ -271,7 +271,7 @@ Using a domain event xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribe
 
 
 |link:https://www.youtube.com/watch?v=qj4bMkQRBUY[026^] +
-Using the xref:rg:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cms: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:applib:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cms: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||
 
 
@@ -284,7 +284,7 @@ Using the xref:rg:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cm
 
 
 |link:https://www.youtube.com/watch?v=yi52Gbd3lmY[027^] +
-How to write an xref:integ-test-support:ROOT:about.adoc[integration test] for an xref:rg:ant:Mixin.adoc[mixin].
+How to write an xref:integ-test-support:ROOT:about.adoc[integration test] for an xref:applib:ant:Mixin.adoc[mixin].
 ||x|||||||||
 
 
@@ -307,7 +307,7 @@ Using link:https://projectlombok.org/[Project Lombok] to remove boilerplate from
 
 
 |link:https://www.youtube.com/watch?v=AXuxULuRtm0[029^] +
-Using the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s paraname8 metamodel extension to remove boilerplate from your domain object (xref:rg:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`] annotation attribute on action parameters).
+Using the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s paraname8 metamodel extension to remove boilerplate from your domain object (xref:applib:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`] annotation attribute on action parameters).
 |||||x|||x|||
 
 
@@ -328,7 +328,7 @@ How to validate action parameters using a supporting xref:rg:cms:methods.adoc#va
 
 
 |link:https://www.youtube.com/watch?v=1Vlzob89pYI[031^] +
-How to validate action parameters using the xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]  and the Specification interface.
+How to validate action parameters using the xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]  and the Specification interface.
 |||||||||x||
 
 
@@ -387,7 +387,7 @@ include::partial$_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:rg:ant: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:applib:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`]).
 ||||x|||||||
 
 
@@ -432,7 +432,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:rg:ant:Digits.adoc[`@Digits`] annotation for action parameters of type ``java.math.BigDecimal``.
+How to use the xref:applib:ant:Digits.adoc[`@Digits`] annotation for action parameters of type ``java.math.BigDecimal``.
 |||||||||x||
 
 
@@ -451,7 +451,7 @@ How to use the supporting xref:rg:cms:methods.adoc#default[`defaultXxx(...)`] su
 
 
 |link:https://www.youtube.com/watch?v=qAJDGxztWIQ[044^] +
-How to use xref:rg:ant: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:applib:ant: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||
 
 
@@ -487,7 +487,7 @@ component.
 
 
 |link:https://www.youtube.com/watch?v=0YoFa44Xr6M[049^] +
-Using the xref:rg:ant:Programmatic.adoc[`@Programmatic`] annotation to exclude methods from a domain object
+Using the xref:applib:ant: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|
@@ -554,7 +554,7 @@ How to rename a menu (on the top-level menubar) as rendered in the  xref:vw:ROOT
 
 
 |link:https://www.youtube.com/watch?v=mgHqRxQrp28[058^] +
-How to rename various elements (collections, title) of the xref:rg:ant:HomePage.adoc[home page] view model,
+How to rename various elements (collections, title) of the xref:applib:ant:HomePage.adoc[home page] view model,
 for an improved initial page.
 ||||||||||x|
 
diff --git a/antora/components/toc/modules/devguide/pages/project-lombok.adoc b/antora/components/toc/modules/devguide/pages/project-lombok.adoc
index d9c11b1..f62c808 100644
--- a/antora/components/toc/modules/devguide/pages/project-lombok.adoc
+++ b/antora/components/toc/modules/devguide/pages/project-lombok.adoc
@@ -33,7 +33,7 @@ private String name;
 Under the covers it is implemented as an annotation processor; it basically hooks into the Java compiler
 so that it can emit additional bytecode (eg for the getter and setter).  See xref:toc:devguide:about.adoc#other-settings-compiler[here] for details of setting up in IntelliJ (Eclipse has very similar support).
 
-Apache Isis supports link:https://projectlombok.org/[Project Lombok], in that the annotations that would normally be placed on the getter (namely xref:rg:ant:Property.adoc[`Property`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]) can be placed on the field instead.
+Apache Isis supports link:https://projectlombok.org/[Project Lombok], in that the annotations that would normally be placed on the getter (namely xref:applib:ant:Property.adoc[`Property`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]) can be placed on the field instead.
 
 
 There are plugins for Lombok for maven; it's just a matter of adding the required dependency.  To compile the code
@@ -44,7 +44,7 @@ Lombok plugin appropriate to that IDE.  See the link:https://projectlombok.org/d
 
 == Future thoughts
 
-In the future we might extend/fork Lombok so that it understands Isis' own annotations (ie xref:rg:ant:Property.adoc[`@Property`] and xref:rg:ant:Collection.adoc[`@Collection`])
+In the future we might extend/fork Lombok so that it understands Isis' own annotations (ie xref:applib:ant:Property.adoc[`@Property`] and xref:applib:ant:Collection.adoc[`@Collection`])
 rather than Lombok's own `@Getter` and `@Setter.
 
 It might also be possible to use Lombok to generate the domain event classes for each member.
\ No newline at end of file
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
index 040cbeb..3687784 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
@@ -38,8 +38,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:rg:ant:Action.adoc#command[`@Action#commandExecuteIn()`] or
-xref:rg:ant:Property.adoc#command[`@Property#commandExecuteIn()`].
+xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`] or
+xref:applib:ant:Property.adoc#command[`@Property#commandExecuteIn()`].
 |`CommandDtoService-` +
 `InternalServiceDefault` +
 ``isis-core-runtime``
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
index 0392998..d1eb456 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
@@ -24,11 +24,11 @@ public class PublishingServiceInternal {
     void publishObjects();                          // <3>
 }
 ----
-<1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+<1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 The `Execution` object will be an instance of `ActionInvocation` (see xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
-<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 The `Execution` object will be an instance of `PropertyEdit` (see xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
-<3> to publish all changed objects that are to be published (with the xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation attribute or equivalent).
+<3> to publish all changed objects that are to be published (with the xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation attribute or equivalent).
 
 
 The service implementation is `o.a.i.c.m.s.publishing.PublishingServiceInternal`.
@@ -39,7 +39,7 @@ The service implementation is `o.a.i.c.m.s.publishing.PublishingServiceInternal`
 
 Apache Isis' default implementation of `PublishingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Related Classes
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
index 00eca40..35fdc19 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
@@ -193,7 +193,7 @@ If the property is not set, then the default depends on the xref:rg:cfg:deployme
 
 Apache Isis' default implementations of `ContentNegotiationService` service are automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
index 11ed149..06f4ae5 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
@@ -79,7 +79,7 @@ ie `MemberReprMode`
 As discussed in the introduction, the framework provides a default implementation, `o.a.i.v.ro.rendering.service.RepresentationServiceContentNegotiator`.
 This delegates to xref:fis:ROOT:presentation-layer/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 xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Registering the Services
diff --git a/core/_adoc-rg/modules/ROOT/nav.adoc b/core/_adoc-rg/modules/ROOT/nav.adoc
index 2815342..69362ed 100644
--- a/core/_adoc-rg/modules/ROOT/nav.adoc
+++ b/core/_adoc-rg/modules/ROOT/nav.adoc
@@ -1,2 +1,2 @@
-* xref:about.adoc[About]
+include::rg:ROOT:partial$nav.adoc[]
 
diff --git a/core/_adoc-rg/modules/ROOT/pages/about.adoc b/core/_adoc-rg/modules/ROOT/pages/about.adoc
index 8c6b4b0..1102da6 100644
--- a/core/_adoc-rg/modules/ROOT/pages/about.adoc
+++ b/core/_adoc-rg/modules/ROOT/pages/about.adoc
@@ -3,7 +3,7 @@ include::_attributes.adoc[]
 
 The reference guides are:
 
-* xref:rg:ant:about.adoc[Annotations]
+* xref:applib:ant:about.adoc[Annotations]
 * xref:rg:svc:about.adoc[Domain Services]
 * xref:rg:cfg:about.adoc[Configuration Properties]
 * xref:rg:cms:about.adoc[Classes, Methods and Schema]
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc b/core/_adoc-rg/modules/ROOT/partials/_attributes.adoc
similarity index 100%
copy from core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc
copy to core/_adoc-rg/modules/ROOT/partials/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/partials/nav.adoc b/core/_adoc-rg/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..0bbf0f3
--- /dev/null
+++ b/core/_adoc-rg/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,42 @@
+* xref:rg:ROOT:about.adoc[Reference Guide]
+
+* xref:applib:ant:about.adoc[Annotations]
+
+** xref:applib:ant:aaa.adoc[Summary]
+** xref:applib:ant:Action.adoc[Action]
+** xref:applib:ant:ActionLayout.adoc[ActionLayout]
+** xref:applib:ant:Collection.adoc[Collection]
+** xref:applib:ant:CollectionLayout.adoc[CollectionLayout]
+** xref:applib:ant:Column.adoc[Column]
+** xref:applib:ant:Digits.adoc[Digits]
+** xref:applib:ant:Discriminator.adoc[Discriminator]
+** xref:applib:ant:DomainObject.adoc[DomainObject]
+** xref:applib:ant:DomainObjectLayout.adoc[DomainObjectLayout]
+** xref:applib:ant:DomainService.adoc[DomainService]
+** xref:applib:ant:DomainServiceLayout.adoc[DomainServiceLayout]
+** xref:applib:ant:Facets.adoc[Facets]
+** xref:applib:ant:HomePage.adoc[HomePage]
+** xref:applib:ant:Inject.adoc[Inject]
+** xref:applib:ant:MemberGroupLayout.adoc[MemberGroupLayout]
+** xref:applib:ant:MemberOrder.adoc[MemberOrder]
+** xref:applib:ant:Mixin.adoc[Mixin]
+** xref:applib:ant:NotPersistent.adoc[NotPersistent.]
+** xref:applib:ant:Nullable.adoc[Nullable]
+** xref:applib:ant:MinLength.adoc[MinLength]
+** xref:applib:ant:Parameter.adoc[Parameter]
+** xref:applib:ant:ParameterLayout.adoc[ParameterLayout]
+** xref:applib:ant:Pattern.adoc[Pattern]
+** xref:applib:ant:PersistenceCapable.adoc[PersistenceCapable]
+** xref:applib:ant:PostConstruct.adoc[PostConstruct]
+** xref:applib:ant:PreDestroy.adoc[PreDestroy]
+** xref:applib:ant:PrimaryKey.adoc[PrimaryKey]
+** xref:applib:ant:Programmatic.adoc[Programmatic]
+** xref:applib:ant:Property.adoc[Property]
+** xref:applib:ant:PropertyLayout.adoc[PropertyLayout]
+** xref:applib:ant:RequestScoped.adoc[RequestScoped]
+** xref:applib:ant:Title.adoc[Title]
+** xref:applib:ant:ViewModel.adoc[ViewModel]
+** xref:applib:ant:ViewModelLayout.adoc[ViewModelLayout]
+** xref:applib:ant:XmlJavaTypeAdapter.adoc[XmlJavaTypeAdapter]
+** xref:applib:ant:XmlRootElement.adoc[XmlRootElement]
+
diff --git a/core/_adoc-rg/modules/ant/nav.adoc b/core/_adoc-rg/modules/ant/nav.adoc
deleted file mode 100644
index 837ee33..0000000
--- a/core/_adoc-rg/modules/ant/nav.adoc
+++ /dev/null
@@ -1,40 +0,0 @@
-* xref:about.adoc[Annotations]
-
-** xref:aaa.adoc[Summary]
-** xref:Action.adoc[Action]
-** xref:ActionLayout.adoc[ActionLayout]
-** xref:Collection.adoc[Collection]
-** xref:CollectionLayout.adoc[CollectionLayout]
-** xref:Column.adoc[Column]
-** xref:Digits.adoc[Digits]
-** xref:Discriminator.adoc[Discriminator]
-** xref:DomainObject.adoc[DomainObject]
-** xref:DomainObjectLayout.adoc[DomainObjectLayout]
-** xref:DomainService.adoc[DomainService]
-** xref:DomainServiceLayout.adoc[DomainServiceLayout]
-** xref:Facets.adoc[Facets]
-** xref:HomePage.adoc[HomePage]
-** xref:Inject.adoc[Inject]
-** xref:MemberGroupLayout.adoc[MemberGroupLayout]
-** xref:MemberOrder.adoc[MemberOrder]
-** xref:Mixin.adoc[Mixin]
-** xref:NotPersistent.adoc[NotPersistent.]
-** xref:Nullable.adoc[Nullable]
-** xref:MinLength.adoc[MinLength]
-** xref:Parameter.adoc[Parameter]
-** xref:ParameterLayout.adoc[ParameterLayout]
-** xref:Pattern.adoc[Pattern]
-** xref:PersistenceCapable.adoc[PersistenceCapable]
-** xref:PostConstruct.adoc[PostConstruct]
-** xref:PreDestroy.adoc[PreDestroy]
-** xref:PrimaryKey.adoc[PrimaryKey]
-** xref:Programmatic.adoc[Programmatic]
-** xref:Property.adoc[Property]
-** xref:PropertyLayout.adoc[PropertyLayout]
-** xref:RequestScoped.adoc[RequestScoped]
-** xref:Title.adoc[Title]
-** xref:ViewModel.adoc[ViewModel]
-** xref:ViewModelLayout.adoc[ViewModelLayout]
-** xref:XmlJavaTypeAdapter.adoc[XmlJavaTypeAdapter]
-** xref:XmlRootElement.adoc[XmlRootElement]
-
diff --git a/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc b/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
index 5d9c10e..4e1ccc9 100644
--- a/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
+++ b/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
@@ -26,21 +26,21 @@ Configuration properties for the JDO/DataNucleus objectstore can be found in the
 `domainEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] is not specified (is set to `ActionDomainEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] is not specified (is set to `ActionDomainEvent.Default`).
 
 |`isis.reflector.facet.` +
 `collectionAnnotation.` +
 `domainEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] is not specified (is set to `CollectionDomainEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] is not specified (is set to `CollectionDomainEvent.Default`).
 
 |`isis.reflector.facet.` +
 `propertyAnnotation.` +
 `domainEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] is not specified (is set to `PropertyDomainEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] is not specified (is set to `PropertyDomainEvent.Default`).
 
 
 
@@ -72,7 +72,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`] is not specified (is set to `ObjectCreatedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`] is not specified (is set to `ObjectCreatedEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -80,7 +80,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#loadedLifecycleEvent[`@DomainObject#loadedLifecycleEvent()`] is not specified (is set to `ObjectLoadedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#loadedLifecycleEvent[`@DomainObject#loadedLifecycleEvent()`] is not specified (is set to `ObjectLoadedEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -88,7 +88,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`] is not specified (is set to `ObjectPersistingEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`] is not specified (is set to `ObjectPersistingEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -96,7 +96,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`] is not specified (is set to `ObjectPersistedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`] is not specified (is set to `ObjectPersistedEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -104,7 +104,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`] is not specified (is set to `ObjectRemovingEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`] is not specified (is set to `ObjectRemovingEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -112,7 +112,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`] is not specified (is set to `ObjectUpdatingEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`] is not specified (is set to `ObjectUpdatingEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -120,7 +120,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`] is not specified (is set to `ObjectUpdatedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`] is not specified (is set to `ObjectUpdatedEvent.Default`).
 
 
 
@@ -150,28 +150,28 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `cssClassUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectLayoutAnnotation.` +
 `iconUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectLayoutAnnotation.` +
 `layoutUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectLayoutAnnotation.` +
 `titleUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
 
 
 |`isis.reflector.facet.` +
@@ -179,28 +179,28 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `cssClassUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#cssClassUiEvent[`@ViewModelLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[`@ViewModelLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `viewModelLayoutAnnotation.` +
 `iconUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#iconUiEvent[`@ViewModelLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#iconUiEvent[`@ViewModelLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `viewModelLayoutAnnotation.` +
 `layoutUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#layoutUiEvent[`@ViewModelLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[`@ViewModelLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `viewModelLayoutAnnotation.` +
 `titleUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#titleUiEvent[`@ViewModelLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[`@ViewModelLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
 
 
 
@@ -241,14 +241,14 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `objects`
 | `all`, `none` +
 (`all`)
-|Whether the changed properties of objects should be automatically audited (for objects annotated with xref:rg:ant:DomainObject.adoc#auditing[`@DomainObject(auditing=Auditing.AS_CONFIGURED)`].
+|Whether the changed properties of objects should be automatically audited (for objects annotated with xref:applib:ant:DomainObject.adoc#auditing[`@DomainObject(auditing=Auditing.AS_CONFIGURED)`].
 
 
 |`isis.services.` +
 `command.` +
 `actions`
 | `all`, `ignoreSafe`, `none` (`none`)
-|Whether action invocations should be automatically reified into commands (for actions annotated with xref:rg:ant:Action.adoc#command[`@Action(command=CommandReification.AS_CONFIGURED)`].  +
+|Whether action invocations should be automatically reified into commands (for actions annotated with xref:applib:ant:Action.adoc#command[`@Action(command=CommandReification.AS_CONFIGURED)`].  +
 
 `ignoreQueryOnly` is an alias for `ignoreSafe`.
 
@@ -256,7 +256,7 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `command.` +
 `properties`
 | `all`, `none` (`none`)
-|(Whether property edits should be automatically reified into commands (for properties annotated with xref:rg:ant:Property.adoc#command[`@Property(command=CommandReification.AS_CONFIGURED)`].  +
+|(Whether property edits should be automatically reified into commands (for properties annotated with xref:applib:ant:Property.adoc#command[`@Property(command=CommandReification.AS_CONFIGURED)`].  +
 
 
 
@@ -287,20 +287,20 @@ If the setting is changed to disabled then this may reduce application start-up
 `objects`
 | `all`, `none` +
 (`all`)
-|Whether changed objects should be automatically published (for objects annotated with xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject(publishing=Publishing.AS_CONFIGURED)`].
+|Whether changed objects should be automatically published (for objects annotated with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject(publishing=Publishing.AS_CONFIGURED)`].
 
 
 |`isis.services.` +
 `publish.` +
 `actions`
 | `all`, `ignoreSafe`, `none` (`none`)
-|Whether actions should be automatically published (for actions annotated with xref:rg:ant:Action.adoc#publishing[`@Action(publishing=Publishing.AS_CONFIGURED)`]. +
+|Whether actions should be automatically published (for actions annotated with xref:applib:ant:Action.adoc#publishing[`@Action(publishing=Publishing.AS_CONFIGURED)`]. +
 
 |`isis.services.` +
 `publish.` +
 `properties`
 | `all`, `none` (`none`)
-|Whether properties should be automatically published (for properties annotated with xref:rg:ant:Action.adoc#publishing[`@Property(publishing=Publishing.AS_CONFIGURED)`]. +
+|Whether properties should be automatically published (for properties annotated with xref:applib:ant:Action.adoc#publishing[`@Property(publishing=Publishing.AS_CONFIGURED)`]. +
 
 
 |`isis.services.` +
@@ -640,7 +640,7 @@ See xref:ug:btb:about.adoc#layout-metadata-reader[Layout Metadata Reader] for mo
 `editing`
 |`true`,`false` +
 (`true`)
-|Whether objects' properties and collections can be edited directly (for objects annotated with xref:rg:ant:DomainObject.adoc#editing[`@DomainObject#editing()`]); see xref:rg:cfg:configuring-core.adoc#isis-objects-editing[below] for further discussion.
+|Whether objects' properties and collections can be edited directly (for objects annotated with xref:applib:ant:DomainObject.adoc#editing[`@DomainObject#editing()`]); see xref:rg:cfg:configuring-core.adoc#isis-objects-editing[below] for further discussion.
 
 |`isis.reflector.` +
 `explicitAnnotations.` +
diff --git a/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc b/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
index 5dd095d..c282f72 100644
--- a/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
+++ b/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
@@ -9,7 +9,7 @@ Apache Isis distinguishes between the application being run in development mode
 
 (For mostly historical reasons) development mode is actually called `SERVER_PROTOTYPE`, while production mode is called just `SERVER`.
 
-When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using xref:rg:ant:Action.adoc#restrictTo[`@Action#restrictTo()`]) will be available.
+When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using xref:applib:ant:Action.adoc#restrictTo[`@Action#restrictTo()`]) will be available.
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc b/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
index 971c610..741576a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
@@ -46,7 +46,7 @@ The following sections describe each of these methods in a little more detail.
 === `getModules()`
 
 The most significant method (the only one which must return a non-`null` value) is the `getModules()` method.
-Each module is identified by a class; the framework simply uses that class' package as the root to search for domain services (annotated with xref:rg:ant:DomainService.adoc[`@DomainService`]) and entities (annotated with xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`]).
+Each module is identified by a class; the framework simply uses that class' package as the root to search for domain services (annotated with xref:applib:ant:DomainService.adoc[`@DomainService`]) and entities (annotated with xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`]).
 Generally there is one such module class per Maven module.
 
 A module class for a domain module might for example be defined as:
@@ -92,7 +92,7 @@ As can be seen, the various (non-ASF) link:https://platform.incode.org[Incode Pl
 === `getAdditionalServices()`
 
 We normally we recommend that services are defined exclusively through `getModules()`, and that this method should therefore return an empty list.
-However, there are certain use cases where the a service must be explicitly specified either because the service required does not (for whatever reason) have a xref:rg:ant:DomainService.adoc[`@DomainService`] annotation.
+However, there are certain use cases where the a service must be explicitly specified either because the service required does not (for whatever reason) have a xref:applib:ant:DomainService.adoc[`@DomainService`] annotation.
 
 For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] allows the policy to evaluate conflicting permissions to be specified by explicitly registering either the `PermissionsEvaluationServiceAllowBeatsVeto` domain service or the `PermissionsEvaluationServiceVetoBeatsAllow` domain service:
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc b/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
index 398e9fb..53c2b49 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
@@ -12,7 +12,7 @@ Each `Module` can express its immediate dependencies (using `Module#getDependenc
 
 Each `Module` can also optionally define additional dependencies on "legacy" modules (that is, those that do not implement `Module`) using `Module#getAdditionalModules()` method.
 These legacy modules simply define a package to search for entities and domain services.
-Legacy domain services can also be explicitly identified using `Module#getAdditionalServices()` method; such services do _not_ need to be annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+Legacy domain services can also be explicitly identified using `Module#getAdditionalServices()` method; such services do _not_ need to be annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 
 A `Module` can also declare additional configuration properties (using either `Module#getIndividualConfigProps()` or `Module#getPropertyResources()`) that should be      contributed to the overall set of configuration properties used to bootstrap the application.
 
@@ -118,7 +118,7 @@ public interface Module {
 The framework calculates a full set of transitive dependencies from this.
 <2> Support for "legacy" modules that do not implement `Module`.
 These are added to the set of packages to scan for entities and domain services.
-<3> Each `Module` can define additional "legacy" domain services that have not been defined within modules,or that have not been annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+<3> Each `Module` can define additional "legacy" domain services that have not been defined within modules,or that have not been annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 <4> Optionally each `Module` can define a xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`] which holds immutable "reference data".
 These are automatically executed whenever running integration tests (but are ignored when bootstrapping the runtime as a webapp.
 <5> Similarly, optionally each `Module` can define a tear-down xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`], used to remove the contents of _all_ entities (both reference data and operational/transactional data).
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
index 2ba02e9..0c5ec34 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 This section catalogues the various domain event classes defined by Apache Isis.
 
 These events are broadcast on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
-The domain events are broadcast as a result of being specified in the xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`],  xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] or xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] attributes.
+The domain events are broadcast as a result of being specified in the xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`],  xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] or xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] attributes.
 
 They are listed in the table below.
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
index 8d81ddb..f4ee48e 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
@@ -41,7 +41,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setReturnValue();                                         // <7>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`]
+<1> The `Default` nested static class is the default for the xref:applib:ant: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.
 <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/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
index b5e4310..e406c39 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
@@ -38,7 +38,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public Of getOf();                                          // <5>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] annotation attribute.
+<1> The `Default` nested static class is the default for the xref:applib:ant: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/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
index ad0c349..2bc42c2 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
@@ -36,7 +36,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public T getNewValue();                                     // <5>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] annotation attribute.
+<1> The `Default` nested static class is the default for the xref:applib:ant: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/core/_adoc-rg/modules/cms/pages/classes/layout.adoc b/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
index 391611e..23dd189 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
@@ -16,7 +16,7 @@ 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:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
+The component classes, meanwhile, are broadly equivalent to the "layout" annotations (xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant: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:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
@@ -37,13 +37,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:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] annotation;
+** `PropertyLayoutData`, corresponding to the xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] annotation;
 
-** `CollectionLayoutData`, corresponding to the xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] annotation;
+** `CollectionLayoutData`, corresponding to the xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] annotation;
 
-** `ActionLayoutData`, corresponding to the xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] annotation;
+** `ActionLayoutData`, corresponding to the xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] annotation;
 
-** `DomainObjectLayoutData`, corresponding to the xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] annotation.
+** `DomainObjectLayoutData`, corresponding to the xref:applib:ant: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.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
index bb4bc62..deac1eb 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryServuce`]'s `#instantiate(...)` method.
 
-`ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`].
+`ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`].
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
index fbf6c5b..4748b52 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
@@ -8,4 +8,4 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first saved (inserted) into the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
 
 
-`ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`].
+`ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`].
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
index db62147..c80e2f8 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
@@ -8,5 +8,5 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be saved (inserted) into the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
 
 
-`ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`].
+`ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
index 3034b2e..3e1e7b4 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
@@ -8,5 +8,5 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be deleted from the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#remove(...)` method.
 
 
-`ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`].
+`ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
index bad0357..7a44902 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
@@ -9,5 +9,5 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.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:rg:svc:core-domain-api/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:rg:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`].
+`ObjectUpdatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
index bef48e0..6e5bd96 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
@@ -10,4 +10,4 @@ Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEv
 This is done either explicitly when the current transaction is flushed using the xref:rg:svc:core-domain-api/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:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`].
\ No newline at end of file
+`ObjectUpdatingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`].
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc b/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
index 6642203..73cda0e 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
@@ -9,7 +9,7 @@ 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:rg:cms: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:rg:ant:ActionLayout.adoc[`@ActionLayout`].
+The component class `ServiceActionLayoutData` defines action metadata, being broadly equivalent to the "layout" annotations for actions, ie xref:applib:ant: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.
 
@@ -56,7 +56,7 @@ The service action class reside in the `org.apache.isis.applib.layout.component`
 * `ServiceActionLayoutData` class
 
 +
-which correspond to the xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] annotation.
+which correspond to the xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] annotation.
 
 This is similar to `ActionLayoutData` (of the xref:rg:cms: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/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc b/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
index 8997c4f..81b8fd9 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 The `Dto` role interface is intended to be implemented by JAXB-annotated view models, that is, annotated using
-xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`].
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`].
 It enables the ability to download the XML and XSD schema of those objects using two xref:ug:fun:building-blocks.adoc#mixins[mixins], `Dto_downloadXml` and `Dto_downloadXsd`.
 
 The interface is just a marker interface (with no members), and is defined as:
diff --git a/core/_adoc-rg/modules/cms/pages/classes/spec.adoc b/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
index 92ff6ad..b942b9a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 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:rg:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`]) and on action parameters (as per xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]).
+Apache Isis will automatically apply such specifications as validation rules on properties (as per xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`]) and on action parameters (as per xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]).
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
index 1f13db4..c6305cf 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
@@ -7,4 +7,4 @@ include::_attributes.adoc[]
 This class provides an implementation of the optional `getId()` method for domain services, based upon the classes name.
 
 In practice there is little to gain from subclassing.
-Instead annotate with xref:rg:ant:DomainService.adoc[`@DomainService`] and specify its xref:rg:ant:DomainService.adoc#objectType[`#objectType()`]
+Instead annotate with xref:applib:ant:DomainService.adoc[`@DomainService`] and specify its xref:applib:ant:DomainService.adoc#objectType[`#objectType()`]
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
index 35dbf66..1c4fa60 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 This is a convenience superclass for creating subscriber domain services on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
-It uses xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] and xref:rg:ant:PreDestroy.adoc[`@PreDestroy`] callbacks to automatically register/unregister itself with the `EventBusService`.
+It uses xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] and xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] callbacks to automatically register/unregister itself with the `EventBusService`.
 
 It's important that subscribers register before any domain services that might emit events on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:rg:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
-The easiest way to do this is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+The easiest way to do this is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 
 As a convenience, the `AbstractSubscriber` specifies this attribute.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc b/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
index 9a50c66..262ea92 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 This section catalogues the various UI event classes defined by Apache Isis.
 
 These events are broadcast on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  The domain
-events are broadcast as a result of being specified in the xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`],  xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] or xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attributes.
+events are broadcast as a result of being specified in the xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`],  xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] or xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attributes.
 
 They are listed in the table below.
 
@@ -29,7 +29,7 @@ Impl'n (g: a:)
 ``isis-core-applib``
 |(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:rg:cms:methods.adoc#title[`title()`] supporting method, or has xref:rg:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
+|Broadcast whenever there is a requirement to obtain a title for a domain object.  Note that if the domain object defines its own xref:rg:cms:methods.adoc#title[`title()`] supporting method, or has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
 
 |xref:rg:cms:classes.adoc#IconUiEvent[`o.a.i.applib.` +
 `IconUiEvent`]
@@ -38,7 +38,7 @@ Impl'n (g: a:)
 ``isis-core-applib``
 |(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:rg:cms:methods.adoc#iconName[`iconName()`] supporting method, or if it has the xref:rg:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
+|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:rg:cms:methods.adoc#iconName[`iconName()`] supporting method, or if it has the xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
 
 |xref:rg:cms:classes.adoc#CssClassUiEvent[`o.a.i.applib.` +
 `CssClassUiEvent`]
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
index 69064b2..d8d822d 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
@@ -18,6 +18,6 @@ The class itself is instantiated automatically by the framework whenever interac
 ====
 If the domain object defines its own xref:rg:cms:methods.adoc#iconName[`iconName()`] supporting method,
 or if it has the
-xref:rg:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then
+xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then
 these will take precedence.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
index 1e561e5..7758459 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
@@ -17,6 +17,6 @@ The class itself is instantiated automatically by the framework whenever interac
 [NOTE]
 ====
 If the domain object defines its own xref:rg:cms:methods.adoc#title[`title()`] supporting method, or
-has xref:rg:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take
+has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take
 precedence.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods.adoc b/core/_adoc-rg/modules/cms/pages/methods.adoc
index b6d5bd8..4f532f5 100644
--- a/core/_adoc-rg/modules/cms/pages/methods.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The Apache Isis metamodel is built up from declaratively (ie, xref:rg:ant:about.adoc[annotations]) and imperatively, from "supporting" methods and other reserved methods.
+The Apache Isis metamodel is built up from declaratively (ie, xref:applib:ant:about.adoc[annotations]) and imperatively, from "supporting" methods and other reserved methods.
 
 This chapter documents the supporting methods and the reserved methods.  It also documents (separately) the reserved methods that act as callback hooks into the persistence lifecycle of domain entities.
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc b/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
index 72c2cf3..efc6b4a 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
@@ -56,7 +56,7 @@ See also xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`]`
 |Y
 |Return a list of matching elements for a property or an action parameter. +
 
-Alternatively, can specify for a class using xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject` +
+Alternatively, can specify for a class using xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject` +
 `#autoCompleteRepository`] +
 
 See also xref:rg:cms:methods.adoc#choices[`choices...()`]
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc b/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
index 05bb052..2b4580a 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
@@ -57,7 +57,7 @@ public class ShoppingCartItem {
 }
 ----
 <1> `product` is the 0th argument of the action.
-<2> the xref:rg:ant:MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
+<2> the xref:applib:ant:MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
 
 
 
@@ -90,6 +90,6 @@ public class ShoppingCartItem {
     ...
 }
 ----
-<1> the xref:rg:ant: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:applib:ant: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/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc b/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
index 8b0fab5..ed8b16e 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
@@ -36,7 +36,7 @@ public class OrderMenu {
 
 The rules of precedence are:
 
-1. xref:rg:ant:DomainService.adoc#objectType[`@DomainService#objectType()`]
+1. xref:applib:ant:DomainService.adoc#objectType[`@DomainService#objectType()`]
 2. xref:rg:cms:methods.adoc#getId[`getId()`]
 3. The fully qualified class name.
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc b/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
index d1f3536..e47b87b 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 Every object has a xref:vw:ROOT:layout.adoc[layout] .
-This may be specified using annotations such as xref:rg:ant:MemberOrder.adoc[`@MemberOrder`], xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and the like,  but it much more commonly specified using an xref:vw:ROOT:layout/file-based .adoc[XML layout file].
+This may be specified using annotations such as xref:applib:ant:MemberOrder.adoc[`@MemberOrder`], xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and the like,  but it much more commonly specified using an xref:vw:ROOT:layout/file-based .adoc[XML layout file].
 
 The `layout` method allows the domain object to specify an alternate layout to its usual layout.
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc b/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
index 311892e..cf2c383 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
@@ -50,7 +50,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:rg:ant:Title.adoc[`@Title`] annotation.
+In many cases, though, you may be able to use the xref:applib:ant:Title.adoc[`@Title`] annotation.
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/schema/chg.adoc b/core/_adoc-rg/modules/cms/pages/schema/chg.adoc
index 62991c3..73f98bc 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/chg.adoc
+++ b/core/_adoc-rg/modules/cms/pages/schema/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:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI, identifying changed objects that are to be
-published (as per xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] or equivalent).
+published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] or equivalent).
 
 
 == `changesDto`
diff --git a/core/_adoc-rg/modules/cms/pages/schema/common.adoc b/core/_adoc-rg/modules/cms/pages/schema/common.adoc
index 11c498e..f7303a9 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/common.adoc
+++ b/core/_adoc-rg/modules/cms/pages/schema/common.adoc
@@ -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:rg:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`] attribute, or to the (JDO)
-xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation (`schema` and/or `table` attributes), or to the (JDO) xref:rg:ant:Discriminator.adoc[`@Discriminator`] annotation.
+<3> the object type, corresponding to either the xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`] attribute, or to the (JDO)
+xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation (`schema` and/or `table` attributes), or to the (JDO) xref: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:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain entities.
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain entities.
 +
 These references are serialized instead into OIDs
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
index 9084ff2..80ca958 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 // TODO: v2: remove this domain service
 
-The `ActionInvocationContext` domain service is a xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] service intended to support the implementation of "bulk" actions annotated with xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`].
+The `ActionInvocationContext` domain service is a xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] service intended to support the implementation of "bulk" actions annotated with xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`].
 This allows the user to select multiple objects in a table and then invoke the same action against all of them.
 
 When an action is invoked in this way, this service allows each object instance to "know where it is" in the collection; it acts a little like an iterator.
@@ -37,13 +37,13 @@ public static class ActionInvocationContext {
     public boolean isLast() { /* ... */ }
 }
 ----
-<1> is xref:rg:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
+<1> is xref:applib:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
 <2> an enum set to either `OBJECT` (if action has been invoked on a single object) or `COLLECTION` (if has been invoked on a collection).
 <3> returns the list of domain objects which are being acted upon
 <4> is the 0-based index to the object being acted upon.
 
 
-To provide an alternative implementation, subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
index 99668dc..24c549b 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
@@ -37,7 +37,7 @@ public interface BackgroundService2 {
 
 The default implementation is provided by core (`o.a.i.core.runtime.services.background.BackgroundServiceDefault`).
 
-To provide an alternative implementation, subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -58,14 +58,14 @@ public void submitCustomerInvoices() {
 
 This will create a bunch of background commands executing the `submitInvoice()` action for each of the customers returned from the customer repository.
 
-The action method invoked must be part of the Apache Isis metamodel, which is to say it must be public, accept only scalar arguments, and must not be annotated with xref:rg:ant:Programmatic.adoc[`@Programmatic`] or `@Ignore`.
-However, it may be annotated with xref:rg:ant:Action.adoc#hidden[`@Action#hidden()`] or xref:rg:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] and it will still be invoked.
+The action method invoked must be part of the Apache Isis metamodel, which is to say it must be public, accept only scalar arguments, and must not be annotated with xref:applib:ant:Programmatic.adoc[`@Programmatic`] or `@Ignore`.
+However, it may be annotated with xref:applib:ant:Action.adoc#hidden[`@Action#hidden()`] or xref:applib:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] and it will still be invoked.
 
 In fact, when invoked by the background service, no business rules (hidden, disabled, validation) are enforced; the action method must take responsibility for performing appropriate validation and error checking.
 
 [TIP]
 ====
-If you want to check business rules, you can use xref:rg:ant:WrapperFactory.adoc[`@WrapperFactory#wrapNoExecute(...)`].
+If you want to check business rules, you can use xref:applib:ant:WrapperFactory.adoc[`@WrapperFactory#wrapNoExecute(...)`].
 ====
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
index f740dbc..a7235f4 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
@@ -6,13 +6,13 @@ include::_attributes.adoc[]
 
 
 
-The `CommandContext` service is a xref:rg:ant:RequestScoped.adoc[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object.
+The `CommandContext` service is a xref:applib:ant:RequestScoped.adoc[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object.
 
 By default, the `Command` is held in-memory only; once the action invocation has completed, the `Command` object is gone.
 The optional supporting xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] enables the implementation of `Command` to be pluggable.
 With an appropriate implementation (eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`]) the `Command` may then be persisted.
 
-The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation.
+The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 There are a number of related use cases:
 
@@ -57,7 +57,7 @@ public class CommandContext {
 This class (`o.a.i.applib.services.CommandContext`) is also the default implementation.
 
 Under normal circumstances there shouldn't be any need to replace this implementation with another.
-But if you do need to for some reason, then subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+But if you do need to for some reason, then subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 The `Command` type referenced above is in fact an interface, defined as:
@@ -116,7 +116,7 @@ xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`]
 
 == Usage
 
-The typical way to indicate that an action should be treated as a command is to annotate it with the xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation.
+The typical way to indicate that an action should be treated as a command is to annotate it with the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 For example:
 
@@ -133,11 +133,11 @@ public class ToDoItem ... {
 ====
 As an alternative to annotating every action with `@Action#command()`, alternatively this can be configured as the default using `isis.services.command.actions` configuration property.
 
-See xref:rg:ant:Action.adoc#command[`@Action#command()`] and xref:rg:cfg:configuring-core.adoc[runtime configuration] for further details.
+See xref:applib:ant:Action.adoc#command[`@Action#command()`] and xref:rg:cfg:configuring-core.adoc[runtime configuration] for further details.
 ====
 
 
-The xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation can also be used to specify whether the command should be performed in the background, for example:
+The xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation can also be used to specify whether the command should be performed in the background, for example:
 
 [source,java]
 ----
@@ -215,7 +215,7 @@ The xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] serv
 The principle distinction is that while `Command` represents the __intention__ to invoke an action or edit a property, the `Interaction` (and contained ``Execution``s) represents the actual execution.
 
 Most of the time a `Command` will be followed directly by its corresponding `Interaction`.
-However, if the `Command` is annotated to run in the background (using xref:rg:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual interaction/execution is deferred until some other mechanism invokes the command (eg as described xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
+However, if the `Command` is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual interaction/execution is deferred until some other mechanism invokes the command (eg as described xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
 The persistence of background commands requires a configured xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]) to actually persist such commands for execution.
 
 ``Command``s - even if executed in the foreground - can also be persisted by way of the xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`].
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
index 37d4ead..14375d0 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
@@ -15,7 +15,7 @@ invoke child actions/properties, then those sub-executions are captured as a cal
 graph structure.
 
 If a bulk action is performed (as per an action annotated using
-xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`]), then this will result in multiple ``Interaction``s, one
+xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`]), then this will result in multiple ``Interaction``s, one
 per selected object (not one `Interaction` with multiple top-level ``Execution``s).
 
 
@@ -194,7 +194,7 @@ The principle distinction is that while `Command` represents the __intention__ t
 the `Interaction` (and contained ``Execution``s) represents the actual execution.
 
 Most of the time a `Command` will be followed directly by its corresponding `Interaction`.  However, if the `Command`
-is annotated to run in the background (using xref:rg:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or
+is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or
 is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual
 interaction/execution is deferred until some other mechanism invokes the command (eg as described
 xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
index 250060d..d0219a7 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
@@ -61,5 +61,5 @@ public Order addItem(Product product, @ParameterLayout(named="Quantity") int qua
 
 The core framework provides a default implementation of this service, `o.a.i.core.runtime.services.message.MessageServiceDefault`.
 
-To use an alternative implementation, implement the `MessageService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `MessageService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
index 2c4baee..6265395 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
@@ -43,5 +43,5 @@ Any domain objects that were created in the "previous" session are no longer usa
 The core framework provides a default implementation of this service (`o.a.i.core.runtime.services.xactn.SessionManagementServiceDefault`).
 
 
-To use an alternative implementation, implement the `SessionManagementService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `SessionManagementService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
index 8b0e1e2..9f259f9 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
@@ -90,7 +90,7 @@ If the object is not wrapped, returns back unchanged.
 
 <8> whether the supplied object has been wrapped.
 
-If the interface is performed (action invoked or property set), then - irrespective of whether the business rules were checked or skipped -  a xref:rg:ant:Action.adoc#command[command]s will be created and pre- and post-execute xref:rg:ant:Action.adoc#domainEvent[domain event]s) will be fired
+If the interface is performed (action invoked or property set), then - irrespective of whether the business rules were checked or skipped -  a xref:applib:ant:Action.adoc#command[command]s will be created and pre- and post-execute xref:applib:ant:Action.adoc#domainEvent[domain event]s) will be fired
 
 
 The service works by returning a "wrapper" around a supplied domain object (using a byte manipulation library such as link:http://www.javassist.org[javassist] or link:https://bytebuddy.net/[byte buddy]), and it is this wrapper that ensures that the hide/disable/validate rules implies by the Apache Isis programming model are enforced.
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
index 9e2a3a4..9feace7 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
@@ -78,7 +78,7 @@ Details of setting up the Quartz scheduler to actually execute these persisted c
 
 Background commands can be created either declaratively or imperatively.
 
-The declarative approach involves annotating an action using xref:rg:ant:Action.adoc#command[`@Action#command()`] with `@Action#commandExecuteIn=CommandExecuteIn.BACKGROUND`.
+The declarative approach involves annotating an action using xref:applib:ant:Action.adoc#command[`@Action#command()`] with `@Action#commandExecuteIn=CommandExecuteIn.BACKGROUND`.
 
 The imperative approach involves explicitly calling the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] from within domain object's action.
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
index 64b1d78..4ed7958 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `CommandService` service supports the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service such that `Command` objects (that reify the invocation of an action/edit of a property on a domain object) can be persisted.
 
-The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation.
+The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 Persistent ``Command``s also support the ability to replicate from a master to a slave instance of an application.
 One use case for this is for regression testing, allowing a production usages to be replayed against a new release candidate, eg after upgrading that application to a new version of Apache Isis itself (or some other dependency).
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
index 446a006..c8fe4d9 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-This service simply provides access to the home page object (if any) that is returned from the domain service action annotated with xref:rg:ant:HomePage.adoc[`@HomePage`].
+This service simply provides access to the home page object (if any) that is returned from the domain service action annotated with xref:applib:ant:HomePage.adoc[`@HomePage`].
 
 It was originally introduced to support the default implementation of xref:rg:svc:presentation-layer-spi/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/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
index a52d0c2..c52742f 100644
--- a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
+++ b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
@@ -23,7 +23,7 @@ It also lists their corresponding implementation, either a default implementatio
 |xref:rg:svc:bootstrapping-spi/ClassDiscoveryService.adoc[`o.a.i.applib.` +
 `services.classdiscovery` +
 `ClassDiscoveryService`]
-|Mechanism to locate (from the classpath) classes with a specific annotation (eg xref:rg:ant:DomainService.adoc[`@DomainService`])
+|Mechanism to locate (from the classpath) classes with a specific annotation (eg xref:applib:ant:DomainService.adoc[`@DomainService`])
 
 Subtypes of a given type (eg xref:rg:cms:classes/super.adoc#FixtureScript[`FixtureScript`]).
 |`ClassDiscoveryService-` +
diff --git a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
index 5c73275..6277a8a 100644
--- a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
@@ -37,11 +37,11 @@ Apache Isis provides an implementation of this service, namely `o.a.i.applib.ser
 
 [NOTE]
 ====
-This implementation is also used to discover domain services annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+This implementation is also used to discover domain services annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 Currently this logic uses the implementation directly, so is not pluggable.
 ====
 
-To use an alternative implementation, implement the `ClassDiscoveryService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `ClassDiscoveryService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
index 91bf88d..3ca4365 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
@@ -49,9 +49,9 @@ It also lists their corresponding implementation, either a default implementatio
 `EventBusService`]
 |Programmatically post events to the internal event bus.  Also used by Apache Isis itself to broadcast domain events:
 
-* xref:rg:ant:Action.adoc#domainEvent[`Action#domainEvent()`]
-* xref:rg:ant:Property.adoc#domainEvent[`Property#domainEvent()`]
-* xref:rg:ant:Collection.adoc#domainEvent[`Collection#domainEvent()`]
+* xref:applib:ant:Action.adoc#domainEvent[`Action#domainEvent()`]
+* xref:applib:ant:Property.adoc#domainEvent[`Property#domainEvent()`]
+* xref:applib:ant:Collection.adoc#domainEvent[`Collection#domainEvent()`]
 |`EventBusServiceJdo` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
index 1e4d0b6..2635ea2 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
@@ -61,7 +61,7 @@ public class TweetService {
 
 [TIP]
 ====
-If you _do_ have a domain service that needs to access Isis properties, then an alternative is to define a xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] method and pass in a `Map<String,String>` of properties.
+If you _do_ have a domain service that needs to access Isis properties, then an alternative is to define a xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] method and pass in a `Map<String,String>` of properties.
 This is provided all properties, not just those with the 'application' prefix.
 ====
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
index 7236b0c..a238916 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `EventBusService` allows domain objects to emit events to subscribing domain services using an in-memory event bus.
 
-The primary user of the service is the framework itself, which automatically emit events for xref:rg:ant:Action.adoc#domainEvent[actions], xref:rg:ant:Property.adoc#domainEvent[properties] and xref:rg:ant:Collection.adoc#domainEvent[collections].
+The primary user of the service is the framework itself, which automatically emit events for xref:applib:ant:Action.adoc#domainEvent[actions], xref:applib:ant:Property.adoc#domainEvent[properties] and xref:applib:ant:Collection.adoc#domainEvent[collections].
 Multiple events are generated:
 
 * when an object member is to be viewed, an event is fired; subscribers can veto (meaning that the member is hidden)
@@ -19,7 +19,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:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] and xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`].
+For more on this topic, see xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] and xref:applib:ant: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.
@@ -42,21 +42,21 @@ public abstract class EventBusService {
 ----
 <1> posts the event onto event bus
 <2> allows domain services to register themselves.
-This should be done in their xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] initialization method (for both singleton and xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
+This should be done in their xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] initialization method (for both singleton and xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
 <3> exists for symmetry, but need never be called (it is in fact deliberately a no-op).
 
 
 
 
-To use an alternative implementation, implement the `EventBusService` domain service and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `EventBusService` domain service and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 
 == Registering Subscribers
 
-The `register()` method should be called in the xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] lifecycle method.
-It is valid and probably the least confusing to readers to also "unregister" in the xref:rg:ant:PreDestroy.adoc[`@PreDestroy`] lifecycle method (though as noted xref:rg:svc:core-domain-api/EventBusService.adoc#api-and-implementation[above], unregistering is actually a no-op).
+The `register()` method should be called in the xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] lifecycle method.
+It is valid and probably the least confusing to readers to also "unregister" in the xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] lifecycle method (though as noted xref:rg:svc:core-domain-api/EventBusService.adoc#api-and-implementation[above], unregistering is actually a no-op).
 
 For example:
 
@@ -85,18 +85,18 @@ public class MySubscribingDomainService {
 <1> subscribers are typically not visible in the UI, so specify a `DOMAIN` nature
 <2> It's important that subscribers register before any domain services that might emit events on the event bus service.
 For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:rg:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
-The easiest way to do this is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
-<3> register with the event bus service during xref:rg:ant:PostConstruct.adoc[`@PostConstruct`]
+The easiest way to do this is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+<3> register with the event bus service during xref:applib:ant:PostConstruct.adoc[`@PostConstruct`]
     initialization
 <4> corresponding deregister when shutting down
 
-This works for both singleton (application-scoped) and also xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
+This works for both singleton (application-scoped) and also xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
 
 
 [TIP]
 ====
 The xref:rg:cms:classes/super.adoc#AbstractSubscriber[`AbstractSubscriber`] class automatically performs this registration.
-As a convenience, it is also annotated with the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+As a convenience, it is also annotated with the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 ====
 
 
@@ -292,7 +292,7 @@ public class LibraryMember {
 ----
 <1> `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:rg:ant: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:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] et al.
 
 
 
@@ -415,4 +415,4 @@ isis.services.eventbus.implementation=com.mycompany.isis.MyEventBusServiceImplem
 
 The `EventBusService` is intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Isis domain object model. The event propagation is strictly in-memory, and there are no restrictions on the object acting as the event (it need not be serializable, for example).
 
-The xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] meanwhile is intended for coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Here the only events published are those that action invocations (for actions annotated with xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`]) and of changed objects (for objects annotated with xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]).
\ No newline at end of file
+The xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] meanwhile is intended for coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Here the only events published are those that action invocations (for actions annotated with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`]) and of changed objects (for objects annotated with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]).
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
index e95ff9a..ce3b7c6 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
@@ -22,7 +22,7 @@ public interface FactoryService {
 ----
 <1> create a new non-persisted domain entity.  Any services will be automatically injected into the service.
 The class must have a no-arg constructor.
-<2> programmatically instantiate a mixin, for example as annotated with xref:rg:ant:Mixin.adoc[`@Mixin`].
+<2> programmatically instantiate a mixin, for example as annotated with xref:applib:ant:Mixin.adoc[`@Mixin`].
 The class must have a 1-arg constructor of the appropriate type.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
index d3c1610..b955541 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
@@ -32,13 +32,13 @@ This class (`o.a.i.applib.services.scratchpad.Scratchpad`) is also the implement
 And, as you can see, the service is just a request-scoped wrapper around a `java.util.Map`.
 
 
-To use an alternative implementation, subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 == Usage
 
-The most common use-case is for xref:rg:ant:Action.adoc#invokeOn[bulk] actions that act upon multiple objects in a list.  The (same) `Scratchpad` service is injected into each of these objects, and so they can use pass information.
+The most common use-case is for xref:applib:ant:Action.adoc#invokeOn[bulk] actions that act upon multiple objects in a list.  The (same) `Scratchpad` service is injected into each of these objects, and so they can use pass information.
 
 For example, the Isis addons example https://github.com/isisaddons/isis-app-todoapp/[todoapp] (not ASF) demonstrates how the `Scratchpad` service can be used to calculate the total cost of the selected `ToDoItem`s:
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
index 895264b..42c5c3c 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
@@ -9,7 +9,7 @@ The `BookmarkService2` domain service (and its various supertypes) provides the
 
 For example, a `Customer` object with:
 
-* an object type of "custmgmt.Customer" (as per xref:rg:ant:DomainObject.adoc#objectType[`DomainObject#objectType()`] or equivalent) , and
+* an object type of "custmgmt.Customer" (as per xref:applib:ant:DomainObject.adoc#objectType[`DomainObject#objectType()`] or equivalent) , and
 * an id=123
 
 could correspond to a `Bookmark` with a string representation of `custmgmt.Customer|123`.
@@ -57,7 +57,7 @@ public interface BookmarkService {
 
 The core framework provides a default implementation of this API, namely `o.a.i.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault`
 
-To use an alternative implementation, implement `BookmarkService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `BookmarkService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
index 1ffb30d..5c3d2ea 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
@@ -43,14 +43,14 @@ a persistent entity).  The enum indicates whether these schemas should be includ
 
 Apache Isis provides a default implementation of the service, `o.a.i.applib.services.jaxb.JaxbServiceDefault`.
 
-To use an alternative implementation, implement `JaxbService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `JaxbService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 == Usage within the framework
 
 This service is provided as a convenience for applications, but is also used internally by the framework to
-xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated
 xref:ug:fun:building-blocks.adoc#view-models[view models].  The functionality to download XML and XSD schemas is also
 exposed in the UI through mixins to xref:rg:cms:classes/mixins.adoc#Dto[`Dto`] interface.
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
index 1a8a63f..634a9f0 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
@@ -53,7 +53,7 @@ In fact, the `MementoServiceDefault` implementation does provide a mechanism to
 not part of the `MementoService` public API. Note also that the encoding method is not pluggable.
 ====
 
-To use an alternative implementation, implement `MementoService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `MementoService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 The types of objects that are supported by the `MementoService` are implementation-specific, but would typically
 include all the usual value types as well as Apache Isis' `Bookmark` class (to represent references to arbitrary
@@ -85,7 +85,7 @@ As noted in the introduction, a common use case for this service is in the imple
 
 [TIP]
 ====
-Rather than implementing `ViewModel`, it's usually easier to annotate your view models with xref:rg:ant:ViewModel.adoc[`@ViewModel`] (or equivalently xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature=EXTERNAL_ENTITY`] or xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature=INMEMORY_ENTITY`].
+Rather than implementing `ViewModel`, it's usually easier to annotate your view models with xref:applib:ant:ViewModel.adoc[`@ViewModel`] (or equivalently xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature=EXTERNAL_ENTITY`] or xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature=INMEMORY_ENTITY`].
 ====
 
 For example, suppose you were implementing a view model that represents an external entity in a SOAP web service.  To access this service the view model needs to store (say) the hostname, port number and an id to the object.
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
index 2c6c714..300d92f 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
@@ -201,7 +201,7 @@ The xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] also provi
 
 The xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] 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:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]) to be used as view models.
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]) to be used as view models.
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/intro.adoc b/core/_adoc-rg/modules/svc/pages/intro.adoc
index 3cdaff6..e8b563e 100644
--- a/core/_adoc-rg/modules/svc/pages/intro.adoc
+++ b/core/_adoc-rg/modules/svc/pages/intro.adoc
@@ -17,7 +17,7 @@ image::reference-services/categories.png[width="600px",link="{imagesdir}/referen
 
 A small number of domain services can be considered both API and SPI; a good example is the xref:rg:svc:integration-api/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/user-registration.adoc[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 The same is true of the xref:rg:svc:core-domain-api/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:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] etc.
+xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] etc.
 
 For these hybrid services we have categorized the service as an "API" service.
 This chapter therefore contains only the strictly SPI services.
@@ -80,7 +80,7 @@ Alternatively the object can be instantiated simply using `new`, then services i
 The framework provides default implementations for many of the domain services.
 This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
 
-The trick is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
+The trick is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute, specifying a low number (typically `"1"`).
 
 [NOTE]
@@ -161,14 +161,14 @@ invoke an action or edit a property; this is held by the `Command` object.
 
 * if a xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured, then this will be used to create the `Command` object implementation, generally so that it can then also be persisted.
 +
-If the action or property is annotated to be invoked in the background (using xref:rg:ant:Action.adoc#command[`@Action#command...()`] or xref:rg:ant:Property.adoc#command[`@Property#command...()`]) then no further work is done.
+If the action or property is annotated to be invoked in the background (using xref:applib:ant:Action.adoc#command[`@Action#command...()`] or xref:applib:ant:Property.adoc#command[`@Property#command...()`]) then no further work is done.
 But, if the action/property is to be executed in the foreground, then the interaction continues.
 
 * the (request-scoped) xref:rg:svc:application-layer-api/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:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] extensively each successive call results in a new child execution.
 
 * before and after each action invocation/property edit, a xref:rg:cms:classes/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:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] or xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`]).
+Whether this occurs depends on whether the action/property has been annotated (using xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] or xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`]).
 +
 (Note that susbcribers will also receive events for vetoing the action/property; this is not shown on the diagram).
 
@@ -176,12 +176,12 @@ Whether this occurs depends on whether the action/property has been annotated (u
 Metrics as to which objects are merely loaded into memory are also captured using the xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] (not shown on the diagram).
 
 * At the end of each execution, details of that execution are published through the (internal)
-xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`]).
+xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`]).
 +
 The internal service delegates in turn to any registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`]s (there may be more than one).
 
 * At the end of each transaction, details of all changed objects are published, again through the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
-Only domain objects specified to be published with xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] are published. +
+Only domain objects specified to be published with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] are published. +
 +
 [NOTE]
 ====
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc b/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
index 804fef4..255d3c7 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
@@ -46,9 +46,9 @@ The table below summarises the choices:
 |===
 
 | Style
-|xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
-| xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]
-| xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+|xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
+| xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]
+| xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
 
 
 |`COMPLETE`
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc b/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
index d6fa2ab..05a5008 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
@@ -69,7 +69,7 @@ public interface MetaModelService {
 <7> returns the `AppManifest` used to bootstrap the application.
 If an `AppManifest2` was used (from a `Module`), then this is also returned (else just `null`).
 
-<8> obtain an implementation of `CommandDtoProcessor` (if any) as per an xref:rg:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:rg:ant:Property.adoc#command[`@Property#commandDtoProcessor()`].
+<8> obtain an implementation of `CommandDtoProcessor` (if any) as per an xref:applib:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:applib:ant:Property.adoc#command[`@Property#commandDtoProcessor()`].
 +
 This is used by the xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc#implementations[framework-provided implementations] of `ContentMappingService`.
 
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc b/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
index ac72a73..17a3738 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
@@ -37,9 +37,9 @@ public interface SwaggerService {
 }
 ----
 <1> Generate a Swagger spec for use by third-party clients, ie public use.  This specification is restricted only to
-xref:ug:fun:building-blocks.adoc#view-models[view model]s and to domain services with a xref:rg:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY`.
+xref:ug:fun:building-blocks.adoc#view-models[view model]s and to domain services with a xref:applib:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY`.
 <2> Generate a Swagger spec for use only by internally-managed clients, ie private internal use.  This specification includes domain entities and all menu domain services (as well as any view models).
-<3> Generate a Swagger spec that is the same as private case (above), but also including any xref:rg:ant:Action.adoc#restrictTo[prototype] actions.
+<3> Generate a Swagger spec that is the same as private case (above), but also including any xref:applib:ant:Action.adoc#restrictTo[prototype] actions.
 <4> Swagger specs can be written either in JSON or YAML format.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
index ce8856f..034121e 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
@@ -62,7 +62,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:rg: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: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.
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
index 191803b..5481992 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
@@ -57,7 +57,7 @@ public class QueryResultsCache {
 
 This class (`o.a.i.applib.services.queryresultscache.QueryResultsCache`) is also the implementation.
 
-To use an alternative implementation, subclass `QueryResultsCache` and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, subclass `QueryResultsCache` and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -112,4 +112,4 @@ This refactoring will be worthwhile provided that enough of the orders being pro
 
 == Related Services
 
-The xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service is also intended for actions that are called many times, allowing arbitrary information to be shared between them. Those methods could be called from some outer loop in domain code, or by the framework itself if the action invoked has the xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`] annotation attribute set to `OBJECT_AND_COLLECTION` or `COLLECTION_ONLY`.
\ No newline at end of file
+The xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service is also intended for actions that are called many times, allowing arbitrary information to be shared between them. Those methods could be called from some outer loop in domain code, or by the framework itself if the action invoked has the xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`] annotation attribute set to `OBJECT_AND_COLLECTION` or `COLLECTION_ONLY`.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
index 106c7e1..0d39cf1 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
@@ -76,7 +76,7 @@ Key:
 * `o.a.i.c.r.s` is an abbreviation for `org.apache.isis.core.runtime.services`
 
 
-Where an implementation is available (on the classpath) then it is always registered automatically (that is, they are all (with one exception) annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+Where an implementation is available (on the classpath) then it is always registered automatically (that is, they are all (with one exception) annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
index 00b7177..66663ff 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
@@ -71,7 +71,7 @@ log4j.additivity.org.apache.isis.applib.services.audit.AuditerServiceLogging=fal
 
 == Usage
 
-The typical way to indicate that an object should be audited is to annotate it with the xref:rg:ant:DomainObject.adoc#auditing[`@DomainObject#auditing()`] annotation.
+The typical way to indicate that an object should be audited is to annotate it with the xref:applib:ant:DomainObject.adoc#auditing[`@DomainObject#auditing()`] annotation.
 
 
 == Alternative Implementations
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
index 69c6d07..0fbabc3 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
@@ -14,7 +14,7 @@ An alternative use is for profiling: for each execution (action invocation/prope
 If the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to call other objects then the metrics are captured for each sub-execution.
 The framework provides a default implementation, `PublisherServiceLogging`, that will log these execution graphs (in XML form, per the xref:rg:cms:schema.adoc#ixn["ixn" schema]) to an SLF4J logger.
 
-Only actions/properties/domain objects annotated for publishing (using xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`], xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`] or xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) are published.
+Only actions/properties/domain objects annotated for publishing (using xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`], xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] or xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) are published.
 
 
 == SPI
@@ -85,9 +85,9 @@ log4j.additivity.org.apache.isis.applib.services.publish.PublisherServiceLogging
 
 To indicate that:
 
-* an action invocation should be published, annotate it with the xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`] annotation.
-* an property edit should be published, annotate it with the xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`] annotation.
-* a changed object should be published is to annotate it with the xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation.
+* an action invocation should be published, annotate it with the xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] annotation.
+* an property edit should be published, annotate it with the xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] annotation.
+* a changed object should be published is to annotate it with the xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation.
 
 
 
@@ -124,7 +124,7 @@ To support these use cases several other services are involved:
 
 * the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service is used to obtain the set of objects modified throughout the transaction
 
-* the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
+* the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
 
 * the xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the `PublishedObjects` object passed through to the `PublisherService`.
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
index 9456c98..de5dc29 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `AcceptHeaderService` domain service is a xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] service that simply exposes the HTTP `Accept` header to the domain.
+The `AcceptHeaderService` domain service is a xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] service that simply exposes the HTTP `Accept` header to the domain.
 Its intended use is to support multiple versions of a REST API, where the responsibility for content negotiation (determining which version of the REST API is to be used) is managed by logic in the domain objects themselves.
 
 [NOTE]
@@ -26,7 +26,7 @@ public interface AcceptHeaderService {
     List<MediaType> getAcceptableMediaTypes();      // <2>
 }
 ----
-<1> is xref:rg:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
+<1> is xref:applib:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
 <2> returns the list of media types found in the HTTP Accept header.
 
 
@@ -37,7 +37,7 @@ The default implementation is provided by `o.a.i.v.ro.rendering.service.accepthe
 Note that the service will only return a list when the request is initiated through the xref:vro:ROOT:about.adoc[Restful Objects viewer].  Otherwise the service will return `null`.
 ====
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -49,7 +49,7 @@ The diagram below illustrated this:
 
 image::reference-services-api/acceptheaderservice.png[width="700px",link="{imagesdir}/reference-services-api/acceptheaderservice.png"]
 
-The REST request is submitted to a domain service with a xref:rg:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY` (`MyRestApi` in the diagram).
+The REST request is submitted to a domain service with a xref:applib:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY` (`MyRestApi` in the diagram).
 This uses the `AcceptHeaderService` to obtain the values of the HTTP `Accept` header.
 Based on this it delegates to the appropriate underlying domain service (with a nature of `DOMAIN` so that they are not exposed in the REST API at all).
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
index 0b87a4b..de9c0df 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
@@ -36,7 +36,7 @@ public interface GuiceBeanProvider {
 
 The xref:vw:ROOT:about.adoc[Wicket viewer] this provides a default implementation of this service.
 
-To use an alternative implementation, implement the `GuideBeanProvider` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `GuideBeanProvider` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
index 8354401..5e6910b 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
@@ -16,7 +16,7 @@ See xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNego
 Unlike most other domain services, the framework (that is, `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 chain-of-responsibility pattern.  Services are checked
-in the ordering defined by xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
+in the ordering defined by xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
 The mapped object used will be the first non-`null` result returned by an implementation.
 ====
 
@@ -53,7 +53,7 @@ For framework implementations of `ContentMappingService` allow domain service ac
 * `o.a.i.applib.services.conmap.ContentMappingServiceForCommandDto` will map any single instance of a `CommandWithDto` into a `CommandDto` XML document
 * `o.a.i.applib.services.conmap.ContentMappingServiceForCommandsDto` will map list of ``CommandWithDto``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:rg:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:rg:ant:Property.adoc#command[`@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:applib:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:applib:ant:Property.adoc#command[`@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/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
index 98b6715..e3f1722 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
@@ -47,12 +47,12 @@ If none exists, will return null (and the calling xref:rg:svc:presentation-layer
 <5> returns a default grid, eg two columns in ratio 4:8.
 Used when no existing grid layout exists for a domain class.
 <6> validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.
-This is done using existing metadata, most notably that of the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
+This is done using existing metadata, most notably that of the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
 Such a grid, if persisted as the layout XML file for the domain class, allows the `@MemberOrder` annotation to be removed from the source code of the domain class (but other annotations must be retained).
 <7> Takes a normalized grid and enriches it with additional metadata (taken from Apache Isis' internal metadata) that can be represented in the layout XML.
-Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
+Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
 <8> Takes a normalized grid and strips out removes all members, leaving only the grid structure.
-Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
+Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
 
 The first four methods just delegate to the corresponding methods in xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], while the last four delegate to the  corresponding method in xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`].
 The service inspects the ``Grid``'s concrete class to determine which actual `GridSystemService` instance to delegate to.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
index fd30dda..bb7b3bf 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
@@ -18,7 +18,7 @@ The framework provides a single such grid implementation, namely for Bootstrap3.
 Unlike most other domain services, the framework will check _all_ available implementations of `GridSystemService` to
 obtain available grid systems, rather than merely the first implementation found; in other words it uses the
 chain-of-responsibility pattern.  Services are called in the order defined by
-xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
+xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
 
 Note though that each concrete implementation must also provide corresponding Wicket viewer components capable of
 interpreting the grid layout.
@@ -42,14 +42,14 @@ public interface GridSystemService<G extends Grid> {
 }
 ----
 <1> The concrete subclass of `Grid` supported by this implementation. As noted in the introduction, there can be multiple implementations of this service,  but there can only be one implementation per concrete subclass.  As is normal practice,
-the service with the lowest xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] takes precedence.
+the service with the lowest xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] takes precedence.
 <2> the target namespace for this grid system.  This is used when generating the XML.  The Bootstrap3 grid system provided by the framework returns the value `http://isis.apache.org/applib/layout/grid/bootstrap3`.
 <3> the schema location for the XSD.  The Bootstrap3 grid system provided by the framework returns the value `http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd`.
 <4> a default grid, eg two columns in ratio 4:8.  Used when no existing grid layout exists for a domain class.
-<5> Validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.  This is done using existing metadata, most notably that of the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation.  Such a grid, if persisted as the layout XML file for the domain class, allows the
+<5> Validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.  This is done using existing metadata, most notably that of the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation.  Such a grid, if persisted as the layout XML file for the domain class, allows the
  `@MemberOrder` annotation to be removed from the source code of the domain class (but other annotations must be retained).
-<6> Takes a normalized grid and enriches it with additional metadata (taken from Apache Isis' internal metadata) that can be represented in the layout XML.  Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
-<7> Takes a normalized grid and strips out removes all members, leaving only the grid structure.  Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
+<6> Takes a normalized grid and enriches it with additional metadata (taken from Apache Isis' internal metadata) that can be represented in the layout XML.  Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
+<7> Takes a normalized grid and strips out removes all members, leaving only the grid structure.  Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
 
 
 == Implementation
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
index 0103042..4ccea76 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
@@ -42,7 +42,7 @@ per the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`], so
 
 The core framework provides a default implementation of this service (`org.apache.isis.viewer.wicket.viewer.services.HintStoreUsingWicketSession`).
 
-To use an alternative implementation, implement the `HintStore` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `HintStore` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == View models
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
index 8f55105..0b2c494 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
@@ -30,7 +30,7 @@ public interface LocaleProvider {
 }
 ----
 
-This is notionally request-scoped, returning the `Locale` of the current user; _not_ that of the server.  (Note that the implementation is not required to actually be xref:rg:ant:RequestScoped.adoc[`@RequestScoped`], however).
+This is notionally request-scoped, returning the `Locale` of the current user; _not_ that of the server.  (Note that the implementation is not required to actually be xref:applib:ant:RequestScoped.adoc[`@RequestScoped`], however).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
index 951272f..b37476d 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
@@ -18,7 +18,7 @@ of the implementation to figure out what the "owning" object might be.
 
 * if an action returns `null` or is `void`, then return some other "useful" object. +
 +
-For example, return the home page (eg as defined by the xref:rg:ant:HomePage.adoc[`@HomePage`] annotation).
+For example, return the home page (eg as defined by the xref:applib:ant:HomePage.adoc[`@HomePage`] annotation).
 
 Currently the routing service is used only by the xref:vw:ROOT:about.adoc[Wicket viewer]; it is ignored by the xref:vro:ROOT:about.adoc[Restful Objects] viewer.
 
@@ -28,7 +28,7 @@ Currently the routing service is used only by the xref:vw:ROOT:about.adoc[Wicket
 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
-xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).  The route used will be the
+xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).  The route used will be the
 result of the first implementation checked that declares that it can provide a route.
 ====
 
@@ -58,7 +58,7 @@ The framework provides a default implementation - `RoutingServiceDefault` - whic
 It uses the xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`].
 
 There can be multiple implementations of `RoutingService` registered.
-These are checked in turn (chain of responsibility pattern), ordered according to xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 The route from the first service that returns `true` from its `canRoute(...)` method will be used.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
index 9d4f83f..9bfa2fd 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
@@ -29,7 +29,7 @@ public interface TableColumnOrderService {
 <1> for the parent collection owned by the specified parent and collection Id, return the set of property ids in the same or other order.
 <2> for the standalone collection of the specified type, return the set of property ids in the same or other order, else return `null` if provides no reordering.
 
-There can be multiple implementations of `TableColumnOrderService` registered, ordered as per xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`].
+There can be multiple implementations of `TableColumnOrderService` registered, ordered as per xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`].
 The ordering provided by the first such service that returns a non-`null` value will be used.
 If all provided implementations return `null`, then the framework will fallback to a default implementation.
 
@@ -40,7 +40,7 @@ If all provided implementations return `null`, then the framework will fallback
 The framework provides a fallback implementation of this service, namely `TableColumnOrderService.Default`.
 
 There can be multiple implementations of `TableColumnOrderService registered.
-These are checked in turn (chain of responsibility pattern), ordered according to xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 The order from the first service that returns a non null value will be used.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
index e2a7943..bdb6240 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
@@ -13,7 +13,7 @@ When the framework needs to recreate the view model (for example to invoke an ac
 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:rg: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: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.
 
@@ -46,5 +46,5 @@ The framework provides a default implementation -- `UrlEncodingServiceWithCompre
 As already noted, be aware that the maximum length of a URL should not exceed 2083 characters.
 For large view models, there's the possibility that this limit could be exceeded; in such cases register an alternative implementation of this service.
 
-To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
index 9b4ebd8..b424802 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
@@ -10,7 +10,7 @@ In such a case it's probably a good idea for the UI to require that the end-user
 
 == Using action semantics
 
-One way to meet this requirement is using the framework's built-in xref:rg:ant:Action.adoc#semantics[`@Action#semantics()`] attribute:
+One way to meet this requirement is using the framework's built-in xref:applib:ant:Action.adoc#semantics[`@Action#semantics()`] attribute:
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
index 77f7697..16c638e 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
@@ -22,7 +22,7 @@ And refresh the current page when receiving a null response or invoking a void a
 But how to implement this?_
 
 One way to implement this idea is to provide a custom implementation of the xref:rg:svc:presentation-layer-spi/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:rg:ant:HomePage.adoc[`@HomePage`]) if one exists.
+The default implementation will either return the current object (if not null), else the home page (as defined by xref:applib:ant: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/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
index 6bedd9c..c6e91db 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
+++ b/core/_adoc-ug/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:rg:svc:core-domain-api/EventBusService.a
 
 * Set up a xref:rg:cms:classes/domainevent.adoc[domain event] xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscriber] that can veto the changes.
 
-* if the change is made through an action, you can use xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`].
+* if the change is made through an action, you can use xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`].
 
-if if the change is made through an edit, you can use xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`].
+if if the change is made through an edit, you can use xref:applib:ant: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/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
index 0a5cab3..7d9d43f 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
@@ -10,7 +10,7 @@ The framework provides default implementations for many of the xref:rg:svc:about
 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:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`].
-The trick is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
+The trick is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
 
 Here's how:
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
index 19ee440..01341cf 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
+++ b/core/_adoc-ug/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:rg:ant: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:applib:ant: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/core/_adoc-ug/modules/btb/pages/i18n.adoc b/core/_adoc-ug/modules/btb/pages/i18n.adoc
index 294877a..844a83f 100644
--- a/core/_adoc-ug/modules/btb/pages/i18n.adoc
+++ b/core/_adoc-ug/modules/btb/pages/i18n.adoc
@@ -552,7 +552,7 @@ msgid "<i>Quantity</i>"
 msgstr "<i>Quantité</i>"
 ----
 
-For this to work, the `namedEscaped()` attribute must be specified using either the xref:vw:ROOT:layout/file-based.adoc[layout file], or using an annotation such as xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`].
+For this to work, the `namedEscaped()` attribute must be specified using either the xref:vw:ROOT:layout/file-based.adoc[layout file], or using an annotation such as xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`].
 
 For example:
 
diff --git a/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc b/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
index 74d767d..1e84156 100644
--- a/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
+++ b/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
@@ -10,7 +10,7 @@ For example, the validator will detect any orphaned supporting methods (eg `hide
 
 [NOTE]
 ====
-The support for xref:rg:ant:aaa.adoc#deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
+The support for xref:applib:ant:aaa.adoc#deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
 ====
 
 You can also impose your own application-specific rules by installing your own metamodel validator.  To give just one example, you could impose naming standards such as ensuring that a domain-specific abbreviation such as "ISBN" is always consistently capitalized wherever it appears in a class member.
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
index 3da2611..0c476f3 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 Domain events are fired -- through the internal xref:rg:svc:core-domain-api/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:rg:ant: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:applib:ant: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:
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
index fde1d87..789673df 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
@@ -33,7 +33,7 @@ Note that this requires that the object is instantiated using the framework, see
 There is no lifecycle event for object creating because the framework doesn't know about newly created objects until they have been created; and there is no lifecycle event for obejcts removed because it is not valid to "touch" a domain entity once deleted.
 
 
-For example, if annotated with xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObjectLayout#updatingLifecycleEvent()`], the appropriate (subclass of) `ObjectUpdatingEvent` will be emitted.
- Similarly for xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
+For example, if annotated with xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObjectLayout#updatingLifecycleEvent()`], the appropriate (subclass of) `ObjectUpdatingEvent` will be emitted.
+ Similarly for xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
index 925576d..2523a95 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
@@ -10,8 +10,8 @@ xref:ug:fun:ui-hints/object-titles-and-icons.adoc[Normally] the code to return t
 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:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], the appropriate (subclass of) `TitleUiEvent` will be emitted.
- Similarly for xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
+If annotated with xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], the appropriate (subclass of) `TitleUiEvent` will be emitted.
+ Similarly for xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
 
 This can be particularly useful for xref:ug:fun:programming-model.adoc#jaxb[JAXB-style view models] which are code generated from XSDs and so cannot have any dependencies on the rest of the Apache Isis framework.
 Here a subscriber on the default events can provide a title and icon for such an object.
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc b/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
index b75830c..1a788f1 100644
--- a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
+++ b/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
@@ -44,7 +44,7 @@ It is also possible to return a localized string by returning a `TranslatableStr
 == For more information
 
 For more information, see the xref:rg:cms:methods.adoc#validate[`validate...()`] section in the appropriate reference guide.
-The reference guide also explains how to define validation declaratively, using the xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] or xref:rg:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] attributes.
+The reference guide also explains how to define validation declaratively, using the xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] or xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] attributes.
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
index 8bd2250..25dad33 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
@@ -32,7 +32,7 @@ To support the business domain being split into separate modules, the framework
 
 * dependency injection of services +
 +
-Both xref:rg:svc:about.adoc[framework-defined domain services] and application-defined services (eg repositories and factories) are injected everywhere, using the regular xref:rg:ant:Inject.adoc[`@javax.inject.Inject`] annotation.
+Both xref:rg:svc:about.adoc[framework-defined domain services] and application-defined services (eg repositories and factories) are injected everywhere, using the regular xref:applib:ant:Inject.adoc[`@javax.inject.Inject`] annotation.
 
 * mixins allow functionality defined in one module to appear (in the UI) to be provided by some other module. +
 +
diff --git a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc b/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
index 398643a..c17e19f 100644
--- a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
+++ b/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
@@ -110,7 +110,7 @@ For example:
 public class Product { /* ... */ }
 ----
 
-For more on this, see xref:rg:ant:DomainObject.adoc#bounding[`@DomainObject#bounding()`].
+For more on this, see xref:applib:ant: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:
@@ -149,7 +149,7 @@ public class Customers {
 }
 ----
 
-For more on this, see xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`].
+For more on this, see xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`].
 
 [TIP]
 ====
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
index c8020e0..66e6deb 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
@@ -23,7 +23,7 @@ But if the state change is more complex, then most likely an action should be us
 
 == Defining actions
 
-If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is set (recommended), then actions are `public` methods with the xref:rg:ant:Action.adoc[`@Action`] annotation.
+If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is set (recommended), then actions are `public` methods with the xref:applib:ant:Action.adoc[`@Action`] annotation.
 This annotation can also specify additional domain semantics, for example regarding idempotency.
 
 For example:
@@ -46,7 +46,7 @@ public ShoppingBasket addToBasket(
 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".
 The `@ParameterLayout` annotation provides a UI hint to the framework.
 
-If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is _not_ set, then the rules are a little more involved: an action is a public method that is not getters or setters which represent properties or collections, and does not have one of the various method prefixes (such as `hide` or `validate`) used for represent xref:ug:fun:business-rules.adoc[business rules]), and is not annotated with xref:rg:ant:Programmatic.adoc[`@Progr [...]
+If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is _not_ set, then the rules are a little more involved: an action is a public method that is not getters or setters which represent properties or collections, and does not have one of the various method prefixes (such as `hide` or `validate`) used for represent xref:ug:fun:business-rules.adoc[business rules]), and is not annotated with xref:applib:ant:Programmatic.adoc[`@P [...]
 
 
 
@@ -83,7 +83,7 @@ ProductRepository productRepository;
 <1> Supporting `autoComplete` method.
 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.
-<2> The xref:rg:ant:MinLength.adoc[`@MinLength`] annotation defines how many characters the end-user must enter before performing a search.
+<2> The xref:applib:ant:MinLength.adoc[`@MinLength`] annotation defines how many characters the end-user must enter before performing a search.
 <3> The implementation delegates to an injected repository service.  This is typical.
 
 Note that it is also valid to define "choices" and "autoComplete" for value types (such as `quantity`, above); it just isn't as common to do so.
@@ -154,13 +154,13 @@ public List<Product> autoComplete0AddToBasket(@MinLength(3) String searchTerm) {
 }
 ----
 
-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:rg:ant:DomainObject.adoc[`@DomainObject`] on the referenced type (described xref:ug:fun:programming-model.adoc#actions#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:applib:ant:DomainObject.adoc[`@DomainObject`] on the referenced type (described xref:ug:fun:programming-model.adoc#actions#reference-parameter-types[above]).
 
 
 == Optional Parameters
 
-Whereas the xref:ug:fun:programming-model.adoc#properties.adoc#optional-properties[optionality of properties] is defined using xref:rg:ant:Column#allowsNull[`@javax.jdo.annotations.Column#allowsNull()`], that JDO annotation cannot be applied to parameter types.
-Instead, either the xref:rg:ant:Nullable.adoc[`@Nullable`] annotation or the xref:rg:ant:Parameter.adoc#optionality[`@Parameter#optionality()`]  annotation/attribute is used.
+Whereas the xref:ug:fun:programming-model.adoc#properties.adoc#optional-properties[optionality of properties] is defined using xref:applib:ant:Column#allowsNull[`@javax.jdo.annotations.Column#allowsNull()`], that JDO annotation cannot be applied to parameter types.
+Instead, either the xref:applib:ant:Nullable.adoc[`@Nullable`] annotation or the xref:applib:ant:Parameter.adoc#optionality[`@Parameter#optionality()`]  annotation/attribute is used.
 
 For example:
 
@@ -188,8 +188,8 @@ See also xref:ug:fun:programming-model.adoc#properties-vs-parameters[properties
 
 == ``String`` Parameters (Length)
 
-Whereas the length of string properties is defined using xref:rg:ant:Column#length-for-strings.adoc[`@javax.jdo.annotations.Column#length()`], that JDO annotation cannot be applied to parameter types.
-Instead, the xref:rg:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation/attribute is used.
+Whereas the length of string properties is defined using xref:applib:ant:Column#length-for-strings.adoc[`@javax.jdo.annotations.Column#length()`], that JDO annotation cannot be applied to parameter types.
+Instead, the xref:applib:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation/attribute is used.
 
 For example:
 
@@ -215,8 +215,8 @@ public Customer updateName(
     return this;
 }
 ----
-<1> Specifies the property length using the JDO xref:rg:ant:Column#length.adoc[`@Column#length()`] annotation
-<2> Specifies the parameter length using the (Apache Isis) xref:rg:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation
+<1> Specifies the property length using the JDO xref:applib:ant:Column#length.adoc[`@Column#length()`] annotation
+<2> Specifies the parameter length using the (Apache Isis) xref:applib:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation
 
 [IMPORTANT]
 ====
@@ -228,8 +228,8 @@ See also xref:ug:fun:programming-model.adoc#properties-vs-parameters[properties
 
 == ``BigDecimal``s (Precision)
 
-Whereas the precision of `BigDecimal` properties is defined using xref:rg:ant:Column#scale.adoc[`@javax.jdo.annotations.Column#scale()`], that JDO annotation cannot be applied to parameter types.
-Instead, the xref:rg:ant:Digits.adoc[`@javax.validation.constraints.Digits#fraction()`] annotation/attribute is used.
+Whereas the precision of `BigDecimal` properties is defined using xref:applib:ant:Column#scale.adoc[`@javax.jdo.annotations.Column#scale()`], that JDO annotation cannot be applied to parameter types.
+Instead, the xref:applib:ant:Digits.adoc[`@javax.validation.constraints.Digits#fraction()`] annotation/attribute is used.
 
 For example:
 
@@ -247,8 +247,8 @@ public Order updateDiscount(
     return this;
 }
 ----
-<1> Specifies the property precision using xref:rg:ant:Column#scale.adoc[`@Column#scale()`]
-<2> Specifies the corresponding parameter precision using xref:rg:ant:Digits.adoc[`@Digits#fraction()`].
+<1> Specifies the property precision using xref:applib:ant:Column#scale.adoc[`@Column#scale()`]
+<2> Specifies the corresponding parameter precision using xref:applib:ant:Digits.adoc[`@Digits#fraction()`].
 
 See also xref:ug:fun:programming-model.adoc#properties-vs-parameters[properties vs parameters].
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
index a224f04..7584a7b 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
@@ -10,10 +10,10 @@ Services can optionally declare lifecycle callbacks to initialize them (when the
 
 An Apache Isis session _is_ available when initialization occurs (so services can interact with the object store, for example).
 
-The framework will call any `public` method annotated with xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] with either no arguments of an argument of type `Map<String,String>`.
+The framework will call any `public` method annotated with xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] with either no arguments of an argument of type `Map<String,String>`.
 In the latter case, the framework passes in the configuration.
 
-Shutdown is similar; the framework will call any method annotated with xref:rg:ant:PreDestroy.adoc[`@PreDestroy`].
+Shutdown is similar; the framework will call any method annotated with xref:applib:ant:PreDestroy.adoc[`@PreDestroy`].
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
index a228b7f..3bb667e 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
@@ -49,11 +49,11 @@ public class CustomerMenu {
     protected CustomerRepository customerRepository;            // <6>
 }
 ----
-<1> The (Apache Isis) xref:rg:ant:DomainService.adoc[`@DomainService`] annotation is used to identify the class as a domain service.
+<1> The (Apache Isis) xref:applib:ant:DomainService.adoc[`@DomainService`] annotation is used to identify the class as a domain service.
 Apache Isis scans the classpath looking for classes with this annotation, so there very little configuration other than to tell the framework which packages to scan underneath.
 The `VIEW` nature indicates that this service's actions should be exposed as menu items.
-<2> The `findByName` method is annotated with various Apache Isis annotations (xref:rg:ant:Action.adoc[`@Action`], xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] and is itself rendered in the UI as a "Find By Name" menu item underneath the "Simple Objects" menu.
-<3> The xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`] provides metadata for the parameter itself, in this case its name.
+<2> The `findByName` method is annotated with various Apache Isis annotations (xref:applib:ant:Action.adoc[`@Action`], xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] and is itself rendered in the UI as a "Find By Name" menu item underneath the "Simple Objects" menu.
+<3> The xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`] provides metadata for the parameter itself, in this case its name.
 +
 [TIP]
 ====
@@ -63,7 +63,7 @@ There's no need to name the action parameters if the code is compiled using the
 <4> the action implementation delegates to an injected repository.
 The framework can inject into not just other domain services but will also automatically into domain entities and view models.
 There is further discussion of service injection xref:ug:fun:programming-model.adoc#inject-services[below].
-<5> xref:rg:ant:Action.adoc#restrictTo[Prototype] actions are rendered only in prototyping mode.
+<5> xref:applib:ant:Action.adoc#restrictTo[Prototype] actions are rendered only in prototyping mode.
 A "list all" action such as this can be useful when exploring the domain with a small dataset.
 <6> Menu services typically delegate to an underlying repository/ies specific to the domain (rather than use `RepositoryService` directly, for example).
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
index 2b2921f..373b85b 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 
 The easiest way to register domain services with the framework is to use an xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`].
-This specifies the modules which contain xref:rg:ant:DomainService.adoc[`@DomainService`]-annotated classes.
+This specifies the modules which contain xref:applib:ant:DomainService.adoc[`@DomainService`]-annotated classes.
 
 For example:
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
index 9bd8479..d5587f4 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
@@ -9,7 +9,7 @@ By default all domain services are considered to be singletons, and thread-safe.
 
 Sometimes though a service's lifetime is applicable only to a single request; in other words it is request-scoped.
 
-The CDI annotation xref:rg:ant:RequestScoped.adoc[`@javax.enterprise.context.RequestScoped`] is used to indicate this fact:
+The CDI annotation xref:applib:ant:RequestScoped.adoc[`@javax.enterprise.context.RequestScoped`] is used to indicate this fact:
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
index cbf163a..0fff2ff 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 A xref:ug:fun:building-blocks.adoc#mixins[mixin] acts like a trait or extension method, allowing one module to contribute behaviour or derived state to another object.
 
-Syntactically, a mixin is defined using either the xref:rg:ant:Mixin.adoc[`@Mixin`] annotation or using xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
+Syntactically, a mixin is defined using either the xref:applib:ant:Mixin.adoc[`@Mixin`] annotation or using xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
 
 // TODO: v2: perhaps we should get rid of @DomainObject#nature=MIXIN ?
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
index cb6a1ed..8f20083 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
@@ -49,7 +49,7 @@ public class ToDoItemV1_1 implements Dto {                          // <5>
 <1> package name encodes major version; see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
 <2> identifies this class as a view model and defines the root element for JAXB serialization
 <3> all properties in the class must be listed; (they can be ignored using `@XmlTransient`)
-<4> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
+<4> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
 <5> class name encodes (major and) minor version; see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
 <6> again, see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
 <7> again, see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
index 4fed366..0089da0 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
@@ -11,7 +11,7 @@ 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:rg:cms:schema.adoc#common[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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
-There is only one requirement to make this work: every referenced domain entity must be annotated with xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
+There is only one requirement to make this work: every referenced domain entity must be annotated with xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
 And this class is similar to the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]: it knows how to create an `OidDto` from an object reference.
 
 Thus, in our view model we can legitimately write:
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
index 978f4f2..a97d3e6 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
@@ -32,7 +32,7 @@ They are:
 @DomainObject(nature=Nature.EXTERNAL_ENTITY)
 public class CustomerRecordOnSAP { /* ... */ }
 ----
-|Annotated with xref:rg:ant: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:rg:ant:Property.adoc#notPersisted[not persisted].
+|Annotated with xref:applib:ant: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:applib:ant:Property.adoc#notPersisted[not persisted].
 
 | In-memory entity
 |[source,java]
@@ -58,7 +58,7 @@ public class Dashboard { /* ... */ }
 public class Dashboard { /* ... */ }
 ----
 
-|Annotated with xref:rg:ant:ViewModel.adoc[`@ViewModel`] annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored
+|Annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`] annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored
 
 |Application view model
 |
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
index a9f8689..7222875 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/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:rg:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`].
+One option is to use the xref:applib:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`].
 For example:
 
 [source,java]
@@ -32,7 +32,7 @@ Alternatively, you can specify these hints dynamically in the xref:vw:ROOT:layou
 <cpt:action id="renew" cssClassFa="refresh"/>
 ----
 
-Rather than annotating every action with xref:rg:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] and xref:rg:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] you can instead specify the UI hint globally using regular expressions.
+Rather than annotating every action with xref:applib:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] and xref:applib:ant: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:rg:cfg:configuring-core.adoc[configuration property] `isis.reflector.facet.cssClassFa.patterns` (a comma separated list of key:value pairs).
@@ -67,11 +67,11 @@ For example, "fa-plus" is applied to all action members called "newXxx"
 
 Similarly, a CSS class can be specified for object members:
 
-* xref:rg:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] for actions
+* xref:applib:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] for actions
 
-* xref:rg:ant:PropertyLayout.adoc#cssClass[`@PropertyLayout#cssClass()`] for properties, and
+* xref:applib:ant:PropertyLayout.adoc#cssClass[`@PropertyLayout#cssClass()`] for properties, and
 
-* xref:rg:ant:CollectionLayout.adoc#cssClass[`@CollectionLayout#cssClass()`] for collections.
+* xref:applib:ant: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.
 
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
index 0d0f137..1cc6d65 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
@@ -9,7 +9,7 @@ For the more commonly used collections though, we'll probably want to show the t
 
 image::programming-model/todoapp-Dashboard.png[width="800px",link="{imagesdir}/programming-model/todoapp-Dashboard.png"]
 
-For this we annotate the collection using xref:rg:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]; for example
+For this we annotate the collection using xref:applib:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]; for example
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
index e413c79..c00bfeb 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
@@ -26,25 +26,25 @@ The table below summarizes the annotations available:
 
 
 | Class
-| xref:rg:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`]
-| xref:rg:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`]
+| xref:applib:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`]
+| xref:applib:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`]
 
 
 | Property
-| xref:rg:ant:PropertyLayout.adoc#named[`@PropertyLayout#named()`]
-| xref:rg:ant:PropertyLayout.adoc#describedAs[`@PropertyLayout#describedAs()`]
+| xref:applib:ant:PropertyLayout.adoc#named[`@PropertyLayout#named()`]
+| xref:applib:ant:PropertyLayout.adoc#describedAs[`@PropertyLayout#describedAs()`]
 
 | Collection
-| xref:rg:ant:CollectionLayout.adoc#named[`@CollectionLayout#named()`]
-| xref:rg:ant:CollectionLayout.adoc#describedAs[`@CollectionLayout#describedAs()`]
+| xref:applib:ant:CollectionLayout.adoc#named[`@CollectionLayout#named()`]
+| xref:applib:ant:CollectionLayout.adoc#describedAs[`@CollectionLayout#describedAs()`]
 
 | Action
-| xref:rg:ant:ActionLayout.adoc#named[`@ActionLayout#named()`]
-| xref:rg:ant:ActionLayout.adoc#describedAs[`@ActionLayout#describedAs()`]
+| xref:applib:ant:ActionLayout.adoc#named[`@ActionLayout#named()`]
+| xref:applib:ant:ActionLayout.adoc#describedAs[`@ActionLayout#describedAs()`]
 
 | Action Parameters
-| xref:rg:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`]
-| xref:rg:ant:ParameterLayout.adoc#describedAs[`@ParameterLayout#describedAs()`]
+| xref:applib:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`]
+| xref:applib:ant:ParameterLayout.adoc#describedAs[`@ParameterLayout#describedAs()`]
 
 |===
 
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
index 5640db2..3d47349 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
@@ -26,7 +26,7 @@ For example the title of a customer object shouldn't include the literal string
 
 === Declarative style
 
-The xref:rg:ant:Title.adoc[`@Title`] annotation can be used build up the title of an object from its constituent parts.
+The xref:applib:ant:Title.adoc[`@Title`] annotation can be used build up the title of an object from its constituent parts.
 
 For example:
 
@@ -117,7 +117,7 @@ A variation on this approach also supports localized names; see xref:ug:btb:i18n
 
 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:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] attribute to specify:
+In the target object, we define an appropriate event type and use the xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] attribute to specify:
 
 [source,java]
 ----
@@ -174,7 +174,7 @@ If there is no requirement to customize the icon (the normal case), then the ico
 For example, the icon for a class `org.mydomain.myapp.Customer` will be `org/mydomain/myapp/Customer.png` (if it exists).
 
 Alternatively, a font-awesome icon can be used.
-This is specified using the xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
+This is specified using the xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
 
 For example:
 
@@ -214,7 +214,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:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] attribute to specify.
 
 For example:
 
@@ -265,7 +265,7 @@ In conjunction with xref:vw:ROOT:customisation/tweaking-css-classes.adoc[customi
 === Declarative style
 
 To render an object with a particular CSS, use
-xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
+xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
 
 When the domain object is rendered on its own page, this CSS class will appear on a top-level `<div>`.
 Or, when the domain object is rendered as a row in a collection, then the CSS class will appear in a `<div>` wrapped by the `<tr>` of the row.
@@ -300,7 +300,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:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attribute to specify.
 
 For example
 
diff --git a/core/applib/_adoc/antora.yml b/core/applib/_adoc/antora.yml
new file mode 100644
index 0000000..f30a436
--- /dev/null
+++ b/core/applib/_adoc/antora.yml
@@ -0,0 +1,6 @@
+name: applib
+title: "AppLib"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/core/applib/_adoc/examples.csv b/core/applib/_adoc/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/core/applib/_adoc/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/core/_adoc-rg/modules/ant/_attributes.adoc b/core/applib/_adoc/modules/ROOT/_attributes.adoc
similarity index 99%
copy from core/_adoc-rg/modules/ant/_attributes.adoc
copy to core/applib/_adoc/modules/ROOT/_attributes.adoc
index 787e5c4..42f13d9 100644
--- a/core/_adoc-rg/modules/ant/_attributes.adoc
+++ b/core/applib/_adoc/modules/ROOT/_attributes.adoc
@@ -3,4 +3,5 @@ ifndef::env-site,env-github[]
 :examplesdir: {moduledir}/examples
 :imagesdir: {moduledir}/assets/images
 :partialsdir: {moduledir}/pages/_partials
+
 endif::[]
diff --git a/core/applib/_adoc/modules/ROOT/nav.adoc b/core/applib/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..562739a
--- /dev/null
+++ b/core/applib/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1 @@
+include::rg:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/_attributes.adoc b/core/applib/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
copy from core/_adoc-rg/modules/ant/pages/_attributes.adoc
copy to core/applib/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/_partials/_attributes.adoc b/core/applib/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/_partials/_attributes.adoc
rename to core/applib/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/core/applib/_adoc/modules/ROOT/pages/about.adoc b/core/applib/_adoc/modules/ROOT/pages/about.adoc
new file mode 100644
index 0000000..796f956
--- /dev/null
+++ b/core/applib/_adoc/modules/ROOT/pages/about.adoc
@@ -0,0 +1,7 @@
+= Application Library
+include::_attributes.adoc[]
+
+Documentation comprises:
+
+* xref:applib:ant:about.adoc[Annotations] - part of the reference guide.
+
diff --git a/core/_adoc-rg/modules/ant/_attributes.adoc b/core/applib/_adoc/modules/ant/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/_attributes.adoc
rename to core/applib/_adoc/modules/ant/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/examples/.gitkeep b/core/applib/_adoc/modules/ant/assets/attachments/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/ant/examples/.gitkeep
rename to core/applib/_adoc/modules/ant/assets/attachments/.gitkeep
diff --git a/core/_adoc-rg/modules/ant/assets/images/.gitkeep b/core/applib/_adoc/modules/ant/assets/images/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/.gitkeep
rename to core/applib/_adoc/modules/ant/assets/images/.gitkeep
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png
diff --git a/core/_adoc-rg/modules/ant/assets/attachments/.gitkeep b/core/applib/_adoc/modules/ant/examples/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/attachments/.gitkeep
rename to core/applib/_adoc/modules/ant/examples/.gitkeep
diff --git a/core/applib/_adoc/modules/ant/nav.adoc b/core/applib/_adoc/modules/ant/nav.adoc
new file mode 100644
index 0000000..562739a
--- /dev/null
+++ b/core/applib/_adoc/modules/ant/nav.adoc
@@ -0,0 +1 @@
+include::rg:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/Action.adoc b/core/applib/_adoc/modules/ant/pages/Action.adoc
similarity index 90%
rename from core/_adoc-rg/modules/ant/pages/Action.adoc
rename to core/applib/_adoc/modules/ant/pages/Action.adoc
index 40c61ee..8b1f45e 100644
--- a/core/_adoc-rg/modules/ant/pages/Action.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action.adoc
@@ -16,17 +16,17 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Action.adoc#associateWith[`associateWith()`]
+|xref:applib:ant:Action.adoc#associateWith[`associateWith()`]
 |_memberId_ +
 ("")
 |associates an action with another property or collection of the action.
 
-|xref:rg:ant:Action.adoc#associateWith[`associateWith-Sequence()`]
+|xref:applib:ant:Action.adoc#associateWith[`associateWith-Sequence()`]
 |_memberId_ +
 ("")
 |associates an action with another property or collection of the action.
 
-|xref:rg:ant:Action.adoc#command[`command()`]
+|xref:applib:ant:Action.adoc#command[`command()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the action invocation should be reified into a `o.a.i.applib.` +
@@ -51,7 +51,7 @@ The table below summarizes the annotation's attributes.
 |If the `Command` also implements `CommandWithDto` (meaning that it can return a `CommandDto`, in other words be converted into an XML memento), then optionally specifies a processor that can refine this XML.
 
 
-|xref:rg:ant:Action.adoc#domainEvent[`domainEvent()`]
+|xref:applib:ant:Action.adoc#domainEvent[`domainEvent()`]
 |subtype of `ActionDomainEvent` +
 (`ActionDomainEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to
@@ -59,13 +59,13 @@ broadcast the action's business rule checking (hide, disable, validate) and its
 post-execute).
 
 
-|xref:rg:ant:Action.adoc#hidden[`hidden()`]
+|xref:applib:ant:Action.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the action should be hidden from the user.
 
 
-|xref:rg:ant:Action.adoc#invokeOn[`invokeOn()`]
+|xref:applib:ant:Action.adoc#invokeOn[`invokeOn()`]
 |`OBJECT_ONLY`, `COLLECTION_ONLY`, `OBJECT_AND_COLLECTION` +
 (`OBJECT_ONLY`)
 |(deprecated - use view models and associated actions instead).
@@ -75,17 +75,17 @@ whether an action can be invoked on a single object and/or on many objects in a
 Currently this is only supported for no-arg actions.
 
 
-|xref:rg:ant:Action.adoc#publishing[`publishing()`]
+|xref:applib:ant:Action.adoc#publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the action invocation should be published to the registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
-|xref:rg:ant:Action.adoc#restrictTo[`restrictTo()`]
+|xref:applib:ant:Action.adoc#restrictTo[`restrictTo()`]
 |`NO_RESTRICTIONS`,`PROTOTYPING` +
 (`NO_RESTRICTIONS`)
 |whether the action is only available in prototyping mode, or whether it is available also in production mode.
 
-|xref:rg:ant:Action.adoc#semantics[`semantics()`]
+|xref:applib:ant:Action.adoc#semantics[`semantics()`]
 |`SAFE_AND_REQUEST_CACHEABLE`, `SAFE`, +
 `IDEMPOTENT`, `IDEMPOTENT_ARE_YOU_SURE` +
 `NON_IDEMPOTENT`, `NON_IDEMPOTENT_ARE_YOU_SURE` + +
@@ -94,7 +94,7 @@ Currently this is only supported for no-arg actions.
 
 The `...ARE_YOU_SURE` variants cause a confirmation dialog to be displayed in the xref:vw:ROOT:about.adoc[Wicket viewer].
 
-|xref:rg:ant:Action.adoc#typeOf[`typeOf()`]
+|xref:applib:ant:Action.adoc#typeOf[`typeOf()`]
 |(none)
 |if the action returns a collection, hints as to the run-time type of the objects within that collection (as a fallback)
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Action/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/associateWith.adoc b/core/applib/_adoc/modules/ant/pages/Action/associateWith.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/associateWith.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/associateWith.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/command.adoc b/core/applib/_adoc/modules/ant/pages/Action/command.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/command.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/command.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
similarity index 98%
rename from core/_adoc-rg/modules/ant/pages/Action/domainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
index 403fe85..8125dd2 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
@@ -184,8 +184,8 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 This attribute is also supported for:
 
-* xref:rg:ant:Collection.adoc#domainEvent[collections] and
-* xref:rg:ant:Property.adoc#domainEvent[properties].
+* xref:applib:ant:Collection.adoc#domainEvent[collections] and
+* xref:applib:ant:Property.adoc#domainEvent[properties].
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/Action/hidden.adoc b/core/applib/_adoc/modules/ant/pages/Action/hidden.adoc
similarity index 76%
rename from core/_adoc-rg/modules/ant/pages/Action/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/hidden.adoc
index e114ee8..f9c7dd6 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/hidden.adoc
@@ -11,7 +11,7 @@ Actions can be hidden at the domain-level, indicating that they are not visible
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] or xref:vw:ROOT:layout/file-based.adoc[file-based layouts] such that the action can be hidden at the view layer.
+It is also possible to use xref:applib:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] or xref:vw:ROOT:layout/file-based.adoc[file-based layouts] such that the action can be hidden at the view layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -43,7 +43,7 @@ The other values of the `Where` enum have no meaning for a collection.
 
 [NOTE]
 ====
-For actions of domain services the visibility is dependent upon its xref:rg:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:rg:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
+For actions of domain services the visibility is dependent upon its xref:applib:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:applib:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
 ====
 
 
@@ -52,6 +52,6 @@ For actions of domain services the visibility is dependent upon its xref:rg:ant:
 
 This attribute can also be applied to:
 
-* xref:rg:ant:Property.adoc#hidden[properties]
-* xref:rg:ant:Collection.adoc#hidden[collections].
+* xref:applib:ant:Property.adoc#hidden[properties]
+* xref:applib:ant:Collection.adoc#hidden[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Action/invokeOn.adoc b/core/applib/_adoc/modules/ant/pages/Action/invokeOn.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/invokeOn.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/invokeOn.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/publishing.adoc b/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Action/publishing.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
index addd109..ba2f130 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
@@ -47,10 +47,10 @@ public class Order {
 
 This attribute is also supported for:
 
-* xref:rg:ant:DomainObject.adoc#publishing[domain objects]
+* xref:applib:ant:DomainObject.adoc#publishing[domain objects]
 + where it controls whether changed objects are published as events, and for
 
-* xref:rg:ant:Property.adoc#publishing[properties]
+* xref:applib:ant:Property.adoc#publishing[properties]
 +
 where it controls whether property edits are published as events.
 
diff --git a/core/_adoc-rg/modules/ant/pages/Action/restrictTo.adoc b/core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/restrictTo.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/semantics.adoc b/core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/semantics.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/typeOf.adoc b/core/applib/_adoc/modules/ant/pages/Action/typeOf.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/Action/typeOf.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/typeOf.adoc
index b37d988..a99788f 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/typeOf.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/typeOf.adoc
@@ -33,5 +33,5 @@ In general we recommend that you use generics instead, eg `List<Customer>`.
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Collection.adoc#typeOf[collections].
+This attribute can also be specified for xref:applib:ant:Collection.adoc#typeOf[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
index c986d89..302963d 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
@@ -16,28 +16,28 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:ActionLayout.adoc#bookmarking[`bookmarking()`]
+|xref:applib:ant:ActionLayout.adoc#bookmarking[`bookmarking()`]
 |`AS_ROOT`, `NEVER` +
 (`NEVER`)
-|indicates if an action (with safe xref:rg:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
+|indicates if an action (with safe xref:applib:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
 
 
-|xref:rg:ant:ActionLayout.adoc#contributedAs[`contributedAs()`]
+|xref:applib:ant:ActionLayout.adoc#contributedAs[`contributedAs()`]
 |`AS_BOTH`, `AS_ACTION`, `AS_ASSOCIATION`, `AS_NEITHER` +
 (`AS_BOTH`)
 |for a domain service action that can be contributed, whether to contribute as an action or as an association (ie a property or collection). +
 
-For a domain service action to be contributed, the domain services must have a xref:rg:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:rg:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
+For a domain service action to be contributed, the domain services must have a xref:applib:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:applib:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
 
 
-|xref:rg:ant:ActionLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:ActionLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]. +
 
 Supported by the xref:vw:ROOT:about.adoc[Wicket viewer] but currently ignored by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
 
 
-|xref:rg:ant:ActionLayout.adoc#cssClassFa[`cssClassFa()`]
+|xref:applib:ant:ActionLayout.adoc#cssClassFa[`cssClassFa()`]
 |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name
 |specify a font awesome icon for the action's menu link or icon. +
 
@@ -48,26 +48,26 @@ Supported by the xref:vw:ROOT:about.adoc[Wicket viewer] but currently ignored by
 |Positioning of the icon on the button/menu item.
 
 
-|xref:rg:ant:ActionLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:ActionLayout.adoc#describedAs[`describedAs()`]
 |String.
 |provides a short description of the action, eg for rendering as a 'tool tip'.
 
 
-|xref:rg:ant:ActionLayout.adoc#hidden[`hidden()`]
+|xref:applib:ant:ActionLayout.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the action should be hidden from the user.
 
 
-|xref:rg:ant:ActionLayout.adoc#named[`named()`]
+|xref:applib:ant:ActionLayout.adoc#named[`named()`]
 |String.
 |to override the name inferred from the action's name in code. +
 
 A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
 
-|xref:rg:ant:ActionLayout.adoc#position[`position()`]
+|xref:applib:ant:ActionLayout.adoc#position[`position()`]
 |`BELOW`, `RIGHT`, `PANEL`, `PANEL_DROPDOWN` (`BELOW`)
-|for actions associated (using xref:rg:ant:MemberOrder.adoc[`@MemberOrder#named()`]) with properties, the positioning of the action's button with respect to the property
+|for actions associated (using xref:applib:ant:MemberOrder.adoc[`@MemberOrder#named()`]) with properties, the positioning of the action's button with respect to the property
 
 
 |===
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModel/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ViewModel/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/bookmarking.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/bookmarking.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/bookmarking.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/bookmarking.adoc
index a4169af..4e88d2c 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/bookmarking.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/bookmarking.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `bookmarking()` attribute indicates if an action (with safe xref:rg:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
+The `bookmarking()` attribute indicates if an action (with safe xref:applib:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
 
 
 
@@ -46,7 +46,7 @@ indicates that the `notYetComplete()` action is bookmarkable.
 
 [NOTE]
 ====
-The enum value `AS_CHILD` has no meaning for actions; it relates only to bookmarked xref:rg:ant:DomainObject.adoc#bookmarking[domain object]s.
+The enum value `AS_CHILD` has no meaning for actions; it relates only to bookmarked xref:applib:ant:DomainObject.adoc#bookmarking[domain object]s.
 ====
 
 
@@ -57,4 +57,4 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 == See also
 
-This attribute is also supported for xref:rg:ant:DomainObjectLayout.adoc#bookmarking[domain objects].
\ No newline at end of file
+This attribute is also supported for xref:applib:ant:DomainObjectLayout.adoc#bookmarking[domain objects].
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/contributedAs.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/contributedAs.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/contributedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/contributedAs.adoc
index bad4ea4..4bee7fc 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/contributedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/contributedAs.adoc
@@ -10,7 +10,7 @@ For a domain service action that _can_ be contributed, the `contributedAs()` att
 
 The distinction between property or collection is automatic: if the action returns a `java.util.Collection` (or subtype) then the action is contributed as a collection; otherwise it is contributed as a property.
 
-For a domain service action to be contributed, the domain services must have a xref:rg:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:rg:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
+For a domain service action to be contributed, the domain services must have a xref:applib:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:applib:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
 
 For example:
 
@@ -43,7 +43,7 @@ public class OrderContributions {
 }
 ----
 
-In such cases, though, it would probably make more sense to annotate the action as either xref:rg:ant:Action.adoc#hidden[hidden] or indeed xref:rg:ant:Programmatic.adoc[`@Programmatic`].
+In such cases, though, it would probably make more sense to annotate the action as either xref:applib:ant:Action.adoc#hidden[hidden] or indeed xref:applib:ant:Programmatic.adoc[`@Programmatic`].
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
index 655fe6e..46fe325 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
@@ -22,7 +22,7 @@ public class ToDoItem {
 
 [NOTE]
 ====
-The similar xref:rg:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] annotation attribute is also used as a hint
+The similar xref:applib:ant: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.
 ====
 
@@ -36,9 +36,9 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties]
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties]
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClassFa.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/cssClassFa.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/cssClassFa.adoc
index c3f9759..9db3f23 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClassFa.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 The `cssClassFa()` attribute is used to specify the name of a link:http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icon] name, to be rendered on the action's representation as a button or menu item.    The related `cssClassFaPosition()` attribute specifies the positioning of the icon, to the left or the right of the text.
 
-These attributes can also be applied to xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[domain objects] and to xref:rg:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon.
+These attributes can also be applied to xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[domain objects] and to xref:applib:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon.
 
 
 For example:
@@ -38,6 +38,6 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 [NOTE]
 ====
-The similar xref:rg:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
+The similar xref:applib:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/describedAs.adoc
similarity index 81%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/describedAs.adoc
index 6e01db2..f78dcb6 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/describedAs.adoc
@@ -32,9 +32,9 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be specified for:
 
-* xref:rg:ant:CollectionLayout.adoc#describedAs[collections]
-* xref:rg:ant:PropertyLayout.adoc#describedAs[properties]
-* xref:rg:ant:ParameterLayout.adoc#describedAs[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#describedAs[view models].
+* xref:applib:ant:CollectionLayout.adoc#describedAs[collections]
+* xref:applib:ant:PropertyLayout.adoc#describedAs[properties]
+* xref:applib:ant:ParameterLayout.adoc#describedAs[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#describedAs[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/hidden.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/hidden.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/hidden.adoc
index 16a31bf..9188043 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/hidden.adoc
@@ -10,7 +10,7 @@ The `hidden()` attribute indicates where (in the UI) the action should be hidden
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:Action.adoc#hidden[`@Action#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:applib:ant:Action.adoc#hidden[`@Action#hidden()`] to hide an action at the domain layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -41,7 +41,7 @@ The other values of the `Where` enum have no meaning for a collection.
 
 [NOTE]
 ====
-For actions of domain services the visibility is dependent upon its xref:rg:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:rg:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
+For actions of domain services the visibility is dependent upon its xref:applib:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:applib:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
 ====
 
 
@@ -57,5 +57,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 == See also
 
 This attribute can also be applied to:
-* xref:rg:ant:PropertyLayout.adoc#hidden[properties]
-* xref:rg:ant:CollectionLayout.adoc#hidden[collections].
+* xref:applib:ant:PropertyLayout.adoc#hidden[properties]
+* xref:applib:ant:CollectionLayout.adoc#hidden[collections].
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/named.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/named.adoc
index b6f577d..77300b6 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/named.adoc
@@ -40,9 +40,9 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/position.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/position.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/position.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/position.adoc
index e725d99..f9dce5e 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/position.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/position.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 
 
-The `position()` attribute pertains only to actions that have been associated with properties using xref:rg:ant: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 `position()` attribute pertains only to actions that have been associated with properties using xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/ActionLayout/promptStyle.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/promptStyle.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/promptStyle.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/promptStyle.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/redirect.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/redirect.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
index 916fbf2..54c1df2 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/redirect.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
@@ -16,7 +16,7 @@ This makes for a smoother UI.
 +
 [NOTE]
 ====
-Any properties with xref:rg:ant:PropertyLayout.adoc#unchanging[`@PropertyLayout#unchanging`] are _not_ updated.
+Any properties with xref:applib:ant:PropertyLayout.adoc#unchanging[`@PropertyLayout#unchanging`] are _not_ updated.
 ====
 
 * if set to `EVEN_IF_SAME`, then a redirect occurs and a new web page is rendered.
diff --git a/core/_adoc-rg/modules/ant/pages/Collection.adoc b/core/applib/_adoc/modules/ant/pages/Collection.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/Collection.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection.adoc
index f91df4e..0b1764f 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection.adoc
@@ -16,13 +16,13 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Collection.adoc#domainEvent[`domainEvent()`]
+|xref:applib:ant:Collection.adoc#domainEvent[`domainEvent()`]
 |subtype of `CollectionDomainEvent` +
 (`CollectionDomainEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the collection's business rule checking (hide, disable, validate) and its modification (before and after).
 
 
-|xref:rg:ant:Collection.adoc#editing[`editing()`]
+|xref:applib:ant:Collection.adoc#editing[`editing()`]
 |`ENABLED`, `DISABLED`, `AS_CONFIGURED` +
 (`AS_CONFIGURED`)
 |whether a collection can be added to or removed from within the UI
@@ -33,13 +33,13 @@ The table below summarizes the annotation's attributes.
 |if `editing()` is `DISABLED`, provides a reason as to why.
 
 
-|xref:rg:ant:Collection.adoc#hidden[`hidden()`]
+|xref:applib:ant:Collection.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the collection should be hidden from the user.
 
 
-|xref:rg:ant:Collection.adoc#notPersisted[`notPersisted()`]
+|xref:applib:ant:Collection.adoc#notPersisted[`notPersisted()`]
 |`true`, `false` +
 (`false`)
 |whether to exclude from snapshots. +
@@ -51,7 +51,7 @@ Collection must also be annotated with `@javax.jdo.annotations.NotPersistent` in
 
 
 
-|xref:rg:ant:Collection.adoc#typeOf[`typeOf()`]
+|xref:applib:ant:Collection.adoc#typeOf[`typeOf()`]
 |
 |hints as to the run-time type of the objects within that collection (as a fallback)
 
@@ -86,7 +86,7 @@ public class ToDoItem {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:rg:ant:Property.adoc[`@Property`] and xref:rg:ant: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:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:Property.adoc[`@Property`] and xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/PropertyLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Collection/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/Collection/domainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
index f1de9c7..9deeeea 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
@@ -22,7 +22,7 @@ Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.ad
 The xref:vw:ROOT:about.adoc[Wicket viewer] does _not_ currently support the modification of collections; they are rendered read-only.
 However, domain events are still relevant to determine if such collections should be hidden.
 
-The workaround is to create add/remove actions and use xref:rg:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
+The workaround is to create add/remove actions and use xref:applib:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
 ====
 
 By default the event raised is `CollectionDomainEvent.Default`. For example:
@@ -170,8 +170,8 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 This attribute is also supported for:
 
-* xref:rg:ant:Action.adoc#domainEvent[actions] and
-* xref:rg:ant:Property.adoc#domainEvent[properties].
+* xref:applib:ant:Action.adoc#domainEvent[actions] and
+* xref:applib:ant:Property.adoc#domainEvent[properties].
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/editing.adoc b/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/Collection/editing.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
index 2e2fa36..3fc6812 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
@@ -14,12 +14,12 @@ The related `editingDisabledReason()` attribute specifies the a hard-coded reaso
 ====
 The xref:vw:ROOT:about.adoc[Wicket viewer] does *not* currently support the modification of collections; they are rendered read-only.
 
-The workaround is to create add/remove actions and use xref:rg:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
+The workaround is to create add/remove actions and use xref:applib:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
 ====
 
 Whether a collection is enabled or disabled depends upon these factors:
 
-* whether the domain object has been configured as immutable through the xref:rg:ant:DomainObject.adoc#editing[`@DomainObject#editing()`] attribute
+* whether the domain object has been configured as immutable through the xref:applib:ant:DomainObject.adoc#editing[`@DomainObject#editing()`] attribute
 
 * else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.objects.editing`.
 If set to `false`, then the object's collections (and properties) are *not* editable
@@ -53,6 +53,6 @@ To reiterate, it is _not_ possible to enable editing for a collection if editing
 
 This attribute can also be specified for:
 
-* xref:rg:ant:Property.adoc#editing[properties]
-* xref:rg:ant:DomainObject.adoc#editing[domain object]
+* xref:applib:ant:Property.adoc#editing[properties]
+* xref:applib:ant:DomainObject.adoc#editing[domain object]
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/hidden.adoc b/core/applib/_adoc/modules/ant/pages/Collection/hidden.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/Collection/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/hidden.adoc
index 6e02ff9..df469e3 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/hidden.adoc
@@ -10,7 +10,7 @@ Collections can be hidden at the domain-level, indicating that they are not visi
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:CollectionLayout.adoc#hidden[`@CollectionLayout#hidden()`] or using xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the collection can be hidden at the view layer.
+It is also possible to use xref:applib:ant:CollectionLayout.adoc#hidden[`@CollectionLayout#hidden()`] or using xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the collection can be hidden at the view layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -59,5 +59,5 @@ The xref:vro:ROOT:about.adoc[RestfulObjects viewer] by default suppress collecti
 
 This attribute can also be applied to:
 
-* xref:rg:ant:Action.adoc#hidden[actions]
-* xref:rg:ant:Property.adoc#hidden[properties].
+* xref:applib:ant:Action.adoc#hidden[actions]
+* xref:applib:ant:Property.adoc#hidden[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/notPersisted.adoc b/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/Collection/notPersisted.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
index daad06f..389dd31 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/notPersisted.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
@@ -59,5 +59,5 @@ public class Customer {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:Property.adoc#notPersisted[properties].
+This attribute is also supported for xref:applib:ant:Property.adoc#notPersisted[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/typeOf.adoc b/core/applib/_adoc/modules/ant/pages/Collection/typeOf.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/Collection/typeOf.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/typeOf.adoc
index a4f7cce..a050d19 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/typeOf.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/typeOf.adoc
@@ -27,4 +27,4 @@ In general we recommend that you use generics instead, eg `SortedSet<Order>`.
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Action.adoc#typeOf[actions].
+This attribute can also be specified for xref:applib:ant:Action.adoc#typeOf[actions].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
index 9d65574..142d654 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
@@ -17,12 +17,12 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:CollectionLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:CollectionLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a collection should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:CollectionLayout.adoc#defaultView[`defaultView()`]
+|xref:applib:ant:CollectionLayout.adoc#defaultView[`defaultView()`]
 |`table`, `excel`, `calendar`, `map`, ...
 |Which view is selected by default, if multiple views are available.
 
@@ -30,18 +30,18 @@ See the (non-ASF) link:https://platform.incode.org[Incode Platform^] for further
 
 
 
-|xref:rg:ant:CollectionLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:CollectionLayout.adoc#describedAs[`describedAs()`]
 |String.
 |description of this collection, eg to be rendered in a tooltip.
 
 
-|xref:rg:ant:CollectionLayout.adoc#hidden[`hidden()`]
+|xref:applib:ant:CollectionLayout.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the collection should be hidden from the user.
 
 
-|xref:rg:ant:CollectionLayout.adoc#named[named()]
+|xref:applib:ant:CollectionLayout.adoc#named[named()]
 |String.
 |to override the name inferred from the collection's name in code. +
 
@@ -53,12 +53,12 @@ A typical use case is if the desired name is a reserved Java keyword, such as `d
 |whether to HTML escape the name of this property.
 
 
-|xref:rg:ant:CollectionLayout.adoc#paged[`paged()`]
+|xref:applib:ant:CollectionLayout.adoc#paged[`paged()`]
 |Positive integer
 |the page size for instances of this class when rendered within a table.
 
 
-|xref:rg:ant:CollectionLayout.adoc#sortedBy[`sortedBy()`]
+|xref:applib:ant:CollectionLayout.adoc#sortedBy[`sortedBy()`]
 |Subclass of `java.util.Comparator` for element type
 |indicates that the elements in the `java.util.SortedSet` collection should be sorted according to a specified `Comparator` rather than their natural sort order.
 
@@ -97,7 +97,7 @@ As an alternative to using the `@CollectionLayout` annotation, a xref:vw:ROOT:la
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:Property.adoc[`@Property`] and xref:rg:ant: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:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:Property.adoc[`@Property`] and xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/Property/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Property/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
index 1655295..f5467a8 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
@@ -34,8 +34,8 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/defaultView.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/defaultView.adoc
similarity index 92%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/defaultView.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/defaultView.adoc
index a0a7576..e8b23b6 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/defaultView.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/defaultView.adoc
@@ -27,7 +27,7 @@ public class BusRoute {
 
 [NOTE]
 ====
-This attribute takes precedence over any value for the xref:rg:ant:CollectionLayout.adoc#render[`@CollectionLayout#render()`] attribute.  For example, if the
+This attribute takes precedence over any value for the xref:applib:ant:CollectionLayout.adoc#render[`@CollectionLayout#render()`] attribute.  For example, if the
 `defaultView` attribute is defined to "table", then the table will be show even if `render` is set to `LAZILY`.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/describedAs.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/describedAs.adoc
index f6cfb7e..69b69e2 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/describedAs.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 The `describedAs()` attribute is used to provide a short description of the collection to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
 
-The `describedAs()` attribute can also be specified for xref:rg:ant:PropertyLayout.adoc#describedAs[properties], xref:rg:ant:ActionLayout.adoc#describedAs[actions], xref:rg:ant:ParameterLayout.adoc#describedAs[parameters], xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:rg:ant:ViewModelLayout.adoc#describedAs[view models].
+The `describedAs()` attribute can also be specified for xref:applib:ant:PropertyLayout.adoc#describedAs[properties], xref:applib:ant:ActionLayout.adoc#describedAs[actions], xref:applib:ant:ParameterLayout.adoc#describedAs[parameters], xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:applib:ant:ViewModelLayout.adoc#describedAs[view models].
 
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/hidden.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/hidden.adoc
similarity index 89%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/hidden.adoc
index 29269dc..f57c321 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/hidden.adoc
@@ -11,7 +11,7 @@ The `hidden()` attribute indicates where (in the UI) the collection should be hi
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:Collection.adoc#hidden[`@Collection#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:applib:ant:Collection.adoc#hidden[`@Collection#hidden()`] to hide an action at the domain layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -59,5 +59,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ActionLayout.adoc#hidden[actions]
-* xref:rg:ant:PropertyLayout.adoc#hidden[properties].
+* xref:applib:ant:ActionLayout.adoc#hidden[actions]
+* xref:applib:ant:PropertyLayout.adoc#hidden[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/named.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/named.adoc
index 80265f0..450b591 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/named.adoc
@@ -47,9 +47,9 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/paged.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
index 0e0a313..e83bd81 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
@@ -42,5 +42,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#paged[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#paged[view models].
+* xref:applib:ant:DomainObjectLayout.adoc#paged[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#paged[view models].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/sortedBy.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/sortedBy.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/sortedBy.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/sortedBy.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Column.adoc b/core/applib/_adoc/modules/ant/pages/Column.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/Column.adoc
rename to core/applib/_adoc/modules/ant/pages/Column.adoc
index 2b8d50a..eb2a417 100644
--- a/core/_adoc-rg/modules/ant/pages/Column.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Column.adoc
@@ -31,11 +31,11 @@ public class Customer {
     public void setMiddleInitial(String middleInitial) { /* ... */ }
 ----
 
-Isis also provides xref:rg:ant: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.
+Isis also provides xref:applib:ant: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.  Apache Isis rule is straight-forward: properties are assumed to be required.  JDO on the other hand specifies that only primitive types are mandatory; everything else is assumed to be optional.  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:rg:ant:Property.adoc#optionality[`@Property#optionality()`] attribute for discussion on one or two minor edge cases.
+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:applib:ant:Property.adoc#optionality[`@Property#optionality()`] attribute for discussion on one or two minor edge cases.
 
 
 == Length for ``String``s
@@ -58,7 +58,7 @@ public class Customer {
     public void setLastName(String lastName) { /* ... */ }
 ----
 
-Isis also provides xref:rg:ant: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.
+Isis also provides xref:applib:ant: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.
 
 
 
@@ -77,7 +77,7 @@ public class Customer {
     public void setTotalOrdersToDate(BigDecimal totalOrdersToDate) { /* ... */ }
 ----
 
-For ``BigDecimal``s it is also possible to specify the xref:rg:ant:Digits.adoc[`@Digits`] annotation, whose form is `@Digits(integer, fraction)`.
+For ``BigDecimal``s it is also possible to specify the xref: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.
diff --git a/core/_adoc-rg/modules/ant/pages/Digits.adoc b/core/applib/_adoc/modules/ant/pages/Digits.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Digits.adoc
rename to core/applib/_adoc/modules/ant/pages/Digits.adoc
index da1657c..838ccba 100644
--- a/core/_adoc-rg/modules/ant/pages/Digits.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Digits.adoc
@@ -26,7 +26,7 @@ public void setCost(final BigDecimal cost) {
         :null;
 }
 ----
-<1> the xref:rg:ant:Column.adoc[`@Column#scale()`] attribute must be ...
+<1> the xref:applib:ant:Column.adoc[`@Column#scale()`] attribute must be ...
 <2> ... consistent with `@Digits#fraction()`
 <3> the correct idiom when setting a new value is to normalized to the correct scale
 
diff --git a/core/_adoc-rg/modules/ant/pages/Discriminator.adoc b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Discriminator.adoc
rename to core/applib/_adoc/modules/ant/pages/Discriminator.adoc
index 85fcd238..dd3a06c 100644
--- a/core/_adoc-rg/modules/ant/pages/Discriminator.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
@@ -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:rg:ant:Discriminator.adoc[`@Discriminator`]
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref: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/core/_adoc-rg/modules/ant/pages/DomainObject.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/DomainObject.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject.adoc
index c61664f..06f8f41 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
@@ -17,14 +17,14 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainObject.adoc#auditing[`auditing()`]
+|xref:applib:ant:DomainObject.adoc#auditing[`auditing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |indicates whether each of the changed properties of an object should be submitted to the registered
 xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
 
 
-|xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
+|xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
 |Domain service class
 |nominate a method on a domain service to be used for looking up instances of the domain object
 
@@ -35,72 +35,72 @@ xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
 |override the method name to use on the auto-complete repository
 
 
-|xref:rg:ant:DomainObject.adoc#bounding[`bounding()`]
+|xref:applib:ant:DomainObject.adoc#bounding[`bounding()`]
 |`true`, `false` +
 (`false`)
 |Whether the number of instances of this domain class is relatively small (a "bounded" set), such that instances could be selected from a drop-down list box or similar.
 
-|xref:rg:ant:DomainObject.adoc#createdLifecycleEvent[`created-` +
+|xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`created-` +
 `LifecycleEvent()`]
 |subtype of `ObjectCreatedEvent` +
 (`ObjectCreatedEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is created
 
-|xref:rg:ant:DomainObject.adoc#editing[`editing()`]
+|xref:applib:ant:DomainObject.adoc#editing[`editing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the object's properties and collections can be edited or not (ie whether the instance should be considered to be immutable)
 
 
-|xref:rg:ant:DomainObject.adoc#mixinMethod[`mixinMethod()`]
+|xref:applib:ant:DomainObject.adoc#mixinMethod[`mixinMethod()`]
 |Method name within the mixin
 |How to recognize the "reserved" method name, meaning that the mixin's own name will be inferred from the mixin type.
 Typical examples are "exec", "execute", "invoke", "apply" and so on.
 The default "reserved" method name is `$$`.
 
 
-|xref:rg:ant:DomainObject.adoc#nature[`nature()`]
+|xref:applib:ant:DomainObject.adoc#nature[`nature()`]
 |`NOT_SPECIFIED`, `JDO_ENTITY`, `EXTERNAL_ENTITY`, `INMEMORY_ENTITY`, `MIXIN`, `VIEW_MODEL` (`NOT_SPECIFIED`)
 |whether the domain object logically is an entity (part of the domain layer) or is a view model (part of the application layer); or is a mixin.
 If an entity, indicates how its persistence is managed.
 
 
-|xref:rg:ant:DomainObject.adoc#objectType[`objectType()`]
+|xref:applib:ant:DomainObject.adoc#objectType[`objectType()`]
 |(none, which implies fully qualified class name)
 |specify an alias for the domain class used to uniquely identify the object both within the Apache Isis runtime and externally
 
 
-|xref:rg:ant:DomainObject.adoc#persistedLifecycleEvent[`persisted-` +
+|xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`persisted-` +
 `LifecycleEvent()`]
 |subtype of `ObjectPersistedEvent` +
 (`ObjectPersistedEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been persisted
 
-|xref:rg:ant:DomainObject.adoc#persistingLifecycleEvent[`persisting-` +
+|xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`persisting-` +
 `LifecycleEvent()`]
 |subtype of `ObjectPersistingEvent` +
 (`ObjectPersistingEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be persisted
 
-|xref:rg:ant:DomainObject.adoc#publishing[`publishing()`]
+|xref:applib:ant:DomainObject.adoc#publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether changes to the object should be published to the registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 
-|xref:rg:ant:DomainObject.adoc#removingLifecycleEvent[`removing-` +
+|xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`removing-` +
 `LifecycleEvent()`]
 |subtype of `ObjectRemovingEvent` +
 (`ObjectRemovingEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be deleted
 
-|xref:rg:ant:DomainObject.adoc#updatedLifecycleEvent[`updated-` +
+|xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`updated-` +
 `LifecycleEvent()`]
 |subtype of `ObjectUpdatedEvent` +
 (`ObjectUpdatedEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been updated
 
-|xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`updating-` +
+|xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`updating-` +
 `LifecycleEvent()`]
 |subtype of `ObjectUpdatingEvent` +
 (`ObjectUpdatingEvent.Default`)
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/actionDomainEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/actionDomainEvent.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/actionDomainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/actionDomainEvent.adoc
index 1754e3c..6a1b2fd 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/actionDomainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/actionDomainEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever an action of a domain object is interacted with then a domain event will be fired, for each of the various phases (hidden, disabled, validated, executing, executed).
-Using xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], the actual domain event class fired can be customised.
+Using xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], the actual domain event class fired can be customised.
 the `@DomainObject#actionDomainEvent()` attribute allows a common event domain class to be fired for all of the actions of the domain object.
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/auditing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/auditing.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/autoCompleteRepository.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
index b5ab69a..feb8ee8 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
@@ -78,7 +78,7 @@ public class Customers {
 ----
 <1> end-user must enter minimum number of characters to trigger the query
 
-The autocomplete action can also be a regular method, annotated using xref:rg:ant:Programmatic.adoc[`@Programmatic`]:
+The autocomplete action can also be a regular method, annotated using xref:applib:ant:Programmatic.adoc[`@Programmatic`]:
 
 [source,java]
 ----
@@ -96,7 +96,7 @@ public class Customers {
 [IMPORTANT]
 ====
 The method specified must be an action, that is, part of the Isis metamodel.
-Said another way: it must not be annotated with xref:rg:ant:Programmatic.adoc[`@Programmatic`].
-However, it *can* be hidden or placed on a domain service with xref:rg:ant:DomainService.adoc#nature[nature] of `DOMAIN`, such that the action would not be rendered otherwise in the UI.
-Also, the action cannot be xref:rg:ant:Action.adoc#restrictTo[restricted to] prototyping only.
+Said another way: it must not be annotated with xref:applib:ant:Programmatic.adoc[`@Programmatic`].
+However, it *can* be hidden or placed on a domain service with xref:applib:ant:DomainService.adoc#nature[nature] of `DOMAIN`, such that the action would not be rendered otherwise in the UI.
+Also, the action cannot be xref:applib:ant:Action.adoc#restrictTo[restricted to] prototyping only.
 ====
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/bounding.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/bounding.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
index 90fc016..f9da1dc 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/bounding.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
@@ -32,7 +32,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:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:rg:ant: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:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`] attribute instead.
 ====
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/collectionDomainEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
index c219cb3..6215226 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a collection of a domain object is interacted with then a domain event will be fired, for each of the various phases (hidden, disabled, validated, executing, executed).
-Using xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`], the actual domain event class fired can be customised.
+Using xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`], the actual domain event class fired can be customised.
 the `@DomainObject#collectionDomainEvent()` attribute allows a common event domain class to be fired for all of the collections of the domain object.
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/editing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/editing.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/mixinMethod.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/mixinMethod.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/mixinMethod.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/mixinMethod.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/nature.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/nature.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
index 5aff25a..b3e3771 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/nature.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
@@ -48,7 +48,7 @@ The framework will automatically recreate the domain object each time it is inte
 +
 indicates that the domain object is part of the domain layer, and is contributing behaviour to objects of some other type as a mixin (also known as a trait).
 +
-Equivalent to annotating with xref:rg:ant:Mixin.adoc[`@Mixin`].
+Equivalent to annotating with xref:applib:ant:Mixin.adoc[`@Mixin`].
 For further discussion on using mixins, see xref:ug:fun:building-blocks.adoc#mixins[mixins] in the user guide.
 
 
@@ -57,7 +57,7 @@ For further discussion on using mixins, see xref:ug:fun:building-blocks.adoc#mix
 indicates that the domain object is conceptually part of the application layer, and exists to surfaces behaviour and/or state that is aggregate of one or more domain entities.
 
 Those natures that indicate the domain object is an entity (of some sort or another) mean then that the domain object is considered to be part of the domain model layer.
-As such the domain object's class cannot be annotated with xref:rg:ant:ViewModel.adoc[`@ViewModel`] or implement the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.
+As such the domain object's class cannot be annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`] or implement the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.
 
 
 [NOTE]
@@ -71,7 +71,7 @@ The benefit of `nature()` is that it allows the developer to properly characteri
 
 [NOTE]
 ====
-On the other hand, view models defined in this way do have some limitations; see xref:rg:ant:ViewModel.adoc[`@ViewModel`] for further discussion.
+On the other hand, view models defined in this way do have some limitations; see xref:applib:ant:ViewModel.adoc[`@ViewModel`] for further discussion.
 
 These limitations do _not_ apply to xref:ug:fun:programming-model.adoc#jaxb[JAXB] view models.
 If you are using view models heavily, you may wish to restrict yourself to just the JAXB flavour.
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/objectType.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
index a4e6a02..552622b 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
@@ -39,9 +39,9 @@ public class Order {
 
 The rules of precedence are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
+3. xref: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/core/_adoc-rg/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/propertyDomainEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
index 504473e..2b5d470 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a property of a domain object is interacted with then a domain event will be fired, for each of the various phases (hidden, disabled, validated, executing, executed).
-Using xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`], the actual domain event class fired can be customised.
+Using xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`], the actual domain event class fired can be customised.
 the `@DomainObject#propertyDomainEvent()` attribute allows a common event domain class to be fired for all of the properties of the domain object.
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/publishing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/publishing.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
index 09fe5e7..f8e5f6c 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
@@ -45,10 +45,10 @@ public class InterestRate {
 
 This attribute is also supported for:
 
-* xref:rg:ant:Action.adoc#publishing[actions]
+* xref:applib:ant:Action.adoc#publishing[actions]
 +
 where it controls whether action invocations are published as events, and for
 
-* xref:rg:ant:Property.adoc#publishing[properties]
+* xref:applib:ant:Property.adoc#publishing[properties]
 +
 where it controls whether property edits are published as events.
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
index 52526a2..25128df 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
@@ -9,7 +9,7 @@ The `@DomainObjectLayout` annotation applies to domain classes, collecting toget
 
 [NOTE]
 ====
-For view models that have been annotated with `@ViewModel` the equivalent xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`] can be used.
+For view models that have been annotated with `@ViewModel` the equivalent xref:applib:ant:ViewModelLayout.adoc[`@ViewModelLayout`] can be used.
 ====
 
 
@@ -24,18 +24,18 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#bookmarking[`bookmarking()`]
+|xref:applib:ant:DomainObjectLayout.adoc#bookmarking[`bookmarking()`]
 |`AS_ROOT`, `AS_CHILD`, `NEVER` +
 (`NEVER`)
 |whether (and how) this domain object should be automatically bookmarked
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#cssclass[`cssClass()`]
+|xref:applib:ant:DomainObjectLayout.adoc#cssclass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a domain class (type) should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa()`]
+|xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa()`]
 |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name
 |specify a font awesome icon for the action's menu link or icon. +
 
@@ -46,43 +46,43 @@ The table below summarizes the annotation's attributes.
 |Currently unused.
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
 |subtype of `CssClassUiEvent` +
 (`CssClassUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
 
-|xref:rg:ant:DomainObjectLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:DomainObjectLayout.adoc#describedAs[`describedAs()`]
 |String.
 |description of this class, eg to be rendered in a tooltip.
 
-|xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`]
 |subtype of `IconUiEvent` +
 (`IconUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
 
-|xref:rg:ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
 |subtype of `LayoutUiEvent` +
 (`LayoutUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
 
-|xref:rg:ant:DomainObjectLayout.adoc#named[`named()`]
+|xref:applib:ant:DomainObjectLayout.adoc#named[`named()`]
 |String.
 |to override the name inferred from the action's name in code. +
 
 A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#paged[`paged()`]
+|xref:applib:ant:DomainObjectLayout.adoc#paged[`paged()`]
 |Positive integer
 |the page size for instances of this class when rendered within a table (as returned from an action invocation)
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#plural[`plural()`]
+|xref:applib:ant:DomainObjectLayout.adoc#plural[`plural()`]
 |String.
 |the plural name of the class
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent()`]
 |subtype of `TitleUiEvent` +
 (`TitleUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Parameter/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/bookmarking.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
index 89448eb..fd6f36b 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `bookmarking()` attribute indicates that an entity is automatically bookmarked.
-This attribute is also supported for  xref:rg:ant:Action.adoc#bookmarking[domain objects].
+This attribute is also supported for  xref:applib:ant:Action.adoc#bookmarking[domain objects].
 
 (In the Wicket viewer), a link to a bookmarked object is shown in the bookmarks panel:
 
@@ -67,5 +67,5 @@ The nesting can be done to any level; the Estatio screenshot also shows a bookma
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#bookmarking[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#bookmarking[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
similarity index 69%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
index 505b316..456c9f6 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
@@ -26,7 +26,7 @@ public class ToDoItem { /* ... */ }
 
 [NOTE]
 ====
-The similar xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] annotation attribute 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:applib:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] annotation attribute 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.
 ====
 
 
@@ -35,9 +35,9 @@ The similar xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties],
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties],
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
index c81ba23..c04bed8 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
@@ -32,7 +32,7 @@ The related `cssClassFaPosition()` attribute is currently unused for domain obje
 
 [TIP]
 ====
-The similar xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
+The similar xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
 ====
 
 
@@ -40,6 +40,6 @@ The similar xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cs
 
 These attributes can also be applied to:
 
-* xref:rg:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon, and
-* xref:rg:ant:ActionLayout.adoc#cssClassFa[actions] to specify an icon for the action's representation as a button or menu item.
+* xref:applib:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon, and
+* xref:applib:ant:ActionLayout.adoc#cssClassFa[actions] to specify an icon for the action's representation as a button or menu item.
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
index 93039cc..2d3e2ee 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
@@ -14,7 +14,7 @@ From this they can, if they wish, specify a CSS class for the domain object usin
 
 [NOTE]
 ====
-The feature was originally introduced so that xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
+The feature was originally introduced so that xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
 UI events allow subscribers to provide UI hints, while xref:ug:fun:building-blocks.adoc#mixins[mixin]s can be used to provide the behaviour.
 ====
 
@@ -120,5 +120,5 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#cssClassUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/describedAs.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/describedAs.adoc
index 8fd4962..0434ab5 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/describedAs.adoc
@@ -26,9 +26,9 @@ public class ProspectiveSale {
 
 The attribute can also be specified for:
 
-* xref:rg:ant:CollectionLayout.adoc#describedAs[collections]
-* xref:rg:ant:PropertyLayout.adoc#describedAs[properties]
-* xref:rg:ant:ActionLayout.adoc#describedAs[actions]
-* xref:rg:ant:ParameterLayout.adoc#describedAs[parameters] and
-* xref:rg:ant:ViewModelLayout.adoc#describedAs[view models].
+* xref:applib:ant:CollectionLayout.adoc#describedAs[collections]
+* xref:applib:ant:PropertyLayout.adoc#describedAs[properties]
+* xref:applib:ant:ActionLayout.adoc#describedAs[actions]
+* xref:applib:ant:ParameterLayout.adoc#describedAs[parameters] and
+* xref:applib:ant:ViewModelLayout.adoc#describedAs[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
index 8035739..a08673e 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
@@ -15,7 +15,7 @@ From this they can, if they wish, specify an icon name for the domain object usi
 
 [NOTE]
 ====
-The feature was originally introduced so that xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
+The feature was originally introduced so that xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
 UI events allow subscribers to provide UI hints, while xref:ug:fun:building-blocks.adoc#mixins[mixin]s can be used to provide the behaviour.
 ====
 
@@ -115,5 +115,5 @@ However, events can be raised programmatically by calling the xref:rg:svc:core-d
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#iconNameUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#iconNameUiEvent[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
index 4287cd7..8dece2f 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
@@ -114,5 +114,5 @@ However, events can be raised programmatically by calling the xref:rg:svc:core-d
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#layoutUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/named.adoc
similarity index 75%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/named.adoc
index 1062d55..b9ba7ac 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/named.adoc
@@ -28,7 +28,7 @@ public class CustomerImpl implements Customer{
 }
 ----
 
-It's also possible to specify a xref:rg:ant:DomainObjectLayout.adoc#plural[plural form] of the name, used by the framework when rendering a standalone collection of the domain object.
+It's also possible to specify a xref:applib:ant:DomainObjectLayout.adoc#plural[plural form] of the name, used by the framework when rendering a standalone collection of the domain object.
 
 
 [TIP]
@@ -41,9 +41,9 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 The attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/paged.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
index ed54591..16e49c7 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
@@ -38,5 +38,5 @@ It is also possible to specify a global default for the page size of standalone
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ViewModelLayout.adoc#paged[view models], and
-* xref:rg:ant:CollectionLayout.adoc#paged[collections]
+* xref:applib:ant:ViewModelLayout.adoc#paged[view models], and
+* xref:applib:ant:CollectionLayout.adoc#paged[collections]
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/plural.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/plural.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/plural.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/plural.adoc
index e98bf88..111604a 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/plural.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/plural.adoc
@@ -23,5 +23,5 @@ public class Child {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:ViewModelLayout.adoc#plural[view models].
+This attribute is also supported for xref:applib:ant:ViewModelLayout.adoc#plural[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
index 6264bd4..d2c1a24 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is to be rendered, the framework fires off a title UI event to obtain a title for the object.
-This is as an alternative to implementing xref:rg:cms:methods.adoc#title[`title()`] reserved method, or using the xref:rg:ant:Title.adoc[`@Title`] annotation, within the class itself.
+This is as an alternative to implementing xref:rg:cms:methods.adoc#title[`title()`] reserved method, or using the xref:applib:ant:Title.adoc[`@Title`] annotation, within the class itself.
 (If either `title()` or `@Title` are present, then they will take precedence).
 
 Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can
@@ -15,7 +15,7 @@ From this they can, if they wish, specify a title for the domain object using th
 
 [NOTE]
 ====
-The feature was originally introduced so that xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
+The feature was originally introduced so that xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
 UI events allow subscribers to provide UI hints, while xref:ug:fun:building-blocks.adoc#mixins[mixin]s can be used to provide the behaviour.
 ====
 
@@ -114,4 +114,4 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#titleUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[view models].
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService.adoc b/core/applib/_adoc/modules/ant/pages/DomainService.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/DomainService.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService.adoc
index 344496f..180001e 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainService.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService.adoc
@@ -20,26 +20,26 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainService.adoc#nature[`nature()`]
+|xref:applib:ant:DomainService.adoc#nature[`nature()`]
 |`VIEW`, `VIEW_MENU_ONLY`, `VIEW_CONTRIBUTIONS_ONLY`, `VIEW_REST_ONLY`, `DOMAIN` (`VIEW`)
 |the nature of this service: providing actions for menus, or as contributed actions, or for the xref:vro:ROOT:about.adoc[RestfulObjects REST API], or neither
 
 
-|xref:rg:ant:DomainService.adoc#objectType[`objectType()`]
+|xref:applib:ant:DomainService.adoc#objectType[`objectType()`]
 |
-|equivalent to xref:rg:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`], specifies the objectType of the service.
+|equivalent to xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`], specifies the objectType of the service.
 
 The instanceId for services is always "1".
 
 
-|xref:rg:ant:DomainService.adoc#repositoryFor[`repositoryFor()`]
+|xref:applib:ant:DomainService.adoc#repositoryFor[`repositoryFor()`]
 |
 |if this domain service acts as a repository for an entity type, specify that entity type.  This is used to determine an icon to use for the service (eg as shown in action prompts).
 
 
 |`menuOrder()`
 |
-|Deprecated in 1.8.0; use instead xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
+|Deprecated in 1.8.0; use instead xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
 
 |===
 
diff --git a/core/_adoc-rg/modules/ant/pages/Mixin/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Mixin/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/nature.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/nature.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/DomainService/nature.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/nature.adoc
index 16fbeed..00f6578 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainService/nature.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService/nature.adoc
@@ -23,7 +23,7 @@ The service's actions appear on menus and in the REST API, but are not contribut
 +
 The service's actions are intended only to be used as contributed actions/associations to domain objects and view model
 +
-The related xref:rg:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`] determines whether any given (1-arg) action is contributed as an association rather than an action.
+The related xref:applib:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`] determines whether any given (1-arg) action is contributed as an association rather than an action.
 
 * `VIEW_REST_ONLY` +
 +
@@ -70,7 +70,7 @@ public class LoanRepository {                                  // <1>
 }
 ----
 <1> `Repository` as a suffix for a domain-layer service
-<2> methods on `DOMAIN` services are often xref:rg:ant:Programmatic.adoc[`@Programmatic`]; they will never be exposed in the UI, so there's little point in including them in Apache Isis' metamodel
+<2> methods on `DOMAIN` services are often xref:applib:ant:Programmatic.adoc[`@Programmatic`]; they will never be exposed in the UI, so there's little point in including them in Apache Isis' metamodel
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainService/objectType.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/repositoryFor.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/repositoryFor.adoc
similarity index 90%
rename from core/_adoc-rg/modules/ant/pages/DomainService/repositoryFor.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/repositoryFor.adoc
index 7cf2632..26d4216 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainService/repositoryFor.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService/repositoryFor.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `repositoryFor()` attribute is intended for domain services (probably with a xref:rg:ant:DomainService.adoc#nature[`nature=DOMAIN`]) that are intended to act as repositories for domain entities.
+The `repositoryFor()` attribute is intended for domain services (probably with a xref:applib:ant:DomainService.adoc#nature[`nature=DOMAIN`]) that are intended to act as repositories for domain entities.
 
 For example:
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout.adoc
similarity index 92%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout.adoc
index 7aebf7b..329a309 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout.adoc
@@ -23,17 +23,17 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`]
+|xref:applib:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`]
 |`PRIMARY`, `SECONDARY`, `TERTIARY` (`PRIMARY`).
 |the menubar in which the menu that holds this service's actions should reside.
 
 
-|xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`]
+|xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`]
 |
 |the order of the service's menu with respect to other service's.
 
 
-|xref:rg:ant:DomainServiceLayout.adoc#named[`named()`]
+|xref:applib:ant:DomainServiceLayout.adoc#named[`named()`]
 |string, eg "Customers"
 |name of this class (overriding the name derived from its name in code)
 
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuBar.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuBar.adoc
index 7102e6e..9d0b2ab 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuBar.adoc
@@ -33,7 +33,7 @@ Domain services placed on the `TERTIARY` appear in the menu bar associated with
 image::reference-annotations/DomainServiceLayout/menuBar-tertiary.png[width="720px",link="{imagesdir}/reference-annotations/DomainServiceLayout/menuBar-tertiary.png"]
 
 
-The grouping of multiple domain services actions within a single drop-down is managed by the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+The grouping of multiple domain services actions within a single drop-down is managed by the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 
 
 [NOTE]
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuOrder.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
index 3da7b39..8efc5af 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
@@ -11,8 +11,8 @@ The `menuOrder()` attribute determines the ordering of a domain service's action
 
 The algorithm works as follows:
 
-* first, the xref:rg:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`] determines which of the three menu bars the service's actions should be rendered
-* then, the domain service's top-level name (typically explicitly specified using xref:rg:ant:DomainServiceLayout.adoc#named[`named()`]) is used to determine the top-level menu item to be rendered on the menu bar
+* first, the xref:applib:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`] determines which of the three menu bars the service's actions should be rendered
+* then, the domain service's top-level name (typically explicitly specified using xref:applib:ant:DomainServiceLayout.adoc#named[`named()`]) is used to determine the top-level menu item to be rendered on the menu bar
 * finally, if there is more than domain service that has the same name, then the `menuOrder` attribute is used to order those actions on the menu item drop-down.
 
 For example, the screenshot below shows the "prototyping" menu from the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp]:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/named.adoc
similarity index 75%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/named.adoc
index fcd5015..54a9cef 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/named.adoc
@@ -12,7 +12,7 @@ The `named()` attribute explicitly specifies the domain service's name, overridi
 [TIP]
 ====
 The value of this attribute also has an important role to play in the positioning of the domain service's actions relative to the actions of other domain services.
-See xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`] for a full discussion with examples.
+See xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`] for a full discussion with examples.
 ====
 
 For example:
@@ -33,9 +33,9 @@ public class CustomerRepository {
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models].
diff --git a/core/_adoc-rg/modules/ant/pages/Facets.adoc b/core/applib/_adoc/modules/ant/pages/Facets.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Facets.adoc
rename to core/applib/_adoc/modules/ant/pages/Facets.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/HomePage.adoc b/core/applib/_adoc/modules/ant/pages/HomePage.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/HomePage.adoc
rename to core/applib/_adoc/modules/ant/pages/HomePage.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Inject.adoc b/core/applib/_adoc/modules/ant/pages/Inject.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ant/pages/Inject.adoc
rename to core/applib/_adoc/modules/ant/pages/Inject.adoc
index c755f65..2b1bab3 100644
--- a/core/_adoc-rg/modules/ant/pages/Inject.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Inject.adoc
@@ -9,7 +9,7 @@ In fact, it also injects domain services into xref:integ-test-support:ROOT:about
 
 [NOTE]
 ====
-One omission: Apache Isis (currently) does not inject services into `o.a.i.applib.spec.Specification` instances (as used by xref:rg:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] and xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] annotations.
+One omission: Apache Isis (currently) does not inject services into `o.a.i.applib.spec.Specification` instances (as used by xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] and xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] annotations.
 ====
 
 Apache Isis supports several syntaxes for injecting domain services.
diff --git a/core/_adoc-rg/modules/ant/pages/MemberGroupLayout.adoc b/core/applib/_adoc/modules/ant/pages/MemberGroupLayout.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/MemberGroupLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberGroupLayout.adoc
index 61d6590..df25662 100644
--- a/core/_adoc-rg/modules/ant/pages/MemberGroupLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/MemberGroupLayout.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The `@MemberGroupLayout` annotation specifies how an object's properties and collections are grouped together into columns, also specifying the relative positioning of those columns.  It works in conjunction with the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
+The `@MemberGroupLayout` annotation specifies how an object's properties and collections are grouped together into columns, also specifying the relative positioning of those columns.  It works in conjunction with the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
 
 The annotation defines four attributes:
 
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder.adoc
similarity index 71%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder.adoc
index 3802115..6c1c740 100644
--- a/core/_adoc-rg/modules/ant/pages/MemberOrder.adoc
+++ b/core/applib/_adoc/modules/ant/pages/MemberOrder.adoc
@@ -6,20 +6,20 @@ include::_attributes.adoc[]
 // TODO: v2: replace @MemberOrder#name() with @PropertyLayout#group(); replace @MemberOrder#sequence() with @PropertyLayout#sequence().
 
 The `@MemberOrder` annotation is used to specify the relative order of domain object members, that is: properties, collections and actions.
-It works in conjunction with the xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation.
+It works in conjunction with the xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation.
 
 
 The annotation defines two attributes:
 
-* xref:rg:ant:MemberOrder.adoc#name[`name()`]
-* xref:rg:ant:MemberOrder.adoc#sequence[`sequence()`]
+* xref:applib:ant:MemberOrder.adoc#name[`name()`]
+* xref:applib:ant:MemberOrder.adoc#sequence[`sequence()`]
 
 As this is an important topic, there is a xref:vw:ROOT:layout.adoc[separate chapter] that discussed object layout in full.
 
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:rg:ant:Property.adoc[`@Property`]) and xref:rg:ant: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:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:Property.adoc[`@Property`]) and xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder/name.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder/name.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder/name.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder/name.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder/sequence.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder/sequence.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder/sequence.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder/sequence.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/MinLength.adoc b/core/applib/_adoc/modules/ant/pages/MinLength.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MinLength.adoc
rename to core/applib/_adoc/modules/ant/pages/MinLength.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Mixin.adoc b/core/applib/_adoc/modules/ant/pages/Mixin.adoc
similarity index 92%
rename from core/_adoc-rg/modules/ant/pages/Mixin.adoc
rename to core/applib/_adoc/modules/ant/pages/Mixin.adoc
index 443e26e..ffc18ae 100644
--- a/core/_adoc-rg/modules/ant/pages/Mixin.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Mixin.adoc
@@ -23,7 +23,7 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Mixin.adoc#method[`method()`]
+|xref:applib:ant:Mixin.adoc#method[`method()`]
 |Method name within the mixin
 |How to recognize the "reserved" method name, meaning that the mixin's own name will be inferred from the mixin type.
 Typical examples are "exec", "execute", "invoke", "apply" and so on.
@@ -32,7 +32,7 @@ The default "reserved" method name is `$$`.
 |===
 
 An alternative and equivalent approach is to use the
-xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] annotation with a nature of `MIXIN`.
+xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] annotation with a nature of `MIXIN`.
 
 
 include::Mixin/method.adoc[leveloffset=+1]
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Mixin/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainService/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Mixin/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Mixin/method.adoc b/core/applib/_adoc/modules/ant/pages/Mixin/method.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Mixin/method.adoc
rename to core/applib/_adoc/modules/ant/pages/Mixin/method.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/NotPersistent.adoc b/core/applib/_adoc/modules/ant/pages/NotPersistent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/NotPersistent.adoc
rename to core/applib/_adoc/modules/ant/pages/NotPersistent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Nullable.adoc b/core/applib/_adoc/modules/ant/pages/Nullable.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/Nullable.adoc
rename to core/applib/_adoc/modules/ant/pages/Nullable.adoc
index c111225..e4f1efa 100644
--- a/core/_adoc-rg/modules/ant/pages/Nullable.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Nullable.adoc
@@ -32,16 +32,16 @@ public Customer updateName(@javax.annotation.Nullable final String name) {
 ----
 
 Apache Isis does provide several other ways to specify optionality: using the
-xref:rg:ant:Property.adoc#optionality[`@Property#optionality()`] /
-xref:rg:ant:Parameter.adoc#optionality[`@Parameter#optionality()`] annotation.  For properties, the optionality
-can also be inferred from the xref:rg:ant:Column#allowsNull.adoc[`@Column#allowsNull()`] attribute.
+xref:applib:ant:Property.adoc#optionality[`@Property#optionality()`] /
+xref:applib:ant:Parameter.adoc#optionality[`@Parameter#optionality()`] annotation.  For properties, the optionality
+can also be inferred from the xref:applib:ant:Column#allowsNull.adoc[`@Column#allowsNull()`] attribute.
 
 [TIP]
 ====
 See the
-xref:rg:ant:Property.adoc#optionality[`@Property#optionality()`] documentation for a much fuller discussion on
+xref:applib:ant:Property.adoc#optionality[`@Property#optionality()`] documentation for a much fuller discussion on
 the relationship between using the Apache Isis annotations vs
-xref:rg:ant:Column#allowsNull.adoc[`@Column#allowsNull()`].
+xref:applib:ant:Column#allowsNull.adoc[`@Column#allowsNull()`].
 ====
 
 If more than one method is specified then the framework will validate that there are no incompatibilities (and fail to
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter.adoc b/core/applib/_adoc/modules/ant/pages/Parameter.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/Parameter.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter.adoc
index 2ef1b50..8699928 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter.adoc
@@ -16,7 +16,7 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Parameter.adoc#fileAccept[`fileAccept()`]
+|xref:applib:ant:Parameter.adoc#fileAccept[`fileAccept()`]
 |Media type or file extension
 |Hints the file type to be uploaded for xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
  or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`]. +
@@ -25,23 +25,23 @@ The table below summarizes the annotation's attributes.
 
 
 
-|xref:rg:ant:Parameter.adoc#maxLength[`maxLength()`]
+|xref:applib:ant:Parameter.adoc#maxLength[`maxLength()`]
 |Positive integer
 |maximum number of characters for string parameters; ignored otherwise
 
 
 
-|xref:rg:ant:Parameter.adoc#mustSatisfy[`mustSatisfy()`]
+|xref:applib:ant:Parameter.adoc#mustSatisfy[`mustSatisfy()`]
 |implementation of `o.a.i.applib.spec.Specification`
 |allows arbitrary validation to be applied
 
 
-|xref:rg:ant:Parameter.adoc#optionality[`optionality()`]
+|xref:applib:ant:Parameter.adoc#optionality[`optionality()`]
 |`MANDATORY`, `OPTIONAL` (`MANDATORY`)
 |specifies a parameter is optional rather than mandatory
 
 
-|xref:rg:ant:Parameter.adoc#regexPattern[regexPattern()]
+|xref:applib:ant:Parameter.adoc#regexPattern[regexPattern()]
 |regular expression
 |validates the contents of a string parameter against the regular expression pattern
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/fileAccept.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ant/pages/Parameter/fileAccept.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
index ac543f3..f3acdd0 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/fileAccept.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `fileAccept()` attribute applies only to xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
 or xref:rg:cms: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:rg:ant:Property.adoc#fileAccept[properties].
+uploading a new value.   The attribute is also supported on xref:applib:ant:Property.adoc#fileAccept[properties].
 
 For example:
 
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/maxLength.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/maxLength.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/Parameter/maxLength.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/maxLength.adoc
index 6fcab84..09b6b78 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/maxLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/maxLength.adoc
@@ -32,4 +32,4 @@ public class CustomerRepository {
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:Property.adoc#maxLength[properties].
+This attribute can also be applied to xref:applib:ant:Property.adoc#maxLength[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/mustSatisfy.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/mustSatisfy.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Parameter/mustSatisfy.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/mustSatisfy.adoc
index 895b90f..506a5fe 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/mustSatisfy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/mustSatisfy.adoc
@@ -6,11 +6,11 @@ include::_attributes.adoc[]
 
 
 
-The `mustSatisfy()` attribute allows arbitrary validation to be applied to parameters using an (implementation of a) `org.apache.isis.applib.spec.Specification` object.  The attribute is also supported on xref:rg:ant:Property.adoc#mustSatisfy[properties].
+The `mustSatisfy()` attribute allows arbitrary validation to be applied to parameters using an (implementation of a) `org.apache.isis.applib.spec.Specification` object.  The attribute is also supported on xref:applib:ant:Property.adoc#mustSatisfy[properties].
 
 [TIP]
 ====
-The specification implementations can (of course) be reused between parameters and xref:rg:ant:Property.adoc#mustSatisfy[properties].
+The specification implementations can (of course) be reused between parameters and xref:applib:ant:Property.adoc#mustSatisfy[properties].
 ====
 
 The `Specification` is consulted during validation, being passed the proposed value.  If the proposed value fails, then the value returned is the used as the invalidity reason.
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/optionality.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/optionality.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/Parameter/optionality.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/optionality.adoc
index 2a0852e..b12893a 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/optionality.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/optionality.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 
-By default, Apache Isis assumes that all parameters of an action are required (mandatory).  The `optionality()` attribute allows this to be relaxed.  The attribute is also supported for xref:rg:ant:Property.adoc#optionality[properties].
+By default, Apache Isis assumes that all parameters of an action are required (mandatory).  The `optionality()` attribute allows this to be relaxed.  The attribute is also supported for xref:applib:ant:Property.adoc#optionality[properties].
 
 
 [TIP]
@@ -38,5 +38,5 @@ public class Customer {
 
 [NOTE]
 ====
-It is also possible to specify optionality using xref:rg:ant:Nullable.adoc[`@Nullable`] annotation.
+It is also possible to specify optionality using xref:applib:ant:Nullable.adoc[`@Nullable`] annotation.
 ====
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/regexPattern.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/regexPattern.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Parameter/regexPattern.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/regexPattern.adoc
index 4fea078..25cb5d3 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/regexPattern.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/regexPattern.adoc
@@ -39,4 +39,4 @@ public class Customer {
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Property.adoc#regexPattern[properties].
+This attribute can also be specified for xref:applib:ant:Property.adoc#regexPattern[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
index 9f49077..4524f15 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
@@ -17,33 +17,33 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:ParameterLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:ParameterLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a parameter should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:ParameterLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:ParameterLayout.adoc#describedAs[`describedAs()`]
 |String
 |description of this parameter, eg to be rendered in a tooltip.
 
 
-|xref:rg:ant:ParameterLayout.adoc#labelPosition[`labelPosition()`]
+|xref:applib:ant:ParameterLayout.adoc#labelPosition[`labelPosition()`]
 |`LEFT`, `TOP`, `RIGHT`, `NONE` +
 (`LEFT`)
 |in forms, the positioning of the label relative to the property value. +
 
-Default is `LEFT`, unless xref:rg:ant:ParameterLayout.adoc#multiLine[`multiLine`] in which case `TOP`.
+Default is `LEFT`, unless xref:applib:ant:ParameterLayout.adoc#multiLine[`multiLine`] in which case `TOP`.
 The value `RIGHT` is only supported for boolean parameters.
 
 
-|xref:rg:ant:ParameterLayout.adoc#multiLine[`multiLine()`]
+|xref:applib:ant:ParameterLayout.adoc#multiLine[`multiLine()`]
 |Positive integer
 |for string parameters, render as a text area over multiple lines. +
 
-If set > 1, then then xref:rg:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP`.
+If set > 1, then then xref:applib:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP`.
 
 
-|xref:rg:ant:ParameterLayout.adoc#named[`named()`]
+|xref:applib:ant:ParameterLayout.adoc#named[`named()`]
 |String
 |the name of this parameter.
 
@@ -61,12 +61,12 @@ The only reason then to name the parameter is if the desired name is a reserved
 |whether to HTML escape the name of this parameter.
 
 
-|xref:rg:ant:ParameterLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
+|xref:applib:ant:ParameterLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
 |
 |for date parameters only, render the date as one day prior to the actually stored date (eg the end date of an open interval into a closed interval)
 
 
-|xref:rg:ant:ParameterLayout.adoc#typicalLength[`typicalLength()`]
+|xref:applib:ant:ParameterLayout.adoc#typicalLength[`typicalLength()`]
 |
 |the typical entry length of a field, use to determine the optimum width for display
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
index fe6ff9f..ad66fc0 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
@@ -32,9 +32,9 @@ public class ToDoItem {
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties],
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties],
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/describedAs.adoc
similarity index 82%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/describedAs.adoc
index 783d0ec..68aeb8a 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/describedAs.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `describedAs()` attribute is used to provide a short description of the action parameter to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.  The `describedAs()` attribute can also be specified for xref:rg:ant:CollectionLayout.adoc#describedAs[collections],  xref:rg:ant:PropertyLayout.adoc#describedAs[properties], xref:rg:ant:ActionLayout.adoc#describedAs[actions], xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:rg:ant [...]
+The `describedAs()` attribute is used to provide a short description of the action parameter to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.  The `describedAs()` attribute can also be specified for xref:applib:ant:CollectionLayout.adoc#describedAs[collections],  xref:applib:ant:PropertyLayout.adoc#describedAs[properties], xref:applib:ant:ActionLayout.adoc#describedAs[actions], xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects] [...]
 
 Descriptions may be provided for objects, members (properties, collections and actions), and for individual parameters within an action method.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/labelPosition.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/labelPosition.adoc
similarity index 78%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/labelPosition.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/labelPosition.adoc
index 4b3178d..1b27d7b 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/labelPosition.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/labelPosition.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `labelPosition()` attribute 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:rg:ant: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 positioning of labels is typically `LEFT`, but can be positioned to the `TOP`.  The one exception is xref:applib:ant: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.
 
@@ -36,10 +36,10 @@ public class Order {
 ----
 
 
-To get an idea of how these are rendered (in the xref:vw:ROOT:about.adoc[Wicket viewer]), see xref:rg:ant:PropertyLayout.adoc#labelPosition[PropertyLayout#labelPosition()].
+To get an idea of how these are rendered (in the xref:vw:ROOT:about.adoc[Wicket viewer]), see xref:applib:ant:PropertyLayout.adoc#labelPosition[PropertyLayout#labelPosition()].
 
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:PropertyLayout.adoc#labelPosition[properties].
+This attribute can also be specified for xref:applib:ant:PropertyLayout.adoc#labelPosition[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/multiLine.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/multiLine.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/multiLine.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/multiLine.adoc
index bd87b01..f09ae42 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/multiLine.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/multiLine.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `multiLine()` attribute specifies that the text field for a string parameter should span multiple lines.  It is ignored for other parameter types.  The attribute is also supported for xref:rg:ant:PropertyLayout.adoc#multiLine[properties].
+The `multiLine()` attribute specifies that the text field for a string parameter should span multiple lines.  It is ignored for other parameter types.  The attribute is also supported for xref:applib:ant:PropertyLayout.adoc#multiLine[properties].
 
 For example:
 
@@ -27,6 +27,6 @@ public class BugReport {
 
 [NOTE]
 ====
-If set > 1 (as would normally be the case), then the default xref:rg:ant: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:applib:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/named.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/named.adoc
index 7f37bdf..b82e817 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/named.adoc
@@ -51,10 +51,10 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
index 4d137b6..0d605c8 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
@@ -38,5 +38,5 @@ public class Tenancy {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:PropertyLayout.adoc#renderedAsDayBefore[properties].
+This attribute is also supported for xref:applib:ant:PropertyLayout.adoc#renderedAsDayBefore[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/typicalLength.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/typicalLength.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/typicalLength.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/typicalLength.adoc
index 78dc248..85b15e6 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/typicalLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/typicalLength.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `typicalLength()` attribute indicates the typical length of a string parameter.
 It is ignored for parameters of other types.
-The attribute is also supported for xref:rg:ant:PropertyLayout.adoc#typicalLength[properties].
+The attribute is also supported for xref:applib:ant:PropertyLayout.adoc#typicalLength[properties].
 
 The information is intended as a hint to the UI to determine the space that should be given to render a particular string parameter.
 That said, note that the xref:vw:ROOT:about.adoc[Wicket viewer] uses the maximum space available for all fields, so in effect ignores this attribute.
diff --git a/core/_adoc-rg/modules/ant/pages/Pattern.adoc b/core/applib/_adoc/modules/ant/pages/Pattern.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Pattern.adoc
rename to core/applib/_adoc/modules/ant/pages/Pattern.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PersistenceCapable.adoc b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/PersistenceCapable.adoc
rename to core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
index 099dc6a..7ceecbe 100644
--- a/core/_adoc-rg/modules/ant/pages/PersistenceCapable.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
@@ -75,9 +75,9 @@ does _not_ correspond to an object type, because the `schema()` attribute is mis
 
 The rules of precedence for determining a domain object's object type are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref: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/core/_adoc-rg/modules/ant/pages/PostConstruct.adoc b/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/PostConstruct.adoc
rename to core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
index 1044c7e..6e102cf 100644
--- a/core/_adoc-rg/modules/ant/pages/PostConstruct.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
@@ -5,9 +5,9 @@ include::_attributes.adoc[]
 
 The `@javax.annotation.PostConstruct` annotation, as defined in link:https://jcp.org/en/jsr/detail?id=250[JSR-250],  is recognized by Apache Isis as a callback method on domain services to be called just after they have been constructed, in order that they initialize themselves.
 
-It is also recognized for xref:ug:fun:building-blocks.adoc#view-models[view models] (eg annotated with xref:rg:ant:ViewModel.adoc[`@ViewModel`]).
+It is also recognized for xref:ug:fun:building-blocks.adoc#view-models[view models] (eg annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`]).
 
-For the default application-scoped (singleton) domain services, this means that the method, if present, is called during the bootstrapping of the application.  For xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the beginning of the request.
+For the default application-scoped (singleton) domain services, this means that the method, if present, is called during the bootstrapping of the application.  For xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the beginning of the request.
 
 The signature of the method is:
 
@@ -16,7 +16,7 @@ The signature of the method is:
 @PostConstruct                 <1>
 public void init() { /* ... */ }     <2>
 ----
-<1> It is not necessary to annotate the method with xref:rg:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
+<1> It is not necessary to annotate the method with xref:applib:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
 <2> the method can have any name, but must have `public` visibility.
 
 In the form shown above the method accepts no arguments.
@@ -42,4 +42,4 @@ Use cases include obtaining connections to external datasources, eg subscribing
 
 
 
-See also xref:rg:ant:PreDestroy.adoc[`@PreDestroy`]
\ No newline at end of file
+See also xref:applib:ant:PreDestroy.adoc[`@PreDestroy`]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/PreDestroy.adoc b/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/PreDestroy.adoc
rename to core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
index 6955f5e..a48f5d7 100644
--- a/core/_adoc-rg/modules/ant/pages/PreDestroy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 The `@javax.annotation.PreDestroy` annotation, as defined in link:https://jcp.org/en/jsr/detail?id=250[JSR-250], recognized by Apache Isis as a callback method on domain services to be called just as they go out of scope.
 
 
-For the default application-scoped (singleton) domain services, this means that the method, if present, is called just prior to the termination of the application.  For xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the end of the request.
+For the default application-scoped (singleton) domain services, this means that the method, if present, is called just prior to the termination of the application.  For xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the end of the request.
 
 The signature of the method is:
 
@@ -16,7 +16,7 @@ The signature of the method is:
 @PreDestroy                         <1>
 public void deinit() { /* ... */ }    <2>
 ----
-<1> It is not necessary to annotate the method with xref:rg:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
+<1> It is not necessary to annotate the method with xref:applib:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
 <2> the method can have any name, but must have `public` visibility, and accept no arguments.
 
 A common use case is for domain services that interact with the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  For example:
@@ -48,4 +48,4 @@ Other use cases include obtaining connections to external datasources, eg subscr
 
 
 
-See also xref:rg:ant:PostConstruct.adoc[`@PostConstruct`]
\ No newline at end of file
+See also xref:applib:ant:PostConstruct.adoc[`@PostConstruct`]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/PrimaryKey.adoc b/core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PrimaryKey.adoc
rename to core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Programmatic.adoc b/core/applib/_adoc/modules/ant/pages/Programmatic.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Programmatic.adoc
rename to core/applib/_adoc/modules/ant/pages/Programmatic.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Property.adoc b/core/applib/_adoc/modules/ant/pages/Property.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/Property.adoc
rename to core/applib/_adoc/modules/ant/pages/Property.adoc
index 8817b63..1b1ce11 100644
--- a/core/_adoc-rg/modules/ant/pages/Property.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property.adoc
@@ -18,7 +18,7 @@ It is also possible to apply the annotation to actions of domain services that a
 | Description
 
 
-|xref:rg:ant:Property.adoc#command[`command()`]
+|xref:applib:ant:Property.adoc#command[`command()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the property edit should be reified into a `o.a.i.applib.` +
@@ -45,19 +45,19 @@ It is also possible to apply the annotation to actions of domain services that a
 
 
 
-|xref:rg:ant:Property.adoc#domainEvent[`domainEvent()`]
+|xref:applib:ant:Property.adoc#domainEvent[`domainEvent()`]
 |subtype of `PropertyDomainEvent` +
 (`PropertyDomainEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the property's business rule checking (hide, disable, validate) and its modification (before and after).
 
 
-|xref:rg:ant:Property.adoc#editing[`editing()`]
+|xref:applib:ant:Property.adoc#editing[`editing()`]
 |`ENABLED`, `DISABLED`, `AS_CONFIGURED` +
 (`AS_CONFIGURED`)
 |whether a property can be modified or cleared from within the UI
 
 
-|xref:rg:ant:Property.adoc#fileAccept[`fileAccept()`]
+|xref:applib:ant:Property.adoc#fileAccept[`fileAccept()`]
 |Media type or file extension
 |Hints the files to be uploaded to a xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
  or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`]. +
@@ -65,25 +65,25 @@ It is also possible to apply the annotation to actions of domain services that a
 Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
 
 
-|xref:rg:ant:Property.adoc#hidden[`hidden()`]
+|xref:applib:ant:Property.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `PARENTED_TABLES`, `STANDALONE_TABLES`, `ALL_TABLES`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the property should be hidden from the user.
 
 
-|xref:rg:ant:Property.adoc#maxLength[`maxLength()`]
+|xref:applib:ant:Property.adoc#maxLength[`maxLength()`]
 |
 |maximum number of characters for string parameters; ignored otherwise +
 
-In many/most cases you should however use xref:rg:ant:Column.adoc[`@Column#length()`]
+In many/most cases you should however use xref:applib:ant:Column.adoc[`@Column#length()`]
 
 
-|xref:rg:ant:Property.adoc#mustSatisfy[`mustSatisfy()`]
+|xref:applib:ant:Property.adoc#mustSatisfy[`mustSatisfy()`]
 |implementation of `o.a.i.applib.spec.Specification`
 |allows arbitrary validation to be applied
 
 
-|xref:rg:ant:Property.adoc#notPersisted[`notPersisted()`]
+|xref:applib:ant:Property.adoc#notPersisted[`notPersisted()`]
 |`true`, `false` +
 (`false`)
 |whether to exclude from snapshots. +
@@ -94,28 +94,28 @@ Property must also be annotated with `@javax.jdo.annotations.NotPersistent` in o
 ====
 
 
-|xref:rg:ant:Property.adoc#optionality[`optionality()`]
+|xref:applib:ant:Property.adoc#optionality[`optionality()`]
 |
 |specifies a property is optional rather than mandatory +
 
-In many/most cases you should however use xref:rg:ant:Column.adoc[`@Column#allowsNull()`]
+In many/most cases you should however use xref:applib:ant:Column.adoc[`@Column#allowsNull()`]
 
 
 
-|xref:rg:ant:Property.adoc#projecting[`projecting()`]
+|xref:applib:ant:Property.adoc#projecting[`projecting()`]
 |
 |indicates that owning object is a view model that is acting as a projection of the underlying entity referenced by this property.
 
 
 
-|xref:rg:ant:Property.adoc#publishing[`publishing()`]
+|xref:applib:ant:Property.adoc#publishing[`publishing()`]
 |
 |determines whether the editing of a property should be published.
 
 
 
 
-|xref:rg:ant:Property.adoc#regexPattern[`regexPattern()`]
+|xref:applib:ant:Property.adoc#regexPattern[`regexPattern()`]
 |regular expression
 |validates the contents of a string parameter against the regular expression pattern
 
@@ -161,7 +161,7 @@ public class Customer {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:rg:ant: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:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/CollectionLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Property/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Property/command.adoc b/core/applib/_adoc/modules/ant/pages/Property/command.adoc
similarity index 98%
rename from core/_adoc-rg/modules/ant/pages/Property/command.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/command.adoc
index ee7eb86..4c3b0f1 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/command.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/command.adoc
@@ -263,6 +263,6 @@ If `commandDtoProcessor()` is specified, then `command()` is assumed to be ENABL
 
 
 
-For an example application, see xref:rg:ant:Action.adoc#command[`Action#command()`].
+For an example application, see xref:applib:ant:Action.adoc#command[`Action#command()`].
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
similarity index 98%
rename from core/_adoc-rg/modules/ant/pages/Property/domainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
index 834312a..d6e4ddc 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
@@ -156,6 +156,6 @@ However, events can be raised programmatically by wrapping the target object usi
 
 This attribute is also supported for:
 
-* xref:rg:ant:Action.adoc#domainEvent[actions] and
-* xref:rg:ant:Property.adoc#domainEvent[properties].
+* xref:applib:ant:Action.adoc#domainEvent[actions] and
+* xref:applib:ant:Property.adoc#domainEvent[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/editing.adoc b/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Property/editing.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/editing.adoc
index ecaefa2..de37f44 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
@@ -45,5 +45,5 @@ To reiterate, it is _not_ possible to enable editing for a property if editing h
 
 This attribute can also be specified for:
 
-* xref:rg:ant:Collection.adoc#editing[collections]
-* xref:rg:ant:DomainObject.adoc#editing[domain object].
+* xref:applib:ant:Collection.adoc#editing[collections]
+* xref:applib:ant:DomainObject.adoc#editing[domain object].
diff --git a/core/_adoc-rg/modules/ant/pages/Property/fileAccept.adoc b/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/Property/fileAccept.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
index 31fd838..93f9894 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/fileAccept.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `fileAccept()` attribute applies only to xref:rg:cms:classes/value-types.adoc#Blob[`Blob`] or xref:rg:cms: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:rg:ant:Parameter.adoc#fileAccept[parameters].
+The attribute is also supported on xref:applib:ant:Parameter.adoc#fileAccept[parameters].
 
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/Property/hidden.adoc b/core/applib/_adoc/modules/ant/pages/Property/hidden.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/Property/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/hidden.adoc
index 6b85795..1b551fd 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/hidden.adoc
@@ -11,7 +11,7 @@ Properties can be hidden at the domain-level, indicating that they are not visib
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:Property.adoc#hidden[`@Property#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:applib:ant:Property.adoc#hidden[`@Property#hidden()`] to hide an action at the domain layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -59,7 +59,7 @@ This combines `PARENTED_TABLES` and `STANDALONE_TABLES`.
 +
 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:rg:ant:Title.adoc[`@Title`], then normally this should be hidden from all
+For example, if a property is annotated with xref:applib:ant:Title.adoc[`@Title`], then normally this should be hidden from all
 tables. Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 
@@ -73,5 +73,5 @@ The xref:vro:ROOT:about.adoc[RestfulObjects viewer] has only partial support for
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ActionLayout.adoc#hidden[actions]
-* xref:rg:ant:CollectionLayout.adoc#hidden[collections].
+* xref:applib:ant:ActionLayout.adoc#hidden[actions]
+* xref:applib:ant:CollectionLayout.adoc#hidden[collections].
diff --git a/core/_adoc-rg/modules/ant/pages/Property/maxLength.adoc b/core/applib/_adoc/modules/ant/pages/Property/maxLength.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/Property/maxLength.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/maxLength.adoc
index 5ba33cd..f645b15 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/maxLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/maxLength.adoc
@@ -10,7 +10,7 @@ The `maxLength()` attribute applies only to `String` properties, indicating the
 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:rg: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: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:
@@ -53,5 +53,5 @@ public class Customer {
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:Parameter.adoc#maxLength[parameters].
+This attribute can also be applied to xref:applib:ant:Parameter.adoc#maxLength[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/mustSatisfy.adoc b/core/applib/_adoc/modules/ant/pages/Property/mustSatisfy.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/Property/mustSatisfy.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/mustSatisfy.adoc
index 4da7606..271f28b 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/mustSatisfy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/mustSatisfy.adoc
@@ -8,11 +8,11 @@ include::_attributes.adoc[]
 
 
 The `mustSatisfy()` attribute allows arbitrary validation to be applied to properties using an (implementation of a) `org.apache.isis.applib.spec.Specification` object.
- The attribute is also supported on xref:rg:ant:Parameter.adoc#mustSatisfy[parameters].
+ The attribute is also supported on xref:applib:ant:Parameter.adoc#mustSatisfy[parameters].
 
 [TIP]
 ====
-The specification implementations can (of course) be reused between properties and xref:rg:ant:Parameter.adoc#mustSatisfy[parameters].
+The specification implementations can (of course) be reused between properties and xref:applib:ant:Parameter.adoc#mustSatisfy[parameters].
 ====
 
 The `Specification` is consulted during validation, being passed the proposed value.  If the proposed value fails, then the value returned is the used as the invalidity reason.
diff --git a/core/_adoc-rg/modules/ant/pages/Property/notPersisted.adoc b/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/Property/notPersisted.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
index 25ec9de..160be4d 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/notPersisted.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
@@ -65,5 +65,5 @@ public class Order {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:Collection.adoc#notPersisted[collections].
+This attribute is also supported for xref:applib:ant:Collection.adoc#notPersisted[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/optionality.adoc b/core/applib/_adoc/modules/ant/pages/Property/optionality.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/Property/optionality.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/optionality.adoc
index a8783be..e127c8f 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/optionality.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/optionality.adoc
@@ -10,12 +10,12 @@ include::_attributes.adoc[]
 
 By default, Apache Isis assumes that all properties of an domain object or view model are required (mandatory).
 The `optionality()` attribute allows this to be relaxed.
-The attribute is also supported for xref:rg:ant:Parameter.adoc#optionality[parameters].
+The attribute is also supported for xref:applib:ant:Parameter.adoc#optionality[parameters].
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:rg: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: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:rg: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: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:
@@ -139,6 +139,6 @@ public class Customer {
 
 [NOTE]
 ====
-It is also possible to specify optionality using xref:rg:ant:Nullable.adoc[`@Nullable`] annotation.
+It is also possible to specify optionality using xref:applib:ant:Nullable.adoc[`@Nullable`] annotation.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/projecting.adoc b/core/applib/_adoc/modules/ant/pages/Property/projecting.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Property/projecting.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/projecting.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Property/publishing.adoc b/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Property/publishing.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
index ca598ff..73894e8 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
@@ -45,10 +45,10 @@ public class Order {
 
 This attribute can also be specified for:
 
-* xref:rg:ant:DomainObject.adoc#publishing[domain objects]
+* xref:applib:ant:DomainObject.adoc#publishing[domain objects]
 +
 where it controls whether changed objects are published as events, and for
 
-* xref:rg:ant:Action.adoc#publishing[actions]
+* xref:applib:ant:Action.adoc#publishing[actions]
 +
 where it controls whether action invocations are published as events.
diff --git a/core/_adoc-rg/modules/ant/pages/Property/regexPattern.adoc b/core/applib/_adoc/modules/ant/pages/Property/regexPattern.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Property/regexPattern.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/regexPattern.adoc
index 1f5047e..d45d067 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/regexPattern.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/regexPattern.adoc
@@ -35,5 +35,5 @@ public class Customer {
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Parameter.adoc#regexPattern[parameters].
+This attribute can also be specified for xref:applib:ant:Parameter.adoc#regexPattern[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
index a0e94a4..88f1168 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
@@ -17,40 +17,40 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:PropertyLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:PropertyLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a property should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:PropertyLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:PropertyLayout.adoc#describedAs[`describedAs()`]
 |String
 |description of this property, eg to be rendered in a tooltip.
 
 
-|xref:rg:ant:PropertyLayout.adoc#hidden[`hidden()`]
+|xref:applib:ant:PropertyLayout.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `PARENTED_TABLES`, `STANDALONE_TABLES`, `ALL_TABLES`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the property should be hidden from the user.
 
 
-|xref:rg:ant:PropertyLayout.adoc#labelPosition[`labelPosition()`]
+|xref:applib:ant:PropertyLayout.adoc#labelPosition[`labelPosition()`]
 |`LEFT`, `TOP`, `RIGHT`, `NONE` +
 (`LEFT`)
 |in forms, the positioning of the label relative to the property value. +
 
-Defaults is `LEFT`, unless xref:rg:ant:PropertyLayout.adoc#multiLine[`multiLine`] in which case `TOP`.  The value `RIGHT` is only supported for boolean properties. +
+Defaults is `LEFT`, unless xref:applib:ant:PropertyLayout.adoc#multiLine[`multiLine`] in which case `TOP`.  The value `RIGHT` is only supported for boolean properties. +
 
 It is also possible to change the default through a xref:rg:cfg:configuring-core.adoc#isis-viewers-propertyLayout-labelPosition[configuration property]
 
 
-|xref:rg:ant:PropertyLayout.adoc#multiLine[`multiLine()`]
+|xref:applib:ant:PropertyLayout.adoc#multiLine[`multiLine()`]
 |Positive integer
 |for string properties, render as a text area over multiple lines.  +
 
-If set > 1, then xref:rg:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to TOP.
+If set > 1, then xref:applib:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to TOP.
 
 
-|xref:rg:ant:PropertyLayout.adoc#named[`named()`]
+|xref:applib:ant:PropertyLayout.adoc#named[`named()`]
 |String
 |to override the name inferred from the collection's name in code. +
 
@@ -63,29 +63,29 @@ A typical use case is if the desired name is a reserved Java keyword, such as `d
 |whether to HTML escape the name of this property.
 
 
-|xref:rg:ant:PropertyLayout.adoc#navigable[`navigable()`]
+|xref:applib:ant:PropertyLayout.adoc#navigable[`navigable()`]
 |`PARENT`, `IGNORE`, `NOT_CONFIGURED` +
 (`NOT_CONFIGURED`)
 |whether a property should be used as the navigable parent (parent breadcrumb) of this object
 
 
-|xref:rg:ant:PropertyLayout.adoc#promptStyle[`promptStyle()`]
+|xref:applib:ant:PropertyLayout.adoc#promptStyle[`promptStyle()`]
 |`DIALOG`, `INLINE`, `AS_CONFIGURED` +
 (`AS_CONFIGURED`)
 |how a property prompt should be displayed within the UI
 
 
-|xref:rg:ant:PropertyLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
+|xref:applib:ant:PropertyLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
 |`true`, `false` +
 (`false`)
 |for date properties only, render the date as one day prior to the actually stored date.
 
 
-|xref:rg:ant:PropertyLayout.adoc#typicalLength[`typicalLength()`]
+|xref:applib:ant:PropertyLayout.adoc#typicalLength[`typicalLength()`]
 |Positive integer.
 |the typical entry length of a field, use to determine the optimum width for display
 
-|xref:rg:ant:PropertyLayout.adoc#unchanging[`unchanging()`]
+|xref:applib:ant:PropertyLayout.adoc#unchanging[`unchanging()`]
 |`false`, `true` +
 (`false`)
 |indicates that the value held by the property never changes over time (even if other properties of the object do change).
@@ -129,7 +129,7 @@ As an alternative to using the `@PropertyLayout` annotation, a xref:vw:ROOT:layo
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:rg:ant: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:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/Collection/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Collection/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
index f2b5c45..5f90eeb 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
@@ -30,10 +30,10 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/describedAs.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/describedAs.adoc
index e7b6bab..ab32866 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/describedAs.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `describedAs()` attribute is used to provide a short description of the property to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'. The attribute can also be specified for xref:rg:ant:CollectionLayout.adoc#describedAs[collections],  xref:rg:ant:ActionLayout.adoc#describedAs[actions], xref:rg:ant:ParameterLayout.adoc#describedAs[parameters], xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:rg:ant:ViewModelLayout.adoc#de [...]
+The `describedAs()` attribute is used to provide a short description of the property to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'. The attribute can also be specified for xref:applib:ant:CollectionLayout.adoc#describedAs[collections],  xref:applib:ant:ActionLayout.adoc#describedAs[actions], xref:applib:ant:ParameterLayout.adoc#describedAs[parameters], xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:applib:ant:Vie [...]
 
 For example:
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/hidden.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/hidden.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/hidden.adoc
index 0f8623e..2d02cd8 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/hidden.adoc
@@ -10,7 +10,7 @@ The `hidden()` attribute indicates where (in the UI) the property should be hidd
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`] or a xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the property can be hidden at the view layer.
+It is also possible to use xref:applib:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`] or a xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the property can be hidden at the view layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -58,7 +58,7 @@ The property should be hidden when displayed as a column of a table, either an o
 +
 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:rg:ant:Title.adoc[`@Title`], then normally this should be hidden from all
+For example, if a property is annotated with xref:applib:ant:Title.adoc[`@Title`], then normally this should be hidden from all
 tables. Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 
@@ -76,6 +76,6 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:Action.adoc#hidden[actions]
-* xref:rg:ant:Collection.adoc#hidden[collections].
+* xref:applib:ant:Action.adoc#hidden[actions]
+* xref:applib:ant:Collection.adoc#hidden[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/labelPosition.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/labelPosition.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
index e5324ff..4d297a8 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/labelPosition.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
@@ -10,7 +10,7 @@ include::_attributes.adoc[]
 The `labelPosition()` attribute 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:rg:ant:ParameterLayout.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:applib:ant:ParameterLayout.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.
 
@@ -90,5 +90,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:ParameterLayout.adoc#labelPosition[parameters].
+This attribute can also be specified for xref:applib:ant:ParameterLayout.adoc#labelPosition[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/multiLine.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/multiLine.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/multiLine.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/multiLine.adoc
index afd7493..21c1f64 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/multiLine.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/multiLine.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `multiLine()` attribute specifies that the text field for a string property should span multiple lines.  It is ignored for other property types.  The attribute is also supported for xref:rg:ant:ParameterLayout.adoc#multiLine[parameters].
+The `multiLine()` attribute specifies that the text field for a string property should span multiple lines.  It is ignored for other property types.  The attribute is also supported for xref:applib:ant:ParameterLayout.adoc#multiLine[parameters].
 
 For example:
 
@@ -26,7 +26,7 @@ Here the `stepsToReproduce` will be displayed in a text area of 10 rows.
 
 [NOTE]
 ====
-If set > 1 (as would normally be the case), then the default xref:rg:ant: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:applib:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
 ====
 
 == Alternatives
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/named.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/named.adoc
index 918e27b..b3a69cc 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/named.adoc
@@ -45,10 +45,10 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/navigable.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/navigable.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/navigable.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/navigable.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/promptStyle.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/promptStyle.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/promptStyle.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/promptStyle.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
index e78347b..03a8281 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
@@ -42,5 +42,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 == See also
 
-This attribute is also supported for xref:rg:ant:ParameterLayout.adoc#renderedAsDayBefore[parameters].
+This attribute is also supported for xref:applib:ant:ParameterLayout.adoc#renderedAsDayBefore[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/typicalLength.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/typicalLength.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/typicalLength.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/typicalLength.adoc
index 71c4570..1fcbe72 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/typicalLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/typicalLength.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `typicalLength()` attribute indicates the typical length of a string property.
 It is ignored for properties of other types.
-The attribute is also supported for xref:rg:ant:ParameterLayout.adoc#typicalLength[parameters].
+The attribute is also supported for xref:applib:ant:ParameterLayout.adoc#typicalLength[parameters].
 
 The information is intended as a hint to the UI to determine the space that should be given to render a particular string property.
 That said, note that the xref:vw:ROOT:about.adoc[Wicket viewer] uses the maximum space available for all fields, so in effect ignores this attribute.
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/unchanging.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/unchanging.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/unchanging.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/unchanging.adoc
index c63eaaa..17ead0e 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/unchanging.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/unchanging.adoc
@@ -15,7 +15,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:rg:ant: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:applib:ant: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/core/_adoc-rg/modules/ant/pages/RequestScoped.adoc b/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/RequestScoped.adoc
rename to core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
index 6b0c869..1bd1370 100644
--- a/core/_adoc-rg/modules/ant/pages/RequestScoped.adoc
+++ b/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The `@javax.enterprise.context.RequestScoped` link:https://jcp.org/en/jsr/detail?id=299[JSR-299] CDI annotation is used to specify that a xref:rg:ant:DomainService.adoc[domain service] should be request-scoped rather than a singleton.
+The `@javax.enterprise.context.RequestScoped` link:https://jcp.org/en/jsr/detail?id=299[JSR-299] CDI annotation is used to specify that a xref:applib:ant:DomainService.adoc[domain service] should be request-scoped rather than a singleton.
 
 Although Apache Isis does not (currently) leverage CDI, the semantics are the same as request-scoped service; a new instance is created for each HTTP request, reserved for the exclusive use of all objects interacted with during that request.
 
diff --git a/core/_adoc-rg/modules/ant/pages/Title.adoc b/core/applib/_adoc/modules/ant/pages/Title.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Title.adoc
rename to core/applib/_adoc/modules/ant/pages/Title.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModel.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModel.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModel.adoc
index 9c1c0f6..2fd3547 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModel.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
@@ -43,8 +43,8 @@ See this xref:ug:btb:about.adoc#view-model-instantiation[tip] for further discus
 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 xref:rg:ant:Property.adoc#notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:rg:ant:Programmatic.adoc[`@Programmatic`] properties.
-Properties that are merely xref:rg:ant:Property.adoc#hidden[hidden] _are_ included in the memento.
+Any xref:applib:ant:Property.adoc#notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:applib:ant:Programmatic.adoc[`@Programmatic`] properties.
+Properties that are merely xref:applib:ant:Property.adoc#hidden[hidden] _are_ included in the memento.
 
 Only properties supported by the configured xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] can be used. The default implementation supports all the value types and persisted entities.
 
@@ -62,7 +62,7 @@ If you are using view models heavily, you may wish to restrict yourself to just
 ====
 The `@ViewModel` does not allow the objectType to be specified, meaning that it is incompatible with the metamodel validation check ennabled by the xref:rg:cfg:configuring-core.adoc#metamodel-validation[`explicitObjectType`] configuration property.
 
-Instead, use xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:rg:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`].
+Instead, use xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`].
 ====
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModel/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModel/objectType.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/ViewModel/objectType.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
index f817a5e..e4263b6 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModel/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
@@ -39,9 +39,9 @@ public class Order {
 
 The rules of precedence are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
-2. `@DomainObject#objectType`, or xref:rg:ant:ViewModel.adoc#objectType[`@ViewModel#objectType()`]
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
+2. `@DomainObject#objectType`, or xref:applib:ant:ViewModel.adoc#objectType[`@ViewModel#objectType()`]
+3. xref: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/core/_adoc-rg/modules/ant/pages/ViewModelLayout.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
index 1a3b13d..c65925a 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
@@ -3,8 +3,8 @@
 include::_attributes.adoc[]
 
 
-The `@ViewModelLayout` annotation is identical to the xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`], but is provided
-for symmetry with domain objects that have been annotated using xref:rg:ant:ViewModel.adoc[`@ViewModel`] (rather than xref:rg:ant:DomainObject.adoc#nature[`@DomainObject(nature=VIEW_MODEL)`]).
+The `@ViewModelLayout` annotation is identical to the xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`], but is provided
+for symmetry with domain objects that have been annotated using xref:applib:ant:ViewModel.adoc[`@ViewModel`] (rather than xref:applib:ant:DomainObject.adoc#nature[`@DomainObject(nature=VIEW_MODEL)`]).
 
 
 The table below summarizes the annotation's attributes.
@@ -18,12 +18,12 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:ViewModelLayout.adoc#cssclass[`cssClass()`]
+|xref:applib:ant:ViewModelLayout.adoc#cssclass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a domain class (type) should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:ViewModelLayout.adoc#cssClassFa[`cssClassFa()`]
+|xref:applib:ant:ViewModelLayout.adoc#cssClassFa[`cssClassFa()`]
 |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name
 |specify a font awesome icon for the action's menu link or icon. +
 
@@ -34,44 +34,44 @@ The table below summarizes the annotation's attributes.
 |Currently unused.
 
 
-|xref:rg:ant:ViewModelLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
 |subtype of `CssClassUiEvent` +
 (`CssClassUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
 
 
-|xref:rg:ant:ViewModelLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:ViewModelLayout.adoc#describedAs[`describedAs()`]
 |String.
 |description of this class, eg to be rendered in a tooltip.
 
-|xref:rg:ant:ViewModelLayout.adoc#iconUiEvent[`iconUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#iconUiEvent[`iconUiEvent()`]
 |subtype of `IconUiEvent` +
 (`IconUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
 
-|xref:rg:ant:ViewModelLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
 |subtype of `LayoutUiEvent` +
 (`LayoutUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
 
-|xref:rg:ant:ViewModelLayout.adoc#named[`named()`]
+|xref:applib:ant:ViewModelLayout.adoc#named[`named()`]
 |String.
 |to override the name inferred from the action's name in code. +
 
 A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
 
 
-|xref:rg:ant:ViewModelLayout.adoc#paged[`paged()`]
+|xref:applib:ant:ViewModelLayout.adoc#paged[`paged()`]
 |Positive integer
 |the page size for instances of this class when rendered within a table (as returned from an action invocation)
 
 
-|xref:rg:ant:ViewModelLayout.adoc#plural[`plural()`]
+|xref:applib:ant:ViewModelLayout.adoc#plural[`plural()`]
 |String.
 |the plural name of the class
 
 
-|xref:rg:ant:ViewModelLayout.adoc#titleUiEvent[`titleUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[`titleUiEvent()`]
 |subtype of `TitleUiEvent` +
 (`TitleUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
@@ -95,7 +95,7 @@ For example:
 public class CategoryPieChart { /* ... */ }
 ----
 <1> this annotation is intended for use with `@ViewModel`.
-If a view model has been specified using the equivalent xref:rg:ant:DomainObject.adoc#nature[`@DomainObject(nature=Nature.VIEW_MODEL)`], then we recommend you use xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] instead.
+If a view model has been specified using the equivalent xref:applib:ant:DomainObject.adoc#nature[`@DomainObject(nature=Nature.VIEW_MODEL)`], then we recommend you use xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] instead.
 
 
 [NOTE]
diff --git a/core/_adoc-rg/modules/ant/pages/Action/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/bookmarking.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/bookmarking.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/bookmarking.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/bookmarking.adoc
index f1c55fa..892fad8 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/bookmarking.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/bookmarking.adoc
@@ -8,5 +8,5 @@ include::_attributes.adoc[]
 
 The `bookmarking()` attribute indicates that a view model is automatically bookmarked.
 
-This is equivalent to xref:rg:ant:DomainObjectLayout.adoc#bookmarking[`@DomainObjectLayout#bookmarking()`], but for view models instead of entities.
+This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#bookmarking[`@DomainObjectLayout#bookmarking()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
index b5d9b5f..6430201 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
@@ -8,4 +8,4 @@ include::_attributes.adoc[]
 
 The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the view model.   xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
-This is equivalent to xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
+This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
index f85252b..8fae764 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
@@ -9,5 +9,5 @@ include::_attributes.adoc[]
 
 The `cssClassFa()` attribute 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.
 
-This is equivalent to xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`], but for view models instead of entities.
+This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
index 42b51b8..d5cf1e7 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
@@ -7,6 +7,6 @@ include::_attributes.adoc[]
 
 Whenever a view model is to be rendered, the framework fires off an CSS class UI event to obtain a CSS class to use in any wrapping ``<div>``s and ``<span>``s that render the domain object.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.cssClassUiEvent.postForDefault` configuration property is set to "false".
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/describedAs.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/describedAs.adoc
index d31ee91..161033d 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/describedAs.adoc
@@ -7,5 +7,5 @@ include::_attributes.adoc[]
 
 The `describedAs()` attribute is used to provide a short description of the view model to the user; in the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
similarity index 89%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
index 0daeee9..90fc366 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
@@ -9,7 +9,7 @@ Whenever a view model is to be rendered, the framework fires off an icon UI even
 This is as an alternative to implementing xref:rg:cms:methods.adoc#iconName[`iconName()`] reserved method.
 (If `iconName()` is present, then it will take precedence).
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.iconUiEvent.postForDefault` configuration property is set to "false".
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
index 178caa2..2d7fd47 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
@@ -7,6 +7,6 @@ include::_attributes.adoc[]
 
 Whenever a view model is to be rendered, the framework fires off an layout UI event to obtain an alternative layout name with which to render the domain object.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.layoutUiEvent.postForDefault` configuration property is set to "false".
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/named.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/named.adoc
index b52ba9a..3ef9f1b 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/named.adoc
@@ -7,5 +7,5 @@ include::_attributes.adoc[]
 
 The `named()` attribute explicitly specifies the view model's name, overriding the name that would normally be inferred from the Java source code.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/paged.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/paged.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/paged.adoc
index b52e1ad..d269b61 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/paged.adoc
@@ -7,4 +7,4 @@ include::_attributes.adoc[]
 
 The `paged()` attribute specifies the number of rows to display in a standalone collection, as returned from an action invocation.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#paged[`@DomainObjectLayout#paged()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#paged[`@DomainObjectLayout#paged()`], but for view models instead of entities.
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/plural.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/plural.adoc
similarity index 89%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/plural.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/plural.adoc
index 7c19d51..26c4cf8 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/plural.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/plural.adoc
@@ -10,6 +10,6 @@ When Apache Isis displays a standalone collection of several objects, it will la
 By default the plural name will be derived from the end of the singular name, with support for some basic English language defaults (eg using "ies" for names ending with a "y").
 The `plural()` attribute allows the plural form of the class name to be specified explicitly.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#plural[`@DomainObjectLayout#plural()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#plural[`@DomainObjectLayout#plural()`], but for view models instead of entities.
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
index 57131fb..bc9cbaa 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
@@ -7,6 +7,6 @@ include::_attributes.adoc[]
 
 Whenever a view model is to be rendered, the framework fires off a title UI event to obtain a title for the object.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.titleUiEvent.postForDefault` configuration property is set to "false".
diff --git a/core/_adoc-rg/modules/ant/pages/XmlJavaTypeAdapter.adoc b/core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/XmlJavaTypeAdapter.adoc
rename to core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/XmlRootElement.adoc b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
similarity index 90%
rename from core/_adoc-rg/modules/ant/pages/XmlRootElement.adoc
rename to core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
index cc7adc8..4eca59a 100644
--- a/core/_adoc-rg/modules/ant/pages/XmlRootElement.adoc
+++ b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
@@ -10,7 +10,7 @@ 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:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface or the xref:rg:ant:ViewModel.adoc[`@ViewModel`] annotation, using `@XmlRootElement` has a couple of significant advantages:
+In comparison to using either the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface or the xref:applib:ant:ViewModel.adoc[`@ViewModel`] 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:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
@@ -22,7 +22,7 @@ This provides a stable and versioned API to access data in XML format using what
 In contrast, if the `@ViewModel` 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:rg: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: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:rg:cms:schema.adoc#common[common schema]): the object's type and its identifier.
 
 [TIP]
@@ -60,7 +60,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:ug:fun:building-blocks.adoc#mixins[mixins] (annotated with xref:rg:ant:Mixin.adoc[`@Mixin`]), while xref:rg:cms:classes/uievent.adoc[UI events] can be used to obtain title, icons and so on.
+Behaviour can therefore be provided using xref:ug:fun:building-blocks.adoc#mixins[mixins] (annotated with xref:applib:ant:Mixin.adoc[`@Mixin`]), while xref:rg:cms: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:ug:fun:building-blocks.adoc#view-models[this topic] in the user guide.
 
diff --git a/core/_adoc-rg/modules/ant/pages/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/pages/_partials/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ROOT/pages/_partials/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/_partials/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/aaa.adoc b/core/applib/_adoc/modules/ant/pages/aaa.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/aaa.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/aaa/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/jdo.adoc b/core/applib/_adoc/modules/ant/pages/aaa/jdo.adoc
similarity index 81%
rename from core/_adoc-rg/modules/ant/pages/aaa/jdo.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/jdo.adoc
index 905ddae..692524f 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/jdo.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/jdo.adoc
@@ -26,7 +26,7 @@ The table below lists the JDO annotations currently recognized by Apache Isis.
 |Applies to
 
 
-|xref:rg:ant:Column.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:Column.adoc[`@javax.jdo.annotations.` +
 `Column`]
 |Used to determine whether a property is mandatory or optional.  For `String` and `BigDecimal` properties, used to determine length/precision/scale.
 
@@ -34,16 +34,16 @@ The table below lists the JDO annotations currently recognized by Apache Isis.
 |Property
 
 
-|xref:rg:ant:Discriminator.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:Discriminator.adoc[`@javax.jdo.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:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation.
+Note that the discriminator overrides the object type that may otherwise be inferred from the xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation.
 |Domain / persistence
 |Class
 
 
-|xref:rg:ant:NotPersistent.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:NotPersistent.adoc[`@javax.jdo.annotations.` +
 `NotPersistent`]
 |Used to determine whether to enforce or skip some xref:ug:btb:about.adoc#custom-validator[metamodel validation] for `@Column` versus equivalent Isis annotations.
 
@@ -52,17 +52,17 @@ Note that the discriminator overrides the object type that may otherwise be infe
 
 
 
-|xref:rg:ant:PersistenceCapable.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:PersistenceCapable.adoc[`@javax.jdo.annotations.` +
 `PersistenceCapable`]
 |Used to build Apache Isis' own internal identifier for objects. +
 
-If the `schema()` attribute is specified (and if xref:rg:ant:Discriminator.adoc[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere.
+If the `schema()` attribute is specified (and if xref: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
 
 
-|xref:rg:ant:PrimaryKey.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:PrimaryKey.adoc[`@javax.jdo.annotations.` +
 `PrimaryKey`]
 |Used to ensure Apache Isis does not overwrite application-defined primary keys, and to ensure is read-only in the UI.
 
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/jee.adoc b/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
similarity index 75%
rename from core/_adoc-rg/modules/ant/pages/aaa/jee.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
index 1fb7dea..3bce624 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/jee.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
@@ -18,61 +18,61 @@ The table below lists the JEE annotations currently recognized.  Expect to see m
 |Layer
 |xref:vw:ROOT:layout/file-based.adoc[File-based layout]?
 
-|xref:rg:ant:Digits.adoc[`@javax.validation.` +
+|xref:applib:ant:Digits.adoc[`@javax.validation.` +
 `constraints.` +
 `Digits`]
 |Precision/scale for BigDecimal values.
 |Domain
 |
 
-|xref:rg:ant:Pattern.adoc[`@javax.validation.` +
+|xref:applib:ant:Pattern.adoc[`@javax.validation.` +
 `constraints.` +
 `Pattern`]
 |Regular expressions for strings
 |Domain
 |
 
-|xref:rg:ant:Inject.adoc[`@javax.inject.` +
+|xref:applib:ant:Inject.adoc[`@javax.inject.` +
 `Inject`]
 |Inject domain service into a domain object (entity or view model) or another domain service.
 |Domain
 |
 
-|xref:rg:ant:Digits.adoc[`@javax.annotation.` +
+|xref:applib:ant:Digits.adoc[`@javax.annotation.` +
 `Nullable`]
 |Specify that a property/parameter is optional.
 |Domain
 |
 
-|xref:rg:ant:PostConstruct.adoc[`@javax.annotation.` +
+|xref:applib:ant:PostConstruct.adoc[`@javax.annotation.` +
 `PostConstruct`]
-|Callback for domain services (either singleton or xref:rg:ant:RequestScoped.adoc[request-scoped]) to initialize themselves once instantiated.
+|Callback for domain services (either singleton or xref:applib:ant:RequestScoped.adoc[request-scoped]) to initialize themselves once instantiated.
 
 |Domain
 |
 
-|xref:rg:ant:PreDestroy.adoc[`@javax.annotation.` +
+|xref:applib:ant:PreDestroy.adoc[`@javax.annotation.` +
 `PreDestroy`]
-|Callback for domain services (either singleton or xref:rg:ant:RequestScoped.adoc[request-scoped]) to clean up resources prior to destruction.
+|Callback for domain services (either singleton or xref:applib:ant:RequestScoped.adoc[request-scoped]) to clean up resources prior to destruction.
 
 |Domain
 |
 
-|xref:rg:ant:RequestScoped.adoc[`@javax.enterprise.` +
+|xref:applib:ant:RequestScoped.adoc[`@javax.enterprise.` +
 `context.` +
 `RequestScoped`]
 |Specify that a domain service has request-scope (rather than a singleton).
 |Domain
 |
 
-|xref:rg:ant:XmlRootElement.adoc[`javax.xml.bind` +
+|xref:applib:ant:XmlRootElement.adoc[`javax.xml.bind` +
 `.annotation` +
 `XmlRootElement`]
 |JAXB annotation indicating the XML root element when serialized to XML; also used by the framework for view models (whose memento is the XML), often also acting as a DTO.
 |Application
 |
 
-|xref:rg:ant:XmlJavaTypeAdapter.adoc[`javax.xml.bind` +
+|xref: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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]).
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/main.adoc b/core/applib/_adoc/modules/ant/pages/aaa/main.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/aaa/main.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/main.adoc
index 02cbe60..f9b93c4 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/main.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/main.adoc
@@ -26,72 +26,72 @@ The table below summarizes these most commonly used annotations in Apache Isis.
 |Layer
 |xref:vw:ROOT:layout/file-based.adoc[File-based layout]?
 
-|xref:rg:ant:Action.adoc[`@Action`]
+|xref:applib:ant:Action.adoc[`@Action`]
 |Domain semantics for actions
 |Domain
 |
 
-|xref:rg:ant:ActionLayout.adoc[`@ActionLayout`]
+|xref:applib:ant:ActionLayout.adoc[`@ActionLayout`]
 |User interface hints for actions
 |UI
 |Yes
 
-|xref:rg:ant:Collection.adoc[`@Collection`]
+|xref:applib:ant:Collection.adoc[`@Collection`]
 |Domain semantics for collections
 |Domain
 |
 
-|xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+|xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
 |User interface hints for collections
 |UI
 |Yes
 
-|xref:rg:ant:DomainObject.adoc[`@DomainObject`]
+|xref:applib:ant:DomainObject.adoc[`@DomainObject`]
 |Domain semantics for domain object (entities and optionally view models, see also `@ViewModel)`
 |Domain
 |
 
-|xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
+|xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
 |User interface hints for domain object (entities and optionally view models, see also `@ViewModelLayout)`
 |UI
 |Yes
 
-|xref:rg:ant:DomainService.adoc[`@DomainService`]
+|xref:applib:ant:DomainService.adoc[`@DomainService`]
 |Class is a domain service (rather than an entity or view model)
 |Domain
 |
 
-|xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
+|xref:applib:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
 |User interface hints for domain services
 |UI
 |
 
-|xref:rg:ant:Parameter.adoc[`@Parameter`]
+|xref:applib:ant:Parameter.adoc[`@Parameter`]
 |Domain semantics for action parameters
 |Domain
 |
 
-|xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`]
+|xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`]
 |Layout hints for an action parameter (currently: its label position either to top or the left).
 |UI
 |Yes
 
-|xref:rg:ant:Property.adoc[`@Property`]
+|xref:applib:ant:Property.adoc[`@Property`]
 |Domain semantics for properties
 |Domain
 |
 
-|xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]
+|xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]
 |Layout hints for a property
 |UI
 |Yes
 
-|xref:rg:ant:ViewModel.adoc[`@ViewModel`]
+|xref:applib:ant:ViewModel.adoc[`@ViewModel`]
 |Specify that a class is a view model (as opposed to an entity or domain service); equivalent to `@DomainObject(nature`=VIEW_MODEL).
 |Domain, Persistence
 |
 
-|xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
+|xref:applib:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
 |User interface hints for view models.
 For use with `@ViewModel`. If specifying view models using `@DomainObject(nature=VIEW_MODEL)` then use `@DomainObjectLayout`)
 |UI
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/other.adoc b/core/applib/_adoc/modules/ant/pages/aaa/other.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/aaa/other.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/other.adoc
index 2f497b4..bb7dee8 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/other.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/other.adoc
@@ -15,34 +15,34 @@ These annotations are also commonly used, but relate _not_ to objects or object
 |Layer
 |xref:vw:ROOT:layout/file-based.adoc[File-based layout]?
 
-|xref:rg:ant:Facets.adoc[`@Facets`]
+|xref:applib:ant:Facets.adoc[`@Facets`]
 |Install arbitrary facets within the Apache Isis metamodel.
 |(any)
 |
 
-|xref:rg:ant:HomePage.adoc[`@HomePage`]
+|xref:applib:ant: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:rg:ant:MemberOrder.adoc[`@MemberOrder`]
+|xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]
 |Ordering of properties, collections and actions, and also associating actions with either a property or a collection.
 |UI
 |Yes
 
 
-|xref:rg:ant:MinLength.adoc[`@MinLength`]
+|xref:applib:ant:MinLength.adoc[`@MinLength`]
 |Minimum number of characters required for an auto-complete search argument.
 |UI
 |
 
 
-|xref:rg:ant:Programmatic.adoc[`@Programmatic`]
+|xref:applib:ant:Programmatic.adoc[`@Programmatic`]
 |Ignore a public method, excluded from the Apache Isis metamodel.
 |Domain
 |
 
-|xref:rg:ant:Title.adoc[`@Title`]
+|xref:applib:ant: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/core/_adoc-rg/modules/ant/pages/aaa/partial.adoc b/core/applib/_adoc/modules/ant/pages/aaa/partial.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/aaa/partial.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/partial.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/about.adoc b/core/applib/_adoc/modules/ant/pages/about.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/about.adoc
rename to core/applib/_adoc/modules/ant/pages/about.adoc
diff --git a/core/applib/_adoc/sync_examples.sh b/core/applib/_adoc/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/core/applib/_adoc/sync_examples.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+SCRIPT=$(readlink -f "$0")
+SCRIPTPATH=$(dirname "$SCRIPT")
+if [ $# -ne 1 ]; then
+    FILELIST=$SCRIPTPATH/examples.csv
+else
+    FILELIST=$1
+fi
+FILELISTFQN=$(readlink -f $FILELIST)
+DIRNAME=$(dirname $FILELISTFQN)
+BASENAME=$(basename $FILELISTFQN)
+
+cd $DIRNAME >/dev/null 2>&1
+cat $BASENAME | tail +2 | grep -v ^# | while read LINE
+do
+    FILE=$(echo $LINE | awk -F, '{print $1}' | awk '{$1=$1;print}')
+    F2=$(echo $LINE | awk -F, '{print $2}' | awk '{$1=$1;print}')
+    F3=$(echo $LINE | awk -F, '{print $3}' | awk '{$1=$1;print}')
+    SOURCEFQN=$DIRNAME/$F2/$FILE
+    TARGETDIR=$DIRNAME/$F3
+    TARGETFQN=$DIRNAME/$F3/$FILE
+
+    echo "SOURCEFQN: $SOURCEFQN"
+
+    if [ -f "$SOURCEFQN" ]
+    then
+
+        if [ -f "$TARGETFQN" ]
+        then
+            rm $TARGETFQN
+        fi
+        mkdir -p $TARGETDIR
+        cp $SOURCEFQN $TARGETFQN
+    else
+        echo "- does not exist ($SOURCEFQN) " >&2
+        exit 1
+    fi
+done
+cd - >/dev/null 2>&1
\ No newline at end of file
diff --git a/core/security/api/_adoc/modules/ROOT/nav.adoc b/core/security/api/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/api/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/api/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/api/_adoc/modules/ROOT/partials/nav.adoc b/core/security/api/_adoc/modules/ROOT/partials/nav.adoc
index 0a1284e..8c6b70b 100644
--- a/core/security/api/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/security/api/_adoc/modules/ROOT/partials/nav.adoc
@@ -2,26 +2,5 @@
 
 ** xref:security:ROOT:api-for-applications.adoc[API for Applications]
 
-** Bypass Implementation
-*** xref:security-bypass:ROOT:configuring-isis-to-use-bypass.adoc[Configuring to use Bypass]
 
-** Shiro Implementation (extension)
-
-*** xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[Configuring to use Shiro]
-*** Realms
-**** xref:security-shiro:ROOT:ini-realm.adoc[INI Realm]
-**** xref:security-shiro:realm-jdbc:about.adoc[JDBC Realm]
-**** xref:security-shiro:realm-ldap:about.adoc[LDAP Realm]
-*** xref:security-shiro:ROOT:enhanced-wildcard-permission.adoc[Enhanced Wildcard Permissions]
-*** xref:security-shiro:ROOT:run-as.adoc[Run As]
-*** xref:security-shiro:ROOT:shiro-caching.adoc[Shiro Caching]
-
-** xref:ext-secman:ROOT:about.adoc[SecMan (extension)]
-*** xref:ext-secman:api:about.adoc[API]
-*** xref:ext-secman:model:about.adoc[Model]
-*** xref:ext-secman:realm-shiro:about.adoc[Realm (for Shiro)]
-*** xref:ext-secman:persistence-jdo:about.adoc[JDO Persistence]
-*** xref:ext-secman:encryption-jbcrypt:about.adoc[JBCrypt Encryption]
-
-** xref:security:ROOT:usage-by-isis-viewers.adoc[Usage by Isis Viewers]
 
diff --git a/core/security/api/_adoc/modules/ROOT/partials/nav2.adoc b/core/security/api/_adoc/modules/ROOT/partials/nav2.adoc
new file mode 100644
index 0000000..2a11f0d
--- /dev/null
+++ b/core/security/api/_adoc/modules/ROOT/partials/nav2.adoc
@@ -0,0 +1,3 @@
+
+** xref:security:ROOT:usage-by-isis-viewers.adoc[Usage by Isis Viewers]
+
diff --git a/core/security/bypass/_adoc/modules/ROOT/nav.adoc b/core/security/bypass/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/bypass/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/bypass/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/bypass/_adoc/modules/ROOT/partials/nav.adoc b/core/security/bypass/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..32245fa
--- /dev/null
+++ b/core/security/bypass/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,3 @@
+** Bypass Implementation
+*** xref:security-bypass:ROOT:configuring-isis-to-use-bypass.adoc[Configuring to use Bypass]
+
diff --git a/core/security/shiro/_adoc/modules/ROOT/nav.adoc b/core/security/shiro/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/shiro/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/shiro/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/shiro/_adoc/modules/ROOT/partials/nav.adoc b/core/security/shiro/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..d9fc298
--- /dev/null
+++ b/core/security/shiro/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,10 @@
+** Shiro Implementation
+
+*** xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[Configuring to use Shiro]
+*** Realms
+**** xref:security-shiro:ROOT:ini-realm.adoc[INI Realm]
+**** xref:security-shiro:realm-jdbc:about.adoc[JDBC Realm]
+**** xref:security-shiro:realm-ldap:about.adoc[LDAP Realm]
+*** xref:security-shiro:ROOT:enhanced-wildcard-permission.adoc[Enhanced Wildcard Permissions]
+*** xref:security-shiro:ROOT:run-as.adoc[Run As]
+*** xref:security-shiro:ROOT:shiro-caching.adoc[Shiro Caching]
diff --git a/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc b/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc
+++ b/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc b/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc
+++ b/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
index 39662db..299d63d 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
@@ -18,7 +18,7 @@ Uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to gener
 +
 Uses the xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] to generate XSD schemas from any JAXB-annotated view models/DTOs. +
 +
-This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
+This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
 
 The `validate` goal is by default bound to the `test` phase, and the `swagger` goal is by default bound to the `package` phase; both are typically of your application's `dom` sub-module.
 The `xsd` goal meanwhile defaults to the `generate-resources` phase, and this is generally used in a completely separate sub-module.
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
index 8572aaa..df11816 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
@@ -9,7 +9,7 @@ generate XSD schemas from any JAXB-annotated xref:ug:fun:building-blocks.adoc#vi
 
 This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen]
 tool, because it uses the framework's support (via
-xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain
+xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain
 objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
 
 The `xsd` goal defines the following properties:
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc
index b87c0b6..e89c41d 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc
@@ -121,7 +121,7 @@ See below for further discussion on this topic.
 (_`welcome.html`_)
 |Location of the HTML file (relative to `src/main/webapp`) whose contents should be displayed on the application's home page.
 
-Note though that if a xref:rg:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
+Note though that if a xref:applib:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
 
 If no welcome file exists, then the value of `welcome.text` is shown as a fallback.
 
@@ -130,7 +130,7 @@ If no welcome file exists, then the value of `welcome.text` is shown as a fallba
 |Text
 |To be displayed on the application's home page, used as a fallback if `welcome.file` is not specified.
 
-Note though that if a xref:rg:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
+Note though that if a xref:applib:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
 
 
 |===
@@ -462,10 +462,10 @@ Some of the properties below use the prefix `isis.viewers.` (rather than the usu
 `defaultView`
 |`hidden`, `table` +
 (`hidden`)
-|Default for the default view for all (parented) collections if not explicitly specified using xref:rg:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]
+|Default for the default view for all (parented) collections if not explicitly specified using xref:applib:ant: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:rg:ant: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:applib:ant: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.
 
@@ -487,7 +487,7 @@ If the majority of collections should be displayed as "table" form, then it is m
 `labelPosition`
 |`TOP`, `LEFT` +
 (`LEFT`)
-|Default for label position for all properties if not explicitly specified using xref:rg:ant:PropertyLayout.adoc#labelPosition[`@PropertyLayout#labelPosition()`]
+|Default for label position for all properties if not explicitly specified using xref:applib:ant: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.
@@ -525,7 +525,7 @@ At the time of writing, this means labels are to the left for all datatypes exce
 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:rg:ant:PropertyLayout.adoc#promptStyle[`@Property#promptStyle()`]) or  xref:rg:ant:ActionLayout.adoc#promptStyle[`@Action#promptStyle()`]).
+The property can be overridden on a property-by-property basis using xref:applib:ant:PropertyLayout.adoc#promptStyle[`@Property#promptStyle()`]) or  xref:applib:ant: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/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
index 224457f..20978bd 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The Wicket viewer supports the bookmarking of both domain objects and query-only (xref:rg:ant:Action.adoc#semantics[@Action(semantics=...)]) actions.
+The Wicket viewer supports the bookmarking of both domain objects and query-only (xref:applib:ant:Action.adoc#semantics[@Action(semantics=...)]) actions.
 
 Domain objects, if bookmarkable, can be nested.
 
@@ -33,7 +33,7 @@ Some - like `Property`, `Lease` and `Party` - are root nodes. However, `LeaseIte
 
 == Domain Code
 
-To indicate a class is bookmarkable, use the xref:rg:ant:DomainObjectLayout.adoc[@DomainObjectLayout] annotation:
+To indicate a class is bookmarkable, use the xref:applib:ant:DomainObjectLayout.adoc[@DomainObjectLayout] annotation:
 
 [source,java]
 ----
@@ -53,7 +53,7 @@ To indicate a class is bookmarkable but only as a child of some parent bookmark,
 public class LeaseItem { /* ... */ }
 ----
 
-To indicate that a safe (query only) action is bookmarkable, use the xref:rg:ant:ActionLayout.adoc[@ActionLayout] annotation:
+To indicate that a safe (query only) action is bookmarkable, use the xref:applib:ant:ActionLayout.adoc[@ActionLayout] annotation:
 
 [source,java]
 ----
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc
index 4488481..ceb62bd 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc
@@ -13,23 +13,23 @@ This section explains how.
 
 == `@MemberOrder`
 
-The xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]  annotation is used to specify the relative order of domain class properties, collections and actions.
+The xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]  annotation is used to specify the relative order of domain class properties, collections and actions.
 
-The annotation defines two attributes, xref:rg:ant:MemberOrder.adoc#name[`name()`] and xref:rg:ant:MemberOrder.adoc#sequence[`sequence()`].
+The annotation defines two attributes, xref:applib:ant:MemberOrder.adoc#name[`name()`] and xref:applib:ant:MemberOrder.adoc#sequence[`sequence()`].
 Their usage depends on the member type:
 
 * for properties, the `name()` is used to group properties together into a member group (also called a property group or a fieldset.
 The `sequence()` then orders properties within these groups.
 If no `name()` is specified then the property is placed in a fallback "General" group, called "General".
 +
-The name of these member groups/fieldsets are then referenced by xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`].
+The name of these member groups/fieldsets are then referenced by xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`].
 
 * for collections, the `name()` attribute is (currently) unused.
 The `sequence()` orders collections relative to one another
 
 * for actions, the `name()` attribute associates an action with either a property or with a collection.
 
-** If the `name()` attribute matches a property name, then the action's button is rendered close to the property, according to xref:rg:ant:ActionLayout.adoc#position[`@ActionLayout#position()`] attribute.
+** If the `name()` attribute matches a property name, then the action's button is rendered close to the property, according to xref:applib:ant:ActionLayout.adoc#position[`@ActionLayout#position()`] attribute.
 
 ** On the other hand if the `name() attribute matches a collection name, then the action's button is rendered on the collection's header.
 
@@ -66,7 +66,7 @@ This defines three property (or member) groups, "General", "Detail" and "Misc";
 Properties in the same member group are rendered together, as a fieldset.
 
 In addition, actions can optionally be associated (rendered close to) either properties or actions.
-This is done by overloading the ``@MemberOrder``'s xref:rg:ant:MemberOrder.adoc#name[`name()`] attribute, holding the value of the property or collection.
+This is done by overloading the ``@MemberOrder``'s xref:applib:ant:MemberOrder.adoc#name[`name()`] attribute, holding the value of the property or collection.
 
 For example:
 
@@ -93,7 +93,7 @@ public class ToDoItem {
 will associate the `completed()` and `notYetCompleted()` actions with the `complete` property, and will associate the `add()` and `remove()` actions with the `dependencies` collection.
 
 
-The value of xref:rg:ant:MemberOrder.adoc#sequence[`sequence()`] is a string.
+The value of xref:applib:ant:MemberOrder.adoc#sequence[`sequence()`] is a string.
 The simplest convention (as shown in the example above) is to use numbers -- 1, 2, 3 -- though it is a better idea to leave gaps in the numbers -- 10, 20, 30 perhaps -- such that a new member may be added without having to edit existing numbers.
 
 Even better is to adopt the 'dewey-decimal' notation -- 1, 1.1, 1.2, 2, 3, 5.1.1, 5.2.2, 5.2, 5.3 -- which allows for an indefinite amount of future insertion.
@@ -104,7 +104,7 @@ It also allows subclasses to insert their class members as required.
 
 == `@MemberGroupLayout`
 
-The xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column.
+The xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column.
 The annotation also specifies the relative width of the columns.
 
 The property groups/fieldsets in this case are those that are inferred from the `@MemberOrder#name()` attribute.
@@ -115,7 +115,7 @@ It is also possible to combine `@MemberOrder` with a xref:vw:ROOT:layout/file-ba
 The layout file defines only the regions of a grid structure (fieldsets/columns etc), but does __not__ specify the properties/collections/actions within those grid regions.
 The `@MemberOrder` annotation in effect "binds" the properties or collections to those regions of the grid.
 
-When file-based layouts are used this way, the xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation is essentially ignored, but the metadata from the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation (and the other layout annotations, xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]) are all still honoured.
+When file-based layouts are used this way, the xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation is essentially ignored, but the metadata from the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation (and the other layout annotations, xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]) are all still honoured.
 ====
 
 For example:
@@ -183,8 +183,8 @@ image::reference-layout/4-0-8-0.png[width="720px",link="{imagesdir}/reference-la
 
 Layout semantics can also be specified using the various `XxxLayout` annotations:
 
-* for domain services: xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
-* for domain objects: xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
-* for actions: xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`]
-* for properties: xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]
-* for collections: xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+* for domain services: xref:applib:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
+* for domain objects: xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and xref:applib:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
+* for actions: xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`]
+* for properties: xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]
+* for collections: xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
index 9525d4c..4e089ea 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
@@ -380,9 +380,9 @@ The table below summarises the choices:
 |===
 
 | Style
-|xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
-| xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]
-| xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+|xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
+| xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]
+| xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
 
 
 |`COMPLETE`
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc
index 77966f8..ddd2661 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The annotations-based approach for arranging the placement of menu items is achieved through the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] and xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`] annotations.
+The annotations-based approach for arranging the placement of menu items is achieved through the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] and xref:applib:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`] annotations.
 
 == @DomainServiceLayout
 
diff --git a/extensions/secman/_adoc/modules/ROOT/nav.adoc b/extensions/secman/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/ROOT/nav.adoc
+++ b/extensions/secman/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/ROOT/partials/nav.adoc b/extensions/secman/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..a676294
--- /dev/null
+++ b/extensions/secman/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,8 @@
+
+** xref:ext-secman:ROOT:about.adoc[SecMan (extension)]
+*** xref:ext-secman:api:about.adoc[API]
+*** xref:ext-secman:model:about.adoc[Model]
+*** xref:ext-secman:realm-shiro:about.adoc[Realm (for Shiro)]
+*** xref:ext-secman:persistence-jdo:about.adoc[JDO Persistence]
+*** xref:ext-secman:encryption-jbcrypt:about.adoc[JBCrypt Encryption]
+
diff --git a/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc b/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc
+++ b/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/model/nav.adoc b/extensions/secman/_adoc/modules/model/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/model/nav.adoc
+++ b/extensions/secman/_adoc/modules/model/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc b/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc
+++ b/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/realm-shiro/nav.adoc b/extensions/secman/_adoc/modules/realm-shiro/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/realm-shiro/nav.adoc
+++ b/extensions/secman/_adoc/modules/realm-shiro/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/site.yml b/site.yml
index a33386a..5753342 100644
--- a/site.yml
+++ b/site.yml
@@ -40,6 +40,10 @@ content:
       start_path: core/_adoc-rg
 
     - url: .
+      start_path: core/applib/_adoc
+      branches: HEAD
+
+    - url: .
       start_path: core/testsupport/_adoc
       branches: HEAD
     - url: .


[isis] 03/09: ISIS-2062: splits up refguide across applib, config and schema.

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

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

commit 008187794b320c441f8077b5f5d40e62fa07a338
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 07:15:47 2019 +0100

    ISIS-2062: splits up refguide across applib, config and schema.
    
    Moves schema out of cms into its own component; ant, svc and (the rest of) cms are under applib.
    
    These are all aggregated together into a single refguide via TOC partials.
---
 .../components/refguide}/antora.yml                |   4 -
 .../components/refguide}/examples.csv              |   0
 .../refguide}/modules/ROOT/_attributes.adoc        |   0
 .../components/refguide}/modules/ROOT/nav.adoc     |   1 -
 .../refguide/modules/ROOT/pages}/_attributes.adoc  |   0
 .../refguide}/modules/ROOT/pages/about.adoc        |   2 +-
 .../modules/ROOT/partials}/_attributes.adoc        |   0
 .../refguide/modules/ROOT/partials/nav.adoc        |   6 ++
 .../components/refguide}/sync_examples.sh          |   0
 antora/components/toc/modules/ROOT/nav.adoc        |   2 +-
 .../components/toc/modules/ROOT/pages/about.adoc   |   2 +-
 .../components/toc/modules/ROOT/pages/guides.adoc  |   2 +-
 .../pages/what-is-apache-isis/screencasts.adoc     |   4 +-
 .../modules/ROOT/pages/application-layer.adoc      |   2 +-
 .../AuthenticationSessionProvider.adoc             |   2 +-
 .../CommandDtoServiceInternal.adoc                 |  14 +--
 .../InteractionDtoServiceInternal.adoc             |   6 +-
 .../modules/ROOT/pages/persistence-layer.adoc      |   4 +-
 .../persistence-layer/AuditingServiceInternal.adoc |  10 +-
 .../ChangedObjectsServiceInternal.adoc             |   2 +-
 .../PublishingServiceInternal.adoc                 |  16 +--
 .../modules/ROOT/pages/presentation-layer.adoc     |   2 +-
 .../ContentNegotiationService.adoc                 |   8 +-
 .../presentation-layer/RepresentationService.adoc  |   6 +-
 core/_adoc-rg/modules/cfg/nav.adoc                 |   7 --
 core/_adoc-rg/modules/cms/pages/about.adoc         |  11 --
 core/_adoc-rg/modules/cms/pages/schema.adoc        |  34 ------
 core/_adoc-rg/modules/svc/nav.adoc                 | 120 ---------------------
 .../deployment/externalized-configuration.adoc     |   2 +-
 .../modules/btb/pages/headless-access.adoc         |   2 +-
 .../BackgroundCommandExecution.adoc                |   4 +-
 .../how-to-handle-void-and-null-results.adoc       |   2 +-
 .../how-to-implement-a-spellchecker.adoc           |   2 +-
 .../replacing-default-service-implementations.adoc |   4 +-
 .../hints-and-tips/transactions-and-errors.adoc    |   8 +-
 .../pages/hints-and-tips/vetoing-visibility.adoc   |   2 +-
 .../hints-and-tips/view-model-instantiation.adoc   |   4 +-
 core/_adoc-ug/modules/btb/pages/i18n.adoc          |   6 +-
 core/_adoc-ug/modules/btb/pages/web-xml.adoc       |   2 +-
 .../framework-provided.adoc                        | 108 +++++++++----------
 .../modules/fun/pages/building-blocks/events.adoc  |   6 +-
 .../building-blocks/events/domain-events.adoc      |   2 +-
 .../fun/pages/building-blocks/identifiers/oid.adoc |  12 +--
 .../pages/core-concepts/apache-isis-vs/cqrs.adoc   |   4 +-
 .../apache-isis-vs/event-sourcing.adoc             |   2 +-
 .../pages/core-concepts/deployment-options.adoc    |   2 +-
 .../principles/for-the-long-term.adoc              |   4 +-
 core/_adoc-ug/modules/fun/pages/crud.adoc          |   2 +-
 core/_adoc-ug/modules/fun/pages/crud/deleting.adoc |   4 +-
 core/_adoc-ug/modules/fun/pages/crud/finding.adoc  |   6 +-
 .../modules/fun/pages/crud/instantiating.adoc      |   4 +-
 .../modules/fun/pages/crud/persisting.adoc         |   4 +-
 core/_adoc-ug/modules/fun/pages/crud/updating.adoc |   4 +-
 .../domain-services/event-subscribers.adoc         |   2 +-
 .../domain-services/registering.adoc               |   2 +-
 .../domain-services/repository-and-factory.adoc    |   2 +-
 .../domain-services/scoped-services.adoc           |   2 +-
 .../pages/programming-model/inject-services.adoc   |   2 +-
 .../mixins/programmatic-usage.adoc                 |   2 +-
 .../view-models/dto/dto-consumers.adoc             |   6 +-
 .../pages/programming-model/view-models/jaxb.adoc  |   4 +-
 .../jaxb/referencing-domain-entities.adoc          |   6 +-
 .../{pages/_partials => partials}/_attributes.adoc |   0
 core/applib/_adoc/modules/ant/nav.adoc             |   2 +-
 core/applib/_adoc/modules/ant/pages/Action.adoc    |  10 +-
 .../_adoc/modules/ant/pages/Action/command.adoc    |  12 +--
 .../modules/ant/pages/Action/domainEvent.adoc      |   6 +-
 .../_adoc/modules/ant/pages/Action/publishing.adoc |   4 +-
 .../_adoc/modules/ant/pages/Action/restrictTo.adoc |   2 +-
 .../_adoc/modules/ant/pages/Action/semantics.adoc  |   2 +-
 .../_adoc/modules/ant/pages/ActionLayout.adoc      |   2 +-
 .../modules/ant/pages/ActionLayout/cssClass.adoc   |   2 +-
 .../modules/ant/pages/ActionLayout/redirect.adoc   |   2 +-
 .../applib/_adoc/modules/ant/pages/Collection.adoc |   2 +-
 .../modules/ant/pages/Collection/domainEvent.adoc  |   6 +-
 .../modules/ant/pages/Collection/editing.adoc      |   4 +-
 .../modules/ant/pages/Collection/notPersisted.adoc |   2 +-
 .../_adoc/modules/ant/pages/CollectionLayout.adoc  |   2 +-
 .../ant/pages/CollectionLayout/cssClass.adoc       |   2 +-
 .../modules/ant/pages/CollectionLayout/paged.adoc  |   2 +-
 core/applib/_adoc/modules/ant/pages/Column.adoc    |   2 +-
 .../_adoc/modules/ant/pages/Discriminator.adoc     |   6 +-
 .../_adoc/modules/ant/pages/DomainObject.adoc      |  16 +--
 .../modules/ant/pages/DomainObject/auditing.adoc   |   4 +-
 .../pages/DomainObject/autoCompleteRepository.adoc |   2 +-
 .../modules/ant/pages/DomainObject/bounding.adoc   |   2 +-
 .../pages/DomainObject/createdLifecycleEvent.adoc  |   8 +-
 .../modules/ant/pages/DomainObject/editing.adoc    |   2 +-
 .../pages/DomainObject/loadedLifecycleEvent.adoc   |   4 +-
 .../modules/ant/pages/DomainObject/nature.adoc     |   2 +-
 .../modules/ant/pages/DomainObject/objectType.adoc |   6 +-
 .../DomainObject/persistedLifecycleEvent.adoc      |   4 +-
 .../DomainObject/persistingLifecycleEvent.adoc     |   6 +-
 .../modules/ant/pages/DomainObject/publishing.adoc |   4 +-
 .../pages/DomainObject/removingLifecycleEvent.adoc |   6 +-
 .../pages/DomainObject/updatedLifecycleEvent.adoc  |   4 +-
 .../pages/DomainObject/updatingLifecycleEvent.adoc |   6 +-
 .../modules/ant/pages/DomainObjectLayout.adoc      |  10 +-
 .../ant/pages/DomainObjectLayout/cssClass.adoc     |   2 +-
 .../ant/pages/DomainObjectLayout/cssClassFa.adoc   |   2 +-
 .../pages/DomainObjectLayout/cssClassUiEvent.adoc  |   8 +-
 .../ant/pages/DomainObjectLayout/iconUiEvent.adoc  |   8 +-
 .../pages/DomainObjectLayout/layoutUiEvent.adoc    |   8 +-
 .../ant/pages/DomainObjectLayout/paged.adoc        |   2 +-
 .../ant/pages/DomainObjectLayout/titleUiEvent.adoc |   8 +-
 .../ant/pages/DomainService/objectType.adoc        |   6 +-
 core/applib/_adoc/modules/ant/pages/Inject.adoc    |   6 +-
 core/applib/_adoc/modules/ant/pages/MinLength.adoc |   2 +-
 core/applib/_adoc/modules/ant/pages/Parameter.adoc |   4 +-
 .../modules/ant/pages/Parameter/fileAccept.adoc    |   4 +-
 .../_adoc/modules/ant/pages/ParameterLayout.adoc   |   2 +-
 .../ant/pages/ParameterLayout/cssClass.adoc        |   2 +-
 .../modules/ant/pages/PersistenceCapable.adoc      |   6 +-
 .../_adoc/modules/ant/pages/PostConstruct.adoc     |   4 +-
 .../applib/_adoc/modules/ant/pages/PreDestroy.adoc |   4 +-
 .../applib/_adoc/modules/ant/pages/PrimaryKey.adoc |   2 +-
 .../_adoc/modules/ant/pages/Programmatic.adoc      |   2 +-
 core/applib/_adoc/modules/ant/pages/Property.adoc  |  12 +--
 .../_adoc/modules/ant/pages/Property/command.adoc  |  12 +--
 .../modules/ant/pages/Property/domainEvent.adoc    |   6 +-
 .../_adoc/modules/ant/pages/Property/editing.adoc  |   4 +-
 .../modules/ant/pages/Property/fileAccept.adoc     |   2 +-
 .../modules/ant/pages/Property/notPersisted.adoc   |   2 +-
 .../modules/ant/pages/Property/publishing.adoc     |   4 +-
 .../_adoc/modules/ant/pages/PropertyLayout.adoc    |   4 +-
 .../modules/ant/pages/PropertyLayout/cssClass.adoc |   2 +-
 .../ant/pages/PropertyLayout/labelPosition.adoc    |   2 +-
 .../_adoc/modules/ant/pages/RequestScoped.adoc     |   2 +-
 core/applib/_adoc/modules/ant/pages/ViewModel.adoc |   6 +-
 .../modules/ant/pages/ViewModel/objectType.adoc    |   6 +-
 .../_adoc/modules/ant/pages/ViewModelLayout.adoc   |  10 +-
 .../ant/pages/ViewModelLayout/cssClass.adoc        |   2 +-
 .../ant/pages/ViewModelLayout/iconUiEvent.adoc     |   2 +-
 .../modules/ant/pages/XmlJavaTypeAdapter.adoc      |   2 +-
 .../_adoc/modules/ant/pages/XmlRootElement.adoc    |  10 +-
 core/applib/_adoc/modules/ant/pages/aaa/jee.adoc   |   2 +-
 .../_adoc/modules/ant/partials}/_attributes.adoc   |   0
 .../_adoc/modules/ant}/partials/nav.adoc           |   2 -
 .../_adoc/modules/cms}/_attributes.adoc            |   0
 .../_adoc/modules/cms/assets/attachments}/.gitkeep |   0
 .../reference-classes/issue-in-more-detail.png     | Bin
 .../prefixes/choices/dependent.png                 | Bin
 .../reserved/cssClass/strikethrough.png            | Bin
 .../reserved/iconName/differing.pdn                | Bin
 .../reserved/iconName/differing.png                | Bin
 .../reserved/iconName/png-files.png                | Bin
 .../cms/assets/images/value-types/markup.png       | Bin
 .../_adoc/modules/cms/examples}/.gitkeep           |   0
 .../ROOT => applib/_adoc/modules/cms}/nav.adoc     |   1 -
 .../_adoc/modules/cms}/pages/_attributes.adoc      |   0
 core/applib/_adoc/modules/cms/pages/about.adoc     |  11 ++
 .../_adoc}/modules/cms/pages/classes.adoc          |   2 +-
 .../pages/classes/AppManifest-bootstrapping.adoc   |   6 +-
 .../pages/classes/AppManifest2-bootstrapping.adoc  |  12 +--
 .../modules/cms/pages/classes}/_attributes.adoc    |   0
 .../modules/cms/pages/classes/contributee.adoc     |   0
 .../classes/contributee/HasTransactionId.adoc      |   8 +-
 .../cms/pages/classes/contributee/HasUserName.adoc |   0
 .../pages/classes/contributee}/_attributes.adoc    |   0
 .../modules/cms/pages/classes/domainevent.adoc     |  10 +-
 .../classes/domainevent/AbstractDomainEvent.adoc   |   6 +-
 .../classes/domainevent/ActionDomainEvent.adoc     |   6 +-
 .../classes/domainevent/CollectionDomainEvent.adoc |   2 +-
 .../classes/domainevent/PropertyDomainEvent.adoc   |   2 +-
 .../pages/classes/domainevent}/_attributes.adoc    |   0
 .../_adoc}/modules/cms/pages/classes/i18n.adoc     |   0
 .../cms/pages/classes/i18n/TranslatableString.adoc |   0
 .../cms/pages/classes/i18n}/_attributes.adoc       |   0
 .../_adoc}/modules/cms/pages/classes/layout.adoc   |   2 +-
 .../modules/cms/pages/classes/lifecycleevent.adoc  |  28 ++---
 .../lifecycleevent/AbstractLifecycleEvent.adoc     |  14 +--
 .../classes/lifecycleevent/ObjectCreatedEvent.adoc |   2 +-
 .../classes/lifecycleevent/ObjectLoadedEvent.adoc  |   2 +-
 .../lifecycleevent/ObjectPersistedEvent.adoc       |   2 +-
 .../lifecycleevent/ObjectPersistingEvent.adoc      |   2 +-
 .../lifecycleevent/ObjectRemovingEvent.adoc        |   2 +-
 .../classes/lifecycleevent/ObjectUpdatedEvent.adoc |   4 +-
 .../lifecycleevent/ObjectUpdatingEvent.adoc        |   4 +-
 .../pages/classes/lifecycleevent}/_attributes.adoc |   0
 .../_adoc}/modules/cms/pages/classes/menubars.adoc |   6 +-
 .../_adoc}/modules/cms/pages/classes/mixins.adoc   |   0
 .../modules/cms/pages/classes/mixins/Dto.adoc      |  10 +-
 .../modules/cms/pages/classes/mixins/Object.adoc   |  16 +--
 .../cms/pages/classes/mixins/Persistable.adoc      |   6 +-
 .../cms/pages/classes/mixins}/_attributes.adoc     |   0
 .../_adoc}/modules/cms/pages/classes/roles.adoc    |   0
 .../cms/pages/classes/roles/HoldsUpdatedAt.adoc    |   4 +-
 .../cms/pages/classes/roles/HoldsUpdatedBy.adoc    |   2 +-
 .../cms/pages/classes/roles/Timestampable.adoc     |   4 +-
 .../cms/pages/classes/roles}/_attributes.adoc      |   0
 .../_adoc}/modules/cms/pages/classes/spec.adoc     |   2 +-
 .../_adoc}/modules/cms/pages/classes/super.adoc    |  12 +--
 .../cms/pages/classes/super/AbstractService.adoc   |   0
 .../pages/classes/super/AbstractSubscriber.adoc    |   6 +-
 .../cms/pages/classes/super/AbstractViewModel.adoc |   2 +-
 .../cms/pages/classes/super/FixtureScript.adoc     |   0
 .../cms/pages/classes/super/FixtureScripts.adoc    |   4 +-
 .../cms/pages/classes/super}/_attributes.adoc      |   0
 .../_adoc}/modules/cms/pages/classes/uievent.adoc  |  14 +--
 .../cms/pages/classes/uievent/CssClassUiEvent.adoc |   2 +-
 .../cms/pages/classes/uievent/IconUiEvent.adoc     |   2 +-
 .../cms/pages/classes/uievent/TitleUiEvent.adoc    |   2 +-
 .../cms/pages/classes/uievent}/_attributes.adoc    |   0
 .../_adoc}/modules/cms/pages/classes/utility.adoc  |   0
 .../modules/cms/pages/classes/utility/Enums.adoc   |   0
 .../cms/pages/classes/utility/ObjectContracts.adoc |   0
 .../modules/cms/pages/classes/utility/Reasons.adoc |   0
 .../cms/pages/classes/utility/TitleBuffer.adoc     |   2 +-
 .../cms/pages/classes/utility}/_attributes.adoc    |   0
 .../modules/cms/pages/classes/value-types.adoc     |   0
 .../cms/pages/classes/value-types/Blob.adoc        |   2 +-
 .../cms/pages/classes/value-types/Clob.adoc        |   2 +-
 .../cms/pages/classes/value-types/Color.adoc       |   0
 .../cms/pages/classes/value-types/Markup.adoc      |   0
 .../cms/pages/classes/value-types/Money.adoc       |   0
 .../cms/pages/classes/value-types/Password.adoc    |   0
 .../pages/classes/value-types}/_attributes.adoc    |   0
 .../_adoc}/modules/cms/pages/methods.adoc          |   0
 .../modules/cms/pages/methods}/_attributes.adoc    |   0
 .../modules/cms/pages/methods/lifecycle.adoc       |  20 ++--
 .../cms/pages/methods/lifecycle}/_attributes.adoc  |   0
 .../cms/pages/methods/lifecycle/created.adoc       |   4 +-
 .../cms/pages/methods/lifecycle/jdo-api.adoc       |   4 +-
 .../cms/pages/methods/lifecycle/loaded.adoc        |   2 +-
 .../cms/pages/methods/lifecycle/persisted.adoc     |   4 +-
 .../cms/pages/methods/lifecycle/persisting.adoc    |   4 +-
 .../cms/pages/methods/lifecycle/removed.adoc       |   4 +-
 .../cms/pages/methods/lifecycle/removing.adoc      |   4 +-
 .../cms/pages/methods/lifecycle/updated.adoc       |   4 +-
 .../cms/pages/methods/lifecycle/updating.adoc      |   4 +-
 .../_adoc}/modules/cms/pages/methods/prefixes.adoc |  48 ++++-----
 .../cms/pages/methods/prefixes}/_attributes.adoc   |   0
 .../modules/cms/pages/methods/prefixes/addTo.adoc  |   2 +-
 .../cms/pages/methods/prefixes/autoComplete.adoc   |   2 +-
 .../cms/pages/methods/prefixes/choices.adoc        |   2 +-
 .../modules/cms/pages/methods/prefixes/clear.adoc  |   2 +-
 .../cms/pages/methods/prefixes/default.adoc        |   4 +-
 .../cms/pages/methods/prefixes/disable.adoc        |   0
 .../modules/cms/pages/methods/prefixes/get.adoc    |   2 +-
 .../modules/cms/pages/methods/prefixes/hide.adoc   |   2 +-
 .../modules/cms/pages/methods/prefixes/modify.adoc |   2 +-
 .../cms/pages/methods/prefixes/removeFrom.adoc     |   2 +-
 .../modules/cms/pages/methods/prefixes/set.adoc    |   2 +-
 .../cms/pages/methods/prefixes/validate.adoc       |   0
 .../cms/pages/methods/prefixes/validateAddTo.adoc  |   2 +-
 .../pages/methods/prefixes/validateRemoveFrom.adoc |   2 +-
 .../_adoc}/modules/cms/pages/methods/reserved.adoc |  16 +--
 .../cms/pages/methods/reserved}/_attributes.adoc   |   0
 .../cms/pages/methods/reserved/cssClass.adoc       |  10 +-
 .../cms/pages/methods/reserved/disable.adoc        |   4 +-
 .../modules/cms/pages/methods/reserved/getId.adoc  |   6 +-
 .../modules/cms/pages/methods/reserved/hide.adoc   |   6 +-
 .../cms/pages/methods/reserved/iconName.adoc       |   8 +-
 .../modules/cms/pages/methods/reserved/layout.adoc |   6 +-
 .../modules/cms/pages/methods/reserved/title.adoc  |  10 +-
 .../cms/pages/methods/reserved/validate.adoc       |   0
 .../_adoc}/modules/cms/pages/rgcms.adoc            |   0
 .../_adoc/modules/cms/partials}/_attributes.adoc   |   0
 .../_adoc/modules/cms/partials}/nav.adoc           |   1 -
 .../_adoc/modules/svc}/_attributes.adoc            |   0
 .../_adoc/modules/svc/assets/attachments}/.gitkeep |   0
 .../reference-services-api/acceptheaderservice.png | Bin
 .../acceptheaderservice.pptx                       | Bin
 .../ErrorReportingService/kitchensink-example.png  | Bin
 .../action-invocation-published-to-stderr.png      | Bin
 .../changed-object-published-to-stderr.png         | Bin
 .../PublishingService/yuml.me-23db58a4.png         | Bin
 .../UserProfileService/todoapp.png                 | Bin
 .../images/reference-services/categories.png       | Bin
 .../images/reference-services/categories.pptx      | Bin
 .../reference-services/commands-and-events.png     | Bin
 .../reference-services/commands-and-events.pptx    | Bin
 .../_adoc/modules/svc/examples}/.gitkeep           |   0
 .../ROOT => applib/_adoc/modules/svc}/nav.adoc     |   1 -
 .../_adoc/modules/svc}/pages/_attributes.adoc      |   0
 .../_adoc}/modules/svc/pages/about.adoc            |   0
 .../modules/svc/pages/application-layer-api.adoc   |  28 ++---
 .../ActionInvocationContext.adoc                   |   4 +-
 .../application-layer-api/BackgroundService.adoc   |  20 ++--
 .../BackgroundCommandExecution.adoc                |   0
 .../BackgroundService/Quartz.adoc                  |   0
 .../BackgroundService}/_attributes.adoc            |   0
 .../application-layer-api/CommandContext.adoc      |  34 +++---
 .../CommandExecutorService.adoc                    |   6 +-
 .../application-layer-api/DtoMappingHelper.adoc    |   4 +-
 .../application-layer-api/InteractionContext.adoc  |  32 +++---
 .../application-layer-api/MessageService.adoc      |   2 +-
 .../SessionManagementService.adoc                  |   2 +-
 .../pages/application-layer-api/TitleService.adoc  |   0
 .../application-layer-api/TransactionService.adoc  |   4 +-
 .../application-layer-api/WrapperFactory.adoc      |   6 +-
 .../pages/application-layer-api}/_attributes.adoc  |   0
 .../modules/svc/pages/application-layer-spi.adoc   |  10 +-
 .../BackgroundCommandService.adoc                  |  18 ++--
 .../application-layer-spi/CommandService.adoc      |  26 ++---
 .../application-layer-spi/HealthCheckService.adoc  |   0
 .../HomePageProviderService.adoc                   |   2 +-
 .../pages/application-layer-spi}/_attributes.adoc  |   0
 .../modules/svc/pages/bootstrapping-spi.adoc       |   4 +-
 .../bootstrapping-spi/ClassDiscoveryService.adoc   |   6 +-
 .../svc/pages/bootstrapping-spi}/_attributes.adoc  |   0
 .../_adoc}/modules/svc/pages/core-domain-api.adoc  |  12 +--
 .../svc/pages/core-domain-api/ClockService.adoc    |   4 +-
 .../core-domain-api/ConfigurationService.adoc      |   2 +-
 .../svc/pages/core-domain-api/EventBusService.adoc |  20 ++--
 .../svc/pages/core-domain-api/FactoryService.adoc  |   8 +-
 .../svc/pages/core-domain-api/Scratchpad.adoc      |   4 +-
 .../svc/pages/core-domain-api/UserService.adoc     |   2 +-
 .../svc/pages/core-domain-api/_attributes.adoc     |   0
 .../_adoc}/modules/svc/pages/integration-api.adoc  |  12 +--
 .../svc/pages/integration-api/BookmarkService.adoc |   8 +-
 .../svc/pages/integration-api/EmailService.adoc    |  14 +--
 .../svc/pages/integration-api/JaxbService.adoc     |   6 +-
 .../svc/pages/integration-api/MementoService.adoc  |   4 +-
 .../pages/integration-api/XmlSnapshotService.adoc  |   6 +-
 .../svc/pages/integration-api}/_attributes.adoc    |   0
 .../_adoc}/modules/svc/pages/intro.adoc            |  40 +++----
 .../_adoc}/modules/svc/pages/metadata-api.adoc     |  10 +-
 .../metadata-api/ApplicationFeatureRepository.adoc |   0
 .../svc/pages/metadata-api/LayoutService.adoc      |   8 +-
 .../svc/pages/metadata-api/MetamodelService.adoc   |   2 +-
 .../svc/pages/metadata-api/ServiceRegistry.adoc    |   4 +-
 .../svc/pages/metadata-api/SwaggerService.adoc     |   0
 .../svc/pages/metadata-api}/_attributes.adoc       |   0
 .../modules/svc/pages/persistence-layer-api.adoc   |   8 +-
 .../pages/persistence-layer-api/H2ManagerMenu.adoc |   0
 .../persistence-layer-api/HsqlDbManagerMenu.adoc   |   0
 .../persistence-layer-api/IsisJdoSupport.adoc      |   8 +-
 .../persistence-layer-api/MetricsService.adoc      |   6 +-
 .../persistence-layer-api/QueryResultsCache.adoc   |   4 +-
 .../persistence-layer-api/RepositoryService.adoc   |  10 +-
 .../pages/persistence-layer-api}/_attributes.adoc  |   0
 .../modules/svc/pages/persistence-layer-spi.adoc   |   6 +-
 .../persistence-layer-spi/AuditerService.adoc      |   6 +-
 .../persistence-layer-spi/PublisherService.adoc    |  18 ++--
 .../UserRegistrationService.adoc                   |   8 +-
 .../pages/persistence-layer-spi}/_attributes.adoc  |   0
 .../modules/svc/pages/presentation-layer-api.adoc  |   8 +-
 .../AcceptHeaderService.adoc                       |   6 +-
 .../presentation-layer-api/BookmarkUiService.adoc  |   0
 .../ConfigurationViewService.adoc                  |   0
 .../presentation-layer-api/DeepLinkService.adoc    |   4 +-
 .../presentation-layer-api/GuiceBeanProvider.adoc  |   4 +-
 .../pages/presentation-layer-api}/_attributes.adoc |   0
 .../modules/svc/pages/presentation-layer-spi.adoc  |  44 ++++----
 .../ContentMappingService.adoc                     |   6 +-
 .../EmailNotificationService.adoc                  |   8 +-
 .../ErrorReportingService.adoc                     |   4 +-
 .../ExceptionRecognizer.adoc                       |   0
 .../presentation-layer-spi/GridLoaderService.adoc  |   6 +-
 .../pages/presentation-layer-spi/GridService.adoc  |  18 ++--
 .../presentation-layer-spi/GridSystemService.adoc  |   2 +-
 .../pages/presentation-layer-spi/HintStore.adoc    |   6 +-
 .../presentation-layer-spi/LocaleProvider.adoc     |   4 +-
 .../MenuBarsLoaderService.adoc                     |   4 +-
 .../presentation-layer-spi/MenuBarsService.adoc    |   4 +-
 .../presentation-layer-spi/RoutingService.adoc     |   6 +-
 .../SessionLoggingService.adoc                     |   0
 .../TableColumnOrderService.adoc                   |   2 +-
 .../presentation-layer-spi/TranslationService.adoc |   2 +-
 .../TranslationsResolver.adoc                      |   4 +-
 .../presentation-layer-spi/UrlEncodingService.adoc |   2 +-
 .../presentation-layer-spi/UserProfileService.adoc |   0
 .../pages/presentation-layer-spi}/_attributes.adoc |   0
 .../_adoc}/modules/svc/pages/testing.adoc          |  16 +--
 .../pages/testing/ExecutionParametersService.adoc  |   2 +-
 .../modules/svc/pages/testing/FixtureScripts.adoc  |   6 +-
 .../FixtureScriptsSpecificationProvider.adoc       |   2 +-
 .../modules/svc/pages/testing/SudoService.adoc     |  10 +-
 .../svc/pages/testing/SwitchUserService.adoc       |   2 +-
 .../modules/svc/pages/testing}/_attributes.adoc    |   0
 .../_adoc/modules/svc/partials}/_attributes.adoc   |   0
 core/applib/_adoc/modules/svc/partials/nav.adoc    | 120 +++++++++++++++++++++
 core/config/_adoc/antora.yml                       |   6 ++
 core/{_adoc-rg => config/_adoc}/examples.csv       |   0
 .../_adoc/modules/ROOT}/_attributes.adoc           |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../_adoc/modules/ROOT}/assets/images/.gitkeep     |   0
 .../_adoc/modules/ROOT/examples}/.gitkeep          |   0
 core/config/_adoc/modules/ROOT/nav.adoc            |   7 ++
 .../_adoc}/modules/ROOT/pages/_attributes.adoc     |   0
 .../_adoc/modules/ROOT}/pages/about.adoc           |   0
 .../modules/ROOT}/pages/configuration-files.adoc   |   0
 .../modules/ROOT}/pages/configuring-core.adoc      |   4 +-
 .../modules/ROOT}/pages/deployment-types.adoc      |   0
 .../modules/ROOT}/pages/specifying-components.adoc |   0
 .../_adoc/modules/ROOT/partials}/_attributes.adoc  |   0
 core/config/_adoc/modules/ROOT/partials/nav.adoc   |   7 ++
 core/{_adoc-rg => config/_adoc}/sync_examples.sh   |   0
 core/schema/_adoc/antora.yml                       |   6 ++
 core/{_adoc-rg => schema/_adoc}/examples.csv       |   0
 .../_adoc/modules/ROOT}/_attributes.adoc           |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../reference-classes/issue-in-more-detail.png     | Bin
 .../prefixes/choices/dependent.png                 | Bin
 .../reserved/cssClass/strikethrough.png            | Bin
 .../reserved/iconName/differing.pdn                | Bin
 .../reserved/iconName/differing.png                | Bin
 .../reserved/iconName/png-files.png                | Bin
 .../ROOT}/assets/images/value-types/markup.png     | Bin
 .../_adoc/modules/ROOT}/examples/.gitkeep          |   0
 .../_adoc}/modules/ROOT/nav.adoc                   |   1 -
 .../_adoc/modules/ROOT/pages}/_attributes.adoc     |   0
 core/schema/_adoc/modules/ROOT/pages/about.adoc    |  24 +++++
 .../_adoc/modules/ROOT/pages}/aim.adoc             |   4 +-
 .../_adoc/modules/ROOT/pages}/chg.adoc             |   8 +-
 .../_adoc/modules/ROOT/pages}/cmd.adoc             |  10 +-
 .../_adoc/modules/ROOT/pages}/common.adoc          |  12 +--
 .../_adoc/modules/ROOT/pages}/ixn.adoc             |  26 ++---
 .../_adoc/modules/ROOT/pages}/mml.adoc             |   0
 .../_adoc}/modules/ROOT/partials/_attributes.adoc  |   0
 core/schema/_adoc/modules/ROOT/partials/nav.adoc   |   8 ++
 core/{_adoc-rg => schema/_adoc}/sync_examples.sh   |   0
 .../api/_adoc/modules/ROOT/pages/about.adoc        |   6 +-
 .../modules/ROOT/pages/api-for-applications.adoc   |   2 +-
 .../_adoc/modules/ROOT/pages/overview.adoc         |   2 +-
 .../pages/integ-test-support/abstract-class.adoc   |   2 +-
 .../pages/integ-test-support/wrapper-factory.adoc  |   4 +-
 .../_adoc/modules/mvn/pages/intro.adoc             |   6 +-
 .../_adoc/modules/mvn/pages/swagger.adoc           |   2 +-
 .../_adoc/modules/mvn/pages/xsd.adoc               |  12 +--
 .../_adoc/modules/ROOT/pages/architecture.adoc     |   2 +-
 .../_adoc/modules/ROOT/pages/health-check.adoc     |   2 +-
 .../_adoc/modules/ROOT/pages/layout-resources.adoc |   8 +-
 .../_adoc/modules/ROOT/pages/ro-spec.adoc          |   2 +-
 .../modules/ROOT/pages/extending/custom-pages.adoc |   4 +-
 .../ROOT/pages/features/user-registration.adoc     |  12 +--
 .../i18n-label-in-wicket-viewer.adoc               |   2 +-
 .../modules/ROOT/pages/layout/file-based.adoc      |   8 +-
 .../modules/ROOT/pages/layout/table-columns.adoc   |   2 +-
 .../ROOT/pages/menubars-layout/file-based.adoc     |   2 +-
 .../security/partials/user-registration.adoc       |   2 +-
 .../ROOT/pages/fixture-scripts/api-and-usage.adoc  |   4 +-
 .../fixture-scripts/ticking-clock-fixture.adoc     |   2 +-
 .../pages/bdd-spec-support/writing-a-bdd-spec.adoc |   2 +-
 site.yml                                           |  12 ++-
 436 files changed, 1124 insertions(+), 1106 deletions(-)

diff --git a/core/_adoc-rg/antora.yml b/antora/components/refguide/antora.yml
similarity index 55%
rename from core/_adoc-rg/antora.yml
rename to antora/components/refguide/antora.yml
index 7546c9a..da4c1de 100644
--- a/core/_adoc-rg/antora.yml
+++ b/antora/components/refguide/antora.yml
@@ -4,7 +4,3 @@ version: master
 start_page: ROOT:about.adoc
 nav:
 - modules/ROOT/nav.adoc
-- modules/ant/nav.adoc
-- modules/svc/nav.adoc
-- modules/cfg/nav.adoc
-- modules/cms/nav.adoc
diff --git a/core/_adoc-rg/examples.csv b/antora/components/refguide/examples.csv
similarity index 100%
copy from core/_adoc-rg/examples.csv
copy to antora/components/refguide/examples.csv
diff --git a/core/_adoc-rg/modules/ROOT/_attributes.adoc b/antora/components/refguide/modules/ROOT/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ROOT/_attributes.adoc
rename to antora/components/refguide/modules/ROOT/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/nav.adoc b/antora/components/refguide/modules/ROOT/nav.adoc
similarity index 97%
copy from core/_adoc-rg/modules/ROOT/nav.adoc
copy to antora/components/refguide/modules/ROOT/nav.adoc
index 69362ed..de2a49c 100644
--- a/core/_adoc-rg/modules/ROOT/nav.adoc
+++ b/antora/components/refguide/modules/ROOT/nav.adoc
@@ -1,2 +1 @@
 include::rg:ROOT:partial$nav.adoc[]
-
diff --git a/core/_adoc-rg/modules/svc/partials/_attributes.adoc b/antora/components/refguide/modules/ROOT/pages/_attributes.adoc
similarity index 100%
copy from core/_adoc-rg/modules/svc/partials/_attributes.adoc
copy to antora/components/refguide/modules/ROOT/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/pages/about.adoc b/antora/components/refguide/modules/ROOT/pages/about.adoc
similarity index 82%
rename from core/_adoc-rg/modules/ROOT/pages/about.adoc
rename to antora/components/refguide/modules/ROOT/pages/about.adoc
index 1102da6..11c54e5 100644
--- a/core/_adoc-rg/modules/ROOT/pages/about.adoc
+++ b/antora/components/refguide/modules/ROOT/pages/about.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 The reference guides are:
 
 * xref:applib:ant:about.adoc[Annotations]
-* xref:rg:svc:about.adoc[Domain Services]
+* xref:applib:svc:about.adoc[Domain Services]
 * xref:rg:cfg:about.adoc[Configuration Properties]
 * xref:rg:cms:about.adoc[Classes, Methods and Schema]
 
diff --git a/core/applib/_adoc/modules/ant/pages/_partials/_attributes.adoc b/antora/components/refguide/modules/ROOT/partials/_attributes.adoc
similarity index 100%
rename from core/applib/_adoc/modules/ant/pages/_partials/_attributes.adoc
rename to antora/components/refguide/modules/ROOT/partials/_attributes.adoc
diff --git a/antora/components/refguide/modules/ROOT/partials/nav.adoc b/antora/components/refguide/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..5955705
--- /dev/null
+++ b/antora/components/refguide/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,6 @@
+* xref:rg:ROOT:about.adoc[Reference Guide]
+include::applib:ant:partial$nav.adoc[]
+include::applib:rg:partial$nav.adoc[]
+include::applib:cms:partial$nav.adoc[]
+include::cfg:ROOT:partial$nav.adoc[]
+include::schema:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/_adoc-rg/sync_examples.sh b/antora/components/refguide/sync_examples.sh
similarity index 100%
copy from core/_adoc-rg/sync_examples.sh
copy to antora/components/refguide/sync_examples.sh
diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index 41c4b2d..bfb82ed 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -22,7 +22,7 @@
 * Reference Guides
 
 ** *xref:applib:ant:about.adoc[Annotations]*
-** *xref:rg:svc:about.adoc[Domain Services]*
+** *xref:applib:svc:about.adoc[Domain Services]*
 **  xref:rg:cfg:about.adoc[Core Config'n Properties]
 **  xref:rg:cms:about.adoc[Classes, Methods & Schema]
 
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 5b6b337..c7ddb80 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -34,7 +34,7 @@ _Tutorials:_
 | *xref:toc:ROOT:guides.adoc#reference-guides[Reference Guides]*
 
 * *xref:applib:ant:about.adoc[Annotations]*
-* *xref:rg:svc:about.adoc[Domain Services]*
+* *xref:applib:svc:about.adoc[Domain Services]*
 *  xref:rg:cfg:about.adoc[Core Config'n Properties]
 *  xref:rg:cms:about.adoc[Classes, Methods & Schema]
 
diff --git a/antora/components/toc/modules/ROOT/pages/guides.adoc b/antora/components/toc/modules/ROOT/pages/guides.adoc
index ddce67f..ceee043 100644
--- a/antora/components/toc/modules/ROOT/pages/guides.adoc
+++ b/antora/components/toc/modules/ROOT/pages/guides.adoc
@@ -13,7 +13,7 @@ This page lists the user and reference guides available for developers to create
 == Reference Guides
 
 * xref:applib:ant:about.adoc[Annotations]
-* xref:rg:svc:about.adoc[Domain Services]
+* xref:applib:svc:about.adoc[Domain Services]
 * xref:rg:cfg:about.adoc[Core Configuration Properties]
 * xref:rg:cms:about.adoc[Classes, Methods & Schemas]
 
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index b38c217..d51b1bf 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -145,7 +145,7 @@ Implementing business logic using a (no-arg) action, and associating with a prop
 
 
 |link:https://www.youtube.com/watch?v=0naoVsWppuQ[013^] +
-Invoking (no-arg) action on multiple objects at once (using xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`], and using the xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] domain service for a smoother end-user experience.
+Invoking (no-arg) action on multiple objects at once (using xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`], and using the xref:applib:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] domain service for a smoother end-user experience.
 |||x||||||x||
 
 
@@ -341,7 +341,7 @@ How to validate action parameters using the xref:applib:ant:Parameter.adoc#mustS
 
 
 |link:https://www.youtube.com/watch?v=fYJjXAepWAs[032^] +
-How to instantiate/initialize objects using xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`], xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] and/or xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
+How to instantiate/initialize objects using xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`], xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] and/or xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
 |x||||||||x||
 
 
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
index 3687784..7c98792 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
@@ -48,7 +48,7 @@ xref:applib:ant:Property.adoc#command[`@Property#commandExecuteIn()`].
 
 |xref:fis:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`o.a.i.c.m.s.ixn` +
 `InteractionDtoServiceInternal`]
-|Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+|Creates DTO for the current execution of an action invocation or property edit, for use either as a reified command or for implementations of the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 |`CommandDtoService-` +
 `InternalServiceDefault` +
 ``isis-core-metamodel``
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc
index 0992c0c..06e3cbb 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer/AuthenticationSessionProvider.adoc
@@ -29,4 +29,4 @@ isisSessionFactory.getCurrentSession().getAuthenticationSession();
 ----
 
 
-If xref:rg:svc:testing/SudoService.adoc[`SudoService`] has been used to temporarily override the user and/or roles, then this service will report the overridden values.
+If xref:applib:svc:testing/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/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
index 3b2f715..df26928 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer/CommandDtoServiceInternal.adoc
@@ -5,9 +5,9 @@ include::_attributes.adoc[]
 
 The `CommandDtoServiceInternal` is responsible for creating an memento of the current action
 invocation or property edit, to store in the `Command` object (from
-xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).  This memento is a JAXB DTO being an instance of the
-xref:rg:cms:schema.adoc#cmd["cmd" schema], so can be reified so that its execution can be deferred until later,
-as a xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[background command].
+xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).  This memento is a JAXB DTO being an instance of the
+xref:xref:schema:ROOT:cmd.adoc["cmd" schema], so can be reified so that its execution can be deferred until later,
+as a xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[background command].
 
 
 
@@ -36,13 +36,13 @@ public interface CommandDtoServiceInternal {
             final ObjectAdapter valueAdapter);
 }
 ----
-<1> Returns a JAXB DTO being an instance of the xref:rg:cms:schema.adoc#cmd["cmd" schema] (hence convertible to
+<1> Returns a JAXB DTO being an instance of the xref:xref:schema:ROOT:cmd.adoc["cmd" schema] (hence convertible to
 XML) that represents the __intention__ to invoke an action on a target object (or possibly many targets, for
 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:rg:svc:application-layer-api/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:rg:svc:application-layer-api/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:applib:svc:application-layer-api/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:applib:svc:application-layer-api/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`.
@@ -52,4 +52,4 @@ The SPI is implemented by `o.a.i.c.r.s.command.CommandDtoServiceInternalServiceD
 
 The design of this service is similar to that of
 xref:fis:ROOT:application-layer/InteractionDtoServiceInternal.adoc[`InteractionDtoServiceInternal`], used to create the
-`MemberExecutionDto` (from the xref:rg:cms:schema.adoc#ixn["ixn" schema]).
+`MemberExecutionDto` (from the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]).
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
index e20ac60..9697beb 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer/InteractionDtoServiceInternal.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-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:rg:cms:schema.adoc#ixn["ixn" schema], and subsequently accessible from the `Interaction` object (per the xref:rg:svc:application-layer-api/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:xref:schema:ROOT:ixn["ixn" schema], and subsequently accessible from the `Interaction` object (per the xref:applib:svc:application-layer-api/InteractionContext.adoc.adoc[`InteractionContext`] service).
 
 
 == SPI & Implementation
@@ -29,7 +29,7 @@ public interface InteractionDtoServiceInternal {
 }
 ----
 <1> called by the framework when invoking an action, to create a DTO capturing the details of the action invocation (target, arguments etc).
-<2> called by the framework when editing a property, to create a DTO (for the xref:rg:cms:schema.adoc#ixn["ixn" schema]) capturing the details of the property edit (target, new value etc).
+<2> called by the framework when editing a property, to create a DTO (for the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) capturing the details of the property edit (target, new value etc).
 <3> called by the framework to attach the result of an action invocation to the aforementioned DTO.
 
 The service is implemented by `o.a.i.core.runtime.services.ixn.InteractionDtoServiceInternalDefault`.
@@ -39,4 +39,4 @@ The service is implemented by `o.a.i.core.runtime.services.ixn.InteractionDtoSer
 
 The design of this service is similar to that of
 xref:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`], used to create the `CommandDto`
-(from the xref:rg:cms:schema.adoc#cmd["cmd" schema]).
+(from the xref:xref:schema:ROOT:cmd.adoc["cmd" schema]).
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc b/core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc
index 56be55a..129b5e8 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/persistence-layer.adoc
@@ -55,8 +55,8 @@ querying and for persisting objects.
 `PublishingServiceInternal`]
 |Co-ordinates between
 xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] and
-xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] and the SPI services, and the
-xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] and the SPI services, and the
+xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 |`PublishingService-` +
 `InternalDefault` +
 `isis-core-runtime`
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
index c650d0d..3e2c617 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/AuditingServiceInternal.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-The (internal) `AuditingServiceInternal` domain service acts as an internal facade to any registered xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] service(s).
+The (internal) `AuditingServiceInternal` domain service acts as an internal facade to any registered xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] service(s).
 It is responsible for obtaining the details of all changes to domain objects within an interaction, and then to call the configured ``AuditerService``(s) to actually create audit entries of those changes.
 
 
@@ -20,8 +20,8 @@ public class AuditingServiceInternal {
     public void audit();                    // <2>
 }
 ----
-<1> minor performance optimization as to whether any auditing services are actually enabled; checks to see if any xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] are enabled.
-<2> uses the xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] to obtain details of the changed properties, then call the configured xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
+<1> minor performance optimization as to whether any auditing services are actually enabled; checks to see if any xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] are enabled.
+<2> uses the xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] to obtain details of the changed properties, then call the configured xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
 
 The service implementation is `o.a.i.c.r.s.auditing.AuditingServiceInternal`.
 
@@ -34,7 +34,7 @@ Apache Isis' default implementation of `AuditingServiceInternal` class is automa
 
 == Related Classes
 
-The service delegates between the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service  to the configured xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
+The service delegates between the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service  to the configured xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
 If no such service(s) are configured, then _this_ service is in effect a no-op.
 
-The (internal) xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] performs a similar function for the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
+The (internal) xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] performs a similar function for the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
index f666f63..aa3a34e 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/ChangedObjectsServiceInternal.adoc
@@ -32,7 +32,7 @@ public class ChangedObjectsServiceInternal {
 }
 ----
 <1> Enlists an object that has just been created, updated or deleted, capturing the pre-modification values of the properties.
-<2> Used by the framework to determine whether to set the "persist hint" on the `Command` object (as per xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).
+<2> Used by the framework to determine whether to set the "persist hint" on the `Command` object (as per xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).
 <3> Used by xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] to obtain details of and
 counters of all objects changed within the transaction.
 <4> Used by xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] to obtain all pairs of
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
index d1eb456..192ff9c 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-The (internal) `PublishingServiceInternal` domain service acts as an internal facade to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] domain service(s).
+The (internal) `PublishingServiceInternal` domain service acts as an internal facade to any configured xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] domain service(s).
 
 For published action invocations/ property edits, it provides an API for those member executions to call.
 
@@ -24,10 +24,10 @@ public class PublishingServiceInternal {
     void publishObjects();                          // <3>
 }
 ----
-<1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
-The `Execution` object will be an instance of `ActionInvocation` (see xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
-<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
-The `Execution` object will be an instance of `PropertyEdit` (see xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
+<1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] annotation attribute or equivalent, to any configured xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The `Execution` object will be an instance of `ActionInvocation` (see xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
+<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] annotation attribute or equivalent, to any configured xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The `Execution` object will be an instance of `PropertyEdit` (see xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
 <3> to publish all changed objects that are to be published (with the xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation attribute or equivalent).
 
 
@@ -39,11 +39,11 @@ The service implementation is `o.a.i.c.m.s.publishing.PublishingServiceInternal`
 
 Apache Isis' default implementation of `PublishingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
 
-To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Related Classes
 
-The service delegates between the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service to the configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The service delegates between the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service to the configured xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
-The (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] performs a similar function for the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
+The (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] performs a similar function for the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], also collating details of the changed objects from `ChangedObjectsServiceInternal`.
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc
index c858a40..415f7e2 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer.adoc
@@ -27,7 +27,7 @@ Impl'n (g: a:)
 |xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`o.a.i.v.ro.` +
 `rendering.service.conneg.` +
 `ContentNegotiationService`]
-|Encodes the algorithm that delegates to any registered xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`]s.
+|Encodes the algorithm that delegates to any registered xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`]s.
 |`ContentNegotiationService-` +
 `XRoDomainType` +
 ``o.a.i.core`` +
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
index 35fdc19..ec51cc7 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
@@ -24,7 +24,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:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/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. +
 +
@@ -111,7 +111,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:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
+The value of the `x-ro-domain-type` parameter corresponds to the DTO to be mapped into by the xref:applib:svc:presentation-layer-spi/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.
 
@@ -193,12 +193,12 @@ If the property is not set, then the default depends on the xref:rg:cfg:deployme
 
 Apache Isis' default implementations of `ContentNegotiationService` service are automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
 
-To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 == Related Services
 
-The default implementation of `ContentNegotiationService` delegates to xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (if present) to convert domain entities into a stable form (eg DTO).
+The default implementation of `ContentNegotiationService` delegates to xref:applib:svc:presentation-layer-spi/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:fis:ROOT:presentation-layer/RepresentationService.adoc[`RepresentationService`].
\ No newline at end of file
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
index 06f4ae5..d6aecd2 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
@@ -11,7 +11,7 @@ The default implementations ultimately generate representations according to the
 However, it also delegates to the xref:fis:ROOT:presentation-layer/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:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and the xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
+In all there are three domain services that can influence the representations generated: this service, xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and the xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
 The diagram below shows how these collaborate:
 
 image::RepresentationService/service-collaborations.png[width="700px",link="{imagesdir}/RepresentationService/service-collaborations.png"]
@@ -79,7 +79,7 @@ ie `MemberReprMode`
 As discussed in the introduction, the framework provides a default implementation, `o.a.i.v.ro.rendering.service.RepresentationServiceContentNegotiator`.
 This delegates to xref:fis:ROOT:presentation-layer/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 xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[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:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`], whose default implementation may delegate in turn to xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (if present).
\ No newline at end of file
+The default implementation delegates to xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`], whose default implementation may delegate in turn to xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (if present).
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cfg/nav.adoc b/core/_adoc-rg/modules/cfg/nav.adoc
deleted file mode 100644
index 368aedf..0000000
--- a/core/_adoc-rg/modules/cfg/nav.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-* xref:about.adoc[Core Config Properties]
-
-** xref:deployment-types.adoc[Deployment Types]
-** xref:configuration-files.adoc[Configuration Files]
-** xref:specifying-components.adoc[Specifying Components]
-** xref:configuring-core.adoc[Configuring Core]
-
diff --git a/core/_adoc-rg/modules/cms/pages/about.adoc b/core/_adoc-rg/modules/cms/pages/about.adoc
deleted file mode 100644
index 8827633..0000000
--- a/core/_adoc-rg/modules/cms/pages/about.adoc
+++ /dev/null
@@ -1,11 +0,0 @@
-= Classes, Methods & Schema
-include::_attributes.adoc[]
-
-
-This reference guide lists and describes various elements of the the Apache Isis Programming Model, specifically reserved and prefix xref:rg:cms:methods.adoc[methods] (such as `title()` and `validate...()`) and various utility and supporting xref:rg:cms:classes.adoc[classes].
-
-It also describes the xref:rg:cms:schema.adoc[XSD schema] defined by Apache Isis.
-One use case is for the JAXB serialization of view models.
-
-
-
diff --git a/core/_adoc-rg/modules/cms/pages/schema.adoc b/core/_adoc-rg/modules/cms/pages/schema.adoc
deleted file mode 100644
index 51903df..0000000
--- a/core/_adoc-rg/modules/cms/pages/schema.adoc
+++ /dev/null
@@ -1,34 +0,0 @@
-= Schema
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-include::_attributes.adoc[]
-
-
-Most applications need to integrate with other apps in the enterprise.  To facilitate such integration scenarios,
-Apache Isis defines a number of standard XSD schemas:
-
-
-* the xref:rg:cms:schema.adoc#mml[metamodel] schema, which allows the internal metamodel to be exported in a canonical fashion
-
-* the xref:rg:cms:schema.adoc#cmd[command] schema, which captures the __intention__ of a user
-to invoke an action or edit a property
-
-* the xref:rg:cms:schema.adoc#ixn[interaction execution] schema, which captures the actual execution of an action invocation/property edit
-
-* the xref:rg:cms:schema.adoc#chg[changes] schema, which captures which objects have been
-created, updated or deleted as the result of an execution of an action invocation/property edit
-
-These each use XSD types defined by the xref:rg:cms:schema.adoc#common[common schema] (most notably the `oidDto`
-complex type which identifies a domain object).
-
-The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command and publishmq modules use these schemas to reify
-corresponding applib objects (`Command`, `Interaction.Execution` and `PublishedObjects`), either to persist or publishing using an link:http://activemq.apache.org[Apache ActiveMQ] message queue.
-
-The sections below discuss these schemas in more detail.
-
-
-//include::schema/aim.adoc[leveloffset=+1] // replaced in 1.13.0
-include::schema/mml.adoc[leveloffset=+1]
-include::schema/cmd.adoc[leveloffset=+1]
-include::schema/ixn.adoc[leveloffset=+1]
-include::schema/chg.adoc[leveloffset=+1]
-include::schema/common.adoc[leveloffset=+1]
diff --git a/core/_adoc-rg/modules/svc/nav.adoc b/core/_adoc-rg/modules/svc/nav.adoc
deleted file mode 100644
index b8f12ab..0000000
--- a/core/_adoc-rg/modules/svc/nav.adoc
+++ /dev/null
@@ -1,120 +0,0 @@
-* xref:about.adoc[Domain Services]
-
-
-** xref:intro.adoc[Introduction]
-
-
-
-** xref:presentation-layer-api.adoc[Presentation Layer API]
-*** xref:presentation-layer-api/AcceptHeaderService.adoc[AcceptHeaderService]
-*** xref:presentation-layer-api/BookmarkUiService.adoc[BookmarkUiService]
-*** xref:presentation-layer-api/ConfigurationViewService.adoc[ConfigurationViewService]
-*** xref:presentation-layer-api/DeepLinkService.adoc[DeepLinkService]
-*** xref:presentation-layer-api/GuiceBeanProvider.adoc[GuiceBeanProvider]
-
-
-
-** xref:presentation-layer-spi.adoc[Presentation Layer SPI]
-*** xref:presentation-layer-spi/ContentMappingService.adoc[ContentMappingService]
-*** xref:presentation-layer-spi/EmailNotificationService.adoc[EmailNotificationService]
-*** xref:presentation-layer-spi/ErrorReportingService.adoc[ErrorReportingService]
-*** xref:presentation-layer-spi/ExceptionRecognizer.adoc[ExceptionRecognizer]
-*** xref:presentation-layer-spi/GridLoaderService.adoc[GridLoaderService]
-*** xref:presentation-layer-spi/GridService.adoc[GridService]
-*** xref:presentation-layer-spi/GridSystemService.adoc[GridSystemService]
-*** xref:presentation-layer-spi/HintStore.adoc[HintStore]
-*** xref:presentation-layer-spi/LocaleProvider.adoc[LocaleProvider]
-*** xref:presentation-layer-spi/MenuBarsLoaderService.adoc[MenuBarsLoaderService]
-*** xref:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService]
-*** xref:presentation-layer-spi/RoutingService.adoc[RoutingService]
-*** xref:presentation-layer-spi/SessionLoggingService.adoc[SessionLoggingService]
-*** xref:presentation-layer-spi/TableColumnOrderService.adoc[TableColumnOrderService]
-*** xref:presentation-layer-spi/TranslationService.adoc[TranslationService]
-*** xref:presentation-layer-spi/TranslationsResolver.adoc[TranslationsResolver]
-*** xref:presentation-layer-spi/UrlEncodingService.adoc[UrlEncodingService]
-*** xref:presentation-layer-spi/UserProfileService.adoc[UserProfileService]
-
-
-
-** xref:application-layer-api.adoc[Application Layer API]
-*** xref:application-layer-api/ActionInvocationContext.adoc[ActionInvocationContext]
-
-*** xref:application-layer-api/BackgroundService.adoc[BackgroundService]
-**** xref:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[BackgroundCommandExecution]
-**** xref:application-layer-api/BackgroundService/Quartz.adoc[Quartz]
-
-
-*** xref:application-layer-api/CommandContext.adoc[CommandContext]
-*** xref:application-layer-api/DtoMappingHelper.adoc[DtoMappingHelper]
-*** xref:application-layer-api/InteractionContext.adoc[InteractionContext]
-*** xref:application-layer-api/MessageService.adoc[MessageService]
-*** xref:application-layer-api/SessionManagementService.adoc[SessionManagementService]
-*** xref:application-layer-api/TitleService.adoc[TitleService]
-*** xref:application-layer-api/TransactionService.adoc[TransactionService]
-*** xref:application-layer-api/WrapperFactory.adoc[WrapperFactory]
-
-
-
-** xref:application-layer-spi.adoc[Application Layer SPI]
-*** xref:application-layer-spi/BackgroundCommandService.adoc[BackgroundCommandService]
-*** xref:application-layer-spi/CommandService.adoc[CommandService]
-*** xref:application-layer-spi/HomePageProviderService.adoc[HomePageProviderService]
-*** xref:application-layer-spi/HealthCheckService.adoc[HealthCheckService]
-
-
-
-** xref:core-domain-api.adoc[Core Domain API]
-*** xref:core-domain-api/ClockService.adoc[ClockService]
-*** xref:core-domain-api/ConfigurationService.adoc[ConfigurationService]
-*** xref:core-domain-api/EventBusService.adoc[EventBusService]
-*** xref:core-domain-api/FactoryService.adoc[FactoryService]
-*** xref:core-domain-api/Scratchpad.adoc[Scratchpad.]
-*** xref:core-domain-api/UserService.adoc[UserService]
-
-
-
-** xref:integration-api.adoc[Integration API]
-*** xref:integration-api/BookmarkService.adoc[BookmarkService]
-*** xref:integration-api/EmailService.adoc[EmailService]
-*** xref:integration-api/JaxbService.adoc[JaxbService]
-*** xref:integration-api/MementoService.adoc[MementoService]
-*** xref:integration-api/XmlSnapshotService.adoc[XmlSnapshotService]
-
-
-
-** xref:metadata-api.adoc[Metadata API]
-*** xref:metadata-api/ApplicationFeatureRepository.adoc[ApplicationFeatureRepository]
-*** xref:metadata-api/LayoutService.adoc[LayoutService]
-*** xref:metadata-api/MetamodelService.adoc[MetamodelService]
-*** xref:metadata-api/ServiceRegistry.adoc[ServiceRegistry]
-*** xref:metadata-api/SwaggerService.adoc[SwaggerService]
-
-
-
-** xref:testing.adoc[Testing]
-*** xref:testing/ExecutionParametersService.adoc[ExecutionParametersService]
-*** xref:testing/FixtureScripts.adoc[FixtureScripts]
-*** xref:testing/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider]
-*** xref:testing/SudoService.adoc[SudoService]
-*** xref:testing/SwitchUserService.adoc[SwitchUserService]
-
-
-
-** xref:persistence-layer-api.adoc[Persistence Layer API]
-*** xref:persistence-layer-api/HsqlDbManagerMenu.adoc[HsqlDbManagerMenu]
-*** xref:persistence-layer-api/IsisJdoSupport.adoc[JdoSupport]
-*** xref:persistence-layer-api/MetricsService.adoc[MetricsService]
-*** xref:persistence-layer-api/QueryResultsCache.adoc[QueryResultsCache]
-*** xref:persistence-layer-api/RepositoryService.adoc[RepositoryService]
-
-
-
-** xref:persistence-layer-spi.adoc[Persistence Layer SPI]
-*** xref:persistence-layer-spi/AuditerService.adoc[AuditerService]
-*** xref:persistence-layer-spi/PublisherService.adoc[PublisherService]
-*** xref:persistence-layer-spi/UserRegistrationService.adoc[UserRegistrationService]
-
-
-** xref:bootstrapping-spi.adoc[Bootstrapping SPI]
-*** xref:bootstrapping-spi/ClassDiscoveryService.adoc[ClassDiscoveryService]
-
diff --git a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc b/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
index 5d2362d..f0a35d7 100644
--- a/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
+++ b/core/_adoc-ug/modules/btb/pages/deployment/externalized-configuration.adoc
@@ -244,7 +244,7 @@ take a look at link:http://stackoverflow.com/a/10041835/56880[this SO answer] on
 
 == JVM Args
 
-The xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.
+The xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] uses link:http://www.javassist.org[Javassist] to create on-the-fly classes acting as a proxy.
 The cost of these proxies can be mitigated using:
 
 [source,ini]
diff --git a/core/_adoc-ug/modules/btb/pages/headless-access.adoc b/core/_adoc-ug/modules/btb/pages/headless-access.adoc
index a203aea..953d0a3 100644
--- a/core/_adoc-ug/modules/btb/pages/headless-access.adoc
+++ b/core/_adoc-ug/modules/btb/pages/headless-access.adoc
@@ -16,7 +16,7 @@ There are several main use-cases:
 
 Note that the calling thread runs in the same process space as the Apache Isis domain object model (must be physically linked to the JAR files containing the domain classes).  For use cases where the calling thread runs in some other process space (eg migrating data from a legacy system), then the xref:vro:ROOT:about.adoc[Restful Objects viewer] is usually the way to go.
 
-The API described in this chapter is reasonably low-level, allowing code to interact very directly with the Apache Isis metamodel and runtime.  Such callers should be considered trusted: they do not (by default) honour any business rules eg implicit in the Isis annotations or hide/disable/validate methods.  However the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service could be used to enforce such business rules if required.
+The API described in this chapter is reasonably low-level, allowing code to interact very directly with the Apache Isis metamodel and runtime.  Such callers should be considered trusted: they do not (by default) honour any business rules eg implicit in the Isis annotations or hide/disable/validate methods.  However the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service could be used to enforce such business rules if required.
 
 
 
diff --git a/core/_adoc-ug/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc b/core/_adoc-ug/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
index 1548a34..65a67f5 100644
--- a/core/_adoc-ug/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
+++ b/core/_adoc-ug/modules/btb/pages/headless-access/BackgroundCommandExecution.adoc
@@ -34,9 +34,9 @@ image::headless-access/BackgroundCommandExecution.png[width="400px",link="{image
 
 == Background Execution
 
-The `BackgroundCommandExecutionFromBackgroundCommandServiceJdo` is a concrete subclass of `BackgroundCommandExecution` (see the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundCommandService`]), the intended use being for the class to be instantiated regularly (eg every 10 seconds) by a scheduler such as http://quartz-scheduler.org[Quartz]) to poll for ``Command``s to be executed, and then execute them.
+The `BackgroundCommandExecutionFromBackgroundCommandServiceJdo` is a concrete subclass of `BackgroundCommandExecution` (see the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundCommandService`]), the intended use being for the class to be instantiated regularly (eg every 10 seconds) by a scheduler such as http://quartz-scheduler.org[Quartz]) to poll for ``Command``s to be executed, and then execute them.
 
-This implementation queries for ``Command``s persisted by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's  implementations of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] and xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] using the `BackgroundCommandServiceJdoRepository`.
+This implementation queries for ``Command``s persisted by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's  implementations of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] and xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] using the `BackgroundCommandServiceJdoRepository`.
 
 The diagram below (link:http://yuml.me/edit/25343da1[yuml.me/25343da1]) shows the inheritance hierarchy for this class:
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
index 16c638e..59f06b8 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
@@ -21,7 +21,7 @@ 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:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`] SPI domain service.
+One way to implement this idea is to provide a custom implementation of the xref:applib:svc:presentation-layer-spi/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:applib:ant: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/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
index c6e91db..a02da1c 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
@@ -11,7 +11,7 @@ From this link:http://isis.markmail.org/thread/dduarjscrbnodfsi[thread] on the A
 * _What is the easiest way to add a spell checker to the text written in a field in
    a domain object, for instance to check English syntax?_
 
-One way to implement is to use the xref:rg:svc:core-domain-api/EventBusService.adoc[event bus]:
+One way to implement is to use the xref:applib:svc:core-domain-api/EventBusService.adoc[event bus]:
 
 * Set up a xref:rg:cms:classes/domainevent.adoc[domain event] xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscriber] that can veto the changes.
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
index 7d9d43f..346efc2 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 
-The framework provides default implementations for many of the xref:rg:svc:about.adoc[domain services].
+The framework provides default implementations for many of the xref: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:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`].
+For example, suppose you wanted to provide your own implementation of xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`].
 The trick is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
 
 Here's how:
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
index b13a54b..b5f5a8e 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/transactions-and-errors.adoc
@@ -9,12 +9,12 @@ and any repository query automatically does a flush before hand.
 
 What that means is that there's no need to explicitly start or commit transactions in Apache Isis; this will be done
 for you. Indeed, if you do try to manage transactions (eg by reaching into the JDO `PersistenceManager` exposed by the
-xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[IsisJdoSupport] domain service, then you are likely to confuse the
+xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[IsisJdoSupport] domain service, then you are likely to confuse the
 framework and get a stack trace for your trouble.
 
 However, you can complete a given transaction and start a new one.  This is sometimes useful if writing a 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:rg:svc:application-layer-api/TransactionService.adoc[`TransactionService`].
+xref:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`].
 
 For example:
 
@@ -40,7 +40,7 @@ You get the idea.
 
 == Raise message in the UI
 
-The framework provides the xref:rg:svc:application-layer-api/MessageService.adoc[`MessageService`] as a means to return an out-of-band
+The framework provides the xref:applib:svc:application-layer-api/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.
 
@@ -70,7 +70,7 @@ Another way in which exceptions might be considered "expected" could be as the r
 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:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`] SPI can be used.  The
+To handle this the xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.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
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
index 1ffc822..05c4d44 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/vetoing-visibility.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-NOTE: FIXME - a write-up of the "vetoing subscriber" design pattern, eg as described in the  xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]
+NOTE: FIXME - a write-up of the "vetoing subscriber" design pattern, eg as described in the  xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`]
 
 
 eg if included an addon such as auditing or security.
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
index 5566b3b..d545c80 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/view-model-instantiation.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 Vith 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:rg:svc:metadata-api/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:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service:
 
 [source,java]
 ----
@@ -16,7 +16,7 @@ CustomerViewModel viewModel = new CustomerViewModel("Joe", "Bloggs");
 serviceRegistry.injectServicesInto(viewModel);
 ----
 
-What will most likely *fail* is to use the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`]:
+What will most likely *fail* is to use the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`]:
 
 
 [source,java]
diff --git a/core/_adoc-ug/modules/btb/pages/i18n.adoc b/core/_adoc-ug/modules/btb/pages/i18n.adoc
index 844a83f..b0127a0 100644
--- a/core/_adoc-ug/modules/btb/pages/i18n.adoc
+++ b/core/_adoc-ug/modules/btb/pages/i18n.adoc
@@ -194,7 +194,7 @@ msgstr "Ich heisse {firstName} {lastName}."
 then the translation would be: "Ich heisse James Bond".
 
 
-The same class is used in xref:rg:svc:core-domain-api/MessageService.adoc[`MessageService`] so that you can raise translatable info, warning and error messages; each of the relevant methods are overloaded.
+The same class is used in xref:applib:svc:core-domain-api/MessageService.adoc[`MessageService`] so that you can raise translatable info, warning and error messages; each of the relevant methods are overloaded.
 
 For example:
 
@@ -214,7 +214,7 @@ public interface MessageService {
 
 === `TranslatableException`
 
-Another mechanism by which messages can be rendered to the user are as the result of exception messages thrown and recognized by an xref:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`].
+Another mechanism by which messages can be rendered to the user are as the result of exception messages thrown and recognized by an xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`].
 
 In this case, if the exception implements `TranslatableException`, then the message will automatically be translated before being rendered.
 The `TranslatableException` itself takes the form:
@@ -535,7 +535,7 @@ To ensure your app is fully internationalized app, you must therefore:
 We make no apologies for this requirement: one of the reasons that we decided to implement Apache Isis' i18n support in this way is because it encourages/requires the app to be properly tested.
 
 Behind the scenes Apache Isis uses a JUnit rule (`ExceptionRecognizerTranslate`) to intercept any exceptions that are thrown.
-These are simply passed through to the registered xref:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`]s so that any messages are recorded as requiring translation.
+These are simply passed through to the registered xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`]s so that any messages are recorded as requiring translation.
 ====
 
 
diff --git a/core/_adoc-ug/modules/btb/pages/web-xml.adoc b/core/_adoc-ug/modules/btb/pages/web-xml.adoc
index 1b55595..1561428 100644
--- a/core/_adoc-ug/modules/btb/pages/web-xml.adoc
+++ b/core/_adoc-ug/modules/btb/pages/web-xml.adoc
@@ -435,7 +435,7 @@ Discussed in more detail below.
 Originally introduced to allow the `SwaggerSpec` resource (which does not require a session) to be invoked.
 <4> A comma separated list of paths that are allowed through even if not authenticated.
 The servlets mapped to these paths are expected to be able to deal with there being no session.
-Typically they will be logon pages, or for health checks (as per xref:rg:svc:application-layer-spi/HealthCheckService.adoc[`HealthCheckService`] SPI.
+Typically they will be logon pages, or for health checks (as per xref:applib:svc:application-layer-spi/HealthCheckService.adoc[`HealthCheckService`] SPI.
 See below for further details.
 <5> where to redirect to if an exception occurs.
 
diff --git a/core/_adoc-ug/modules/fun/pages/available-domain-services/framework-provided.adoc b/core/_adoc-ug/modules/fun/pages/available-domain-services/framework-provided.adoc
index bedd064..c772929 100644
--- a/core/_adoc-ug/modules/fun/pages/available-domain-services/framework-provided.adoc
+++ b/core/_adoc-ug/modules/fun/pages/available-domain-services/framework-provided.adoc
@@ -14,96 +14,96 @@ In these cases there is (usually) no default implementation; it is up to the app
 
 General purpose:
 
-* xref:rg:svc:core-domain-api/ClockService.adoc[`ClockService`]
-* xref:rg:svc:presentation-layer-api/ConfigurationViewService.adoc[`ConfigurationViewService`]
-* xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]
-* xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`]
-* xref:rg:svc:core-domain-api/UserService.adoc[`UserService`]
-* xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`]
-* xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`]
-* xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`]
-* xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]
+* xref:applib:svc:core-domain-api/ClockService.adoc[`ClockService`]
+* xref:applib:svc:presentation-layer-api/ConfigurationViewService.adoc[`ConfigurationViewService`]
+* xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]
+* xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`]
+* xref:applib:svc:core-domain-api/UserService.adoc[`UserService`]
+* xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`]
+* xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`]
+* xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`]
+* xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]
 
 Commands/Interactions/Background/Auditing/Publishing/Profiling:
 
-* xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] (SPI)
-* xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] (SPI)
-* xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] (SPI)
-* xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] (SPI)
-* xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`]
-* xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] (SPI)
-* xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] (SPI)
-* xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`]
+* xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] (SPI)
+* xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] (SPI)
+* xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] (SPI)
+* xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] (SPI)
+* xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`]
+* xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] (SPI)
+* xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] (SPI)
+* xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`]
 
 
 Information Sharing:
 
-* xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`]
-* xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`]
-* xref:rg:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`]
+* xref:applib:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`]
+* xref:applib:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`]
+* xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`]
 
 UserManagement:
 
-* xref:rg:svc:presentation-layer-spi/UserProfileService.adoc[`UserProfileService`] (SPI)
-* xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`] (SPI)
-* xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/UserProfileService.adoc[`UserProfileService`] (SPI)
+* xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`] (SPI)
 
 Bookmarks and Mementos:
 
-* xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]
-* xref:rg:svc:integration-api/MementoService.adoc[`MementoService`]
-* xref:rg:svc:presentation-layer-api/DeepLinkService.adoc[`DeepLinkService`]
-* xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`]
-* xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`]
+* xref:applib:svc:integration-api/MementoService.adoc[`MementoService`]
+* xref:applib:svc:presentation-layer-api/DeepLinkService.adoc[`DeepLinkService`]
+* xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`]
+* xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
 Layout and UI Management:
 
-* xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] (SPI)
-* xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] (SPI)
-* xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] (SPI)
-* xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`]
-* xref:rg:svc:presentation-layer-spi/HintStore.adoc[`HintStore`] (SPI)
-* xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`]
-* xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`] (SPI)
-* xref:rg:svc:application-layer-api/TitleService.adoc[`TitleService`]
-* xref:rg:svc:presentation-layer-spi/UrlEncodingService.adoc[`UrlEncodingService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] (SPI)
+* xref:applib:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`]
+* xref:applib:svc:presentation-layer-spi/HintStore.adoc[`HintStore`] (SPI)
+* xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`]
+* xref:applib:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`] (SPI)
+* xref:applib:svc:application-layer-api/TitleService.adoc[`TitleService`]
+* xref:applib:svc:presentation-layer-spi/UrlEncodingService.adoc[`UrlEncodingService`] (SPI)
 
 REST Support:
 
-* xref:rg:svc:presentation-layer-api/AcceptHeaderService.adoc[`AcceptHeaderService`]
-* xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`]
-* xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (SPI)
+* xref:applib:svc:presentation-layer-api/AcceptHeaderService.adoc[`AcceptHeaderService`]
+* xref:applib:svc:metadata-api/SwaggerService.adoc[`SwaggerService`]
+* xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] (SPI)
 
 Metamodel:
 
-* xref:rg:svc:metadata-api/ApplicationFeatureRepository.adoc[`ApplicationFeatureRepository`]
-* xref:rg:svc:metadata-api/MetamodelService.adoc[`MetamodelService`]
+* xref:applib:svc:metadata-api/ApplicationFeatureRepository.adoc[`ApplicationFeatureRepository`]
+* xref:applib:svc:metadata-api/MetamodelService.adoc[`MetamodelService`]
 
 Error handling:
 
-* xref:rg:svc:presentation-layer-spi/ErrorReportingService.adoc[`ErrorReportingService`] (SPI)
-* xref:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`] (SPI)
-* xref:rg:svc:application-layer-api/MessageService.adoc[`MessageService`]
+* xref:applib:svc:presentation-layer-spi/ErrorReportingService.adoc[`ErrorReportingService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`] (SPI)
+* xref:applib:svc:application-layer-api/MessageService.adoc[`MessageService`]
 
 i18n:
 
-* xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] (SPI)
-* xref:rg:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`] (SPI)
-* xref:rg:svc:presentation-layer-spi/TranslationsResolver.adoc[`TranslationsResolver`] (SPI)
+* xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] (SPI)
+* xref:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`] (SPI)
+* xref:applib:svc:presentation-layer-spi/TranslationsResolver.adoc[`TranslationsResolver`] (SPI)
 
 Other API:
 
-* xref:rg:svc:testing/SudoService.adoc[`SudoService`]
-* xref:rg:svc:application-layer-api/TransactionService.adoc[`TransactionService`]
+* xref:applib:svc:testing/SudoService.adoc[`SudoService`]
+* xref:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`]
 
 Other SPI:
 
-* xref:rg:svc:bootstrapping-spi/ClassDiscoveryService.adoc[`ClassDiscoveryService`] (SPI)
+* xref:applib:svc:bootstrapping-spi/ClassDiscoveryService.adoc[`ClassDiscoveryService`] (SPI)
 
 Extensions:
 
-* xref:rg:svc:testing/FixtureScripts.adoc[`FixtureScripts`]
-* xref:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] (SPI)
+* xref:applib:svc:testing/FixtureScripts.adoc[`FixtureScripts`]
+* xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] (SPI)
 
-A full list of services can be found in the xref:rg:svc:about.adoc[Domain Services] reference guide.
+A full list of services can be found in the xref:applib:svc:about.adoc[Domain Services] reference guide.
 
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events.adoc
index 80f9fac..f332f29 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events.adoc
@@ -4,16 +4,16 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-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:rg:svc:core-domain-api/EventBusService.adoc[event bus].
+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:applib:svc:core-domain-api/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.
 
 [TIP]
 ====
-It is also possible to simulate the rendering of a domain object by way of the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
+It is also possible to simulate the rendering of a domain object by way of the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
 This allows business rules to be enforced for programmatic interactions between objects.
 ====
 
-To receive the events, the domain service should subscribe to the xref:rg:svc:core-domain-api/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:applib:svc:core-domain-api/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.
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
index 0c476f3..12085b8 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Domain events are fired -- through the internal xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] -- for every user interaction with each object member (property, collection or action).
+Domain events are fired -- through the internal xref:applib:svc:core-domain-api/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:applib:ant: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.
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
index c77e79e..d2c09f9 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/identifiers/oid.adoc
@@ -25,19 +25,19 @@ Some examples:
 * the information within an OID could be converted into a barcode, and stamped onto a PDF form.
 When the PDF is scanned by the mail room, the barcode could be read to attach the correspondence to the relevant domain object.
 
-* as a handle to any object in an audit record, as used by xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`];
+* as a handle to any object in an audit record, as used by xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`];
 
-* similarly within implementations of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] to persist `Command` objects
+* similarly within implementations of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] to persist `Command` objects
 
-* similarly within implementations of xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] to persist published action invocations
+* similarly within implementations of xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] to persist published action invocations
 
 * and of course both the xref:vro:ROOT:about.adoc[RestfulObjects viewer] and xref:vw:ROOT:about.adoc[Wicket viewer] use the oid tuple to look up, render and allow the user to interact with domain objects.
 
 Although the exact content of an OID should be considered opaque by domain objects, it is possible for domain objects to obtain OIDs.
-These are represented as ``Bookmark``s, obtained from the xref:rg:svc:integration-api/BookmarkService.adoc[``BookmarkService``].
-Deep links meanwhile can be obtained from the xref:rg:svc:presentation-layer-api/DeepLinkService.adoc[``DeepLinkService`].
+These are represented as ``Bookmark``s, obtained from the xref:applib:svc:integration-api/BookmarkService.adoc[``BookmarkService``].
+Deep links meanwhile can be obtained from the xref:applib:svc:presentation-layer-api/DeepLinkService.adoc[``DeepLinkService`].
 
 OIDs can also be converted into XML format, useful for integration scenarios.
-The xref:rg:cms:schema.adoc#common[common schema] XSD defines the `oidDto` complex type for precisely this purpose.
+The xref:xref:schema:ROOT:common.adoc[common schema] XSD defines the `oidDto` complex type for precisely this purpose.
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
index bd77a2d..e6201a0 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/cqrs.adoc
@@ -31,10 +31,10 @@ There are other reasons though why a separate read model might make sense, such
 In these cases Apache Isis can often provide a reasonable alternative, namely to map domain entities against RDBMS views, either materialized views or dynamic.
 In such cases there is still only a single physical datastore, and so transactional integrity is retained.
 
-Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], or using xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribers]  on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
+Or, the CQRS architecture can be more fully implemented with Apache Isis by introducing a separate read model, synchronized using the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], or using xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribers]  on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 One can then use xref:ug:fun:building-blocks.adoc#view-models[view models] to surface the data in the external read datastore.
 
-With respect to commands, Apache Isis does of course support the xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] which allows each business action to be reified into a `Command`.
+With respect to commands, Apache Isis does of course support the xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] which allows each business action to be reified into a `Command`.
 However, names are misleading here: Apache Isis' commands are relatively passive, merely recording the intent of the user to invoke some operation.
 In a CQRS architecture, though, commands take a more active role, locating and acting upon the domain objects.
 More significantly, in CQRS each command has its own class, such as `PlaceOrderCommand`, instantiated by the client and then executed.
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
index 4df39cc..d45c0fb 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/event-sourcing.adoc
@@ -22,7 +22,7 @@ Note that the event might be dispatched and consumed in-process or alternatively
 If the latter, then the subscriber will operate within a separate transaction, meaning the usual eventual consistency concerns and also compensating actions if a rollback is required.
 CQRS/event sourcing advocates point out -- correctly -- that this is just how things are in the "real world" too.
 
-In Apache Isis every business action (and indeed, property and collection) emits domain events through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`], and can optionally also be published through the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+In Apache Isis every business action (and indeed, property and collection) emits domain events through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`], and can optionally also be published through the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 The former are dispatched and consumed in-process and within the same transaction, and for this reason the xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribers] can also veto the events.
 The latter are intended for out-of-process consumption; the (obsolete) http://github.com/isisaddons-legacy/isis-module-publishing[Isis addons' publishing] and the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq modules provide implementations for dispatching either through a RDBMS database table, or directly through to an link:http://camel.apache.org[ActiveMQ] message queue (eg wired up to link:http://camel.apache.org[Apache Camel] event bus).
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/deployment-options.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/deployment-options.adoc
index f9c2de5..abd212c 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/deployment-options.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/deployment-options.adoc
@@ -49,7 +49,7 @@ In fact, the only hard dependency that the domain model classes have on Apache I
 So, if you have used Apache Isis for prototyping (discussed above), then note that it's quite feasible to take your domain model a the basis of your actual development effort; Apache Isis' annotations and programming conventions will help ensure that any subtle semantics you might have captured in your prototyping are not lost.
 
 If you go this route, your deployment platform will of course need to provide similar capabilities to Apache Isis.
-In particular, you'll need to figure out a way to inject domain services into domain entities (eg using a JPA listener), and you'll also need to reimplement any domain services you have used that Apache Isis provides "out-of-the-box" (eg xref:rg:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`] domain service).
+In particular, you'll need to figure out a way to inject domain services into domain entities (eg using a JPA listener), and you'll also need to reimplement any domain services you have used that Apache Isis provides "out-of-the-box" (eg xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`] domain service).
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
index 25dad33..5c14aa0 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
@@ -32,7 +32,7 @@ To support the business domain being split into separate modules, the framework
 
 * dependency injection of services +
 +
-Both xref:rg:svc:about.adoc[framework-defined domain services] and application-defined services (eg repositories and factories) are injected everywhere, using the regular xref:applib:ant:Inject.adoc[`@javax.inject.Inject`] annotation.
+Both xref:applib:svc:about.adoc[framework-defined domain services] and application-defined services (eg repositories and factories) are injected everywhere, using the regular xref:applib:ant:Inject.adoc[`@javax.inject.Inject`] annotation.
 
 * mixins allow functionality defined in one module to appear (in the UI) to be provided by some other module. +
 +
@@ -53,7 +53,7 @@ Or, it might conceivably perform a cascade delete of all associated communicatio
 
 For those cases where a module needs to interact with other modules but does not know about their implementations, the module can either define its own link:https://en.wikipedia.org/wiki/Service_provider_interface[SPI] domain services or it can define custom domain events and fire them.
 This technique is also used extensively by the framework itself.
- For example, the xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] SPI enables custom auditing, and the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI enables custom publishing
+ For example, the xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] SPI enables custom auditing, and the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI enables custom publishing
 
 When building a modular application, it's important to consider the logical layering of the modules: we don't need every module to be completely decoupled from every other.
 The most important requirement is that there are no cyclic dependencies, because otherwise we run the risk of the application degrading into a link:https://en.wikipedia.org/wiki/Big_ball_of_mud["big ball of mud"].
diff --git a/core/_adoc-ug/modules/fun/pages/crud.adoc b/core/_adoc-ug/modules/fun/pages/crud.adoc
index d6a286e..6d7f883 100644
--- a/core/_adoc-ug/modules/fun/pages/crud.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 This chapter shows the idioms for creating, reading, updating and deleting xref:ug:fun:building-blocks.adoc#domain-entities[domain entities].
-The main domain services used for this are xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] and xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
+The main domain services used for this are xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] and xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
 
 It also shows how to instantiate xref:ug:fun:building-blocks.adoc#view-models[view models] and how to programmatically instantiate xref:ug:fun:building-blocks.adoc#mixins[mixins] (useful primarily for xref:integ-test-support:ROOT:about.adoc[integration testing]).
 
diff --git a/core/_adoc-ug/modules/fun/pages/crud/deleting.adoc b/core/_adoc-ug/modules/fun/pages/crud/deleting.adoc
index f227e09..3492bef 100644
--- a/core/_adoc-ug/modules/fun/pages/crud/deleting.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud/deleting.adoc
@@ -4,7 +4,7 @@
 include::_attributes.adoc[]
 :page-partial:
 
-Domain entities can be deleted using xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`].
+Domain entities can be deleted using xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`].
 For example:
 
 [source,java]
@@ -15,7 +15,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:ug:fun:crud/finding.adoc[query is run], or if the internal queue is manually flushed using xref:rg:svc:application-layer-api/TransactionService.adoc[`TransactionService`]'s `flush()` method.
+This is then executed either at the end of the transaction, or if a  xref:ug:fun:crud/finding.adoc[query is run], or if the internal queue is manually flushed using xref:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`]'s `flush()` method.
 
 Alternatively, you can use:
 
diff --git a/core/_adoc-ug/modules/fun/pages/crud/finding.adoc b/core/_adoc-ug/modules/fun/pages/crud/finding.adoc
index a2181f5..6046a65 100644
--- a/core/_adoc-ug/modules/fun/pages/crud/finding.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud/finding.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Retrieving domain entities 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:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] to actually submit the query.
+This repository calls the framework-provided xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] to actually submit the query.
 
 For example:
 
@@ -48,7 +48,7 @@ public class CustomerRepository {
     RepositoryService repositoryService;
 }
 ----
-<1>	The xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] is a generic facade over the JDO/DataNucleus API.
+<1>	The xref:applib:svc:persistence-layer-api/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
@@ -62,5 +62,5 @@ When an object is loaded from the database the framework will emit `ObjectLoaded
 
 == Type-safe queries
 
-DataNucleus also supports type-safe queries; see xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc#type-safe-jdoql-queries[here] for further details.
+DataNucleus also supports type-safe queries; see xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc#type-safe-jdoql-queries[here] for further details.
 
diff --git a/core/_adoc-ug/modules/fun/pages/crud/instantiating.adoc b/core/_adoc-ug/modules/fun/pages/crud/instantiating.adoc
index 39b7ccd..53fc54b 100644
--- a/core/_adoc-ug/modules/fun/pages/crud/instantiating.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud/instantiating.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-Both domain entities and view models can be instantiated using the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`] provided by the framework.
+Both domain entities and view models can be instantiated using the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`] provided by the framework.
 For example:
 
 [source,java]
@@ -41,7 +41,7 @@ public class Customer {
 ----
 
 In such cases, the domain object cannot be instantiated using `FactoryService`.
-Instead the xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service can be used to inject services:
+Instead the xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service can be used to inject services:
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/fun/pages/crud/persisting.adoc b/core/_adoc-ug/modules/fun/pages/crud/persisting.adoc
index b08b986..efd6c9f 100644
--- a/core/_adoc-ug/modules/fun/pages/crud/persisting.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud/persisting.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-Once a domain entity has been instantiated and initialized, it can be persisted using the xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`].
+Once a domain entity has been instantiated and initialized, it can be persisted using the xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`].
 
 For example:
 
@@ -45,7 +45,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:ug:fun:crud/finding.adoc[query is run], or if the internal queue is manually flushed using xref:rg:svc:application-layer-api/TransactionService.adoc[`TransactionService`]'s `flush()` method.
+This is then executed either at the end of the transaction, or if a xref:ug:fun:crud/finding.adoc[query is run], or if the internal queue is manually flushed using xref:applib:svc:application-layer-api/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.
 
diff --git a/core/_adoc-ug/modules/fun/pages/crud/updating.adoc b/core/_adoc-ug/modules/fun/pages/crud/updating.adoc
index 2f47816..d77de53 100644
--- a/core/_adoc-ug/modules/fun/pages/crud/updating.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud/updating.adoc
@@ -11,9 +11,9 @@ Rather, the ORM (DataNucleus) automatically keeps track of the state of each obj
 
 That said, it is possible to "flush" pending changes:
 
-* xref:rg:svc:application-layer-api/TransactionService.adoc[`TransactionService`] acts at the Apache Isis layer, and flushes any pending object persistence or object deletions
+* xref:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`] acts at the Apache Isis layer, and flushes any pending object persistence or object deletions
 
-* using xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] it is possible to reach down to the underlying JDO API, and perform a flush of pending object updates also.
+* using xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] it is possible to 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:ug:fun:building-blocks.adoc#lifecycle-events[lifecycle events].
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc
index a185d01..a2826ec 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/event-subscribers.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 Domain services acting as event subscribers can subscribe to xref:ug:fun:building-blocks.adoc#lifecycle-events[lifecycle] events, influencing the rendering and behaviour of other objects.
 
-All subscribers must subscribe to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`]; as this amounts to a few lines of boilerplate it's easiest to inherit from the convenience `AbstractSubscriber` class.
+All subscribers must subscribe to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`]; as this amounts to a few lines of boilerplate it's easiest to inherit from the convenience `AbstractSubscriber` class.
 
 We suggest naming such classes `XxxSubscriptions`, for example:
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
index 373b85b..124123b 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
@@ -29,7 +29,7 @@ public class MyAppManifest implements AppManifest {
 will load all services in the packages underneath the four modules listed.
 
 
-Examples of framework-provided services (as defined in the applib) include clock, auditing, publishing, exception handling, view model support, snapshots/mementos, and user/application settings management; see the xref:rg:svc:about.adoc[domain services] reference guide for further details.
+Examples of framework-provided services (as defined in the applib) include clock, auditing, publishing, exception handling, view model support, snapshots/mementos, and user/application settings management; see the xref:applib:svc:about.adoc[domain services] reference guide for further details.
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc
index 58aa60c..193d27d 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/repository-and-factory.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The repository/factory uses an injected xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] to both instantiate new objects and to query the database for existing objects of a given entity type.
+The repository/factory uses an injected xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] to both instantiate new objects and to query the database for existing objects of a given entity type.
 It is not visible in UI, rather other services delegate to it.
 
 We suggest naming such classes `XxxRepository`, eg:
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
index d5587f4..7de763c 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
@@ -19,5 +19,5 @@ public class MyService extends AbstractService {
 }
 ----
 
-The framework provides a number of request-scoped services, include a xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service query results caching through the xref:rg:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`], and support for co-ordinating bulk actions through the xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] service.  See the xref:rg:svc:about.adoc[domain services] reference guide for further details.
+The framework provides a number of request-scoped services, include a xref:applib:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service query results caching through the xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`], and support for co-ordinating bulk actions through the xref:applib:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] service.  See the xref:applib:svc:about.adoc[domain services] reference guide for furt [...]
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/inject-services.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/inject-services.adoc
index 74f3d7e..9a93d88 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/inject-services.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/inject-services.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Apache Isis runs on top of SpringBoot, and uses SpringBoot for dependency injection, both of the applications own domain services and als of the very many additional services defined by the framework (such as xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]).
+Apache Isis runs on top of SpringBoot, and uses SpringBoot for dependency injection, both of the applications own domain services and als of the very many additional services defined by the framework (such as xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]).
 
 However, not only does it autowire domain services into other services, it also ensures that services are injected into any domain object (eg entity, view model, fixture script, specification etc).
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc
index d6e5cbf..bbf2856 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/mixins/programmatic-usage.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 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:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#mixin(...)`] method.
+For this you can use the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#mixin(...)`] method.
 
 For example:
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
index 6b30598..f572ea8 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto/dto-consumers.adoc
@@ -8,9 +8,9 @@ include::_attributes.adoc[]
 The actual consumers of DTOs will generally obtain the XML of the view models either by requesting the XML directly, eg using the xref:vro:ROOT:about.adoc[RestfulObjects viewer], or may have the XML sent to them asynchronously using an ESB such as Apache Camel.
 
 In the former case, the consumer requests the DTO by calling the REST API with the appropriate HTTP `Accept` header.
-An appropriate implementation of xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] can then be used to return the appropriate DTO (as XML).
+An appropriate implementation of xref:applib:svc:presentation-layer-spi/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:rg:svc:integration-api/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:applib:svc:integration-api/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.
@@ -22,7 +22,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:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], but which simply publishes instances of xref:rg:cms:schema.adoc#ixn[`InteractionDto`] to an ActiveMQ queue.
+It provides an implementation of the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`], but which simply publishes instances of xref:xref:schema:ROOT: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/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb.adoc
index 9ddf23b..27f7634 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb.adoc
@@ -56,10 +56,10 @@ The derived properties could also have been implemented using xref:ug:fun:buildi
 
 [IMPORTANT]
 ====
-Be aware that all the state will become the DTO's memento, ultimately converted into a URL-safe form, by way of the xref:rg:svc:presentation-layer-spi/UrlEncodingService.adoc[`UrlEncodingService`].
+Be aware that all the state will become the DTO's memento, ultimately converted into a URL-safe form, by way of the xref:applib:svc:presentation-layer-spi/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:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/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).
 a URL.
 ====
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
index 0089da0..b90430f 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
@@ -8,11 +8,11 @@ It's quite common for view models to be "backed by" (be projections of) some und
 For example, the `CompareCustomers` view model described xref:ug:fun:programming-model.adoc#jaxb[above] actually references two underlying ``Customer`` entities.
 
 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:rg:cms:schema.adoc#common[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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+However, the identity of the underlying entity is well defined; Apache Isis defines the xref:xref:schema:ROOT: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:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
 There is only one requirement to make this work: every referenced domain entity must be annotated with xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
-And this class is similar to the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]: it knows how to create an `OidDto` from an object reference.
+And this class is similar to the xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`]: it knows how to create an `OidDto` from an object reference.
 
 Thus, in our view model we can legitimately write:
 
diff --git a/core/applib/_adoc/modules/ROOT/pages/_partials/_attributes.adoc b/core/applib/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 100%
rename from core/applib/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
rename to core/applib/_adoc/modules/ROOT/partials/_attributes.adoc
diff --git a/core/applib/_adoc/modules/ant/nav.adoc b/core/applib/_adoc/modules/ant/nav.adoc
index 562739a..de2a49c 100644
--- a/core/applib/_adoc/modules/ant/nav.adoc
+++ b/core/applib/_adoc/modules/ant/nav.adoc
@@ -1 +1 @@
-include::rg:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::rg:ROOT:partial$nav.adoc[]
diff --git a/core/applib/_adoc/modules/ant/pages/Action.adoc b/core/applib/_adoc/modules/ant/pages/Action.adoc
index 8b1f45e..93a283b 100644
--- a/core/applib/_adoc/modules/ant/pages/Action.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action.adoc
@@ -30,19 +30,19 @@ The table below summarizes the annotation's attributes.
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the action invocation should be reified into a `o.a.i.applib.` +
-`services.command.Command` object through the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service.
+`services.command.Command` object through the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service.
 
 
 |`commandExecuteIn()`
 |`FOREGROUND`,`BACKGROUND` +
 (`FOREGROUND`)
-|whether to execute the command immediately, or to persist it (assuming that an appropriate implementation of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured) such that a background scheduler can execute the command asynchronously
+|whether to execute the command immediately, or to persist it (assuming that an appropriate implementation of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured) such that a background scheduler can execute the command asynchronously
 
 
 |`commandPersistence()`
 |`PERSISTED`, `NOT_PERSISTED`, `IF_HINTED` +
 (`PERSISTED`)
-|whether the reified `Command` (as provided by the `CommandContext` domain service) should actually be persisted (assuming an appropriate implementation of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured).
+|whether the reified `Command` (as provided by the `CommandContext` domain service) should actually be persisted (assuming an appropriate implementation of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured).
 
 
 |`commandDtoProcessor()`
@@ -54,7 +54,7 @@ The table below summarizes the annotation's attributes.
 |xref:applib:ant:Action.adoc#domainEvent[`domainEvent()`]
 |subtype of `ActionDomainEvent` +
 (`ActionDomainEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to
 broadcast the action's business rule checking (hide, disable, validate) and its invocation (pre-execute and
 post-execute).
 
@@ -78,7 +78,7 @@ Currently this is only supported for no-arg actions.
 |xref:applib:ant:Action.adoc#publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
-|whether the action invocation should be published to the registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+|whether the action invocation should be published to the registered xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 |xref:applib:ant:Action.adoc#restrictTo[`restrictTo()`]
 |`NO_RESTRICTIONS`,`PROTOTYPING` +
diff --git a/core/applib/_adoc/modules/ant/pages/Action/command.adoc b/core/applib/_adoc/modules/ant/pages/Action/command.adoc
index 4cbe3c6..3d67b09 100644
--- a/core/applib/_adoc/modules/ant/pages/Action/command.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/command.adoc
@@ -18,13 +18,13 @@ However, the (non-ASF) Incode Platform's link:https://platform.incode.org/module
 
 The annotation works with (and is influenced by the behaviour of) a number of domain services:
 
-* xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`]
-* xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`]
-* xref:rg:svc:spi/BackgroundService.adoc[`BackgroundService`] and
-* xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]
+* xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]
+* xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`]
+* xref:applib:svc:spi/BackgroundService.adoc[`BackgroundService`] and
+* xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]
 
 
-Each action invocation is automatically reified by the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service into a `Command` object, capturing details of the target object, the action, the parameter arguments, the user, a timestamp and so on.
+Each action invocation is automatically reified by the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service into a `Command` object, capturing details of the target object, the action, the parameter arguments, the user, a timestamp and so on.
 
 If an appropriate `CommandService` is configured (for example using (non-ASF) link:https://platform.incode.org/modules/spi/command/spi-command.html[Incode Platform's command] module), then the `Command` itself is persisted.
 
@@ -279,7 +279,7 @@ If `command` is `DISABLED` or does not otherwise apply due to the action's decla
 
 For persisted commands, the `commandExecuteIn()` attribute determines whether the `Command` should be executed in the foreground (the default) or executed in the background.
 
-Background execution means that the command is not executed immediately, but is available for a configured xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] to execute, eg by way of an in-memory scheduler such as Quartz.
+Background execution means that the command is not executed immediately, but is available for a configured xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] to execute, eg by way of an in-memory scheduler such as Quartz.
 See xref:ug:btb:about.adoc#BackgroundCommandExecution[here] for further information on this topic.
 
 For example:
diff --git a/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
index 8125dd2..4b9068e 100644
--- a/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
@@ -14,7 +14,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:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] using either link:https://github.com/google/guava[Guava] or link:http://www.axonframework.org/[Axon Framework] annotations and can influence each of these phases.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] using either link:https://github.com/google/guava[Guava] or link:http://www.axonframework.org/[Axon Framework] annotations and can influence each of these phases.
 
 By default the event raised is `ActionDomainEvent.Default`.
 For example:
@@ -57,7 +57,7 @@ This substantially reduces the boilerplate required in subclasses because no exp
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.  The examples below use the Guava API.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
 
@@ -177,7 +177,7 @@ public class ToDoItem {
 == Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically either by calling the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly, or by emulating the UI by wrapping the target object using the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service.
+However, events can be raised programmatically either by calling the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly, or by emulating the UI by wrapping the target object using the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service.
 
 
 == See also
diff --git a/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc b/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
index ba2f130..fbefa5f 100644
--- a/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
@@ -7,10 +7,10 @@ include::_attributes.adoc[]
 
 
 
-The `publishing()` attribute determines whether and how an action invocation is published via the registered implementation of xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The `publishing()` attribute determines whether and how an action invocation is published via the registered implementation of xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 A common use case is to notify external "downstream" systems of changes in the state of the Apache Isis application.
-The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.services.publish.actions` is used to determine the whether the action is published:
+The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.services.publish.actions` is used to determine the whether the action is published:
 
 * `all` +
 +
diff --git a/core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc b/core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
index 6aafd00..7a5ddb4 100644
--- a/core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 
-By default actions are available irrespective of the xref:rg:cfg:deployment-types.adoc[deployment mode].  The `restrictTo()` attribute specifies whether the action should instead be restricted to only available in prototyping mode.
+By default actions are available irrespective of the xref:cfg:ROOT:deployment-types.adoc[deployment mode].  The `restrictTo()` attribute specifies whether the action should instead be restricted to only available in prototyping mode.
 
 For example:
 
diff --git a/core/applib/_adoc/modules/ant/pages/Action/semantics.adoc b/core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
index 5533474..b0f0a0b 100644
--- a/core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
@@ -66,7 +66,7 @@ public class Customer {
 }
 ----
 
-Actions that are safe and request-cacheable automatically use the xref:rg:svc:persistence-layer-api/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:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service.
+Actions that are safe and request-cacheable automatically use the xref:applib:svc:persistence-layer-api/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:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service.
 
 Continuing the example above, imagine code that loops over a set of ``Order``s where each `Order` has an associated `Customer`.  We want to check the credit rating of each `Customer` (a potentially expensive operation) but we don't want to do it more than once per `Customer`.  Invoking through the `WrapperFactory` will allow us to accomplish this by exploiting the semantics of `checkCredit()` action:
 
diff --git a/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
index 302963d..f9bea01 100644
--- a/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
@@ -32,7 +32,7 @@ For a domain service action to be contributed, the domain services must have a x
 
 |xref:applib:ant:ActionLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
-|an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]. +
+|an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`]. +
 
 Supported by the xref:vw:ROOT:about.adoc[Wicket viewer] but currently ignored by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
 
diff --git a/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
index 46fe325..17e178d 100644
--- a/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the action.   xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
+The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the action.   xref:cfg:ROOT:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
 
 For example:
diff --git a/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
index 54c1df2..83f9531 100644
--- a/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
@@ -23,7 +23,7 @@ Any properties with xref:applib:ant:PropertyLayout.adoc#unchanging[`@PropertyLay
 
 * 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:rg:cms:methods.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:applib:cms:methods.adoc#layout[`layout()`] method.
 
 For example:
 
diff --git a/core/applib/_adoc/modules/ant/pages/Collection.adoc b/core/applib/_adoc/modules/ant/pages/Collection.adoc
index 0b1764f..cb28d5d 100644
--- a/core/applib/_adoc/modules/ant/pages/Collection.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection.adoc
@@ -19,7 +19,7 @@ The table below summarizes the annotation's attributes.
 |xref:applib:ant:Collection.adoc#domainEvent[`domainEvent()`]
 |subtype of `CollectionDomainEvent` +
 (`CollectionDomainEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the collection's business rule checking (hide, disable, validate) and its modification (before and after).
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the collection's business rule checking (hide, disable, validate) and its modification (before and after).
 
 
 |xref:applib:ant:Collection.adoc#editing[`editing()`]
diff --git a/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
index 9deeeea..001de5a 100644
--- a/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
@@ -14,7 +14,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 subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] using either link:https://github.com/google/guava[Guava] or link:http://www.axonframework.org/[Axon Framework] annotations and can influence each of these phases.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] using either link:https://github.com/google/guava[Guava] or link:http://www.axonframework.org/[Axon Framework] annotations and can influence each of these phases.
 
 
 [WARNING]
@@ -72,7 +72,7 @@ This substantially reduces the boilerplate in the subclasses because no explicit
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below use the Guava API.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
@@ -163,7 +163,7 @@ 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:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly, or by emulating the UI by wrapping the target object using the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service.
+However, events can be raised programmatically either by calling the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly, or by emulating the UI by wrapping the target object using the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service.
 
 
 == See also
diff --git a/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc b/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
index 3fc6812..3d36b10 100644
--- a/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
@@ -21,12 +21,12 @@ Whether a collection is enabled or disabled depends upon these factors:
 
 * whether the domain object has been configured as immutable through the xref:applib:ant:DomainObject.adoc#editing[`@DomainObject#editing()`] attribute
 
-* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.objects.editing`.
+* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.objects.editing`.
 If set to `false`, then the object's collections (and properties) are *not* editable
 
 * else, then the value of the `@Collection(editing=...)` attribute itself.
 
-* else, the result of invoking any supporting xref:rg:cms:rgcms.adoc#\_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
+* else, the result of invoking any supporting xref:applib:cms:rgcms.adoc#\_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
 
 
 Thus, to make a collection read-only even if the object would otherwise be editable, use:
diff --git a/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc b/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
index 389dd31..a43384d 100644
--- a/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The (somewhat misnamed) `notPersisted()` attribute indicates that the collection should be excluded from any snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`].
+The (somewhat misnamed) `notPersisted()` attribute indicates that the collection should be excluded from any snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`].
 
 
 [WARNING]
diff --git a/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
index 142d654..880fcb1 100644
--- a/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
@@ -19,7 +19,7 @@ The table below summarizes the annotation's attributes.
 
 |xref:applib:ant:CollectionLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
-|the css class that a collection should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
+|the css class that a collection should have, to allow more targetted styling in xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`]
 
 
 |xref:applib:ant:CollectionLayout.adoc#defaultView[`defaultView()`]
diff --git a/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
index f5467a8..1a007c4 100644
--- a/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the collection.   xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
+The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the collection.   xref:cfg:ROOT:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
index e83bd81..442a9b8 100644
--- a/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
@@ -29,7 +29,7 @@ public class Order {
 ----
 
 
-It is also possible to specify a global default for the page size of standalone collections, using the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.viewer.paged.parented`.
+It is also possible to specify a global default for the page size of standalone collections, using the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.viewer.paged.parented`.
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/Column.adoc b/core/applib/_adoc/modules/ant/pages/Column.adoc
index eb2a417..e8c86cf 100644
--- a/core/applib/_adoc/modules/ant/pages/Column.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Column.adoc
@@ -113,7 +113,7 @@ public class PartyRelationship {
 
 === Mapping ``Blob``s and ``Clob``s
 
-Isis provides custom value types for xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]s and xref:rg:cms: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.
+Isis provides custom value types for xref:applib:cms:classes/value-types.adoc#Blob[`Blob`]s and xref:applib:cms: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.
 
 For example, here's how to map a `Blob` (taken from (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp]):
 
diff --git a/core/applib/_adoc/modules/ant/pages/Discriminator.adoc b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
index dd3a06c..833a18e 100644
--- a/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
@@ -19,12 +19,12 @@ 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
+ (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas
+* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
-* in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
index 06f8f41..15f2769 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
@@ -21,7 +21,7 @@ The table below summarizes the annotation's attributes.
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |indicates whether each of the changed properties of an object should be submitted to the registered
-xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
+xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
 
 
 |xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
@@ -44,7 +44,7 @@ xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
 `LifecycleEvent()`]
 |subtype of `ObjectCreatedEvent` +
 (`ObjectCreatedEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is created
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is created
 
 |xref:applib:ant:DomainObject.adoc#editing[`editing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
@@ -74,37 +74,37 @@ If an entity, indicates how its persistence is managed.
 `LifecycleEvent()`]
 |subtype of `ObjectPersistedEvent` +
 (`ObjectPersistedEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been persisted
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been persisted
 
 |xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`persisting-` +
 `LifecycleEvent()`]
 |subtype of `ObjectPersistingEvent` +
 (`ObjectPersistingEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be persisted
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be persisted
 
 |xref:applib:ant:DomainObject.adoc#publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
-|whether changes to the object should be published to the registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+|whether changes to the object should be published to the registered xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 
 |xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`removing-` +
 `LifecycleEvent()`]
 |subtype of `ObjectRemovingEvent` +
 (`ObjectRemovingEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be deleted
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be deleted
 
 |xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`updated-` +
 `LifecycleEvent()`]
 |subtype of `ObjectUpdatedEvent` +
 (`ObjectUpdatedEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been updated
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been updated
 
 |xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`updating-` +
 `LifecycleEvent()`]
 |subtype of `ObjectUpdatingEvent` +
 (`ObjectUpdatingEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be updated
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be updated
 
 |===
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
index e7d215d..ec24944 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
@@ -5,9 +5,9 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `auditing()` attribute indicates that if the object is modified, then each of its changed properties should be submitted to the registered xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
+The `auditing()` attribute indicates that if the object is modified, then each of its changed properties should be submitted to the registered xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s).
 
-The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.services.audit.objects` is used to determine the whether the action is audited:
+The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.services.audit.objects` is used to determine the whether the action is audited:
 
 * `all` +
 +
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
index feb8ee8..0238338 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
@@ -14,7 +14,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:rg:cms:methods.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:applib:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method instead.
 ====
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
index f9da1dc..ebf78c0 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
@@ -32,7 +32,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:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:applib:ant: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:applib:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`] attribute instead.
 ====
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
index a094193..b57018f 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
@@ -6,15 +6,15 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is instantiated or otherwise becomes known to the framework, a "created" lifecycle event is fired.
-This is typically when the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`]'s `instantiate()` method is called.
+This is typically when the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`]'s `instantiate()` method is called.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the object just created.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the object just created.
 The subscriber could then, for example, update the object, eg looking up state from some external datastore.
 
 [TIP]
 ====
 It's possible to instantiate objects without firing this lifecycle; just instantiate using its regular constructor, and then use the ``ServiceRegistry``'s
-xref:rg:svc:metadata-api/ServiceRegistry.adoc[`injectServicesInto(...)`] to manually inject any required domain services.
+xref:applib:svc:metadata-api/ServiceRegistry.adoc[`injectServicesInto(...)`] to manually inject any required domain services.
 ====
 
 
@@ -53,7 +53,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
index 1e7065d..b5d932a 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `editing()` attribute determines whether a domain object's properties and collections are not editable (are read-only).
 
-The default is `AS_CONFIGURED`, meaning that the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.objects.editing` is used to determine the whether the object is modifiable:
+The default is `AS_CONFIGURED`, meaning that the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.objects.editing` is used to determine the whether the object is modifiable:
 
 * `true` +
 +
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
index f213625..5d534c4 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 Whenever a persistent domain object is loaded from the database, a "loaded" lifecycle event is fired.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object just loaded.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object just loaded.
 The subscriber could then, for example, update or default values on the object (eg to support on-the-fly migration scenarios).
 
 By default the event raised is `ObjectLoadedEvent.Default`. For example:
@@ -44,7 +44,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below support both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
index b3e3771..d2c2bd7 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
@@ -57,7 +57,7 @@ For further discussion on using mixins, see xref:ug:fun:building-blocks.adoc#mix
 indicates that the domain object is conceptually part of the application layer, and exists to surfaces behaviour and/or state that is aggregate of one or more domain entities.
 
 Those natures that indicate the domain object is an entity (of some sort or another) mean then that the domain object is considered to be part of the domain model layer.
-As such the domain object's class cannot be annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`] or implement the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.
+As such the domain object's class cannot be annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`] or implement the xref:applib:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.
 
 
 [NOTE]
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
index 552622b..8d511c5 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
@@ -11,12 +11,12 @@ 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
+ (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
 ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas
+* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
-* in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
index 988f923..c7b2f39 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 Whenever a (just created, still transient) domain object has been saved (INSERTed in)to the database, a "persisted" lifecycle event is fired.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
 The subscriber could then, for example, maintain an external datastore.
 
 [WARNING]
@@ -50,7 +50,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
index 8c0fece..4434c7c 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
@@ -7,14 +7,14 @@ include::_attributes.adoc[]
 
 Whenever a (just created, still transient) domain object is about to be saved (INSERTed in)to the database, a "persisting" lifecycle event is fired.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
 The subscriber could then, for example, update the object, or it could use it maintain an external datastore.
 One possible application is to maintain a full-text search database using link:https://lucene.apache.org/[Apache Lucene] or similar.
 
 [NOTE]
 ====
 Another use case is to maintain "last updated by"/"last updated at" properties.
-While you can roll your own, note that the framework provides built-in support for this use case through the xref:rg:cms:classes/roles.adoc#Timestampable[`Timestampable`] role interface.
+While you can roll your own, note that the framework provides built-in support for this use case through the xref:applib:cms:classes/roles.adoc#Timestampable[`Timestampable`] role interface.
 ====
 
 By default the event raised is `ObjectPersistingEvent.Default`.
@@ -52,7 +52,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
index f8e5f6c..71787dc 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
@@ -6,11 +6,11 @@ include::_attributes.adoc[]
 
 
 
-The `publishing()` attribute determines whether and how a modified object instance is published via the registered implementation of xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The `publishing()` attribute determines whether and how a modified object instance is published via the registered implementation of xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 A common use case is to notify external "downstream" systems of changes in the state of the Apache Isis application.
 
-The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.services.publish.objects` is used to determine the whether the action is published:
+The default value for the attribute is `AS_CONFIGURED`, meaning that the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.services.publish.objects` is used to determine the whether the action is published:
 
 * `all` +
 +
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
index 22ce1e6..ddc669f 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
@@ -7,14 +7,14 @@ include::_attributes.adoc[]
 
 Whenever a (persistent) domain object is about to be removed (DELETEd) from the database, a "removing" lifecycle event is fired.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
 The subscriber could then, for example, could use it maintain an external datastore.
 One possible application is to maintain a full-text search database using link:https://lucene.apache.org/[Apache Lucene] or similar.
 
 [NOTE]
 ====
 Another use case is to maintain "last updated by"/"last updated at" properties.
-While you can roll your own, note that the framework provides built-in support for this use case through the xref:rg:cms:classes/roles.adoc#Timestampable[`Timestampable`] role interface.
+While you can roll your own, note that the framework provides built-in support for this use case through the xref:applib:cms:classes/roles.adoc#Timestampable[`Timestampable`] role interface.
 ====
 
 By default the event raised is `ObjectRemovingEvent.Default`.
@@ -52,7 +52,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
index 81f14c6..f09954a 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 Whenever a (persistent) domain object has been modified and has been updated in the database, an "updated" lifecycle event is fired.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
 
 [WARNING]
 ====
@@ -49,7 +49,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
index aac66fd..d91a954 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 Whenever a (persistent) domain object has been modified and is about to be updated to the database, an "updating" lifecycle event is fired.
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use the event to obtain a reference to the domain object.
 The subscriber could then, for example, update the object, or it could use it maintain an external datastore.
 One possible application is to maintain a full-text search database using link:https://lucene.apache.org/[Apache Lucene] or similar.
 
@@ -15,7 +15,7 @@ One possible application is to maintain a full-text search database using link:h
 ====
 Another use case is to maintain "last updated by"/"last updated at" properties.
 While you can roll your own, note that the framework provides built-in support for this use case through the
-xref:rg:cms:classes/roles.adoc#Timestampable[`Timestampable`] role interface.
+xref:applib:cms:classes/roles.adoc#Timestampable[`Timestampable`] role interface.
 ====
 
 By default the event raised is `ObjectUpdatingEvent.Default`.
@@ -53,7 +53,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
index 25128df..f957f98 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
@@ -32,7 +32,7 @@ The table below summarizes the annotation's attributes.
 
 |xref:applib:ant:DomainObjectLayout.adoc#cssclass[`cssClass()`]
 |Any string valid as a CSS class
-|the css class that a domain class (type) should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
+|the css class that a domain class (type) should have, to allow more targetted styling in xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`]
 
 
 |xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa()`]
@@ -49,7 +49,7 @@ The table below summarizes the annotation's attributes.
 |xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
 |subtype of `CssClassUiEvent` +
 (`CssClassUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
 
 |xref:applib:ant:DomainObjectLayout.adoc#describedAs[`describedAs()`]
 |String.
@@ -58,12 +58,12 @@ The table below summarizes the annotation's attributes.
 |xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`]
 |subtype of `IconUiEvent` +
 (`IconUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
 
 |xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
 |subtype of `LayoutUiEvent` +
 (`LayoutUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
 
 |xref:applib:ant:DomainObjectLayout.adoc#named[`named()`]
 |String.
@@ -85,7 +85,7 @@ A typical use case is if the desired name is a reserved Java keyword, such as `d
 |xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent()`]
 |subtype of `TitleUiEvent` +
 (`TitleUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
 
 |===
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
index 456c9f6..8308845 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the domain object.
-xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
+xref:cfg:ROOT:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
 
 For example:
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
index c04bed8..0826dfa 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `cssClassFa()` attribute 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:rg:cms:methods.adoc#iconName[`iconName()`] method.
+If necessary the icon specified can be overridden by a particular object instance using the xref:applib:cms:methods.adoc#iconName[`iconName()`] method.
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
index 2d3e2ee..287c870 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is to be rendered, the framework fires off an CSS class UI event to obtain a CSS class to use in any wrapping ``<div>``s and ``<span>``s that render the domain object.
-This is as an alternative to implementing xref:rg:cms:methods.adoc#cssClass[`cssClass()`] reserved method.
+This is as an alternative to implementing xref:applib:cms:methods.adoc#cssClass[`cssClass()`] reserved method.
 (If `cssClass()` is present, then it will take precedence).
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
 From this they can, if they wish, specify a CSS class for the domain object using the event's API.
 
 [NOTE]
@@ -54,7 +54,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 == Subscribers
 
 Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API
-or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured)
+or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured)
 using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
@@ -115,7 +115,7 @@ And, conversely, the framework also provides `CssClassUiEvent.Noop`; if `cssClas
 == Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically either by calling the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly.
+However, events can be raised programmatically either by calling the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly.
 
 
 == See also
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
index a08673e..7299a39 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is to be rendered, the framework fires off an icon UI event to obtain an icon (name) for the object (if possible).
-This is as an alternative to implementing xref:rg:cms:methods.adoc#iconName[`iconName()`] reserved method.
+This is as an alternative to implementing xref:applib:cms:methods.adoc#iconName[`iconName()`] reserved method.
 (If `iconName()` is present, then it will take precedence).
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
 From this they can, if they wish, specify an icon name for the domain object using the event's API.
 
 
@@ -54,7 +54,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
@@ -110,7 +110,7 @@ And, conversely, the framework also provides `IconUiEvent.Noop`; if `iconUiEvent
 == Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically by calling the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly.
+However, events can be raised programmatically by calling the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly.
 
 
 == See also
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
index 8dece2f..fe794ae 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is to be rendered, the framework fires off an layout UI event to obtain an alternative layout name with which to render the domain object.
-This is as an alternative to implementing xref:rg:cms:methods.adoc#layout[`layout()`] reserved method.
+This is as an alternative to implementing xref:applib:cms:methods.adoc#layout[`layout()`] reserved method.
 (If `layout()` is present, then it will take precedence).
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can use obtain a reference to the domain object from the event.
 From this they can, if they wish, specify a CSS class for the domain object using the event's API.
 
 By default the event raised is `LayoutUiEvent.Default`.
@@ -47,7 +47,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
@@ -107,7 +107,7 @@ And, conversely, the framework also provides `LayoutUiEvent.Noop`; if `layoutUiE
 == Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically by calling the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly.
+However, events can be raised programmatically by calling the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly.
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
index 16e49c7..b71fe15 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
@@ -30,7 +30,7 @@ public class Order {
 ----
 
 
-It is also possible to specify a global default for the page size of standalone collections, using the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.viewer.paged.standalone`.
+It is also possible to specify a global default for the page size of standalone collections, using the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.viewer.paged.standalone`.
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
index d2c1a24..fdddd24 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is to be rendered, the framework fires off a title UI event to obtain a title for the object.
-This is as an alternative to implementing xref:rg:cms:methods.adoc#title[`title()`] reserved method, or using the xref:applib:ant:Title.adoc[`@Title`] annotation, within the class itself.
+This is as an alternative to implementing xref:applib:cms:methods.adoc#title[`title()`] reserved method, or using the xref:applib:ant:Title.adoc[`@Title`] annotation, within the class itself.
 (If either `title()` or `@Title` are present, then they will take precedence).
 
-Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can
 use obtain a reference to the domain object from the event.
 From this they can, if they wish, specify a title for the domain object using the event's API.
 
@@ -54,7 +54,7 @@ The benefit is that subscribers can be more targeted as to the events that they
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below are compatible with both.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
@@ -109,7 +109,7 @@ And, conversely, the framework also provides `TitleUiEvent.Noop`; if `titleUiEve
 == Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically either by calling the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly, or as a result of calling the xref:rg:svc:application-layer-api/TitleService.adoc[`TitleService`]'s `titleOf(...)` method.
+However, events can be raised programmatically either by calling the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] API directly, or as a result of calling the xref:applib:svc:application-layer-api/TitleService.adoc[`TitleService`]'s `titleOf(...)` method.
 
 
 == See also
diff --git a/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
index 0fcefcd..b96cb48 100644
--- a/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
@@ -11,8 +11,8 @@ 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
-* in the serialization of `OidDto` in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas
+ (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
+* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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)
 
@@ -39,7 +39,7 @@ public class OrderMenu {
 The rules of precedence are:
 
 1. `@DomainService#objectType`
-2. xref:rg:cms:methods.adoc#getId[`getId()`]
+2. xref:applib:cms:methods.adoc#getId[`getId()`]
 3. The fully qualified class name.
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/Inject.adoc b/core/applib/_adoc/modules/ant/pages/Inject.adoc
index 2b1bab3..ec8ffd1 100644
--- a/core/applib/_adoc/modules/ant/pages/Inject.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Inject.adoc
@@ -94,7 +94,7 @@ public class Customer {
 
 [NOTE]
 ====
-An alternative and almost equivalent design would be to publish an event using the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and implement the domain services as subscribers to the event.
+An alternative and almost equivalent design would be to publish an event using the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and implement the domain services as subscribers to the event.
 This alternative design is used in the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module, for example.
 ====
 
@@ -105,7 +105,7 @@ This alternative design is used in the (non-ASF) link:https://platform.incode.or
 == Manually injecting services
 
 Apache Isis performs dependency injection when domain entities are recreated.
-It will also perform dependency injection if an object is created through the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`] or xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`].
+It will also perform dependency injection if an object is created through the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`] or xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`].
 
 For example, to create a new (transient) domain object, the idiom is:
 
@@ -124,7 +124,7 @@ ToDoAppDashboard dashboard = repositoryService.instantiate(ToDoAppDashboard.clas
 ----
 
 
-If you prefer, though, you can simply instantiate domain objects using "new" and then inject domain services manually using xref:rg:svc:core-domain-api/ServiceRegistry.adoc[`ServiceRegistry`]:
+If you prefer, though, you can simply instantiate domain objects using "new" and then inject domain services manually using xref:applib:svc:core-domain-api/ServiceRegistry.adoc[`ServiceRegistry`]:
 
 
 [source,java]
diff --git a/core/applib/_adoc/modules/ant/pages/MinLength.adoc b/core/applib/_adoc/modules/ant/pages/MinLength.adoc
index 7c27fce..ef19d5f 100644
--- a/core/applib/_adoc/modules/ant/pages/MinLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/MinLength.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-The `@MinLength` annotation is used to specify the minimum number of characters in a search of an xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method.
+The `@MinLength` annotation is used to specify the minimum number of characters in a search of an xref:applib:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method.
 
 
 For example:
diff --git a/core/applib/_adoc/modules/ant/pages/Parameter.adoc b/core/applib/_adoc/modules/ant/pages/Parameter.adoc
index 8699928..b637aea 100644
--- a/core/applib/_adoc/modules/ant/pages/Parameter.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter.adoc
@@ -18,8 +18,8 @@ The table below summarizes the annotation's attributes.
 
 |xref:applib:ant:Parameter.adoc#fileAccept[`fileAccept()`]
 |Media type or file extension
-|Hints the file type to be uploaded for xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
- or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`]. +
+|Hints the file type to be uploaded for xref:applib:cms:classes/value-types.adoc#Blob[`Blob`]
+ or xref:applib:cms:classes/value-types.adoc#Clob[`Clob`]. +
  +
  Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
 
diff --git a/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
index f3acdd0..443a5b5 100644
--- a/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
@@ -6,8 +6,8 @@ include::_attributes.adoc[]
 
 
 
-The `fileAccept()` attribute applies only to xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
-or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`] parameters, indicating the type of file to accept when
+The `fileAccept()` attribute applies only to xref:applib:cms:classes/value-types.adoc#Blob[`Blob`]
+or xref:applib:cms: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:applib:ant:Property.adoc#fileAccept[properties].
 
 For example:
diff --git a/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
index 4524f15..8f075f6 100644
--- a/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
@@ -19,7 +19,7 @@ The table below summarizes the annotation's attributes.
 
 |xref:applib:ant:ParameterLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
-|the css class that a parameter should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
+|the css class that a parameter should have, to allow more targetted styling in xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`]
 
 
 |xref:applib:ant:ParameterLayout.adoc#describedAs[`describedAs()`]
diff --git a/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
index ad66fc0..124e0ec 100644
--- a/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 
-The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the action parameter.   xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
+The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the action parameter.   xref:cfg:ROOT:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
 
 For example:
diff --git a/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
index 7ceecbe..83b38ba 100644
--- a/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
@@ -20,12 +20,12 @@ 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
+ (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas
+* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
-* in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
 
 The actual format of the object type used by Apache Isis for the concatenation of `schema()` and `@PersistenceCapable#table()`.
diff --git a/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc b/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
index 6e102cf..15aceb1 100644
--- a/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
@@ -28,11 +28,11 @@ Alternatively - for domain services only, not view models - the method can accep
 @Programmatic
 public void init(Map<String,String> properties) { /* ... */ }
 ----
-Apache Isis uses argument to pass in the configuration properties read from all xref:rg:cfg:configuration-files.adoc[configuration files]:
+Apache Isis uses argument to pass in the configuration properties read from all xref:cfg:ROOT:configuration-files.adoc[configuration files]:
 
 [TIP]
 ====
-Alternatively, you could inject xref:rg:svc:core-domain-api/ConfigurationService.adoc[`ConfigurationService`] into the service and read configuration properties using `ConfigurationService#getProperty(...)` and related methods.
+Alternatively, you could inject xref:applib:svc:core-domain-api/ConfigurationService.adoc[`ConfigurationService`] into the service and read configuration properties using `ConfigurationService#getProperty(...)` and related methods.
 However, be aware when using this latter API that only those configuration properties keys with an `application.` prefix are provided.
 ====
 
diff --git a/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc b/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
index a48f5d7..faa6557 100644
--- a/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
@@ -19,7 +19,7 @@ public void deinit() { /* ... */ }    <2>
 <1> It is not necessary to annotate the method with xref:applib:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
 <2> the method can have any name, but must have `public` visibility, and accept no arguments.
 
-A common use case is for domain services that interact with the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  For example:
+A common use case is for domain services that interact with the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  For example:
 
 [source,java]
 ----
@@ -41,7 +41,7 @@ public class MySubscribingService {
 
 [TIP]
 ====
-In this particular use case, it is generally simpler to just subclass from xref:rg:cms:classes/super.adoc#AbstractSubscriber[`AbstractSubscriber`].
+In this particular use case, it is generally simpler to just subclass from xref:applib:cms:classes/super.adoc#AbstractSubscriber[`AbstractSubscriber`].
 ====
 
 Other use cases include obtaining connections to external datasources, eg subscribing to an ActiveMQ router, say, or initializing/cleaning up a background scheduler such as Quartz.
diff --git a/core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc b/core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
index 6f7f06a..1dc4520 100644
--- a/core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 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:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`] 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:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`] does not touch the primary key, and also to ensure that the primary key property is always disabled (read-only).
 
 [NOTE]
 ====
diff --git a/core/applib/_adoc/modules/ant/pages/Programmatic.adoc b/core/applib/_adoc/modules/ant/pages/Programmatic.adoc
index 9817052..e596d8c 100644
--- a/core/applib/_adoc/modules/ant/pages/Programmatic.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Programmatic.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-The `@Programmatic` annotation causes the method to be excluded completely from the Apache Isis metamodel. This means it won't appear in any UI, and it won't appear in any xref:rg:svc:integration-api/MementoService.adoc[memento]s or xref:rg:svc:integration-api/XmlSnapshotService.adoc[snapshot]s.
+The `@Programmatic` annotation causes the method to be excluded completely from the Apache Isis metamodel. This means it won't appear in any UI, and it won't appear in any xref:applib:svc:integration-api/MementoService.adoc[memento]s or xref:applib:svc:integration-api/XmlSnapshotService.adoc[snapshot]s.
 
 A common use-case is to ignore implementation-level artifacts. For example:
 
diff --git a/core/applib/_adoc/modules/ant/pages/Property.adoc b/core/applib/_adoc/modules/ant/pages/Property.adoc
index 1b1ce11..e107ffc 100644
--- a/core/applib/_adoc/modules/ant/pages/Property.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property.adoc
@@ -22,19 +22,19 @@ It is also possible to apply the annotation to actions of domain services that a
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the property edit should be reified into a `o.a.i.applib.` +
-`services.command.Command` object through the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service.
+`services.command.Command` object through the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service.
 
 
 |`commandExecuteIn()`
 |`FOREGROUND`,`BACKGROUND` +
 (`FOREGROUND`)
-|whether to execute the command immediately, or to persist it (assuming that an appropriate implementation of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured) such that a background scheduler can execute the command asynchronously
+|whether to execute the command immediately, or to persist it (assuming that an appropriate implementation of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured) such that a background scheduler can execute the command asynchronously
 
 
 |`commandPersistence()`
 |`PERSISTED`, `NOT_PERSISTED`, `IF_HINTED` +
 (`PERSISTED`)
-|whether the reified `Command` (as provided by the `CommandContext` domain service) should actually be persisted (assuming an appropriate implementation of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured).
+|whether the reified `Command` (as provided by the `CommandContext` domain service) should actually be persisted (assuming an appropriate implementation of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured).
 
 
 
@@ -48,7 +48,7 @@ It is also possible to apply the annotation to actions of domain services that a
 |xref:applib:ant:Property.adoc#domainEvent[`domainEvent()`]
 |subtype of `PropertyDomainEvent` +
 (`PropertyDomainEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the property's business rule checking (hide, disable, validate) and its modification (before and after).
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the property's business rule checking (hide, disable, validate) and its modification (before and after).
 
 
 |xref:applib:ant:Property.adoc#editing[`editing()`]
@@ -59,8 +59,8 @@ It is also possible to apply the annotation to actions of domain services that a
 
 |xref:applib:ant:Property.adoc#fileAccept[`fileAccept()`]
 |Media type or file extension
-|Hints the files to be uploaded to a xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
- or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`]. +
+|Hints the files to be uploaded to a xref:applib:cms:classes/value-types.adoc#Blob[`Blob`]
+ or xref:applib:cms:classes/value-types.adoc#Clob[`Clob`]. +
  +
 Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
 
diff --git a/core/applib/_adoc/modules/ant/pages/Property/command.adoc b/core/applib/_adoc/modules/ant/pages/Property/command.adoc
index 4c3b0f1..30d1da8 100644
--- a/core/applib/_adoc/modules/ant/pages/Property/command.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/command.adoc
@@ -14,13 +14,13 @@ The primary use cases for this are to support the deferring the execution of the
 
 The annotation works with (and is influenced by the behaviour of) a number of domain services:
 
-* xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`]
-* xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`]
-* xref:rg:svc:spi/BackgroundService.adoc[`BackgroundService`] and
-* xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]
+* xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]
+* xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`]
+* xref:applib:svc:spi/BackgroundService.adoc[`BackgroundService`] and
+* xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]
 
 
-Each property edit is automatically reified by the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service into a `Command` object, capturing details of the target object, the property, the proposed new value fo the property, the user, a timestamp and so on.
+Each property edit is automatically reified by the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service into a `Command` object, capturing details of the target object, the property, the proposed new value fo the property, the user, a timestamp and so on.
 
 If an appropriate `CommandService` is configured (for example using (non-ASF) link:https://platform.incode.org/modules/spi/command/spi-command.html[Incode Platform's command] module), then the `Command` itself is persisted.
 
@@ -194,7 +194,7 @@ If `command` is `DISABLED` or does not otherwise apply due to the action's decla
 
 For persisted commands, the `commandExecuteIn()` attribute determines whether the `Command` should be executed in the foreground (the default) or executed in the background.
 
-Background execution means that the command is not executed immediately, but is available for a configured xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] to execute, eg by way of an in-memory scheduler such as Quartz.  See xref:ug:btb:about.adoc#BackgroundCommandExecution[here] for further information on this topic.
+Background execution means that the command is not executed immediately, but is available for a configured xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] to execute, eg by way of an in-memory scheduler such as Quartz.  See xref:ug:btb:about.adoc#BackgroundCommandExecution[here] for further information on this topic.
 
 For example:
 
diff --git a/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
index d6e4ddc..6a14c0c 100644
--- a/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
@@ -14,7 +14,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:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] using either link:https://github.com/google/guava[Guava] or link:http://www.axonframework.org/[Axon Framework] annotations and can influence each of these phases.
+Subscribers subscribe through the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] using either link:https://github.com/google/guava[Guava] or link:http://www.axonframework.org/[Axon Framework] annotations and can influence each of these phases.
 
 By default the event raised is `PropertyDomainEvent.Default`.
 For example:
@@ -55,7 +55,7 @@ This substantially reduces the boilerplate in the subclasses because no explicit
 
 == Subscribers
 
-Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
+Subscribers (which must be domain services) subscribe using either the link:https://github.com/google/guava[Guava] API or (if the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] has been appropriately configured) using the link:http://www.axonframework.org/[Axon Framework] API.
 The examples below use the Guava API.
 
 Subscribers can be either coarse-grained (if they subscribe to the top-level event type):
@@ -149,7 +149,7 @@ And, conversely, the framework also provides `PropertyDomainEvent.Noop`; if `dom
 == Raising events programmatically
 
 Normally events are only raised for interactions through the UI.
-However, events can be raised programmatically by wrapping the target object using the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service.
+However, events can be raised programmatically by wrapping the target object using the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service.
 
 
 == See also
diff --git a/core/applib/_adoc/modules/ant/pages/Property/editing.adoc b/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
index de37f44..3b9445a 100644
--- a/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
@@ -13,11 +13,11 @@ Whether a property is enabled or disabled depends upon these factors:
 
 * whether the domain object has been configured as immutable through the xref:rg:DomainObject/editing.adoc[`@DomainObject#editing()`] attribute
 
-* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.objects.editing`.  If set to `false`, then the object's properties (and collections) are __not__ editable
+* else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.objects.editing`.  If set to `false`, then the object's properties (and collections) are __not__ editable
 
 * else, then the value of the `@Property(editing=...)` attribute itself
 
-* else, the result of invoking any supporting xref:rg:cms:rgcms.adoc#\_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
+* else, the result of invoking any supporting xref:applib:cms:rgcms.adoc#\_rgcms_methods_prefixes_disable[`disable...()`] supporting methods
 
 
 Thus, to make a property read-only even if the object would otherwise be editable, use:
diff --git a/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc b/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
index 93f9894..d215aab 100644
--- a/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `fileAccept()` attribute applies only to xref:rg:cms:classes/value-types.adoc#Blob[`Blob`] or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`] parameters, indicating the type of file to accept when uploading a new value.
+The `fileAccept()` attribute applies only to xref:applib:cms:classes/value-types.adoc#Blob[`Blob`] or xref:applib:cms: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:applib:ant:Parameter.adoc#fileAccept[parameters].
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc b/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
index 160be4d..a463fe8 100644
--- a/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 
-The (somewhat misnamed) `notPersisted()` attribute indicates that the collection should be excluded from any snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`].
+The (somewhat misnamed) `notPersisted()` attribute indicates that the collection should be excluded from any snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`].
 
 
 [WARNING]
diff --git a/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc b/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
index 73894e8..83dce5d 100644
--- a/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
@@ -7,11 +7,11 @@ include::_attributes.adoc[]
 
 
 
-The `publishing()` attribute determines whether and how a property edit is published via the registered implementation of xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+The `publishing()` attribute determines whether and how a property edit is published via the registered implementation of xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 A common use case is to notify external "downstream" systems of changes in the state of the Apache Isis application.
 The default value for the attribute is `AS_CONFIGURED`, meaning that the
-xref:rg:cfg:configuring-core.adoc[configuration property] `isis.services.publish.properties` is used to
+xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.services.publish.properties` is used to
 determine the whether the property is published:
 
 * `all`
diff --git a/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
index 88f1168..3ec5319 100644
--- a/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
@@ -19,7 +19,7 @@ The table below summarizes the annotation's attributes.
 
 |xref:applib:ant:PropertyLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
-|the css class that a property should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
+|the css class that a property should have, to allow more targetted styling in xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`]
 
 
 |xref:applib:ant:PropertyLayout.adoc#describedAs[`describedAs()`]
@@ -40,7 +40,7 @@ The table below summarizes the annotation's attributes.
 
 Defaults is `LEFT`, unless xref:applib:ant:PropertyLayout.adoc#multiLine[`multiLine`] in which case `TOP`.  The value `RIGHT` is only supported for boolean properties. +
 
-It is also possible to change the default through a xref:rg:cfg:configuring-core.adoc#isis-viewers-propertyLayout-labelPosition[configuration property]
+It is also possible to change the default through a xref:cfg:ROOT:configuring-core.adoc#isis-viewers-propertyLayout-labelPosition[configuration property]
 
 
 |xref:applib:ant:PropertyLayout.adoc#multiLine[`multiLine()`]
diff --git a/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
index 5f90eeb..618fcd1 100644
--- a/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the property.
-xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
+xref:cfg:ROOT:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
 For example:
 
diff --git a/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
index 4d297a8..ea24edc 100644
--- a/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
@@ -64,7 +64,7 @@ image::reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png[widt
 ====
 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 a xref:rg:cfg:configuring-core.adoc[configuration property] in `isis.properties`:
+Instead, a default can be specified using a xref:cfg:ROOT:configuring-core.adoc[configuration property] in `isis.properties`:
 
 [source,ini]
 ----
diff --git a/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc b/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
index 1bd1370..2c1c8a2 100644
--- a/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
+++ b/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
@@ -9,7 +9,7 @@ The `@javax.enterprise.context.RequestScoped` link:https://jcp.org/en/jsr/detail
 
 Although Apache Isis does not (currently) leverage CDI, the semantics are the same as request-scoped service; a new instance is created for each HTTP request, reserved for the exclusive use of all objects interacted with during that request.
 
-One of the built-in domain services that uses this annotation is xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`], intended to allow the arbitrary sharing of data between objects.  Here is the full source code of this service is:
+One of the built-in domain services that uses this annotation is xref:applib:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`], intended to allow the arbitrary sharing of data between objects.  Here is the full source code of this service is:
 
 
 [source,java]
diff --git a/core/applib/_adoc/modules/ant/pages/ViewModel.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
index 2fd3547..a2505d3 100644
--- a/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
@@ -25,7 +25,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:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] can then be used to inject dependencies into the view model.
+The xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] can then be used to inject dependencies into the view model.
 For example:
 
 [source,java]
@@ -46,7 +46,7 @@ The view model's memento will be derived from the value of the view model object
 Any xref:applib:ant:Property.adoc#notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:applib:ant:Programmatic.adoc[`@Programmatic`] properties.
 Properties that are merely xref:applib:ant:Property.adoc#hidden[hidden] _are_ included in the memento.
 
-Only properties supported by the configured xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] can be used. The default implementation supports all the value types and persisted entities.
+Only properties supported by the configured xref:applib:svc:integration-api/MementoService.adoc[`MementoService`] can be used. The default implementation supports all the value types and persisted entities.
 
 View models, as defined by `@ViewModel` (or `@DomainObject(nature=VIEW_MODEL)` for that matter) have some limitations:
 
@@ -60,7 +60,7 @@ If you are using view models heavily, you may wish to restrict yourself to just
 
 [NOTE]
 ====
-The `@ViewModel` does not allow the objectType to be specified, meaning that it is incompatible with the metamodel validation check ennabled by the xref:rg:cfg:configuring-core.adoc#metamodel-validation[`explicitObjectType`] configuration property.
+The `@ViewModel` does not allow the objectType to be specified, meaning that it is incompatible with the metamodel validation check ennabled by the xref:cfg:ROOT:configuring-core.adoc#metamodel-validation[`explicitObjectType`] configuration property.
 
 Instead, use xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`].
 ====
diff --git a/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
index e4263b6..b3cc055 100644
--- a/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
@@ -11,12 +11,12 @@ 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
+ (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
  ** and thus in the "table-of-two-halves" pattern, as per the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s poly module
-* in the serialization of `OidDto` in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas
+* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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 general and in particular if xref:vw:ROOT:features/hints-and-copy-url.adoc[copying URLs])
-* in XML snapshots generated by the xref:rg:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
+* in XML snapshots generated by the xref:applib:svc:integration-api/XmlSnapshotService.adoc[`XmlSnapshotService`]
 
 
 
diff --git a/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
index c65925a..490db70 100644
--- a/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
@@ -20,7 +20,7 @@ The table below summarizes the annotation's attributes.
 
 |xref:applib:ant:ViewModelLayout.adoc#cssclass[`cssClass()`]
 |Any string valid as a CSS class
-|the css class that a domain class (type) should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
+|the css class that a domain class (type) should have, to allow more targetted styling in xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`]
 
 
 |xref:applib:ant:ViewModelLayout.adoc#cssClassFa[`cssClassFa()`]
@@ -37,7 +37,7 @@ The table below summarizes the annotation's attributes.
 |xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
 |subtype of `CssClassUiEvent` +
 (`CssClassUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
 
 
 |xref:applib:ant:ViewModelLayout.adoc#describedAs[`describedAs()`]
@@ -47,12 +47,12 @@ The table below summarizes the annotation's attributes.
 |xref:applib:ant:ViewModelLayout.adoc#iconUiEvent[`iconUiEvent()`]
 |subtype of `IconUiEvent` +
 (`IconUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
 
 |xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
 |subtype of `LayoutUiEvent` +
 (`LayoutUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
 
 |xref:applib:ant:ViewModelLayout.adoc#named[`named()`]
 |String.
@@ -74,7 +74,7 @@ A typical use case is if the desired name is a reserved Java keyword, such as `d
 |xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[`titleUiEvent()`]
 |subtype of `TitleUiEvent` +
 (`TitleUiEvent.Default`)
-|the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
+|the event type to be posted to the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
 
 |===
 
diff --git a/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
index 6430201..0429f2e 100644
--- a/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
@@ -6,6 +6,6 @@ include::_attributes.adoc[]
 
 
 
-The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the view model.   xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
+The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the view model.   xref:cfg:ROOT:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
 This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
diff --git a/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
index 90fc366..41d3d1c 100644
--- a/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a view model is to be rendered, the framework fires off an icon UI event to obtain an icon (name) for the object (if possible).
-This is as an alternative to implementing xref:rg:cms:methods.adoc#iconName[`iconName()`] reserved method.
+This is as an alternative to implementing xref:applib:cms:methods.adoc#iconName[`iconName()`] reserved method.
 (If `iconName()` is present, then it will take precedence).
 
 This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`], but for view models instead of entities.
diff --git a/core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc b/core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
index af3ee22..9c4968d 100644
--- a/core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
+++ b/core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+provided by the xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
 For example:
 
diff --git a/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
index 4eca59a..2d774df 100644
--- a/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
+++ b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
@@ -10,10 +10,10 @@ 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:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface or the xref:applib:ant:ViewModel.adoc[`@ViewModel`] annotation, using `@XmlRootElement` has a couple of significant advantages:
+In comparison to using either the xref:applib:cms:classes/super.adoc#ViewModel[`ViewModel`] interface or the xref:applib:ant:ViewModel.adoc[`@ViewModel`] 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:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
+xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
 +
 This provides a stable and versioned API to access data in XML format using whatever client-side technology may be appropriate.
 
@@ -23,12 +23,12 @@ In contrast, if the `@ViewModel` annotation is used then only the state of the p
 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: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:rg:cms:schema.adoc#common[common schema]): the object's type and its identifier.
+This adapter converts any references to such domain entities using the `oidDto` complex type (as defined by the Apache Isis xref:xref:schema:ROOT: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:rg:svc:presentation-layer-spi/UrlEncodingService.adoc[`UrlEncodingService`], the default implementation of which simply encodes to base 64.
+This is performed by the xref:applib:svc:presentation-layer-spi/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:ug:btb:about.adoc#replacing-default-service-implementations[here] in the user guide.
 ====
 
@@ -60,7 +60,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:ug:fun:building-blocks.adoc#mixins[mixins] (annotated with xref:applib:ant:Mixin.adoc[`@Mixin`]), while xref:rg:cms:classes/uievent.adoc[UI events] can be used to obtain title, icons and so on.
+Behaviour can therefore be provided using xref:ug:fun:building-blocks.adoc#mixins[mixins] (annotated with xref:applib:ant:Mixin.adoc[`@Mixin`]), while xref:applib:cms: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:ug:fun:building-blocks.adoc#view-models[this topic] in the user guide.
 
diff --git a/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc b/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
index 3bce624..ffcdda9 100644
--- a/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
@@ -75,7 +75,7 @@ The table below lists the JEE annotations currently recognized.  Expect to see m
 |xref: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:rg:svc:integration-api/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:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`]).
 |Domain
 |
 
diff --git a/core/_adoc-rg/modules/svc/pages/testing/_attributes.adoc b/core/applib/_adoc/modules/ant/partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/testing/_attributes.adoc
rename to core/applib/_adoc/modules/ant/partials/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/partials/nav.adoc b/core/applib/_adoc/modules/ant/partials/nav.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ROOT/partials/nav.adoc
rename to core/applib/_adoc/modules/ant/partials/nav.adoc
index 0bbf0f3..f052a9f 100644
--- a/core/_adoc-rg/modules/ROOT/partials/nav.adoc
+++ b/core/applib/_adoc/modules/ant/partials/nav.adoc
@@ -1,5 +1,3 @@
-* xref:rg:ROOT:about.adoc[Reference Guide]
-
 * xref:applib:ant:about.adoc[Annotations]
 
 ** xref:applib:ant:aaa.adoc[Summary]
diff --git a/core/_adoc-rg/modules/svc/_attributes.adoc b/core/applib/_adoc/modules/cms/_attributes.adoc
similarity index 100%
copy from core/_adoc-rg/modules/svc/_attributes.adoc
copy to core/applib/_adoc/modules/cms/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/examples/.gitkeep b/core/applib/_adoc/modules/cms/assets/attachments/.gitkeep
similarity index 100%
copy from core/_adoc-rg/modules/svc/examples/.gitkeep
copy to core/applib/_adoc/modules/cms/assets/attachments/.gitkeep
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-classes/issue-in-more-detail.png b/core/applib/_adoc/modules/cms/assets/images/reference-classes/issue-in-more-detail.png
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/reference-classes/issue-in-more-detail.png
copy to core/applib/_adoc/modules/cms/assets/images/reference-classes/issue-in-more-detail.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/prefixes/choices/dependent.png b/core/applib/_adoc/modules/cms/assets/images/reference-methods/prefixes/choices/dependent.png
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/reference-methods/prefixes/choices/dependent.png
copy to core/applib/_adoc/modules/cms/assets/images/reference-methods/prefixes/choices/dependent.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/cssClass/strikethrough.png b/core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/cssClass/strikethrough.png
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/cssClass/strikethrough.png
copy to core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/cssClass/strikethrough.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.pdn b/core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/iconName/differing.pdn
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.pdn
copy to core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/iconName/differing.pdn
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.png b/core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/iconName/differing.png
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.png
copy to core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/iconName/differing.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/png-files.png b/core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/iconName/png-files.png
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/png-files.png
copy to core/applib/_adoc/modules/cms/assets/images/reference-methods/reserved/iconName/png-files.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/value-types/markup.png b/core/applib/_adoc/modules/cms/assets/images/value-types/markup.png
similarity index 100%
copy from core/_adoc-rg/modules/cms/assets/images/value-types/markup.png
copy to core/applib/_adoc/modules/cms/assets/images/value-types/markup.png
diff --git a/core/_adoc-rg/modules/svc/assets/attachments/.gitkeep b/core/applib/_adoc/modules/cms/examples/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/attachments/.gitkeep
rename to core/applib/_adoc/modules/cms/examples/.gitkeep
diff --git a/core/_adoc-rg/modules/ROOT/nav.adoc b/core/applib/_adoc/modules/cms/nav.adoc
similarity index 97%
copy from core/_adoc-rg/modules/ROOT/nav.adoc
copy to core/applib/_adoc/modules/cms/nav.adoc
index 69362ed..de2a49c 100644
--- a/core/_adoc-rg/modules/ROOT/nav.adoc
+++ b/core/applib/_adoc/modules/cms/nav.adoc
@@ -1,2 +1 @@
 include::rg:ROOT:partial$nav.adoc[]
-
diff --git a/core/_adoc-rg/modules/svc/pages/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/_attributes.adoc
diff --git a/core/applib/_adoc/modules/cms/pages/about.adoc b/core/applib/_adoc/modules/cms/pages/about.adoc
new file mode 100644
index 0000000..b59b7a4
--- /dev/null
+++ b/core/applib/_adoc/modules/cms/pages/about.adoc
@@ -0,0 +1,11 @@
+= Classes & Methods
+include::_attributes.adoc[]
+
+
+This reference guide lists and describes various elements of the the Apache Isis Programming Model, specifically reserved and prefix xref:applib:cms:methods.adoc[methods] (such as `title()` and `validate...()`) and various utility and supporting xref:applib:cms:classes.adoc[classes].
+
+It also describes the xref:schema:ROOT:about.adoc[XSD schema] defined by Apache Isis.
+One use case is for the JAXB serialization of view models.
+
+
+
diff --git a/core/_adoc-rg/modules/cms/pages/classes.adoc b/core/applib/_adoc/modules/cms/pages/classes.adoc
similarity index 90%
rename from core/_adoc-rg/modules/cms/pages/classes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes.adoc
index 3e7ae32..53fe9bf 100644
--- a/core/_adoc-rg/modules/cms/pages/classes.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-This chapter describes the usage of various classes and interfaces that are not otherwise associated with xref:rg:svc:about.adoc[domain services], xref:vw:ROOT:layout.adoc[object layout] or xref:rg:cfg:about[configuration].
+This chapter describes the usage of various classes and interfaces that are not otherwise associated with xref:applib:svc:about.adoc[domain services], xref:vw:ROOT:layout.adoc[object layout] or xref:cfg:ROOT:about[configuration].
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc b/core/applib/_adoc/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
similarity index 97%
rename from core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
index 741576a..309209a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
@@ -8,7 +8,7 @@ This section describes how to implement the `AppManifest` interface to bootstrap
 
 [TIP]
 ====
-The framework-provided `AppManifestAbstract2` and `AppManifestAbstract2.Builder` makes it easy to write an `AppManifest`, defined by a set of xref:rg:cms:classes/Module.adoc[`Module`] implementations.
+The framework-provided `AppManifestAbstract2` and `AppManifestAbstract2.Builder` makes it easy to write an `AppManifest`, defined by a set of xref:applib:cms:classes/Module.adoc[`Module`] implementations.
 The app manifest can then be used both to bootstrap the application "proper", or for integration tests.
 ====
 
@@ -185,7 +185,7 @@ public Map<String, String> getConfigurationProperties() {
 
 [NOTE]
 ====
-The recommendations in this section no longer apply if using the xref:rg:cms:classes.adoc#bootstrapping[`AppManifest2`] interface and ``Module``s to bootstrap your application.
+The recommendations in this section no longer apply if using the xref:applib:cms:classes.adoc#bootstrapping[`AppManifest2`] interface and ``Module``s to bootstrap your application.
 ====
 
 One of the primary goals of the `AppManifest` is to unify the bootstrapping of both integration tests and the webapp.
@@ -237,7 +237,7 @@ The next section describes some helper classes that the framework provides to he
 
 [IMPORTANT]
 ====
-The framework-provided `AppManifestAbstract2` and `AppManifestAbstract2.Builder` supercede `AppManifestAbstract`, making it easy to write an `AppManifest` defined by a set of xref:rg:cms:classes/Module.adoc[`Module`] implementations.
+The framework-provided `AppManifestAbstract2` and `AppManifestAbstract2.Builder` supercede `AppManifestAbstract`, making it easy to write an `AppManifest` defined by a set of xref:applib:cms:classes/Module.adoc[`Module`] implementations.
 ====
 
 The `AppManifestAbstract` and its associated builder (`AppManifestAbstract.Builder`) make it easy to bootstrap the application both as a webapp and also as an integration test.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc b/core/applib/_adoc/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
similarity index 92%
rename from core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
index 53c2b49..a9cda82 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
@@ -4,7 +4,7 @@
 include::_attributes.adoc[]
 
 
-The bootstrapping of an Apache Isis application has been modularized using the `Module` interface, with `AppManifest2` (an extension of the original xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] interface) defined in terms of ``Module``s also.
+The bootstrapping of an Apache Isis application has been modularized using the `Module` interface, with `AppManifest2` (an extension of the original xref:applib:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`] interface) defined in terms of ``Module``s also.
 
 A `Module` represents a collection of entities and domain services that provide a set of coherent functionality under a single package (and subpackages underneath), with the module class itself residing at the top-level package.
 
@@ -41,7 +41,7 @@ Specifically, only the `Builder` can specify the authentication mechanism, and o
 
 == API
 
-The `AppManifest2` interface extends xref:rg:cms:classes.adoc#api[`AppManifest`], additionally declaring the top-level `Module` that was used to create the app manifest, and fixtures for reference data setup and for teardown:
+The `AppManifest2` interface extends xref:applib:cms:classes.adoc#api[`AppManifest`], additionally declaring the top-level `Module` that was used to create the app manifest, and fixtures for reference data setup and for teardown:
 
 [source,java]
 ----
@@ -75,7 +75,7 @@ public abstract class AppManifestAbstract2 extends AppManifestAbstract implement
 }
 ----
 
-Additional `withXxx(...)` builder methods are inherited from xref:rg:cms:classes.adoc#bootstrapping[`AppManifestAbstract.Builder`].
+Additional `withXxx(...)` builder methods are inherited from xref:applib:cms:classes.adoc#bootstrapping[`AppManifestAbstract.Builder`].
 
 
 For example:
@@ -119,9 +119,9 @@ The framework calculates a full set of transitive dependencies from this.
 <2> Support for "legacy" modules that do not implement `Module`.
 These are added to the set of packages to scan for entities and domain services.
 <3> Each `Module` can define additional "legacy" domain services that have not been defined within modules,or that have not been annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
-<4> Optionally each `Module` can define a xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`] which holds immutable "reference data".
+<4> Optionally each `Module` can define a xref:applib:cms:classes.adoc#FixtureScript[`FixtureScript`] which holds immutable "reference data".
 These are automatically executed whenever running integration tests (but are ignored when bootstrapping the runtime as a webapp.
-<5> Similarly, optionally each `Module` can define a tear-down xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`], used to remove the contents of _all_ entities (both reference data and operational/transactional data).
+<5> Similarly, optionally each `Module` can define a tear-down xref:applib:cms:classes.adoc#FixtureScript[`FixtureScript`], used to remove the contents of _all_ entities (both reference data and operational/transactional data).
 <6> Optionally each module can define additional configuration properties.
 These can either be specified as key-value pair, or by way of the `PropertyResource` class.
 The `PropertyResource` class identifies a property configuration file to load from the classpath, with respect to some other context class.
@@ -177,7 +177,7 @@ Alternatively, could override `getAdditonalServices()`.
 == Bootstrapping
 
 One of the overarching goals is to ensure that integration tests and the webapp are bootstrapped in as similar a way as possible.
-xref:rg:cms:classes.adoc#bootstrapping[Previously] this was done by using a single `AppManifest` for both the tests and the webapp.
+xref:applib:cms:classes.adoc#bootstrapping[Previously] this was done by using a single `AppManifest` for both the tests and the webapp.
 
 However, this approach does have a significant drawback.
 The `AppManifest` implementation must (necessarily) reference all the modules wthin the application, and this therefore means that the integration tests are also scoped (or at least, have access to) the entire application.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/contributee.adoc b/core/applib/_adoc/modules/cms/pages/classes/contributee.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/contributee.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/contributee.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/contributee/HasTransactionId.adoc b/core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc
similarity index 78%
rename from core/_adoc-rg/modules/cms/pages/classes/contributee/HasTransactionId.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc
index deecf4c..3545a9f 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/contributee/HasTransactionId.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/contributee/HasTransactionId.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 The `HasTransactionId` interface is a mix-in for any domain objects that reference a transaction id, such as
-auditing entries or commands, or for xref:rg:svc:application-layer-api/InteractionContext.adoc[``Interaction``]s persisted as published events.
+auditing entries or commands, or for xref:applib:svc:application-layer-api/InteractionContext.adoc[``Interaction``]s persisted as published events.
 
 [NOTE]
 ====
@@ -43,11 +43,11 @@ public interface RepresentsInteractionMemberExecution extends HasTransactionId {
 }
 ----
 
-Here the (inherited) `getTransactionId()` is intended to be interpreted as an interaction (cf xref:rg:cms:schema.adoc#ixn[`InteractionDto`]) that has at least one member execution (cf xref:rg:cms:schema.adoc#ixn/memberExecutionDto[`memberExecutionDto`]).
+Here the (inherited) `getTransactionId()` is intended to be interpreted as an interaction (cf xref:xref:schema:ROOT:ixn[`InteractionDto`]) that has at least one member execution (cf xref:schema:ROOT:about.adoc#ixn/memberExecutionDto.adoc[`memberExecutionDto`]).
 
-If the interaction (almost certainly an action) calls other actions by way of xref:rg:svc:WrapperFactory.adoc[`WrapperFactory`]), then there may be several member executions, each with a unique sequence number, within the same transaction Id.
+If the interaction (almost certainly an action) calls other actions by way of xref:applib:svc:WrapperFactory.adoc[`WrapperFactory`]), then there may be several member executions, each with a unique sequence number, within the same transaction Id.
 
 The purpose of this interface is to allow mixins to be defined, though the framework itself defines none.
 
-Currently the only implementation of this interface is that for `PublishedObjects` applib interface as defined by the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+Currently the only implementation of this interface is that for `PublishedObjects` applib interface as defined by the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/contributee/HasUserName.adoc b/core/applib/_adoc/modules/cms/pages/classes/contributee/HasUserName.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/contributee/HasUserName.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/contributee/HasUserName.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/contributee/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/contributee/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc b/core/applib/_adoc/modules/cms/pages/classes/domainevent.adoc
similarity index 88%
rename from core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/domainevent.adoc
index 0c5ec34..9b5fe1e 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/domainevent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 This section catalogues the various domain event classes defined by Apache Isis.
 
-These events are broadcast on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
+These events are broadcast on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 The domain events are broadcast as a result of being specified in the xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`],  xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] or xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] attributes.
 
 They are listed in the table below.
@@ -22,7 +22,7 @@ Impl'n (g: a:)
 |Notes
 
 
-|xref:rg:cms:classes.adoc#AbstractDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#AbstractDomainEvent[`o.a.i.applib.` +
 `AbstractDomainEvent`]
 |``o.a.i.core`` +
 ``events.domain`` +
@@ -31,7 +31,7 @@ Impl'n (g: a:)
 |Superclass of the other domain events, listed below in this table.
 
 
-|xref:rg:cms:classes.adoc#ActionDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ActionDomainEvent[`o.a.i.applib.` +
 `ActionDomainEvent`]
 |``o.a.i.core`` +
 ``events.domain`` +
@@ -41,7 +41,7 @@ Impl'n (g: a:)
 |Broadcast whenever there is an interaction (hide/disable/validate/pre-execute/post-execute) with an object's action.
 
 
-|xref:rg:cms:classes.adoc#CollectionDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#CollectionDomainEvent[`o.a.i.applib.` +
 `CollectionDomainEvent`]
 |``o.a.i.core`` +
 ``events.domain`` +
@@ -52,7 +52,7 @@ is specified.
 |Broadcast whenever there is an interaction (hide/disable/validate/access) with an object's collection.
 
 
-|xref:rg:cms:classes.adoc#PropertyDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#PropertyDomainEvent[`o.a.i.applib.` +
 `PropertyDomainEvent`]
 |``o.a.i.core`` +
 ``events.domain`` +
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/AbstractDomainEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/domainevent/AbstractDomainEvent.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/classes/domainevent/AbstractDomainEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/domainevent/AbstractDomainEvent.adoc
index 69b504e..6389d00 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/AbstractDomainEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/domainevent/AbstractDomainEvent.adoc
@@ -10,9 +10,9 @@ properties or collections.
 
 Its immediate subclasses are:
 
-* xref:rg:cms:classes.adoc#ActionDomainEvent[`ActionDomainEvent`]
-* xref:rg:cms:classes.adoc#PropertyDomainEvent[`PropertyDomainEvent`]
-* xref:rg:cms:classes.adoc#CollectionDomainEvent[`CollectionDomainEvent`]
+* xref:applib:cms:classes.adoc#ActionDomainEvent[`ActionDomainEvent`]
+* xref:applib:cms:classes.adoc#PropertyDomainEvent[`PropertyDomainEvent`]
+* xref:applib:cms:classes.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
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
similarity index 87%
rename from core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
index f4ee48e..7738c2b 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
@@ -5,14 +5,14 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for actions.
+Subclass of xref:applib:cms:classes.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for actions.
 
 The class has a number of responsibilities (in addition to those it inherits):
 
 * capture the target object being interacted with
 * capture the arguments for each of the action's parameters
 * provide selected metadata about the action parameters from the metamodel (names, types)
-* link back to the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service's `Command` object
+* link back to the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service's `Command` object
 
 The class itself is instantiated automatically by the framework whenever interacting with a rendered object's action.
 
@@ -46,7 +46,7 @@ annotation attribute.
 Whether this raises an event or not depends upon the `isis.reflector.facet.actionAnnotation.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).
 <3> Similarly, the `Doop` class is provided as a convenience to indicate that an event _should_ be raised (irrespective of the configuration property setting).
-<4> Deprecated, use xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] or (better)  xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`]instead.
+<4> Deprecated, use xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] or (better)  xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`]instead.
 <5> The arguments being used to invoke the action; populated during validate phase and subsequent phases.
 <6> The value returned by the action; populated only in the executed phase.
 <7> Allows the subscriber to effectively change the value returned by the action; may only be called in the executed phase.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
index e406c39..eb06164 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for collections.
+Subclass of xref:applib:cms:classes.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for collections.
 
 The class has a couple of responsibilities (in addition to those it inherits):
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
index 2bc42c2..3c19abe 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for properties.
+Subclass of xref:applib:cms:classes.adoc#AbstractDomainEvent[`AbstractDomainEvent`] for properties.
 
 The class has a couple of responsibilities (in addition to those it inherits):
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/domainevent/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/domainevent/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/i18n.adoc b/core/applib/_adoc/modules/cms/pages/classes/i18n.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/i18n.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/i18n.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/i18n/TranslatableString.adoc b/core/applib/_adoc/modules/cms/pages/classes/i18n/TranslatableString.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/i18n/TranslatableString.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/i18n/TranslatableString.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/i18n/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/i18n/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/layout.adoc b/core/applib/_adoc/modules/cms/pages/classes/layout.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/classes/layout.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/layout.adoc
index 23dd189..b7e2fab 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/layout.adoc
@@ -19,7 +19,7 @@ The component classes, though, are intended to be reusable across all grid syste
 The component classes, meanwhile, are broadly equivalent to the "layout" annotations (xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant: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:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
+This ability to serialize to/from XML is used by the xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
 It also allows the grid to be exposed through the REST API provided by the xref: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.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent.adoc
similarity index 73%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent.adoc
index 5ceb9d2..e0affd4 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent.adoc
@@ -21,7 +21,7 @@ Impl'n (g: a:)
 |Notes
 
 
-|xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#AbstractLifecycleEvent[`o.a.i.applib.` +
 `AbstractLifecycleEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
@@ -30,18 +30,18 @@ Impl'n (g: a:)
 |Superclass of the other lifecycle events, listed below in this table.
 
 
-|xref:rg:cms:classes.adoc#ObjectCreatedDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectCreatedDomainEvent[`o.a.i.applib.` +
 `ObjectCreatedEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
 ``isis-core-applib``
 |(abstract class). +
 `ObjectCreatedEvent.Default` is the concrete implementation that is used.
-|Broadcast when an object is first instantiated using the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`]'s
+|Broadcast when an object is first instantiated using the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`]'s
 `#instantiate(...)` method.
 
 
-|xref:rg:cms:classes.adoc#ObjectLoadedDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectLoadedDomainEvent[`o.a.i.applib.` +
 `ObjectLoadedEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
@@ -51,40 +51,40 @@ Impl'n (g: a:)
 |Broadcast when an object is retrieved from the database.
 
 
-|xref:rg:cms:classes.adoc#ObjectPersistedDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectPersistedDomainEvent[`o.a.i.applib.` +
 `ObjectPersistedEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
 ``isis-core-applib``
 |(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:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s
+|Broadcast when an object is first saved (inserted) into the database using the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s
 `#persist(...)` method.
 
 
-|xref:rg:cms:classes.adoc#ObjectPersistingDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectPersistingDomainEvent[`o.a.i.applib.` +
 `ObjectPersistingEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
 ``isis-core-applib``
 |(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:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s
+|Broadcast when an object is about to be saved (inserted) into the database using the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s
 `#persist(...)` method.
 
 
-|xref:rg:cms:classes.adoc#ObjectRemovingDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectRemovingDomainEvent[`o.a.i.applib.` +
 `ObjectRemovingEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
 ``isis-core-applib``
 |(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:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s
+|Broadcast when an object is about to be deleted from the database using the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s
 `#remove(...)` method.
 
 
-|xref:rg:cms:classes.adoc#ObjectUpdatedDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectUpdatedDomainEvent[`o.a.i.applib.` +
 `ObjectUpdatedEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
@@ -92,10 +92,10 @@ Impl'n (g: a:)
 |(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:rg:svc:core-domain-api/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:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
 
-|xref:rg:cms:classes.adoc#ObjectUpdatingDomainEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#ObjectUpdatingDomainEvent[`o.a.i.applib.` +
 `ObjectUpdatingEvent`]
 |``o.a.i.core`` +
 ``events.lifecycle`` +
@@ -103,7 +103,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:rg:svc:core-domain-api/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:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
 
 |===
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/AbstractLifecycleEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/AbstractLifecycleEvent.adoc
similarity index 68%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/AbstractLifecycleEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/AbstractLifecycleEvent.adoc
index a33bacb..16db744 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/AbstractLifecycleEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/AbstractLifecycleEvent.adoc
@@ -10,12 +10,12 @@ or deleting objects from the database.
 
 Its immediate subclasses are:
 
-* xref:rg:cms:classes.adoc#ObjectCreatedEvent[`ObjectCreatedEvent`]
-* xref:rg:cms:classes.adoc#ObjectLoadedEvent[`ObjectLoadedEvent`]
-* xref:rg:cms:classes.adoc#ObjectPersistedEvent[`ObjectPersistedEvent`]
-* xref:rg:cms:classes.adoc#ObjectPersistingEvent[`ObjectPersistingEvent`]
-* xref:rg:cms:classes.adoc#ObjectRemovingEvent[`ObjectRemovingEvent`]
-* xref:rg:cms:classes.adoc#ObjectUpdatedEvent[`ObjectUpdatedEvent`]
-* xref:rg:cms:classes.adoc#ObjectUpdatingEvent[`ObjectUpdatingEvent`]
+* xref:applib:cms:classes.adoc#ObjectCreatedEvent[`ObjectCreatedEvent`]
+* xref:applib:cms:classes.adoc#ObjectLoadedEvent[`ObjectLoadedEvent`]
+* xref:applib:cms:classes.adoc#ObjectPersistedEvent[`ObjectPersistedEvent`]
+* xref:applib:cms:classes.adoc#ObjectPersistingEvent[`ObjectPersistingEvent`]
+* xref:applib:cms:classes.adoc#ObjectRemovingEvent[`ObjectRemovingEvent`]
+* xref:applib:cms:classes.adoc#ObjectUpdatedEvent[`ObjectUpdatedEvent`]
+* xref:applib:cms:classes.adoc#ObjectUpdatingEvent[`ObjectUpdatingEvent`]
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
similarity index 81%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
index deac1eb..ddc0501 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryServuce`]'s `#instantiate(...)` method.
+Subclass of xref:applib:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryServuce`]'s `#instantiate(...)` method.
 
 `ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectLoadedEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectLoadedEvent.adoc
similarity index 87%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectLoadedEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectLoadedEvent.adoc
index 1f7cc32..f7fb54a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectLoadedEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectLoadedEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is retrieved from the database.
+Subclass of xref:applib:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is retrieved from the database.
 
 `ObjectLoadedEvent.Default` is the concrete implementation that is used.
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
similarity index 79%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
index 4748b52..39fb0ea 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first saved (inserted) into the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
+Subclass of xref:applib:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first saved (inserted) into the database using the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
 
 
 `ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`].
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
similarity index 79%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
index c80e2f8..b333f15 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be saved (inserted) into the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
+Subclass of xref:applib:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be saved (inserted) into the database using the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
 
 
 `ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`].
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
similarity index 79%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
index 3e1e7b4..d8e8e29 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be deleted from the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#remove(...)` method.
+Subclass of xref:applib:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be deleted from the database using the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#remove(...)` method.
 
 
 `ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`].
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
similarity index 75%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
index 7a44902..b0d45e1 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
@@ -6,8 +6,8 @@ include::_attributes.adoc[]
 
 
 
-Subclass of xref:rg:cms:classes.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:rg:svc:core-domain-api/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:cms:classes.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:applib:svc:core-domain-api/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:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
similarity index 74%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
index 6e5bd96..9d1ddda 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
@@ -6,8 +6,8 @@ include::_attributes.adoc[]
 
 
 
-Subclass of xref:rg:cms:classes.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:rg:svc:core-domain-api/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:cms:classes.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:applib:svc:core-domain-api/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:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`].
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/lifecycleevent/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc b/core/applib/_adoc/modules/cms/pages/classes/menubars.adoc
similarity index 87%
rename from core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/menubars.adoc
index 73cda0e..5c503ad 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/menubars.adoc
@@ -7,14 +7,14 @@ include::_attributes.adoc[]
 The `org.apache.isis.applib.layout.menubars` package and subpackages define a number of interfaces classes that allow the layout of domain service actions to be organised across menu bars, menus and menu sections.
 
 The classes define a hierarchical structure of menu bars, menus and menu sections.
-Similar to the xref:rg:cms:classes/layout.adoc[object layout] classes, the concrete menu classes support bootstrap3; support for other layout systems is possible.
+Similar to the xref:applib:cms: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:applib:ant: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:rg:svc:presentation-layer-spi/MenuBarsLoaderService.adoc[`MenuBarsLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
+This ability to serialize to/from XML is used by the xref:applib:svc:presentation-layer-spi/MenuBarsLoaderService.adoc[`MenuBarsLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
 It also allows the menu bars to be exposed through the REST API provided by the xref: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.
@@ -58,7 +58,7 @@ The service action class reside in the `org.apache.isis.applib.layout.component`
 +
 which correspond to the xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] annotation.
 
-This is similar to `ActionLayoutData` (of the xref:rg:cms:classes/layout.adoc[object layout] classes), however it also identifies the domain service to which it belongs.
+This is similar to `ActionLayoutData` (of the xref:applib:cms: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/core/_adoc-rg/modules/cms/pages/classes/mixins.adoc b/core/applib/_adoc/modules/cms/pages/classes/mixins.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/mixins.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/mixins.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc b/core/applib/_adoc/modules/cms/pages/classes/mixins/Dto.adoc
similarity index 82%
rename from core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/mixins/Dto.adoc
index 81b8fd9..59504ac 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/mixins/Dto.adoc
@@ -30,7 +30,7 @@ public class Dto_downloadXml {
 <1> provided as an action to any class that (trivially) implements the `Dto` interface
 <2> The action's name is derived from the class name.
 
-This will return the XML text wrapped up in a xref:rg:cms:classes.adoc#Clob[`Clob`].
+This will return the XML text wrapped up in a xref:applib:cms:classes.adoc#Clob[`Clob`].
 
 The `Dto_downloadXsd` mixin is similar:
 
@@ -45,12 +45,12 @@ public class Dto_downloadXsd {
 <1> provided as an action to any class that (trivially) implements the `Dto` interface
 <2> 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:rg:cms:classes.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:rg:cms:classes.adoc#Blob[`Blob`].
-The `IsisSchemas` parameter to the action can be used to optionally ignore the common xref:rg:cms:schema.adoc[Apache Isis schemas] (useful if there is only one other XSD schema referenced by the DTO).
+If the domain object's JAXB annotations reference only a single XSD schema then this will return that XML text as a xref:applib:cms:classes.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:cms:classes.adoc#Blob[`Blob`].
+The `IsisSchemas` parameter to the action can be used to optionally ignore the common xref:schema:ROOT: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:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] to actually generate the XML/XSD.
\ No newline at end of file
+The `Dto_downloadXml` and `Dto_downloadXsd` delegate to the xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`] to actually generate the XML/XSD.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/classes/mixins/Object.adoc b/core/applib/_adoc/modules/cms/pages/classes/mixins/Object.adoc
similarity index 78%
rename from core/_adoc-rg/modules/cms/pages/classes/mixins/Object.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/mixins/Object.adoc
index c4f2053..445e805 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/mixins/Object.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/mixins/Object.adoc
@@ -9,7 +9,7 @@ The framework provides a single mixin that contributes to simply `java.lang.Obje
 It provides the ability to download the layout XML for any domain object (in practical terms: entities and view models).
 
 These mixin actions are all associated with the "Metadata" fieldset.
-A number of other xref:rg:cms:classes.adoc#Persistable[mixins] also contribute properties or actions to the "Metadata" fieldset.
+A number of other xref:applib:cms:classes.adoc#Persistable[mixins] also contribute properties or actions to the "Metadata" fieldset.
 
 
 
@@ -32,7 +32,7 @@ public void clearHints() {
 
 === Related Services
 
-This mixin uses the xref:rg:svc:presentation-layer-spi/HintStore.adoc[`HintStore`] service to store and retrieve UI hints for each rendered object, per user.
+This mixin uses the xref:applib:svc:presentation-layer-spi/HintStore.adoc[`HintStore`] service to store and retrieve UI hints for each rendered object, per user.
 
 
 
@@ -53,12 +53,12 @@ public Object downloadLayoutXml(
 <1> either current, complete, normalized or minimal.
 
 See the documentation on xref:vw:ROOT:layout/file-based.adoc[layout XML] and also
-the xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] for more information on these styles
+the xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] for more information on these styles
 
 
 === Related Services
 
-This mixin calls xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] to obtain the layout XML.
+This mixin calls xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] to obtain the layout XML.
 
 
 
@@ -78,7 +78,7 @@ public void rebuildMetamodel() {
 
 === Related Services
 
-This mixin calls xref:rg:svc:metadata-api/MetamodelService.adoc[`MetaModelService`] and the xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] to invalidate their caches.
+This mixin calls xref:applib:svc:metadata-api/MetamodelService.adoc[`MetaModelService`] and the xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] to invalidate their caches.
 
 
 
@@ -99,12 +99,12 @@ public Object downloadLayoutXml(
 <1> either current, complete, normalized or minimal.
 
 See the documentation on xref:vw:ROOT:layout/file-based.adoc[layout XML] and also
-the xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] for more information on these styles
+the xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] for more information on these styles
 
 
 === Related Services
 
-This mixin calls xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] to obtain the layout XML.
+This mixin calls xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] to obtain the layout XML.
 
 
 
@@ -121,7 +121,7 @@ public URL openRestApi() { /* ... */ }
 
 === Related Services
 
-This mixin calls xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`] to build the URL.
+This mixin calls xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`] to build the URL.
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/mixins/Persistable.adoc b/core/applib/_adoc/modules/cms/pages/classes/mixins/Persistable.adoc
similarity index 86%
rename from core/_adoc-rg/modules/cms/pages/classes/mixins/Persistable.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/mixins/Persistable.adoc
index 92ca74c..4e441fa 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/mixins/Persistable.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/mixins/Persistable.adoc
@@ -9,7 +9,7 @@ All domain entities automatically implement the DataNucleus `Persistable` role i
 So as a developer you do not need to write any code to obtain the mixins that contribute to this interface.
 
 These mixin properties/actions are all associated with the "Metadata" fieldset.
-A number of other xref:rg:cms:classes.adoc#Object[mixins] also contribute properties or actions to the "Metadata" fieldset.
+A number of other xref:applib:cms:classes.adoc#Object[mixins] also contribute properties or actions to the "Metadata" fieldset.
 
 
 
@@ -26,13 +26,13 @@ public Clob downloadJdoMetadata(                    // <1>
     ...
 }
 ----
-<1> returns the XML text wrapped up in a xref:rg:cms:classes.adoc#Clob[`Clob`].
+<1> returns the XML text wrapped up in a xref:applib:cms:classes.adoc#Clob[`Clob`].
 
 
 
 === Related Services
 
-The mixin delegates to the xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] service to obtain a reference to the JDO `PersistenceManagerFactory`.
+The mixin delegates to the xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] service to obtain a reference to the JDO `PersistenceManagerFactory`.
 
 
 == `datanucleusXxx`
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/mixins/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/mixins/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/roles.adoc b/core/applib/_adoc/modules/cms/pages/classes/roles.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/roles.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/roles.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/roles/HoldsUpdatedAt.adoc b/core/applib/_adoc/modules/cms/pages/classes/roles/HoldsUpdatedAt.adoc
similarity index 85%
rename from core/_adoc-rg/modules/cms/pages/classes/roles/HoldsUpdatedAt.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/roles/HoldsUpdatedAt.adoc
index 4dcabb3..b010174 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/roles/HoldsUpdatedAt.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/roles/HoldsUpdatedAt.adoc
@@ -16,9 +16,9 @@ public interface HoldsUpdatedAt {
 }
 ----
 
-The current time is obtained from the xref:rg:svc:core-domain-api/ClockService.adoc[`ClockService`].
+The current time is obtained from the xref:applib:svc:core-domain-api/ClockService.adoc[`ClockService`].
 
-Entities that implement this interface often also implement xref:rg:cms:classes.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] role interface; as a convenience the xref:rg:cms:classes.adoc#Timestampable[`Timestampable`] interface combines the two roles.
+Entities that implement this interface often also implement xref:applib:cms:classes.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] role interface; as a convenience the xref:applib:cms:classes.adoc#Timestampable[`Timestampable`] interface combines the two roles.
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/roles/HoldsUpdatedBy.adoc b/core/applib/_adoc/modules/cms/pages/classes/roles/HoldsUpdatedBy.adoc
similarity index 85%
rename from core/_adoc-rg/modules/cms/pages/classes/roles/HoldsUpdatedBy.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/roles/HoldsUpdatedBy.adoc
index aeb8301..34a5eb2 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/roles/HoldsUpdatedBy.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/roles/HoldsUpdatedBy.adoc
@@ -16,6 +16,6 @@ public interface HoldsUpdatedBy {
 }
 ----
 
-Entities that implement this interface often also implement xref:rg:cms:classes.adoc#HoldsUpdatedAt[`HoldsUpdatedAt`] role interface; as a convenience the xref:rg:cms:classes.adoc#Timestampable[`Timestampable`] interface combines the two roles.
+Entities that implement this interface often also implement xref:applib:cms:classes.adoc#HoldsUpdatedAt[`HoldsUpdatedAt`] role interface; as a convenience the xref:applib:cms:classes.adoc#Timestampable[`Timestampable`] interface combines the two roles.
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/roles/Timestampable.adoc b/core/applib/_adoc/modules/cms/pages/classes/roles/Timestampable.adoc
similarity index 84%
rename from core/_adoc-rg/modules/cms/pages/classes/roles/Timestampable.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/roles/Timestampable.adoc
index 9bab86c..c2e2ee8 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/roles/Timestampable.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/roles/Timestampable.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `Timestampable` role interface is a convenience that combines the xref:rg:cms:classes.adoc#HoldsUpdatedAt[`HoldsUpdatedAt`] and xref:rg:cms:classes.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] interfaces.
+The `Timestampable` role interface is a convenience that combines the xref:applib:cms:classes.adoc#HoldsUpdatedAt[`HoldsUpdatedAt`] and xref:applib:cms:classes.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] interfaces.
 It is defined as:
 
 [source,java]
@@ -23,4 +23,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:rg:cms:classes.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] for further details.
+See xref:applib:cms:classes.adoc#HoldsUpdatedBy[`HoldsUpdatedBy`] for further details.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/utility/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/roles/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/utility/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/roles/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/spec.adoc b/core/applib/_adoc/modules/cms/pages/classes/spec.adoc
similarity index 98%
rename from core/_adoc-rg/modules/cms/pages/classes/spec.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/spec.adoc
index b942b9a..74d666a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/spec.adoc
@@ -50,7 +50,7 @@ public class Customer {
 == `Specification2`
 
 The `Specification2` interface extends the `Specification` API to add support for i18n.
-This is done by defining an additional method that returns a xref:rg:cms:classes.adoc#TranslatableString[translatable string]:
+This is done by defining an additional method that returns a xref:applib:cms:classes.adoc#TranslatableString[translatable string]:
 
 [source,java]
 ----
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super.adoc b/core/applib/_adoc/modules/cms/pages/classes/super.adoc
similarity index 81%
rename from core/_adoc-rg/modules/cms/pages/classes/super.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super.adoc
index 69ca598..52af0ef 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/super.adoc
@@ -19,7 +19,7 @@ Impl'n (g: a:)
 |Notes
 
 
-|xref:rg:cms:classes.adoc#AbstractService[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#AbstractService[`o.a.i.applib.` +
 `AbstractService`]
 |``o.a.i.core`` +
 ``isis-core-applib``
@@ -27,7 +27,7 @@ Impl'n (g: a:)
 |
 
 
-|xref:rg:cms:classes.adoc#AbstractSubscriber[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#AbstractSubscriber[`o.a.i.applib.` +
 `AbstractSubscriber`]
 |``o.a.i.core`` +
 ``isis-core-applib``
@@ -35,7 +35,7 @@ Impl'n (g: a:)
 |
 
 
-|xref:rg:cms:classes.adoc#AbstractViewModel[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#AbstractViewModel[`o.a.i.applib.` +
 `AbstractViewModel`]
 |``o.a.i.core`` +
 ``isis-core-applib``
@@ -43,7 +43,7 @@ Impl'n (g: a:)
 |
 
 
-|xref:rg:cms:classes.adoc#FixtureScript[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#FixtureScript[`o.a.i.applib.` +
 `fixturescript` +
 `FixtureScript`]
 |``o.a.i.core`` +
@@ -52,13 +52,13 @@ Impl'n (g: a:)
 |
 
 
-|xref:rg:cms:classes.adoc#FixtureScripts[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#FixtureScripts[`o.a.i.applib.` +
 `fixturescripts` +
 `FixtureScripts`]
 |``o.a.i.core`` +
 ``isis-core-applib``
 |(abstract class). +
-`FixtureScriptsDefault` is a default implementation that is used when the alternative xref:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] is provided
+`FixtureScriptsDefault` is a default implementation that is used when the alternative xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] is provided
   (and no other implementation of `FixtureScripts` was found).
 |depends on: +
 `ClassDiscoveryService`
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc b/core/applib/_adoc/modules/cms/pages/classes/super/AbstractService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super/AbstractService.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc b/core/applib/_adoc/modules/cms/pages/classes/super/AbstractSubscriber.adoc
similarity index 80%
rename from core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super/AbstractSubscriber.adoc
index 1c4fa60..0fdb85a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/super/AbstractSubscriber.adoc
@@ -5,11 +5,11 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-This is a convenience superclass for creating subscriber domain services on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
+This is a convenience superclass for creating subscriber domain services on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 It uses xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] and xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] callbacks to automatically register/unregister itself with the `EventBusService`.
 
-It's important that subscribers register before any domain services that might emit events on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
-For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:rg:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
+It's important that subscribers register before any domain services that might emit events on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
+For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:applib:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
 The easiest way to do this is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 
 As a convenience, the `AbstractSubscriber` specifies this attribute.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractViewModel.adoc b/core/applib/_adoc/modules/cms/pages/classes/super/AbstractViewModel.adoc
similarity index 88%
rename from core/_adoc-rg/modules/cms/pages/classes/super/AbstractViewModel.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super/AbstractViewModel.adoc
index 6ce091c..c17e319 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractViewModel.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/super/AbstractViewModel.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-This class simply implements the xref:rg:cms:classes.adoc#ViewModel[`ViewModel`] interface, however the methods are still abstract.
+This class simply implements the xref:applib:cms:classes.adoc#ViewModel[`ViewModel`] interface, however the methods are still abstract.
 In and of itself it provides no new behaviour.
 
 [TIP]
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/FixtureScript.adoc b/core/applib/_adoc/modules/cms/pages/classes/super/FixtureScript.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/super/FixtureScript.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super/FixtureScript.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/FixtureScripts.adoc b/core/applib/_adoc/modules/cms/pages/classes/super/FixtureScripts.adoc
similarity index 85%
rename from core/_adoc-rg/modules/cms/pages/classes/super/FixtureScripts.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super/FixtureScripts.adoc
index a59e819..aa545fb 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/FixtureScripts.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/super/FixtureScripts.adoc
@@ -4,8 +4,8 @@
 include::_attributes.adoc[]
 :page-partial:
 
-This abstract class constitutes the API of a domain service to execute xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`]s.
+This abstract class constitutes the API of a domain service to execute xref:applib:cms:classes.adoc#FixtureScript[`FixtureScript`]s.
 
-For more information, see xref:rg:svc:testing/FixtureScripts.adoc[`FixtureScripts`] in the domain services guide.
+For more information, see xref:applib:svc:testing/FixtureScripts.adoc[`FixtureScripts`] in the domain services guide.
 
 See the see the xref:ext-fixtures:ROOT:about.adoc[testing guide] for further discussion on the use of fixture scripts, in particular xref:ext-fixtures:ROOT:about.adoc#api-and-usage[fixture scripts' API and usage].
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/super/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/uievent/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/super/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc b/core/applib/_adoc/modules/cms/pages/classes/uievent.adoc
similarity index 76%
rename from core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/uievent.adoc
index 262ea92..185cec7 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/uievent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 This section catalogues the various UI event classes defined by Apache Isis.
 
-These events are broadcast on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  The domain
+These events are broadcast on the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  The domain
 events are broadcast as a result of being specified in the xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`],  xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] or xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attributes.
 
 They are listed in the table below.
@@ -22,32 +22,32 @@ Impl'n (g: a:)
 |Notes
 
 
-|xref:rg:cms:classes.adoc#TitleUiEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#TitleUiEvent[`o.a.i.applib.` +
 `TitleUiEvent`]
 |``o.a.i.core`` +
 ``events.ui`` +
 ``isis-core-applib``
 |(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:rg:cms:methods.adoc#title[`title()`] supporting method, or has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
+|Broadcast whenever there is a requirement to obtain a title for a domain object.  Note that if the domain object defines its own xref:applib:cms:methods.adoc#title[`title()`] supporting method, or has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
 
-|xref:rg:cms:classes.adoc#IconUiEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#IconUiEvent[`o.a.i.applib.` +
 `IconUiEvent`]
 |``o.a.i.core`` +
 ``events.ui`` +
 ``isis-core-applib``
 |(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:rg:cms:methods.adoc#iconName[`iconName()`] supporting method, or if it has the xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
+|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:applib:cms:methods.adoc#iconName[`iconName()`] supporting method, or if it has the xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
 
-|xref:rg:cms:classes.adoc#CssClassUiEvent[`o.a.i.applib.` +
+|xref:applib:cms:classes.adoc#CssClassUiEvent[`o.a.i.applib.` +
 `CssClassUiEvent`]
 |``o.a.i.core`` +
 ``events.ui`` +
 ``isis-core-applib``
 |(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:rg:cms:methods.adoc#cssClass[`cssClass()`] supporting method then this
+|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:applib:cms:methods.adoc#cssClass[`cssClass()`] supporting method then this
 will take precedence.
 
 |===
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/CssClassUiEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/uievent/CssClassUiEvent.adoc
similarity index 92%
rename from core/_adoc-rg/modules/cms/pages/classes/uievent/CssClassUiEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/uievent/CssClassUiEvent.adoc
index 978a4f9..318c260 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/CssClassUiEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/uievent/CssClassUiEvent.adoc
@@ -17,6 +17,6 @@ The class itself is instantiated automatically by the framework whenever interac
 
 [NOTE]
 ====
-if the domain object defines its own xref:rg:cms:methods.adoc#cssClass[`cssClass()`] supporting
+if the domain object defines its own xref:applib:cms:methods.adoc#cssClass[`cssClass()`] supporting
 method then this will take precedence.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/uievent/IconUiEvent.adoc
similarity index 92%
rename from core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/uievent/IconUiEvent.adoc
index d8d822d..ff433e8 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/uievent/IconUiEvent.adoc
@@ -16,7 +16,7 @@ The class itself is instantiated automatically by the framework whenever interac
 
 [NOTE]
 ====
-If the domain object defines its own xref:rg:cms:methods.adoc#iconName[`iconName()`] supporting method,
+If the domain object defines its own xref:applib:cms:methods.adoc#iconName[`iconName()`] supporting method,
 or if it has the
 xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then
 these will take precedence.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc b/core/applib/_adoc/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
similarity index 92%
rename from core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
index 7758459..e0fa12e 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
@@ -16,7 +16,7 @@ The class itself is instantiated automatically by the framework whenever interac
 
 [NOTE]
 ====
-If the domain object defines its own xref:rg:cms:methods.adoc#title[`title()`] supporting method, or
+If the domain object defines its own xref:applib:cms:methods.adoc#title[`title()`] supporting method, or
 has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take
 precedence.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/uievent/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/super/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/uievent/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/utility.adoc b/core/applib/_adoc/modules/cms/pages/classes/utility.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/utility.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/utility.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/utility/Enums.adoc b/core/applib/_adoc/modules/cms/pages/classes/utility/Enums.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/utility/Enums.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/utility/Enums.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/utility/ObjectContracts.adoc b/core/applib/_adoc/modules/cms/pages/classes/utility/ObjectContracts.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/utility/ObjectContracts.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/utility/ObjectContracts.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/utility/Reasons.adoc b/core/applib/_adoc/modules/cms/pages/classes/utility/Reasons.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/utility/Reasons.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/utility/Reasons.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/utility/TitleBuffer.adoc b/core/applib/_adoc/modules/cms/pages/classes/utility/TitleBuffer.adoc
similarity index 91%
rename from core/_adoc-rg/modules/cms/pages/classes/utility/TitleBuffer.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/utility/TitleBuffer.adoc
index 80d77c4..f736560 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/utility/TitleBuffer.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/utility/TitleBuffer.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `TitleBuffer` utility class is intended to make it easy to construct title strings (returned from the xref:rg:cms:methods.adoc#title[`title()`] method).
+The `TitleBuffer` utility class is intended to make it easy to construct title strings (returned from the xref:applib:cms:methods.adoc#title[`title()`] method).
 
 For example, it has overloaded versions of methods called `append()` and `concat()`.
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/roles/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/utility/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/roles/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/utility/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/Blob.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/Blob.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/Blob.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/Blob.adoc
index f19d003..4bc5a1a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/value-types/Blob.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/value-types/Blob.adoc
@@ -45,5 +45,5 @@ private Blob someImage;
 
 [TIP]
 ====
-For character large objects, use xref:rg:cms:classes.adoc#Clob[`Clob`] value type.
+For character large objects, use xref:applib:cms:classes.adoc#Clob[`Clob`] value type.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/Clob.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/Clob.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/Clob.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/Clob.adoc
index 963114f..475ed66 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/value-types/Clob.adoc
+++ b/core/applib/_adoc/modules/cms/pages/classes/value-types/Clob.adoc
@@ -49,7 +49,7 @@ private Clob someClob;
 
 [TIP]
 ====
-For binary large objects, use xref:rg:cms:classes.adoc#Blob[`Blob`] value type.
+For binary large objects, use xref:applib:cms:classes.adoc#Blob[`Blob`] value type.
 ====
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/Color.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/Color.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/Color.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/Color.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/Markup.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/Markup.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/Markup.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/Markup.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/Money.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/Money.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/Money.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/Money.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/value-types/Password.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/Password.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/value-types/Password.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/Password.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/mixins/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/classes/value-types/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/mixins/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/classes/value-types/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods.adoc b/core/applib/_adoc/modules/cms/pages/methods.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods.adoc
rename to core/applib/_adoc/modules/cms/pages/methods.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/methods/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle.adoc
similarity index 75%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle.adoc
index 30eb6d2..8768dbb 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle.adoc
@@ -11,7 +11,7 @@ For example, the entity is notified immediately prior to being persisted, or whe
 [WARNING]
 ====
 Note that these callbacks are fired by Apache Isis rather than JDO.
-In the future we may deprecate them because there are better mechanisms available using a subscriber for the xref:rg:cms:classes/lifecycleevent.adoc[lifecycle event]s.
+In the future we may deprecate them because there are better mechanisms available using a subscriber for the xref:applib:cms:classes/lifecycleevent.adoc[lifecycle event]s.
 ====
 
 The lifecycle callback methods supported by Apache Isis are:
@@ -23,28 +23,28 @@ The lifecycle callback methods supported by Apache Isis are:
 |Method
 |Description
 
-|xref:rg:cms:methods.adoc#created[`created()`]
-|called when an object has just been created using xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(..)`] or xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`]
+|xref:applib:cms:methods.adoc#created[`created()`]
+|called when an object has just been created using xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(..)`] or xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`]
 
-|xref:rg:cms:methods.adoc#loaded[`loaded()`]
+|xref:applib:cms:methods.adoc#loaded[`loaded()`]
 |called when a (persistent) object has just been loaded from the object store.
 
-|xref:rg:cms:methods.adoc#persisted[`persisted()`]
+|xref:applib:cms:methods.adoc#persisted[`persisted()`]
 |called when object has just been persisted from the object store.
 
-|xref:rg:cms:methods.adoc#persisting[`persisting()`]
+|xref:applib:cms:methods.adoc#persisting[`persisting()`]
 |called when a (not-yet-persistent) object is just about to be persisted from the object store
 
-|xref:rg:cms:methods.adoc#removed[`removed()`]
+|xref:applib:cms:methods.adoc#removed[`removed()`]
 |called when a (persistent) object has just been deleted from the object store
 
-|xref:rg:cms:methods.adoc#removing[`removing()`]
+|xref:applib:cms:methods.adoc#removing[`removing()`]
 |called when a (persistent) object is just about to be deleted from the object store
 
-|xref:rg:cms:methods.adoc#updated[`updated()`]
+|xref:applib:cms:methods.adoc#updated[`updated()`]
 |called when a (persistent) object has just been updated in the object store
 
-|xref:rg:cms:methods.adoc#updating[`updating()`]
+|xref:applib:cms:methods.adoc#updating[`updating()`]
 |called when a (persistent) object is just about to be updated in the object store
 
 |===
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/created.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/created.adoc
similarity index 66%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/created.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/created.adoc
index 0a1203b..9de6444 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/created.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/created.adoc
@@ -4,12 +4,12 @@
 include::_attributes.adoc[]
 
 
-The `created()` lifecycle callback method is called when an object has just been created using xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`] or xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`]
+The `created()` lifecycle callback method is called when an object has just been created using xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`] or xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`]
 
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectCreatedEvent[`ObjectCreatedEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectCreatedEvent[`ObjectCreatedEvent`].
 ====
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/jdo-api.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/jdo-api.adoc
similarity index 89%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/jdo-api.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/jdo-api.adoc
index 109ad75..8cd1f66 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/jdo-api.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/jdo-api.adoc
@@ -12,7 +12,7 @@ As an alternative to relying on Apache Isis to call lifecycle callback methods,
 We may decide to deprecate the Apache Isis callbacks in the future because they merely duplicate this functionality already available in JDO.
 ====
 
-You can gain access to the relevant JDO API using the xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] domain service.
+You can gain access to the relevant JDO API using the xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] domain service.
 
 For example:
 
@@ -45,7 +45,7 @@ public class ObjectChangedListenerService
 ----
 <1> must be `@RequestScoped` because we register on the `PersistenceManager`, which is different for each request.
 <2> implement whichever callback lifecycle listeners are of interest
-<3> use the injected xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] service to obtain the `PersistenceManager`.
+<3> use the injected xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] service to obtain the `PersistenceManager`.
 
 Note that it isn't possible to register on the `PersistenceManagerFactory` because listeners cannot be attached once a persistence session has been created (which it will have been when the service's `@PostConstruct` method is called).
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/loaded.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/loaded.adoc
similarity index 80%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/loaded.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/loaded.adoc
index ccd992c..0400e6e 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/loaded.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/loaded.adoc
@@ -10,5 +10,5 @@ The `loaded()` lifecycle callback method is called when a (persistent) object ha
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectLoadedEvent[`ObjectLoadedEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectLoadedEvent[`ObjectLoadedEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/persisted.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/persisted.adoc
similarity index 75%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/persisted.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/persisted.adoc
index f5a85a7..083a93f 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/persisted.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/persisted.adoc
@@ -7,9 +7,9 @@ include::_attributes.adoc[]
 
 The `persisted()` lifecycle callback method is called when object has just been persisted from the object store.
 
-See also xref:rg:cms:methods.adoc#persisting[`persisting()`].
+See also xref:applib:cms:methods.adoc#persisting[`persisting()`].
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectPersistedEvent[`ObjectPersistedEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectPersistedEvent[`ObjectPersistedEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/persisting.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/persisting.adoc
similarity index 76%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/persisting.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/persisting.adoc
index bf4c142..b3a5cb6 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/persisting.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/persisting.adoc
@@ -7,9 +7,9 @@ include::_attributes.adoc[]
 
 The `persisting()` lifecycle callback method is called when a (not-yet-persistent) object is just about to be persisted from the object store
 
-See also xref:rg:cms:methods.adoc#persisted[`persisted()`].
+See also xref:applib:cms:methods.adoc#persisted[`persisted()`].
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectPersistingEvent[`ObjectPersistingEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectPersistingEvent[`ObjectPersistingEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/removed.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/removed.adoc
similarity index 76%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/removed.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/removed.adoc
index 1ae44cd..791e024 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/removed.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/removed.adoc
@@ -7,9 +7,9 @@ include::_attributes.adoc[]
 
 The `removed()` lifecycle callback method is called when a (persistent) object has just been deleted from the object store
 
-See also xref:rg:cms:methods.adoc#removing[`removing()`].
+See also xref:applib:cms:methods.adoc#removing[`removing()`].
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectRemovedEvent[`ObjectRemovedEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectRemovedEvent[`ObjectRemovedEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/removing.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/removing.adoc
similarity index 76%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/removing.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/removing.adoc
index 731861d..2dcd350 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/removing.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/removing.adoc
@@ -7,9 +7,9 @@ include::_attributes.adoc[]
 
 The `removing()` lifecycle callback method is called when a (persistent) object is just about to be deleted from the object store
 
-See also xref:rg:cms:methods.adoc#removed[`removed()`].
+See also xref:applib:cms:methods.adoc#removed[`removed()`].
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectRemovingEvent[`ObjectRemovingEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectRemovingEvent[`ObjectRemovingEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/updated.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/updated.adoc
similarity index 76%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/updated.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/updated.adoc
index 546869b..7e509f5 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/updated.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/updated.adoc
@@ -9,9 +9,9 @@ include::_attributes.adoc[]
 
 The `updated()` lifecycle callback method is called when a (persistent) object has just been updated in the object store
 
-See also xref:rg:cms:methods.adoc#updating[`updating()`].
+See also xref:applib:cms:methods.adoc#updating[`updating()`].
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectUpdatedEvent[`ObjectUpdatedEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectUpdatedEvent[`ObjectUpdatedEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/updating.adoc b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/updating.adoc
similarity index 76%
rename from core/_adoc-rg/modules/cms/pages/methods/lifecycle/updating.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/lifecycle/updating.adoc
index cada87a..657cfa3 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/lifecycle/updating.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/lifecycle/updating.adoc
@@ -6,9 +6,9 @@ include::_attributes.adoc[]
 
 The `updating()` lifecycle callback method is called when a (persistent) object is just about to be updated in the object store
 
-See also xref:rg:cms:methods.adoc#updated[`updated()`].
+See also xref:applib:cms:methods.adoc#updated[`updated()`].
 
 [TIP]
 ====
-Alternatively, consider using a xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] xref:rg:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:rg:cms:classes.adoc#ObjectUpdatingEvent[`ObjectUpdatingEvent`].
+Alternatively, consider using a xref:applib:svc:core-domain-api/EventBusService.adoc[event bus] xref:applib:cms:classes.adoc#AbstractSubscriber[subscriber] on the xref:applib:cms:classes.adoc#ObjectUpdatingEvent[`ObjectUpdatingEvent`].
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes.adoc
similarity index 72%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes.adoc
index efc6b4a..5130d08 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes.adoc
@@ -32,7 +32,7 @@ The table below lists the method prefixes that are recognized as part of Apache
 Param
 |Description
 
-|xref:rg:cms:methods.adoc#addTo[`addTo...()`]
+|xref:applib:cms:methods.adoc#addTo[`addTo...()`]
 |
 |
 |Y
@@ -45,10 +45,10 @@ Param
 Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 ====
 
-See also xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`]`
+See also xref:applib:cms:methods.adoc#removeFrom[`removeFrom...()`]`
 
 
-|xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`]
+|xref:applib:cms:methods.adoc#autoComplete[`autoComplete...()`]
 |
 |Y
 |
@@ -59,9 +59,9 @@ See also xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`]`
 Alternatively, can specify for a class using xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject` +
 `#autoCompleteRepository`] +
 
-See also xref:rg:cms:methods.adoc#choices[`choices...()`]
+See also xref:applib:cms:methods.adoc#choices[`choices...()`]
 
-|xref:rg:cms:methods.adoc#choices[`choices...()`]
+|xref:applib:cms:methods.adoc#choices[`choices...()`]
 |
 |Y
 |
@@ -69,9 +69,9 @@ See also xref:rg:cms:methods.adoc#choices[`choices...()`]
 |Y
 |Provide list of choices for a property or action parameter. +
 
-See also xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`].
+See also xref:applib:cms:methods.adoc#autoComplete[`autoComplete...()`].
 
-|xref:rg:cms:methods.adoc#clear[`clear...()`]
+|xref:applib:cms:methods.adoc#clear[`clear...()`]
 |
 |Y
 |
@@ -81,10 +81,10 @@ See also xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`].
 
 Allows business logic to be placed apart from the setter. +
 
-See also xref:rg:cms:methods.adoc#modify[`modify...()`]
+See also xref:applib:cms:methods.adoc#modify[`modify...()`]
 
 
-|xref:rg:cms:methods.adoc#default[`default...()`]
+|xref:applib:cms:methods.adoc#default[`default...()`]
 |
 |Y
 |
@@ -92,7 +92,7 @@ See also xref:rg:cms:methods.adoc#modify[`modify...()`]
 |Y
 |Default value for a property or an action parameter.
 
-|xref:rg:cms:methods.adoc#disable[`disable...()`]
+|xref:applib:cms:methods.adoc#disable[`disable...()`]
 |Y
 |Y
 |Y
@@ -100,7 +100,7 @@ See also xref:rg:cms:methods.adoc#modify[`modify...()`]
 |
 |Disables (makes read-only) a property, a collection or an action.
 
-|xref:rg:cms:methods.adoc#get[`get...()`]
+|xref:applib:cms:methods.adoc#get[`get...()`]
 |
 |Y
 |Y
@@ -108,9 +108,9 @@ See also xref:rg:cms:methods.adoc#modify[`modify...()`]
 |
 |Access the value of a property or collection. +
 
-See also xref:rg:cms:methods.adoc#set[`set...()`].
+See also xref:applib:cms:methods.adoc#set[`set...()`].
 
-|xref:rg:cms:methods.adoc#hide[`hide...()`]
+|xref:applib:cms:methods.adoc#hide[`hide...()`]
 |
 |Y
 |Y
@@ -118,7 +118,7 @@ See also xref:rg:cms:methods.adoc#set[`set...()`].
 |
 |Hides a property, a collection or an action.
 
-|xref:rg:cms:methods.adoc#modify[`modify...()`]
+|xref:applib:cms:methods.adoc#modify[`modify...()`]
 |
 |Y
 |
@@ -128,9 +128,9 @@ See also xref:rg:cms:methods.adoc#set[`set...()`].
 
 Allows business logic to be placed apart from the setter. +
 
-See also xref:rg:cms:methods.adoc#clear[`clear...()`]`.
+See also xref:applib:cms:methods.adoc#clear[`clear...()`]`.
 
-|xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`]
+|xref:applib:cms:methods.adoc#removeFrom[`removeFrom...()`]
 |
 |
 |Y
@@ -143,10 +143,10 @@ See also xref:rg:cms:methods.adoc#clear[`clear...()`]`.
 Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 ====
 
-See also xref:rg:cms:methods.adoc#addTo[`addTo...()`]`
+See also xref:applib:cms:methods.adoc#addTo[`addTo...()`]`
 
 
-|xref:rg:cms:methods.adoc#set[`set...()`]
+|xref:applib:cms:methods.adoc#set[`set...()`]
 |
 |Y
 |Y
@@ -154,7 +154,7 @@ See also xref:rg:cms:methods.adoc#addTo[`addTo...()`]`
 |
 |Sets the value of a property or a collection.
 
-|xref:rg:cms:methods.adoc#validate[`validate...()`]
+|xref:applib:cms:methods.adoc#validate[`validate...()`]
 |Y
 |
 |
@@ -162,9 +162,9 @@ See also xref:rg:cms:methods.adoc#addTo[`addTo...()`]`
 |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:rg:cms:methods.adoc#validateAddTo[`validateAddTo...()`] and xref:rg:cms:methods.adoc#validateRemoveFrom[`validateRemoveFrom...()`] to validate modifications to collections.
+See also xref:applib:cms:methods.adoc#validateAddTo[`validateAddTo...()`] and xref:applib:cms:methods.adoc#validateRemoveFrom[`validateRemoveFrom...()`] to validate modifications to collections.
 
-|xref:rg:cms:methods.adoc#validateAddTo[`validate +
+|xref:applib:cms:methods.adoc#validateAddTo[`validate +
 AddTo...()`]
 |
 |Y
@@ -178,9 +178,9 @@ AddTo...()`]
 Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 ====
 
-See also xref:rg:cms:methods.adoc#validateRemoveFrom[`validateRemoveFrom...()`], and xref:rg:cms:methods.adoc#validate[`validate...()`] for properties and actions.
+See also xref:applib:cms:methods.adoc#validateRemoveFrom[`validateRemoveFrom...()`], and xref:applib:cms:methods.adoc#validate[`validate...()`] for properties and actions.
 
-|xref:rg:cms:methods.adoc#validateRemoveFrom[`validate +
+|xref:applib:cms:methods.adoc#validateRemoveFrom[`validate +
 RemoveFrom...()`]
 |
 |Y
@@ -194,7 +194,7 @@ RemoveFrom...()`]
 Directly mutable collections are not currently supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 ====
 
-See also xref:rg:cms:methods.adoc#validateAddTo[`validateAddTo...()`], and xref:rg:cms:methods.adoc#validate[`validate...()`] for properties and actions.
+See also xref:applib:cms:methods.adoc#validateAddTo[`validateAddTo...()`], and xref:applib:cms:methods.adoc#validate[`validate...()`] for properties and actions.
 
 |===
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/i18n/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/i18n/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/addTo.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/addTo.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/addTo.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/addTo.adoc
index 1ba760f..ebf66a8 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/addTo.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/addTo.adoc
@@ -33,4 +33,4 @@ public class LibraryMember {
 <2> perform some additional business logic
 
 
-See also xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`]`
+See also xref:applib:cms:methods.adoc#removeFrom[`removeFrom...()`]`
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/autoComplete.adoc
similarity index 97%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/autoComplete.adoc
index 2b4580a..c23e0de 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/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:rg:cms:methods.adoc#choices[`choices...()`] supporting method instead.
+If the number of candidate objects is comparatively small, then use xref:applib:cms:methods.adoc#choices[`choices...()`] supporting method instead.
 ====
 
 The signature of the supporting method depends on whether it is for a parameter or a property.
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/choices.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/choices.adoc
similarity index 95%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/choices.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/choices.adoc
index 73235b2..7235c33 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/choices.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/choices.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The `choices...()` supporting method is called for both action parameters and for properties, to find objects from a drop-down list box.  Unlike xref:rg:cms:methods.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 `choices...()` supporting method is called for both action parameters and for properties, to find objects from a drop-down list box.  Unlike xref:applib:cms:methods.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/core/_adoc-rg/modules/cms/pages/methods/prefixes/clear.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/clear.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/clear.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/clear.adoc
index 07d41b7..85b00f1 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/clear.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/clear.adoc
@@ -33,4 +33,4 @@ public class LibraryMember {
 <2> perform some additional business logic
 
 
-See also xref:rg:cms:methods.adoc#modify[`modify...()`]`
+See also xref:applib:cms:methods.adoc#modify[`modify...()`]`
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/default.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/default.adoc
similarity index 92%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/default.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/default.adoc
index aa0cc1d..2eab685 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/default.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/default.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 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:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`] or xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`].
+The method is _also_ called for properties in the case when an object is newly instantiated using xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`] or xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`].
 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`).
 
@@ -180,7 +180,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:rg:cms:methods.adoc#created[`created()`] callback, called by the framework when xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`] or xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`] is called.
+The first is to use the xref:applib:cms:methods.adoc#created[`created()`] callback, called by the framework when xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`] or xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`] 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/core/_adoc-rg/modules/cms/pages/methods/prefixes/disable.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/disable.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/disable.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/disable.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/get.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/get.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/get.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/get.adoc
index f2ec208..ed05fee 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/get.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/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:rg:cms:methods.adoc#set[`set...()`].
+See also xref:applib:cms:methods.adoc#set[`set...()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/hide.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/hide.adoc
similarity index 97%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/hide.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/hide.adoc
index 36c6b91..3ea2322 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/hide.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/hide.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 The `hide...()` supporting method is called for properties, collections, actions and action parameters.
 It allows the property/collection to be completely hidden from view.
 
-It's comparatively rare for properties or collections to be imperatively hidden from view, but actions are sometimes hidden or shown visible (as opposed to being just xref:rg:cms:methods.adoc#disable[disabled], ie greyed out).
+It's comparatively rare for properties or collections to be imperatively hidden from view, but actions are sometimes hidden or shown visible (as opposed to being just xref:applib:cms:methods.adoc#disable[disabled], ie greyed out).
 
 
 The signature of the supporting method is simply:
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/modify.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/modify.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/modify.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/modify.adoc
index 33eda13..3f32379 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/modify.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/modify.adoc
@@ -37,6 +37,6 @@ public class LibraryMember {
 <3> perform some additional business logic
 
 
-See also xref:rg:cms:methods.adoc#clear[`clear...()`]`
+See also xref:applib:cms:methods.adoc#clear[`clear...()`]`
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/removeFrom.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/removeFrom.adoc
similarity index 96%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/removeFrom.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/removeFrom.adoc
index 45492c1..6d93e7d 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/removeFrom.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/removeFrom.adoc
@@ -33,4 +33,4 @@ public class LibraryMember {
 <2> perform some additional business logic
 
 
-See also xref:rg:cms:methods.adoc#addTo[`addTo...()`]`
+See also xref:applib:cms:methods.adoc#addTo[`addTo...()`]`
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/set.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/set.adoc
similarity index 94%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/set.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/set.adoc
index e4459ff..c7b1dea 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/set.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/set.adoc
@@ -9,4 +9,4 @@ include::_attributes.adoc[]
 The `set...()` prefix is simply the normal JavaBean setter prefix that denotes writeable properties or collections.
 
 
-See also xref:rg:cms:methods.adoc#get[`get...()`].
+See also xref:applib:cms:methods.adoc#get[`get...()`].
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/validate.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/validate.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/validate.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/validate.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/validateAddTo.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/validateAddTo.adoc
similarity index 93%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/validateAddTo.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/validateAddTo.adoc
index ae17c54..a920659 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/validateAddTo.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/validateAddTo.adoc
@@ -41,5 +41,5 @@ public class LibraryMember {
 ----
 
 
-See also xref:rg:cms:methods.adoc#addTo[`addTo...()`] and  xref:rg:cms:methods.adoc#validateRemoveFrom[`validateRemoveFrom...()`]`
+See also xref:applib:cms:methods.adoc#addTo[`addTo...()`] and  xref:applib:cms:methods.adoc#validateRemoveFrom[`validateRemoveFrom...()`]`
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/validateRemoveFrom.adoc b/core/applib/_adoc/modules/cms/pages/methods/prefixes/validateRemoveFrom.adoc
similarity index 93%
rename from core/_adoc-rg/modules/cms/pages/methods/prefixes/validateRemoveFrom.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/prefixes/validateRemoveFrom.adoc
index 18b7e75..bbd067b 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/validateRemoveFrom.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/prefixes/validateRemoveFrom.adoc
@@ -41,5 +41,5 @@ public class LibraryMember {
 ----
 
 
-See also xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`] and  xref:rg:cms:methods.adoc#validateAddTo[`validateAddTo...()`]`
+See also xref:applib:cms:methods.adoc#removeFrom[`removeFrom...()`] and  xref:applib:cms:methods.adoc#validateAddTo[`validateAddTo...()`]`
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved.adoc
similarity index 77%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved.adoc
index 35b11f8..a179030 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved.adoc
@@ -13,29 +13,29 @@ The table below lists the reserved methods that are recognized as part of Apache
 |Method
 |Description
 
-|xref:rg:cms:methods.adoc#cssClass[`cssClass()`]
+|xref:applib:cms:methods.adoc#cssClass[`cssClass()`]
 |Provides a CSS class for this object instance.
-In conjunction with xref:rg:cfg:application-specific/application-css.adoc[`application.css`], can therefore provide custom styling of an object instance wherever it is rendered.
+In conjunction with xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`], can therefore provide custom styling of an object instance wherever it is rendered.
 
-|xref:rg:cms:methods.adoc#disable[`disable(...)`]
+|xref:applib:cms:methods.adoc#disable[`disable(...)`]
 |Disable all or some of an object's properties
 
-|xref:rg:cms:methods.adoc#getId[`getId()`]
+|xref:applib:cms:methods.adoc#getId[`getId()`]
 |Provides an optional unique identifier of a service.
 
 If not provided, the service's fully-qualified class name is used.
 
-|xref:rg:cms:methods.adoc#reserved-hide[`hide(...)`]
+|xref:applib:cms:methods.adoc#reserved-hide[`hide(...)`]
 |Hide all or some of an object's properties
 
-|xref:rg:cms:methods.adoc#iconName[`iconName()`]
+|xref:applib:cms:methods.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:rg:cms:methods.adoc#title[`title()`]
+|xref:applib:cms:methods.adoc#title[`title()`]
 |Provides a title for the object. +
 
-|xref:rg:cms:methods.adoc#reserved-validate[`validate()`]
+|xref:applib:cms:methods.adoc#reserved-validate[`validate()`]
 |Validate the object's state prior to persisting.
 
 |===
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/_attributes.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/domainevent/_attributes.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/cssClass.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/cssClass.adoc
similarity index 79%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/cssClass.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/cssClass.adoc
index 639adc7..c0baec0 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/cssClass.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/cssClass.adoc
@@ -10,7 +10,7 @@ The `cssClass()` returns a CSS class for a particular object instance.
 The xref:vw:ROOT:about.adoc[Wicket viewer] wraps the object's representation in a containing `<div>` with the class added.
 This is done both for rendering the object either in a table or when rendering the object on its own page.
 
-In conjunction with xref:rg:cfg:application-specific/application-css.adoc[`application.css`], can therefore provide custom styling of an object instance wherever it is rendered. +
+In conjunction with xref:cfg:ROOT:application-specific/application-css.adoc[`application.css`], can therefore provide custom styling of an object instance wherever it is rendered. +
 
 
 For example, the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp] uses this technique to add a strikethrough for completed todo items.
@@ -31,7 +31,7 @@ public class ToDoItem ... {
 }
 ----
 
-In the xref:rg:cfg:application-specific/application-css.adoc[application.css], the following styles were then added:
+In the xref:cfg:ROOT:application-specific/application-css.adoc[application.css], the following styles were then added:
 
 [source,css]
 ----
@@ -48,6 +48,6 @@ tr.done {
 
 See also:
 
-* xref:rg:cms:methods.adoc#title[`title()`]
-* xref:rg:cms:methods.adoc#iconName[`iconName()`]
-* xref:rg:cms:methods.adoc#layout[`layout()`]
+* xref:applib:cms:methods.adoc#title[`title()`]
+* xref:applib:cms:methods.adoc#iconName[`iconName()`]
+* xref:applib:cms:methods.adoc#layout[`layout()`]
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/disable.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/disable.adoc
similarity index 90%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/disable.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/disable.adoc
index 0e8b93d..cf9f9cb 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/disable.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/disable.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 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:rg:cms:methods.adoc#reserved-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:applib:cms:methods.adoc#reserved-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:rg:cms:methods.adoc#hide[`hide()`] object members en-masse.
+See also the similar methods to xref:applib:cms:methods.adoc#hide[`hide()`] object members en-masse.
 
 
 == Alternatives
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc
similarity index 89%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc
index ed8b16e..27bf6aa 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/getId.adoc
@@ -10,8 +10,8 @@ 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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
-* in the serialization of `OidDto` in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas
+ (see xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`])
+* in the serialization of `OidDto` in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#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)
 
@@ -37,7 +37,7 @@ public class OrderMenu {
 The rules of precedence are:
 
 1. xref:applib:ant:DomainService.adoc#objectType[`@DomainService#objectType()`]
-2. xref:rg:cms:methods.adoc#getId[`getId()`]
+2. xref:applib:cms:methods.adoc#getId[`getId()`]
 3. The fully qualified class name.
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/hide.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/hide.adoc
similarity index 80%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/hide.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/hide.adoc
index fa2ef6d..5e191b5 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/hide.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/hide.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 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:rg:cms:methods.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:applib:cms:methods.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,12 +28,12 @@ public boolean hide(Identifier.Type identifierType) {
 }
 ----
 
-See also the similar method to xref:rg:cms:methods.adoc#disable[`disable()`] object members en-masse.
+See also the similar method to xref:applib:cms:methods.adoc#disable[`disable()`] object members en-masse.
 
 
 == Alternatives
 
 An alternative design -- and one that could be easily argued is actually more flexible -- is to leverage domain events with vetoing subscribers.
 
-There is further discussion on this approach in xref:rg:cms:methods.adoc#disable[here].
+There is further discussion on this approach in xref:applib:cms:methods.adoc#disable[here].
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/iconName.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/iconName.adoc
similarity index 91%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/iconName.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/iconName.adoc
index 29e2f44..a02819a 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/iconName.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/iconName.adoc
@@ -41,7 +41,7 @@ public class ToDoItem ... {
 
 See also:
 
-* xref:rg:cms:methods.adoc#title[`title()`]
-* xref:rg:cms:methods.adoc#iconName[`iconName()`]
-* xref:rg:cms:methods.adoc#cssClass[`cssClass()`]
-* xref:rg:cms:methods.adoc#layout[`layout()`]
+* xref:applib:cms:methods.adoc#title[`title()`]
+* xref:applib:cms:methods.adoc#iconName[`iconName()`]
+* xref:applib:cms:methods.adoc#cssClass[`cssClass()`]
+* xref:applib:cms:methods.adoc#layout[`layout()`]
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/layout.adoc
similarity index 92%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/layout.adoc
index e47b87b..cb4d69a 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/layout.adoc
@@ -42,6 +42,6 @@ If `switchToEditMode()` action is invoked, then the UI will attempt to render th
 
 See also:
 
-* xref:rg:cms:methods.adoc#title[`title()`]
-* xref:rg:cms:methods.adoc#iconName[`iconName()`]
-* xref:rg:cms:methods.adoc#cssClass[`cssClass()`]
+* xref:applib:cms:methods.adoc#title[`title()`]
+* xref:applib:cms:methods.adoc#iconName[`iconName()`]
+* xref:applib:cms:methods.adoc#cssClass[`cssClass()`]
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/title.adoc
similarity index 86%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/title.adoc
index cf2c383..c5f224e 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
+++ b/core/applib/_adoc/modules/cms/pages/methods/reserved/title.adoc
@@ -43,9 +43,9 @@ public String title() {
     return buf.toString();
 }
 ----
-<1> simple xref:rg:cms:classes.adoc#TitleBuffer[utility class] to help construct the title string
+<1> simple xref:applib:cms:classes.adoc#TitleBuffer[utility class] to help construct the title string
 <2> imperative conditional logic
-<3> using the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] to determine if the `dueBy` field is visible for this user ...
+<3> using the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] to determine if the `dueBy` field is visible for this user ...
 <4> ... but ignore if not
 
 As the example above shows, the implementation can be as complex as you like.
@@ -59,7 +59,7 @@ In many cases, though, you may be able to use the xref:applib:ant:Title.adoc[`@T
 
 See also:
 
-* xref:rg:cms:methods.adoc#iconName[`iconName()`]
-* xref:rg:cms:methods.adoc#cssClass[`cssClass()`]
-* xref:rg:cms:methods.adoc#layout[`layout()`]
+* xref:applib:cms:methods.adoc#iconName[`iconName()`]
+* xref:applib:cms:methods.adoc#cssClass[`cssClass()`]
+* xref:applib:cms:methods.adoc#layout[`layout()`]
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/validate.adoc b/core/applib/_adoc/modules/cms/pages/methods/reserved/validate.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/reserved/validate.adoc
rename to core/applib/_adoc/modules/cms/pages/methods/reserved/validate.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/rgcms.adoc b/core/applib/_adoc/modules/cms/pages/rgcms.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/rgcms.adoc
rename to core/applib/_adoc/modules/cms/pages/rgcms.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/_attributes.adoc b/core/applib/_adoc/modules/cms/partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-spi/_attributes.adoc
rename to core/applib/_adoc/modules/cms/partials/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/nav.adoc b/core/applib/_adoc/modules/cms/partials/nav.adoc
similarity index 79%
rename from core/_adoc-rg/modules/cms/nav.adoc
rename to core/applib/_adoc/modules/cms/partials/nav.adoc
index 981dc9e..00a4a24 100644
--- a/core/_adoc-rg/modules/cms/nav.adoc
+++ b/core/applib/_adoc/modules/cms/partials/nav.adoc
@@ -2,6 +2,5 @@
 
 ** xref:methods.adoc[Methods]
 ** xref:classes.adoc[Classes]
-** xref:schema.adoc[Schema]
 
 
diff --git a/core/_adoc-rg/modules/cms/_attributes.adoc b/core/applib/_adoc/modules/svc/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/_attributes.adoc
rename to core/applib/_adoc/modules/svc/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cms/examples/.gitkeep b/core/applib/_adoc/modules/svc/assets/attachments/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/cms/examples/.gitkeep
rename to core/applib/_adoc/modules/svc/assets/attachments/.gitkeep
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-api/acceptheaderservice.png b/core/applib/_adoc/modules/svc/assets/images/reference-services-api/acceptheaderservice.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-api/acceptheaderservice.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-api/acceptheaderservice.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-api/acceptheaderservice.pptx b/core/applib/_adoc/modules/svc/assets/images/reference-services-api/acceptheaderservice.pptx
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-api/acceptheaderservice.pptx
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-api/acceptheaderservice.pptx
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-spi/ErrorReportingService/kitchensink-example.png b/core/applib/_adoc/modules/svc/assets/images/reference-services-spi/ErrorReportingService/kitchensink-example.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-spi/ErrorReportingService/kitchensink-example.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-spi/ErrorReportingService/kitchensink-example.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-spi/EventSerializer/action-invocation-published-to-stderr.png b/core/applib/_adoc/modules/svc/assets/images/reference-services-spi/EventSerializer/action-invocation-published-to-stderr.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-spi/EventSerializer/action-invocation-published-to-stderr.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-spi/EventSerializer/action-invocation-published-to-stderr.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-spi/EventSerializer/changed-object-published-to-stderr.png b/core/applib/_adoc/modules/svc/assets/images/reference-services-spi/EventSerializer/changed-object-published-to-stderr.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-spi/EventSerializer/changed-object-published-to-stderr.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-spi/EventSerializer/changed-object-published-to-stderr.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-spi/PublishingService/yuml.me-23db58a4.png b/core/applib/_adoc/modules/svc/assets/images/reference-services-spi/PublishingService/yuml.me-23db58a4.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-spi/PublishingService/yuml.me-23db58a4.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-spi/PublishingService/yuml.me-23db58a4.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services-spi/UserProfileService/todoapp.png b/core/applib/_adoc/modules/svc/assets/images/reference-services-spi/UserProfileService/todoapp.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services-spi/UserProfileService/todoapp.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services-spi/UserProfileService/todoapp.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services/categories.png b/core/applib/_adoc/modules/svc/assets/images/reference-services/categories.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services/categories.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services/categories.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services/categories.pptx b/core/applib/_adoc/modules/svc/assets/images/reference-services/categories.pptx
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services/categories.pptx
rename to core/applib/_adoc/modules/svc/assets/images/reference-services/categories.pptx
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services/commands-and-events.png b/core/applib/_adoc/modules/svc/assets/images/reference-services/commands-and-events.png
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services/commands-and-events.png
rename to core/applib/_adoc/modules/svc/assets/images/reference-services/commands-and-events.png
diff --git a/core/_adoc-rg/modules/svc/assets/images/reference-services/commands-and-events.pptx b/core/applib/_adoc/modules/svc/assets/images/reference-services/commands-and-events.pptx
similarity index 100%
rename from core/_adoc-rg/modules/svc/assets/images/reference-services/commands-and-events.pptx
rename to core/applib/_adoc/modules/svc/assets/images/reference-services/commands-and-events.pptx
diff --git a/core/_adoc-rg/modules/cms/assets/attachments/.gitkeep b/core/applib/_adoc/modules/svc/examples/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/attachments/.gitkeep
rename to core/applib/_adoc/modules/svc/examples/.gitkeep
diff --git a/core/_adoc-rg/modules/ROOT/nav.adoc b/core/applib/_adoc/modules/svc/nav.adoc
similarity index 97%
copy from core/_adoc-rg/modules/ROOT/nav.adoc
copy to core/applib/_adoc/modules/svc/nav.adoc
index 69362ed..de2a49c 100644
--- a/core/_adoc-rg/modules/ROOT/nav.adoc
+++ b/core/applib/_adoc/modules/svc/nav.adoc
@@ -1,2 +1 @@
 include::rg:ROOT:partial$nav.adoc[]
-
diff --git a/core/_adoc-rg/modules/cms/pages/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/about.adoc b/core/applib/_adoc/modules/svc/pages/about.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/about.adoc
rename to core/applib/_adoc/modules/svc/pages/about.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api.adoc
similarity index 77%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api.adoc
index 8bc33df..3a05693 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api.adoc
@@ -20,7 +20,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Implementation
 |Notes
 
-|xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/ActionInvocationContext.adoc[`o.a.i.applib.` +
 `services.actinv` +
 `ActionInvocation-` +
 `Context`]
@@ -32,7 +32,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:application-layer-api/BackgroundService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/BackgroundService.adoc[`o.a.i.applib.` +
 `services.background` +
 `BackgroundService`]
 |Programmatic persistence of commands to be persisted (so can be executed by a background mechanism, eg scheduler)
@@ -41,10 +41,10 @@ It also lists their corresponding implementation, either a default implementatio
 ``o.a.i.core`` +
 ``isis-core-runtime``
 |depends on: +
-xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommand-Service`]
+xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommand-Service`]
 
 
-|xref:rg:svc:application-layer-api/CommandContext.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/CommandContext.adoc[`o.a.i.applib.` +
 `services.command` +
 `CommandContext`]
 |Request-scoped access to capture the users's __intention__ to invoke an action or to edit a property.
@@ -53,12 +53,12 @@ xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundComma
 ``isis-core-applib``
 |API is also a concrete class. +
 depends on: +
-xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] for persistent `Command`, else in-memory impl. used.
+xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] for persistent `Command`, else in-memory impl. used.
 
-The xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] manages the actual execution of the command.
+The xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] manages the actual execution of the command.
 
 
-|xref:rg:svc:application-layer-api/CommandExecutorService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/CommandExecutorService.adoc[`o.a.i.applib.` +
 `services.command` +
 `CommandExecutorService`]
 |Executes the specified `Command`.
@@ -69,7 +69,7 @@ The xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContex
 |
 
 
-|xref:rg:svc:application-layer-api/DtoMappingHelper.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/DtoMappingHelper.adoc[`o.a.i.applib.` +
 `services.dto` +
 `DtoMappingHelper`]
 |Maps domain objects internal identifier to an `OidDto` for use in serialized representations.
@@ -79,7 +79,7 @@ The xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContex
 |API is also a concrete class.
 
 
-|xref:rg:svc:application-layer-api/InteractionContext.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/InteractionContext.adoc[`o.a.i.applib.` +
 `services.iactn` +
 `InteractionContext`]
 |Request-scoped access to the current member execution (action invocation or property edit),
@@ -91,7 +91,7 @@ represented as the `Interaction` context.
 
 
 
-|xref:rg:svc:application-layer-api/MessageService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/MessageService.adoc[`o.a.i.applib.` +
 `services.message` +
 `MessageService`]
 |Methods to inform or warn the user, or to raise errors.
@@ -102,7 +102,7 @@ represented as the `Interaction` context.
 |
 
 
-|xref:rg:svc:application-layer-api/SessionManagementService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/SessionManagementService.adoc[`o.a.i.applib.` +
 `services.sessmgmt` +
 `SessionManagementService`]
 |Methods for batching long-running work (eg data migration) into multiple sessions.
@@ -113,7 +113,7 @@ represented as the `Interaction` context.
 |
 
 
-|xref:rg:svc:application-layer-api/TitleService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/TitleService.adoc[`o.a.i.applib.` +
 `services.title` +
 `TitleService`]
 |Methods to programmatically obtain the title or icon of a domain object.
@@ -125,7 +125,7 @@ represented as the `Interaction` context.
 
 
 
-|xref:rg:svc:application-layer-api/TransactionService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/TransactionService.adoc[`o.a.i.applib.` +
 `services.xactn` +
 `TransactionService`]
 |Methods for managing transactions.
@@ -137,7 +137,7 @@ represented as the `Interaction` context.
 
 
 
-|xref:rg:svc:application-layer-api/WrapperFactory.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-api/WrapperFactory.adoc[`o.a.i.applib.` +
 `services.wrapper` +
 `WrapperFactory`]
 |Interact with another domain object "as if" through the UI (enforcing business rules, firing domain events)
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
index 80ca958..f025779 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
@@ -43,7 +43,7 @@ public static class ActionInvocationContext {
 <4> is the 0-based index to the object being acted upon.
 
 
-To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -51,7 +51,7 @@ To provide an alternative implementation, subclass and use xref:applib:ant:Domai
 For actions that are void or that return null, Apache Isis will return to the list once executed.
 But for bulk actions that are non-void, Apache Isis will render the returned object/value from the last object invoked (and simply discards the object/value of all actions except the last).
 
-One idiom is for the domain objects to also use the xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service to share information, for example to aggregate values.
+One idiom is for the domain objects to also use the xref:applib:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service to share information, for example to aggregate values.
 The `ActionInvocationContext#isLast()` method can then be used to determine if all the information has been gathered, and then do something with it (eg derive variance across a range of values, render a graph etc).
 
 More prosaically, the `ActionInvocationContext` can be used to ensure that the action behaves appropriately depending on how it has been invoked (on a single object and/or a collection) whether it is called in bulk mode or regular mode.
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc
similarity index 77%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc
index 24c549b..4bf453b 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `BackgroundService2` domain service (and its various supertypes), and also the companion xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService2`] SPI service, enable commands to be persisted such that they may be invoked in the background.
+The `BackgroundService2` domain service (and its various supertypes), and also the companion xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService2`] SPI service, enable commands to be persisted such that they may be invoked in the background.
 
 The `BackgroundService2` is responsible for capturing a memento representing the command in a typesafe way, and persisting it rather than executing it directly.
 
@@ -17,7 +17,7 @@ The persistence delegates the persistence of the memento to an appropriate imple
 One such implementation of `BackgroundCommandService` is provided by (non-ASF) http://github.com/isisaddons/isis-module-command[Isis addons' command] module.
 
 The persisting of commands is only half the story; there needs to be a separate process to read the commands and execute them.
-The `BackgroundCommandExecution` abstract class (discussed xref:rg:svc:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[below]) provides infrastructure to do this; the concrete implementation of this class depends on the configured `BackgroundCommandService` (in order to query for the persisted (background) ``Command``s.
+The `BackgroundCommandExecution` abstract class (discussed xref:applib:svc:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[below]) provides infrastructure to do this; the concrete implementation of this class depends on the configured `BackgroundCommandService` (in order to query for the persisted (background) ``Command``s.
 
 
 
@@ -32,12 +32,12 @@ public interface BackgroundService2 {
     <T> T executeMixin(Class<T> mixinClass, Object mixedIn);    // <2>
 }
 ----
-<1> returns a proxy around the domain object; any methods executed against this proxy will result in a command (to invoke the corresponding action) being persisted by xref:rg:svc:application-layer-spi/BackgroundCommandService2.adoc[`BackgroundCommandService2`]
-<2> Returns a proxy around the mixin; any methods executed against this proxy will result in a command (to invoke the corresponding mixin action) being persisted by xref:rg:svc:application-layer-spi/BackgroundCommandService2.adoc[`BackgroundCommandService2`].
+<1> returns a proxy around the domain object; any methods executed against this proxy will result in a command (to invoke the corresponding action) being persisted by xref:applib:svc:application-layer-spi/BackgroundCommandService2.adoc[`BackgroundCommandService2`]
+<2> Returns a proxy around the mixin; any methods executed against this proxy will result in a command (to invoke the corresponding mixin action) being persisted by xref:applib:svc:application-layer-spi/BackgroundCommandService2.adoc[`BackgroundCommandService2`].
 
 The default implementation is provided by core (`o.a.i.core.runtime.services.background.BackgroundServiceDefault`).
 
-To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -79,7 +79,7 @@ In the above example, this would be the `submitInvoice()` method called upon eac
 One could imagine more complex designs where only the final command executed notifies the user.
 
 However, an alternative is to rely on the fact that the `BackgroundService` will automatically hint that the `Command` representing the original interaction (to `submitCustomerInvoices()` in the example above) should be persisted.
-This will be available if the related xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] and xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] domain services are configured, and the `CommandService` supports persistent commands.
+This will be available if the related xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] and xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] domain services are configured, and the `CommandService` supports persistent commands.
 Note that (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module does indeed provide such an implementation of `CommandService` (as well as of the required `BackgroundCommandService`).
 
 Thus, the original action can run a query to obtain it corresponding `Command`, and return this to the user.
@@ -98,7 +98,7 @@ public Command submitCustomerInvoices() {
 @Inject
 CommandContext commandContext;  // <1>
 ----
-<1> the injected xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] domain service.
+<1> the injected xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] domain service.
 
 The user would be returned a domain object representing their action invocation.
 
@@ -107,15 +107,15 @@ The user would be returned a domain object representing their action invocation.
 
 == Related Services
 
-This service is closely related to the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] and also that service's supporting xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] service.
+This service is closely related to the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] and also that service's supporting xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] service.
 
 The `CommandContext` service is responsible for providing a parent `Command` with which the background ``Command``s can then be associated as children, while the `CommandService` is responsible for persisting those parent `Command`s.
 The latter is analogous to the way in which the `BackgroundCommandService` persists the child background `Command`s.
 
 The implementations of `CommandService` and `BackgroundCommandService` go together; typically both parent `Command`s and child background `Command`s will be persisted in the same way.
-The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module provides implementations of both (see xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] and xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]).
+The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module provides implementations of both (see xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] and xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]).
 
 The xref:fis:ROOT:application-layer/CommandDtoServiceInternal.adoc[`CommandDtoServiceInternal`] is used to obtain a memento of the command such that it can be persisted.
-(In earlier versions, xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] was used for this purpose).
+(In earlier versions, xref:applib:svc:integration-api/MementoService.adoc[`MementoService`] was used for this purpose).
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService/BackgroundCommandExecution.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService/BackgroundCommandExecution.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService/BackgroundCommandExecution.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService/BackgroundCommandExecution.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService/Quartz.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService/Quartz.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService/Quartz.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService/Quartz.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/contributee/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/contributee/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/BackgroundService/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandContext.adoc
similarity index 75%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/CommandContext.adoc
index a7235f4..8f07937 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandContext.adoc
@@ -9,18 +9,18 @@ include::_attributes.adoc[]
 The `CommandContext` service is a xref:applib:ant:RequestScoped.adoc[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object.
 
 By default, the `Command` is held in-memory only; once the action invocation has completed, the `Command` object is gone.
-The optional supporting xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] enables the implementation of `Command` to be pluggable.
-With an appropriate implementation (eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`]) the `Command` may then be persisted.
+The optional supporting xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] enables the implementation of `Command` to be pluggable.
+With an appropriate implementation (eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`]) the `Command` may then be persisted.
 
-The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
+The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 There are a number of related use cases:
 
 * to enable profiling of the running application (which actions are invoked then most often, what is their response time)
-* if a xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] is configured, they provide better traceability as the `Command` is also correlated with any published events, again through the unique `transactionId` GUID
-* if a xref:rg:svc:spi/AuderService.adoc[`AuditerService`] is configured, they provide better audit information, since the `Command` (the 'cause' of an action) can be correlated to the audit records (the "effect" of the action) through the `transactionId` GUID
+* if a xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] is configured, they provide better traceability as the `Command` is also correlated with any published events, again through the unique `transactionId` GUID
+* if a xref:applib:svc:spi/AuderService.adoc[`AuditerService`] is configured, they provide better audit information, since the `Command` (the 'cause' of an action) can be correlated to the audit records (the "effect" of the action) through the `transactionId` GUID
 
-However, while persistent ``Command``s _can_ be used for these use cases, it is recommended instead to use the xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] service and persistent implementations of the ``Interaction`` object, eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module.
+However, while persistent ``Command``s _can_ be used for these use cases, it is recommended instead to use the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] service and persistent implementations of the ``Interaction`` object, eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module.
 
 
 
@@ -57,7 +57,7 @@ public class CommandContext {
 This class (`o.a.i.applib.services.CommandContext`) is also the default implementation.
 
 Under normal circumstances there shouldn't be any need to replace this implementation with another.
-But if you do need to for some reason, then subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+But if you do need to for some reason, then subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 The `Command` type referenced above is in fact an interface, defined as:
@@ -110,7 +110,7 @@ public interface Command extends HasTransactionId {
 <16> `getResult()` - bookmark to object returned by action, if any
 <17> `getException()` - exception stack trace if action threw exception
 <18> No longer used by the framework; see instead
-xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] and `Interaction#next()`.
+xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] and `Interaction#next()`.
 
 
 
@@ -133,7 +133,7 @@ public class ToDoItem ... {
 ====
 As an alternative to annotating every action with `@Action#command()`, alternatively this can be configured as the default using `isis.services.command.actions` configuration property.
 
-See xref:applib:ant:Action.adoc#command[`@Action#command()`] and xref:rg:cfg:configuring-core.adoc[runtime configuration] for further details.
+See xref:applib:ant:Action.adoc#command[`@Action#command()`] and xref:cfg:ROOT:configuring-core.adoc[runtime configuration] for further details.
 ====
 
 
@@ -152,8 +152,8 @@ public class ToDoItem ... {
 
 When a background command is invoked, the user is returned the command object itself (to provide a handle to the command being invoked).
 
-This requires that an implementation of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] that persists the commands (such as the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's `CommandService`) is configured.
-It also requires that a scheduler is configured to execute the background commands, see xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]).
+This requires that an implementation of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] that persists the commands (such as the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's `CommandService`) is configured.
+It also requires that a scheduler is configured to execute the background commands, see xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]).
 
 
 
@@ -189,7 +189,7 @@ public class ToDoItem ... {
 If run in the background, it might then notify the user (eg by email) if all work is done.
 
 This leads us onto a related point, distinguishing the current effective user vs the originating "real" user.
-When running in the foreground, the current user can be obtained from the xref:rg:svc:core-domain-api/UserService.adoc[`UserService`], using:
+When running in the foreground, the current user can be obtained from the xref:applib:svc:core-domain-api/UserService.adoc[`UserService`], using:
 
 [source,java]
 ----
@@ -211,12 +211,12 @@ String user = commandContext.getCommand().getUser();
 
 == Related Services
 
-The xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service is very similar in nature to the xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`], in that the `Command` object accessed through it is very similar to the `Interaction` object obtained from the `InteractionContext`.
+The xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service is very similar in nature to the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`], in that the `Command` object accessed through it is very similar to the `Interaction` object obtained from the `InteractionContext`.
 The principle distinction is that while `Command` represents the __intention__ to invoke an action or edit a property, the `Interaction` (and contained ``Execution``s) represents the actual execution.
 
 Most of the time a `Command` will be followed directly by its corresponding `Interaction`.
-However, if the `Command` is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual interaction/execution is deferred until some other mechanism invokes the command (eg as described xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
-The persistence of background commands requires a configured xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]) to actually persist such commands for execution.
+However, if the `Command` is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or is explicitly created through the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual interaction/execution is deferred until some other mechanism invokes the command (eg as described xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
+The persistence of background commands requires a configured xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]) to actually persist such commands for execution.
 
-``Command``s - even if executed in the foreground - can also be persisted by way of the xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`].
-Implementations of `CommandService` and `BackgroundCommandService` are intended to go together, so that child ``Command``s persistent (to be executed in the background) can be associated with their parent ``Command``s (executed in the foreground, with the background `Command` created explicitly through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`]).
+``Command``s - even if executed in the foreground - can also be persisted by way of the xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`].
+Implementations of `CommandService` and `BackgroundCommandService` are intended to go together, so that child ``Command``s persistent (to be executed in the background) can be associated with their parent ``Command``s (executed in the foreground, with the background `Command` created explicitly through the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`]).
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandExecutorService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
similarity index 89%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
index efbbeec..491a973 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/CommandExecutorService.adoc
@@ -9,7 +9,7 @@ include::_attributes.adoc[]
 The `CommandExecutorService` domain service is provides the ability to execute a specified `Command`, optionally running the command with the identity of the user captured in that `Command`.
 
 In fact, the service requires that the implementation of the `Command` being executed implements the `CommandWithDto` sub-interface.
-This allows the xref:rg:cms:schema.adoc#cmd[`CommandDto`] memento to be extracted, from which the action can be invoked/property edited.
+This allows the xref:xref:schema:ROOT: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].
@@ -33,10 +33,10 @@ public interface CommandExecutorService {
 }
 ----
 <1> whether to switch the effective user for the duration of executing the `Command`.
-Behind the scenes this uses the xref:rg:svc:testing/SudoService.adoc[`SudoService`].
+Behind the scenes this uses the xref:applib:svc:testing/SudoService.adoc[`SudoService`].
 <2> provided `Command` must implement `CommandDto`.
 
-When the `Command` is executed, it will also be returned by xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`].
+When the `Command` is executed, it will also be returned by xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`].
 Any associated objects that implement `HasTransactionId` (audit entries and the like) will therefore have the correct transactionId and will correctly be associated with the `Command` being executed.
 
 The framework provides a default implementation of this service,
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
similarity index 78%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
index dbc2091..27ed2df 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/DtoMappingHelper.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `DtoMappingHelper` converts the domain object's internal identifier into a serializable `OidDto` for use in the xref:rg:cms:schema.adoc#cmd[command] and xref:rg:cms:schema.adoc#ixn[interaction] schemas.
+The `DtoMappingHelper` converts the domain object's internal identifier into a serializable `OidDto` for use in the xref:xref:schema:ROOT:cmd[command] and xref:schema:ROOT:about.adoc#ixn.adoc[interaction] schemas.
 
 
 == API and Usage
@@ -19,7 +19,7 @@ public class DtoMappingHelper {
     public OidDto oidDtoFor(final Object object) { /* ... */ }    // <1>
 }
 ----
-<1> Uses the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`] to convert the domain object's internal identifier into a serializable `OidDto`.
+<1> Uses the xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`] to convert the domain object's internal identifier into a serializable `OidDto`.
 
 This class (`o.a.i.applib.services.dto.DtoMappingHelper`) is also the implementation.
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc
similarity index 79%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc
index 14375d0..a7c76b4 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/InteractionContext.adoc
@@ -10,7 +10,7 @@ The `InteractionContext` is a request-scoped domain service that is used to obta
 `Interaction`.
 
 An `Interaction` generally consists of a single top-level `Execution`, either to invoke an action or to edit a
-property.  If that top-level action or property uses xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] to
+property.  If that top-level action or property uses xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] to
 invoke child actions/properties, then those sub-executions are captured as a call-graph.  The `Execution` is thus a
 graph structure.
 
@@ -25,9 +25,9 @@ It is possible for ``Interaction.Execution``s to be persisted; this is supported
 * 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:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`]), they provide better audit information, since the
+* if auditing is configured (using xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`]), they provide better audit information, since the
 `Interaction.Execution` captures the 'cause' of an interaction and can be correlated to the audit records (the "effect"
-of the interaction) by way of the xref:rg:cms:classes/mixins.adoc#HasTransactionId[`transactionId`]
+of the interaction) by way of the xref:applib:cms:classes/mixins.adoc#HasTransactionId[`transactionId`]
 
 
 
@@ -73,11 +73,11 @@ public class Interaction {
     public int next(final String sequenceId);       // <5>
 }
 ----
-<1> The unique identifier of this interaction.  This will be the same value as held in `Command` (obtainable from xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).
+<1> The unique identifier of this interaction.  This will be the same value as held in `Command` (obtainable from xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`]).
 <2> The member `Execution` (action invocation or property edit) that preceded the current one.
 <3> The current execution.
 <4> * Returns a (list of) execution}s in the order that they were pushed.  Generally there will be just one entry in this list, but additional entries may arise from the use of mixins/contributions when re-rendering a modified object.
-<5> Generates numbers in a named sequence.  Used by the framework both to number successive interaction ``Execution``s and for events published by the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+<5> Generates numbers in a named sequence.  Used by the framework both to number successive interaction ``Execution``s and for events published by the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 This class is concrete (is also the implementation).
 
@@ -86,7 +86,7 @@ This class is concrete (is also the implementation).
 
 The `Interaction.Execution` (static nested) class represents an action invocation/property edit as a node in a
 call-stack execution graph.  Sub-executions can be performed using the
-xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
+xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
 
 It has the following public API:
 
@@ -122,23 +122,23 @@ public abstract class Execution {
 <5> A human-friendly description of the class of the target object, and of the name of the action invoked/property
 edited on the target object.
 <6> The parent action/property that invoked this action/property edit (if any), and any actions/property edits made in
-turn via the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
-<7> The domain event fired via the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] representing the
+turn via the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
+<7> The domain event fired via the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] representing the
 execution of this action invocation/property edit.
 <8> The date/time at which this execution started/completed.
 <9> The object returned by the action invocation/property edit, or the exception thrown.  For `void` methods and for actions returning collections, the value will be `null`.
-<10> A DTO (instance of the xref:rg:cms:schema.adoc#ixn["ixn" schema]) being a serializable representation of this action invocation/property edit.
+<10> A DTO (instance of the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) being a serializable representation of this action invocation/property edit.
 
 
 
 [NOTE]
 ====
 
-Unlike the similar xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] domain service (discussed xref:rg:svc:application-layer-api/InteractionContext.adoc#Related-Classes[below]) there is no domain service to different implementations of `Interaction` to be used.
+Unlike the similar xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] domain service (discussed xref:applib:svc:application-layer-api/InteractionContext.adoc#Related-Classes[below]) there is no domain service to different implementations of `Interaction` to be used.
 That said, the framework simply instantiates the `Interaction` using the
-xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
+xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
 If a different implementation of `Interaction` was required, then a custom implementation of
- xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`] could always be supplied.
+ xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`] could always be supplied.
 ====
 
 
@@ -178,8 +178,8 @@ Apache Isis' default implementation of `InteractionContext` class is automatical
 
 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:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI, and to emit domain events over the
-xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
+xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI, and to emit domain events over the
+xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 
 
 
@@ -188,14 +188,14 @@ xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 
 == Related Classes
 
-This service is very similar in nature to xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`], in that the
+This service is very similar in nature to xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`], in that the
 `Interaction` object accessed through it is very similar to the `Command` object obtained from the `CommandContext`.
 The principle distinction is that while `Command` represents the __intention__ to invoke an action or edit a property,
 the `Interaction` (and contained ``Execution``s) represents the actual execution.
 
 Most of the time a `Command` will be followed directly by its corresponding `Interaction`.  However, if the `Command`
 is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or
-is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual
+is explicitly created through the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual
 interaction/execution is deferred until some other mechanism invokes the command (eg as described
 xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/MessageService.adoc
similarity index 97%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/MessageService.adoc
index d0219a7..416c4f4 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/MessageService.adoc
@@ -61,5 +61,5 @@ public Order addItem(Product product, @ParameterLayout(named="Quantity") int qua
 
 The core framework provides a default implementation of this service, `o.a.i.core.runtime.services.message.MessageServiceDefault`.
 
-To use an alternative implementation, implement the `MessageService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `MessageService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/SessionManagementService.adoc
similarity index 96%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/SessionManagementService.adoc
index 6265395..289aeaa 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/SessionManagementService.adoc
@@ -43,5 +43,5 @@ Any domain objects that were created in the "previous" session are no longer usa
 The core framework provides a default implementation of this service (`o.a.i.core.runtime.services.xactn.SessionManagementServiceDefault`).
 
 
-To use an alternative implementation, implement the `SessionManagementService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `SessionManagementService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/TitleService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/TitleService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/TitleService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/TitleService.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/TransactionService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/TransactionService.adoc
similarity index 93%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/TransactionService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/TransactionService.adoc
index 68d0274..3af4d98 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/TransactionService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/TransactionService.adoc
@@ -28,7 +28,7 @@ public interface TransactionService3 {
 Under certain circumstances (eg actions used to perform data migration, say, or for large fixture scripts), it can be helpful to programmatically complete one transaction and start another one.
 <3> overload of nextTransaction() that provides more control on the action to be performed if the current transaction has been marked for abort only
 <4> If the user interaction creates/persists an object or deletes an object (eg using the
-xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]'s `persist()` or `delete()` methods), then the framework actually queues up the work and only performs the persistence command either at the end of the transaction or immediately prior to the next query.
+xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]'s `persist()` or `delete()` methods), then the framework actually queues up the work and only performs the persistence command either at the end of the transaction or immediately prior to the next query.
 Performing a flush will cause any pending calls to be performed immediately.
 <5> the state of the current or most recently completed transaction.
 
@@ -84,7 +84,7 @@ public interface Transaction2 {
 }
 ----
 <1> is a unique identifier for the interaction/request, as defined by the
-xref:rg:cms:classes/mixins.adoc#HasTransactionId[`HasTransactionId`] mixin.
+xref:applib:cms:classes/mixins.adoc#HasTransactionId[`HasTransactionId`] mixin.
 <2> there can actually be multiple transactions within such a request/interaction; the sequence is a (0-based) is used to distinguish such.
 <3> as per `TransactionService#flushTransaction()` described above.
 <4> The state of this transaction (same as `TransactionService#getTransactionState()`).
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/WrapperFactory.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/WrapperFactory.adoc
index 9f259f9..42d2510 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-api/WrapperFactory.adoc
@@ -107,8 +107,8 @@ Similarly if an action has a `validateXxx()` method and the supplied arguments a
 
 In addition, the following methods may also be called:
 
-* the xref:rg:cms:methods.adoc#title[`title()`] and `toString()` methods
-* any xref:rg:cms:methods.adoc#default[`default...()`], xref:rg:cms:methods.adoc#choices[`choices...()`] or xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] methods
+* the xref:applib:cms:methods.adoc#title[`title()`] and `toString()` methods
+* any xref:applib:cms:methods.adoc#default[`default...()`], xref:applib:cms:methods.adoc#choices[`choices...()`] or xref:applib:cms:methods.adoc#autoComplete[`autoComplete...()`] methods
 
 An exception will be thrown if any other methods are thrown.
 
@@ -147,7 +147,7 @@ public class CustomerAgent {
 
 [NOTE]
 ====
-It ought to be possible to implement an xref:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`]s that would allow the above boilerplate to be removed.
+It ought to be possible to implement an xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`]s that would allow the above boilerplate to be removed.
 This recognizer service would recognize the `InteractionException` and convert to a suitable message.
 
 At the time of writing Apache Isis does not provide an out-of-the-box implementation of such an `ExceptionRecognizer`; but it should be simple enough to write one…
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-api/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-api/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi.adoc
similarity index 87%
rename from core/_adoc-rg/modules/svc/pages/application-layer-spi.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-spi.adoc
index cdf06d9..a47c944 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-spi.adoc
@@ -20,7 +20,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Notes
 
 
-|xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`o.a.i.applib.` +
 `services.background` +
 `BackgroundCommandService`]
 |Persisted a memento of an action invocation such that it can be executed asynchronously ("in the background") eg by a scheduler.
@@ -35,7 +35,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:application-layer-spi/CommandService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-spi/CommandService.adoc[`o.a.i.applib.` +
 `services.command.spi` +
 `CommandService`]
 |Service to act as a factory and repository (create and save) of command instances, ie representations of an action invocation.  Used for command/auditing and background services.
@@ -48,7 +48,7 @@ It also lists their corresponding implementation, either a default implementatio
 `CommandService-` ++
 `JdoRepository`
 
-|xref:rg:svc:application-layer-spi/HealthCheckService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-spi/HealthCheckService.adoc[`o.a.i.applib.` +
 `services.health` +
 `HealthCheckService`]
 |Performs a health check so that the runtime infrastructure can determine if the application is still healthy (and perform remedial action, such as restarting the app, if not).
@@ -56,7 +56,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Exposed via REST API, typically on `/restful/health`.
 
 
-|xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:application-layer-spi/HomePageProviderService.adoc[`o.a.i.applib.` +
 `services.homepage` +
 `HomePageProviderService`]
 |Returns the home page object, if any is defined.
@@ -64,7 +64,7 @@ It also lists their corresponding implementation, either a default implementatio
 `ServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
-|Used by the default implementation of xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`].
+|Used by the default implementation of xref:applib:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`].
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
similarity index 65%
rename from core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
index 9feace7..657993c 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
@@ -6,11 +6,11 @@ include::_attributes.adoc[]
 
 
 
-The `BackgroundCommandService2` (SPI) service supports the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] (API) service, persisting action invocations as commands such that they can subsequently be invoked in the background.
+The `BackgroundCommandService2` (SPI) service supports the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] (API) service, persisting action invocations as commands such that they can subsequently be invoked in the background.
 
-The `BackgroundService` is responsible for capturing a memento representing the action invocation, and then hands off to the xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] `BackgroundCommandService` to actually persist it.
+The `BackgroundService` is responsible for capturing a memento representing the action invocation, and then hands off to the xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`] `BackgroundCommandService` to actually persist it.
 
-The persisting of commands is only half the story; there needs to be a separate process to read the commands and execute them.  The abstract xref:rg:svc:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[`BackgroundCommandExecution`] provides a mechanism to execute such commands.  This can be considered an API, albeit "internal" because the implementation relies on internals of the framework.
+The persisting of commands is only half the story; there needs to be a separate process to read the commands and execute them.  The abstract xref:applib:svc:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[`BackgroundCommandExecution`] provides a mechanism to execute such commands.  This can be considered an API, albeit "internal" because the implementation relies on internals of the framework.
 
 
 
@@ -31,7 +31,7 @@ public interface BackgroundCommandService2 {
 
 }
 ----
-<1> an instance of a xref:rg:cms:schema.adoc#cmd[`CommandDto`] capturing the details of the action invocation or property edit to be retained (eg persisted to a database) so that it can be executed at a later time
+<1> an instance of a xref:xref:schema:ROOT:cmd.adoc[`CommandDto`] capturing the details of the action invocation or property edit to be retained (eg persisted to a database) so that it can be executed at a later time
 <2> reference to the parent `Command` requesting the action be performed as a background command.  This allows information such as the initiating user to be obtained.
 
 
@@ -68,7 +68,7 @@ The module also provides a concrete subclass of `BackgroundCommandExecution` tha
 
 [TIP]
 ====
-Details of setting up the Quartz scheduler to actually execute these persisted commands can be found on the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] page.
+Details of setting up the Quartz scheduler to actually execute these persisted commands can be found on the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] page.
 ====
 
 
@@ -80,7 +80,7 @@ Background commands can be created either declaratively or imperatively.
 
 The declarative approach involves annotating an action using xref:applib:ant:Action.adoc#command[`@Action#command()`] with `@Action#commandExecuteIn=CommandExecuteIn.BACKGROUND`.
 
-The imperative approach involves explicitly calling the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] from within domain object's action.
+The imperative approach involves explicitly calling the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] from within domain object's action.
 
 
 
@@ -88,7 +88,7 @@ The imperative approach involves explicitly calling the xref:rg:svc:application-
 == Alternative Implementations
 
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module provides an implementation of this service (`BackgroundCommandService`), and also provides a number of related domain services (`BackgroundCommandServiceJdo`, `BackgroundCommandJdoRepository` and `BackgroundCommandServiceJdoContributions`).
-This module also provides service implementations of the xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`].
+This module also provides service implementations of the xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`].
 
 If contributions are not required in the UI, these can be suppressed either using security or by implementing a xref:ug:btb:about.adoc#vetoing-visibility[vetoing subscriber].
 
@@ -97,9 +97,9 @@ If contributions are not required in the UI, these can be suppressed either usin
 
 == Related Services
 
-As discussed above, this service supports the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] , persisting `Command`s such that they can be executed in the background.
+As discussed above, this service supports the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] , persisting `Command`s such that they can be executed in the background.
 
-There is also a tie-up with the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] and its supporting xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] domain service. The `CommandContext` service is responsible for providing a parent `Command` with which the background `Command`s can then be associated as children, while the `CommandService` is responsible for persisting those parent `Command`s (analogous to the way in which the `BackgroundComm [...]
+There is also a tie-up with the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] and its supporting xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] domain service. The `CommandContext` service is responsible for providing a parent `Command` with which the background `Command`s can then be associated as children, while the `CommandService` is responsible for persisting those parent `Command`s (analogous to the way in which the `Backgr [...]
 
 What that means is that the implementations of `CommandService` and `BackgroundCommandService` go together, hence both implemented in the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s  command module.).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi/CommandService.adoc
similarity index 71%
rename from core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-spi/CommandService.adoc
index 4ed7958..7ee12cb 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-spi/CommandService.adoc
@@ -6,9 +6,9 @@ include::_attributes.adoc[]
 
 
 
-The `CommandService` service supports the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service such that `Command` objects (that reify the invocation of an action/edit of a property on a domain object) can be persisted.
+The `CommandService` service supports the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service such that `Command` objects (that reify the invocation of an action/edit of a property on a domain object) can be persisted.
 
-The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
+The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 Persistent ``Command``s also support the ability to replicate from a master to a slave instance of an application.
 One use case for this is for regression testing, allowing a production usages to be replayed against a new release candidate, eg after upgrading that application to a new version of Apache Isis itself (or some other dependency).
@@ -18,14 +18,14 @@ There are a number of related use cases:
 * they enable profiling of the running application (which actions are invoked then most often, what is their response time)
 
 
-* if xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] is configured, they provide
+* if xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] is configured, they provide
 better traceability as the `Command` is also correlated with any published events, again through the unique
 `transactionId` GUID
-* if xref:rg:svc:spi/AuditerService.adoc[`AuditerService`](s) are configured, they provide better audit
+* if xref:applib:svc:spi/AuditerService.adoc[`AuditerService`](s) are configured, they provide better audit
 information, since the `Command` (the 'cause' of an action) can be correlated to the audit records (the "effect" of
 the action) through the `transactionId` GUID
 
-However, while persistent ``Command``s _can_ be used for these use cases, it is recommended instead to use the xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] service and persistent implementations of the ``Interaction`` object, eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module.
+However, while persistent ``Command``s _can_ be used for these use cases, it is recommended instead to use the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] service and persistent implementations of the ``Interaction`` object, eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module.
 
 
 
@@ -55,7 +55,7 @@ public interface CommandService {
 }
 ----
 <1> Instantiate the appropriate instance of the `Command` (as defined by the
-xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service).
+xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service).
 Its members will be populated automatically by the framework.
 <2> Set the hint that the `Command` should be persisted if possible (when completed, see below).
 <3> "Complete" the command, typically meaning that the command should be persisted it if its `Command#getPersistence()` flag and persistence hint (`Command#isPersistHint()`) indicate that it should be.  +
@@ -74,7 +74,7 @@ It further provides a number of supporting services:
 * `org.isisaddons.module.command.dom.CommandServiceJdoContributions` contributes actions for searching for persisted child and sibling ``Command``s.
 
 * implementation of the
-xref:rg:svc:application-layer-spi/CommandService.adoc[`BackgroundCommandService`].
+xref:applib:svc:application-layer-spi/CommandService.adoc[`BackgroundCommandService`].
 
 All of these can be activated by updating the `pom.xml` and updating the `AppManifest#getModules()` method.
 
@@ -85,7 +85,7 @@ If contributions are not required in the UI, these can be suppressed either usin
 == Alternative Implementations
 
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module provides an implementation of this service (`CommandService`), and also provides a number of related domain services (`CommandJdoRepository` and `CommandServiceJdoContributions`).
-This module also provides service implementations of the xref:rg:svc:application-layer-spi/CommandService.adoc[`BackgroundCommandService`].
+This module also provides service implementations of the xref:applib:svc:application-layer-spi/CommandService.adoc[`BackgroundCommandService`].
 
 If contributions are not required in the UI, these can be suppressed either using security or by implementing a xref:ug:btb:about.adoc#vetoing-visibility[vetoing subscriber].
 
@@ -94,15 +94,15 @@ If contributions are not required in the UI, these can be suppressed either usin
 
 == Related Services
 
-As discussed above, this service supports the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`], providing the ability for `Command` objects to be persisted.
-This is closely related to the xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]that allows the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] to schedule commands for background/asynchronous execution.
+As discussed above, this service supports the xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`], providing the ability for `Command` objects to be persisted.
+This is closely related to the xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]that allows the xref:applib:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] to schedule commands for background/asynchronous execution.
 
 The implementations of `CommandService` and `BackgroundCommandService` are intended to go together, so that persistent parent `Command`s can be associated with their child background `Command`s.
 
-The services provided by this module combines very well with the xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`].
+The services provided by this module combines very well with the xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`].
 The `CommandService` captures the __cause__ of an interaction (an action was invoked, a property was edited), while the `AuditerService` captures the __effect__ of that interaction in terms of changed state.
 
-You may also want to configure the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+You may also want to configure the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
-All three of these services collaborate implicitly by way of the xref:rg:cms:classes/mixins.adoc#HasTransactionId[`HasTransactionId`] interface.
+All three of these services collaborate implicitly by way of the xref:applib:cms:classes/mixins.adoc#HasTransactionId[`HasTransactionId`] interface.
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HealthCheckService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi/HealthCheckService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-spi/HealthCheckService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-spi/HealthCheckService.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
similarity index 88%
rename from core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
index c8fe4d9..9f36818 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 This service simply provides access to the home page object (if any) that is returned from the domain service action annotated with xref:applib:ant:HomePage.adoc[`@HomePage`].
 
-It was originally introduced to support the default implementation of xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`], but was factored out to support alternative implementations of that service (and may be useful for other use cases).
+It was originally introduced to support the default implementation of xref:applib:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`], but was factored out to support alternative implementations of that service (and may be useful for other use cases).
 
 
 == SPI & Implementation
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/application-layer-spi/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/metadata-api/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/application-layer-spi/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc b/core/applib/_adoc/modules/svc/pages/bootstrapping-spi.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
rename to core/applib/_adoc/modules/svc/pages/bootstrapping-spi.adoc
index c52742f..fe63838 100644
--- a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
+++ b/core/applib/_adoc/modules/svc/pages/bootstrapping-spi.adoc
@@ -20,12 +20,12 @@ It also lists their corresponding implementation, either a default implementatio
 |Notes
 
 
-|xref:rg:svc:bootstrapping-spi/ClassDiscoveryService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:bootstrapping-spi/ClassDiscoveryService.adoc[`o.a.i.applib.` +
 `services.classdiscovery` +
 `ClassDiscoveryService`]
 |Mechanism to locate (from the classpath) classes with a specific annotation (eg xref:applib:ant:DomainService.adoc[`@DomainService`])
 
-Subtypes of a given type (eg xref:rg:cms:classes/super.adoc#FixtureScript[`FixtureScript`]).
+Subtypes of a given type (eg xref:applib:cms:classes/super.adoc#FixtureScript[`FixtureScript`]).
 |`ClassDiscoveryService-` +
 `UsingReflections` +
 ``o.a.i.core`` +
diff --git a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc b/core/applib/_adoc/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
similarity index 82%
rename from core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
rename to core/applib/_adoc/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
index 6277a8a..422fa4f 100644
--- a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
@@ -9,7 +9,7 @@ include::_attributes.adoc[]
 The `ClassDiscoveryService` service (and its various supertypes) is used to automatically discover subclasses of any given type on the classpath.
 The primary use case is to support "convention-over-configuration" designs that work with a minimum of configuration.
 
-This service is used by the xref:rg:cms:classes/super.adoc#FixtureScripts[`FixtureScripts`] service to automatically locate any xref:rg:cms:classes/super.adoc#FixtureScript[`FixtureScript`] implementations.
+This service is used by the xref:applib:cms:classes/super.adoc#FixtureScripts[`FixtureScripts`] service to automatically locate any xref:applib:cms:classes/super.adoc#FixtureScript[`FixtureScript`] implementations.
 
 
 
@@ -41,7 +41,7 @@ This implementation is also used to discover domain services annotated with xref
 Currently this logic uses the implementation directly, so is not pluggable.
 ====
 
-To use an alternative implementation, implement the `ClassDiscoveryService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `ClassDiscoveryService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -49,6 +49,6 @@ To use an alternative implementation, implement the `ClassDiscoveryService` inte
 
 == Related Services
 
-The xref:rg:svc:testing/FixtureScripts.adoc[`FixtureScripts`] domain service uses `ClassDiscoveryService` to discover ``FixtureScript``s implementations to present in the UI.
+The xref:applib:svc:testing/FixtureScripts.adoc[`FixtureScripts`] domain service uses `ClassDiscoveryService` to discover ``FixtureScript``s implementations to present in the UI.
 
 Note that the bootstrapping of the framework itself does _not_ use this service (though it does use the same underlying library as the default implementation of this service, namely `org.reflections.Reflections`).
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/bootstrapping-spi/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/integration-api/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/bootstrapping-spi/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api.adoc
similarity index 88%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api.adoc
index 3ca4365..75269ca 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api.adoc
@@ -22,7 +22,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:core-domain-api/ClockService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:core-domain-api/ClockService.adoc[`o.a.i.applib.` +
 `services.clock` +
 `ClockService`]
 |Access the current time (and for testing, allow the time to be changed)
@@ -33,7 +33,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:core-domain-api/ConfigurationService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:core-domain-api/ConfigurationService.adoc[`o.a.i.applib.` +
 `services.config` +
 `ConfigurationService`]
 |Access configuration properties (eg from `isis.properties` file)
@@ -44,7 +44,7 @@ It also lists their corresponding implementation, either a default implementatio
 |The ``ConfigurationServiceMenu`` exposes the ``allConfigurationProperties`` action in the user interface. +
 
 
-|xref:rg:svc:core-domain-api/EventBusService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:core-domain-api/EventBusService.adoc[`o.a.i.applib.` +
 `services.eventbus` +
 `EventBusService`]
 |Programmatically post events to the internal event bus.  Also used by Apache Isis itself to broadcast domain events:
@@ -57,7 +57,7 @@ It also lists their corresponding implementation, either a default implementatio
 ``isis-core-runtime``
 |
 
-|xref:rg:svc:core-domain-api/FactoryService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:core-domain-api/FactoryService.adoc[`o.a.i.applib.` +
 `services.factory` +
 `FactoryService`]
 |Methods to instantiate and initialize domain objects
@@ -70,7 +70,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:core-domain-api/Scratchpad.adoc[`o.a.i.applib.` +
+|xref:applib:svc:core-domain-api/Scratchpad.adoc[`o.a.i.applib.` +
 `services.scratchpad` +
 `Scratchpad`]
 |Request-scoped service for interchanging information between and aggregating over multiple method calls; in particular for use by "bulk" actions (invoking of an action for all elements of a collection)
@@ -82,7 +82,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:core-domain-api/UserService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:core-domain-api/UserService.adoc[`o.a.i.applib.` +
 `services.xactn` +
 `UserService`]
 |Methods to access the currently-logged on user.
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/ClockService.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/ClockService.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/ClockService.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/ClockService.adoc
index cbc9aa6..d160f84 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/ClockService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api/ClockService.adoc
@@ -52,11 +52,11 @@ This class (`o.a.i.applib.services.clock.ClockService`) is also the default impl
 The default `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:rg:cfg:deployment-types.adoc[production] (server) mode, then the framework will (lazily) instantiate the ``SystemClock` when first required.
+If running in xref:cfg:ROOT:deployment-types.adoc[production] (server) mode, then the framework will (lazily) instantiate the ``SystemClock` when first required.
 This is a read-only clock that reads from the system time.
 The instance registers itself as the singleton and cannot be replaced.
 
-If running in xref:rg:cfg:deployment-types.adoc[prototype] mode, though, then the framework will instead instantiate `FixtureClock`.
+If running in xref:cfg:ROOT:deployment-types.adoc[prototype] mode, though, then the framework will instead instantiate `FixtureClock`.
 This is a read-write clock that will behave as the system clock, unless it is explicitly set using eg, `FixtureClock#setDate(...)` or `FixtureClock#setTime(...)` etc.
 
 Moreover, `FixtureClock` singleton can be replaced with another implementation.
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/ConfigurationService.adoc
similarity index 95%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/ConfigurationService.adoc
index 2635ea2..ace8bb2 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api/ConfigurationService.adoc
@@ -9,7 +9,7 @@ include::_attributes.adoc[]
 
 
 
-The `ConfigurationService` allows domain objects to read the configuration properties aggregated from the various xref:rg:cfg:configuration-files.adoc[configuration files].
+The `ConfigurationService` allows domain objects to read the configuration properties aggregated from the various xref:cfg:ROOT:configuration-files.adoc[configuration files].
 
 
 [IMPORTANT]
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/EventBusService.adoc
similarity index 90%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/EventBusService.adoc
index a238916..68fc9be 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api/EventBusService.adoc
@@ -48,7 +48,7 @@ This should be done in their xref:applib:ant:PostConstruct.adoc[`@PostConstruct`
 
 
 
-To use an alternative implementation, implement the `EventBusService` domain service and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `EventBusService` domain service and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -56,7 +56,7 @@ To use an alternative implementation, implement the `EventBusService` domain ser
 == Registering Subscribers
 
 The `register()` method should be called in the xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] lifecycle method.
-It is valid and probably the least confusing to readers to also "unregister" in the xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] lifecycle method (though as noted xref:rg:svc:core-domain-api/EventBusService.adoc#api-and-implementation[above], unregistering is actually a no-op).
+It is valid and probably the least confusing to readers to also "unregister" in the xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] lifecycle method (though as noted xref:applib:svc:core-domain-api/EventBusService.adoc#api-and-implementation[above], unregistering is actually a no-op).
 
 For example:
 
@@ -84,7 +84,7 @@ public class MySubscribingDomainService {
 ----
 <1> subscribers are typically not visible in the UI, so specify a `DOMAIN` nature
 <2> It's important that subscribers register before any domain services that might emit events on the event bus service.
-For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:rg:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
+For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:applib:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
 The easiest way to do this is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 <3> register with the event bus service during xref:applib:ant:PostConstruct.adoc[`@PostConstruct`]
     initialization
@@ -95,7 +95,7 @@ This works for both singleton (application-scoped) and also xref:applib:ant:Requ
 
 [TIP]
 ====
-The xref:rg:cms:classes/super.adoc#AbstractSubscriber[`AbstractSubscriber`] class automatically performs this registration.
+The xref:applib:cms:classes/super.adoc#AbstractSubscriber[`AbstractSubscriber`] class automatically performs this registration.
 As a convenience, it is also annotated with the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 ====
 
@@ -151,7 +151,7 @@ public class LibraryMember {
     // ...
 }
 ----
-<1> `LibraryMemberLeaveEvent` is a subclass of `o.a.i.applib.eventbus.ActionDomainEvent`.  The topic of subclassing is discussed in more detail xref:rg:svc:core-domain-api/EventBusService.adoc#event-hierarchy[below].
+<1> `LibraryMemberLeaveEvent` is a subclass of `o.a.i.applib.eventbus.ActionDomainEvent`.  The topic of subclassing is discussed in more detail xref:applib:svc:core-domain-api/EventBusService.adoc#event-hierarchy[below].
 
 Meanwhile, in the `BookRepository` domain service, we subscribe to the event and act upon it.
 For example:
@@ -298,7 +298,7 @@ In practice we suspect there will be few cases where the programmatic approach i
 
 == Using `WrapperFactory`
 
-An alternative way to cause events to be posted is through the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
+An alternative way to cause events to be posted is through the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`].
 This is useful when you wish to enforce a (lack-of-) trust boundary between the caller and the callee.
 
 For example, suppose that `Customer#placeOrder(...)` emits a `PlaceOrderEvent`, which is subscribed to by a `ReserveStockSubscriber`.
@@ -349,14 +349,14 @@ The default implementation of this service defines the following configuration p
 `implementation` +
 | `guava`, `axon`, +
 FQCN (`_guava_`)
-|which implementation to use by the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] as the underlying event bus.
+|which implementation to use by the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] as the underlying event bus.
 
 The implementation of `EventBusService` provided by Apache Isis will by default use link:https://code.google.com/p/guava-libraries/[Guava]'s https://code.google.com/p/guava-libraries/wiki/EventBusExplained[`EventBus`] as the underlying in-memory event bus.  Alternatively the link:http://www.axonframework.org/[AxonFramework]'s link:http://www.axonframework.org/docs/2.4/single.html#d5e1489[SimpleEventBus] can be used.
 
 [NOTE]
 .Guava vs Axon, which to use?
 ====
-Guava actually queues up events; they are not guaranteed to be dispatched immediately.  This generally is not problem, but can be for cases where the subscriber may in turn want to post its own events (using xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`]).
+Guava actually queues up events; they are not guaranteed to be dispatched immediately.  This generally is not problem, but can be for cases where the subscriber may in turn want to post its own events (using xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`]).
 
 The Axon `SimpleEventBus`-based implementation on the other hand is fully synchronous; events are dispatched as soon as they are posted.  This works well in all scenarios (that we have tested).
 ====
@@ -368,7 +368,7 @@ The Axon `SimpleEventBus`-based implementation on the other hand is fully synchr
 `Registration` +
 |`true`,`false` +
 (`false`)
-|whether a domain service can register with the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] after any events have posted. +
+|whether a domain service can register with the xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] after any events have posted. +
 
 Late registration refers to the idea that a domain service can register itself with the `EventBusService` after events have been posted.
 Since domain services are set up at boot time, this almost certainly constitutes a bug in the code and so by default late registration is _not_ allowed.
@@ -415,4 +415,4 @@ isis.services.eventbus.implementation=com.mycompany.isis.MyEventBusServiceImplem
 
 The `EventBusService` is intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Isis domain object model. The event propagation is strictly in-memory, and there are no restrictions on the object acting as the event (it need not be serializable, for example).
 
-The xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] meanwhile is intended for coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Here the only events published are those that action invocations (for actions annotated with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`]) and of changed objects (for objects annotated with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]).
\ No newline at end of file
+The xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] meanwhile is intended for coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Here the only events published are those that action invocations (for actions annotated with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`]) and of changed objects (for objects annotated with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publish [...]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/FactoryService.adoc
similarity index 80%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/FactoryService.adoc
index ce3b7c6..b2abe3d 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api/FactoryService.adoc
@@ -28,11 +28,11 @@ The class must have a 1-arg constructor of the appropriate type.
 
 The object is created in memory, but is not persisted.  The benefits of using this method (instead of simply using the Java `new` keyword) are:
 
-* any services will be injected into the object immediately (otherwise they will not be injected until the frameworkbecomes aware of the object, typically when it is persisted through the xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]
+* any services will be injected into the object immediately (otherwise they will not be injected until the frameworkbecomes aware of the object, typically when it is persisted through the xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]
 
 * the default value for any properties (usually as specified by `defaultXxx()` supporting methods) will not be set and the `created()` callback will be called.
 
-The corollary is: if your code never uses `defaultXxx()` or the `created()` callback, then you can just `new` up the object.  The xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service can be used to inject services into the domain object.
+The corollary is: if your code never uses `defaultXxx()` or the `created()` callback, then you can just `new` up the object.  The xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service can be used to inject services into the domain object.
 
 
 
@@ -58,6 +58,6 @@ The core framework provides a default implementation of this service (`o.a.i.cor
 
 == Related Services
 
-The xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] is often used in conjunction with the `FactoryService`, to persist domain objects after they have been instantiated and populated.
+The xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] is often used in conjunction with the `FactoryService`, to persist domain objects after they have been instantiated and populated.
 
-An alternative to using the factory service is to simply instantiate the object ("new is the new new") and then use the xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service to inject other domain services into the instantiated object.
\ No newline at end of file
+An alternative to using the factory service is to simply instantiate the object ("new is the new new") and then use the xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`] service to inject other domain services into the instantiated object.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/Scratchpad.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/Scratchpad.adoc
index b955541..b99d121 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api/Scratchpad.adoc
@@ -32,7 +32,7 @@ This class (`o.a.i.applib.services.scratchpad.Scratchpad`) is also the implement
 And, as you can see, the service is just a request-scoped wrapper around a `java.util.Map`.
 
 
-To use an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -112,4 +112,4 @@ If using the xref:vw:ROOT:about.adoc[Wicket viewer], the `ToDoItemBulkUpdate` vi
 
 == Related Services
 
-The xref:rg:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`] is useful for caching the results of expensive method calls.
+The xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`] is useful for caching the results of expensive method calls.
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/UserService.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/UserService.adoc
similarity index 92%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/UserService.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/UserService.adoc
index f07b4a4..153120a 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/UserService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/core-domain-api/UserService.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 The `UserService` allows the domain object to obtain the identity of the user interacting with said object.
 
-If xref:rg:svc:testing/SudoService.adoc[`SudoService`] has been used to temporarily override the user and/or roles, then this service will report the overridden values instead.
+If xref:applib:svc:testing/SudoService.adoc[`SudoService`] has been used to temporarily override the user and/or roles, then this service will report the overridden values instead.
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/core-domain-api/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/core-domain-api/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/core-domain-api/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api.adoc b/core/applib/_adoc/modules/svc/pages/integration-api.adoc
similarity index 83%
rename from core/_adoc-rg/modules/svc/pages/integration-api.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api.adoc
index b1136e1..6606cc0 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api.adoc
+++ b/core/applib/_adoc/modules/svc/pages/integration-api.adoc
@@ -22,7 +22,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:integration-api/BookmarkService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:integration-api/BookmarkService.adoc[`o.a.i.applib.` +
 `services.bookmark` +
 `BookmarkService`]
 |Convert object reference to a serializable "bookmark", and vice versa.
@@ -37,7 +37,7 @@ It also lists their corresponding implementation, either a default implementatio
 `Contributions`
 
 
-|xref:rg:svc:integration-api/EmailService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:integration-api/EmailService.adoc[`o.a.i.applib.` +
 `services.email` +
 `EmailService`]
 |Send a HTML email, optionally with attachments.
@@ -48,7 +48,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:integration-api/JaxbService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:integration-api/JaxbService.adoc[`o.a.i.applib.` +
 `services.jaxb` +
 `JaxbService`]
 |Marshal and unmarshal JAXB-annotated view models to/from XML.
@@ -58,17 +58,17 @@ It also lists their corresponding implementation, either a default implementatio
 |
 
 
-|xref:rg:svc:integration-api/MementoService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:integration-api/MementoService.adoc[`o.a.i.applib.` +
 `services.memento` +
 `MementoService`]
-|Capture a serializable memento of a set of primitives or xref:rg:svc:integration-api/BookmarkService.adoc[bookmarks].  Primarily used internally, eg in support of commands/auditing.
+|Capture a serializable memento of a set of primitives or xref:applib:svc:integration-api/BookmarkService.adoc[bookmarks].  Primarily used internally, eg in support of commands/auditing.
 |`MementoServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
 |
 
 
-|xref:rg:svc:integration-api/XmlSnapshotService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:integration-api/XmlSnapshotService.adoc[`o.a.i.applib.` +
 `services.xmlsnapshot` +
 `XmlSnapshotService`]
 |Generate an XML representation of an object and optionally a graph of related objects.
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc b/core/applib/_adoc/modules/svc/pages/integration-api/BookmarkService.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api/BookmarkService.adoc
index 42c5c3c..c1b6414 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/integration-api/BookmarkService.adoc
@@ -22,7 +22,7 @@ For example, a `Bookmark` could be converted into a barcode, and then this used
 ====
 
 ``Bookmark``s are used by several other domain services as a means of storing a reference to an arbitrary object
-(a polymorphic relationship).  For example, the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s auditing module's implementation of xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] uses bookmarks to capture the object that is being audited.
+(a polymorphic relationship).  For example, the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s auditing module's implementation of xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`] uses bookmarks to capture the object that is being audited.
 
 [TIP]
 ====
@@ -57,7 +57,7 @@ public interface BookmarkService {
 
 The core framework provides a default implementation of this API, namely `o.a.i.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault`
 
-To use an alternative implementation, implement `BookmarkService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `BookmarkService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -104,10 +104,10 @@ A more sophisticated implementation could look inside the passed `ev` argument a
 
 == Usage by other services
 
-Bookmarks are used by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's implementation of  xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`], which uses a bookmark to capture the target object on which an action will be invoked subsequently.
+Bookmarks are used by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's implementation of  xref:applib:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`], which uses a bookmark to capture the target object on which an action will be invoked subsequently.
 
 Bookmarks are also used by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s auditing module's implementation of
-xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`].
+xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`].
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/EmailService.adoc b/core/applib/_adoc/modules/svc/pages/integration-api/EmailService.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/integration-api/EmailService.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api/EmailService.adoc
index 32f7787..277697b 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/EmailService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/integration-api/EmailService.adoc
@@ -86,7 +86,7 @@ NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.serv
 `email.` +
 `port` +
 | port number (`_587_`)
-|The port number for the SMTP service on the the external SMTP host (used by xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]).  +
+|The port number for the SMTP service on the the external SMTP host (used by xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]).  +
 
 NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.services.email`)
 
@@ -95,7 +95,7 @@ NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.serv
 `email.` +
 `sender.address` +
 | email address
-|The email address to use for sending out email (used by xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]).
+|The email address to use for sending out email (used by xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]).
 *Mandatory*.  +
 
 NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.services.email`)
@@ -105,7 +105,7 @@ NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.serv
 `email.` +
 `sender.hostname` +
 | host (`_smtp.gmail.com_`)
-|The hostname of the external SMTP provider (used by xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]).  +
+|The hostname of the external SMTP provider (used by xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]).  +
 
 NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.services.email`)
 
@@ -114,7 +114,7 @@ NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.serv
 `email.` +
 `sender.password` +
 | email password
-|The corresponding password for the email address to use for sending out email (used by xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]).
+|The corresponding password for the email address to use for sending out email (used by xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]).
 *Mandatory*.  +
 
 NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.services.email`)
@@ -159,7 +159,7 @@ NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.serv
 `tls.enabled`
 |`true`,`false` +
 (`true`)
-|Whether to enable TLS for the email SMTP connection (used by xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]).  +
+|Whether to enable TLS for the email SMTP connection (used by xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]).  +
 
 NB: note that the key is mis-spelt, (`isis.service.email` rather than `isis.services.email`)
 
@@ -171,7 +171,7 @@ Thus, use this service the following properties must be configured:
 * `isis.service.email.sender.address`
 * `isis.service.email.sender.password`
 
-and these properties may optionally be configured (each has a default to use gmail, documented xref:rg:cfg:configuring-core.adoc[here]):
+and these properties may optionally be configured (each has a default to use gmail, documented xref:cfg:ROOT:configuring-core.adoc[here]):
 
 * `isis.service.email.sender.hostname`
 * `isis.service.email.port`
@@ -243,4 +243,4 @@ To ensure that your alternative implementation takes the place of the default im
 
 == Related Services
 
-The email service is used by the xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`] which is, in turn, used by xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`].
\ No newline at end of file
+The email service is used by the xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`] which is, in turn, used by xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`].
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc b/core/applib/_adoc/modules/svc/pages/integration-api/JaxbService.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api/JaxbService.adoc
index 5c3d2ea..e5a1536 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/integration-api/JaxbService.adoc
@@ -38,12 +38,12 @@ public interface JaxbService {
 
 With respect to the `IsisSchemas` enum: a JAXB-annotated domain object will live in its own XSD namespace and may
 reference multiple other XSD schemas.  In particular, many JAXB domain objects will reference the
-xref:rg:cms:schema.adoc[common Isis schemas] (for example the `OidDto` class that represents a reference to
+xref:schema:ROOT:about.adoc[common Isis schemas] (for example the `OidDto` class that represents a reference to
 a persistent entity).  The enum indicates whether these schemas should be included or excluded from the map.
 
 Apache Isis provides a default implementation of the service, `o.a.i.applib.services.jaxb.JaxbServiceDefault`.
 
-To use an alternative implementation, implement `JaxbService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `JaxbService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -52,6 +52,6 @@ To use an alternative implementation, implement `JaxbService` interface and use
 This service is provided as a convenience for applications, but is also used internally by the framework to
 xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated
 xref:ug:fun:building-blocks.adoc#view-models[view models].  The functionality to download XML and XSD schemas is also
-exposed in the UI through mixins to xref:rg:cms:classes/mixins.adoc#Dto[`Dto`] interface.
+exposed in the UI through mixins to xref:applib:cms:classes/mixins.adoc#Dto[`Dto`] interface.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc b/core/applib/_adoc/modules/svc/pages/integration-api/MementoService.adoc
similarity index 96%
rename from core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api/MementoService.adoc
index 634a9f0..7efdd08 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/integration-api/MementoService.adoc
@@ -53,7 +53,7 @@ In fact, the `MementoServiceDefault` implementation does provide a mechanism to
 not part of the `MementoService` public API. Note also that the encoding method is not pluggable.
 ====
 
-To use an alternative implementation, implement `MementoService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `MementoService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 The types of objects that are supported by the `MementoService` are implementation-specific, but would typically
 include all the usual value types as well as Apache Isis' `Bookmark` class (to represent references to arbitrary
@@ -81,7 +81,7 @@ If using another implementation, the `canSet(...)` method can be used to check i
 
 == Usage
 
-As noted in the introduction, a common use case for this service is in the implementation of the xref:rg:cms:classes/super.adoc#AbstractViewModel[`ViewModel`] interface.
+As noted in the introduction, a common use case for this service is in the implementation of the xref:applib:cms:classes/super.adoc#AbstractViewModel[`ViewModel`] interface.
 
 [TIP]
 ====
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc b/core/applib/_adoc/modules/svc/pages/integration-api/XmlSnapshotService.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api/XmlSnapshotService.adoc
index 300d92f..7f7a01e 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/integration-api/XmlSnapshotService.adoc
@@ -195,11 +195,11 @@ The core framework provides an implementation of this service (`o.a.i.core.runti
 
 == Related Services
 
-The xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`] provides a mechanism for obtaining a string representations of a single domain object.
+The xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`] provides a mechanism for obtaining a string representations of a single domain object.
 
-The xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] also provides a mechanism for generating string representations of domain objects.
+The xref:applib:svc:integration-api/MementoService.adoc[`MementoService`] also provides a mechanism for generating string representations of domain objects.
 
-The xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] is a simple wrapper around
+The xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`] 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:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]) to be used as view models.
 
diff --git a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/integration-api/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/bootstrapping-spi/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/integration-api/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/intro.adoc b/core/applib/_adoc/modules/svc/pages/intro.adoc
similarity index 73%
rename from core/_adoc-rg/modules/svc/pages/intro.adoc
rename to core/applib/_adoc/modules/svc/pages/intro.adoc
index e8b563e..8fd98c9 100644
--- a/core/_adoc-rg/modules/svc/pages/intro.adoc
+++ b/core/applib/_adoc/modules/svc/pages/intro.adoc
@@ -15,8 +15,8 @@ The diagram below shows these categories:
 image::reference-services/categories.png[width="600px",link="{imagesdir}/reference-services/categories.png"]
 
 
-A small number of domain services can be considered both API and SPI; a good example is the xref:rg:svc:integration-api/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/user-registration.adoc[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
-The same is true of the xref:rg:svc:core-domain-api/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
+A small number of domain services can be considered both API and SPI; a good example is the xref:applib:svc:integration-api/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/user-registration.adoc[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
+The same is true of the xref:applib:svc:core-domain-api/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:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] etc.
 
 For these hybrid services we have categorized the service as an "API" service.
@@ -68,9 +68,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:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`] or the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`]'s will automatically inject the services.
+For transient objects (instantiated programmatically), the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService#instantiate(...)`] or the xref:applib:svc:core-domain-api/RepositoryService.adoc[`RepositoryService#instantiate(...)`]'s will automatically inject the services.
 
-Alternatively the object can be instantiated simply using `new`, then services injected using xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`]'s ``injectServicesInto(...)`` method.
+Alternatively the object can be instantiated simply using `new`, then services injected using xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry`]'s ``injectServicesInto(...)`` method.
 
 
 
@@ -87,12 +87,12 @@ attribute, specifying a low number (typically `"1"`).
 ====
 For a small number of domain services, all implementations are used (following the chain-of-responsibility pattern), not just the first one.
 The services in question are:
-xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`],
-xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], and
-xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`].
+xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`],
+xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], and
+xref:applib:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`].
 ====
 
-For example, suppose you wanted to provide your own implementation of xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`].
+For example, suppose you wanted to provide your own implementation of xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`].
 Here's how:
 
 [source,java]
@@ -156,50 +156,50 @@ image::reference-services/commands-and-events.png[width="960px",link="{imagesdir
 
 To explain:
 
-* the (request-scoped) xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] captures the user's intention to
+* the (request-scoped) xref:applib:svc:application-layer-api/CommandContext.adoc[`CommandContext`] captures the user's intention to
 invoke an action or edit a property; this is held by the `Command` object.
 
-* if a xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured, then this will be used to create the `Command` object implementation, generally so that it can then also be persisted.
+* if a xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured, then this will be used to create the `Command` object implementation, generally so that it can then also be persisted.
 +
 If the action or property is annotated to be invoked in the background (using xref:applib:ant:Action.adoc#command[`@Action#command...()`] or xref:applib:ant:Property.adoc#command[`@Property#command...()`]) then no further work is done.
 But, if the action/property is to be executed in the foreground, then the interaction continues.
 
-* the (request-scoped) xref:rg:svc:application-layer-api/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:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] extensively each successive call results in a new child execution.
+* the (request-scoped) xref:applib:svc:application-layer-api/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:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] extensively each successive call results in a new child execution.
 
-* before and after each action invocation/property edit, a xref:rg:cms:classes/domainevent.adoc[domain event] is may be broadcast to all subscribers.
+* before and after each action invocation/property edit, a xref:applib:cms:classes/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:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] or xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`]).
 +
 (Note that susbcribers 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:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service.
-Metrics as to which objects are merely loaded into memory are also captured using the xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] (not shown on the diagram).
+Metrics as to which objects are merely loaded into memory are also captured using the xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] (not shown on the diagram).
 
 * At the end of each execution, details of that execution are published through the (internal)
 xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`]).
 +
-The internal service delegates in turn to any registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`]s (there may be more than one).
+The internal service delegates in turn to any registered xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`]s (there may be more than one).
 
 * At the end of each transaction, details of all changed objects are published, again through the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
 Only domain objects specified to be published with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] are published. +
 +
 [NOTE]
 ====
-Note that it's possible for there to be more than one transaction per top-level interaction, by virtue of the xref:rg:svc:application-layer-api/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:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`].
 ====
 
-* Also at the end of each transaction, details of all changed properties are passed to any registered xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s) by way of the (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] domain service.
+* Also at the end of each transaction, details of all changed properties are passed to any registered xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s) by way of the (internal) xref:fis:ROOT:persistence-layer/AuditingServiceInternal.adoc[`AuditingServiceInternal`] domain service.
 
-Implementations of xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:rg:cms:schema.adoc#cmd[`cmd.xsd`] schema.
+Implementations of xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] can use the `Command#getMemento()` method to obtain a XML equivalent of that `Command`, reified using the xref:xref:schema:ROOT: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:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] 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.
+Similarly, implementations of xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] 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.
 This can be converted into XML in a similar fashion.
 
 Likewise, the `PublishedObjects` class passed to the `PublisherService` at the end of the interaction provides the `PublishedObjects#getDto()` method which returns a `ChangesDto` instance.
 This can be converted into XML using the `ChangesDtoUtils` utility class.
 
-One final point: multiple xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] implementations are supported because different implementations may have different responsibilities.
+One final point: multiple xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] implementations are supported because different implementations may have different responsibilities.
 For example, the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module is responsible for publishing messages onto an ActiveMQ event bus, for inter-system communication.
 However, the SPI can also be used for profiling; each execution within the call-graph contains metrics of the number of objects loaded or modified as a result of that execution, and thus could be used for application profiling.
 The framework provides a default `PublisherServiceLogging` implementation that logs this using SLF4J.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api.adoc
similarity index 90%
rename from core/_adoc-rg/modules/svc/pages/metadata-api.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api.adoc
index 4015311..bd786cd 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api.adoc
+++ b/core/applib/_adoc/modules/svc/pages/metadata-api.adoc
@@ -20,7 +20,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Notes
 
 
-|xref:rg:svc:metadata-api/ApplicationFeatureRepository.adoc[`o.a.i.applib.` +
+|xref:applib:svc:metadata-api/ApplicationFeatureRepository.adoc[`o.a.i.applib.` +
 `services.appfeat` +
 `ApplicationFeatureRepository`]
 |Provides access to string representations of the features (package, class, class members) of the domain classes
@@ -32,7 +32,7 @@ within the metamodel.
 
 
 
-|xref:rg:svc:metadata-api/LayoutService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:metadata-api/LayoutService.adoc[`o.a.i.applib.` +
 `services.layout` +
 `LayoutService`]
 |Provides the ability to download `Xxx.layout.xml` files, in various styles.
@@ -44,7 +44,7 @@ within the metamodel.
 
 
 
-|xref:rg:svc:metadata-api/MetamodelService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:metadata-api/MetamodelService.adoc[`o.a.i.applib.` +
 `services.metamodel` +
 `MetaModelService`]
 |Access to certain information from the Apache Isis metamodel.
@@ -54,7 +54,7 @@ within the metamodel.
 |Functionality surfaced in the UI through related menu.
 
 
-|xref:rg:svc:metadata-api/ServiceRegistry.adoc[`o.a.i.applib.` +
+|xref:applib:svc:metadata-api/ServiceRegistry.adoc[`o.a.i.applib.` +
 `services.registry` +
 `ServiceRegistry`]
 |Methods to access and use other domain services.
@@ -67,7 +67,7 @@ within the metamodel.
 
 
 
-|xref:rg:svc:metadata-api/SwaggerService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:metadata-api/SwaggerService.adoc[`o.a.i.applib.` +
 `services.swagger` +
 `SwaggerService`]
 |Generates link:http://swagger.io/[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].  These can then be used with the link:http://swagger.io/swagger-ui/[Swagger UI] page to explore the REST API, or used to generate client-side stubs using the link:http://swagger.io/swagger-codegen/[Swagger codegen] tool, eg for use in a custom REST client app.
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/ApplicationFeatureRepository.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api/ApplicationFeatureRepository.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/metadata-api/ApplicationFeatureRepository.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api/ApplicationFeatureRepository.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api/LayoutService.adoc
similarity index 88%
rename from core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api/LayoutService.adoc
index 255d3c7..23f0968 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/metadata-api/LayoutService.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `LayoutService` provides the ability to obtain the XML layout for a single domain object or for all domain
-objects.  This functionality is surfaced through the user interface through a related xref:rg:svc:metadata-api/LayoutService.adoc#related-mixins-and-menus[mixin and menu action].
+objects.  This functionality is surfaced through the user interface through a related xref:applib:svc:metadata-api/LayoutService.adoc#related-mixins-and-menus[mixin and menu action].
 
 
 
@@ -85,7 +85,7 @@ As a developer, you therefore have a choice as to how you provide the metadata r
 
 The service's functionality is exposed in the UI through a mixin (per object) and a menu action (for all objects):
 
-* the xref:rg:cms:classes/mixins.adoc#Object[`Object` mixin] provides the ability to download the XML layout for
+* the xref:applib:cms:classes/mixins.adoc#Object[`Object` mixin] provides the ability to download the XML layout for
 any domain object (entity or view model).
 
 * the `LayoutServiceMenu` provides the ability to download all XML layouts as a single ZIP file (in any of the
@@ -98,6 +98,6 @@ desired.
 
 == Related Domain Services
 
-The xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] is responsible for loading and normalizing layout XML for
-a domain class.  It in turn uses the xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and  xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`]
+The xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] is responsible for loading and normalizing layout XML for
+a domain class.  It in turn uses the xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and  xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`]
 services.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api/MetamodelService.adoc
similarity index 95%
rename from core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api/MetamodelService.adoc
index 05a5008..ade8430 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/metadata-api/MetamodelService.adoc
@@ -71,7 +71,7 @@ If an `AppManifest2` was used (from a `Module`), then this is also returned (els
 
 <8> obtain an implementation of `CommandDtoProcessor` (if any) as per an xref:applib:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:applib:ant:Property.adoc#command[`@Property#commandDtoProcessor()`].
 +
-This is used by the xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc#implementations[framework-provided implementations] of `ContentMappingService`.
+This is used by the xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc#implementations[framework-provided implementations] of `ContentMappingService`.
 
 <9> Exports the entire metamodel as a DTO, serializable into XML using JAXB.
 +
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/ServiceRegistry.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api/ServiceRegistry.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/metadata-api/ServiceRegistry.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api/ServiceRegistry.adoc
index 228b282..2c610d0 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/ServiceRegistry.adoc
+++ b/core/applib/_adoc/modules/svc/pages/metadata-api/ServiceRegistry.adoc
@@ -28,7 +28,7 @@ public interface ServiceRegistry {
 <4> returns the list of all domain services that constitute the running application (including internal domain services).
 
 Service injection is done automatically if objects are created using the
-xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
+xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
 
 
 
@@ -46,7 +46,7 @@ cust.setLastName("Mercury");
 repositoryService.persist(cust);
 ----
 
-The alternative is to use the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`] API which performs both steps in a single factory method.
+The alternative is to use the xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`] API which performs both steps in a single factory method.
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api/SwaggerService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api/SwaggerService.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/metadata-api/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-spi/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/metadata-api/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api.adoc
similarity index 89%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api.adoc
index 337ff53..2579725 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-api.adoc
@@ -22,7 +22,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Notes
 
 
-|xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`o.a.i.applib.` +
 `services.jdosupport` +
 `IsisJdoSupport`]
 |Lower level access to the JDO Persistence API.
@@ -32,7 +32,7 @@ It also lists their corresponding implementation, either a default implementatio
 |
 
 
-|xref:rg:svc:persistence-layer-api/MetricsService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-api/MetricsService.adoc[`o.a.i.applib.` +
 `services.metrics` +
 `MetricsService`]
 |Gathers and provides metrics on the numbers of objects used within a transaction.
@@ -42,7 +42,7 @@ It also lists their corresponding implementation, either a default implementatio
 |
 
 
-|xref:rg:svc:persistence-layer-api/QueryResultsCache.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[`o.a.i.applib.` +
 `services.` +
 `queryresultscache` +
 `QueryResultsCache`]
@@ -54,7 +54,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`o.a.i.applib.` +
 `services.repository` +
 `RepositoryService`]
 |Methods to help implement repositories: query for existing objects, persist new or delete existing objects
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/H2ManagerMenu.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/H2ManagerMenu.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/H2ManagerMenu.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/H2ManagerMenu.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/HsqlDbManagerMenu.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/HsqlDbManagerMenu.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/HsqlDbManagerMenu.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/HsqlDbManagerMenu.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
similarity index 95%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
index 034121e..91e046c 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 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:rg:svc:core-domain-api/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:applib:svc:core-domain-api/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.
@@ -51,7 +51,7 @@ The returned value is the number of rows updated.
 
 [TIP]
 ====
-As an alternative, consider using DataNucleus' link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[type-safe JDO query API], discussed xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc#type-safe-query-api[below].
+As an alternative, consider using DataNucleus' link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[type-safe JDO query API], discussed xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc#type-safe-query-api[below].
 ====
 
 
@@ -117,7 +117,7 @@ public List<ToDoItem> findByAtPathAndCategory(final String atPath, final Categor
 
 [NOTE]
 ====
-You can find the full example of the JDOQL equivalent in the xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]
+You can find the full example of the JDOQL equivalent in the xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`]
 ====
 
 
@@ -145,7 +145,7 @@ private static <T> List<T> executeListAndClose(final TypesafeQuery<T> query) {
 
 == Fixture support
 
-When writing xref:integ-test-support:ROOT:about.adoc[integration tests] you'll usually need to tear down some/all mutable transactional data before each test.  One way to do that is to use the `executeUpdate(...)` method described xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc#executing-sql[above].
+When writing xref:integ-test-support:ROOT:about.adoc[integration tests] you'll usually need to tear down some/all mutable transactional data before each test.  One way to do that is to use the `executeUpdate(...)` method described xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc#executing-sql[above].
 
 Alternatively, the `deleteAll(...)` method will let your test delete all instances of a class without resorting to SQL:
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/MetricsService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc
similarity index 73%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/MetricsService.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc
index c5c8ccf..7e393d3 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/MetricsService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/MetricsService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `MetricsService` is a request-scoped domain service that hooks into the JDO/DataNucleus ObjectStore to provide a number of counters relating to numbers of object loaded, dirtied etc.
 
-The service is used by the xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service (to populate the DTO held by the `Interaction.Execution`) and also by the (internal) xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] domain service (to populate the `PublishedObjects` class.
+The service is used by the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service (to populate the DTO held by the `Interaction.Execution`) and also by the (internal) xref:fis:ROOT:persistence-layer/PublishingServiceInternal.adoc[`PublishingServiceInternal`] domain service (to populate the `PublishedObjects` class.
 
 
 == API & Implementation
@@ -29,7 +29,7 @@ Corresponds to the number of times that `javax.jdo.listener.LoadLifecycleListene
 <2> The number of objects that have, so far in this request, been dirtied/will need updating in the database); a good measure of the footprint of the interaction.
 Corresponds to the number of times that `javax.jdo.listener.DirtyLifecycleListener#preDirty(InstanceLifecycleEvent)` callback is fired.
 <3> The number of individual properties of objects that were modified; a good measure of the amount of work being done in the interaction.
-Corresponds to the number of times that the xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`]'s `audit(...)` method will be called as the transaction completes.
+Corresponds to the number of times that the xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`]'s `audit(...)` method will be called as the transaction completes.
 
 The framework provides a default implementation of this API, namely `o.a.i.c.r.s.metrics.MetricsServiceDefault`.
 
@@ -37,4 +37,4 @@ The framework provides a default implementation of this API, namely `o.a.i.c.r.s
 
 == Related Services
 
-The xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] also captures the metrics gathered by the `MetricsService` and publishes them as part of the `PublishedObjects` class (part of its SPI).
+The xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] also captures the metrics gathered by the `MetricsService` and publishes them as part of the `PublishedObjects` class (part of its SPI).
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
similarity index 89%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
index 5481992..5b2a3bf 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
@@ -57,7 +57,7 @@ public class QueryResultsCache {
 
 This class (`o.a.i.applib.services.queryresultscache.QueryResultsCache`) is also the implementation.
 
-To use an alternative implementation, subclass `QueryResultsCache` and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, subclass `QueryResultsCache` and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -112,4 +112,4 @@ This refactoring will be worthwhile provided that enough of the orders being pro
 
 == Related Services
 
-The xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service is also intended for actions that are called many times, allowing arbitrary information to be shared between them. Those methods could be called from some outer loop in domain code, or by the framework itself if the action invoked has the xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`] annotation attribute set to `OBJECT_AND_COLLECTION` or `COLLECTION_ONLY`.
\ No newline at end of file
+The xref:applib:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service is also intended for actions that are called many times, allowing arbitrary information to be shared between them. Those methods could be called from some outer loop in domain code, or by the framework itself if the action invoked has the xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`] annotation attribute set to `OBJECT_AND_COLLECTION` or `COLLECTION_ONLY`.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/RepositoryService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/RepositoryService.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-api/RepositoryService.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/RepositoryService.adoc
index 0628f5d..8d4819f 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/RepositoryService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/RepositoryService.adoc
@@ -10,7 +10,7 @@ It acts as an abstraction over the JDO/DataNucleus objectstore.
 
 You can use it during prototyping to write naive queries (find all rows, then filter using the Guava `Predicate` API, or you can use it to call JDO link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/query.html#named[named queries] using JDOQL.
 
-As an alternative, you could also use link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[JDO typesafe queries] through the xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] service.
+As an alternative, you could also use link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[JDO typesafe queries] through the xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`] service.
 
 
 
@@ -46,7 +46,7 @@ public interface RepositoryService {
 ----
 <1> create a new non-persisted domain entity.
 This is identical to
-xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`]'s `instantiate(...)` method, but is provided in the
+xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`]'s `instantiate(...)` method, but is provided in the
 ``RepositoryService``'s API too because instantiating and persisting objects are often done together.
 <2> test whether a particular domain object is persistent or not
 <3> persist (ie save) an object to the persistent object store (or do nothing if it is already persistent).
@@ -96,7 +96,7 @@ These are then executed either when the request completes (and the transaction c
 This can be done either implicitly by the framework, or as the result of a direct call to `#flush()`.
 
 By default the framework itself will cause `#flush()` to be called whenever a query is executed by way of `#allMatches(Query)`.
-However, this behaviour can be disabled using the  xref:rg:cfg:configuring-core.adoc[configuration property] `isis.services.container.disableAutoFlush`.
+However, this behaviour can be disabled using the  xref:cfg:ROOT:configuring-core.adoc[configuration property] `isis.services.container.disableAutoFlush`.
 
 
 
@@ -234,7 +234,7 @@ The first parameter is the `start` (0-based, the second is the `count`.
 [TIP]
 ====
 It is also possible to query using DataNucleus' type-safe query API.
-For more details, see xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`].
+For more details, see xref:applib:svc:persistence-layer-api/IsisJdoSupport.adoc[`IsisJdoSupport`].
 ====
 
 
@@ -267,5 +267,5 @@ The default implementation of this domain service supports the following configu
 
 == Usage Notes
 
-The xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`] is often used in conjunction with the `RepositoryService`, to instantiate domain objects before persisting.
+The xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`] is often used in conjunction with the `RepositoryService`, to instantiate domain objects before persisting.
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-api/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/application-layer-api/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-api/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-spi.adoc
index 0d39cf1..a810984 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi.adoc
@@ -23,7 +23,7 @@ It also lists their corresponding implementation, either a default implementatio
 
 
 
-|xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`o.a.i.applib.` +
 `services.audit` +
 `AuditerService`]
 |Create an audit record for every changed property of every changed object within a transaction.
@@ -37,7 +37,7 @@ also +
 
 
 
-|xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`o.a.i.applib.` +
 `services.publish` +
 `PublisherService`]
 |Publish any action invocations/property edits and changed objects, typically for interchange with an external system in a different bounded context.
@@ -53,7 +53,7 @@ also +
 
 
 
-|xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[`o.a.i.applib.` +
 `services.userreg` +
 `UserRegistrationService`]
 |Create a new user account with the configured security mechanism.
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
similarity index 92%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
index 66663ff..ff0ccec 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
@@ -89,7 +89,7 @@ the secondary menu bar.
 * `AuditingServiceRepository` service to to search for persisted `AuditEntry``s.
 None of its actions are visible in the user interface (they are all `@Programmatic`).
 
-* `AuditingServiceContributions` which contributes collections to the xref:rg:cms:classes/mixins.adoc#HasTransactionId[ `HasTransactionId`] interface.
+* `AuditingServiceContributions` which contributes collections to the xref:applib:cms:classes/mixins.adoc#HasTransactionId[ `HasTransactionId`] interface.
 This will therefore display all audit entries that occurred in a given request/transaction, in other words whenever a command, a published event or another audit entry is displayed.
 
 
@@ -101,9 +101,9 @@ If menu items or contributions are not required in the UI, these can be suppress
 
 == Related Services
 
-The auditing service works very well with implementations of xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] that persist the ``Interaction.Execution`` objects obtained from the xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] service.
+The auditing service works very well with implementations of xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] that persist the ``Interaction.Execution`` objects obtained from the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] service.
 The interaction execution captures the _cause_ of an interaction (an action was invoked, a property was edited), while the `AuditerService` audit entries capture the _effect_ of that interaction in terms of changed state.
 
-The xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] can also be combined with the auditer service, however
+The xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] can also be combined with the auditer service, however
 ``Command``s are primarily concerned with capture the _intent_ of an action, not the actual action invocation itself.
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
similarity index 83%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
index 0fbabc3..3eb764b 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
@@ -11,8 +11,8 @@ Events that can be published are action invocations/property edits, and changed
 A typical use case is to publish onto a pub/sub bus such as link:http://activemq.apache.org/[ActiveMQ] with link:http://camel.apache.org[Camel] to keep other systems up to date.
 
 An alternative use is for profiling: for each execution (action invocation/property edit) the framework captures metrics of the number of objects loaded or dirtied as the result of that execution.
-If the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to call other objects then the metrics are captured for each sub-execution.
-The framework provides a default implementation, `PublisherServiceLogging`, that will log these execution graphs (in XML form, per the xref:rg:cms:schema.adoc#ixn["ixn" schema]) to an SLF4J logger.
+If the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to call other objects then the metrics are captured for each sub-execution.
+The framework provides a default implementation, `PublisherServiceLogging`, that will log these execution graphs (in XML form, per the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) to an SLF4J logger.
 
 Only actions/properties/domain objects annotated for publishing (using xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`], xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] or xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) are published.
 
@@ -31,8 +31,8 @@ public interface PublisherService {
 <1> to publish an individual action invocation or property edit, as captured within an `Interaction.Execution`.
 <2> to publish a set of changed objects.
 
-Each `Interaction.Execution` has an owning `Interaction`; this is the same object obtainable from xref:rg:svc:spi/InteractionContext.adoc[`InteractionContext`].
-Implementations that publish member executions can use `Interaction.Execution#getDto()` method to return a DTO (as per the xref:rg:cms:schema.adoc#ixn["ixn" schema]) which can be converted into a serializable XML representation using the `InteractionDtoUtils` utility class.
+Each `Interaction.Execution` has an owning `Interaction`; this is the same object obtainable from xref:applib:svc:spi/InteractionContext.adoc[`InteractionContext`].
+Implementations that publish member executions can use `Interaction.Execution#getDto()` method to return a DTO (as per the xref:xref:schema:ROOT:ixn.adoc["ixn" schema]) which can be converted into a serializable XML representation using the `InteractionDtoUtils` utility class.
 The XML can either serialize a single execution, or can be a "deep" serialization of an execution and all sub-executions.
 
 The full API of `PublishedObjects` itself is:
@@ -55,7 +55,7 @@ public interface PublishedObjects extends HasTransactionId, HasUsername {
 <1> inherited from `HasTransactionId`, correlates back to the unique identifier of the transaction in which these objects were changed.
 <2> inherited from `HasUsername`, is the user that initiated the transaction causing these objects to change
 <3> the time that this set of objects was collated (just before the completion of the transaction completes)..
-<4> returns a DTO (as per the xref:rg:cms:schema.adoc#chg["chg" schema]) which can be converted into a serializable XML representation can be obtained using the `ChangesDtoUtils` utility class.
+<4> returns a DTO (as per the xref:xref:schema:ROOT:chg.adoc["chg" schema]) which can be converted into a serializable XML representation can be obtained using the `ChangesDtoUtils` utility class.
 <5> metrics as to the number of objects loaded, created, updated or deleted and the number of object properties modified (in other words the "size" or "weight" of the transaction).
 
 
@@ -120,15 +120,15 @@ This service supports two main use cases:
 
 To support these use cases several other services are involved:
 
-* the xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] is used to obtain the `Interaction` from which the member executions are published.
+* the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] is used to obtain the `Interaction` from which the member executions are published.
 
 * the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service is used to obtain the set of objects modified throughout the transaction
 
 * the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
 
-* the xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the `PublishedObjects` object passed through to the `PublisherService`.
+* the xref:applib:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the `PublishedObjects` object passed through to the `PublisherService`.
 
-The xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] differs from the `PublisherService` in that it is intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Isis domain object model.
+The xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] differs from the `PublisherService` in that it is intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Isis domain object model.
 The event propagation is strictly in-memory, and there are no restrictions on the object acting as the event; it need not be serializable, for example.
-That said, it is possible to obtain a serialization of the action invocation/property edit causing the current event to be raised using xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service.
+That said, it is possible to obtain a serialization of the action invocation/property edit causing the current event to be raised using xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service.
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
similarity index 90%
rename from core/_adoc-rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
index 9b79ddd..3ecbbd3 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/UserRegistrationService.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 The `UserRegistrationService` provides the ability for users to sign-up to access an application by providing a valid email address, and also provides the capability for users to reset their password if forgotten.
 
-For user sign-up, the xref:vw:ROOT:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`]) is available, and if so will render a sign-up page where the user enters their email address.
+For user sign-up, the xref:vw:ROOT:about.adoc[Wicket viewer] will check whether an implementation of this service (and also the xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`]) is available, and if so will render a sign-up page where the user enters their email address.
 A verification email is sent (using the aforementioned `EmailNotificationService`) which includes a link back to the running application; this allows the user then to complete their registration process (choose user name, password and so on).
 When the user has provided the additional details, the Wicket viewer calls _this_ service in order to create an account for them, and then logs the user on.
 
@@ -87,8 +87,8 @@ Without any role such user will be able only to see/use the logout link of the a
 The most common use case is to allow users to sign-up through Apache Isis' Wicket viewer.
 Because the process requires email to be sent, the following services must be configured:
 
-* xref:rg:svc:integration-api/EmailService.adoc[`EmailService`]
-* xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`]
+* xref:applib:svc:integration-api/EmailService.adoc[`EmailService`]
+* xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`]
 * `UserRegistrationService` (this service)
 
-The `EmailService` in particular requires additional xref:rg:cfg:configuring-core.adoc[configuration properties] to specify the external SMTP service.
\ No newline at end of file
+The `EmailService` in particular requires additional xref:cfg:ROOT:configuring-core.adoc[configuration properties] to specify the external SMTP service.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/schema/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/persistence-layer-spi/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/schema/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/persistence-layer-spi/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api.adoc
similarity index 89%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api.adoc
index a6449d6..0dc3fca 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-api.adoc
@@ -21,7 +21,7 @@ It also lists their corresponding implementation.
 |Implementation
 |Notes
 
-|xref:rg:svc:presentation-layer-api/AcceptHeaderService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-api/AcceptHeaderService.adoc[`o.a.i.applib.` +
 `services.acceptheader` +
 `AcceptHeaderService`]
 |Request-scoped access to HTTP Accept headers.
@@ -31,7 +31,7 @@ It also lists their corresponding implementation.
 |Implementation only usable within the xref:vro:ROOT:about.adoc[Restful Objects viewer].
 
 
-|xref:rg:svc:presentation-layer-api/BookmarkUiService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-api/BookmarkUiService.adoc[`o.a.i.applib.` +
 `services.bookmarkui` +
 `BookmarkUiService`]
 |Manage bookmarks and breadcrumbs in the (Wicket) UI.
@@ -41,7 +41,7 @@ It also lists their corresponding implementation.
 |(Implementation only usable within the xref:vw:ROOT:about.adoc[Wicket viewer].
 
 
-|xref:rg:svc:presentation-api/DeepLinkService.adoc[`o.a.i.applib` +
+|xref:applib:svc:presentation-api/DeepLinkService.adoc[`o.a.i.applib` +
 `services.deeplink` +
 `DeepLinkService`]
 |Obtain a URL to a domain object (eg for use within an email or report)
@@ -51,7 +51,7 @@ It also lists their corresponding implementation.
 |Implementation only usable within the xref:vw:ROOT:about.adoc[Wicket viewer].
 
 
-|xref:rg:svc:presentation-api/GuiceBeanProvider.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-api/GuiceBeanProvider.adoc[`o.a.i.applib.` +
 `services.guice` +
 `GuiceBeanProvider`]
 |Access to internal framework services initialized using Guice DI.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
similarity index 88%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
index de5dc29..1bf2a6b 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
@@ -10,7 +10,7 @@ Its intended use is to support multiple versions of a REST API, where the respon
 
 [NOTE]
 ====
-As an alternative to performing content negotiation within the domain classes, the xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] SPI domain services allow the framework to perform the content negotiation responsibility.
+As an alternative to performing content negotiation within the domain classes, the xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] and xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] SPI domain services allow the framework to perform the content negotiation responsibility.
 ====
 
 == API & Implementation
@@ -37,7 +37,7 @@ The default implementation is provided by `o.a.i.v.ro.rendering.service.accepthe
 Note that the service will only return a list when the request is initiated through the xref:vro:ROOT:about.adoc[Restful Objects viewer].  Otherwise the service will return `null`.
 ====
 
-To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -58,7 +58,7 @@ Based on this it delegates to the appropriate underlying domain service (with a
 The service does not define any conventions as to the format of the media types.
 The option is to use the media type's type/subtype, eg `application/vnd.myrestapi-v1+json`; an alternative is to use a media type parameter as a hint, eg `application/json;x-my-rest-api-version=1` (where `x-my-rest-api-version` is the media type parameter).
 
-The Restful Objects specification does this something similar with its own `x-ro-domain-type` media type parameter; this is used by the xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] to determine how to map domain objects to view models/DTOs.
+The Restful Objects specification does this something similar with its own `x-ro-domain-type` media type parameter; this is used by the xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] to determine how to map domain objects to view models/DTOs.
 ====
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/BookmarkUiService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/BookmarkUiService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api/BookmarkUiService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api/BookmarkUiService.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/ConfigurationViewService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/ConfigurationViewService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api/ConfigurationViewService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api/ConfigurationViewService.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
similarity index 85%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
index b246535..24a76f3 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/DeepLinkService.adoc
@@ -26,13 +26,13 @@ public interface DeepLinkService {
 
 The xref:vw:ROOT:about.adoc[Wicket viewer] provides an implementation of this service `o.a.i.viewer.wicket.viewer.services.DeepLinkServiceWicket`.
 
-For the xref:vro:ROOT:about.adoc[RestfulObjects viewer], a URL can be constructed according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+For the xref:vro:ROOT:about.adoc[RestfulObjects viewer], a URL can be constructed according to the link:http://www.restfulobjects.org[Restful Objects spec] in conjunction with a `Bookmark` obtained via the xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
 
 
 == Usage within the framework
 
-The xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`] uses this service in order to generate emails as part of xref:vw:ROOT:features/user-registration.adoc[user registration].
+The xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[`EmailNotificationService`] uses this service in order to generate emails as part of xref:vw:ROOT:features/user-registration.adoc[user registration].
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
similarity index 95%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
index de9c0df..567cd09 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
@@ -10,7 +10,7 @@ TODO: v2: this service has been deleted - remove this doc and update the migrati
 The `GuiceBeanProvider` domain service acts as a bridge between Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer] internal bootstrapping using link:https://github.com/google/guice[Google Guice].
 
 This service operates at a very low-level, and you are unlikely to have a need for it.
-It is used internally by the framework, in the default implementation of the xref:rg:svc:presentation-api/DeepLinkService.adoc[`DeepLinkService`].
+It is used internally by the framework, in the default implementation of the xref:applib:svc:presentation-api/DeepLinkService.adoc[`DeepLinkService`].
 
 [NOTE]
 ====
@@ -36,7 +36,7 @@ public interface GuiceBeanProvider {
 
 The xref:vw:ROOT:about.adoc[Wicket viewer] this provides a default implementation of this service.
 
-To use an alternative implementation, implement the `GuideBeanProvider` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `GuideBeanProvider` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-api/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/methods/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-api/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi.adoc
similarity index 73%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi.adoc
index 2c76b91..3485cc3 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi.adoc
@@ -21,7 +21,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Notes
 
 
-|xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`o.a.i.applb.` +
+|xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`o.a.i.applb.` +
 `services.conmap` +
 `ContentMappingService`]
 |(Attempt to) map the returned data into the representation required by the client's HTTP `Accept` header.
@@ -33,10 +33,10 @@ No default implementation.
 
 
 
-|xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[`o.a.i.applib.` +
 `services.userreg` +
 `EmailNotificationService`]
-|Notify a user during xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[self-registration] of users.
+|Notify a user during xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[self-registration] of users.
 |`EmailNotificationService-` +
 `Default` +
 ``o.a.i.core`` +
@@ -45,7 +45,7 @@ No default implementation.
 a configured `EmailService`
 
 
-|xref:rg:svc:presentation-layer-spi/ErrorReportingService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/ErrorReportingService.adoc[`o.a.i.applib.` +
 `services.error` +
 `ErrorReportingService`]
 |Record details of an error occurring in the system (eg in an external incident recording system such as JIRA), and return a more friendly (jargon-free) message to display to the end user, with optional reference (eg `XXX-1234`).
@@ -53,7 +53,7 @@ a configured `EmailService`
 |
 
 
-|xref:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`o.a.i.applib.` +
 `services.exceprecog` +
 `ExceptionRecognizer`]
 |Convert certain exceptions (eg foreign or unique key violation in the database) into a format that can be rendered to the end-user.
@@ -65,7 +65,7 @@ a configured `EmailService`
 |Extensible using composite pattern if required
 
 
-|xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`o.a.i.applib.` +
 `services.grid` +
 `GridSystemService`]
 |Validates and normalizes the grid layout for a domain class (with respect to a particular grid
@@ -76,7 +76,7 @@ system such as Bootstrap3), also providing a default grid (for those domain clas
 |
 
 
-|xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`o.a.i.applib.` +
 `services.grid` +
 `GridLoaderService`]
 |Responsible for loading a grid layout for a domain class, eg from a `layout.xml` file.
@@ -86,11 +86,11 @@ system such as Bootstrap3), also providing a default grid (for those domain clas
 |
 
 
-|xref:rg:svc:presentation-layer-spi/GridService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/GridService.adoc[`o.a.i.applib.` +
 `services.grid` +
 `GridService`]
-|A facade on top of both xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and
-xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], thus being able to return normalized
+|A facade on top of both xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and
+xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], thus being able to return normalized
 grids for any domain class.
 |`GridServiceDefault` +
 ``o.a.i.core`` +
@@ -98,7 +98,7 @@ grids for any domain class.
 |
 
 
-|xref:rg:svc:presentation-layer-spi/HintStore.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/HintStore.adoc[`o.a.i.applib.` +
 `services.hint` +
 `HintStore`]
 |Stores UI hints on a per-object basis. For example, the viewer remembers which tabs are selected, and for collections which view is selected (eg table or hidden), which page of a table to render, or whether "show all" (rows) is toggled.
@@ -108,29 +108,29 @@ grids for any domain class.
 |
 
 
-|xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`o.a.i.applib.` +
 `services.i18n` +
 `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:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`].
 |`LocaleProviderWicket` +
 ``o.a.i.viewer`` +
 ``isis-viewer-wicket-impl``
 |
 
 
-|xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/RoutingService.adoc[`o.a.i.applib.` +
 `services.routing` +
 `RoutingService`]
 |Return an alternative object than that returned by an action.
 |`RoutingServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-applib``
-|The default implementation will return the home page (per xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`]) if a void or null is returned. +
+|The default implementation will return the home page (per xref:applib:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`]) if a void or null is returned. +
 Used by the xref:vw:ROOT:about.adoc[Wicket viewer] only.
 
 
 
-|xref:rg:svc:presentation-layer-spi/TableColumnOrderService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/TableColumnOrderService.adoc[`o.a.i.applib.` +
 `services.tablecol` +
 `TableColumn-` +
 `OrderService`]
@@ -142,10 +142,10 @@ Used by the xref:vw:ROOT:about.adoc[Wicket viewer] only.
 |
 
 
-|xref:rg:svc:presentation-layer-spi/TranslationService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/TranslationService.adoc[`o.a.i.applib.` +
 `services.i18n` +
 `TranslationService`]
-|Translate an app's UI, messages and exceptions for the current user (as per the locale provided by xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocalProvider`].
+|Translate an app's UI, messages and exceptions for the current user (as per the locale provided by xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocalProvider`].
 |`TranslationServicePo` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
@@ -154,17 +154,17 @@ depends on: +
 `TranslationsResolver`, `LocaleProvider`
 
 
-|xref:rg:svc:presentation-layer-spi/TranslationsResolver.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/TranslationsResolver.adoc[`o.a.i.applib.` +
 `services.i18n` +
 `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:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`]
 |`TranslationsResolverWicket` +
 ``o.a.i.viewer`` +
 ``isis-viewer-wicket-impl``
 |
 
 
-|xref:rg:svc:presentation-layer-spi/UrlEncodingService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/UrlEncodingService.adoc[`o.a.i.applib.` +
 `services.urlencoding` +
 `UrlEncodingService`]
 |Converts strings into a form safe for use within a URL.  Used to convert view models mementos into usable URL form.
@@ -176,7 +176,7 @@ depends on: +
 |
 
 
-|xref:rg:svc:presentation-layer-spi/UserProfileService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:presentation-layer-spi/UserProfileService.adoc[`o.a.i.applib.` +
 `services.userprof` +
 `UserProfileService`]
 |Obtain an alternative (usually enriched/customized) name for the current user, to render in the UI.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
similarity index 93%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
index 5e6910b..07ef82b 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
@@ -42,10 +42,10 @@ public interface ContentMappingService {
 
 == Implementations
 
-The framework provides two implementations of this service, both in support of the xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] SPI.
+The framework provides two implementations of this service, both in support of the xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] SPI.
 
 By way of background: implementations of the SPI `CommandService` work with custom implementations of the `Command` interface, typically being persisted to a datastore.
-The `CommandWithDto` interface is a subtype of `Command` for implementations that can be reified into xref:rg:cms:schema.adoc#cmd[`CommandDto`] XML instances.
+The `CommandWithDto` interface is a subtype of `Command` for implementations that can be reified into xref:xref:schema:ROOT:cmd.adoc[`CommandDto`] XML instances.
 One implementation that does this is the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module.
 
 For framework implementations of `ContentMappingService` allow domain service actions that return ``CommandDto``s (either singularly or in a list) to be converted into XML documents:
@@ -76,4 +76,4 @@ public static class Util {
 
 This service is a companion to the default implementation of the xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`].
 
-The framework implementations of `ContentMappingService` use the xref:rg:svc:metadata-api/MetamodelService.adoc[`MetaModelService`] to lookup any custom implementations of `CommandDtoProcessor`.
\ No newline at end of file
+The framework implementations of `ContentMappingService` use the xref:applib:svc:metadata-api/MetamodelService.adoc[`MetaModelService`] to lookup any custom implementations of `CommandDtoProcessor`.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/EmailNotificationService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/EmailNotificationService.adoc
similarity index 77%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/EmailNotificationService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/EmailNotificationService.adoc
index ddb399c..bc4480a 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/EmailNotificationService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/EmailNotificationService.adoc
@@ -8,11 +8,11 @@ include::_attributes.adoc[]
 
 The `EmailNotificationService` supports the xref:vw:ROOT:features/user-registration.adoc[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:rg:svc:persistence-layer-spi/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. The user then completes the registration process (choosing a user name, password and so [...]
+The Wicket viewer will check whether an implementation of this service (and also the xref:applib:svc:persistence-layer-spi/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. The user then completes the registration process (choosing a user name, password an [...]
 
 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:rg:svc:integration-api/EmailService.adoc[`EmailService`], which must be configured in order for user registration to be enabled.
+The default implementation of this service uses the xref:applib:svc:integration-api/EmailService.adoc[`EmailService`], which must be configured in order for user registration to be enabled.
 
 
 == SPI
@@ -62,7 +62,7 @@ This implies a couple of additional constraints:
 
 == Related Services
 
-As noted elsewhere, the default implementation of this service uses xref:rg:svc:integration-api/EmailService.adoc[`EmailService`].  This service has no specific configuration properties but does require that the `EmailService` has been configured.
+As noted elsewhere, the default implementation of this service uses xref:applib:svc:integration-api/EmailService.adoc[`EmailService`].  This service has no specific configuration properties but does require that the `EmailService` has been configured.
 
-Conversely, this service is used by (Isis' default implementation of) xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`].
+Conversely, this service is used by (Isis' default implementation of) xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`].
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ErrorReportingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ErrorReportingService.adoc
similarity index 96%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ErrorReportingService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ErrorReportingService.adoc
index c17111d..4c89c6c 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ErrorReportingService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ErrorReportingService.adoc
@@ -35,8 +35,8 @@ public class ErrorDetails {
 }
 ----
 <1> the main message to be displayed to the end-user.
-The service is responsible for translating this into the language of the end-user (it can use xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] if required).
-<2> whether this message has already been recognized by an xref:rg:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`] service.
+The service is responsible for translating this into the language of the end-user (it can use xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] if required).
+<2> whether this message has already been recognized by an xref:applib:svc:presentation-layer-spi/ExceptionRecognizer.adoc[`ExceptionRecognizer`] service.
 Generally this converts potentially non-recoverable (fatal) exceptions into recoverable exceptions (warnings) as well providing an alternative mechanism for generating user-friendly error messages.
 <3> whether the cause of the exception was due to a lack of privileges.
 In such cases the UI restricts the information shown to the end-user, to avoid leaking potentially sensitive information
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/ExceptionRecognizer.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridLoaderService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridLoaderService.adoc
similarity index 76%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridLoaderService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridLoaderService.adoc
index 38703f3..afc1db7 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridLoaderService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridLoaderService.adoc
@@ -22,9 +22,9 @@ public interface GridLoaderService {
 }
 ----
 <1> whether dynamic reloading of layouts is enabled.  The default implementation enables reloading for prototyping, disables in production
-<2> support metamodel invalidation/rebuilding of spec, eg as called by this xref:rg:cms:rgcms.adoc#__rgcms_classes_mixins_Object_rebuildMetamodel[Object mixin] action.
+<2> support metamodel invalidation/rebuilding of spec, eg as called by this xref:applib:cms:rgcms.adoc#__rgcms_classes_mixins_Object_rebuildMetamodel[Object mixin] action.
 <3> whether any persisted layout metadata (eg a `.layout.xml` file) exists for this domain class.
-<4> returns a new instance of a xref:rg:cms:classes/layout.adoc#component[`Grid`] for the specified domain class, eg as loaded from a `layout.xml` file.  If none exists, will return null (and the calling xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] will use xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] to obtain a default grid for the domain class).
+<4> returns a new instance of a xref:applib:cms:classes/layout.adoc#component[`Grid`] for the specified domain class, eg as loaded from a `layout.xml` file.  If none exists, will return null (and the calling xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] will use xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] to obtain a default grid for the domain class).
 
 
 
@@ -39,4 +39,4 @@ For example, the layout for a domain class `com.mycompany.myapp.Customer` would
 
 == Related Services
 
-This service is used by xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`].
+This service is used by xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`].
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridService.adoc
similarity index 71%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridService.adoc
index e3f1722..2f9bf90 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridService.adoc
@@ -9,9 +9,9 @@ include::_attributes.adoc[]
 The `GridService` provides the ability to load the XML layout (grid) for a domain class.
 To do this it delegates:
 
-* to xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] to load a pre-existing layout for the domain class, if possible
+* to xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] to load a pre-existing layout for the domain class, if possible
 
-* to xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] to normalize the grid with respect to Apache
+* to xref:applib:svc:presentation-layer-spi/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.
 
 Once a grid has been loaded for a domain class, this is cached internally by Apache Isis' internal meta model (in the
@@ -39,11 +39,11 @@ public interface GridService {
 ----
 <1> whether dynamic reloading of layouts is enabled.
 The default implementation enables reloading for prototyping, disables in production
-<2> support metamodel invalidation/rebuilding of spec, eg as called by this xref:rg:cms:rgcms.adoc#__rgcms_classes_mixins_Object_rebuildMetamodel[Object mixin] action.
+<2> support metamodel invalidation/rebuilding of spec, eg as called by this xref:applib:cms:rgcms.adoc#__rgcms_classes_mixins_Object_rebuildMetamodel[Object mixin] action.
 <3> whether any persisted layout metadata (eg a `.layout.xml` file) exists for this domain class.
-Just delegates to corresponding method in xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`].
-<4> returns a new instance of a xref:rg:cms:classes/layout.adoc#component[`Grid`] for the specified domain class, eg as loaded from a `layout.xml` file.
-If none exists, will return null (and the calling xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] will use xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] to obtain a default grid for the domain class).
+Just delegates to corresponding method in xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`].
+<4> returns a new instance of a xref:applib:cms:classes/layout.adoc#component[`Grid`] for the specified domain class, eg as loaded from a `layout.xml` file.
+If none exists, will return null (and the calling xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] will use xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`] to obtain a default grid for the domain class).
 <5> returns a default grid, eg two columns in ratio 4:8.
 Used when no existing grid layout exists for a domain class.
 <6> validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.
@@ -54,7 +54,7 @@ Such a grid, if persisted as the layout XML file for the domain class, allows al
 <8> Takes a normalized grid and strips out removes all members, leaving only the grid structure.
 Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
 
-The first four methods just delegate to the corresponding methods in xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], while the last four delegate to the  corresponding method in xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`].
+The first four methods just delegate to the corresponding methods in xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], while the last four delegate to the  corresponding method in xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`].
 The service inspects the ``Grid``'s concrete class to determine which actual `GridSystemService` instance to delegate to.
 
 
@@ -66,7 +66,7 @@ The framework provides a default implementation of this service, namely `GridSer
 
 == Related Services
 
-This service calls xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`].
+This service calls xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`].
 
-This service is called by xref:rg:svc:metadata-api/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:rg:cms:classes/mixins.adoc#Object[`downloadLayoutXml()`] mixin (to download the layout XML for a single domain
+This service is called by xref:applib:svc:metadata-api/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:cms:classes/mixins.adoc#Object[`downloadLayoutXml()`] mixin (to download the layout XML for a single domain
 object).
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
similarity index 98%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
index bb7b3bf..20ea464 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
@@ -61,4 +61,4 @@ The framework provides `GridSystemServiceBS3`, an implementation that encodes th
 
 == Related Services
 
-This service is used by xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`].
+This service is used by xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`].
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/HintStore.adoc
similarity index 91%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/HintStore.adoc
index 4ccea76..80c5e2c 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/HintStore.adoc
@@ -30,7 +30,7 @@ public interface HintStore {
 }
 ----
 <1> obtain a hint (eg which tab to open) for a particular object.  Object identity is represented by `Bookmark`, as
-per the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`], so that alternative implementations can easily serialize this state to a string.
+per the xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`], so that alternative implementations can easily serialize this state to a string.
 <2> set the state of a hint.  (The value of) all hints are represented as strings.
 <3> remove a single hint for an object;
 <4> remove all hints
@@ -42,7 +42,7 @@ per the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`], so
 
 The core framework provides a default implementation of this service (`org.apache.isis.viewer.wicket.viewer.services.HintStoreUsingWicketSession`).
 
-To use an alternative implementation, implement the `HintStore` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `HintStore` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == View models
@@ -95,6 +95,6 @@ public class CustomerAndOrders implements HintStore.HintIdProvider {
 
 == Related Services
 
-The xref:vw:ROOT:about.adoc[Wicket viewer] exposes the xref:rg:cms:rgcms.adoc#__rgcms_classes_mixins_Object_clearHints["clear hints"]
+The xref:vw:ROOT:about.adoc[Wicket viewer] exposes the xref:applib:cms:rgcms.adoc#__rgcms_classes_mixins_Object_clearHints["clear hints"]
 mixin action that is for use by end-users of the application to clear any UI hints that have accumulated for a
 domain object.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
similarity index 83%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
index 0b2c494..034894b 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `LocaleProvider` service is one of the services that work together to implement Apache Isis' support for i18n, being used by Isis' default implementation of xref:rg:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`].
+The `LocaleProvider` service is one of the services that work together to implement Apache Isis' support for i18n, being used by Isis' default implementation of xref:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`].
 
 The role of the service itself is simply to return the `Locale` of the current user.
 
@@ -51,7 +51,7 @@ Currently there is no equivalent implementation for the xref:vro:ROOT:about.adoc
 
 == Related Services
 
-This service works in conjunction with xref:rg:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`] and xref:rg:svc:presentation-layer-spi/TranslationsResolver.adoc[`TranslationsResolver`] in order to provide i18n support.
+This service works in conjunction with xref:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`] and xref:applib:svc:presentation-layer-spi/TranslationsResolver.adoc[`TranslationsResolver`] in order to provide i18n support.
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/MenuBarsLoaderService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/MenuBarsLoaderService.adoc
similarity index 81%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/MenuBarsLoaderService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/MenuBarsLoaderService.adoc
index 33910f0..193efd3 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/MenuBarsLoaderService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/MenuBarsLoaderService.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `MenuBarsLoaderService` is used by the default implementation of xref:rg:svc:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService] to return a a xref:rg:cms:classes/menubars.adoc[`MenuBars`] instance deserialized from the `menubars.layout.xml` file read from the classpath.
+The `MenuBarsLoaderService` is used by the default implementation of xref:applib:svc:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService] to return a a xref:applib:cms:classes/menubars.adoc[`MenuBars`] instance deserialized from the `menubars.layout.xml` file read from the classpath.
 
 
 == SPI and Implementation
@@ -21,7 +21,7 @@ public interface MenuBarsLoaderService {
 }
 ----
 <1> Whether dynamic reloading of the menu bars layout is enabled.
-If not, then the xref:rg:svc:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService] will cache the layout once loaded.
+If not, then the xref:applib:svc:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService] will cache the layout once loaded.
 <2> Returns a new instance of `MenuBars` if possible, otherwise null.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
similarity index 80%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
index 5059c91..35bf4a8 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/MenuBarsService.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `MenuBarsService` is responsible for returning a xref:rg:cms:classes/menubars.adoc[`MenuBars`] instance, a data structure representing the arrangement of domain service actions across multiple menu bars, menus and sections.
+The `MenuBarsService` is responsible for returning a xref:applib:cms:classes/menubars.adoc[`MenuBars`] instance, a data structure representing the arrangement of domain service actions across multiple menu bars, menus and sections.
 This is used by the Wicket viewer to build up the menu, and is also served as the "menuBars" resource by the xref:vro:ROOT:about.adoc[Restful Objects] viewer.
 
 
@@ -32,4 +32,4 @@ public interface MenuBarsService {
 
 
 The framework provides a default implementation of this service, namely `o.a.i.core.runtime.services.menu.MenuBarsServiceDefault`.
-This uses the xref:rg:svc:presentation-layer-spi/MenuBarsLoaderService.adoc[MenuBarsLoaderService] to load a serialized form of `MenuBars` instance, called `menubars.layout.xml`, from the classpath.
+This uses the xref:applib:svc:presentation-layer-spi/MenuBarsLoaderService.adoc[MenuBarsLoaderService] to load a serialized form of `MenuBars` instance, called `menubars.layout.xml`, from the classpath.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
similarity index 92%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
index b37476d..af232d9 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
@@ -55,10 +55,10 @@ public interface RoutingService {
 == Implementation
 
 The framework provides a default implementation - `RoutingServiceDefault` - which will always return the original object provided, or the home page if a `null` or `void` was provided.
-It uses the xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`].
+It uses the xref:applib:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`].
 
 There can be multiple implementations of `RoutingService` registered.
-These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 The route from the first service that returns `true` from its `canRoute(...)` method will be used.
 
 
@@ -68,4 +68,4 @@ The route from the first service that returns `true` from its `canRoute(...)` me
 == Related Services
 
 The default implementation of this service uses the
-xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`].
+xref:applib:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`].
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/SessionLoggingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/SessionLoggingService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/SessionLoggingService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/SessionLoggingService.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
similarity index 97%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
index 9bfa2fd..70acf92 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
@@ -40,7 +40,7 @@ If all provided implementations return `null`, then the framework will fallback
 The framework provides a fallback implementation of this service, namely `TableColumnOrderService.Default`.
 
 There can be multiple implementations of `TableColumnOrderService registered.
-These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 The order from the first service that returns a non null value will be used.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TranslationService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TranslationService.adoc
similarity index 94%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TranslationService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TranslationService.adoc
index 98a0511..4d97f75 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TranslationService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TranslationService.adoc
@@ -99,5 +99,5 @@ translations can be downloaded as a single file.
 
 == Related Services
 
-This service works in conjunction with xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] and xref:rg:svc:presentation-layer-spi/TranslationsResolver.adoc[`TranslationsResolver`] in order to provide i18n support.
+This service works in conjunction with xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] and xref:applib:svc:presentation-layer-spi/TranslationsResolver.adoc[`TranslationsResolver`] in order to provide i18n support.
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
similarity index 82%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
index 2285f7e..5f62e65 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/TranslationsResolver.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `TranslationsResolver` service is one of the services that work together to implement Apache Isis' support for i18n, being used by Isis' default implementation of xref:rg:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`].
+The `TranslationsResolver` service is one of the services that work together to implement Apache Isis' support for i18n, being used by Isis' default implementation of xref:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`].
 
 The role of the service itself is locate and return translations.
 
@@ -49,6 +49,6 @@ Currently there is no equivalent implementation for the xref:vro:ROOT:about.adoc
 == Related Services
 
 
-This service works in conjunction with xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] and xref:rg:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`] in order to provide i18n support.
+This service works in conjunction with xref:applib:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`] and xref:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`] in order to provide i18n support.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
similarity index 97%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
index bdb6240..0a75a69 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
@@ -46,5 +46,5 @@ The framework provides a default implementation -- `UrlEncodingServiceWithCompre
 As already noted, be aware that the maximum length of a URL should not exceed 2083 characters.
 For large view models, there's the possibility that this limit could be exceeded; in such cases register an alternative implementation of this service.
 
-To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:applib:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UserProfileService.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/UserProfileService.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UserProfileService.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/UserProfileService.adoc
diff --git a/core/_adoc-rg/modules/cms/pages/classes/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/presentation-layer-spi/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/classes/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/presentation-layer-spi/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/pages/testing.adoc b/core/applib/_adoc/modules/svc/pages/testing.adoc
similarity index 76%
rename from core/_adoc-rg/modules/svc/pages/testing.adoc
rename to core/applib/_adoc/modules/svc/pages/testing.adoc
index 1f8f7a3..b2c6207 100644
--- a/core/_adoc-rg/modules/svc/pages/testing.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing.adoc
@@ -24,7 +24,7 @@ It also lists their corresponding implementation, either a default implementatio
 |Notes
 
 
-|xref:rg:svc:testing/ExecutionParametersService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:testing/ExecutionParametersService.adoc[`o.a.i.applib.` +
 `fixturescripts.` +
 `ExecutionParametersService`]
 |...
@@ -34,38 +34,38 @@ It also lists their corresponding implementation, either a default implementatio
 |API is also a concrete class
 
 
-|xref:rg:svc:testing/FixtureScripts.adoc[`o.a.i.applib.` +
+|xref:applib:svc:testing/FixtureScripts.adoc[`o.a.i.applib.` +
 `fixturescripts` +
 `FixtureScripts`]
 |Provides the ability to execute fixture scripts.
 |`FixtureScriptsDefault` +
 ``o.a.i.core`` +
 ``isis-core-applib``
-|Default implementation uses xref:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScripts-
+|Default implementation uses xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScripts-
 SpecificationProvider`].
 
 
 
-|xref:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`o.a.i.applib.` +
+|xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[`o.a.i.applib.` +
 `services.fixturespec` +
 `FixtureScripts-` +
 `SpecificationProvider`]
-|Provides settings for xref:rg:svc:testing/FixtureScripts.adoc[`FixtureScripts`] default domain service (`FixtureScriptsDefault`) for executing fixture scripts.
+|Provides settings for xref:applib:svc:testing/FixtureScripts.adoc[`FixtureScripts`] default domain service (`FixtureScriptsDefault`) for executing fixture scripts.
 |
 |
 
 
-|xref:rg:svc:testing/SudoService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:testing/SudoService.adoc[`o.a.i.applib.` +
 `services.sudo` +
 `SudoService`]
-|For use in testing while running xref:rg:cms:classes/super.adoc#FixtureScripts[fixture scripts], allows a block of code to run as a specified user account.
+|For use in testing while running xref:applib:cms:classes/super.adoc#FixtureScripts[fixture scripts], allows a block of code to run as a specified user account.
 |`SudoServiceDefault` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
 |API is also a concrete class
 
 
-|xref:rg:svc:testing/SwitchUserService.adoc[`o.a.i.applib.` +
+|xref:applib:svc:testing/SwitchUserService.adoc[`o.a.i.applib.` +
 `fixtures.switchuser` +
 `SwitchUserServiceService`]
 |(deprecated)
diff --git a/core/_adoc-rg/modules/svc/pages/testing/ExecutionParametersService.adoc b/core/applib/_adoc/modules/svc/pages/testing/ExecutionParametersService.adoc
similarity index 93%
rename from core/_adoc-rg/modules/svc/pages/testing/ExecutionParametersService.adoc
rename to core/applib/_adoc/modules/svc/pages/testing/ExecutionParametersService.adoc
index 1012e42..be15400 100644
--- a/core/_adoc-rg/modules/svc/pages/testing/ExecutionParametersService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing/ExecutionParametersService.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 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:rg:svc:testing/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:applib:svc:testing/FixtureScripts.adoc[`FixtureScripts`] domain service.
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/testing/FixtureScripts.adoc b/core/applib/_adoc/modules/svc/pages/testing/FixtureScripts.adoc
similarity index 83%
rename from core/_adoc-rg/modules/svc/pages/testing/FixtureScripts.adoc
rename to core/applib/_adoc/modules/svc/pages/testing/FixtureScripts.adoc
index fe1eef5..6948408 100644
--- a/core/_adoc-rg/modules/svc/pages/testing/FixtureScripts.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing/FixtureScripts.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `FixtureScripts` service provides the ability to execute xref:ext-fixtures:ROOT:about.adoc#api-and-usage[fixture scripts].
 
-The default implementation of this service, `FixtureScriptsDefault`, uses the associated xref:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] to obtain a `FixtureScriptsSpecification`.
+The default implementation of this service, `FixtureScriptsDefault`, uses the associated xref:applib:svc:testing/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:rg:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`] to disable caching during this period.
+This are listened to by the xref:applib:svc:persistence-layer-api/QueryResultsCache.adoc[`QueryResultsCache`] to disable caching during this period.
 
 |===
 
 
 === Related Services
 
-The default implementation of this domain service interacts with xref:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`].
+The default implementation of this domain service interacts with xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`].
diff --git a/core/_adoc-rg/modules/svc/pages/testing/FixtureScriptsSpecificationProvider.adoc b/core/applib/_adoc/modules/svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
similarity index 93%
rename from core/_adoc-rg/modules/svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
rename to core/applib/_adoc/modules/svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
index 789d9fe..41defda 100644
--- a/core/_adoc-rg/modules/svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing/FixtureScriptsSpecificationProvider.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `FixtureScriptsSpecificationProvider` configures the xref:rg:svc:testing/FixtureScripts.adoc[`FixtureScripts`] domain service, providing the location to search for fixture scripts and other settings.
+The `FixtureScriptsSpecificationProvider` configures the xref:applib:svc:testing/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/core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc b/core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc
similarity index 81%
rename from core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc
rename to core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc
index ceb7a48..9076b6a 100644
--- a/core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing/SudoService.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `SudoService` allows the current user reported by the xref:rg:svc:core-domain-api/UserService.adoc[`UserService`]  to be temporarily changed to some other user.
+The `SudoService` allows the current user reported by the xref:applib:svc:core-domain-api/UserService.adoc[`UserService`]  to be temporarily changed to some other user.
 This is useful both for xref:integ-test-support:ROOT:about.adoc[integration testing] (eg if testing a workflow system whereby objects are moved from one user to another) and while running xref:ext-fixtures:ROOT:about.adoc[fixture scripts] (eg setting up objects that would normally require several users to have acted upon the objects).
 
 
@@ -37,7 +37,7 @@ The current user/role reported by the internal xref:fis:ROOT:application-layer/A
 [IMPORTANT]
 ====
 Note however that this the "effective user" does not propagate through to the xref:security:ROOT:about.adoc[Shiro security mechanism], which will continue to be evaluated according to the permissions of the current user.
-See the xref:rg:svc:testing/SudoService.adoc#ACCESS-ALL-ROLE[`ACCESS-ALL-ROLE`] below for details of how to circumvent this.
+See the xref:applib:svc:testing/SudoService.adoc#ACCESS-ALL-ROLE[`ACCESS-ALL-ROLE`] below for details of how to circumvent this.
 ====
 
 
@@ -69,11 +69,11 @@ protected void execute(final ExecutionContext ec) {
 
 === ACCESS_ALL_ROLE
 
-When `sudo(...)` is called the "effective user" is reported by both xref:rg:svc:core-domain-api/UserService.adoc[`UserService`] and by xref:fis:ROOT:application-layer/AuthenticationSessionProvider.adoc[`AuthenticationSessionProvider`], but does not propagate through to the xref:security:ROOT:about.adoc[Shiro security mechanism].
+When `sudo(...)` is called the "effective user" is reported by both xref:applib:svc:core-domain-api/UserService.adoc[`UserService`] and by xref:fis:ROOT:application-layer/AuthenticationSessionProvider.adoc[`AuthenticationSessionProvider`], but does not propagate through to the xref:security:ROOT:about.adoc[Shiro security mechanism].
 These 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:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`]) from within an implementation of xref:rg:svc:persistence-layer-spi/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:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`]) from within an implementation of xref:applib:svc:persistence-layer-spi/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:
@@ -104,7 +104,7 @@ In the future this service may be used more deeply, eg to propagate permissions
 == SPI
 
 The `SudoService.Spi` service allows implementations of `SudoService` to notify other services/components that the effective user and roles are different.
-The default implementation of xref:rg:svc:core-domain-api/UserService.adoc[`UserService`] has been refactored to leverage this SPI.
+The default implementation of xref:applib:svc:core-domain-api/UserService.adoc[`UserService`] has been refactored to leverage this SPI.
 
 [source,java]
 ----
diff --git a/core/_adoc-rg/modules/svc/pages/testing/SwitchUserService.adoc b/core/applib/_adoc/modules/svc/pages/testing/SwitchUserService.adoc
similarity index 93%
rename from core/_adoc-rg/modules/svc/pages/testing/SwitchUserService.adoc
rename to core/applib/_adoc/modules/svc/pages/testing/SwitchUserService.adoc
index d25743d..b3e5681 100644
--- a/core/_adoc-rg/modules/svc/pages/testing/SwitchUserService.adoc
+++ b/core/applib/_adoc/modules/svc/pages/testing/SwitchUserService.adoc
@@ -14,7 +14,7 @@ different users of the system.
 [NOTE]
 ====
 This service is deprecated; use xref:ext-fixtures:ROOT:about.adoc[fixture scripts] and the
-xref:rg:svc:testing/SudoService.adoc[`SudoService`] instead.
+xref:applib:svc:testing/SudoService.adoc[`SudoService`] instead.
 ====
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/_partials/_attributes.adoc b/core/applib/_adoc/modules/svc/pages/testing/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/_partials/_attributes.adoc
rename to core/applib/_adoc/modules/svc/pages/testing/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cfg/pages/_attributes.adoc b/core/applib/_adoc/modules/svc/partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/pages/_attributes.adoc
rename to core/applib/_adoc/modules/svc/partials/_attributes.adoc
diff --git a/core/applib/_adoc/modules/svc/partials/nav.adoc b/core/applib/_adoc/modules/svc/partials/nav.adoc
new file mode 100644
index 0000000..ec5b730
--- /dev/null
+++ b/core/applib/_adoc/modules/svc/partials/nav.adoc
@@ -0,0 +1,120 @@
+* xref:applib:rg:about.adoc[Domain Services]
+
+
+** xref:applib:rg:intro.adoc[Introduction]
+
+
+
+** xref:applib:rg:presentation-layer-api.adoc[Presentation Layer API]
+*** xref:applib:rg:presentation-layer-api/AcceptHeaderService.adoc[AcceptHeaderService]
+*** xref:applib:rg:presentation-layer-api/BookmarkUiService.adoc[BookmarkUiService]
+*** xref:applib:rg:presentation-layer-api/ConfigurationViewService.adoc[ConfigurationViewService]
+*** xref:applib:rg:presentation-layer-api/DeepLinkService.adoc[DeepLinkService]
+*** xref:applib:rg:presentation-layer-api/GuiceBeanProvider.adoc[GuiceBeanProvider]
+
+
+
+** xref:applib:rg:presentation-layer-spi.adoc[Presentation Layer SPI]
+*** xref:applib:rg:presentation-layer-spi/ContentMappingService.adoc[ContentMappingService]
+*** xref:applib:rg:presentation-layer-spi/EmailNotificationService.adoc[EmailNotificationService]
+*** xref:applib:rg:presentation-layer-spi/ErrorReportingService.adoc[ErrorReportingService]
+*** xref:applib:rg:presentation-layer-spi/ExceptionRecognizer.adoc[ExceptionRecognizer]
+*** xref:applib:rg:presentation-layer-spi/GridLoaderService.adoc[GridLoaderService]
+*** xref:applib:rg:presentation-layer-spi/GridService.adoc[GridService]
+*** xref:applib:rg:presentation-layer-spi/GridSystemService.adoc[GridSystemService]
+*** xref:applib:rg:presentation-layer-spi/HintStore.adoc[HintStore]
+*** xref:applib:rg:presentation-layer-spi/LocaleProvider.adoc[LocaleProvider]
+*** xref:applib:rg:presentation-layer-spi/MenuBarsLoaderService.adoc[MenuBarsLoaderService]
+*** xref:applib:rg:presentation-layer-spi/MenuBarsService.adoc[MenuBarsService]
+*** xref:applib:rg:presentation-layer-spi/RoutingService.adoc[RoutingService]
+*** xref:applib:rg:presentation-layer-spi/SessionLoggingService.adoc[SessionLoggingService]
+*** xref:applib:rg:presentation-layer-spi/TableColumnOrderService.adoc[TableColumnOrderService]
+*** xref:applib:rg:presentation-layer-spi/TranslationService.adoc[TranslationService]
+*** xref:applib:rg:presentation-layer-spi/TranslationsResolver.adoc[TranslationsResolver]
+*** xref:applib:rg:presentation-layer-spi/UrlEncodingService.adoc[UrlEncodingService]
+*** xref:applib:rg:presentation-layer-spi/UserProfileService.adoc[UserProfileService]
+
+
+
+** xref:applib:rg:application-layer-api.adoc[Application Layer API]
+*** xref:applib:rg:application-layer-api/ActionInvocationContext.adoc[ActionInvocationContext]
+
+*** xref:applib:rg:application-layer-api/BackgroundService.adoc[BackgroundService]
+**** xref:applib:rg:application-layer-api/BackgroundService/BackgroundCommandExecution.adoc[BackgroundCommandExecution]
+**** xref:applib:rg:application-layer-api/BackgroundService/Quartz.adoc[Quartz]
+
+
+*** xref:applib:rg:application-layer-api/CommandContext.adoc[CommandContext]
+*** xref:applib:rg:application-layer-api/DtoMappingHelper.adoc[DtoMappingHelper]
+*** xref:applib:rg:application-layer-api/InteractionContext.adoc[InteractionContext]
+*** xref:applib:rg:application-layer-api/MessageService.adoc[MessageService]
+*** xref:applib:rg:application-layer-api/SessionManagementService.adoc[SessionManagementService]
+*** xref:applib:rg:application-layer-api/TitleService.adoc[TitleService]
+*** xref:applib:rg:application-layer-api/TransactionService.adoc[TransactionService]
+*** xref:applib:rg:application-layer-api/WrapperFactory.adoc[WrapperFactory]
+
+
+
+** xref:applib:rg:application-layer-spi.adoc[Application Layer SPI]
+*** xref:applib:rg:application-layer-spi/BackgroundCommandService.adoc[BackgroundCommandService]
+*** xref:applib:rg:application-layer-spi/CommandService.adoc[CommandService]
+*** xref:applib:rg:application-layer-spi/HomePageProviderService.adoc[HomePageProviderService]
+*** xref:applib:rg:application-layer-spi/HealthCheckService.adoc[HealthCheckService]
+
+
+
+** xref:applib:rg:core-domain-api.adoc[Core Domain API]
+*** xref:applib:rg:core-domain-api/ClockService.adoc[ClockService]
+*** xref:applib:rg:core-domain-api/ConfigurationService.adoc[ConfigurationService]
+*** xref:applib:rg:core-domain-api/EventBusService.adoc[EventBusService]
+*** xref:applib:rg:core-domain-api/FactoryService.adoc[FactoryService]
+*** xref:applib:rg:core-domain-api/Scratchpad.adoc[Scratchpad.]
+*** xref:applib:rg:core-domain-api/UserService.adoc[UserService]
+
+
+
+** xref:applib:rg:integration-api.adoc[Integration API]
+*** xref:applib:rg:integration-api/BookmarkService.adoc[BookmarkService]
+*** xref:applib:rg:integration-api/EmailService.adoc[EmailService]
+*** xref:applib:rg:integration-api/JaxbService.adoc[JaxbService]
+*** xref:applib:rg:integration-api/MementoService.adoc[MementoService]
+*** xref:applib:rg:integration-api/XmlSnapshotService.adoc[XmlSnapshotService]
+
+
+
+** xref:applib:rg:metadata-api.adoc[Metadata API]
+*** xref:applib:rg:metadata-api/ApplicationFeatureRepository.adoc[ApplicationFeatureRepository]
+*** xref:applib:rg:metadata-api/LayoutService.adoc[LayoutService]
+*** xref:applib:rg:metadata-api/MetamodelService.adoc[MetamodelService]
+*** xref:applib:rg:metadata-api/ServiceRegistry.adoc[ServiceRegistry]
+*** xref:applib:rg:metadata-api/SwaggerService.adoc[SwaggerService]
+
+
+
+** xref:applib:rg:testing.adoc[Testing]
+*** xref:applib:rg:testing/ExecutionParametersService.adoc[ExecutionParametersService]
+*** xref:applib:rg:testing/FixtureScripts.adoc[FixtureScripts]
+*** xref:applib:rg:testing/FixtureScriptsSpecificationProvider.adoc[FixtureScriptsSpecificationProvider]
+*** xref:applib:rg:testing/SudoService.adoc[SudoService]
+*** xref:applib:rg:testing/SwitchUserService.adoc[SwitchUserService]
+
+
+
+** xref:applib:rg:persistence-layer-api.adoc[Persistence Layer API]
+*** xref:applib:rg:persistence-layer-api/HsqlDbManagerMenu.adoc[HsqlDbManagerMenu]
+*** xref:applib:rg:persistence-layer-api/IsisJdoSupport.adoc[JdoSupport]
+*** xref:applib:rg:persistence-layer-api/MetricsService.adoc[MetricsService]
+*** xref:applib:rg:persistence-layer-api/QueryResultsCache.adoc[QueryResultsCache]
+*** xref:applib:rg:persistence-layer-api/RepositoryService.adoc[RepositoryService]
+
+
+
+** xref:applib:rg:persistence-layer-spi.adoc[Persistence Layer SPI]
+*** xref:applib:rg:persistence-layer-spi/AuditerService.adoc[AuditerService]
+*** xref:applib:rg:persistence-layer-spi/PublisherService.adoc[PublisherService]
+*** xref:applib:rg:persistence-layer-spi/UserRegistrationService.adoc[UserRegistrationService]
+
+
+** xref:applib:rg:bootstrapping-spi.adoc[Bootstrapping SPI]
+*** xref:applib:rg:bootstrapping-spi/ClassDiscoveryService.adoc[ClassDiscoveryService]
+
diff --git a/core/config/_adoc/antora.yml b/core/config/_adoc/antora.yml
new file mode 100644
index 0000000..3adee29
--- /dev/null
+++ b/core/config/_adoc/antora.yml
@@ -0,0 +1,6 @@
+name: cfg
+title: "Configuration Guide"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/core/_adoc-rg/examples.csv b/core/config/_adoc/examples.csv
similarity index 100%
copy from core/_adoc-rg/examples.csv
copy to core/config/_adoc/examples.csv
diff --git a/core/_adoc-rg/modules/cfg/_attributes.adoc b/core/config/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/_attributes.adoc
rename to core/config/_adoc/modules/ROOT/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cfg/examples/.gitkeep b/core/config/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/cfg/examples/.gitkeep
rename to core/config/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/core/_adoc-rg/modules/cfg/assets/images/.gitkeep b/core/config/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/cfg/assets/images/.gitkeep
rename to core/config/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/core/_adoc-rg/modules/cfg/assets/attachments/.gitkeep b/core/config/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/cfg/assets/attachments/.gitkeep
rename to core/config/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/core/config/_adoc/modules/ROOT/nav.adoc b/core/config/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..cfe4bae
--- /dev/null
+++ b/core/config/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1,7 @@
+* xref:cfg:ROOT:about.adoc[Core Config Properties]
+
+** xref:cfg:ROOT:deployment-types.adoc[Deployment Types]
+** xref:cfg:ROOT:configuration-files.adoc[Configuration Files]
+** xref:cfg:ROOT:specifying-components.adoc[Specifying Components]
+** xref:cfg:ROOT:configuring-core.adoc[Configuring Core]
+
diff --git a/core/_adoc-rg/modules/ROOT/pages/_attributes.adoc b/core/config/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ROOT/pages/_attributes.adoc
rename to core/config/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/cfg/pages/about.adoc b/core/config/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/pages/about.adoc
rename to core/config/_adoc/modules/ROOT/pages/about.adoc
diff --git a/core/_adoc-rg/modules/cfg/pages/configuration-files.adoc b/core/config/_adoc/modules/ROOT/pages/configuration-files.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/pages/configuration-files.adoc
rename to core/config/_adoc/modules/ROOT/pages/configuration-files.adoc
diff --git a/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc b/core/config/_adoc/modules/ROOT/pages/configuring-core.adoc
similarity index 98%
rename from core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
rename to core/config/_adoc/modules/ROOT/pages/configuring-core.adoc
index 4e1ccc9..b38719b 100644
--- a/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
+++ b/core/config/_adoc/modules/ROOT/pages/configuring-core.adoc
@@ -437,7 +437,7 @@ Note that the application must be bootstrapped using an `AppManifest2`.
 (`false`)
 | Whether to check that the class has an object type explicitly specified somehow.
 
-The object type is used by the framework as an alias for the object's concrete class; it is one part of the object's OID and can be seen in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer] and xref:vro:ROOT:about.adoc[Restful Objects viewer], and is encoded in the ``Bookmark``s returned by the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+The object type is used by the framework as an alias for the object's concrete class; it is one part of the object's OID and can be seen in the URLs of the xref:vw:ROOT:about.adoc[Wicket viewer] and xref:vro:ROOT:about.adoc[Restful Objects viewer], and is encoded in the ``Bookmark``s returned by the xref:applib:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 In this was it may also be persisted, for example in polymorphic associations or command or auditing tables.
 
 If the object type is not specified explicitly, then this can cause data migration issues if the class is subsequently refactored (eg renamed, or moved to a different package).
@@ -705,7 +705,7 @@ By default this configuration property is enabled.  To disable the visibility fi
 isis.reflector.facet.filterVisibility=false
 ----
 
-Filtering is supported by the xref:vw:ROOT:about.adoc[Wicket viewer] and the xref:vro:ROOT:about.adoc[Restful Objects viewer], and also by the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service (provided the wrapper's execution mode is __not__ "skip rules").
+Filtering is supported by the xref:vw:ROOT:about.adoc[Wicket viewer] and the xref:vro:ROOT:about.adoc[Restful Objects viewer], and also by the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service (provided the wrapper's execution mode is __not__ "skip rules").
 
 [NOTE]
 ====
diff --git a/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc b/core/config/_adoc/modules/ROOT/pages/deployment-types.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
rename to core/config/_adoc/modules/ROOT/pages/deployment-types.adoc
diff --git a/core/_adoc-rg/modules/cfg/pages/specifying-components.adoc b/core/config/_adoc/modules/ROOT/pages/specifying-components.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/pages/specifying-components.adoc
rename to core/config/_adoc/modules/ROOT/pages/specifying-components.adoc
diff --git a/core/_adoc-rg/modules/cfg/pages/_partials/_attributes.adoc b/core/config/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cfg/pages/_partials/_attributes.adoc
rename to core/config/_adoc/modules/ROOT/partials/_attributes.adoc
diff --git a/core/config/_adoc/modules/ROOT/partials/nav.adoc b/core/config/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..cfe4bae
--- /dev/null
+++ b/core/config/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,7 @@
+* xref:cfg:ROOT:about.adoc[Core Config Properties]
+
+** xref:cfg:ROOT:deployment-types.adoc[Deployment Types]
+** xref:cfg:ROOT:configuration-files.adoc[Configuration Files]
+** xref:cfg:ROOT:specifying-components.adoc[Specifying Components]
+** xref:cfg:ROOT:configuring-core.adoc[Configuring Core]
+
diff --git a/core/_adoc-rg/sync_examples.sh b/core/config/_adoc/sync_examples.sh
similarity index 100%
copy from core/_adoc-rg/sync_examples.sh
copy to core/config/_adoc/sync_examples.sh
diff --git a/core/schema/_adoc/antora.yml b/core/schema/_adoc/antora.yml
new file mode 100644
index 0000000..4886cd7
--- /dev/null
+++ b/core/schema/_adoc/antora.yml
@@ -0,0 +1,6 @@
+name: schema
+title: "Schema"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/core/_adoc-rg/examples.csv b/core/schema/_adoc/examples.csv
similarity index 100%
rename from core/_adoc-rg/examples.csv
rename to core/schema/_adoc/examples.csv
diff --git a/core/_adoc-rg/modules/svc/_attributes.adoc b/core/schema/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/_attributes.adoc
rename to core/schema/_adoc/modules/ROOT/_attributes.adoc
diff --git a/core/_adoc-rg/modules/svc/examples/.gitkeep b/core/schema/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
copy from core/_adoc-rg/modules/svc/examples/.gitkeep
copy to core/schema/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-classes/issue-in-more-detail.png b/core/schema/_adoc/modules/ROOT/assets/images/reference-classes/issue-in-more-detail.png
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/reference-classes/issue-in-more-detail.png
rename to core/schema/_adoc/modules/ROOT/assets/images/reference-classes/issue-in-more-detail.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/prefixes/choices/dependent.png b/core/schema/_adoc/modules/ROOT/assets/images/reference-methods/prefixes/choices/dependent.png
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/reference-methods/prefixes/choices/dependent.png
rename to core/schema/_adoc/modules/ROOT/assets/images/reference-methods/prefixes/choices/dependent.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/cssClass/strikethrough.png b/core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/cssClass/strikethrough.png
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/cssClass/strikethrough.png
rename to core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/cssClass/strikethrough.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.pdn b/core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/iconName/differing.pdn
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.pdn
rename to core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/iconName/differing.pdn
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.png b/core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/iconName/differing.png
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/differing.png
rename to core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/iconName/differing.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/png-files.png b/core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/iconName/png-files.png
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/reference-methods/reserved/iconName/png-files.png
rename to core/schema/_adoc/modules/ROOT/assets/images/reference-methods/reserved/iconName/png-files.png
diff --git a/core/_adoc-rg/modules/cms/assets/images/value-types/markup.png b/core/schema/_adoc/modules/ROOT/assets/images/value-types/markup.png
similarity index 100%
rename from core/_adoc-rg/modules/cms/assets/images/value-types/markup.png
rename to core/schema/_adoc/modules/ROOT/assets/images/value-types/markup.png
diff --git a/core/_adoc-rg/modules/svc/examples/.gitkeep b/core/schema/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/svc/examples/.gitkeep
rename to core/schema/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/core/_adoc-rg/modules/ROOT/nav.adoc b/core/schema/_adoc/modules/ROOT/nav.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ROOT/nav.adoc
rename to core/schema/_adoc/modules/ROOT/nav.adoc
index 69362ed..de2a49c 100644
--- a/core/_adoc-rg/modules/ROOT/nav.adoc
+++ b/core/schema/_adoc/modules/ROOT/nav.adoc
@@ -1,2 +1 @@
 include::rg:ROOT:partial$nav.adoc[]
-
diff --git a/core/_adoc-rg/modules/svc/partials/_attributes.adoc b/core/schema/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/svc/partials/_attributes.adoc
rename to core/schema/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/schema/_adoc/modules/ROOT/pages/about.adoc b/core/schema/_adoc/modules/ROOT/pages/about.adoc
new file mode 100644
index 0000000..c501494
--- /dev/null
+++ b/core/schema/_adoc/modules/ROOT/pages/about.adoc
@@ -0,0 +1,24 @@
+= Schema
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+include::_attributes.adoc[]
+
+
+Most applications need to integrate with other apps in the enterprise.
+To facilitate such integration scenarios, Apache Isis defines a number of standard XSD schemas:
+
+
+* the xref:xref:schema:ROOT:mml.adoc[metamodel] schema, which allows the internal metamodel to be exported in a canonical fashion
+
+* the xref:xref:schema:ROOT:cmd.adoc[command] schema, which captures the __intention__ of a user to invoke an action or edit a property
+
+* the xref:xref:schema:ROOT:ixn.adoc[interaction execution] schema, which captures the actual execution of an action invocation/property edit
+
+* the xref:xref:schema:ROOT:chg.adoc[changes] schema, which captures which objects have been created, updated or deleted as the result of an execution of an action invocation/property edit
+
+These each use XSD types defined by the xref:xref:schema:ROOT:common.adoc[common schema] (most notably the `oidDto` complex type which identifies a domain object).
+
+The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command and publishmq modules use these schemas to reify corresponding applib objects (`Command`, `Interaction.Execution` and `PublishedObjects`), either to persist or publishing using an link:http://activemq.apache.org[Apache ActiveMQ] message queue.
+
+The sections below discuss these schemas in more detail.
+
+
diff --git a/core/_adoc-rg/modules/cms/pages/schema/aim.adoc b/core/schema/_adoc/modules/ROOT/pages/aim.adoc
similarity index 93%
rename from core/_adoc-rg/modules/cms/pages/schema/aim.adoc
rename to core/schema/_adoc/modules/ROOT/pages/aim.adoc
index 1b6d486..ab19d23 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/aim.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/aim.adoc
@@ -9,12 +9,12 @@ The "aim" schema previously defined the serialized form (or memento) of an actio
 
 The schema was removed in `1.13.0`, and was replaced by:
 
-* xref:rg:cms:schema.adoc#ixn[ixn.xsd]
+* xref:xref:schema:ROOT:ixn.adoc[ixn.xsd]
 
 +
 for action invocations/property edits, and
 
-* xref:rg:cms:schema.adoc#cmd[cmd.xsd]
+* xref:xref:schema:ROOT:cmd.adoc[cmd.xsd]
 
 +
 for commands, ie the __intention__ to invoke an action/edit a property.
diff --git a/core/_adoc-rg/modules/cms/pages/schema/chg.adoc b/core/schema/_adoc/modules/ROOT/pages/chg.adoc
similarity index 88%
rename from core/_adoc-rg/modules/cms/pages/schema/chg.adoc
rename to core/schema/_adoc/modules/ROOT/pages/chg.adoc
index 73f98bc..45e22e7 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/chg.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/chg.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 The changes ("chg") schema defines the serialized form identifying which objects have been created, updated or deleted as the result of invoking an action or editing a property.
 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:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI, identifying changed objects that are to be
+An instance of the DTO (corresponding to this schema) is used within the xref:applib:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI, identifying changed objects that are to be
 published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] or equivalent).
 
 
@@ -48,12 +48,12 @@ The `changesDto` root element is defined as:
 ----
 <1> the changes schema has a namespace URI of "http://isis.apache.org/schema/chg".
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
-<2> uses complex types defined in the xref:rg:cms:schema.adoc#common["common" schema].
+<2> uses complex types defined in the xref:xref:schema:ROOT:common.adoc["common" schema].
 <3> definition of the `changesDto` root element.
 The corresponding XML will use this as its top-level element.
 <4> each instance of this schema indicates the version of the schema it is compatible with (following semantic versioning)
 <5> unique identifier for the transaction in which this interaction is being executed.
-The transaction Id is used to correlate back to the xref:rg:cms:schema.adoc#command[command] that represented the intention to perform this execution, as well as to the xref:rg:cms:schema.adoc#interaction[interaction] that executes said command.
+The transaction Id is used to correlate back to the xref:xref:schema:ROOT:command[command] that represented the intention to perform this execution, as well as to the xref:schema:ROOT:about.adoc#interaction.adoc[interaction] that executes said command.
 <6> uniquely identifies this set of changes within the interaction.
 Can be combined with `transactionId` to create a unique identifier (across all other changed object events and also any interaction executions) of this particular set of changed objects.
 <7> the date/time that the transaction that dirtied this objects completed
@@ -88,4 +88,4 @@ It also captures additional metrics counters:
 <2> the identities of the objects that were, respectively, created, updated or deleted within the transaction.
 <3> the number of objects' properties changed, in total, by the interaction.
 
-The xref:rg:cms:schema.adoc#ixn[interaction] schema also provides metrics on the number of objects loaded/changed, but is more granular, each figure relating to a single (sub-)execution within an interaction.
+The xref:xref:schema:ROOT:ixn.adoc[interaction] schema also provides metrics on the number of objects loaded/changed, but is more granular, each figure relating to a single (sub-)execution within an interaction.
diff --git a/core/_adoc-rg/modules/cms/pages/schema/cmd.adoc b/core/schema/_adoc/modules/ROOT/pages/cmd.adoc
similarity index 93%
rename from core/_adoc-rg/modules/cms/pages/schema/cmd.adoc
rename to core/schema/_adoc/modules/ROOT/pages/cmd.adoc
index 7c130c8..9f8a203 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/cmd.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/cmd.adoc
@@ -62,12 +62,12 @@ The `commandDto` root element is defined as:
 ----
 <1> the command schema has a namespace URI of "http://isis.apache.org/schema/cmd".
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
-<2> uses complex types defined in the xref:rg:cms:schema.adoc#common["common" schema].
+<2> uses complex types defined in the xref:xref:schema:ROOT:common.adoc["common" schema].
 <3> definition of the `commandDto` root element.
 The corresponding XML will use this as its top-level element.
 <4> each instance of this schema indicates the version of the schema it is compatible with (following semantic versioning)
 <5> unique identifier for the transaction in which this command is created.
-The transaction Id is used to correlate to the xref:rg:cms:schema.adoc#interaction[interaction] that executes the command, and to any xref:rg:cms:schema.adoc#changes[changes] to domain objects occurring as a side-effect of that interaction.
+The transaction Id is used to correlate to the xref:xref:schema:ROOT:interaction[interaction] that executes the command, and to any xref:schema:ROOT:about.adoc#changes.adoc[changes] to domain objects occurring as a side-effect of that interaction.
 <6> the name of the user who created the command (whose intention it is to invoke the action/edit the property).
 <7> the target object (or objects) to be invoked.
 A bulk action will create multiple commands, each with only a single target.
@@ -127,12 +127,12 @@ Its primary responsibility is simply to identify the member (action or property)
 <3> the "logical" formal identifier (object type, as per `@DomainObject(objectType=)`, + member name) of the member being interacted with (action or property).
 <4> the `interactionType` attribute indicates whether the member is an action or a property.
 <5> the `actionDto` complex type captures the set of parameters (also including the argument values) with which to invoke the action.
-The `paramsDto` type is defined xref:rg:cms:schema.adoc#cmd/ancillary[below].
+The `paramsDto` type is defined xref:xref:schema:ROOT:cmd/ancillary.adoc[below].
 <6> the `propertyDto` complex type captures the new value (possibly `null`) to set the property to.
 
 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:rg:cms:schema.adoc#ixn/memberExecutionDto[`memberExecutionDto`]
+Note also that there is a corresponding xref:xref:schema:ROOT: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).
 
 
@@ -163,4 +163,4 @@ The schema also defines a small number of supporting types:
 <1> the `paramsDto` is simply the list of parameter/arguments.
 <2> the `paramDto` complex type essentially combines a parameter with its corresponding argument: a named value that has a type.
 It extends the `valueWithTypeDto` complex type taken from the
-xref:rg:cms:schema.adoc#common["common"] schema.
+xref:xref:schema:ROOT:common.adoc["common"] schema.
diff --git a/core/_adoc-rg/modules/cms/pages/schema/common.adoc b/core/schema/_adoc/modules/ROOT/pages/common.adoc
similarity index 95%
rename from core/_adoc-rg/modules/cms/pages/schema/common.adoc
rename to core/schema/_adoc/modules/ROOT/pages/common.adoc
index f7303a9..f42636d 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/common.adoc
+++ b/core/schema/_adoc/modules/ROOT/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:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
+This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:applib:svc:integration-api/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.
@@ -59,7 +59,7 @@ If none is specified, then the fully qualified class name will be used.
 <5> the `bookmarkObjectState` enumerates the possible persistence states of the referenced object.
 In previous versions of the schema the attribute was defaulted to "persistent"; the "persistent" state is assumed if the attribute is omitted.
 <6> Models a list of OIDs.
-This is used by the xref:rg:cms:schema.adoc#cmd["cmd" schema] to represent the
+This is used by the xref:xref:schema:ROOT:cmd.adoc["cmd" schema] to represent the
 intention to perform a bulk actions (against a number of selected objects).
 
 In previous versions of the schema the object type and object identifers of `oidDto` were modelled as an element rather than an attribute.
@@ -72,11 +72,11 @@ xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain e
 +
 These references are serialized instead into OIDs
 
-* second, as references to the target of a command representing the _intention_ to invoke an action or edit a property, as described by the xref:rg:cms:schema.adoc#cmd["cmd" (command)] schema.
+* second, as references to the target of a command representing the _intention_ to invoke an action or edit a property, as described by the xref:xref:schema:ROOT:cmd.adoc["cmd" (command)] schema.
 +
 They are also used to represent references to any action arguments/properties that take domain object entities/view models.
 
-* third, as references to the target of an interaction capturing the actual execution of an action invocation or property edit, as described by the xref:rg:cms:schema.adoc#ixn["ixn" (interaction)] schema.
+* third, as references to the target of an interaction capturing the actual execution of an action invocation or property edit, as described by the xref:xref:schema:ROOT:ixn.adoc["ixn" (interaction)] schema.
 
 
 == `collectionDto` etc
@@ -170,7 +170,7 @@ This is primarily to save storage space if the resultant XML is persisted as a m
 
 == Ancillary types
 
-The common schema also defines a number of ancillary types, used either by the common schema itself (see above) or by the xref:rg:cms:schema.adoc#cmd["cmd"] and xref:rg:cms:schema.adoc#ixn["ixn"] schemas.
+The common schema also defines a number of ancillary types, used either by the common schema itself (see above) or by the xref:xref:schema:ROOT:cmd["cmd"] and xref:schema:ROOT:about.adoc#ixn.adoc["ixn"] schemas.
 
 [source,xml]
 ----
@@ -239,6 +239,6 @@ The common schema also defines a number of ancillary types, used either by the c
 <5> Captures a pair of numbers representing a difference.
 Used for example to capture metrics (number objects modified before and after).
 <6> Whether this command/interaction with a member is invoking an action, or editing a property.
-Used by both the xref:rg:cms:schema.adoc#cmd["cmd"] and xref:rg:cms:schema.adoc#ixn["ixn"] schemas.
+Used by both the xref:xref:schema:ROOT:cmd["cmd"] and xref:schema:ROOT:about.adoc#ixn.adoc["ixn"] schemas.
 <7> Contains a list of OIDs, eg for use in "bulk" actions that apply to multiple targets.
 
diff --git a/core/_adoc-rg/modules/cms/pages/schema/ixn.adoc b/core/schema/_adoc/modules/ROOT/pages/ixn.adoc
similarity index 85%
rename from core/_adoc-rg/modules/cms/pages/schema/ixn.adoc
rename to core/schema/_adoc/modules/ROOT/pages/ixn.adoc
index ce8a60c..5814942 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/ixn.adoc
+++ b/core/schema/_adoc/modules/ROOT/pages/ixn.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 The interaction ("ixn") schema defines the serialized form of an action invocation or a property edit.
-In fact, it actually defines a call-graph of such executions for those cases where the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to execute sub-actions/property edits.
+In fact, it actually defines a call-graph of such executions for those cases where the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to execute sub-actions/property edits.
 
 Each execution identifies the target object, the member to invoke, and the arguments.
 It also captures metrics about the execution, and the result of the execution (eg return value of an action invocation).
@@ -54,12 +54,12 @@ The `interactionDto` root element is defined as:
 ----
 <1> the interaction schema has a namespace URI of "http://isis.apache.org/schema/ixn".
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
-<2> uses complex types defined in the xref:rg:cms:schema.adoc#common["common" schema] and also the xref:rg:cms:schema.adoc#cmd["cmd" schema]
+<2> uses complex types defined in the xref:xref:schema:ROOT:common["common" schema] and also the xref:schema:ROOT:about.adoc#cmd.adoc["cmd" schema]
 <3> definition of the `interactionDto` root element.
 The corresponding XML will use this as its top-level element.
 <4> each instance of this schema indicates the version of the schema it is compatible with (following semantic versioning)
 <5> unique identifier for the transaction in which this interaction is being executed.
-The transaction Id is used to correlate back to the xref:rg:cms:schema.adoc#command[command] that represented the intention to perform this execution, as well as to any xref:rg:cms:schema.adoc#changes[changes] to domain objects that occur as a side-effect of the interaction.
+The transaction Id is used to correlate back to the xref:xref:schema:ROOT:command[command] that represented the intention to perform this execution, as well as to any xref:schema:ROOT:about.adoc#changes.adoc[changes] to domain objects that occur as a side-effect of the interaction.
 <6> the top-level `memberExecutionDto`, defined below, either an action invocation or edit of a property.
 
 The `InteractionDto` DTO corresponding to the `interactionDto` root element can be marshalled to/from XML using the `InteractionDtoUtils` class.
@@ -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:rg:cms:schema.adoc#cmd/memberDto[`memberDto`] of the "cmd" schema; some elements are copied directly:
+It corresponds to the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`] of the "cmd" schema; some elements are copied directly:
 
 [source,xml]
 ----
@@ -103,14 +103,14 @@ It corresponds to the xref:rg:cms:schema.adoc#cmd/memberDto[`memberDto`] of the
 <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:rg:cms:schema.adoc#cmd/memberDto[`memberDto`]
-<4> the member identifier; corresponds to `memberIdentifier` of the `member` element of the xref:rg:cms:schema.adoc#cmd/memberDto[`memberDto`]
-<5> the _logical_ member identifier; corresponds to `logicalMemberIdentifier` of the `member` element of the xref:rg:cms:schema.adoc#cmd/memberDto[`memberDto`]
-<6> the user executing the action invocation/property edit; corresponds to the `user` element of the xref:rg:cms:schema.adoc#cmd/memberDto[`memberDto`]
+<3> the target object, corresponding to one of the elements of the `targets` element of the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<4> the member identifier; corresponds to `memberIdentifier` of the `member` element of the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<5> the _logical_ member identifier; corresponds to `logicalMemberIdentifier` of the `member` element of the xref:xref:schema:ROOT:cmd/memberDto.adoc[`memberDto`]
+<6> the user executing the action invocation/property edit; corresponds to the `user` element of the xref:xref:schema:ROOT: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:rg:cms:schema.adoc#ixn/ancillary[below].
+<8> the set of metrics captured for this execution, of type `metricsDto` defined xref:xref:schema:ROOT:ixn/ancillary.adoc[below].
 <9> if the action invocation/property edit threw an exception, then this is captured here.
-<10> if any sub-actions or sub-edits were performed via the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`], then these are captured in the `childExecutions` element.
+<10> if any sub-actions or sub-edits were performed via the xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`], then these are captured in the `childExecutions` element.
 <11> the `interactionType` attribute indicates whether the member is an action or a property (similar attribute exists for the "cmd" schema).
 
 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.
@@ -149,12 +149,12 @@ The `actionInvocationDto` and `propertyEditDto` are the concrete subtypes:
 ----
 <1> the `actionInvocationDto` inherits from `memberExecutionDto`.
 It corresponds to the similar
-xref:rg:cms:schema.adoc#cmd/memberDto[`actionDto`] complex type of the "cmd" schema
+xref:xref:schema:ROOT: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:rg:cms:schema.adoc#cmd/memberDto[`propertyDto`] complex type of the "cmd" schema
+It corresponds to the similar xref:xref:schema:ROOT: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.
 
@@ -195,4 +195,4 @@ The schema also defines a small number of supporting types:
 Together these metrics give an idea of the "size" of this  particular execution.
 <3> the `exceptionDto` complex type defines a structure for capturing the stack trace of any exception that might occur in the course of invoking an action or editing a property.
 
-The xref:rg:cms:schema.adoc#changes[changes] schema also provides metrics on the number of objects loaded/changed, but relates to the entire interaction rather than just one (sub)execution of an interaction.
\ No newline at end of file
+The xref:xref:schema:ROOT:changes.adoc[changes] schema also provides metrics on the number of objects loaded/changed, but relates to the entire interaction rather than just one (sub)execution of an interaction.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/schema/mml.adoc b/core/schema/_adoc/modules/ROOT/pages/mml.adoc
similarity index 100%
rename from core/_adoc-rg/modules/cms/pages/schema/mml.adoc
rename to core/schema/_adoc/modules/ROOT/pages/mml.adoc
diff --git a/core/_adoc-rg/modules/ROOT/partials/_attributes.adoc b/core/schema/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ROOT/partials/_attributes.adoc
rename to core/schema/_adoc/modules/ROOT/partials/_attributes.adoc
diff --git a/core/schema/_adoc/modules/ROOT/partials/nav.adoc b/core/schema/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..86fca82
--- /dev/null
+++ b/core/schema/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,8 @@
+* xref:about.adoc[Schema]
+
+
+* xref:mml.adoc[MetaModel]
+* xref:cmd.adoc[Command]
+* xref:ixn.adoc[Interaction]
+* xref:chg.adoc[Changes]
+* xref:common.adoc[Common]
diff --git a/core/_adoc-rg/sync_examples.sh b/core/schema/_adoc/sync_examples.sh
similarity index 100%
rename from core/_adoc-rg/sync_examples.sh
rename to core/schema/_adoc/sync_examples.sh
diff --git a/core/security/api/_adoc/modules/ROOT/pages/about.adoc b/core/security/api/_adoc/modules/ROOT/pages/about.adoc
index 0e12f11..05bb5de 100644
--- a/core/security/api/_adoc/modules/ROOT/pages/about.adoc
+++ b/core/security/api/_adoc/modules/ROOT/pages/about.adoc
@@ -43,13 +43,13 @@ 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:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`]
-can be used to track the actions being invoked, and the xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`]
+Apache Isis provides the xref:applib:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`]
+can be used to track the actions being invoked, and the xref:applib:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`]
 captures what data was modified as a result (auditing).
 When ``Interaction``s are persisted (eg by way of (non-ASF) link:https://platform.incode.org[Incode Platform^]'s publishmq module) this provides excellent
 traceability.
 The (non-ASF) link:https://platform.incode.org[Incode Platform^]'s audit module provides an implementation of the `AuditerService`.
 
-For xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] can be also be used to capture actions.
+For xref:applib:svc:application-layer-spi/CommandService.adoc[`CommandService`] can be also be used to capture actions.
 ====
 
diff --git a/core/security/api/_adoc/modules/ROOT/pages/api-for-applications.adoc b/core/security/api/_adoc/modules/ROOT/pages/api-for-applications.adoc
index dcf93ce..4240136 100644
--- a/core/security/api/_adoc/modules/ROOT/pages/api-for-applications.adoc
+++ b/core/security/api/_adoc/modules/ROOT/pages/api-for-applications.adoc
@@ -13,7 +13,7 @@ Still, on very rare occasion you may have a need, in which case you can either u
 
 == `UserService` API
 
-The xref:rg:svc:core-domain-api/UserService.adoc[`UserService`] service exposes the following API:
+The xref:applib:svc:core-domain-api/UserService.adoc[`UserService`] service exposes the following API:
 
 [source,java]
 ----
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc b/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
index 1140928..0a59f5d 100644
--- a/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
+++ b/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
@@ -50,7 +50,7 @@ When we talk about integration tests/specs here, we mean tests that exercise the
 
 For most other frameworks that would require having to test the application in a very heavy weight/fragile fashion using a tool such as link:http://docs.seleniumhq.org/[Selenium], driving a web browser to navigate .  In this regard though, Apache Isis has a significant trick up its sleeve.  Because Apache Isis implements the naked objects pattern, it means that the UI is generated automatically from declared domain-objects, -views and -services. This therefore allows for other implementa [...]
 
-The xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI:
+The xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI:
 
 image::integ-tests.png[width="700px",link="{imagesdir}/integ-tests.png"]
 
diff --git a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
index 0077d0d..1265536 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
@@ -72,7 +72,7 @@ public ExceptionRecognizerTranslate exceptionRecognizerTranslations =    // <4>
 All of these rules could be inlined in your own base class; as we say, they are a convenience.
 
 The class also provides a number of injected domain services,  notably
-xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`], xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`], xref:rg:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry2`], xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] (to wrap objects simulating interaction through the user interface), xref:rg:svc:application-layer-api/TransactionService.adoc[`TransactionService`] (most commonly used to commit changes after the fixture se [...]
+xref:applib:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`], xref:applib:svc:core-domain-api/FactoryService.adoc[`FactoryService`], xref:applib:svc:metadata-api/ServiceRegistry.adoc[`ServiceRegistry2`], xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] (to wrap objects simulating interaction through the user interface), xref:applib:svc:application-layer-api/TransactionService.adoc[`TransactionService`] (most commonly used to commit changes  [...]
 
 
 
diff --git a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
index 2710f44..14ab70c 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
@@ -4,7 +4,7 @@
 include::_attributes.adoc[]
 
 
-The xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service is responsible for wrapping a domain object in a dynamic proxy, of the same type as the object being proxied.
+The xref:applib:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] service is responsible for wrapping a domain object in a dynamic proxy, of the same type as the object being proxied.
 And the role of this wrapper is to simulate the UI.
 
 [NOTE]
@@ -156,7 +156,7 @@ public class SomeIntegratTest /* ... */ {
     }
 }
 ----
-<1> inject xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] into this test
+<1> inject xref:applib:svc:core-domain-api/EventBusService.adoc[`EventBusService`] into this test
 <2> holder for subscriber to capture event to
 <3> subscriber's callback, using Spring events
 <4> invoking the domain object using the wrapper
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
index 299d63d..69d4816 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
@@ -12,13 +12,13 @@ This runs the `MetaModelValidator` that is also run when the application is star
 
 * `swagger` +
 +
-Uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to generate link:http://swagger.io[Swagger] spec files that describe the public and/or private RESTful APIs exposed by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
+Uses the xref:applib:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to generate link:http://swagger.io[Swagger] spec files that describe the public and/or private RESTful APIs exposed by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
 
 * `xsd` +
 +
-Uses the xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] to generate XSD schemas from any JAXB-annotated view models/DTOs. +
+Uses the xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`] to generate XSD schemas from any JAXB-annotated view models/DTOs. +
 +
-This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
+This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:xref:schema:ROOT:common.adoc[common schema]).
 
 The `validate` goal is by default bound to the `test` phase, and the `swagger` goal is by default bound to the `package` phase; both are typically of your application's `dom` sub-module.
 The `xsd` goal meanwhile defaults to the `generate-resources` phase, and this is generally used in a completely separate sub-module.
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/swagger.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/swagger.adoc
index 0345a22..2d07da9 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/swagger.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/swagger.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The `swagger` goal of the `isis-maven-plugin` uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to
+The `swagger` goal of the `isis-maven-plugin` uses the xref:applib:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to
 generate link:http://swagger.io[Swagger] spec files to describe the public and/or private RESTful APIs exposed by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
 
 These spec files, once generated, can then be used in the build pipeline to generate client-side stubs, typically using Swagger's own link:https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin[swagger-codegen-maven] plugin.
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
index df11816..2beef89 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
@@ -4,13 +4,13 @@ include::_attributes.adoc[]
 
 
 
-The `xsd` goal of the `isis-maven-plugin` uses the xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] to
+The `xsd` goal of the `isis-maven-plugin` uses the xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`] to
 generate XSD schemas from any JAXB-annotated xref:ug:fun:building-blocks.adoc#view-models[view model/DTOs].
 
 This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen]
 tool, because it uses the framework's support (via
 xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain
-objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
+objects into ``OidDto``s (as defined by the Apache Isis xref:xref:schema:ROOT:common.adoc[common schema]).
 
 The `xsd` goal defines the following properties:
 
@@ -24,11 +24,11 @@ Defaults to `generated-resources/isis-xsd`
 
 * `separate` - (optional) whether to create separate directories for each JAXB-class. +
 +
-Defaults to `false`.  Most DTO classes will reference one another or the xref:rg:cms:schema.adoc#common[common schema].  Normally it's fine to merge all these XSDs together.  This property, if set, results in each a separate directory for each generation of its XSD or XSDs.
+Defaults to `false`.  Most DTO classes will reference one another or the xref:xref:schema:ROOT:common.adoc[common schema].  Normally it's fine to merge all these XSDs together.  This property, if set, results in each a separate directory for each generation of its XSD or XSDs.
 
 * `commonSchemas` - (optional) whether to also generate the isis common schema(s). +
 +
-Defaults to `false`; if set then the call to xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] will set `IsisSchemas.INCLUDE` flag.
+Defaults to `false`; if set then the call to xref:applib:svc:integration-api/JaxbService.adoc[`JaxbService`] will set `IsisSchemas.INCLUDE` flag.
 
 As a convenience to any (Java) consumers, the XSDs generated from the view models can then in turn be generated
 into DTOs.  The original view models and these DTOs are similar but not identical: while the view models can only be used
@@ -276,14 +276,14 @@ The `xjc` profile is defined as:
 <1> enabled _unless_ `skip.xjc` property specified
 <2> specifies the directory that the XSD schemas were generated to by the `isis-maven-plugin`
 <3> specify each of the XSDs to be processed
-<4> catalog file indicates the location of the referenced xref:rg:cms:schema.adoc#common[common schema] XSDs.
+<4> catalog file indicates the location of the referenced xref:xref:schema:ROOT:common.adoc[common schema] XSDs.
 <5> the `build-helper-maven-plugin` adds the Java source generated by the `xjc` plugin so that it can be compiled and
 packaged as any other code
 <6> the location that the `xjc` plugin generates its source code.
 
 
 The referenced `catalog.xml` file instructs the `xjc` plugin how to resolve referenced schema locations.  Only a
-reference for the Apache Isis xref:rg:cms:schema.adoc#common[common schema] is likely to be needed:
+reference for the Apache Isis xref:xref:schema:ROOT:common.adoc[common schema] is likely to be needed:
 
 [source,xml]
 ----
diff --git a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc
index ba0d756..c975cd1 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/architecture.adoc
@@ -36,7 +36,7 @@ default/fallback implementation that returns the representations defined by the
 
 * `ContentMappingService` +
 +
-The xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] is used by the implementation of
+The xref:applib:svc:presentation-layer-spi/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/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/health-check.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/health-check.adoc
index 5a209a5..635b228 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/health-check.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/health-check.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The xref:rg:svc:application-layer-spi/HealthCheckService.adoc[`HealthCheckService`] SPI allows applications to provide an implementation of that service which can indicate the overall health of the application.
+The xref:applib:svc:application-layer-spi/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/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc
index da4084a..36527a6 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/layout-resources.adoc
@@ -3,7 +3,7 @@
 include::_attributes.adoc[]
 
 
-Apache Isis' Restful Objects viewer provides a number of additional resource endpoints that provide representations of the object layout (as per xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`]) and of the menu layout (as per xref:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`]) and of the menu layout (as per xref:applib:svc:presentation-layer-spi/MenuBarsService.adoc[`MenuBarsService`]).
 
 This chapter provides details of these resources, the link ``Rel``s to access them, and the resultant representations.
 
@@ -11,7 +11,7 @@ This chapter provides details of these resources, the link ``Rel``s to access th
 
 == MenuBars
 
-The xref:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/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:helloworld:ROOT:about.adoc[Hello World archetype] has the following layout:
 
@@ -132,7 +132,7 @@ Note that because of dynamic icons (the xref:rg:cms:methods.adoc#iconName[`iconN
 
 == Domain Object Layout
 
-The xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] provides an XML document which defines the layout of any of domain object.
+The xref:applib:svc:presentation-layer-spi/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:helloworld:ROOT:about.adoc[Hello World archetype] the `HelloWorld` domain object has a layout defined by `HelloWorld.layout.xml`.
@@ -238,7 +238,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:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] (it is not dynamically extended with links).
 
 
 
diff --git a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/ro-spec.adoc b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/ro-spec.adoc
index 9c97e6a..77c87e0 100644
--- a/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/ro-spec.adoc
+++ b/core/viewer-restfulobjects/_adoc/modules/ROOT/pages/ro-spec.adoc
@@ -123,7 +123,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:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] to attempt to
+The server will use the xref:applib:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`] to attempt to
 transform the domain object into the requested `x-ro-domain-type`.  The whole process is discussed in more detail in
 the xref:vro:ROOT:architecture.adoc[architecture] chapter.
 
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/extending/custom-pages.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/extending/custom-pages.adoc
index f026979..d36041a 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/extending/custom-pages.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/extending/custom-pages.adoc
@@ -19,10 +19,10 @@ Isis defines eight page types (see the `org.apache.isis.viewer.wicket.model.mode
 | The initial sign-in (aka login) page
 
 | SIGN_UP
-| The sign-up page (if xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration] is enabled).
+| The sign-up page (if xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration] is enabled).
 
 | SIGN_UP_VERIFY
-| The sign-up verification page (if xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration] is enabled; as accessed by link from verification email)
+| The sign-up verification page (if xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration] is enabled; as accessed by link from verification email)
 
 | PASSWORD_RESET
 | The password reset page (if enabled).
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/user-registration.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/user-registration.adoc
index 459fc0c..cff5258 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/user-registration.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/user-registration.adoc
@@ -15,12 +15,12 @@ In a similar way, if the user has forgotten their password then they can request
 
 To support this the framework requires three services to be registered and configured:
 
-* the xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service], which provides an API to create the user account
-* the xref:rg:svc:presentation-layer-spi/EmailNotificationService.adoc[email notification service], which provides an API for to send the verification emails
-* the xref:rg:svc:integration-api/EmailService.adoc[email service], that is used by the email notification service to actually send the email.
+* the xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service], which provides an API to create the user account
+* the xref:applib:svc:presentation-layer-spi/EmailNotificationService.adoc[email notification service], which provides an API for to send the verification emails
+* the xref:applib:svc:integration-api/EmailService.adoc[email service], that is used by the email notification service to actually send the email.
 
 The Apache Isis core framework provides a default implementation of both the email notification service and the email service.
-The xref:ext-secman:ROOT:about.adoc[Security Manager] extension provides a partial implementation of xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service] that you can complete for your own applications.
+The xref:ext-secman:ROOT:about.adoc[Security Manager] extension provides a partial implementation of xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service] that you can complete for your own applications.
 
 
 
@@ -65,9 +65,9 @@ image::user-registration/sign-up-after-registration.png[width="800px",link="{ima
 
 There are two prerequisites:
 
-* register an implementation of the xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service] (eg by using the xref:ext-secman:ROOT:about.adoc[SecMan extension])
+* register an implementation of the xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[user registration service] (eg by using the xref:ext-secman:ROOT:about.adoc[SecMan extension])
 
-* configure the xref:rg:svc:integration-api/EmailService.adoc[email service]
+* configure the xref:applib:svc:integration-api/EmailService.adoc[email service]
 
 The latter is required if you are using the default email notification service and email service. If you are using your own alternative implementation of the email notification service then it may be omitted (and configure your own alternative implementation as required).
 
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
index ec4180c..23e7b34 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/hints-and-tips/i18n-label-in-wicket-viewer.adoc
@@ -11,7 +11,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:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/TranslationService.adoc[`TranslationService`].
 
 Full details of the ``msgId``s that must be added to the `translations.po` file can be found in xref:ug:btb:i18n.adoc#wicket-viewer[i18n] section of the xref:ug:btb:about.adoc[beyond the basics] guide.
 
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
index 4e089ea..441427d 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
@@ -14,7 +14,7 @@ File-based layouts offer a number of benefits:
 
 * UI hints can be provided for contributed xref:ug:fun:programming-model.adoc#contributed-action[actions] that are synthesised at runtime.
 
-It is also possible to download an initial `.layout.xml` - capturing any existing layout metadata - using the xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu) or using a xref:rg:cms:classes/mixins.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:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu) or using a xref:rg:cms:classes/mixins.adoc#Object[mixin action] contributed to every domain object.
 
 There are some downsides, though:
 
@@ -361,7 +361,7 @@ from the top of the page slightly, using the following CSS:
 
 == Migrating from earlier versions
 
-As noted earlier on, it is possible to download layout XML files using the xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu); this will download a ZIP file of layout XML files for all domain entities and view models.
+As noted earlier on, it is possible to download layout XML files using the xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (exposed on the prototyping menu); this will download a ZIP file of layout XML files for all domain entities and view models.
 Alternatively the layout XML for a single domain object can be downloaded using the xref:rg:cms:classes/mixins.adoc#Object[mixin action] (contributed to every domain object).
 
 There are four "styles":
@@ -424,9 +424,9 @@ Download either for a single domain object, or download all domain objects (enti
 
 For more information about layouts, see:
 
-* xref:rg:svc:metadata-api/LayoutService.adoc[`LayoutService`] (whose functionality is exposed on the prototyping menu as an action) and lso the a xref:rg:cms:classes/mixins.adoc#Object[mixin action]
+* xref:applib:svc:metadata-api/LayoutService.adoc[`LayoutService`] (whose functionality is exposed on the prototyping menu as an action) and lso the a xref:rg:cms:classes/mixins.adoc#Object[mixin action]
 
-* xref:rg:svc:presentation-layer-spi/GridService.adoc[`GridService`] and its supporting services, xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`]
+* xref:applib:svc:presentation-layer-spi/GridService.adoc[`GridService`] and its supporting services, xref:applib:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`] and xref:applib:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`]
 
 * xref:rg:cms:classes/layout.adoc[grid layout classes], defined in the Apache Isis applib
 
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/table-columns.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/table-columns.adoc
index befd9b4..08c31bd 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/table-columns.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/table-columns.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The optional xref:rg:svc:presentation-layer-spi/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:applib:svc:presentation-layer-spi/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/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc
index f2d8a77..825a93c 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/file-based.adoc
@@ -25,7 +25,7 @@ is that IDEs such as IntelliJ and Eclipse can provide "intellisense", making it
 
 == Obtaining an initial layout
 
-An initial `menubars.layout.xml` - capturing any existing metadata either implicit or explicitly specified through annotations can be downloaded from the xref:rg:svc:metadata-api/MenuBarsService.adoc[`MenuBarsService`] (exposed on the prototyping menu):
+An initial `menubars.layout.xml` - capturing any existing metadata either implicit or explicitly specified through annotations can be downloaded from the xref:applib:svc:metadata-api/MenuBarsService.adoc[`MenuBarsService`] (exposed on the prototyping menu):
 
 image::/menubars/010-download.png[width="300px",link="{imagesdir}/menubars/010-download.png"]
 
diff --git a/core/viewer-wicket/_adoc/modules/security/partials/user-registration.adoc b/core/viewer-wicket/_adoc/modules/security/partials/user-registration.adoc
index 8fabc59..4d51267 100644
--- a/core/viewer-wicket/_adoc/modules/security/partials/user-registration.adoc
+++ b/core/viewer-wicket/_adoc/modules/security/partials/user-registration.adoc
@@ -14,7 +14,7 @@ These pages all "reach inside" Apache Isis framework using a mechanism similar t
 The sign-in verification page to render is pluggable; see xref:vw:ROOT:extending/custom-pages.adoc[extensions chapter] for details.
 ====
 
-User registration is only available if the xref:rg:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`] is configured; this is used by the framework to actually create new instances of the user as accessed by the corresponding (Shiro) realm.
+User registration is only available if the xref:applib:svc:persistence-layer-spi/UserRegistrationService.adoc[`UserRegistrationService`] is configured; this is used by the framework to actually create new instances of the user as accessed by the corresponding (Shiro) realm.
 
 Because Shiro realms are pluggable, the Apache Isis framework does not provide default implementations of this service.
 However, if you are using the xref:ext-secman:ROOT:about.adoc[SecMan extension], then this module _does_ provide an implementation (that, as you might expect, creates new "user" domain entities).
diff --git a/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc b/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
index 55da0f0..93253be 100644
--- a/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
+++ b/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
@@ -15,10 +15,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:rg:svc:testing/FixtureScripts.adoc[`FixtureScriptsDefault`] domain service.
+The framework provides a default implementation of `FixtureScripts` domain service, namely the xref:applib:svc:testing/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:rg:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] SPI.
+The behaviour of this domain menu service can be refined by providing an implementation of the optional xref:applib:svc:testing/FixtureScriptsSpecificationProvider.adoc[`FixtureScriptsSpecificationProvider`] SPI.
 
 For example, here's the `FixtureScriptsSpecificationProvider` service that's generated by the xref:simpleapp:ROOT:about.adoc[SimpleApp archetype]:
 
diff --git a/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/ticking-clock-fixture.adoc b/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/ticking-clock-fixture.adoc
index 8c270c1..b89f7d3 100644
--- a/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/ticking-clock-fixture.adoc
+++ b/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/ticking-clock-fixture.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The `TickingClockFixture` is a pre-built fixture script that resets the date/time returned by the xref:rg:svc:core-domain-api/ClockService.adoc[`ClockService`] to a known value.
+The `TickingClockFixture` is a pre-built fixture script that resets the date/time returned by the xref:applib:svc:core-domain-api/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/extensions/specsupport/_adoc/modules/ROOT/pages/bdd-spec-support/writing-a-bdd-spec.adoc b/extensions/specsupport/_adoc/modules/ROOT/pages/bdd-spec-support/writing-a-bdd-spec.adoc
index 4e05dde..2f35df4 100644
--- a/extensions/specsupport/_adoc/modules/ROOT/pages/bdd-spec-support/writing-a-bdd-spec.adoc
+++ b/extensions/specsupport/_adoc/modules/ROOT/pages/bdd-spec-support/writing-a-bdd-spec.adoc
@@ -146,7 +146,7 @@ public class SimpleObjectMenuGlue extends CukeGlueAbstract2 {
 
 [TIP]
 ====
-The xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] domain service is one way in which glue classes can pass state between each other.
+The xref:applib:svc:core-domain-api/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/site.yml b/site.yml
index 5753342..93e5bf6 100644
--- a/site.yml
+++ b/site.yml
@@ -20,6 +20,9 @@ content:
       start_path: antora/components/mignotes
     - url: .
       branches: HEAD
+      start_path: antora/components/refguide
+    - url: .
+      branches: HEAD
       start_path: antora/components/relnotes
     - url: .
       branches: HEAD
@@ -35,13 +38,16 @@ content:
       branches: HEAD
       start_path: mavendeps/_adoc
 
-    - url: .
-      branches: HEAD
-      start_path: core/_adoc-rg
 
     - url: .
       start_path: core/applib/_adoc
       branches: HEAD
+    - url: .
+      start_path: core/config/_adoc
+      branches: HEAD
+    - url: .
+      start_path: core/schema/_adoc
+      branches: HEAD
 
     - url: .
       start_path: core/testsupport/_adoc