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/04 06:57:38 UTC

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

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 d830199e420c6cd6750cd85a5cd3ffc12dec1260
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