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:37 UTC

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

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 7d8d131848d06cf848ecf03fa50aca8dddc2587b
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 4 00:19:34 2019 +0100

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

diff --git a/antora/components/toc/modules/ROOT/nav.adoc b/antora/components/toc/modules/ROOT/nav.adoc
index ba452c3..41c4b2d 100644
--- a/antora/components/toc/modules/ROOT/nav.adoc
+++ b/antora/components/toc/modules/ROOT/nav.adoc
@@ -21,7 +21,7 @@
 
 * Reference Guides
 
-** *xref:rg:ant:about.adoc[Annotations]*
+** *xref:applib:ant:about.adoc[Annotations]*
 ** *xref:rg:svc:about.adoc[Domain Services]*
 **  xref:rg:cfg:about.adoc[Core Config'n Properties]
 **  xref:rg:cms:about.adoc[Classes, Methods & Schema]
diff --git a/antora/components/toc/modules/ROOT/pages/about.adoc b/antora/components/toc/modules/ROOT/pages/about.adoc
index 24c28fd..5b6b337 100644
--- a/antora/components/toc/modules/ROOT/pages/about.adoc
+++ b/antora/components/toc/modules/ROOT/pages/about.adoc
@@ -33,7 +33,7 @@ _Tutorials:_
 
 | *xref:toc:ROOT:guides.adoc#reference-guides[Reference Guides]*
 
-* *xref:rg:ant:about.adoc[Annotations]*
+* *xref:applib:ant:about.adoc[Annotations]*
 * *xref:rg:svc:about.adoc[Domain Services]*
 *  xref:rg:cfg:about.adoc[Core Config'n Properties]
 *  xref:rg:cms:about.adoc[Classes, Methods & Schema]
diff --git a/antora/components/toc/modules/ROOT/pages/guides.adoc b/antora/components/toc/modules/ROOT/pages/guides.adoc
index 642ecb8..ddce67f 100644
--- a/antora/components/toc/modules/ROOT/pages/guides.adoc
+++ b/antora/components/toc/modules/ROOT/pages/guides.adoc
@@ -12,7 +12,7 @@ This page lists the user and reference guides available for developers to create
 
 == Reference Guides
 
-* xref:rg:ant:about.adoc[Annotations]
+* xref:applib:ant:about.adoc[Annotations]
 * xref:rg:svc:about.adoc[Domain Services]
 * xref:rg:cfg:about.adoc[Core Configuration Properties]
 * xref:rg:cms:about.adoc[Classes, Methods & Schemas]
diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index c07bc17..b38c217 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -139,13 +139,13 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=dfRZeYqzMtI[012^] +
-Implementing business logic using a (no-arg) action, and associating with a property using either the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotations or using xref:vw:ROOT:layout/file-based.adoc[dynamic (XML) layouts].
+Implementing business logic using a (no-arg) action, and associating with a property using either the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotations or using xref:vw:ROOT:layout/file-based.adoc[dynamic (XML) layouts].
 |x||||||||x||
 
 
 
 |link:https://www.youtube.com/watch?v=0naoVsWppuQ[013^] +
-Invoking (no-arg) action on multiple objects at once (using xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`], and using the xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] domain service for a smoother end-user experience.
+Invoking (no-arg) action on multiple objects at once (using xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`], and using the xref:rg:svc:application-layer-api/ActionInvocationContext.adoc[`ActionInvocationContext`] domain service for a smoother end-user experience.
 |||x||||||x||
 
 
@@ -165,7 +165,7 @@ Using the xref:rg:cms:methods.adoc#title[`title()`], xref:rg:cms:methods.adoc#ic
 
 
 |link:https://www.youtube.com/watch?v=7ToRKBOeemM[015^] +
-Moving the responsibility to specify the icon for a domain object out and into a subscriber, using the xref:rg:cms:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] annotation
+Moving the responsibility to specify the icon for a domain object out and into a subscriber, using the xref:rg:cms:classes/uievent.adoc#IconUiEvent[`IconUiEvent`] as per the xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] annotation
 ||||||x|||||
 
 
@@ -225,7 +225,7 @@ Demonstrates how the end-user can copy and share URLs for domain objects - inclu
 
 
 |link:https://www.youtube.com/watch?v=a0QQLT_16To[021^] +
-Demonstrates how the end-user can use bookmarks and breadcrumbs within Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer], and how the developer can ensure that xref:rg:ant:DomainObjectLayout.adoc#bookmarking[domain objects] and (xref:rg:ant:Action.adoc#semantics[query-only]) xref:rg:ant:ActionLayout.adoc#bookmarking[actions] can be bookmarked.
+Demonstrates how the end-user can use bookmarks and breadcrumbs within Apache Isis' xref:vw:ROOT:about.adoc[Wicket viewer], and how the developer can ensure that xref:applib:ant:DomainObjectLayout.adoc#bookmarking[domain objects] and (xref:applib:ant:Action.adoc#semantics[query-only]) xref:applib:ant:ActionLayout.adoc#bookmarking[actions] can be bookmarked.
 |||x||||||||
 
 
@@ -271,7 +271,7 @@ Using a domain event xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscribe
 
 
 |link:https://www.youtube.com/watch?v=qj4bMkQRBUY[026^] +
-Using the xref:rg:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cms:methods.adoc#title[`title()`] reserved method) to obtain the title of a domain object, so that the end-user can distinguish one object from another.
+Using the xref:applib:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cms:methods.adoc#title[`title()`] reserved method) to obtain the title of a domain object, so that the end-user can distinguish one object from another.
 |x||||||||x||
 
 
@@ -284,7 +284,7 @@ Using the xref:rg:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cm
 
 
 |link:https://www.youtube.com/watch?v=yi52Gbd3lmY[027^] +
-How to write an xref:integ-test-support:ROOT:about.adoc[integration test] for an xref:rg:ant:Mixin.adoc[mixin].
+How to write an xref:integ-test-support:ROOT:about.adoc[integration test] for an xref:applib:ant:Mixin.adoc[mixin].
 ||x|||||||||
 
 
@@ -307,7 +307,7 @@ Using link:https://projectlombok.org/[Project Lombok] to remove boilerplate from
 
 
 |link:https://www.youtube.com/watch?v=AXuxULuRtm0[029^] +
-Using the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s paraname8 metamodel extension to remove boilerplate from your domain object (xref:rg:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`] annotation attribute on action parameters).
+Using the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s paraname8 metamodel extension to remove boilerplate from your domain object (xref:applib:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`] annotation attribute on action parameters).
 |||||x|||x|||
 
 
@@ -328,7 +328,7 @@ How to validate action parameters using a supporting xref:rg:cms:methods.adoc#va
 
 
 |link:https://www.youtube.com/watch?v=1Vlzob89pYI[031^] +
-How to validate action parameters using the xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]  and the Specification interface.
+How to validate action parameters using the xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]  and the Specification interface.
 |||||||||x||
 
 
@@ -387,7 +387,7 @@ include::partial$_screencasts-playlists.adoc[]
 
 
 |link:https://www.youtube.com/watch?v=1SCyBlMM2Bo[037^] +
-How to hide properties as columns in tables (parented collections or standalone collections), using the dynamic XML layout (equivalent to xref:rg:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`]).
+How to hide properties as columns in tables (parented collections or standalone collections), using the dynamic XML layout (equivalent to xref:applib:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`]).
 ||||x|||||||
 
 
@@ -432,7 +432,7 @@ Using BigDecimal as a property within a domain object, also demonstrating the "s
 
 
 |link:https://www.youtube.com/watch?v=n9Oy0m2bplw[042^] +
-How to use the xref:rg:ant:Digits.adoc[`@Digits`] annotation for action parameters of type ``java.math.BigDecimal``.
+How to use the xref:applib:ant:Digits.adoc[`@Digits`] annotation for action parameters of type ``java.math.BigDecimal``.
 |||||||||x||
 
 
@@ -451,7 +451,7 @@ How to use the supporting xref:rg:cms:methods.adoc#default[`defaultXxx(...)`] su
 
 
 |link:https://www.youtube.com/watch?v=qAJDGxztWIQ[044^] +
-How to use xref:rg:ant:DomainObject.adoc#bounding[`@DomainObject#bounding()`] so that a drop-down list is automatically provided for any parameters to actions that are for (domain entity) reference types.
+How to use xref:applib:ant:DomainObject.adoc#bounding[`@DomainObject#bounding()`] so that a drop-down list is automatically provided for any parameters to actions that are for (domain entity) reference types.
 |||||||||x||
 
 
@@ -487,7 +487,7 @@ component.
 
 
 |link:https://www.youtube.com/watch?v=0YoFa44Xr6M[049^] +
-Using the xref:rg:ant:Programmatic.adoc[`@Programmatic`] annotation to exclude methods from a domain object
+Using the xref:applib:ant:Programmatic.adoc[`@Programmatic`] annotation to exclude methods from a domain object
 (eg implementing methods of an interface as defined by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s fullcalendar2 wicket component) that would
 otherwise be part of the Apache Isis metamodel (and thus show up in the UI).
 ||||||||||x|
@@ -554,7 +554,7 @@ How to rename a menu (on the top-level menubar) as rendered in the  xref:vw:ROOT
 
 
 |link:https://www.youtube.com/watch?v=mgHqRxQrp28[058^] +
-How to rename various elements (collections, title) of the xref:rg:ant:HomePage.adoc[home page] view model,
+How to rename various elements (collections, title) of the xref:applib:ant:HomePage.adoc[home page] view model,
 for an improved initial page.
 ||||||||||x|
 
diff --git a/antora/components/toc/modules/devguide/pages/project-lombok.adoc b/antora/components/toc/modules/devguide/pages/project-lombok.adoc
index d9c11b1..f62c808 100644
--- a/antora/components/toc/modules/devguide/pages/project-lombok.adoc
+++ b/antora/components/toc/modules/devguide/pages/project-lombok.adoc
@@ -33,7 +33,7 @@ private String name;
 Under the covers it is implemented as an annotation processor; it basically hooks into the Java compiler
 so that it can emit additional bytecode (eg for the getter and setter).  See xref:toc:devguide:about.adoc#other-settings-compiler[here] for details of setting up in IntelliJ (Eclipse has very similar support).
 
-Apache Isis supports link:https://projectlombok.org/[Project Lombok], in that the annotations that would normally be placed on the getter (namely xref:rg:ant:Property.adoc[`Property`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]) can be placed on the field instead.
+Apache Isis supports link:https://projectlombok.org/[Project Lombok], in that the annotations that would normally be placed on the getter (namely xref:applib:ant:Property.adoc[`Property`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]) can be placed on the field instead.
 
 
 There are plugins for Lombok for maven; it's just a matter of adding the required dependency.  To compile the code
@@ -44,7 +44,7 @@ Lombok plugin appropriate to that IDE.  See the link:https://projectlombok.org/d
 
 == Future thoughts
 
-In the future we might extend/fork Lombok so that it understands Isis' own annotations (ie xref:rg:ant:Property.adoc[`@Property`] and xref:rg:ant:Collection.adoc[`@Collection`])
+In the future we might extend/fork Lombok so that it understands Isis' own annotations (ie xref:applib:ant:Property.adoc[`@Property`] and xref:applib:ant:Collection.adoc[`@Collection`])
 rather than Lombok's own `@Getter` and `@Setter.
 
 It might also be possible to use Lombok to generate the domain event classes for each member.
\ No newline at end of file
diff --git a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc b/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
index 040cbeb..3687784 100644
--- a/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/application-layer.adoc
@@ -38,8 +38,8 @@ Impl'n (g: a:)
 `CommandDtoServiceInternal`]
 |Creates memento of current action invocation, for use as a serializable XML reified command.  The
 most notable usage of this is to allow the execution of the `Command` to be deferred to run in the background (via
-xref:rg:ant:Action.adoc#command[`@Action#commandExecuteIn()`] or
-xref:rg:ant:Property.adoc#command[`@Property#commandExecuteIn()`].
+xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`] or
+xref:applib:ant:Property.adoc#command[`@Property#commandExecuteIn()`].
 |`CommandDtoService-` +
 `InternalServiceDefault` +
 ``isis-core-runtime``
diff --git a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
index 0392998..d1eb456 100644
--- a/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/persistence-layer/PublishingServiceInternal.adoc
@@ -24,11 +24,11 @@ public class PublishingServiceInternal {
     void publishObjects();                          // <3>
 }
 ----
-<1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+<1> to publish an action invocation, as represented by the specified member `Execution` parameter and with the xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 The `Execution` object will be an instance of `ActionInvocation` (see xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
-<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
+<2> to publish a property edit, as as represented by the specified member `Execution` parameter and with the xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] annotation attribute or equivalent, to any configured xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 The `Execution` object will be an instance of `PropertyEdit` (see xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] for details).
-<3> to publish all changed objects that are to be published (with the xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation attribute or equivalent).
+<3> to publish all changed objects that are to be published (with the xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation attribute or equivalent).
 
 
 The service implementation is `o.a.i.c.m.s.publishing.PublishingServiceInternal`.
@@ -39,7 +39,7 @@ The service implementation is `o.a.i.c.m.s.publishing.PublishingServiceInternal`
 
 Apache Isis' default implementation of `PublishingServiceInternal` class is automatically registered (it is annotated with `@DomainService`) so no further configuration is required.
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Related Classes
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
index 00eca40..35fdc19 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/ContentNegotiationService.adoc
@@ -193,7 +193,7 @@ If the property is not set, then the default depends on the xref:rg:cfg:deployme
 
 Apache Isis' default implementations of `ContentNegotiationService` service are automatically registered and injected (it is annotated with `@DomainService`) so no further configuration is required.
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
index 11ed149..06f4ae5 100644
--- a/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
+++ b/core/_adoc-fis/modules/ROOT/pages/presentation-layer/RepresentationService.adoc
@@ -79,7 +79,7 @@ ie `MemberReprMode`
 As discussed in the introduction, the framework provides a default implementation, `o.a.i.v.ro.rendering.service.RepresentationServiceContentNegotiator`.
 This delegates to xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNegotiationService`] to generate an alternative representation; but if none is provided then it falls back on generating the representations as defined in the link:http://restfulobjects.org[Restful Objects spec] v1.0.
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Registering the Services
diff --git a/core/_adoc-rg/modules/ROOT/nav.adoc b/core/_adoc-rg/modules/ROOT/nav.adoc
index 2815342..69362ed 100644
--- a/core/_adoc-rg/modules/ROOT/nav.adoc
+++ b/core/_adoc-rg/modules/ROOT/nav.adoc
@@ -1,2 +1,2 @@
-* xref:about.adoc[About]
+include::rg:ROOT:partial$nav.adoc[]
 
diff --git a/core/_adoc-rg/modules/ROOT/pages/about.adoc b/core/_adoc-rg/modules/ROOT/pages/about.adoc
index 8c6b4b0..1102da6 100644
--- a/core/_adoc-rg/modules/ROOT/pages/about.adoc
+++ b/core/_adoc-rg/modules/ROOT/pages/about.adoc
@@ -3,7 +3,7 @@ include::_attributes.adoc[]
 
 The reference guides are:
 
-* xref:rg:ant:about.adoc[Annotations]
+* xref:applib:ant:about.adoc[Annotations]
 * xref:rg:svc:about.adoc[Domain Services]
 * xref:rg:cfg:about.adoc[Configuration Properties]
 * xref:rg:cms:about.adoc[Classes, Methods and Schema]
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc b/core/_adoc-rg/modules/ROOT/partials/_attributes.adoc
similarity index 100%
copy from core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc
copy to core/_adoc-rg/modules/ROOT/partials/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/partials/nav.adoc b/core/_adoc-rg/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..0bbf0f3
--- /dev/null
+++ b/core/_adoc-rg/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,42 @@
+* xref:rg:ROOT:about.adoc[Reference Guide]
+
+* xref:applib:ant:about.adoc[Annotations]
+
+** xref:applib:ant:aaa.adoc[Summary]
+** xref:applib:ant:Action.adoc[Action]
+** xref:applib:ant:ActionLayout.adoc[ActionLayout]
+** xref:applib:ant:Collection.adoc[Collection]
+** xref:applib:ant:CollectionLayout.adoc[CollectionLayout]
+** xref:applib:ant:Column.adoc[Column]
+** xref:applib:ant:Digits.adoc[Digits]
+** xref:applib:ant:Discriminator.adoc[Discriminator]
+** xref:applib:ant:DomainObject.adoc[DomainObject]
+** xref:applib:ant:DomainObjectLayout.adoc[DomainObjectLayout]
+** xref:applib:ant:DomainService.adoc[DomainService]
+** xref:applib:ant:DomainServiceLayout.adoc[DomainServiceLayout]
+** xref:applib:ant:Facets.adoc[Facets]
+** xref:applib:ant:HomePage.adoc[HomePage]
+** xref:applib:ant:Inject.adoc[Inject]
+** xref:applib:ant:MemberGroupLayout.adoc[MemberGroupLayout]
+** xref:applib:ant:MemberOrder.adoc[MemberOrder]
+** xref:applib:ant:Mixin.adoc[Mixin]
+** xref:applib:ant:NotPersistent.adoc[NotPersistent.]
+** xref:applib:ant:Nullable.adoc[Nullable]
+** xref:applib:ant:MinLength.adoc[MinLength]
+** xref:applib:ant:Parameter.adoc[Parameter]
+** xref:applib:ant:ParameterLayout.adoc[ParameterLayout]
+** xref:applib:ant:Pattern.adoc[Pattern]
+** xref:applib:ant:PersistenceCapable.adoc[PersistenceCapable]
+** xref:applib:ant:PostConstruct.adoc[PostConstruct]
+** xref:applib:ant:PreDestroy.adoc[PreDestroy]
+** xref:applib:ant:PrimaryKey.adoc[PrimaryKey]
+** xref:applib:ant:Programmatic.adoc[Programmatic]
+** xref:applib:ant:Property.adoc[Property]
+** xref:applib:ant:PropertyLayout.adoc[PropertyLayout]
+** xref:applib:ant:RequestScoped.adoc[RequestScoped]
+** xref:applib:ant:Title.adoc[Title]
+** xref:applib:ant:ViewModel.adoc[ViewModel]
+** xref:applib:ant:ViewModelLayout.adoc[ViewModelLayout]
+** xref:applib:ant:XmlJavaTypeAdapter.adoc[XmlJavaTypeAdapter]
+** xref:applib:ant:XmlRootElement.adoc[XmlRootElement]
+
diff --git a/core/_adoc-rg/modules/ant/nav.adoc b/core/_adoc-rg/modules/ant/nav.adoc
deleted file mode 100644
index 837ee33..0000000
--- a/core/_adoc-rg/modules/ant/nav.adoc
+++ /dev/null
@@ -1,40 +0,0 @@
-* xref:about.adoc[Annotations]
-
-** xref:aaa.adoc[Summary]
-** xref:Action.adoc[Action]
-** xref:ActionLayout.adoc[ActionLayout]
-** xref:Collection.adoc[Collection]
-** xref:CollectionLayout.adoc[CollectionLayout]
-** xref:Column.adoc[Column]
-** xref:Digits.adoc[Digits]
-** xref:Discriminator.adoc[Discriminator]
-** xref:DomainObject.adoc[DomainObject]
-** xref:DomainObjectLayout.adoc[DomainObjectLayout]
-** xref:DomainService.adoc[DomainService]
-** xref:DomainServiceLayout.adoc[DomainServiceLayout]
-** xref:Facets.adoc[Facets]
-** xref:HomePage.adoc[HomePage]
-** xref:Inject.adoc[Inject]
-** xref:MemberGroupLayout.adoc[MemberGroupLayout]
-** xref:MemberOrder.adoc[MemberOrder]
-** xref:Mixin.adoc[Mixin]
-** xref:NotPersistent.adoc[NotPersistent.]
-** xref:Nullable.adoc[Nullable]
-** xref:MinLength.adoc[MinLength]
-** xref:Parameter.adoc[Parameter]
-** xref:ParameterLayout.adoc[ParameterLayout]
-** xref:Pattern.adoc[Pattern]
-** xref:PersistenceCapable.adoc[PersistenceCapable]
-** xref:PostConstruct.adoc[PostConstruct]
-** xref:PreDestroy.adoc[PreDestroy]
-** xref:PrimaryKey.adoc[PrimaryKey]
-** xref:Programmatic.adoc[Programmatic]
-** xref:Property.adoc[Property]
-** xref:PropertyLayout.adoc[PropertyLayout]
-** xref:RequestScoped.adoc[RequestScoped]
-** xref:Title.adoc[Title]
-** xref:ViewModel.adoc[ViewModel]
-** xref:ViewModelLayout.adoc[ViewModelLayout]
-** xref:XmlJavaTypeAdapter.adoc[XmlJavaTypeAdapter]
-** xref:XmlRootElement.adoc[XmlRootElement]
-
diff --git a/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc b/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
index 5d9c10e..4e1ccc9 100644
--- a/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
+++ b/core/_adoc-rg/modules/cfg/pages/configuring-core.adoc
@@ -26,21 +26,21 @@ Configuration properties for the JDO/DataNucleus objectstore can be found in the
 `domainEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] is not specified (is set to `ActionDomainEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] is not specified (is set to `ActionDomainEvent.Default`).
 
 |`isis.reflector.facet.` +
 `collectionAnnotation.` +
 `domainEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] is not specified (is set to `CollectionDomainEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] is not specified (is set to `CollectionDomainEvent.Default`).
 
 |`isis.reflector.facet.` +
 `propertyAnnotation.` +
 `domainEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] is not specified (is set to `PropertyDomainEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] is not specified (is set to `PropertyDomainEvent.Default`).
 
 
 
@@ -72,7 +72,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`] is not specified (is set to `ObjectCreatedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`] is not specified (is set to `ObjectCreatedEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -80,7 +80,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#loadedLifecycleEvent[`@DomainObject#loadedLifecycleEvent()`] is not specified (is set to `ObjectLoadedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#loadedLifecycleEvent[`@DomainObject#loadedLifecycleEvent()`] is not specified (is set to `ObjectLoadedEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -88,7 +88,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`] is not specified (is set to `ObjectPersistingEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`] is not specified (is set to `ObjectPersistingEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -96,7 +96,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`] is not specified (is set to `ObjectPersistedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`] is not specified (is set to `ObjectPersistedEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -104,7 +104,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`] is not specified (is set to `ObjectRemovingEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`] is not specified (is set to `ObjectRemovingEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -112,7 +112,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`] is not specified (is set to `ObjectUpdatingEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`] is not specified (is set to `ObjectUpdatingEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectAnnotation.` +
@@ -120,7 +120,7 @@ In order for these events to fire the action/collection/propert must, at least,
 `postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`] is not specified (is set to `ObjectUpdatedEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`] is not specified (is set to `ObjectUpdatedEvent.Default`).
 
 
 
@@ -150,28 +150,28 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `cssClassUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectLayoutAnnotation.` +
 `iconUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectLayoutAnnotation.` +
 `layoutUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `domainObjectLayoutAnnotation.` +
 `titleUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
 
 
 |`isis.reflector.facet.` +
@@ -179,28 +179,28 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `cssClassUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#cssClassUiEvent[`@ViewModelLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[`@ViewModelLayout#cssClassUiEvent()`] is not specified (is set to `CssClassUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `viewModelLayoutAnnotation.` +
 `iconUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#iconUiEvent[`@ViewModelLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#iconUiEvent[`@ViewModelLayout#iconUiEvent()`] is not specified (is set to `IconUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `viewModelLayoutAnnotation.` +
 `layoutUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#layoutUiEvent[`@ViewModelLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[`@ViewModelLayout#layoutUiEvent()`] is not specified (is set to `LayoutUiEvent.Default`).
 
 |`isis.reflector.facet.` +
 `viewModelLayoutAnnotation.` +
 `titleUiEvent.postForDefault`
 |`true`,`false` +
 (`true`)
-|Whether an event should be posted if xref:rg:ant:ViewModelLayout.adoc#titleUiEvent[`@ViewModelLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
+|Whether an event should be posted if xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[`@ViewModelLayout#titleUiEvent()`] is not specified (is set to `TitleUiEvent.Default`).
 
 
 
@@ -241,14 +241,14 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `objects`
 | `all`, `none` +
 (`all`)
-|Whether the changed properties of objects should be automatically audited (for objects annotated with xref:rg:ant:DomainObject.adoc#auditing[`@DomainObject(auditing=Auditing.AS_CONFIGURED)`].
+|Whether the changed properties of objects should be automatically audited (for objects annotated with xref:applib:ant:DomainObject.adoc#auditing[`@DomainObject(auditing=Auditing.AS_CONFIGURED)`].
 
 
 |`isis.services.` +
 `command.` +
 `actions`
 | `all`, `ignoreSafe`, `none` (`none`)
-|Whether action invocations should be automatically reified into commands (for actions annotated with xref:rg:ant:Action.adoc#command[`@Action(command=CommandReification.AS_CONFIGURED)`].  +
+|Whether action invocations should be automatically reified into commands (for actions annotated with xref:applib:ant:Action.adoc#command[`@Action(command=CommandReification.AS_CONFIGURED)`].  +
 
 `ignoreQueryOnly` is an alias for `ignoreSafe`.
 
@@ -256,7 +256,7 @@ In order for these events to fire the class must be annotated using `@DomainObje
 `command.` +
 `properties`
 | `all`, `none` (`none`)
-|(Whether property edits should be automatically reified into commands (for properties annotated with xref:rg:ant:Property.adoc#command[`@Property(command=CommandReification.AS_CONFIGURED)`].  +
+|(Whether property edits should be automatically reified into commands (for properties annotated with xref:applib:ant:Property.adoc#command[`@Property(command=CommandReification.AS_CONFIGURED)`].  +
 
 
 
@@ -287,20 +287,20 @@ If the setting is changed to disabled then this may reduce application start-up
 `objects`
 | `all`, `none` +
 (`all`)
-|Whether changed objects should be automatically published (for objects annotated with xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject(publishing=Publishing.AS_CONFIGURED)`].
+|Whether changed objects should be automatically published (for objects annotated with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject(publishing=Publishing.AS_CONFIGURED)`].
 
 
 |`isis.services.` +
 `publish.` +
 `actions`
 | `all`, `ignoreSafe`, `none` (`none`)
-|Whether actions should be automatically published (for actions annotated with xref:rg:ant:Action.adoc#publishing[`@Action(publishing=Publishing.AS_CONFIGURED)`]. +
+|Whether actions should be automatically published (for actions annotated with xref:applib:ant:Action.adoc#publishing[`@Action(publishing=Publishing.AS_CONFIGURED)`]. +
 
 |`isis.services.` +
 `publish.` +
 `properties`
 | `all`, `none` (`none`)
-|Whether properties should be automatically published (for properties annotated with xref:rg:ant:Action.adoc#publishing[`@Property(publishing=Publishing.AS_CONFIGURED)`]. +
+|Whether properties should be automatically published (for properties annotated with xref:applib:ant:Action.adoc#publishing[`@Property(publishing=Publishing.AS_CONFIGURED)`]. +
 
 
 |`isis.services.` +
@@ -640,7 +640,7 @@ See xref:ug:btb:about.adoc#layout-metadata-reader[Layout Metadata Reader] for mo
 `editing`
 |`true`,`false` +
 (`true`)
-|Whether objects' properties and collections can be edited directly (for objects annotated with xref:rg:ant:DomainObject.adoc#editing[`@DomainObject#editing()`]); see xref:rg:cfg:configuring-core.adoc#isis-objects-editing[below] for further discussion.
+|Whether objects' properties and collections can be edited directly (for objects annotated with xref:applib:ant:DomainObject.adoc#editing[`@DomainObject#editing()`]); see xref:rg:cfg:configuring-core.adoc#isis-objects-editing[below] for further discussion.
 
 |`isis.reflector.` +
 `explicitAnnotations.` +
diff --git a/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc b/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
index 5dd095d..c282f72 100644
--- a/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
+++ b/core/_adoc-rg/modules/cfg/pages/deployment-types.adoc
@@ -9,7 +9,7 @@ Apache Isis distinguishes between the application being run in development mode
 
 (For mostly historical reasons) development mode is actually called `SERVER_PROTOTYPE`, while production mode is called just `SERVER`.
 
-When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using xref:rg:ant:Action.adoc#restrictTo[`@Action#restrictTo()`]) will be available.
+When running in development/prototyping mode, certain capabilities are enabled; most notably any actions restricted to prototyping mode (using xref:applib:ant:Action.adoc#restrictTo[`@Action#restrictTo()`]) will be available.
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc b/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
index 971c610..741576a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
@@ -46,7 +46,7 @@ The following sections describe each of these methods in a little more detail.
 === `getModules()`
 
 The most significant method (the only one which must return a non-`null` value) is the `getModules()` method.
-Each module is identified by a class; the framework simply uses that class' package as the root to search for domain services (annotated with xref:rg:ant:DomainService.adoc[`@DomainService`]) and entities (annotated with xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`]).
+Each module is identified by a class; the framework simply uses that class' package as the root to search for domain services (annotated with xref:applib:ant:DomainService.adoc[`@DomainService`]) and entities (annotated with xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`]).
 Generally there is one such module class per Maven module.
 
 A module class for a domain module might for example be defined as:
@@ -92,7 +92,7 @@ As can be seen, the various (non-ASF) link:https://platform.incode.org[Incode Pl
 === `getAdditionalServices()`
 
 We normally we recommend that services are defined exclusively through `getModules()`, and that this method should therefore return an empty list.
-However, there are certain use cases where the a service must be explicitly specified either because the service required does not (for whatever reason) have a xref:rg:ant:DomainService.adoc[`@DomainService`] annotation.
+However, there are certain use cases where the a service must be explicitly specified either because the service required does not (for whatever reason) have a xref:applib:ant:DomainService.adoc[`@DomainService`] annotation.
 
 For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] allows the policy to evaluate conflicting permissions to be specified by explicitly registering either the `PermissionsEvaluationServiceAllowBeatsVeto` domain service or the `PermissionsEvaluationServiceVetoBeatsAllow` domain service:
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc b/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
index 398e9fb..53c2b49 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
@@ -12,7 +12,7 @@ Each `Module` can express its immediate dependencies (using `Module#getDependenc
 
 Each `Module` can also optionally define additional dependencies on "legacy" modules (that is, those that do not implement `Module`) using `Module#getAdditionalModules()` method.
 These legacy modules simply define a package to search for entities and domain services.
-Legacy domain services can also be explicitly identified using `Module#getAdditionalServices()` method; such services do _not_ need to be annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+Legacy domain services can also be explicitly identified using `Module#getAdditionalServices()` method; such services do _not_ need to be annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 
 A `Module` can also declare additional configuration properties (using either `Module#getIndividualConfigProps()` or `Module#getPropertyResources()`) that should be      contributed to the overall set of configuration properties used to bootstrap the application.
 
@@ -118,7 +118,7 @@ public interface Module {
 The framework calculates a full set of transitive dependencies from this.
 <2> Support for "legacy" modules that do not implement `Module`.
 These are added to the set of packages to scan for entities and domain services.
-<3> Each `Module` can define additional "legacy" domain services that have not been defined within modules,or that have not been annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+<3> Each `Module` can define additional "legacy" domain services that have not been defined within modules,or that have not been annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 <4> Optionally each `Module` can define a xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`] which holds immutable "reference data".
 These are automatically executed whenever running integration tests (but are ignored when bootstrapping the runtime as a webapp.
 <5> Similarly, optionally each `Module` can define a tear-down xref:rg:cms:classes.adoc#FixtureScript[`FixtureScript`], used to remove the contents of _all_ entities (both reference data and operational/transactional data).
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
index 2ba02e9..0c5ec34 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 This section catalogues the various domain event classes defined by Apache Isis.
 
 These events are broadcast on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
-The domain events are broadcast as a result of being specified in the xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`],  xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] or xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] attributes.
+The domain events are broadcast as a result of being specified in the xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`],  xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] or xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] attributes.
 
 They are listed in the table below.
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
index 8d81ddb..f4ee48e 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent/ActionDomainEvent.adoc
@@ -41,7 +41,7 @@ public abstract class ActionDomainEvent<S> extends AbstractDomainEvent<S> {
     public void setReturnValue();                                         // <7>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`]
+<1> The `Default` nested static class is the default for the xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`]
 annotation attribute.
 Whether this raises an event or not depends upon the `isis.reflector.facet.actionAnnotation.domainEvent.postForDefault` configuration property.
 <2> The `Noop` class is provided as a convenience to indicate that an event should _not_ be posted (irrespective of the configuration property setting).
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
index b5e4310..e406c39 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent/CollectionDomainEvent.adoc
@@ -38,7 +38,7 @@ public abstract class CollectionDomainEvent<S,T> extends AbstractDomainEvent<S>
     public Of getOf();                                          // <5>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] annotation attribute.
+<1> The `Default` nested static class is the default for the xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`] annotation attribute.
 Whether this raises an event or not depends upon the
 `isis.reflector.facet.collectionAnnotation.domainEvent.postForDefault` configuration property.
 <2> The `Noop` class is provided as a convenience to indicate that an event should _not_ be posted (irrespective of the configuration property setting).
diff --git a/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
index ad0c349..2bc42c2 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/domainevent/PropertyDomainEvent.adoc
@@ -36,7 +36,7 @@ public abstract class PropertyDomainEvent<S,T> extends AbstractDomainEvent<S> {
     public T getNewValue();                                     // <5>
 }
 ----
-<1> The `Default` nested static class is the default for the xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] annotation attribute.
+<1> The `Default` nested static class is the default for the xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] annotation attribute.
 Whether this raises an event or not depends upon the
 `isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault` configuration property.
 <2> The `Noop` class is provided as a convenience to indicate that an event should _not_ be posted (irrespective of the configuration property setting).
diff --git a/core/_adoc-rg/modules/cms/pages/classes/layout.adoc b/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
index 391611e..23dd189 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/layout.adoc
@@ -16,7 +16,7 @@ The framework provides an implementation of the grid classes modelled closely on
 In principle it is also possible to extend the layout architecture for other grid systems.
 The component classes, though, are intended to be reusable across all grid systems.
 
-The component classes, meanwhile, are broadly equivalent to the "layout" annotations (xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
+The component classes, meanwhile, are broadly equivalent to the "layout" annotations (xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
 
 All of the classes in this package are JAXB-annotated, meaning that they can be serialized to/from XML (the `component` classes in the `http://isis.apache.org/applib/layout/component` XSD namespace, the bootstrap 3 grid classes in the `http://isis.apache.org/applib/layout/grid/bootstrap3` XSD namespace).
 This ability to serialize to/from XML is used by the xref:rg:svc:presentation-layer-spi/GridLoaderService.adoc[`GridLoaderService`], the default implementation of which reads the grid layout for a domain class from a `.layout.xml` file on the classpath.
@@ -37,13 +37,13 @@ A fieldset (sometimes also called a property group or member group) of a number
 
 * layout data classes, which correspond to the similarly named annotations:
 
-** `PropertyLayoutData`, corresponding to the xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] annotation;
+** `PropertyLayoutData`, corresponding to the xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] annotation;
 
-** `CollectionLayoutData`, corresponding to the xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] annotation;
+** `CollectionLayoutData`, corresponding to the xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] annotation;
 
-** `ActionLayoutData`, corresponding to the xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] annotation;
+** `ActionLayoutData`, corresponding to the xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] annotation;
 
-** `DomainObjectLayoutData`, corresponding to the xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] annotation.
+** `DomainObjectLayoutData`, corresponding to the xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] annotation.
 
 In addition, the component package includes `Grid`, representing the top level container for a custom layout for a domain object.
 `Grid` itself is merely an interface, but it also defines the visitor pattern to make it easy for validate and normalize the grid layouts.
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
index bb4bc62..deac1eb 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectCreatedEvent.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first instantiated using the xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryServuce`]'s `#instantiate(...)` method.
 
-`ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`].
+`ObjectCreatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`@DomainObject#createdLifecycleEvent()`].
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
index fbf6c5b..4748b52 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistedEvent.adoc
@@ -8,4 +8,4 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is first saved (inserted) into the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
 
 
-`ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`].
+`ObjectPersistedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`@DomainObject#persistedLifecycleEvent()`].
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
index db62147..c80e2f8 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectPersistingEvent.adoc
@@ -8,5 +8,5 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be saved (inserted) into the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#persist(...)` method.
 
 
-`ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`].
+`ObjectPersistingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`@DomainObject#persistingLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
index 3034b2e..3e1e7b4 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectRemovingEvent.adoc
@@ -8,5 +8,5 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object is about to be deleted from the database using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#remove(...)` method.
 
 
-`ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`].
+`ObjectRemovingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`@DomainObject#removingLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
index bad0357..7a44902 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatedEvent.adoc
@@ -9,5 +9,5 @@ include::_attributes.adoc[]
 Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEvent`], broadcast when an object has just been updated in the database.
 This is done either explicitly when the current transaction is flushed using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
-`ObjectUpdatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`].
+`ObjectUpdatedEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`@DomainObject#updatedLifecycleEvent()`].
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
index bef48e0..6e5bd96 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/lifecycleevent/ObjectUpdatingEvent.adoc
@@ -10,4 +10,4 @@ Subclass of xref:rg:cms:classes.adoc#AbstractLifecycleEvent[`AbstractLifecycleEv
 This is done either explicitly when the current transaction is flushed using the xref:rg:svc:core-domain-api/RepositoryService.adoc[`RepositoryService`]'s `#flush(...)` method, else is done implicitly when the transaction commits at the end of the user request.
 
 
-`ObjectUpdatingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`].
\ No newline at end of file
+`ObjectUpdatingEvent.Default` is the implementation that is used by default, but this can be overridden using xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObject#updatingLifecycleEvent()`].
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc b/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
index 6642203..73cda0e 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/menubars.adoc
@@ -9,7 +9,7 @@ The `org.apache.isis.applib.layout.menubars` package and subpackages define a nu
 The classes define a hierarchical structure of menu bars, menus and menu sections.
 Similar to the xref:rg:cms:classes/layout.adoc[object layout] classes, the concrete menu classes support bootstrap3; support for other layout systems is possible.
 
-The component class `ServiceActionLayoutData` defines action metadata, being broadly equivalent to the "layout" annotations for actions, ie xref:rg:ant:ActionLayout.adoc[`@ActionLayout`].
+The component class `ServiceActionLayoutData` defines action metadata, being broadly equivalent to the "layout" annotations for actions, ie xref:applib:ant:ActionLayout.adoc[`@ActionLayout`].
 This is similar to the `ActionLayoutData` component class used for object layouts, but also captures the identity of the "owning" domain service.
 Service actions are grouped into menu sections.
 
@@ -56,7 +56,7 @@ The service action class reside in the `org.apache.isis.applib.layout.component`
 * `ServiceActionLayoutData` class
 
 +
-which correspond to the xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] annotation.
+which correspond to the xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] annotation.
 
 This is similar to `ActionLayoutData` (of the xref:rg:cms:classes/layout.adoc[object layout] classes), however it also identifies the domain service to which it belongs.
 (This isn't required for the object layouts because the owner in that case is implicit).
diff --git a/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc b/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
index 8997c4f..81b8fd9 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/mixins/Dto.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 The `Dto` role interface is intended to be implemented by JAXB-annotated view models, that is, annotated using
-xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`].
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`].
 It enables the ability to download the XML and XSD schema of those objects using two xref:ug:fun:building-blocks.adoc#mixins[mixins], `Dto_downloadXml` and `Dto_downloadXsd`.
 
 The interface is just a marker interface (with no members), and is defined as:
diff --git a/core/_adoc-rg/modules/cms/pages/classes/spec.adoc b/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
index 92ff6ad..b942b9a 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/spec.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 The interfaces and classes listed in this chapter provide support for the  `Specification` pattern, as described in Eric Evans' book _Domain Driven Design_, p224.
 
-Apache Isis will automatically apply such specifications as validation rules on properties (as per xref:rg:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`]) and on action parameters (as per xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]).
+Apache Isis will automatically apply such specifications as validation rules on properties (as per xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`]) and on action parameters (as per xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`]).
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
index 1f13db4..c6305cf 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractService.adoc
@@ -7,4 +7,4 @@ include::_attributes.adoc[]
 This class provides an implementation of the optional `getId()` method for domain services, based upon the classes name.
 
 In practice there is little to gain from subclassing.
-Instead annotate with xref:rg:ant:DomainService.adoc[`@DomainService`] and specify its xref:rg:ant:DomainService.adoc#objectType[`#objectType()`]
+Instead annotate with xref:applib:ant:DomainService.adoc[`@DomainService`] and specify its xref:applib:ant:DomainService.adoc#objectType[`#objectType()`]
diff --git a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
index 35dbf66..1c4fa60 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/super/AbstractSubscriber.adoc
@@ -6,10 +6,10 @@ include::_attributes.adoc[]
 
 
 This is a convenience superclass for creating subscriber domain services on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
-It uses xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] and xref:rg:ant:PreDestroy.adoc[`@PreDestroy`] callbacks to automatically register/unregister itself with the `EventBusService`.
+It uses xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] and xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] callbacks to automatically register/unregister itself with the `EventBusService`.
 
 It's important that subscribers register before any domain services that might emit events on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].
 For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:rg:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
-The easiest way to do this is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+The easiest way to do this is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 
 As a convenience, the `AbstractSubscriber` specifies this attribute.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc b/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
index 9a50c66..262ea92 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/uievent.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 This section catalogues the various UI event classes defined by Apache Isis.
 
 These events are broadcast on the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  The domain
-events are broadcast as a result of being specified in the xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`],  xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] or xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attributes.
+events are broadcast as a result of being specified in the xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`],  xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] or xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attributes.
 
 They are listed in the table below.
 
@@ -29,7 +29,7 @@ Impl'n (g: a:)
 ``isis-core-applib``
 |(abstract class). +
 `TitleUiEvent.Default` is the concrete implementation used if no `@DomainObjectLayout#titleUiEvent` attribute is specified
-|Broadcast whenever there is a requirement to obtain a title for a domain object.  Note that if the domain object defines its own xref:rg:cms:methods.adoc#title[`title()`] supporting method, or has xref:rg:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
+|Broadcast whenever there is a requirement to obtain a title for a domain object.  Note that if the domain object defines its own xref:rg:cms:methods.adoc#title[`title()`] supporting method, or has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take precedence.
 
 |xref:rg:cms:classes.adoc#IconUiEvent[`o.a.i.applib.` +
 `IconUiEvent`]
@@ -38,7 +38,7 @@ Impl'n (g: a:)
 ``isis-core-applib``
 |(abstract class). +
 `IconUiEvent.Default` is the concrete implementation used if no `@DomainObjectLayout#iconUiEvent` attribute is specified
-|Broadcast whenever there is a requirement to obtain an icon (or rather, the name of an icon) for a domain object.  Note that if the domain object defines its own xref:rg:cms:methods.adoc#iconName[`iconName()`] supporting method, or if it has the xref:rg:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
+|Broadcast whenever there is a requirement to obtain an icon (or rather, the name of an icon) for a domain object.  Note that if the domain object defines its own xref:rg:cms:methods.adoc#iconName[`iconName()`] supporting method, or if it has the xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then these will take precedence.
 
 |xref:rg:cms:classes.adoc#CssClassUiEvent[`o.a.i.applib.` +
 `CssClassUiEvent`]
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
index 69064b2..d8d822d 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/uievent/IconUiEvent.adoc
@@ -18,6 +18,6 @@ The class itself is instantiated automatically by the framework whenever interac
 ====
 If the domain object defines its own xref:rg:cms:methods.adoc#iconName[`iconName()`] supporting method,
 or if it has the
-xref:rg:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then
+xref:applib:ant:DomainObjectLayout#cssClassFa.adoc[`@DomainObjectLayout#cssClassFa()`] attribute, then
 these will take precedence.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc b/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
index 1e561e5..7758459 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/uievent/TitleUiEvent.adoc
@@ -17,6 +17,6 @@ The class itself is instantiated automatically by the framework whenever interac
 [NOTE]
 ====
 If the domain object defines its own xref:rg:cms:methods.adoc#title[`title()`] supporting method, or
-has xref:rg:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take
+has xref:applib:ant:Title.adoc[`@Title`] annotation(s) on its properties, then these will take
 precedence.
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/methods.adoc b/core/_adoc-rg/modules/cms/pages/methods.adoc
index b6d5bd8..4f532f5 100644
--- a/core/_adoc-rg/modules/cms/pages/methods.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The Apache Isis metamodel is built up from declaratively (ie, xref:rg:ant:about.adoc[annotations]) and imperatively, from "supporting" methods and other reserved methods.
+The Apache Isis metamodel is built up from declaratively (ie, xref:applib:ant:about.adoc[annotations]) and imperatively, from "supporting" methods and other reserved methods.
 
 This chapter documents the supporting methods and the reserved methods.  It also documents (separately) the reserved methods that act as callback hooks into the persistence lifecycle of domain entities.
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc b/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
index 72c2cf3..efc6b4a 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/prefixes.adoc
@@ -56,7 +56,7 @@ See also xref:rg:cms:methods.adoc#removeFrom[`removeFrom...()`]`
 |Y
 |Return a list of matching elements for a property or an action parameter. +
 
-Alternatively, can specify for a class using xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject` +
+Alternatively, can specify for a class using xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject` +
 `#autoCompleteRepository`] +
 
 See also xref:rg:cms:methods.adoc#choices[`choices...()`]
diff --git a/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc b/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
index 05bb052..2b4580a 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/prefixes/autoComplete.adoc
@@ -57,7 +57,7 @@ public class ShoppingCartItem {
 }
 ----
 <1> `product` is the 0th argument of the action.
-<2> the xref:rg:ant:MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
+<2> the xref:applib:ant:MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
 
 
 
@@ -90,6 +90,6 @@ public class ShoppingCartItem {
     ...
 }
 ----
-<1> the xref:rg:ant:MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
+<1> the xref:applib:ant:MinLength.adoc[`@MinLength`] annotation specifies the minimum number of characters that must be entered before a search is performed for matching objects
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc b/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
index 8b0fab5..ed8b16e 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/reserved/getId.adoc
@@ -36,7 +36,7 @@ public class OrderMenu {
 
 The rules of precedence are:
 
-1. xref:rg:ant:DomainService.adoc#objectType[`@DomainService#objectType()`]
+1. xref:applib:ant:DomainService.adoc#objectType[`@DomainService#objectType()`]
 2. xref:rg:cms:methods.adoc#getId[`getId()`]
 3. The fully qualified class name.
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc b/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
index d1f3536..e47b87b 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/reserved/layout.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 Every object has a xref:vw:ROOT:layout.adoc[layout] .
-This may be specified using annotations such as xref:rg:ant:MemberOrder.adoc[`@MemberOrder`], xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and the like,  but it much more commonly specified using an xref:vw:ROOT:layout/file-based .adoc[XML layout file].
+This may be specified using annotations such as xref:applib:ant:MemberOrder.adoc[`@MemberOrder`], xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and the like,  but it much more commonly specified using an xref:vw:ROOT:layout/file-based .adoc[XML layout file].
 
 The `layout` method allows the domain object to specify an alternate layout to its usual layout.
 
diff --git a/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc b/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
index 311892e..cf2c383 100644
--- a/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
+++ b/core/_adoc-rg/modules/cms/pages/methods/reserved/title.adoc
@@ -50,7 +50,7 @@ public String title() {
 
 As the example above shows, the implementation can be as complex as you like.
 
-In many cases, though, you may be able to use the xref:rg:ant:Title.adoc[`@Title`] annotation.
+In many cases, though, you may be able to use the xref:applib:ant:Title.adoc[`@Title`] annotation.
 
 
 
diff --git a/core/_adoc-rg/modules/cms/pages/schema/chg.adoc b/core/_adoc-rg/modules/cms/pages/schema/chg.adoc
index 62991c3..73f98bc 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/chg.adoc
+++ b/core/_adoc-rg/modules/cms/pages/schema/chg.adoc
@@ -9,7 +9,7 @@ The changes ("chg") schema defines the serialized form identifying which objects
 It also captures a number of other metrics counts (number of objects loaded, number of object properties modified), useful for profiling.
 
 An instance of the DTO (corresponding to this schema) is used within the xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] SPI, identifying changed objects that are to be
-published (as per xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] or equivalent).
+published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] or equivalent).
 
 
 == `changesDto`
diff --git a/core/_adoc-rg/modules/cms/pages/schema/common.adoc b/core/_adoc-rg/modules/cms/pages/schema/common.adoc
index 11c498e..f7303a9 100644
--- a/core/_adoc-rg/modules/cms/pages/schema/common.adoc
+++ b/core/_adoc-rg/modules/cms/pages/schema/common.adoc
@@ -52,8 +52,8 @@ The `oidDto` complex type is defined as:
 Although URIs are not the same as URLs, you will find that the schemas are also downloadable from this location.
 <2> the `oidDto` complex type defines the unique identifier for any domain object: its type, and an identifier.
 The `objectState` attribute can usually be omitted (indicating a persistent object)
-<3> the object type, corresponding to either the xref:rg:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`] attribute, or to the (JDO)
-xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation (`schema` and/or `table` attributes), or to the (JDO) xref:rg:ant:Discriminator.adoc[`@Discriminator`] annotation.
+<3> the object type, corresponding to either the xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`] attribute, or to the (JDO)
+xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation (`schema` and/or `table` attributes), or to the (JDO) xref:applib:ant:Discriminator.adoc[`@Discriminator`] annotation.
 If none is specified, then the fully qualified class name will be used.
 <4> the object identifier (aka primary key), converted to string form.
 <5> the `bookmarkObjectState` enumerates the possible persistence states of the referenced object.
@@ -68,7 +68,7 @@ The element form can still be used, but is deprecated.
 The `oidDto` complex type is used in a number of places by the framework:
 
 * first, as a means of serializing JAXB view model/DTOs (annotated with
-xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain entities.
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]), that reference domain entities.
 +
 These references are serialized instead into OIDs
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
index 9084ff2..80ca958 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/ActionInvocationContext.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 // TODO: v2: remove this domain service
 
-The `ActionInvocationContext` domain service is a xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] service intended to support the implementation of "bulk" actions annotated with xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`].
+The `ActionInvocationContext` domain service is a xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] service intended to support the implementation of "bulk" actions annotated with xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`].
 This allows the user to select multiple objects in a table and then invoke the same action against all of them.
 
 When an action is invoked in this way, this service allows each object instance to "know where it is" in the collection; it acts a little like an iterator.
@@ -37,13 +37,13 @@ public static class ActionInvocationContext {
     public boolean isLast() { /* ... */ }
 }
 ----
-<1> is xref:rg:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
+<1> is xref:applib:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
 <2> an enum set to either `OBJECT` (if action has been invoked on a single object) or `COLLECTION` (if has been invoked on a collection).
 <3> returns the list of domain objects which are being acted upon
 <4> is the 0-based index to the object being acted upon.
 
 
-To provide an alternative implementation, subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
index 99668dc..24c549b 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/BackgroundService.adoc
@@ -37,7 +37,7 @@ public interface BackgroundService2 {
 
 The default implementation is provided by core (`o.a.i.core.runtime.services.background.BackgroundServiceDefault`).
 
-To provide an alternative implementation, subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To provide an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -58,14 +58,14 @@ public void submitCustomerInvoices() {
 
 This will create a bunch of background commands executing the `submitInvoice()` action for each of the customers returned from the customer repository.
 
-The action method invoked must be part of the Apache Isis metamodel, which is to say it must be public, accept only scalar arguments, and must not be annotated with xref:rg:ant:Programmatic.adoc[`@Programmatic`] or `@Ignore`.
-However, it may be annotated with xref:rg:ant:Action.adoc#hidden[`@Action#hidden()`] or xref:rg:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] and it will still be invoked.
+The action method invoked must be part of the Apache Isis metamodel, which is to say it must be public, accept only scalar arguments, and must not be annotated with xref:applib:ant:Programmatic.adoc[`@Programmatic`] or `@Ignore`.
+However, it may be annotated with xref:applib:ant:Action.adoc#hidden[`@Action#hidden()`] or xref:applib:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] and it will still be invoked.
 
 In fact, when invoked by the background service, no business rules (hidden, disabled, validation) are enforced; the action method must take responsibility for performing appropriate validation and error checking.
 
 [TIP]
 ====
-If you want to check business rules, you can use xref:rg:ant:WrapperFactory.adoc[`@WrapperFactory#wrapNoExecute(...)`].
+If you want to check business rules, you can use xref:applib:ant:WrapperFactory.adoc[`@WrapperFactory#wrapNoExecute(...)`].
 ====
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
index f740dbc..a7235f4 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/CommandContext.adoc
@@ -6,13 +6,13 @@ include::_attributes.adoc[]
 
 
 
-The `CommandContext` service is a xref:rg:ant:RequestScoped.adoc[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object.
+The `CommandContext` service is a xref:applib:ant:RequestScoped.adoc[request-scoped] service that reifies the invocation of an action on a domain object into an object itself. This reified information is encapsulated within the `Command` object.
 
 By default, the `Command` is held in-memory only; once the action invocation has completed, the `Command` object is gone.
 The optional supporting xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] enables the implementation of `Command` to be pluggable.
 With an appropriate implementation (eg as provided by the (non-ASF) link:https://platform.incode.org[Incode Platform^]'s command module's xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`]) the `Command` may then be persisted.
 
-The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation.
+The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 There are a number of related use cases:
 
@@ -57,7 +57,7 @@ public class CommandContext {
 This class (`o.a.i.applib.services.CommandContext`) is also the default implementation.
 
 Under normal circumstances there shouldn't be any need to replace this implementation with another.
-But if you do need to for some reason, then subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+But if you do need to for some reason, then subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 The `Command` type referenced above is in fact an interface, defined as:
@@ -116,7 +116,7 @@ xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`]
 
 == Usage
 
-The typical way to indicate that an action should be treated as a command is to annotate it with the xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation.
+The typical way to indicate that an action should be treated as a command is to annotate it with the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 For example:
 
@@ -133,11 +133,11 @@ public class ToDoItem ... {
 ====
 As an alternative to annotating every action with `@Action#command()`, alternatively this can be configured as the default using `isis.services.command.actions` configuration property.
 
-See xref:rg:ant:Action.adoc#command[`@Action#command()`] and xref:rg:cfg:configuring-core.adoc[runtime configuration] for further details.
+See xref:applib:ant:Action.adoc#command[`@Action#command()`] and xref:rg:cfg:configuring-core.adoc[runtime configuration] for further details.
 ====
 
 
-The xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation can also be used to specify whether the command should be performed in the background, for example:
+The xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation can also be used to specify whether the command should be performed in the background, for example:
 
 [source,java]
 ----
@@ -215,7 +215,7 @@ The xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] serv
 The principle distinction is that while `Command` represents the __intention__ to invoke an action or edit a property, the `Interaction` (and contained ``Execution``s) represents the actual execution.
 
 Most of the time a `Command` will be followed directly by its corresponding `Interaction`.
-However, if the `Command` is annotated to run in the background (using xref:rg:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual interaction/execution is deferred until some other mechanism invokes the command (eg as described xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
+However, if the `Command` is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual interaction/execution is deferred until some other mechanism invokes the command (eg as described xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
 The persistence of background commands requires a configured xref:rg:svc:application-layer-spi/BackgroundCommandService.adoc[`BackgroundCommandService`]) to actually persist such commands for execution.
 
 ``Command``s - even if executed in the foreground - can also be persisted by way of the xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`].
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
index 37d4ead..14375d0 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/InteractionContext.adoc
@@ -15,7 +15,7 @@ invoke child actions/properties, then those sub-executions are captured as a cal
 graph structure.
 
 If a bulk action is performed (as per an action annotated using
-xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`]), then this will result in multiple ``Interaction``s, one
+xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`]), then this will result in multiple ``Interaction``s, one
 per selected object (not one `Interaction` with multiple top-level ``Execution``s).
 
 
@@ -194,7 +194,7 @@ The principle distinction is that while `Command` represents the __intention__ t
 the `Interaction` (and contained ``Execution``s) represents the actual execution.
 
 Most of the time a `Command` will be followed directly by its corresponding `Interaction`.  However, if the `Command`
-is annotated to run in the background (using xref:rg:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or
+is annotated to run in the background (using xref:applib:ant:Action.adoc#command[`@Action#commandExecuteIn()`], or
 is explicitly created through the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], then the actual
 interaction/execution is deferred until some other mechanism invokes the command (eg as described
 xref:ug:btb:about.adoc#BackgroundCommandExecution[here]).
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
index 250060d..d0219a7 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/MessageService.adoc
@@ -61,5 +61,5 @@ public Order addItem(Product product, @ParameterLayout(named="Quantity") int qua
 
 The core framework provides a default implementation of this service, `o.a.i.core.runtime.services.message.MessageServiceDefault`.
 
-To use an alternative implementation, implement the `MessageService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `MessageService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
index 2c4baee..6265395 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/SessionManagementService.adoc
@@ -43,5 +43,5 @@ Any domain objects that were created in the "previous" session are no longer usa
 The core framework provides a default implementation of this service (`o.a.i.core.runtime.services.xactn.SessionManagementServiceDefault`).
 
 
-To use an alternative implementation, implement the `SessionManagementService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `SessionManagementService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
index 8b0e1e2..9f259f9 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
@@ -90,7 +90,7 @@ If the object is not wrapped, returns back unchanged.
 
 <8> whether the supplied object has been wrapped.
 
-If the interface is performed (action invoked or property set), then - irrespective of whether the business rules were checked or skipped -  a xref:rg:ant:Action.adoc#command[command]s will be created and pre- and post-execute xref:rg:ant:Action.adoc#domainEvent[domain event]s) will be fired
+If the interface is performed (action invoked or property set), then - irrespective of whether the business rules were checked or skipped -  a xref:applib:ant:Action.adoc#command[command]s will be created and pre- and post-execute xref:applib:ant:Action.adoc#domainEvent[domain event]s) will be fired
 
 
 The service works by returning a "wrapper" around a supplied domain object (using a byte manipulation library such as link:http://www.javassist.org[javassist] or link:https://bytebuddy.net/[byte buddy]), and it is this wrapper that ensures that the hide/disable/validate rules implies by the Apache Isis programming model are enforced.
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
index 9e2a3a4..9feace7 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-spi/BackgroundCommandService.adoc
@@ -78,7 +78,7 @@ Details of setting up the Quartz scheduler to actually execute these persisted c
 
 Background commands can be created either declaratively or imperatively.
 
-The declarative approach involves annotating an action using xref:rg:ant:Action.adoc#command[`@Action#command()`] with `@Action#commandExecuteIn=CommandExecuteIn.BACKGROUND`.
+The declarative approach involves annotating an action using xref:applib:ant:Action.adoc#command[`@Action#command()`] with `@Action#commandExecuteIn=CommandExecuteIn.BACKGROUND`.
 
 The imperative approach involves explicitly calling the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`] from within domain object's action.
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
index 64b1d78..4ed7958 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-spi/CommandService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `CommandService` service supports the xref:rg:svc:application-layer-api/CommandContext.adoc[`CommandContext`] service such that `Command` objects (that reify the invocation of an action/edit of a property on a domain object) can be persisted.
 
-The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:rg:ant:Action.adoc#command[`@Action#command()`] annotation.
+The primary use case for persistent ``Command``s is in support of background commands; they act as a parent to any background commands that can be persisted either explicitly using the xref:rg:svc:application-layer-api/BackgroundService.adoc[`BackgroundService`], or implicitly by way of the xref:applib:ant:Action.adoc#command[`@Action#command()`] annotation.
 
 Persistent ``Command``s also support the ability to replicate from a master to a slave instance of an application.
 One use case for this is for regression testing, allowing a production usages to be replayed against a new release candidate, eg after upgrading that application to a new version of Apache Isis itself (or some other dependency).
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
index 446a006..c8fe4d9 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-spi/HomePageProviderService.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-This service simply provides access to the home page object (if any) that is returned from the domain service action annotated with xref:rg:ant:HomePage.adoc[`@HomePage`].
+This service simply provides access to the home page object (if any) that is returned from the domain service action annotated with xref:applib:ant:HomePage.adoc[`@HomePage`].
 
 It was originally introduced to support the default implementation of xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`], but was factored out to support alternative implementations of that service (and may be useful for other use cases).
 
diff --git a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
index a52d0c2..c52742f 100644
--- a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
+++ b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi.adoc
@@ -23,7 +23,7 @@ It also lists their corresponding implementation, either a default implementatio
 |xref:rg:svc:bootstrapping-spi/ClassDiscoveryService.adoc[`o.a.i.applib.` +
 `services.classdiscovery` +
 `ClassDiscoveryService`]
-|Mechanism to locate (from the classpath) classes with a specific annotation (eg xref:rg:ant:DomainService.adoc[`@DomainService`])
+|Mechanism to locate (from the classpath) classes with a specific annotation (eg xref:applib:ant:DomainService.adoc[`@DomainService`])
 
 Subtypes of a given type (eg xref:rg:cms:classes/super.adoc#FixtureScript[`FixtureScript`]).
 |`ClassDiscoveryService-` +
diff --git a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
index 5c73275..6277a8a 100644
--- a/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/bootstrapping-spi/ClassDiscoveryService.adoc
@@ -37,11 +37,11 @@ Apache Isis provides an implementation of this service, namely `o.a.i.applib.ser
 
 [NOTE]
 ====
-This implementation is also used to discover domain services annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+This implementation is also used to discover domain services annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 Currently this logic uses the implementation directly, so is not pluggable.
 ====
 
-To use an alternative implementation, implement the `ClassDiscoveryService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `ClassDiscoveryService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
index 91bf88d..3ca4365 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api.adoc
@@ -49,9 +49,9 @@ It also lists their corresponding implementation, either a default implementatio
 `EventBusService`]
 |Programmatically post events to the internal event bus.  Also used by Apache Isis itself to broadcast domain events:
 
-* xref:rg:ant:Action.adoc#domainEvent[`Action#domainEvent()`]
-* xref:rg:ant:Property.adoc#domainEvent[`Property#domainEvent()`]
-* xref:rg:ant:Collection.adoc#domainEvent[`Collection#domainEvent()`]
+* xref:applib:ant:Action.adoc#domainEvent[`Action#domainEvent()`]
+* xref:applib:ant:Property.adoc#domainEvent[`Property#domainEvent()`]
+* xref:applib:ant:Collection.adoc#domainEvent[`Collection#domainEvent()`]
 |`EventBusServiceJdo` +
 ``o.a.i.core`` +
 ``isis-core-runtime``
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
index 1e4d0b6..2635ea2 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/ConfigurationService.adoc
@@ -61,7 +61,7 @@ public class TweetService {
 
 [TIP]
 ====
-If you _do_ have a domain service that needs to access Isis properties, then an alternative is to define a xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] method and pass in a `Map<String,String>` of properties.
+If you _do_ have a domain service that needs to access Isis properties, then an alternative is to define a xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] method and pass in a `Map<String,String>` of properties.
 This is provided all properties, not just those with the 'application' prefix.
 ====
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
index 7236b0c..a238916 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/EventBusService.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `EventBusService` allows domain objects to emit events to subscribing domain services using an in-memory event bus.
 
-The primary user of the service is the framework itself, which automatically emit events for xref:rg:ant:Action.adoc#domainEvent[actions], xref:rg:ant:Property.adoc#domainEvent[properties] and xref:rg:ant:Collection.adoc#domainEvent[collections].
+The primary user of the service is the framework itself, which automatically emit events for xref:applib:ant:Action.adoc#domainEvent[actions], xref:applib:ant:Property.adoc#domainEvent[properties] and xref:applib:ant:Collection.adoc#domainEvent[collections].
 Multiple events are generated:
 
 * when an object member is to be viewed, an event is fired; subscribers can veto (meaning that the member is hidden)
@@ -19,7 +19,7 @@ Multiple events are generated:
 
 If a subscriber throws an exception in the first three steps, then the interaction is vetoed.
 If a subscriber throws an exception in the last two steps, then the transaction is aborted.
-For more on this topic, see xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] and xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`].
+For more on this topic, see xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] and xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`].
 
 It is also possible for domain objects to programmatically generate domain events.
 However the events are published, the primary use case is to decoupling interactions from one module/package/namespace and another.
@@ -42,21 +42,21 @@ public abstract class EventBusService {
 ----
 <1> posts the event onto event bus
 <2> allows domain services to register themselves.
-This should be done in their xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] initialization method (for both singleton and xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
+This should be done in their xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] initialization method (for both singleton and xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
 <3> exists for symmetry, but need never be called (it is in fact deliberately a no-op).
 
 
 
 
-To use an alternative implementation, implement the `EventBusService` domain service and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `EventBusService` domain service and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 
 == Registering Subscribers
 
-The `register()` method should be called in the xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] lifecycle method.
-It is valid and probably the least confusing to readers to also "unregister" in the xref:rg:ant:PreDestroy.adoc[`@PreDestroy`] lifecycle method (though as noted xref:rg:svc:core-domain-api/EventBusService.adoc#api-and-implementation[above], unregistering is actually a no-op).
+The `register()` method should be called in the xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] lifecycle method.
+It is valid and probably the least confusing to readers to also "unregister" in the xref:applib:ant:PreDestroy.adoc[`@PreDestroy`] lifecycle method (though as noted xref:rg:svc:core-domain-api/EventBusService.adoc#api-and-implementation[above], unregistering is actually a no-op).
 
 For example:
 
@@ -85,18 +85,18 @@ public class MySubscribingDomainService {
 <1> subscribers are typically not visible in the UI, so specify a `DOMAIN` nature
 <2> It's important that subscribers register before any domain services that might emit events on the event bus service.
 For example, the xref:ext-secman:ROOT:about.adoc[SecMan extension] provides a domain service that automatically seeds certain domain entities; these will generate xref:rg:cms:classes/lifecycleevent.adoc[lifecycle events] and so any subscribers must be registered before such seed services.
-The easiest way to do this is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
-<3> register with the event bus service during xref:rg:ant:PostConstruct.adoc[`@PostConstruct`]
+The easiest way to do this is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+<3> register with the event bus service during xref:applib:ant:PostConstruct.adoc[`@PostConstruct`]
     initialization
 <4> corresponding deregister when shutting down
 
-This works for both singleton (application-scoped) and also xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
+This works for both singleton (application-scoped) and also xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services.
 
 
 [TIP]
 ====
 The xref:rg:cms:classes/super.adoc#AbstractSubscriber[`AbstractSubscriber`] class automatically performs this registration.
-As a convenience, it is also annotated with the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+As a convenience, it is also annotated with the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 ====
 
 
@@ -292,7 +292,7 @@ public class LibraryMember {
 ----
 <1> `LibraryMember.LeaveEvent` could be _any_ class, not just a subclass of `o.a.i.applib.event.ActionDomainEvent`.
 
-In practice we suspect there will be few cases where the programmatic approach is required rather than the declarative approach afforded by xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] et al.
+In practice we suspect there will be few cases where the programmatic approach is required rather than the declarative approach afforded by xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] et al.
 
 
 
@@ -415,4 +415,4 @@ isis.services.eventbus.implementation=com.mycompany.isis.MyEventBusServiceImplem
 
 The `EventBusService` is intended for fine-grained publish/subscribe for object-to-object interactions within an Apache Isis domain object model. The event propagation is strictly in-memory, and there are no restrictions on the object acting as the event (it need not be serializable, for example).
 
-The xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] meanwhile is intended for coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Here the only events published are those that action invocations (for actions annotated with xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`]) and of changed objects (for objects annotated with xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]).
\ No newline at end of file
+The xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`] meanwhile is intended for coarse-grained publish/subscribe for system-to-system interactions, from Apache Isis to some other system. Here the only events published are those that action invocations (for actions annotated with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`]) and of changed objects (for objects annotated with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]).
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
index e95ff9a..ce3b7c6 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/FactoryService.adoc
@@ -22,7 +22,7 @@ public interface FactoryService {
 ----
 <1> create a new non-persisted domain entity.  Any services will be automatically injected into the service.
 The class must have a no-arg constructor.
-<2> programmatically instantiate a mixin, for example as annotated with xref:rg:ant:Mixin.adoc[`@Mixin`].
+<2> programmatically instantiate a mixin, for example as annotated with xref:applib:ant:Mixin.adoc[`@Mixin`].
 The class must have a 1-arg constructor of the appropriate type.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc b/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
index d3c1610..b955541 100644
--- a/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
+++ b/core/_adoc-rg/modules/svc/pages/core-domain-api/Scratchpad.adoc
@@ -32,13 +32,13 @@ This class (`o.a.i.applib.services.scratchpad.Scratchpad`) is also the implement
 And, as you can see, the service is just a request-scoped wrapper around a `java.util.Map`.
 
 
-To use an alternative implementation, subclass and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, subclass and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 == Usage
 
-The most common use-case is for xref:rg:ant:Action.adoc#invokeOn[bulk] actions that act upon multiple objects in a list.  The (same) `Scratchpad` service is injected into each of these objects, and so they can use pass information.
+The most common use-case is for xref:applib:ant:Action.adoc#invokeOn[bulk] actions that act upon multiple objects in a list.  The (same) `Scratchpad` service is injected into each of these objects, and so they can use pass information.
 
 For example, the Isis addons example https://github.com/isisaddons/isis-app-todoapp/[todoapp] (not ASF) demonstrates how the `Scratchpad` service can be used to calculate the total cost of the selected `ToDoItem`s:
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
index 895264b..42c5c3c 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/BookmarkService.adoc
@@ -9,7 +9,7 @@ The `BookmarkService2` domain service (and its various supertypes) provides the
 
 For example, a `Customer` object with:
 
-* an object type of "custmgmt.Customer" (as per xref:rg:ant:DomainObject.adoc#objectType[`DomainObject#objectType()`] or equivalent) , and
+* an object type of "custmgmt.Customer" (as per xref:applib:ant:DomainObject.adoc#objectType[`DomainObject#objectType()`] or equivalent) , and
 * an id=123
 
 could correspond to a `Bookmark` with a string representation of `custmgmt.Customer|123`.
@@ -57,7 +57,7 @@ public interface BookmarkService {
 
 The core framework provides a default implementation of this API, namely `o.a.i.core.metamodel.services.bookmarks.BookmarkServiceInternalDefault`
 
-To use an alternative implementation, implement `BookmarkService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `BookmarkService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
index 1ffb30d..5c3d2ea 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/JaxbService.adoc
@@ -43,14 +43,14 @@ a persistent entity).  The enum indicates whether these schemas should be includ
 
 Apache Isis provides a default implementation of the service, `o.a.i.applib.services.jaxb.JaxbServiceDefault`.
 
-To use an alternative implementation, implement `JaxbService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `JaxbService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
 == Usage within the framework
 
 This service is provided as a convenience for applications, but is also used internally by the framework to
-xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated
 xref:ug:fun:building-blocks.adoc#view-models[view models].  The functionality to download XML and XSD schemas is also
 exposed in the UI through mixins to xref:rg:cms:classes/mixins.adoc#Dto[`Dto`] interface.
 
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
index 1a8a63f..634a9f0 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/MementoService.adoc
@@ -53,7 +53,7 @@ In fact, the `MementoServiceDefault` implementation does provide a mechanism to
 not part of the `MementoService` public API. Note also that the encoding method is not pluggable.
 ====
 
-To use an alternative implementation, implement `MementoService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement `MementoService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 The types of objects that are supported by the `MementoService` are implementation-specific, but would typically
 include all the usual value types as well as Apache Isis' `Bookmark` class (to represent references to arbitrary
@@ -85,7 +85,7 @@ As noted in the introduction, a common use case for this service is in the imple
 
 [TIP]
 ====
-Rather than implementing `ViewModel`, it's usually easier to annotate your view models with xref:rg:ant:ViewModel.adoc[`@ViewModel`] (or equivalently xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature=EXTERNAL_ENTITY`] or xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature=INMEMORY_ENTITY`].
+Rather than implementing `ViewModel`, it's usually easier to annotate your view models with xref:applib:ant:ViewModel.adoc[`@ViewModel`] (or equivalently xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature=EXTERNAL_ENTITY`] or xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature=INMEMORY_ENTITY`].
 ====
 
 For example, suppose you were implementing a view model that represents an external entity in a SOAP web service.  To access this service the view model needs to store (say) the hostname, port number and an id to the object.
diff --git a/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc b/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
index 2c6c714..300d92f 100644
--- a/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/integration-api/XmlSnapshotService.adoc
@@ -201,7 +201,7 @@ The xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] also provi
 
 The xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] is a simple wrapper around
 standard JAXB functionality for generating both XMLs and XSDs from JAXB-annotated classes.  Note that there is built-in support for JAXB classes (ie annotated with
-xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]) to be used as view models.
+xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]) to be used as view models.
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/intro.adoc b/core/_adoc-rg/modules/svc/pages/intro.adoc
index 3cdaff6..e8b563e 100644
--- a/core/_adoc-rg/modules/svc/pages/intro.adoc
+++ b/core/_adoc-rg/modules/svc/pages/intro.adoc
@@ -17,7 +17,7 @@ image::reference-services/categories.png[width="600px",link="{imagesdir}/referen
 
 A small number of domain services can be considered both API and SPI; a good example is the xref:rg:svc:integration-api/EmailService.adoc[`EmailService`] that is of direct use for domain objects wishing to send out emails, but is also used by the framework to support the xref:vw:ROOT:features/user-registration.adoc[user registration] functionality supported by the xref:vw:ROOT:about.adoc[Wicket viewer].
 The same is true of the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`]; this can be used by domain objects to broadcast arbitrary events, but is also used by the framework to automatically emit events for
-xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] etc.
+xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] etc.
 
 For these hybrid services we have categorized the service as an "API" service.
 This chapter therefore contains only the strictly SPI services.
@@ -80,7 +80,7 @@ Alternatively the object can be instantiated simply using `new`, then services i
 The framework provides default implementations for many of the domain services.
 This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
 
-The trick is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
+The trick is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
 attribute, specifying a low number (typically `"1"`).
 
 [NOTE]
@@ -161,14 +161,14 @@ invoke an action or edit a property; this is held by the `Command` object.
 
 * if a xref:rg:svc:application-layer-spi/CommandService.adoc[`CommandService`] has been configured, then this will be used to create the `Command` object implementation, generally so that it can then also be persisted.
 +
-If the action or property is annotated to be invoked in the background (using xref:rg:ant:Action.adoc#command[`@Action#command...()`] or xref:rg:ant:Property.adoc#command[`@Property#command...()`]) then no further work is done.
+If the action or property is annotated to be invoked in the background (using xref:applib:ant:Action.adoc#command[`@Action#command...()`] or xref:applib:ant:Property.adoc#command[`@Property#command...()`]) then no further work is done.
 But, if the action/property is to be executed in the foreground, then the interaction continues.
 
 * the (request-scoped) xref:rg:svc:application-layer-api/InteractionContext.adoc[`InteractionContext`] domain service acts as a factory for the ``Interaction`` object, which keeps track of the call-graph of executions (``Interaction.Execution``) of either action invocations or property edits.
 In the majority of cases there is likely to be just a single top-level node of this graph, but for applications that use the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] extensively each successive call results in a new child execution.
 
 * before and after each action invocation/property edit, a xref:rg:cms:classes/domainevent.adoc[domain event] is may be broadcast to all subscribers.
-Whether this occurs depends on whether the action/property has been annotated (using xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] or xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`]).
+Whether this occurs depends on whether the action/property has been annotated (using xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`] or xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`]).
 +
 (Note that susbcribers will also receive events for vetoing the action/property; this is not shown on the diagram).
 
@@ -176,12 +176,12 @@ Whether this occurs depends on whether the action/property has been annotated (u
 Metrics as to which objects are merely loaded into memory are also captured using the xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] (not shown on the diagram).
 
 * At the end of each execution, details of that execution are published through the (internal)
-xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`]).
+xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service.  This is only done for actions/properties annotated appropriate (with xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] or xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`]).
 +
 The internal service delegates in turn to any registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`]s (there may be more than one).
 
 * At the end of each transaction, details of all changed objects are published, again through the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] to any registered `PublisherService` implementations.
-Only domain objects specified to be published with xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] are published. +
+Only domain objects specified to be published with xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] are published. +
 +
 [NOTE]
 ====
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc b/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
index 804fef4..255d3c7 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/metadata-api/LayoutService.adoc
@@ -46,9 +46,9 @@ The table below summarises the choices:
 |===
 
 | Style
-|xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
-| xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]
-| xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+|xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
+| xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]
+| xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
 
 
 |`COMPLETE`
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc b/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
index d6fa2ab..05a5008 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/metadata-api/MetamodelService.adoc
@@ -69,7 +69,7 @@ public interface MetaModelService {
 <7> returns the `AppManifest` used to bootstrap the application.
 If an `AppManifest2` was used (from a `Module`), then this is also returned (else just `null`).
 
-<8> obtain an implementation of `CommandDtoProcessor` (if any) as per an xref:rg:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:rg:ant:Property.adoc#command[`@Property#commandDtoProcessor()`].
+<8> obtain an implementation of `CommandDtoProcessor` (if any) as per an xref:applib:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:applib:ant:Property.adoc#command[`@Property#commandDtoProcessor()`].
 +
 This is used by the xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc#implementations[framework-provided implementations] of `ContentMappingService`.
 
diff --git a/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc b/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
index ac72a73..17a3738 100644
--- a/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/metadata-api/SwaggerService.adoc
@@ -37,9 +37,9 @@ public interface SwaggerService {
 }
 ----
 <1> Generate a Swagger spec for use by third-party clients, ie public use.  This specification is restricted only to
-xref:ug:fun:building-blocks.adoc#view-models[view model]s and to domain services with a xref:rg:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY`.
+xref:ug:fun:building-blocks.adoc#view-models[view model]s and to domain services with a xref:applib:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY`.
 <2> Generate a Swagger spec for use only by internally-managed clients, ie private internal use.  This specification includes domain entities and all menu domain services (as well as any view models).
-<3> Generate a Swagger spec that is the same as private case (above), but also including any xref:rg:ant:Action.adoc#restrictTo[prototype] actions.
+<3> Generate a Swagger spec that is the same as private case (above), but also including any xref:applib:ant:Action.adoc#restrictTo[prototype] actions.
 <4> Swagger specs can be written either in JSON or YAML format.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
index ce8856f..034121e 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
@@ -62,7 +62,7 @@ As an alternative, consider using DataNucleus' link:http://www.datanucleus.org/p
 DataNucleus provides an link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/jdoql_typesafe.html[extension to JDO],  so that JDOQL queries can be built up and executed using a set of type-safe classes.
 
 The types in question for type safe queries are not the domain entities, but rather are companion "Q..." query classes.
-These classes are generated dynamically by an link:https://www.jcp.org/en/jsr/detail?id=269[annotation processor] as a side-effect of compilation, one "Q..." class for each of the xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`] domain entity in your application.
+These classes are generated dynamically by an link:https://www.jcp.org/en/jsr/detail?id=269[annotation processor] as a side-effect of compilation, one "Q..." class for each of the xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`] domain entity in your application.
 For example, a `ToDoItem` domain entity will give rise to a `QToDoItem` query class.
 These "Q..." classes mirror the structure of domain entity, but expose properties that allow predicates to be built up for querying instances, as well as other functions in support of order by, group by and other clauses.
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
index 191803b..5481992 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/QueryResultsCache.adoc
@@ -57,7 +57,7 @@ public class QueryResultsCache {
 
 This class (`o.a.i.applib.services.queryresultscache.QueryResultsCache`) is also the implementation.
 
-To use an alternative implementation, subclass `QueryResultsCache` and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, subclass `QueryResultsCache` and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
@@ -112,4 +112,4 @@ This refactoring will be worthwhile provided that enough of the orders being pro
 
 == Related Services
 
-The xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service is also intended for actions that are called many times, allowing arbitrary information to be shared between them. Those methods could be called from some outer loop in domain code, or by the framework itself if the action invoked has the xref:rg:ant:Action.adoc#invokeOn[`@Action#invokeOn()`] annotation attribute set to `OBJECT_AND_COLLECTION` or `COLLECTION_ONLY`.
\ No newline at end of file
+The xref:rg:svc:core-domain-api/Scratchpad.adoc[`Scratchpad`] service is also intended for actions that are called many times, allowing arbitrary information to be shared between them. Those methods could be called from some outer loop in domain code, or by the framework itself if the action invoked has the xref:applib:ant:Action.adoc#invokeOn[`@Action#invokeOn()`] annotation attribute set to `OBJECT_AND_COLLECTION` or `COLLECTION_ONLY`.
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
index 106c7e1..0d39cf1 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi.adoc
@@ -76,7 +76,7 @@ Key:
 * `o.a.i.c.r.s` is an abbreviation for `org.apache.isis.core.runtime.services`
 
 
-Where an implementation is available (on the classpath) then it is always registered automatically (that is, they are all (with one exception) annotated with xref:rg:ant:DomainService.adoc[`@DomainService`].
+Where an implementation is available (on the classpath) then it is always registered automatically (that is, they are all (with one exception) annotated with xref:applib:ant:DomainService.adoc[`@DomainService`].
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
index 00b7177..66663ff 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/AuditerService.adoc
@@ -71,7 +71,7 @@ log4j.additivity.org.apache.isis.applib.services.audit.AuditerServiceLogging=fal
 
 == Usage
 
-The typical way to indicate that an object should be audited is to annotate it with the xref:rg:ant:DomainObject.adoc#auditing[`@DomainObject#auditing()`] annotation.
+The typical way to indicate that an object should be audited is to annotate it with the xref:applib:ant:DomainObject.adoc#auditing[`@DomainObject#auditing()`] annotation.
 
 
 == Alternative Implementations
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
index 69c6d07..0fbabc3 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-spi/PublisherService.adoc
@@ -14,7 +14,7 @@ An alternative use is for profiling: for each execution (action invocation/prope
 If the xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] is used to call other objects then the metrics are captured for each sub-execution.
 The framework provides a default implementation, `PublisherServiceLogging`, that will log these execution graphs (in XML form, per the xref:rg:cms:schema.adoc#ixn["ixn" schema]) to an SLF4J logger.
 
-Only actions/properties/domain objects annotated for publishing (using xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`], xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`] or xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) are published.
+Only actions/properties/domain objects annotated for publishing (using xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`], xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] or xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) are published.
 
 
 == SPI
@@ -85,9 +85,9 @@ log4j.additivity.org.apache.isis.applib.services.publish.PublisherServiceLogging
 
 To indicate that:
 
-* an action invocation should be published, annotate it with the xref:rg:ant:Action.adoc#publishing[`@Action#publishing()`] annotation.
-* an property edit should be published, annotate it with the xref:rg:ant:Property.adoc#publishing[`@Property#publishing()`] annotation.
-* a changed object should be published is to annotate it with the xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation.
+* an action invocation should be published, annotate it with the xref:applib:ant:Action.adoc#publishing[`@Action#publishing()`] annotation.
+* an property edit should be published, annotate it with the xref:applib:ant:Property.adoc#publishing[`@Property#publishing()`] annotation.
+* a changed object should be published is to annotate it with the xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`] annotation.
 
 
 
@@ -124,7 +124,7 @@ To support these use cases several other services are involved:
 
 * the (internal) xref:fis:ROOT:persistence-layer/ChangedObjectsServiceInternal.adoc[`ChangedObjectsServiceInternal`] domain service is used to obtain the set of objects modified throughout the transaction
 
-* the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:rg:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
+* the (internal) xref:fis:ROOT:spi/PublisherServiceInternal.adoc[`PublisherServiceInternal`] domain service filters these down to those changed objects that are also published (as per xref:applib:ant:DomainObject.adoc#publishing[`@DomainObject#publishing()`]) and delegates to the `PublisherService`.
 
 * the xref:rg:svc:persistence-layer-api/MetricsService.adoc[`MetricsService`] is used to obtain the objects that are loaded throughout the transaction; this info is used in order to instantiate the `PublishedObjects` object passed through to the `PublisherService`.
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
index 9456c98..de5dc29 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/AcceptHeaderService.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `AcceptHeaderService` domain service is a xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] service that simply exposes the HTTP `Accept` header to the domain.
+The `AcceptHeaderService` domain service is a xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] service that simply exposes the HTTP `Accept` header to the domain.
 Its intended use is to support multiple versions of a REST API, where the responsibility for content negotiation (determining which version of the REST API is to be used) is managed by logic in the domain objects themselves.
 
 [NOTE]
@@ -26,7 +26,7 @@ public interface AcceptHeaderService {
     List<MediaType> getAcceptableMediaTypes();      // <2>
 }
 ----
-<1> is xref:rg:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
+<1> is xref:applib:ant:RequestScoped.adoc[`@RequestScoped`], so this domain service instance is scoped to a particular request and is then destroyed
 <2> returns the list of media types found in the HTTP Accept header.
 
 
@@ -37,7 +37,7 @@ The default implementation is provided by `o.a.i.v.ro.rendering.service.accepthe
 Note that the service will only return a list when the request is initiated through the xref:vro:ROOT:about.adoc[Restful Objects viewer].  Otherwise the service will return `null`.
 ====
 
-To use an alternative implementation, use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == Usage
@@ -49,7 +49,7 @@ The diagram below illustrated this:
 
 image::reference-services-api/acceptheaderservice.png[width="700px",link="{imagesdir}/reference-services-api/acceptheaderservice.png"]
 
-The REST request is submitted to a domain service with a xref:rg:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY` (`MyRestApi` in the diagram).
+The REST request is submitted to a domain service with a xref:applib:ant:DomainService.adoc#nature[nature] of `VIEW_REST_ONLY` (`MyRestApi` in the diagram).
 This uses the `AcceptHeaderService` to obtain the values of the HTTP `Accept` header.
 Based on this it delegates to the appropriate underlying domain service (with a nature of `DOMAIN` so that they are not exposed in the REST API at all).
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
index 0b87a4b..de9c0df 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-api/GuiceBeanProvider.adoc
@@ -36,7 +36,7 @@ public interface GuiceBeanProvider {
 
 The xref:vw:ROOT:about.adoc[Wicket viewer] this provides a default implementation of this service.
 
-To use an alternative implementation, implement the `GuideBeanProvider` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `GuideBeanProvider` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
index 8354401..5e6910b 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/ContentMappingService.adoc
@@ -16,7 +16,7 @@ See xref:fis:ROOT:presentation-layer/ContentNegotiationService.adoc[`ContentNego
 Unlike most other domain services, the framework (that is, `ContentNegotiationService`) will check _all_ available
 implementations of `ContentMappingService` to convert the domain object to the requested media type, rather than merely
 the first implementation found; in other words it uses the chain-of-responsibility pattern.  Services are checked
-in the ordering defined by xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
+in the ordering defined by xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
 The mapped object used will be the first non-`null` result returned by an implementation.
 ====
 
@@ -53,7 +53,7 @@ For framework implementations of `ContentMappingService` allow domain service ac
 * `o.a.i.applib.services.conmap.ContentMappingServiceForCommandDto` will map any single instance of a `CommandWithDto` into a `CommandDto` XML document
 * `o.a.i.applib.services.conmap.ContentMappingServiceForCommandsDto` will map list of ``CommandWithDto``s into a `CommandsDto` XML document, and will wrap any single instance of a `CommandWithDto` into a singleton list and thence into a `CommandsDto` XML document.
 
-If the action invocation or property edit represent provides an implementation of a `CommandDtoProcessor` (by way of xref:rg:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:rg:ant:Property.adoc#command[`@Property#commandDtoProcessor()`]) then this is also called to post-process the persisted `CommandDto` if required.
+If the action invocation or property edit represent provides an implementation of a `CommandDtoProcessor` (by way of xref:applib:ant:Action.adoc#command[`@Action#commandDtoProcessor()`] or xref:applib:ant:Property.adoc#command[`@Property#commandDtoProcessor()`]) then this is also called to post-process the persisted `CommandDto` if required.
 A typical use case for this is to dynamically add in serialized ``Blob``s or ``Clob``s, the values of which are not captured by default in `CommandDto`.
 
 To support the writing of custom implementations of this interface, the framework also provides `ContentMappingService.Util` which includes a couple of convenience utilities:
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
index 98b6715..e3f1722 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridService.adoc
@@ -47,12 +47,12 @@ If none exists, will return null (and the calling xref:rg:svc:presentation-layer
 <5> returns a default grid, eg two columns in ratio 4:8.
 Used when no existing grid layout exists for a domain class.
 <6> validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.
-This is done using existing metadata, most notably that of the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
+This is done using existing metadata, most notably that of the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
 Such a grid, if persisted as the layout XML file for the domain class, allows the `@MemberOrder` annotation to be removed from the source code of the domain class (but other annotations must be retained).
 <7> Takes a normalized grid and enriches it with additional metadata (taken from Apache Isis' internal metadata) that can be represented in the layout XML.
-Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
+Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
 <8> Takes a normalized grid and strips out removes all members, leaving only the grid structure.
-Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
+Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
 
 The first four methods just delegate to the corresponding methods in xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`], while the last four delegate to the  corresponding method in xref:rg:svc:presentation-layer-spi/GridSystemService.adoc[`GridSystemService`].
 The service inspects the ``Grid``'s concrete class to determine which actual `GridSystemService` instance to delegate to.
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
index fd30dda..bb7b3bf 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/GridSystemService.adoc
@@ -18,7 +18,7 @@ The framework provides a single such grid implementation, namely for Bootstrap3.
 Unlike most other domain services, the framework will check _all_ available implementations of `GridSystemService` to
 obtain available grid systems, rather than merely the first implementation found; in other words it uses the
 chain-of-responsibility pattern.  Services are called in the order defined by
-xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
+xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).
 
 Note though that each concrete implementation must also provide corresponding Wicket viewer components capable of
 interpreting the grid layout.
@@ -42,14 +42,14 @@ public interface GridSystemService<G extends Grid> {
 }
 ----
 <1> The concrete subclass of `Grid` supported by this implementation. As noted in the introduction, there can be multiple implementations of this service,  but there can only be one implementation per concrete subclass.  As is normal practice,
-the service with the lowest xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] takes precedence.
+the service with the lowest xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] takes precedence.
 <2> the target namespace for this grid system.  This is used when generating the XML.  The Bootstrap3 grid system provided by the framework returns the value `http://isis.apache.org/applib/layout/grid/bootstrap3`.
 <3> the schema location for the XSD.  The Bootstrap3 grid system provided by the framework returns the value `http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd`.
 <4> a default grid, eg two columns in ratio 4:8.  Used when no existing grid layout exists for a domain class.
-<5> Validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.  This is done using existing metadata, most notably that of the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation.  Such a grid, if persisted as the layout XML file for the domain class, allows the
+<5> Validates and normalizes a grid, modifying the grid so that all of the domain object's members (properties, collections, actions) are bound to regions of the grid.  This is done using existing metadata, most notably that of the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation.  Such a grid, if persisted as the layout XML file for the domain class, allows the
  `@MemberOrder` annotation to be removed from the source code of the domain class (but other annotations must be retained).
-<6> Takes a normalized grid and enriches it with additional metadata (taken from Apache Isis' internal metadata) that can be represented in the layout XML.  Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
-<7> Takes a normalized grid and strips out removes all members, leaving only the grid structure.  Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
+<6> Takes a normalized grid and enriches it with additional metadata (taken from Apache Isis' internal metadata) that can be represented in the layout XML.  Such a grid, if persisted as the layout XML file for the domain class, allows all layout annotations (xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]) to be removed from the source code of the domain class.
+<7> Takes a normalized grid and strips out removes all members, leaving only the grid structure.  Such a grid, if persisted as the layout XML file for the domain class, requires that the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation is retained in the source code of said class in order to bind members to the regions of the grid.
 
 
 == Implementation
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
index 0103042..4ccea76 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/HintStore.adoc
@@ -42,7 +42,7 @@ per the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`], so
 
 The core framework provides a default implementation of this service (`org.apache.isis.viewer.wicket.viewer.services.HintStoreUsingWicketSession`).
 
-To use an alternative implementation, implement the `HintStore` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `HintStore` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
 
 == View models
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
index 8f55105..0b2c494 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/LocaleProvider.adoc
@@ -30,7 +30,7 @@ public interface LocaleProvider {
 }
 ----
 
-This is notionally request-scoped, returning the `Locale` of the current user; _not_ that of the server.  (Note that the implementation is not required to actually be xref:rg:ant:RequestScoped.adoc[`@RequestScoped`], however).
+This is notionally request-scoped, returning the `Locale` of the current user; _not_ that of the server.  (Note that the implementation is not required to actually be xref:applib:ant:RequestScoped.adoc[`@RequestScoped`], however).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
index 951272f..b37476d 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/RoutingService.adoc
@@ -18,7 +18,7 @@ of the implementation to figure out what the "owning" object might be.
 
 * if an action returns `null` or is `void`, then return some other "useful" object. +
 +
-For example, return the home page (eg as defined by the xref:rg:ant:HomePage.adoc[`@HomePage`] annotation).
+For example, return the home page (eg as defined by the xref:applib:ant:HomePage.adoc[`@HomePage`] annotation).
 
 Currently the routing service is used only by the xref:vw:ROOT:about.adoc[Wicket viewer]; it is ignored by the xref:vro:ROOT:about.adoc[Restful Objects] viewer.
 
@@ -28,7 +28,7 @@ Currently the routing service is used only by the xref:vw:ROOT:about.adoc[Wicket
 Unlike most other domain services, the framework will check _all_ available implementations of
 `RoutingService` to return a route, rather than the first implementation found; in other words it uses the
 chain-of-responsibility pattern.  Services are called in the order defined by
-xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).  The route used will be the
+xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]).  The route used will be the
 result of the first implementation checked that declares that it can provide a route.
 ====
 
@@ -58,7 +58,7 @@ The framework provides a default implementation - `RoutingServiceDefault` - whic
 It uses the xref:rg:svc:application-layer-spi/HomePageProviderService.adoc[`HomePageProviderService`].
 
 There can be multiple implementations of `RoutingService` registered.
-These are checked in turn (chain of responsibility pattern), ordered according to xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 The route from the first service that returns `true` from its `canRoute(...)` method will be used.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
index 9d4f83f..9bfa2fd 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/TableColumnOrderService.adoc
@@ -29,7 +29,7 @@ public interface TableColumnOrderService {
 <1> for the parent collection owned by the specified parent and collection Id, return the set of property ids in the same or other order.
 <2> for the standalone collection of the specified type, return the set of property ids in the same or other order, else return `null` if provides no reordering.
 
-There can be multiple implementations of `TableColumnOrderService` registered, ordered as per xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`].
+There can be multiple implementations of `TableColumnOrderService` registered, ordered as per xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`].
 The ordering provided by the first such service that returns a non-`null` value will be used.
 If all provided implementations return `null`, then the framework will fallback to a default implementation.
 
@@ -40,7 +40,7 @@ If all provided implementations return `null`, then the framework will fallback
 The framework provides a fallback implementation of this service, namely `TableColumnOrderService.Default`.
 
 There can be multiple implementations of `TableColumnOrderService registered.
-These are checked in turn (chain of responsibility pattern), ordered according to xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+These are checked in turn (chain of responsibility pattern), ordered according to xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 The order from the first service that returns a non null value will be used.
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
index e2a7943..bdb6240 100644
--- a/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/presentation-layer-spi/UrlEncodingService.adoc
@@ -13,7 +13,7 @@ When the framework needs to recreate the view model (for example to invoke an ac
 Defining this functionality as an SPI has two use cases:
 
 * first, (though some browsers support longer strings), there is a limit of 2083 characters for URLs.
-For view model mementos that correspond to large strings (as might occur when serializing a JAXB xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated view model), the service provides a hook.
+For view model mementos that correspond to large strings (as might occur when serializing a JAXB xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated view model), the service provides a hook.
 +
 For example, each memento string could be mapped to a GUID held in some cluster-aware cache.
 
@@ -46,5 +46,5 @@ The framework provides a default implementation -- `UrlEncodingServiceWithCompre
 As already noted, be aware that the maximum length of a URL should not exceed 2083 characters.
 For large view models, there's the possibility that this limit could be exceeded; in such cases register an alternative implementation of this service.
 
-To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
+To use an alternative implementation, implement the `UrlEncodingService` interface and use xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] (as explained in the xref:rg:svc:intro/overriding-the-services.adoc[introduction] to this guide).
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
index 9b4ebd8..b424802 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/are-you-sure.adoc
@@ -10,7 +10,7 @@ In such a case it's probably a good idea for the UI to require that the end-user
 
 == Using action semantics
 
-One way to meet this requirement is using the framework's built-in xref:rg:ant:Action.adoc#semantics[`@Action#semantics()`] attribute:
+One way to meet this requirement is using the framework's built-in xref:applib:ant:Action.adoc#semantics[`@Action#semantics()`] attribute:
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
index 77f7697..16c638e 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-handle-void-and-null-results.adoc
@@ -22,7 +22,7 @@ And refresh the current page when receiving a null response or invoking a void a
 But how to implement this?_
 
 One way to implement this idea is to provide a custom implementation of the xref:rg:svc:presentation-layer-spi/RoutingService.adoc[`RoutingService`] SPI domain service.
-The default implementation will either return the current object (if not null), else the home page (as defined by xref:rg:ant:HomePage.adoc[`@HomePage`]) if one exists.
+The default implementation will either return the current object (if not null), else the home page (as defined by xref:applib:ant:HomePage.adoc[`@HomePage`]) if one exists.
 
 The following custom implementation refines this to use the breadcrumbs (available in the Wicket viewer) to return the first non-deleted domain object found in the list of breadcrumbs:
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
index 6bedd9c..c6e91db 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/how-to-implement-a-spellchecker.adoc
@@ -15,9 +15,9 @@ One way to implement is to use the xref:rg:svc:core-domain-api/EventBusService.a
 
 * Set up a xref:rg:cms:classes/domainevent.adoc[domain event] xref:rg:cms:classes/super.adoc#AbstractSubscriber[subscriber] that can veto the changes.
 
-* if the change is made through an action, you can use xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`].
+* if the change is made through an action, you can use xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`].
 
-if if the change is made through an edit, you can use xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`].
+if if the change is made through an edit, you can use xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`].
 
 You'll need some way to know which fields should be spell checked.  Two ways spring to mind:
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
index 0a5cab3..7d9d43f 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/replacing-default-service-implementations.adoc
@@ -10,7 +10,7 @@ The framework provides default implementations for many of the xref:rg:svc:about
 This is convenient, but sometimes you will want to replace the default implementation with your own service implementation.
 
 For example, suppose you wanted to provide your own implementation of xref:rg:svc:presentation-layer-spi/LocaleProvider.adoc[`LocaleProvider`].
-The trick is to use the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
+The trick is to use the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute, specifying a low number (typically `"1"`).
 
 Here's how:
 
diff --git a/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc b/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
index 19ee440..01341cf 100644
--- a/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
+++ b/core/_adoc-ug/modules/btb/pages/hints-and-tips/simulating-collections-of-values.adoc
@@ -19,5 +19,5 @@ NOTE: FIXME
 
 == Persistence Concerns
 
-NOTE: FIXME -  easiest to simply store using DataNucleus' support for collections, marked as xref:rg:ant:Programmatic.adoc[`@Programmatic`] so that it is ignored by Apache Isis.  Alternatively can store as json/xml in a varchar(4000) or clob and manually unpack.
+NOTE: FIXME -  easiest to simply store using DataNucleus' support for collections, marked as xref:applib:ant:Programmatic.adoc[`@Programmatic`] so that it is ignored by Apache Isis.  Alternatively can store as json/xml in a varchar(4000) or clob and manually unpack.
 
diff --git a/core/_adoc-ug/modules/btb/pages/i18n.adoc b/core/_adoc-ug/modules/btb/pages/i18n.adoc
index 294877a..844a83f 100644
--- a/core/_adoc-ug/modules/btb/pages/i18n.adoc
+++ b/core/_adoc-ug/modules/btb/pages/i18n.adoc
@@ -552,7 +552,7 @@ msgid "<i>Quantity</i>"
 msgstr "<i>Quantité</i>"
 ----
 
-For this to work, the `namedEscaped()` attribute must be specified using either the xref:vw:ROOT:layout/file-based.adoc[layout file], or using an annotation such as xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`].
+For this to work, the `namedEscaped()` attribute must be specified using either the xref:vw:ROOT:layout/file-based.adoc[layout file], or using an annotation such as xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] or xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`].
 
 For example:
 
diff --git a/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc b/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
index 74d767d..1e84156 100644
--- a/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
+++ b/core/_adoc-ug/modules/btb/pages/programming-model/custom-validator.adoc
@@ -10,7 +10,7 @@ For example, the validator will detect any orphaned supporting methods (eg `hide
 
 [NOTE]
 ====
-The support for xref:rg:ant:aaa.adoc#deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
+The support for xref:applib:ant:aaa.adoc#deprecated[disallowing deprecated annotations] is also implemented using the metamodel validator.
 ====
 
 You can also impose your own application-specific rules by installing your own metamodel validator.  To give just one example, you could impose naming standards such as ensuring that a domain-specific abbreviation such as "ISBN" is always consistently capitalized wherever it appears in a class member.
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
index 3da2611..0c476f3 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/domain-events.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 Domain events are fired -- through the internal xref:rg:svc:core-domain-api/EventBusService.adoc[event bus] -- for every user interaction with each object member (property, collection or action).
 
-By default, rendering a property causes a `PropertyDomainEvent` to be fired, though the xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] attribute allows a custom subclass to be specified if necessary.
+By default, rendering a property causes a `PropertyDomainEvent` to be fired, though the xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`] attribute allows a custom subclass to be specified if necessary.
 Similarly, rendering a collection causes a `CollectionDomainEvent` to be fired, and rendering an action causes an `ActionDomainEvent` to be fired.
 
 In fact, each event can be fired up to five times, with the event's `getEventPhase()` method indicating to the subscriber the phase:
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
index fde1d87..789673df 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/lifecycle-events.adoc
@@ -33,7 +33,7 @@ Note that this requires that the object is instantiated using the framework, see
 There is no lifecycle event for object creating because the framework doesn't know about newly created objects until they have been created; and there is no lifecycle event for obejcts removed because it is not valid to "touch" a domain entity once deleted.
 
 
-For example, if annotated with xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObjectLayout#updatingLifecycleEvent()`], the appropriate (subclass of) `ObjectUpdatingEvent` will be emitted.
- Similarly for xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
+For example, if annotated with xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`@DomainObjectLayout#updatingLifecycleEvent()`], the appropriate (subclass of) `ObjectUpdatingEvent` will be emitted.
+ Similarly for xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc b/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
index 925576d..2523a95 100644
--- a/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
+++ b/core/_adoc-ug/modules/fun/pages/building-blocks/events/ui-events.adoc
@@ -10,8 +10,8 @@ xref:ug:fun:ui-hints/object-titles-and-icons.adoc[Normally] the code to return t
 However, UI events allow this title and icon to be provided instead by a subscriber.
 UI events have higher precedence than the other mechanisms of supplying a title.
 
-If annotated with xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], the appropriate (subclass of) `TitleUiEvent` will be emitted.
- Similarly for xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
+If annotated with xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], the appropriate (subclass of) `TitleUiEvent` will be emitted.
+ Similarly for xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`] and xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`].
 
 This can be particularly useful for xref:ug:fun:programming-model.adoc#jaxb[JAXB-style view models] which are code generated from XSDs and so cannot have any dependencies on the rest of the Apache Isis framework.
 Here a subscriber on the default events can provide a title and icon for such an object.
diff --git a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc b/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
index b75830c..1a788f1 100644
--- a/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
+++ b/core/_adoc-ug/modules/fun/pages/business-rules/validity.adoc
@@ -44,7 +44,7 @@ It is also possible to return a localized string by returning a `TranslatableStr
 == For more information
 
 For more information, see the xref:rg:cms:methods.adoc#validate[`validate...()`] section in the appropriate reference guide.
-The reference guide also explains how to define validation declaratively, using the xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] or xref:rg:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] attributes.
+The reference guide also explains how to define validation declaratively, using the xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] or xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] attributes.
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
index 8bd2250..25dad33 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/principles/for-the-long-term.adoc
@@ -32,7 +32,7 @@ To support the business domain being split into separate modules, the framework
 
 * dependency injection of services +
 +
-Both xref:rg:svc:about.adoc[framework-defined domain services] and application-defined services (eg repositories and factories) are injected everywhere, using the regular xref:rg:ant:Inject.adoc[`@javax.inject.Inject`] annotation.
+Both xref:rg:svc:about.adoc[framework-defined domain services] and application-defined services (eg repositories and factories) are injected everywhere, using the regular xref:applib:ant:Inject.adoc[`@javax.inject.Inject`] annotation.
 
 * mixins allow functionality defined in one module to appear (in the UI) to be provided by some other module. +
 +
diff --git a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc b/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
index 398643a..c17e19f 100644
--- a/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
+++ b/core/_adoc-ug/modules/fun/pages/drop-downs-and-defaults.adoc
@@ -110,7 +110,7 @@ For example:
 public class Product { /* ... */ }
 ----
 
-For more on this, see xref:rg:ant:DomainObject.adoc#bounding[`@DomainObject#bounding()`].
+For more on this, see xref:applib:ant:DomainObject.adoc#bounding[`@DomainObject#bounding()`].
 
 Or, if the data type is an enum, then a drop-down will be provided automatically.
 A payment method is a good example of this:
@@ -149,7 +149,7 @@ public class Customers {
 }
 ----
 
-For more on this, see xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`].
+For more on this, see xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`].
 
 [TIP]
 ====
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
index c8020e0..66e6deb 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/actions.adoc
@@ -23,7 +23,7 @@ But if the state change is more complex, then most likely an action should be us
 
 == Defining actions
 
-If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is set (recommended), then actions are `public` methods with the xref:rg:ant:Action.adoc[`@Action`] annotation.
+If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is set (recommended), then actions are `public` methods with the xref:applib:ant:Action.adoc[`@Action`] annotation.
 This annotation can also specify additional domain semantics, for example regarding idempotency.
 
 For example:
@@ -46,7 +46,7 @@ public ShoppingBasket addToBasket(
 For the `product` parameter this is reasonable, but not so for the `quantity` parameter (which would by default show up with a name of "int".
 The `@ParameterLayout` annotation provides a UI hint to the framework.
 
-If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is _not_ set, then the rules are a little more involved: an action is a public method that is not getters or setters which represent properties or collections, and does not have one of the various method prefixes (such as `hide` or `validate`) used for represent xref:ug:fun:business-rules.adoc[business rules]), and is not annotated with xref:rg:ant:Programmatic.adoc[`@Progr [...]
+If the xref:rg:cfg:configuring-core.adoc#policy[`isis.reflector.explicitAnnotations.action`] configuration property is _not_ set, then the rules are a little more involved: an action is a public method that is not getters or setters which represent properties or collections, and does not have one of the various method prefixes (such as `hide` or `validate`) used for represent xref:ug:fun:business-rules.adoc[business rules]), and is not annotated with xref:applib:ant:Programmatic.adoc[`@P [...]
 
 
 
@@ -83,7 +83,7 @@ ProductRepository productRepository;
 <1> Supporting `autoComplete` method.
 The "0" in the name means that this corresponds to parameter 0 of the "addToBasket" action (ie `Product`).
 It is also required to return a Collection of that type.
-<2> The xref:rg:ant:MinLength.adoc[`@MinLength`] annotation defines how many characters the end-user must enter before performing a search.
+<2> The xref:applib:ant:MinLength.adoc[`@MinLength`] annotation defines how many characters the end-user must enter before performing a search.
 <3> The implementation delegates to an injected repository service.  This is typical.
 
 Note that it is also valid to define "choices" and "autoComplete" for value types (such as `quantity`, above); it just isn't as common to do so.
@@ -154,13 +154,13 @@ public List<Product> autoComplete0AddToBasket(@MinLength(3) String searchTerm) {
 }
 ----
 
-As the example suggests, any collection parameter type must provide a way to select items, either by way of a "choices" or "autoComplete" supporting method or alternatively defined globally using xref:rg:ant:DomainObject.adoc[`@DomainObject`] on the referenced type (described xref:ug:fun:programming-model.adoc#actions#reference-parameter-types[above]).
+As the example suggests, any collection parameter type must provide a way to select items, either by way of a "choices" or "autoComplete" supporting method or alternatively defined globally using xref:applib:ant:DomainObject.adoc[`@DomainObject`] on the referenced type (described xref:ug:fun:programming-model.adoc#actions#reference-parameter-types[above]).
 
 
 == Optional Parameters
 
-Whereas the xref:ug:fun:programming-model.adoc#properties.adoc#optional-properties[optionality of properties] is defined using xref:rg:ant:Column#allowsNull[`@javax.jdo.annotations.Column#allowsNull()`], that JDO annotation cannot be applied to parameter types.
-Instead, either the xref:rg:ant:Nullable.adoc[`@Nullable`] annotation or the xref:rg:ant:Parameter.adoc#optionality[`@Parameter#optionality()`]  annotation/attribute is used.
+Whereas the xref:ug:fun:programming-model.adoc#properties.adoc#optional-properties[optionality of properties] is defined using xref:applib:ant:Column#allowsNull[`@javax.jdo.annotations.Column#allowsNull()`], that JDO annotation cannot be applied to parameter types.
+Instead, either the xref:applib:ant:Nullable.adoc[`@Nullable`] annotation or the xref:applib:ant:Parameter.adoc#optionality[`@Parameter#optionality()`]  annotation/attribute is used.
 
 For example:
 
@@ -188,8 +188,8 @@ See also xref:ug:fun:programming-model.adoc#properties-vs-parameters[properties
 
 == ``String`` Parameters (Length)
 
-Whereas the length of string properties is defined using xref:rg:ant:Column#length-for-strings.adoc[`@javax.jdo.annotations.Column#length()`], that JDO annotation cannot be applied to parameter types.
-Instead, the xref:rg:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation/attribute is used.
+Whereas the length of string properties is defined using xref:applib:ant:Column#length-for-strings.adoc[`@javax.jdo.annotations.Column#length()`], that JDO annotation cannot be applied to parameter types.
+Instead, the xref:applib:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation/attribute is used.
 
 For example:
 
@@ -215,8 +215,8 @@ public Customer updateName(
     return this;
 }
 ----
-<1> Specifies the property length using the JDO xref:rg:ant:Column#length.adoc[`@Column#length()`] annotation
-<2> Specifies the parameter length using the (Apache Isis) xref:rg:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation
+<1> Specifies the property length using the JDO xref:applib:ant:Column#length.adoc[`@Column#length()`] annotation
+<2> Specifies the parameter length using the (Apache Isis) xref:applib:ant:Parameter.adoc#maxLength[`@Parameter#maxLength()`] annotation
 
 [IMPORTANT]
 ====
@@ -228,8 +228,8 @@ See also xref:ug:fun:programming-model.adoc#properties-vs-parameters[properties
 
 == ``BigDecimal``s (Precision)
 
-Whereas the precision of `BigDecimal` properties is defined using xref:rg:ant:Column#scale.adoc[`@javax.jdo.annotations.Column#scale()`], that JDO annotation cannot be applied to parameter types.
-Instead, the xref:rg:ant:Digits.adoc[`@javax.validation.constraints.Digits#fraction()`] annotation/attribute is used.
+Whereas the precision of `BigDecimal` properties is defined using xref:applib:ant:Column#scale.adoc[`@javax.jdo.annotations.Column#scale()`], that JDO annotation cannot be applied to parameter types.
+Instead, the xref:applib:ant:Digits.adoc[`@javax.validation.constraints.Digits#fraction()`] annotation/attribute is used.
 
 For example:
 
@@ -247,8 +247,8 @@ public Order updateDiscount(
     return this;
 }
 ----
-<1> Specifies the property precision using xref:rg:ant:Column#scale.adoc[`@Column#scale()`]
-<2> Specifies the corresponding parameter precision using xref:rg:ant:Digits.adoc[`@Digits#fraction()`].
+<1> Specifies the property precision using xref:applib:ant:Column#scale.adoc[`@Column#scale()`]
+<2> Specifies the corresponding parameter precision using xref:applib:ant:Digits.adoc[`@Digits#fraction()`].
 
 See also xref:ug:fun:programming-model.adoc#properties-vs-parameters[properties vs parameters].
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
index a224f04..7584a7b 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/initialization.adoc
@@ -10,10 +10,10 @@ Services can optionally declare lifecycle callbacks to initialize them (when the
 
 An Apache Isis session _is_ available when initialization occurs (so services can interact with the object store, for example).
 
-The framework will call any `public` method annotated with xref:rg:ant:PostConstruct.adoc[`@PostConstruct`] with either no arguments of an argument of type `Map<String,String>`.
+The framework will call any `public` method annotated with xref:applib:ant:PostConstruct.adoc[`@PostConstruct`] with either no arguments of an argument of type `Map<String,String>`.
 In the latter case, the framework passes in the configuration.
 
-Shutdown is similar; the framework will call any method annotated with xref:rg:ant:PreDestroy.adoc[`@PreDestroy`].
+Shutdown is similar; the framework will call any method annotated with xref:applib:ant:PreDestroy.adoc[`@PreDestroy`].
 
 
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
index a228b7f..3bb667e 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/menu.adoc
@@ -49,11 +49,11 @@ public class CustomerMenu {
     protected CustomerRepository customerRepository;            // <6>
 }
 ----
-<1> The (Apache Isis) xref:rg:ant:DomainService.adoc[`@DomainService`] annotation is used to identify the class as a domain service.
+<1> The (Apache Isis) xref:applib:ant:DomainService.adoc[`@DomainService`] annotation is used to identify the class as a domain service.
 Apache Isis scans the classpath looking for classes with this annotation, so there very little configuration other than to tell the framework which packages to scan underneath.
 The `VIEW` nature indicates that this service's actions should be exposed as menu items.
-<2> The `findByName` method is annotated with various Apache Isis annotations (xref:rg:ant:Action.adoc[`@Action`], xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] and is itself rendered in the UI as a "Find By Name" menu item underneath the "Simple Objects" menu.
-<3> The xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`] provides metadata for the parameter itself, in this case its name.
+<2> The `findByName` method is annotated with various Apache Isis annotations (xref:applib:ant:Action.adoc[`@Action`], xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] and is itself rendered in the UI as a "Find By Name" menu item underneath the "Simple Objects" menu.
+<3> The xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`] provides metadata for the parameter itself, in this case its name.
 +
 [TIP]
 ====
@@ -63,7 +63,7 @@ There's no need to name the action parameters if the code is compiled using the
 <4> the action implementation delegates to an injected repository.
 The framework can inject into not just other domain services but will also automatically into domain entities and view models.
 There is further discussion of service injection xref:ug:fun:programming-model.adoc#inject-services[below].
-<5> xref:rg:ant:Action.adoc#restrictTo[Prototype] actions are rendered only in prototyping mode.
+<5> xref:applib:ant:Action.adoc#restrictTo[Prototype] actions are rendered only in prototyping mode.
 A "list all" action such as this can be useful when exploring the domain with a small dataset.
 <6> Menu services typically delegate to an underlying repository/ies specific to the domain (rather than use `RepositoryService` directly, for example).
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
index 2b2921f..373b85b 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/registering.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 
 The easiest way to register domain services with the framework is to use an xref:rg:cms:classes/AppManifest-bootstrapping.adoc[`AppManifest`].
-This specifies the modules which contain xref:rg:ant:DomainService.adoc[`@DomainService`]-annotated classes.
+This specifies the modules which contain xref:applib:ant:DomainService.adoc[`@DomainService`]-annotated classes.
 
 For example:
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
index 9bd8479..d5587f4 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/domain-services/scoped-services.adoc
@@ -9,7 +9,7 @@ By default all domain services are considered to be singletons, and thread-safe.
 
 Sometimes though a service's lifetime is applicable only to a single request; in other words it is request-scoped.
 
-The CDI annotation xref:rg:ant:RequestScoped.adoc[`@javax.enterprise.context.RequestScoped`] is used to indicate this fact:
+The CDI annotation xref:applib:ant:RequestScoped.adoc[`@javax.enterprise.context.RequestScoped`] is used to indicate this fact:
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
index cbf163a..0fff2ff 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/mixins.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 A xref:ug:fun:building-blocks.adoc#mixins[mixin] acts like a trait or extension method, allowing one module to contribute behaviour or derived state to another object.
 
-Syntactically, a mixin is defined using either the xref:rg:ant:Mixin.adoc[`@Mixin`] annotation or using xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
+Syntactically, a mixin is defined using either the xref:applib:ant:Mixin.adoc[`@Mixin`] annotation or using xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] attribute (specifying a nature of `Nature.MIXIN`).
 
 // TODO: v2: perhaps we should get rid of @DomainObject#nature=MIXIN ?
 
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
index cb6a1ed..8f20083 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/dto.adoc
@@ -49,7 +49,7 @@ public class ToDoItemV1_1 implements Dto {                          // <5>
 <1> package name encodes major version; see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
 <2> identifies this class as a view model and defines the root element for JAXB serialization
 <3> all properties in the class must be listed; (they can be ignored using `@XmlTransient`)
-<4> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
+<4> demonstrating use of UI events for a subscriber to provide the DTO's title; see xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`].
 <5> class name encodes (major and) minor version; see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
 <6> again, see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
 <7> again, see discussion on xref:ug:fun:programming-model.adoc#versioning[versioning]
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
index 4fed366..0089da0 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/jaxb/referencing-domain-entities.adoc
@@ -11,7 +11,7 @@ It wouldn't make sense to serialize out the state of a persistent entity.
 However, the identity of the underlying entity is well defined; Apache Isis defines the xref:rg:cms:schema.adoc#common[common schema] which defines the `<oid-dto>` element (and corresponding `OidDto` class): the object's type and its identifier.
 This is basically a formal XML equivalent to the `Bookmark` object obtained from the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`].
 
-There is only one requirement to make this work: every referenced domain entity must be annotated with xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
+There is only one requirement to make this work: every referenced domain entity must be annotated with xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], specifying the framework-provided `PersistentEntityAdapter`.
 And this class is similar to the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]: it knows how to create an `OidDto` from an object reference.
 
 Thus, in our view model we can legitimately write:
diff --git a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
index 978f4f2..a97d3e6 100644
--- a/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
+++ b/core/_adoc-ug/modules/fun/pages/programming-model/view-models/non-jaxb.adoc
@@ -32,7 +32,7 @@ They are:
 @DomainObject(nature=Nature.EXTERNAL_ENTITY)
 public class CustomerRecordOnSAP { /* ... */ }
 ----
-|Annotated with xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] and a nature of `EXTERNAL_ENTITY`, with memento derived automatically from the properties of the domain object.  Collections are ignored, as are any properties annotated as xref:rg:ant:Property.adoc#notPersisted[not persisted].
+|Annotated with xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] and a nature of `EXTERNAL_ENTITY`, with memento derived automatically from the properties of the domain object.  Collections are ignored, as are any properties annotated as xref:applib:ant:Property.adoc#notPersisted[not persisted].
 
 | In-memory entity
 |[source,java]
@@ -58,7 +58,7 @@ public class Dashboard { /* ... */ }
 public class Dashboard { /* ... */ }
 ----
 
-|Annotated with xref:rg:ant:ViewModel.adoc[`@ViewModel`] annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored
+|Annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`] annotation (effectively just an alias)' memento is as preceding: from "persisted" properties, collections ignored
 
 |Application view model
 |
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
index a9f8689..7222875 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/action-icons-and-css.adoc
@@ -14,7 +14,7 @@ It is also possible to specify additional CSS for an object's members (not just
 
 Action icons can be specified in several ways.
 
-One option is to use the xref:rg:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`].
+One option is to use the xref:applib:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`].
 For example:
 
 [source,java]
@@ -32,7 +32,7 @@ Alternatively, you can specify these hints dynamically in the xref:vw:ROOT:layou
 <cpt:action id="renew" cssClassFa="refresh"/>
 ----
 
-Rather than annotating every action with xref:rg:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] and xref:rg:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] you can instead specify the UI hint globally using regular expressions.
+Rather than annotating every action with xref:applib:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] and xref:applib:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] you can instead specify the UI hint globally using regular expressions.
 Not only does this save a lot of boilerplate/editing, it helps ensure consistency across all actions.
 
 To declare fa classes globally, use the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.reflector.facet.cssClassFa.patterns` (a comma separated list of key:value pairs).
@@ -67,11 +67,11 @@ For example, "fa-plus" is applied to all action members called "newXxx"
 
 Similarly, a CSS class can be specified for object members:
 
-* xref:rg:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] for actions
+* xref:applib:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] for actions
 
-* xref:rg:ant:PropertyLayout.adoc#cssClass[`@PropertyLayout#cssClass()`] for properties, and
+* xref:applib:ant:PropertyLayout.adoc#cssClass[`@PropertyLayout#cssClass()`] for properties, and
 
-* xref:rg:ant:CollectionLayout.adoc#cssClass[`@CollectionLayout#cssClass()`] for collections.
+* xref:applib:ant:CollectionLayout.adoc#cssClass[`@CollectionLayout#cssClass()`] for collections.
 
 Again, this CSS class will be attached to an appropriate containing `<div>` or `<span>` on the rendered page.
 
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
index 0d0f137..1cc6d65 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/eager-rendering.adoc
@@ -9,7 +9,7 @@ For the more commonly used collections though, we'll probably want to show the t
 
 image::programming-model/todoapp-Dashboard.png[width="800px",link="{imagesdir}/programming-model/todoapp-Dashboard.png"]
 
-For this we annotate the collection using xref:rg:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]; for example
+For this we annotate the collection using xref:applib:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]; for example
 
 [source,java]
 ----
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
index e413c79..c00bfeb 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/names-and-descriptions.adoc
@@ -26,25 +26,25 @@ The table below summarizes the annotations available:
 
 
 | Class
-| xref:rg:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`]
-| xref:rg:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`]
+| xref:applib:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`]
+| xref:applib:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`]
 
 
 | Property
-| xref:rg:ant:PropertyLayout.adoc#named[`@PropertyLayout#named()`]
-| xref:rg:ant:PropertyLayout.adoc#describedAs[`@PropertyLayout#describedAs()`]
+| xref:applib:ant:PropertyLayout.adoc#named[`@PropertyLayout#named()`]
+| xref:applib:ant:PropertyLayout.adoc#describedAs[`@PropertyLayout#describedAs()`]
 
 | Collection
-| xref:rg:ant:CollectionLayout.adoc#named[`@CollectionLayout#named()`]
-| xref:rg:ant:CollectionLayout.adoc#describedAs[`@CollectionLayout#describedAs()`]
+| xref:applib:ant:CollectionLayout.adoc#named[`@CollectionLayout#named()`]
+| xref:applib:ant:CollectionLayout.adoc#describedAs[`@CollectionLayout#describedAs()`]
 
 | Action
-| xref:rg:ant:ActionLayout.adoc#named[`@ActionLayout#named()`]
-| xref:rg:ant:ActionLayout.adoc#describedAs[`@ActionLayout#describedAs()`]
+| xref:applib:ant:ActionLayout.adoc#named[`@ActionLayout#named()`]
+| xref:applib:ant:ActionLayout.adoc#describedAs[`@ActionLayout#describedAs()`]
 
 | Action Parameters
-| xref:rg:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`]
-| xref:rg:ant:ParameterLayout.adoc#describedAs[`@ParameterLayout#describedAs()`]
+| xref:applib:ant:ParameterLayout.adoc#named[`@ParameterLayout#named()`]
+| xref:applib:ant:ParameterLayout.adoc#describedAs[`@ParameterLayout#describedAs()`]
 
 |===
 
diff --git a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc b/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
index 5640db2..3d47349 100644
--- a/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
+++ b/core/_adoc-ug/modules/fun/pages/ui-hints/object-titles-and-icons.adoc
@@ -26,7 +26,7 @@ For example the title of a customer object shouldn't include the literal string
 
 === Declarative style
 
-The xref:rg:ant:Title.adoc[`@Title`] annotation can be used build up the title of an object from its constituent parts.
+The xref:applib:ant:Title.adoc[`@Title`] annotation can be used build up the title of an object from its constituent parts.
 
 For example:
 
@@ -117,7 +117,7 @@ A variation on this approach also supports localized names; see xref:ug:btb:i18n
 
 A third alternative is to move the responsibility for deriving the title into a separate subscriber object.
 
-In the target object, we define an appropriate event type and use the xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] attribute to specify:
+In the target object, we define an appropriate event type and use the xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`] attribute to specify:
 
 [source,java]
 ----
@@ -174,7 +174,7 @@ If there is no requirement to customize the icon (the normal case), then the ico
 For example, the icon for a class `org.mydomain.myapp.Customer` will be `org/mydomain/myapp/Customer.png` (if it exists).
 
 Alternatively, a font-awesome icon can be used.
-This is specified using the xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
+This is specified using the xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] attribute or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
 
 For example:
 
@@ -214,7 +214,7 @@ Otherwise it will just use "Order.png", as normal.
 
 As for title, the determination of which image file to use for the icon can be externalized into a UI event subscriber.
 
-In the target object, we define an appropriate event type and use the xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`] attribute to specify.
 
 For example:
 
@@ -265,7 +265,7 @@ In conjunction with xref:vw:ROOT:customisation/tweaking-css-classes.adoc[customi
 === Declarative style
 
 To render an object with a particular CSS, use
-xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
+xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] or in the xref:vw:ROOT:layout/file-based.adoc[layout.xml] file.
 
 When the domain object is rendered on its own page, this CSS class will appear on a top-level `<div>`.
 Or, when the domain object is rendered as a row in a collection, then the CSS class will appear in a `<div>` wrapped by the `<tr>` of the row.
@@ -300,7 +300,7 @@ If non-null value is returned then the CSS class will be rendered _in addition_
 
 As for title and icon, the determination of which CSS class to render can be externalized into a UI event subscriber.
 
-In the target object, we define an appropriate event type and use the xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attribute to specify.
+In the target object, we define an appropriate event type and use the xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`@DomainObjectLayout#cssClassUiEvent()`] attribute to specify.
 
 For example
 
diff --git a/core/applib/_adoc/antora.yml b/core/applib/_adoc/antora.yml
new file mode 100644
index 0000000..f30a436
--- /dev/null
+++ b/core/applib/_adoc/antora.yml
@@ -0,0 +1,6 @@
+name: applib
+title: "AppLib"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/core/applib/_adoc/examples.csv b/core/applib/_adoc/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/core/applib/_adoc/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/core/_adoc-rg/modules/ant/_attributes.adoc b/core/applib/_adoc/modules/ROOT/_attributes.adoc
similarity index 99%
copy from core/_adoc-rg/modules/ant/_attributes.adoc
copy to core/applib/_adoc/modules/ROOT/_attributes.adoc
index 787e5c4..42f13d9 100644
--- a/core/_adoc-rg/modules/ant/_attributes.adoc
+++ b/core/applib/_adoc/modules/ROOT/_attributes.adoc
@@ -3,4 +3,5 @@ ifndef::env-site,env-github[]
 :examplesdir: {moduledir}/examples
 :imagesdir: {moduledir}/assets/images
 :partialsdir: {moduledir}/pages/_partials
+
 endif::[]
diff --git a/core/applib/_adoc/modules/ROOT/nav.adoc b/core/applib/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..562739a
--- /dev/null
+++ b/core/applib/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1 @@
+include::rg:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/_attributes.adoc b/core/applib/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
copy from core/_adoc-rg/modules/ant/pages/_attributes.adoc
copy to core/applib/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/_partials/_attributes.adoc b/core/applib/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/_partials/_attributes.adoc
rename to core/applib/_adoc/modules/ROOT/pages/_partials/_attributes.adoc
diff --git a/core/applib/_adoc/modules/ROOT/pages/about.adoc b/core/applib/_adoc/modules/ROOT/pages/about.adoc
new file mode 100644
index 0000000..796f956
--- /dev/null
+++ b/core/applib/_adoc/modules/ROOT/pages/about.adoc
@@ -0,0 +1,7 @@
+= Application Library
+include::_attributes.adoc[]
+
+Documentation comprises:
+
+* xref:applib:ant:about.adoc[Annotations] - part of the reference guide.
+
diff --git a/core/_adoc-rg/modules/ant/_attributes.adoc b/core/applib/_adoc/modules/ant/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/_attributes.adoc
rename to core/applib/_adoc/modules/ant/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/examples/.gitkeep b/core/applib/_adoc/modules/ant/assets/attachments/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/ant/examples/.gitkeep
rename to core/applib/_adoc/modules/ant/assets/attachments/.gitkeep
diff --git a/core/_adoc-rg/modules/ant/assets/images/.gitkeep b/core/applib/_adoc/modules/ant/assets/images/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/.gitkeep
rename to core/applib/_adoc/modules/ant/assets/images/.gitkeep
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-BELOW.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-PANEL_DROPDOWN.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/ActionLayout/position-RIGHT.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/CollectionLayout/sortedby-dependencies.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking-nested.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/ActionLayout/bookmarking.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainObjectLayout/bookmarking.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-primary.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-secondary.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuBar-tertiary.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/DomainServiceLayout/menuOrder.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/HomePage/HomePage.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-LEFT.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-NONE.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-TOP.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-LEFT.png
diff --git a/core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png b/core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png
rename to core/applib/_adoc/modules/ant/assets/images/reference-annotations/PropertyLayout/labelPosition-boolean-RIGHT.png
diff --git a/core/_adoc-rg/modules/ant/assets/attachments/.gitkeep b/core/applib/_adoc/modules/ant/examples/.gitkeep
similarity index 100%
rename from core/_adoc-rg/modules/ant/assets/attachments/.gitkeep
rename to core/applib/_adoc/modules/ant/examples/.gitkeep
diff --git a/core/applib/_adoc/modules/ant/nav.adoc b/core/applib/_adoc/modules/ant/nav.adoc
new file mode 100644
index 0000000..562739a
--- /dev/null
+++ b/core/applib/_adoc/modules/ant/nav.adoc
@@ -0,0 +1 @@
+include::rg:ROOT:partial$nav.adoc[]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/Action.adoc b/core/applib/_adoc/modules/ant/pages/Action.adoc
similarity index 90%
rename from core/_adoc-rg/modules/ant/pages/Action.adoc
rename to core/applib/_adoc/modules/ant/pages/Action.adoc
index 40c61ee..8b1f45e 100644
--- a/core/_adoc-rg/modules/ant/pages/Action.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action.adoc
@@ -16,17 +16,17 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Action.adoc#associateWith[`associateWith()`]
+|xref:applib:ant:Action.adoc#associateWith[`associateWith()`]
 |_memberId_ +
 ("")
 |associates an action with another property or collection of the action.
 
-|xref:rg:ant:Action.adoc#associateWith[`associateWith-Sequence()`]
+|xref:applib:ant:Action.adoc#associateWith[`associateWith-Sequence()`]
 |_memberId_ +
 ("")
 |associates an action with another property or collection of the action.
 
-|xref:rg:ant:Action.adoc#command[`command()`]
+|xref:applib:ant:Action.adoc#command[`command()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the action invocation should be reified into a `o.a.i.applib.` +
@@ -51,7 +51,7 @@ The table below summarizes the annotation's attributes.
 |If the `Command` also implements `CommandWithDto` (meaning that it can return a `CommandDto`, in other words be converted into an XML memento), then optionally specifies a processor that can refine this XML.
 
 
-|xref:rg:ant:Action.adoc#domainEvent[`domainEvent()`]
+|xref:applib:ant:Action.adoc#domainEvent[`domainEvent()`]
 |subtype of `ActionDomainEvent` +
 (`ActionDomainEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to
@@ -59,13 +59,13 @@ broadcast the action's business rule checking (hide, disable, validate) and its
 post-execute).
 
 
-|xref:rg:ant:Action.adoc#hidden[`hidden()`]
+|xref:applib:ant:Action.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the action should be hidden from the user.
 
 
-|xref:rg:ant:Action.adoc#invokeOn[`invokeOn()`]
+|xref:applib:ant:Action.adoc#invokeOn[`invokeOn()`]
 |`OBJECT_ONLY`, `COLLECTION_ONLY`, `OBJECT_AND_COLLECTION` +
 (`OBJECT_ONLY`)
 |(deprecated - use view models and associated actions instead).
@@ -75,17 +75,17 @@ whether an action can be invoked on a single object and/or on many objects in a
 Currently this is only supported for no-arg actions.
 
 
-|xref:rg:ant:Action.adoc#publishing[`publishing()`]
+|xref:applib:ant:Action.adoc#publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the action invocation should be published to the registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
-|xref:rg:ant:Action.adoc#restrictTo[`restrictTo()`]
+|xref:applib:ant:Action.adoc#restrictTo[`restrictTo()`]
 |`NO_RESTRICTIONS`,`PROTOTYPING` +
 (`NO_RESTRICTIONS`)
 |whether the action is only available in prototyping mode, or whether it is available also in production mode.
 
-|xref:rg:ant:Action.adoc#semantics[`semantics()`]
+|xref:applib:ant:Action.adoc#semantics[`semantics()`]
 |`SAFE_AND_REQUEST_CACHEABLE`, `SAFE`, +
 `IDEMPOTENT`, `IDEMPOTENT_ARE_YOU_SURE` +
 `NON_IDEMPOTENT`, `NON_IDEMPOTENT_ARE_YOU_SURE` + +
@@ -94,7 +94,7 @@ Currently this is only supported for no-arg actions.
 
 The `...ARE_YOU_SURE` variants cause a confirmation dialog to be displayed in the xref:vw:ROOT:about.adoc[Wicket viewer].
 
-|xref:rg:ant:Action.adoc#typeOf[`typeOf()`]
+|xref:applib:ant:Action.adoc#typeOf[`typeOf()`]
 |(none)
 |if the action returns a collection, hints as to the run-time type of the objects within that collection (as a fallback)
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Action/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/associateWith.adoc b/core/applib/_adoc/modules/ant/pages/Action/associateWith.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/associateWith.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/associateWith.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/command.adoc b/core/applib/_adoc/modules/ant/pages/Action/command.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/command.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/command.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
similarity index 98%
rename from core/_adoc-rg/modules/ant/pages/Action/domainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
index 403fe85..8125dd2 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/domainEvent.adoc
@@ -184,8 +184,8 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 This attribute is also supported for:
 
-* xref:rg:ant:Collection.adoc#domainEvent[collections] and
-* xref:rg:ant:Property.adoc#domainEvent[properties].
+* xref:applib:ant:Collection.adoc#domainEvent[collections] and
+* xref:applib:ant:Property.adoc#domainEvent[properties].
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/Action/hidden.adoc b/core/applib/_adoc/modules/ant/pages/Action/hidden.adoc
similarity index 76%
rename from core/_adoc-rg/modules/ant/pages/Action/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/hidden.adoc
index e114ee8..f9c7dd6 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/hidden.adoc
@@ -11,7 +11,7 @@ Actions can be hidden at the domain-level, indicating that they are not visible
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] or xref:vw:ROOT:layout/file-based.adoc[file-based layouts] such that the action can be hidden at the view layer.
+It is also possible to use xref:applib:ant:ActionLayout.adoc#hidden[`@ActionLayout#hidden()`] or xref:vw:ROOT:layout/file-based.adoc[file-based layouts] such that the action can be hidden at the view layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -43,7 +43,7 @@ The other values of the `Where` enum have no meaning for a collection.
 
 [NOTE]
 ====
-For actions of domain services the visibility is dependent upon its xref:rg:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:rg:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
+For actions of domain services the visibility is dependent upon its xref:applib:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:applib:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
 ====
 
 
@@ -52,6 +52,6 @@ For actions of domain services the visibility is dependent upon its xref:rg:ant:
 
 This attribute can also be applied to:
 
-* xref:rg:ant:Property.adoc#hidden[properties]
-* xref:rg:ant:Collection.adoc#hidden[collections].
+* xref:applib:ant:Property.adoc#hidden[properties]
+* xref:applib:ant:Collection.adoc#hidden[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Action/invokeOn.adoc b/core/applib/_adoc/modules/ant/pages/Action/invokeOn.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/invokeOn.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/invokeOn.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/publishing.adoc b/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Action/publishing.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
index addd109..ba2f130 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/publishing.adoc
@@ -47,10 +47,10 @@ public class Order {
 
 This attribute is also supported for:
 
-* xref:rg:ant:DomainObject.adoc#publishing[domain objects]
+* xref:applib:ant:DomainObject.adoc#publishing[domain objects]
 + where it controls whether changed objects are published as events, and for
 
-* xref:rg:ant:Property.adoc#publishing[properties]
+* xref:applib:ant:Property.adoc#publishing[properties]
 +
 where it controls whether property edits are published as events.
 
diff --git a/core/_adoc-rg/modules/ant/pages/Action/restrictTo.adoc b/core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/restrictTo.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/restrictTo.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/semantics.adoc b/core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/semantics.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/semantics.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Action/typeOf.adoc b/core/applib/_adoc/modules/ant/pages/Action/typeOf.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/Action/typeOf.adoc
rename to core/applib/_adoc/modules/ant/pages/Action/typeOf.adoc
index b37d988..a99788f 100644
--- a/core/_adoc-rg/modules/ant/pages/Action/typeOf.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Action/typeOf.adoc
@@ -33,5 +33,5 @@ In general we recommend that you use generics instead, eg `List<Customer>`.
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Collection.adoc#typeOf[collections].
+This attribute can also be specified for xref:applib:ant:Collection.adoc#typeOf[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
index c986d89..302963d 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout.adoc
@@ -16,28 +16,28 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:ActionLayout.adoc#bookmarking[`bookmarking()`]
+|xref:applib:ant:ActionLayout.adoc#bookmarking[`bookmarking()`]
 |`AS_ROOT`, `NEVER` +
 (`NEVER`)
-|indicates if an action (with safe xref:rg:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
+|indicates if an action (with safe xref:applib:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
 
 
-|xref:rg:ant:ActionLayout.adoc#contributedAs[`contributedAs()`]
+|xref:applib:ant:ActionLayout.adoc#contributedAs[`contributedAs()`]
 |`AS_BOTH`, `AS_ACTION`, `AS_ASSOCIATION`, `AS_NEITHER` +
 (`AS_BOTH`)
 |for a domain service action that can be contributed, whether to contribute as an action or as an association (ie a property or collection). +
 
-For a domain service action to be contributed, the domain services must have a xref:rg:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:rg:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
+For a domain service action to be contributed, the domain services must have a xref:applib:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:applib:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
 
 
-|xref:rg:ant:ActionLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:ActionLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |an additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]. +
 
 Supported by the xref:vw:ROOT:about.adoc[Wicket viewer] but currently ignored by the xref:vro:ROOT:about.adoc[RestfulObjects viewer].
 
 
-|xref:rg:ant:ActionLayout.adoc#cssClassFa[`cssClassFa()`]
+|xref:applib:ant:ActionLayout.adoc#cssClassFa[`cssClassFa()`]
 |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name
 |specify a font awesome icon for the action's menu link or icon. +
 
@@ -48,26 +48,26 @@ Supported by the xref:vw:ROOT:about.adoc[Wicket viewer] but currently ignored by
 |Positioning of the icon on the button/menu item.
 
 
-|xref:rg:ant:ActionLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:ActionLayout.adoc#describedAs[`describedAs()`]
 |String.
 |provides a short description of the action, eg for rendering as a 'tool tip'.
 
 
-|xref:rg:ant:ActionLayout.adoc#hidden[`hidden()`]
+|xref:applib:ant:ActionLayout.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the action should be hidden from the user.
 
 
-|xref:rg:ant:ActionLayout.adoc#named[`named()`]
+|xref:applib:ant:ActionLayout.adoc#named[`named()`]
 |String.
 |to override the name inferred from the action's name in code. +
 
 A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
 
-|xref:rg:ant:ActionLayout.adoc#position[`position()`]
+|xref:applib:ant:ActionLayout.adoc#position[`position()`]
 |`BELOW`, `RIGHT`, `PANEL`, `PANEL_DROPDOWN` (`BELOW`)
-|for actions associated (using xref:rg:ant:MemberOrder.adoc[`@MemberOrder#named()`]) with properties, the positioning of the action's button with respect to the property
+|for actions associated (using xref:applib:ant:MemberOrder.adoc[`@MemberOrder#named()`]) with properties, the positioning of the action's button with respect to the property
 
 
 |===
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModel/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ViewModel/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/bookmarking.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/bookmarking.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/bookmarking.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/bookmarking.adoc
index a4169af..4e88d2c 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/bookmarking.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/bookmarking.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `bookmarking()` attribute indicates if an action (with safe xref:rg:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
+The `bookmarking()` attribute indicates if an action (with safe xref:applib:ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
 
 
 
@@ -46,7 +46,7 @@ indicates that the `notYetComplete()` action is bookmarkable.
 
 [NOTE]
 ====
-The enum value `AS_CHILD` has no meaning for actions; it relates only to bookmarked xref:rg:ant:DomainObject.adoc#bookmarking[domain object]s.
+The enum value `AS_CHILD` has no meaning for actions; it relates only to bookmarked xref:applib:ant:DomainObject.adoc#bookmarking[domain object]s.
 ====
 
 
@@ -57,4 +57,4 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 == See also
 
-This attribute is also supported for xref:rg:ant:DomainObjectLayout.adoc#bookmarking[domain objects].
\ No newline at end of file
+This attribute is also supported for xref:applib:ant:DomainObjectLayout.adoc#bookmarking[domain objects].
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/contributedAs.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/contributedAs.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/contributedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/contributedAs.adoc
index bad4ea4..4bee7fc 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/contributedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/contributedAs.adoc
@@ -10,7 +10,7 @@ For a domain service action that _can_ be contributed, the `contributedAs()` att
 
 The distinction between property or collection is automatic: if the action returns a `java.util.Collection` (or subtype) then the action is contributed as a collection; otherwise it is contributed as a property.
 
-For a domain service action to be contributed, the domain services must have a xref:rg:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:rg:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
+For a domain service action to be contributed, the domain services must have a xref:applib:ant:DomainService.adoc#nature[nature] nature of either `VIEW` or `VIEW_CONTRIBUTIONS_ONLY`, and the action must have xref:applib:ant:Action.adoc#semantics[safe action semantics], and takes a single argument, namely the contributee domain object.
 
 For example:
 
@@ -43,7 +43,7 @@ public class OrderContributions {
 }
 ----
 
-In such cases, though, it would probably make more sense to annotate the action as either xref:rg:ant:Action.adoc#hidden[hidden] or indeed xref:rg:ant:Programmatic.adoc[`@Programmatic`].
+In such cases, though, it would probably make more sense to annotate the action as either xref:applib:ant:Action.adoc#hidden[hidden] or indeed xref:applib:ant:Programmatic.adoc[`@Programmatic`].
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
index 655fe6e..46fe325 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClass.adoc
@@ -22,7 +22,7 @@ public class ToDoItem {
 
 [NOTE]
 ====
-The similar xref:rg:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] annotation attribute is also used as a hint
+The similar xref:applib:ant:ActionLayout.adoc#cssClassFa[`@ActionLayout#cssClassFa()`] annotation attribute is also used as a hint
 to apply CSS, specifically to add http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] on action menu items or buttons.
 ====
 
@@ -36,9 +36,9 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties]
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties]
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClassFa.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/cssClassFa.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/cssClassFa.adoc
index c3f9759..9db3f23 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/cssClassFa.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 The `cssClassFa()` attribute is used to specify the name of a link:http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icon] name, to be rendered on the action's representation as a button or menu item.    The related `cssClassFaPosition()` attribute specifies the positioning of the icon, to the left or the right of the text.
 
-These attributes can also be applied to xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[domain objects] and to xref:rg:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon.
+These attributes can also be applied to xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[domain objects] and to xref:applib:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon.
 
 
 For example:
@@ -38,6 +38,6 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 [NOTE]
 ====
-The similar xref:rg:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
+The similar xref:applib:ant:ActionLayout.adoc#cssClass[`@ActionLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/describedAs.adoc
similarity index 81%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/describedAs.adoc
index 6e01db2..f78dcb6 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/describedAs.adoc
@@ -32,9 +32,9 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be specified for:
 
-* xref:rg:ant:CollectionLayout.adoc#describedAs[collections]
-* xref:rg:ant:PropertyLayout.adoc#describedAs[properties]
-* xref:rg:ant:ParameterLayout.adoc#describedAs[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#describedAs[view models].
+* xref:applib:ant:CollectionLayout.adoc#describedAs[collections]
+* xref:applib:ant:PropertyLayout.adoc#describedAs[properties]
+* xref:applib:ant:ParameterLayout.adoc#describedAs[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#describedAs[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/hidden.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/hidden.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/hidden.adoc
index 16a31bf..9188043 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/hidden.adoc
@@ -10,7 +10,7 @@ The `hidden()` attribute indicates where (in the UI) the action should be hidden
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:Action.adoc#hidden[`@Action#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:applib:ant:Action.adoc#hidden[`@Action#hidden()`] to hide an action at the domain layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -41,7 +41,7 @@ The other values of the `Where` enum have no meaning for a collection.
 
 [NOTE]
 ====
-For actions of domain services the visibility is dependent upon its xref:rg:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:rg:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
+For actions of domain services the visibility is dependent upon its xref:applib:ant:DomainService.adoc#nature[`@DomainService#nature()`] and also on whether it is contributed (as per  xref:applib:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`]).
 ====
 
 
@@ -57,5 +57,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 == See also
 
 This attribute can also be applied to:
-* xref:rg:ant:PropertyLayout.adoc#hidden[properties]
-* xref:rg:ant:CollectionLayout.adoc#hidden[collections].
+* xref:applib:ant:PropertyLayout.adoc#hidden[properties]
+* xref:applib:ant:CollectionLayout.adoc#hidden[collections].
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/named.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/named.adoc
index b6f577d..77300b6 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/named.adoc
@@ -40,9 +40,9 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/position.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/position.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/position.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/position.adoc
index e725d99..f9dce5e 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/position.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/position.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 
 
-The `position()` attribute pertains only to actions that have been associated with properties using xref:rg:ant:MemberOrder.adoc[`@MemberOrder#named()`].  For these actions, it specifies the positioning of the action's button with respect to the field representing the object property.
+The `position()` attribute pertains only to actions that have been associated with properties using xref:applib:ant:MemberOrder.adoc[`@MemberOrder#named()`].  For these actions, it specifies the positioning of the action's button with respect to the field representing the object property.
 
 The attribute can take one of four values: `BELOW`, `RIGHT`, `PANEL` or `PANEL_DROPDOWN`.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/promptStyle.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/promptStyle.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/promptStyle.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/promptStyle.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/redirect.adoc b/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/redirect.adoc
rename to core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
index 916fbf2..54c1df2 100644
--- a/core/_adoc-rg/modules/ant/pages/ActionLayout/redirect.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ActionLayout/redirect.adoc
@@ -16,7 +16,7 @@ This makes for a smoother UI.
 +
 [NOTE]
 ====
-Any properties with xref:rg:ant:PropertyLayout.adoc#unchanging[`@PropertyLayout#unchanging`] are _not_ updated.
+Any properties with xref:applib:ant:PropertyLayout.adoc#unchanging[`@PropertyLayout#unchanging`] are _not_ updated.
 ====
 
 * if set to `EVEN_IF_SAME`, then a redirect occurs and a new web page is rendered.
diff --git a/core/_adoc-rg/modules/ant/pages/Collection.adoc b/core/applib/_adoc/modules/ant/pages/Collection.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/Collection.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection.adoc
index f91df4e..0b1764f 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection.adoc
@@ -16,13 +16,13 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Collection.adoc#domainEvent[`domainEvent()`]
+|xref:applib:ant:Collection.adoc#domainEvent[`domainEvent()`]
 |subtype of `CollectionDomainEvent` +
 (`CollectionDomainEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the collection's business rule checking (hide, disable, validate) and its modification (before and after).
 
 
-|xref:rg:ant:Collection.adoc#editing[`editing()`]
+|xref:applib:ant:Collection.adoc#editing[`editing()`]
 |`ENABLED`, `DISABLED`, `AS_CONFIGURED` +
 (`AS_CONFIGURED`)
 |whether a collection can be added to or removed from within the UI
@@ -33,13 +33,13 @@ The table below summarizes the annotation's attributes.
 |if `editing()` is `DISABLED`, provides a reason as to why.
 
 
-|xref:rg:ant:Collection.adoc#hidden[`hidden()`]
+|xref:applib:ant:Collection.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the collection should be hidden from the user.
 
 
-|xref:rg:ant:Collection.adoc#notPersisted[`notPersisted()`]
+|xref:applib:ant:Collection.adoc#notPersisted[`notPersisted()`]
 |`true`, `false` +
 (`false`)
 |whether to exclude from snapshots. +
@@ -51,7 +51,7 @@ Collection must also be annotated with `@javax.jdo.annotations.NotPersistent` in
 
 
 
-|xref:rg:ant:Collection.adoc#typeOf[`typeOf()`]
+|xref:applib:ant:Collection.adoc#typeOf[`typeOf()`]
 |
 |hints as to the run-time type of the objects within that collection (as a fallback)
 
@@ -86,7 +86,7 @@ public class ToDoItem {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:rg:ant:Property.adoc[`@Property`] and xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
+The annotation is one of a handful (others including xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:Property.adoc[`@Property`] and xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
 so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Collection/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/Collection/domainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
index f1de9c7..9deeeea 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/domainEvent.adoc
@@ -22,7 +22,7 @@ Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.ad
 The xref:vw:ROOT:about.adoc[Wicket viewer] does _not_ currently support the modification of collections; they are rendered read-only.
 However, domain events are still relevant to determine if such collections should be hidden.
 
-The workaround is to create add/remove actions and use xref:rg:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
+The workaround is to create add/remove actions and use xref:applib:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
 ====
 
 By default the event raised is `CollectionDomainEvent.Default`. For example:
@@ -170,8 +170,8 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 This attribute is also supported for:
 
-* xref:rg:ant:Action.adoc#domainEvent[actions] and
-* xref:rg:ant:Property.adoc#domainEvent[properties].
+* xref:applib:ant:Action.adoc#domainEvent[actions] and
+* xref:applib:ant:Property.adoc#domainEvent[properties].
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/editing.adoc b/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/Collection/editing.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
index 2e2fa36..3fc6812 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/editing.adoc
@@ -14,12 +14,12 @@ The related `editingDisabledReason()` attribute specifies the a hard-coded reaso
 ====
 The xref:vw:ROOT:about.adoc[Wicket viewer] does *not* currently support the modification of collections; they are rendered read-only.
 
-The workaround is to create add/remove actions and use xref:rg:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
+The workaround is to create add/remove actions and use xref:applib:ant:MemberOrder.adoc[UI hints] to render them close to the collection.
 ====
 
 Whether a collection is enabled or disabled depends upon these factors:
 
-* whether the domain object has been configured as immutable through the xref:rg:ant:DomainObject.adoc#editing[`@DomainObject#editing()`] attribute
+* whether the domain object has been configured as immutable through the xref:applib:ant:DomainObject.adoc#editing[`@DomainObject#editing()`] attribute
 
 * else (that is, if the domain object's editability is specified as being `AS_CONFIGURED`), then the value of the xref:rg:cfg:configuring-core.adoc[configuration property] `isis.objects.editing`.
 If set to `false`, then the object's collections (and properties) are *not* editable
@@ -53,6 +53,6 @@ To reiterate, it is _not_ possible to enable editing for a collection if editing
 
 This attribute can also be specified for:
 
-* xref:rg:ant:Property.adoc#editing[properties]
-* xref:rg:ant:DomainObject.adoc#editing[domain object]
+* xref:applib:ant:Property.adoc#editing[properties]
+* xref:applib:ant:DomainObject.adoc#editing[domain object]
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/hidden.adoc b/core/applib/_adoc/modules/ant/pages/Collection/hidden.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/Collection/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/hidden.adoc
index 6e02ff9..df469e3 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/hidden.adoc
@@ -10,7 +10,7 @@ Collections can be hidden at the domain-level, indicating that they are not visi
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:CollectionLayout.adoc#hidden[`@CollectionLayout#hidden()`] or using xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the collection can be hidden at the view layer.
+It is also possible to use xref:applib:ant:CollectionLayout.adoc#hidden[`@CollectionLayout#hidden()`] or using xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the collection can be hidden at the view layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -59,5 +59,5 @@ The xref:vro:ROOT:about.adoc[RestfulObjects viewer] by default suppress collecti
 
 This attribute can also be applied to:
 
-* xref:rg:ant:Action.adoc#hidden[actions]
-* xref:rg:ant:Property.adoc#hidden[properties].
+* xref:applib:ant:Action.adoc#hidden[actions]
+* xref:applib:ant:Property.adoc#hidden[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/notPersisted.adoc b/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/Collection/notPersisted.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
index daad06f..389dd31 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/notPersisted.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/notPersisted.adoc
@@ -59,5 +59,5 @@ public class Customer {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:Property.adoc#notPersisted[properties].
+This attribute is also supported for xref:applib:ant:Property.adoc#notPersisted[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/typeOf.adoc b/core/applib/_adoc/modules/ant/pages/Collection/typeOf.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/Collection/typeOf.adoc
rename to core/applib/_adoc/modules/ant/pages/Collection/typeOf.adoc
index a4f7cce..a050d19 100644
--- a/core/_adoc-rg/modules/ant/pages/Collection/typeOf.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Collection/typeOf.adoc
@@ -27,4 +27,4 @@ In general we recommend that you use generics instead, eg `SortedSet<Order>`.
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Action.adoc#typeOf[actions].
+This attribute can also be specified for xref:applib:ant:Action.adoc#typeOf[actions].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
index 9d65574..142d654 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout.adoc
@@ -17,12 +17,12 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:CollectionLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:CollectionLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a collection should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:CollectionLayout.adoc#defaultView[`defaultView()`]
+|xref:applib:ant:CollectionLayout.adoc#defaultView[`defaultView()`]
 |`table`, `excel`, `calendar`, `map`, ...
 |Which view is selected by default, if multiple views are available.
 
@@ -30,18 +30,18 @@ See the (non-ASF) link:https://platform.incode.org[Incode Platform^] for further
 
 
 
-|xref:rg:ant:CollectionLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:CollectionLayout.adoc#describedAs[`describedAs()`]
 |String.
 |description of this collection, eg to be rendered in a tooltip.
 
 
-|xref:rg:ant:CollectionLayout.adoc#hidden[`hidden()`]
+|xref:applib:ant:CollectionLayout.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the collection should be hidden from the user.
 
 
-|xref:rg:ant:CollectionLayout.adoc#named[named()]
+|xref:applib:ant:CollectionLayout.adoc#named[named()]
 |String.
 |to override the name inferred from the collection's name in code. +
 
@@ -53,12 +53,12 @@ A typical use case is if the desired name is a reserved Java keyword, such as `d
 |whether to HTML escape the name of this property.
 
 
-|xref:rg:ant:CollectionLayout.adoc#paged[`paged()`]
+|xref:applib:ant:CollectionLayout.adoc#paged[`paged()`]
 |Positive integer
 |the page size for instances of this class when rendered within a table.
 
 
-|xref:rg:ant:CollectionLayout.adoc#sortedBy[`sortedBy()`]
+|xref:applib:ant:CollectionLayout.adoc#sortedBy[`sortedBy()`]
 |Subclass of `java.util.Comparator` for element type
 |indicates that the elements in the `java.util.SortedSet` collection should be sorted according to a specified `Comparator` rather than their natural sort order.
 
@@ -97,7 +97,7 @@ As an alternative to using the `@CollectionLayout` annotation, a xref:vw:ROOT:la
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:Property.adoc[`@Property`] and xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
+The annotation is one of a handful (others including xref:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:Property.adoc[`@Property`] and xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
 so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Property/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
index 1655295..f5467a8 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/cssClass.adoc
@@ -34,8 +34,8 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/defaultView.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/defaultView.adoc
similarity index 92%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/defaultView.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/defaultView.adoc
index a0a7576..e8b23b6 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/defaultView.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/defaultView.adoc
@@ -27,7 +27,7 @@ public class BusRoute {
 
 [NOTE]
 ====
-This attribute takes precedence over any value for the xref:rg:ant:CollectionLayout.adoc#render[`@CollectionLayout#render()`] attribute.  For example, if the
+This attribute takes precedence over any value for the xref:applib:ant:CollectionLayout.adoc#render[`@CollectionLayout#render()`] attribute.  For example, if the
 `defaultView` attribute is defined to "table", then the table will be show even if `render` is set to `LAZILY`.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/describedAs.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/describedAs.adoc
index f6cfb7e..69b69e2 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/describedAs.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 The `describedAs()` attribute is used to provide a short description of the collection to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
 
-The `describedAs()` attribute can also be specified for xref:rg:ant:PropertyLayout.adoc#describedAs[properties], xref:rg:ant:ActionLayout.adoc#describedAs[actions], xref:rg:ant:ParameterLayout.adoc#describedAs[parameters], xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:rg:ant:ViewModelLayout.adoc#describedAs[view models].
+The `describedAs()` attribute can also be specified for xref:applib:ant:PropertyLayout.adoc#describedAs[properties], xref:applib:ant:ActionLayout.adoc#describedAs[actions], xref:applib:ant:ParameterLayout.adoc#describedAs[parameters], xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:applib:ant:ViewModelLayout.adoc#describedAs[view models].
 
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/hidden.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/hidden.adoc
similarity index 89%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/hidden.adoc
index 29269dc..f57c321 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/hidden.adoc
@@ -11,7 +11,7 @@ The `hidden()` attribute indicates where (in the UI) the collection should be hi
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:Collection.adoc#hidden[`@Collection#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:applib:ant:Collection.adoc#hidden[`@Collection#hidden()`] to hide an action at the domain layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -59,5 +59,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ActionLayout.adoc#hidden[actions]
-* xref:rg:ant:PropertyLayout.adoc#hidden[properties].
+* xref:applib:ant:ActionLayout.adoc#hidden[actions]
+* xref:applib:ant:PropertyLayout.adoc#hidden[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/named.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/named.adoc
index 80265f0..450b591 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/named.adoc
@@ -47,9 +47,9 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/paged.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
index 0e0a313..e83bd81 100644
--- a/core/_adoc-rg/modules/ant/pages/CollectionLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/CollectionLayout/paged.adoc
@@ -42,5 +42,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#paged[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#paged[view models].
+* xref:applib:ant:DomainObjectLayout.adoc#paged[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#paged[view models].
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/sortedBy.adoc b/core/applib/_adoc/modules/ant/pages/CollectionLayout/sortedBy.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/sortedBy.adoc
rename to core/applib/_adoc/modules/ant/pages/CollectionLayout/sortedBy.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Column.adoc b/core/applib/_adoc/modules/ant/pages/Column.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/Column.adoc
rename to core/applib/_adoc/modules/ant/pages/Column.adoc
index 2b8d50a..eb2a417 100644
--- a/core/_adoc-rg/modules/ant/pages/Column.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Column.adoc
@@ -31,11 +31,11 @@ public class Customer {
     public void setMiddleInitial(String middleInitial) { /* ... */ }
 ----
 
-Isis also provides xref:rg:ant:Property.adoc#optionality[`@Property#optionality()`] attribute.  If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
+Isis also provides xref:applib:ant:Property.adoc#optionality[`@Property#optionality()`] attribute.  If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
 
 You should also be aware that in the lack of either the `@Column#allowsNull()` or the `@Property#optionality()` attributes, that the JDO and Apache Isis defaults differ.  Apache Isis rule is straight-forward: properties are assumed to be required.  JDO on the other hand specifies that only primitive types are mandatory; everything else is assumed to be optional.  Therefore a lack of either annotation can also trigger the fail-fast validation check.
 
-In the vast majority of cases you should be fine just to add the `@Column#allowsNull()` attribute to the getter.  But see the documentation for xref:rg:ant:Property.adoc#optionality[`@Property#optionality()`] attribute for discussion on one or two minor edge cases.
+In the vast majority of cases you should be fine just to add the `@Column#allowsNull()` attribute to the getter.  But see the documentation for xref:applib:ant:Property.adoc#optionality[`@Property#optionality()`] attribute for discussion on one or two minor edge cases.
 
 
 == Length for ``String``s
@@ -58,7 +58,7 @@ public class Customer {
     public void setLastName(String lastName) { /* ... */ }
 ----
 
-Isis also provides xref:rg:ant:Property.adoc#maxLength[`@Property#maxLength()`] attribute.  If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
+Isis also provides xref:applib:ant:Property.adoc#maxLength[`@Property#maxLength()`] attribute.  If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
 
 
 
@@ -77,7 +77,7 @@ public class Customer {
     public void setTotalOrdersToDate(BigDecimal totalOrdersToDate) { /* ... */ }
 ----
 
-For ``BigDecimal``s it is also possible to specify the xref:rg:ant:Digits.adoc[`@Digits`] annotation, whose form is `@Digits(integer, fraction)`.
+For ``BigDecimal``s it is also possible to specify the xref:applib:ant:Digits.adoc[`@Digits`] annotation, whose form is `@Digits(integer, fraction)`.
 There is a subtle difference here: while `@Column#scale()` corresponds to `@Digits#fraction()`, the value of `@Column#length()` (ie the precision) is actually the __sum__ of the `@Digits`' `integer()` and `fraction()` parts.
 
 If both are specified, Apache Isis will check when it initializes for any contradictions, and will fail-fast with an appropriate error message in the log if there are.
diff --git a/core/_adoc-rg/modules/ant/pages/Digits.adoc b/core/applib/_adoc/modules/ant/pages/Digits.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Digits.adoc
rename to core/applib/_adoc/modules/ant/pages/Digits.adoc
index da1657c..838ccba 100644
--- a/core/_adoc-rg/modules/ant/pages/Digits.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Digits.adoc
@@ -26,7 +26,7 @@ public void setCost(final BigDecimal cost) {
         :null;
 }
 ----
-<1> the xref:rg:ant:Column.adoc[`@Column#scale()`] attribute must be ...
+<1> the xref:applib:ant:Column.adoc[`@Column#scale()`] attribute must be ...
 <2> ... consistent with `@Digits#fraction()`
 <3> the correct idiom when setting a new value is to normalized to the correct scale
 
diff --git a/core/_adoc-rg/modules/ant/pages/Discriminator.adoc b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Discriminator.adoc
rename to core/applib/_adoc/modules/ant/pages/Discriminator.adoc
index 85fcd238..dd3a06c 100644
--- a/core/_adoc-rg/modules/ant/pages/Discriminator.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Discriminator.adoc
@@ -47,9 +47,9 @@ has an object type of `custmgmt.Customer`.
 
 The rules of precedence for determining a domain object's object type are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
 +
 If both `schema` and `table` are defined, then the value is "`schema.table`".
 If only `schema` is defined, then the value is "`schema.className`".
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/DomainObject.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject.adoc
index c61664f..06f8f41 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject.adoc
@@ -17,14 +17,14 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainObject.adoc#auditing[`auditing()`]
+|xref:applib:ant:DomainObject.adoc#auditing[`auditing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |indicates whether each of the changed properties of an object should be submitted to the registered
 xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
 
 
-|xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
+|xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
 |Domain service class
 |nominate a method on a domain service to be used for looking up instances of the domain object
 
@@ -35,72 +35,72 @@ xref:rg:svc:persistence-layer-spi/AuditerService.adoc[`AuditerService`](s)
 |override the method name to use on the auto-complete repository
 
 
-|xref:rg:ant:DomainObject.adoc#bounding[`bounding()`]
+|xref:applib:ant:DomainObject.adoc#bounding[`bounding()`]
 |`true`, `false` +
 (`false`)
 |Whether the number of instances of this domain class is relatively small (a "bounded" set), such that instances could be selected from a drop-down list box or similar.
 
-|xref:rg:ant:DomainObject.adoc#createdLifecycleEvent[`created-` +
+|xref:applib:ant:DomainObject.adoc#createdLifecycleEvent[`created-` +
 `LifecycleEvent()`]
 |subtype of `ObjectCreatedEvent` +
 (`ObjectCreatedEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is created
 
-|xref:rg:ant:DomainObject.adoc#editing[`editing()`]
+|xref:applib:ant:DomainObject.adoc#editing[`editing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the object's properties and collections can be edited or not (ie whether the instance should be considered to be immutable)
 
 
-|xref:rg:ant:DomainObject.adoc#mixinMethod[`mixinMethod()`]
+|xref:applib:ant:DomainObject.adoc#mixinMethod[`mixinMethod()`]
 |Method name within the mixin
 |How to recognize the "reserved" method name, meaning that the mixin's own name will be inferred from the mixin type.
 Typical examples are "exec", "execute", "invoke", "apply" and so on.
 The default "reserved" method name is `$$`.
 
 
-|xref:rg:ant:DomainObject.adoc#nature[`nature()`]
+|xref:applib:ant:DomainObject.adoc#nature[`nature()`]
 |`NOT_SPECIFIED`, `JDO_ENTITY`, `EXTERNAL_ENTITY`, `INMEMORY_ENTITY`, `MIXIN`, `VIEW_MODEL` (`NOT_SPECIFIED`)
 |whether the domain object logically is an entity (part of the domain layer) or is a view model (part of the application layer); or is a mixin.
 If an entity, indicates how its persistence is managed.
 
 
-|xref:rg:ant:DomainObject.adoc#objectType[`objectType()`]
+|xref:applib:ant:DomainObject.adoc#objectType[`objectType()`]
 |(none, which implies fully qualified class name)
 |specify an alias for the domain class used to uniquely identify the object both within the Apache Isis runtime and externally
 
 
-|xref:rg:ant:DomainObject.adoc#persistedLifecycleEvent[`persisted-` +
+|xref:applib:ant:DomainObject.adoc#persistedLifecycleEvent[`persisted-` +
 `LifecycleEvent()`]
 |subtype of `ObjectPersistedEvent` +
 (`ObjectPersistedEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been persisted
 
-|xref:rg:ant:DomainObject.adoc#persistingLifecycleEvent[`persisting-` +
+|xref:applib:ant:DomainObject.adoc#persistingLifecycleEvent[`persisting-` +
 `LifecycleEvent()`]
 |subtype of `ObjectPersistingEvent` +
 (`ObjectPersistingEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be persisted
 
-|xref:rg:ant:DomainObject.adoc#publishing[`publishing()`]
+|xref:applib:ant:DomainObject.adoc#publishing[`publishing()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether changes to the object should be published to the registered xref:rg:svc:persistence-layer-spi/PublisherService.adoc[`PublisherService`].
 
 
-|xref:rg:ant:DomainObject.adoc#removingLifecycleEvent[`removing-` +
+|xref:applib:ant:DomainObject.adoc#removingLifecycleEvent[`removing-` +
 `LifecycleEvent()`]
 |subtype of `ObjectRemovingEvent` +
 (`ObjectRemovingEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance is about to be deleted
 
-|xref:rg:ant:DomainObject.adoc#updatedLifecycleEvent[`updated-` +
+|xref:applib:ant:DomainObject.adoc#updatedLifecycleEvent[`updated-` +
 `LifecycleEvent()`]
 |subtype of `ObjectUpdatedEvent` +
 (`ObjectUpdatedEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] whenever an instance has just been updated
 
-|xref:rg:ant:DomainObject.adoc#updatingLifecycleEvent[`updating-` +
+|xref:applib:ant:DomainObject.adoc#updatingLifecycleEvent[`updating-` +
 `LifecycleEvent()`]
 |subtype of `ObjectUpdatingEvent` +
 (`ObjectUpdatingEvent.Default`)
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/actionDomainEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/actionDomainEvent.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/actionDomainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/actionDomainEvent.adoc
index 1754e3c..6a1b2fd 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/actionDomainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/actionDomainEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever an action of a domain object is interacted with then a domain event will be fired, for each of the various phases (hidden, disabled, validated, executing, executed).
-Using xref:rg:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], the actual domain event class fired can be customised.
+Using xref:applib:ant:Action.adoc#domainEvent[`@Action#domainEvent()`], the actual domain event class fired can be customised.
 the `@DomainObject#actionDomainEvent()` attribute allows a common event domain class to be fired for all of the actions of the domain object.
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/auditing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/auditing.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/auditing.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/autoCompleteRepository.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
index b5ab69a..feb8ee8 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/autoCompleteRepository.adoc
@@ -78,7 +78,7 @@ public class Customers {
 ----
 <1> end-user must enter minimum number of characters to trigger the query
 
-The autocomplete action can also be a regular method, annotated using xref:rg:ant:Programmatic.adoc[`@Programmatic`]:
+The autocomplete action can also be a regular method, annotated using xref:applib:ant:Programmatic.adoc[`@Programmatic`]:
 
 [source,java]
 ----
@@ -96,7 +96,7 @@ public class Customers {
 [IMPORTANT]
 ====
 The method specified must be an action, that is, part of the Isis metamodel.
-Said another way: it must not be annotated with xref:rg:ant:Programmatic.adoc[`@Programmatic`].
-However, it *can* be hidden or placed on a domain service with xref:rg:ant:DomainService.adoc#nature[nature] of `DOMAIN`, such that the action would not be rendered otherwise in the UI.
-Also, the action cannot be xref:rg:ant:Action.adoc#restrictTo[restricted to] prototyping only.
+Said another way: it must not be annotated with xref:applib:ant:Programmatic.adoc[`@Programmatic`].
+However, it *can* be hidden or placed on a domain service with xref:applib:ant:DomainService.adoc#nature[nature] of `DOMAIN`, such that the action would not be rendered otherwise in the UI.
+Also, the action cannot be xref:applib:ant:Action.adoc#restrictTo[restricted to] prototyping only.
 ====
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/bounding.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/bounding.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
index 90fc016..f9da1dc 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/bounding.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/bounding.adoc
@@ -32,7 +32,7 @@ public class Currency {
 [TIP]
 ====
 There is nothing to prevent you from using this attribute for regular mutable entities, and indeed this is sometimes worth doing during early prototyping.
-However, if there is no realistic upper bound to the number of instances of an entity that might be created, generally you should use xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:rg:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`] attribute instead.
+However, if there is no realistic upper bound to the number of instances of an entity that might be created, generally you should use xref:rg:cms:methods.adoc#autoComplete[`autoComplete...()`] supporting method or the xref:applib:ant:DomainObject.adoc#autoCompleteRepository[`@DomainObject#autoCompleteRepository()`] attribute instead.
 ====
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/collectionDomainEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
index c219cb3..6215226 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/collectionDomainEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a collection of a domain object is interacted with then a domain event will be fired, for each of the various phases (hidden, disabled, validated, executing, executed).
-Using xref:rg:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`], the actual domain event class fired can be customised.
+Using xref:applib:ant:Collection.adoc#domainEvent[`@Collection#domainEvent()`], the actual domain event class fired can be customised.
 the `@DomainObject#collectionDomainEvent()` attribute allows a common event domain class to be fired for all of the collections of the domain object.
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/createdLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/editing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/editing.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/editing.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/loadedLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/mixinMethod.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/mixinMethod.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/mixinMethod.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/mixinMethod.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/nature.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/nature.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
index 5aff25a..b3e3771 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/nature.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/nature.adoc
@@ -48,7 +48,7 @@ The framework will automatically recreate the domain object each time it is inte
 +
 indicates that the domain object is part of the domain layer, and is contributing behaviour to objects of some other type as a mixin (also known as a trait).
 +
-Equivalent to annotating with xref:rg:ant:Mixin.adoc[`@Mixin`].
+Equivalent to annotating with xref:applib:ant:Mixin.adoc[`@Mixin`].
 For further discussion on using mixins, see xref:ug:fun:building-blocks.adoc#mixins[mixins] in the user guide.
 
 
@@ -57,7 +57,7 @@ For further discussion on using mixins, see xref:ug:fun:building-blocks.adoc#mix
 indicates that the domain object is conceptually part of the application layer, and exists to surfaces behaviour and/or state that is aggregate of one or more domain entities.
 
 Those natures that indicate the domain object is an entity (of some sort or another) mean then that the domain object is considered to be part of the domain model layer.
-As such the domain object's class cannot be annotated with xref:rg:ant:ViewModel.adoc[`@ViewModel`] or implement the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.
+As such the domain object's class cannot be annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`] or implement the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface.
 
 
 [NOTE]
@@ -71,7 +71,7 @@ The benefit of `nature()` is that it allows the developer to properly characteri
 
 [NOTE]
 ====
-On the other hand, view models defined in this way do have some limitations; see xref:rg:ant:ViewModel.adoc[`@ViewModel`] for further discussion.
+On the other hand, view models defined in this way do have some limitations; see xref:applib:ant:ViewModel.adoc[`@ViewModel`] for further discussion.
 
 These limitations do _not_ apply to xref:ug:fun:programming-model.adoc#jaxb[JAXB] view models.
 If you are using view models heavily, you may wish to restrict yourself to just the JAXB flavour.
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/objectType.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
index a4e6a02..552622b 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/objectType.adoc
@@ -39,9 +39,9 @@ public class Order {
 
 The rules of precedence are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
+3. xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
 +
 If both `schema` and `table` are defined, then the value is "`schema.table`".
 If only `schema` is defined, then the value is "`schema.className`".
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/persistedLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/persistingLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/propertyDomainEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
index 504473e..2b5d470 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/propertyDomainEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a property of a domain object is interacted with then a domain event will be fired, for each of the various phases (hidden, disabled, validated, executing, executed).
-Using xref:rg:ant:Property.adoc#domainEvent[`@Property#domainEvent()`], the actual domain event class fired can be customised.
+Using xref:applib:ant:Property.adoc#domainEvent[`@Property#domainEvent()`], the actual domain event class fired can be customised.
 the `@DomainObject#propertyDomainEvent()` attribute allows a common event domain class to be fired for all of the properties of the domain object.
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/publishing.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/publishing.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
index 09fe5e7..f8e5f6c 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObject/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObject/publishing.adoc
@@ -45,10 +45,10 @@ public class InterestRate {
 
 This attribute is also supported for:
 
-* xref:rg:ant:Action.adoc#publishing[actions]
+* xref:applib:ant:Action.adoc#publishing[actions]
 +
 where it controls whether action invocations are published as events, and for
 
-* xref:rg:ant:Property.adoc#publishing[properties]
+* xref:applib:ant:Property.adoc#publishing[properties]
 +
 where it controls whether property edits are published as events.
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/removingLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/updatedLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObject/updatingLifecycleEvent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
index 52526a2..25128df 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout.adoc
@@ -9,7 +9,7 @@ The `@DomainObjectLayout` annotation applies to domain classes, collecting toget
 
 [NOTE]
 ====
-For view models that have been annotated with `@ViewModel` the equivalent xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`] can be used.
+For view models that have been annotated with `@ViewModel` the equivalent xref:applib:ant:ViewModelLayout.adoc[`@ViewModelLayout`] can be used.
 ====
 
 
@@ -24,18 +24,18 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#bookmarking[`bookmarking()`]
+|xref:applib:ant:DomainObjectLayout.adoc#bookmarking[`bookmarking()`]
 |`AS_ROOT`, `AS_CHILD`, `NEVER` +
 (`NEVER`)
 |whether (and how) this domain object should be automatically bookmarked
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#cssclass[`cssClass()`]
+|xref:applib:ant:DomainObjectLayout.adoc#cssclass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a domain class (type) should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa()`]
+|xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa()`]
 |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name
 |specify a font awesome icon for the action's menu link or icon. +
 
@@ -46,43 +46,43 @@ The table below summarizes the annotation's attributes.
 |Currently unused.
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
 |subtype of `CssClassUiEvent` +
 (`CssClassUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
 
-|xref:rg:ant:DomainObjectLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:DomainObjectLayout.adoc#describedAs[`describedAs()`]
 |String.
 |description of this class, eg to be rendered in a tooltip.
 
-|xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent()`]
 |subtype of `IconUiEvent` +
 (`IconUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
 
-|xref:rg:ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
 |subtype of `LayoutUiEvent` +
 (`LayoutUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
 
-|xref:rg:ant:DomainObjectLayout.adoc#named[`named()`]
+|xref:applib:ant:DomainObjectLayout.adoc#named[`named()`]
 |String.
 |to override the name inferred from the action's name in code. +
 
 A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#paged[`paged()`]
+|xref:applib:ant:DomainObjectLayout.adoc#paged[`paged()`]
 |Positive integer
 |the page size for instances of this class when rendered within a table (as returned from an action invocation)
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#plural[`plural()`]
+|xref:applib:ant:DomainObjectLayout.adoc#plural[`plural()`]
 |String.
 |the plural name of the class
 
 
-|xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent()`]
+|xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent()`]
 |subtype of `TitleUiEvent` +
 (`TitleUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Parameter/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/bookmarking.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
index 89448eb..fd6f36b 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/bookmarking.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `bookmarking()` attribute indicates that an entity is automatically bookmarked.
-This attribute is also supported for  xref:rg:ant:Action.adoc#bookmarking[domain objects].
+This attribute is also supported for  xref:applib:ant:Action.adoc#bookmarking[domain objects].
 
 (In the Wicket viewer), a link to a bookmarked object is shown in the bookmarks panel:
 
@@ -67,5 +67,5 @@ The nesting can be done to any level; the Estatio screenshot also shows a bookma
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#bookmarking[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#bookmarking[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
similarity index 69%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
index 505b316..456c9f6 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClass.adoc
@@ -26,7 +26,7 @@ public class ToDoItem { /* ... */ }
 
 [NOTE]
 ====
-The similar xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] annotation attribute is also used as a hint to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] to be rendered as the icon for classes.
+The similar xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`] annotation attribute is also used as a hint to apply CSS, but in particular to allow http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icons] to be rendered as the icon for classes.
 ====
 
 
@@ -35,9 +35,9 @@ The similar xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties],
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties],
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
index c81ba23..c04bed8 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassFa.adoc
@@ -32,7 +32,7 @@ The related `cssClassFaPosition()` attribute is currently unused for domain obje
 
 [TIP]
 ====
-The similar xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
+The similar xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`] annotation attribute is also used as a hint to apply CSS, but for wrapping the representation of an object or object member so that it can be styled in an application-specific way.
 ====
 
 
@@ -40,6 +40,6 @@ The similar xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cs
 
 These attributes can also be applied to:
 
-* xref:rg:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon, and
-* xref:rg:ant:ActionLayout.adoc#cssClassFa[actions] to specify an icon for the action's representation as a button or menu item.
+* xref:applib:ant:ViewModelLayout.adoc#cssClassFa[view models] to specify the object's icon, and
+* xref:applib:ant:ActionLayout.adoc#cssClassFa[actions] to specify an icon for the action's representation as a button or menu item.
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
index 93039cc..2d3e2ee 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
@@ -14,7 +14,7 @@ From this they can, if they wish, specify a CSS class for the domain object usin
 
 [NOTE]
 ====
-The feature was originally introduced so that xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
+The feature was originally introduced so that xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
 UI events allow subscribers to provide UI hints, while xref:ug:fun:building-blocks.adoc#mixins[mixin]s can be used to provide the behaviour.
 ====
 
@@ -120,5 +120,5 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#cssClassUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/describedAs.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/describedAs.adoc
index 8fd4962..0434ab5 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/describedAs.adoc
@@ -26,9 +26,9 @@ public class ProspectiveSale {
 
 The attribute can also be specified for:
 
-* xref:rg:ant:CollectionLayout.adoc#describedAs[collections]
-* xref:rg:ant:PropertyLayout.adoc#describedAs[properties]
-* xref:rg:ant:ActionLayout.adoc#describedAs[actions]
-* xref:rg:ant:ParameterLayout.adoc#describedAs[parameters] and
-* xref:rg:ant:ViewModelLayout.adoc#describedAs[view models].
+* xref:applib:ant:CollectionLayout.adoc#describedAs[collections]
+* xref:applib:ant:PropertyLayout.adoc#describedAs[properties]
+* xref:applib:ant:ActionLayout.adoc#describedAs[actions]
+* xref:applib:ant:ParameterLayout.adoc#describedAs[parameters] and
+* xref:applib:ant:ViewModelLayout.adoc#describedAs[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
index 8035739..a08673e 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/iconUiEvent.adoc
@@ -15,7 +15,7 @@ From this they can, if they wish, specify an icon name for the domain object usi
 
 [NOTE]
 ====
-The feature was originally introduced so that xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
+The feature was originally introduced so that xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
 UI events allow subscribers to provide UI hints, while xref:ug:fun:building-blocks.adoc#mixins[mixin]s can be used to provide the behaviour.
 ====
 
@@ -115,5 +115,5 @@ However, events can be raised programmatically by calling the xref:rg:svc:core-d
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#iconNameUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#iconNameUiEvent[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
index 4287cd7..8dece2f 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/layoutUiEvent.adoc
@@ -114,5 +114,5 @@ However, events can be raised programmatically by calling the xref:rg:svc:core-d
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#layoutUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/named.adoc
similarity index 75%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/named.adoc
index 1062d55..b9ba7ac 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/named.adoc
@@ -28,7 +28,7 @@ public class CustomerImpl implements Customer{
 }
 ----
 
-It's also possible to specify a xref:rg:ant:DomainObjectLayout.adoc#plural[plural form] of the name, used by the framework when rendering a standalone collection of the domain object.
+It's also possible to specify a xref:applib:ant:DomainObjectLayout.adoc#plural[plural form] of the name, used by the framework when rendering a standalone collection of the domain object.
 
 
 [TIP]
@@ -41,9 +41,9 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 The attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/paged.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
index ed54591..16e49c7 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/paged.adoc
@@ -38,5 +38,5 @@ It is also possible to specify a global default for the page size of standalone
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ViewModelLayout.adoc#paged[view models], and
-* xref:rg:ant:CollectionLayout.adoc#paged[collections]
+* xref:applib:ant:ViewModelLayout.adoc#paged[view models], and
+* xref:applib:ant:CollectionLayout.adoc#paged[collections]
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/plural.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/plural.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/plural.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/plural.adoc
index e98bf88..111604a 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/plural.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/plural.adoc
@@ -23,5 +23,5 @@ public class Child {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:ViewModelLayout.adoc#plural[view models].
+This attribute is also supported for xref:applib:ant:ViewModelLayout.adoc#plural[view models].
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
index 6264bd4..d2c1a24 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainObjectLayout/titleUiEvent.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 Whenever a domain object is to be rendered, the framework fires off a title UI event to obtain a title for the object.
-This is as an alternative to implementing xref:rg:cms:methods.adoc#title[`title()`] reserved method, or using the xref:rg:ant:Title.adoc[`@Title`] annotation, within the class itself.
+This is as an alternative to implementing xref:rg:cms:methods.adoc#title[`title()`] reserved method, or using the xref:applib:ant:Title.adoc[`@Title`] annotation, within the class itself.
 (If either `title()` or `@Title` are present, then they will take precedence).
 
 Subscribers subscribe through the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] and can
@@ -15,7 +15,7 @@ From this they can, if they wish, specify a title for the domain object using th
 
 [NOTE]
 ====
-The feature was originally introduced so that xref:rg:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
+The feature was originally introduced so that xref:applib:ant:XmlRootElement.adoc[`@XmlRootElement`]-annotated xref:ug:fun:building-blocks.adoc#view-models[view model]s could be kept as minimal as possible, just defining the data.
 UI events allow subscribers to provide UI hints, while xref:ug:fun:building-blocks.adoc#mixins[mixin]s can be used to provide the behaviour.
 ====
 
@@ -114,4 +114,4 @@ However, events can be raised programmatically either by calling the xref:rg:svc
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:ViewModelLayout.adoc#titleUiEvent[view models].
+This attribute can also be applied to xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[view models].
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService.adoc b/core/applib/_adoc/modules/ant/pages/DomainService.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/DomainService.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService.adoc
index 344496f..180001e 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainService.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService.adoc
@@ -20,26 +20,26 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainService.adoc#nature[`nature()`]
+|xref:applib:ant:DomainService.adoc#nature[`nature()`]
 |`VIEW`, `VIEW_MENU_ONLY`, `VIEW_CONTRIBUTIONS_ONLY`, `VIEW_REST_ONLY`, `DOMAIN` (`VIEW`)
 |the nature of this service: providing actions for menus, or as contributed actions, or for the xref:vro:ROOT:about.adoc[RestfulObjects REST API], or neither
 
 
-|xref:rg:ant:DomainService.adoc#objectType[`objectType()`]
+|xref:applib:ant:DomainService.adoc#objectType[`objectType()`]
 |
-|equivalent to xref:rg:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`], specifies the objectType of the service.
+|equivalent to xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`], specifies the objectType of the service.
 
 The instanceId for services is always "1".
 
 
-|xref:rg:ant:DomainService.adoc#repositoryFor[`repositoryFor()`]
+|xref:applib:ant:DomainService.adoc#repositoryFor[`repositoryFor()`]
 |
 |if this domain service acts as a repository for an entity type, specify that entity type.  This is used to determine an icon to use for the service (eg as shown in action prompts).
 
 
 |`menuOrder()`
 |
-|Deprecated in 1.8.0; use instead xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
+|Deprecated in 1.8.0; use instead xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`]
 
 |===
 
diff --git a/core/_adoc-rg/modules/ant/pages/Mixin/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Mixin/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/nature.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/nature.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/DomainService/nature.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/nature.adoc
index 16fbeed..00f6578 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainService/nature.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService/nature.adoc
@@ -23,7 +23,7 @@ The service's actions appear on menus and in the REST API, but are not contribut
 +
 The service's actions are intended only to be used as contributed actions/associations to domain objects and view model
 +
-The related xref:rg:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`] determines whether any given (1-arg) action is contributed as an association rather than an action.
+The related xref:applib:ant:ActionLayout.adoc#contributedAs[`@ActionLayout#contributedAs()`] determines whether any given (1-arg) action is contributed as an association rather than an action.
 
 * `VIEW_REST_ONLY` +
 +
@@ -70,7 +70,7 @@ public class LoanRepository {                                  // <1>
 }
 ----
 <1> `Repository` as a suffix for a domain-layer service
-<2> methods on `DOMAIN` services are often xref:rg:ant:Programmatic.adoc[`@Programmatic`]; they will never be exposed in the UI, so there's little point in including them in Apache Isis' metamodel
+<2> methods on `DOMAIN` services are often xref:applib:ant:Programmatic.adoc[`@Programmatic`]; they will never be exposed in the UI, so there's little point in including them in Apache Isis' metamodel
 
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/objectType.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainService/objectType.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/objectType.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/repositoryFor.adoc b/core/applib/_adoc/modules/ant/pages/DomainService/repositoryFor.adoc
similarity index 90%
rename from core/_adoc-rg/modules/ant/pages/DomainService/repositoryFor.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainService/repositoryFor.adoc
index 7cf2632..26d4216 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainService/repositoryFor.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainService/repositoryFor.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `repositoryFor()` attribute is intended for domain services (probably with a xref:rg:ant:DomainService.adoc#nature[`nature=DOMAIN`]) that are intended to act as repositories for domain entities.
+The `repositoryFor()` attribute is intended for domain services (probably with a xref:applib:ant:DomainService.adoc#nature[`nature=DOMAIN`]) that are intended to act as repositories for domain entities.
 
 For example:
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout.adoc
similarity index 92%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout.adoc
index 7aebf7b..329a309 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout.adoc
@@ -23,17 +23,17 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`]
+|xref:applib:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`]
 |`PRIMARY`, `SECONDARY`, `TERTIARY` (`PRIMARY`).
 |the menubar in which the menu that holds this service's actions should reside.
 
 
-|xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`]
+|xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`]
 |
 |the order of the service's menu with respect to other service's.
 
 
-|xref:rg:ant:DomainServiceLayout.adoc#named[`named()`]
+|xref:applib:ant:DomainServiceLayout.adoc#named[`named()`]
 |string, eg "Customers"
 |name of this class (overriding the name derived from its name in code)
 
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuBar.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuBar.adoc
index 7102e6e..9d0b2ab 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuBar.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuBar.adoc
@@ -33,7 +33,7 @@ Domain services placed on the `TERTIARY` appear in the menu bar associated with
 image::reference-annotations/DomainServiceLayout/menuBar-tertiary.png[width="720px",link="{imagesdir}/reference-annotations/DomainServiceLayout/menuBar-tertiary.png"]
 
 
-The grouping of multiple domain services actions within a single drop-down is managed by the xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
+The grouping of multiple domain services actions within a single drop-down is managed by the xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`@DomainServiceLayout#menuOrder()`] attribute.
 
 
 [NOTE]
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuOrder.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
index 3da7b39..8efc5af 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/menuOrder.adoc
@@ -11,8 +11,8 @@ The `menuOrder()` attribute determines the ordering of a domain service's action
 
 The algorithm works as follows:
 
-* first, the xref:rg:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`] determines which of the three menu bars the service's actions should be rendered
-* then, the domain service's top-level name (typically explicitly specified using xref:rg:ant:DomainServiceLayout.adoc#named[`named()`]) is used to determine the top-level menu item to be rendered on the menu bar
+* first, the xref:applib:ant:DomainServiceLayout.adoc#menuBar[`menuBar()`] determines which of the three menu bars the service's actions should be rendered
+* then, the domain service's top-level name (typically explicitly specified using xref:applib:ant:DomainServiceLayout.adoc#named[`named()`]) is used to determine the top-level menu item to be rendered on the menu bar
 * finally, if there is more than domain service that has the same name, then the `menuOrder` attribute is used to order those actions on the menu item drop-down.
 
 For example, the screenshot below shows the "prototyping" menu from the (non-ASF) http://github.com/isisaddons/isis-app-todoapp[Isis addons' todoapp]:
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/named.adoc
similarity index 75%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/DomainServiceLayout/named.adoc
index fcd5015..54a9cef 100644
--- a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/DomainServiceLayout/named.adoc
@@ -12,7 +12,7 @@ The `named()` attribute explicitly specifies the domain service's name, overridi
 [TIP]
 ====
 The value of this attribute also has an important role to play in the positioning of the domain service's actions relative to the actions of other domain services.
-See xref:rg:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`] for a full discussion with examples.
+See xref:applib:ant:DomainServiceLayout.adoc#menuOrder[`menuOrder()`] for a full discussion with examples.
 ====
 
 For example:
@@ -33,9 +33,9 @@ public class CustomerRepository {
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models].
diff --git a/core/_adoc-rg/modules/ant/pages/Facets.adoc b/core/applib/_adoc/modules/ant/pages/Facets.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Facets.adoc
rename to core/applib/_adoc/modules/ant/pages/Facets.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/HomePage.adoc b/core/applib/_adoc/modules/ant/pages/HomePage.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/HomePage.adoc
rename to core/applib/_adoc/modules/ant/pages/HomePage.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Inject.adoc b/core/applib/_adoc/modules/ant/pages/Inject.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ant/pages/Inject.adoc
rename to core/applib/_adoc/modules/ant/pages/Inject.adoc
index c755f65..2b1bab3 100644
--- a/core/_adoc-rg/modules/ant/pages/Inject.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Inject.adoc
@@ -9,7 +9,7 @@ In fact, it also injects domain services into xref:integ-test-support:ROOT:about
 
 [NOTE]
 ====
-One omission: Apache Isis (currently) does not inject services into `o.a.i.applib.spec.Specification` instances (as used by xref:rg:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] and xref:rg:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] annotations.
+One omission: Apache Isis (currently) does not inject services into `o.a.i.applib.spec.Specification` instances (as used by xref:applib:ant:Property.adoc#mustSatisfy[`@Property#mustSatisfy()`] and xref:applib:ant:Parameter.adoc#mustSatisfy[`@Parameter#mustSatisfy()`] annotations.
 ====
 
 Apache Isis supports several syntaxes for injecting domain services.
diff --git a/core/_adoc-rg/modules/ant/pages/MemberGroupLayout.adoc b/core/applib/_adoc/modules/ant/pages/MemberGroupLayout.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/MemberGroupLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberGroupLayout.adoc
index 61d6590..df25662 100644
--- a/core/_adoc-rg/modules/ant/pages/MemberGroupLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/MemberGroupLayout.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The `@MemberGroupLayout` annotation specifies how an object's properties and collections are grouped together into columns, also specifying the relative positioning of those columns.  It works in conjunction with the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
+The `@MemberGroupLayout` annotation specifies how an object's properties and collections are grouped together into columns, also specifying the relative positioning of those columns.  It works in conjunction with the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation.
 
 The annotation defines four attributes:
 
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder.adoc
similarity index 71%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder.adoc
index 3802115..6c1c740 100644
--- a/core/_adoc-rg/modules/ant/pages/MemberOrder.adoc
+++ b/core/applib/_adoc/modules/ant/pages/MemberOrder.adoc
@@ -6,20 +6,20 @@ include::_attributes.adoc[]
 // TODO: v2: replace @MemberOrder#name() with @PropertyLayout#group(); replace @MemberOrder#sequence() with @PropertyLayout#sequence().
 
 The `@MemberOrder` annotation is used to specify the relative order of domain object members, that is: properties, collections and actions.
-It works in conjunction with the xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation.
+It works in conjunction with the xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation.
 
 
 The annotation defines two attributes:
 
-* xref:rg:ant:MemberOrder.adoc#name[`name()`]
-* xref:rg:ant:MemberOrder.adoc#sequence[`sequence()`]
+* xref:applib:ant:MemberOrder.adoc#name[`name()`]
+* xref:applib:ant:MemberOrder.adoc#sequence[`sequence()`]
 
 As this is an important topic, there is a xref:vw:ROOT:layout.adoc[separate chapter] that discussed object layout in full.
 
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:rg:ant:Property.adoc[`@Property`]) and xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] that can also be applied to the field, rather than the getter method.
+The annotation is one of a handful (others including xref:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`], xref:applib:ant:Property.adoc[`@Property`]) and xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] that can also be applied to the field, rather than the getter method.
  This is specifically so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainServiceLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainServiceLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder/name.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder/name.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder/name.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder/name.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/MemberOrder/sequence.adoc b/core/applib/_adoc/modules/ant/pages/MemberOrder/sequence.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MemberOrder/sequence.adoc
rename to core/applib/_adoc/modules/ant/pages/MemberOrder/sequence.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/MinLength.adoc b/core/applib/_adoc/modules/ant/pages/MinLength.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/MinLength.adoc
rename to core/applib/_adoc/modules/ant/pages/MinLength.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Mixin.adoc b/core/applib/_adoc/modules/ant/pages/Mixin.adoc
similarity index 92%
rename from core/_adoc-rg/modules/ant/pages/Mixin.adoc
rename to core/applib/_adoc/modules/ant/pages/Mixin.adoc
index 443e26e..ffc18ae 100644
--- a/core/_adoc-rg/modules/ant/pages/Mixin.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Mixin.adoc
@@ -23,7 +23,7 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Mixin.adoc#method[`method()`]
+|xref:applib:ant:Mixin.adoc#method[`method()`]
 |Method name within the mixin
 |How to recognize the "reserved" method name, meaning that the mixin's own name will be inferred from the mixin type.
 Typical examples are "exec", "execute", "invoke", "apply" and so on.
@@ -32,7 +32,7 @@ The default "reserved" method name is `$$`.
 |===
 
 An alternative and equivalent approach is to use the
-xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] annotation with a nature of `MIXIN`.
+xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] annotation with a nature of `MIXIN`.
 
 
 include::Mixin/method.adoc[leveloffset=+1]
diff --git a/core/_adoc-rg/modules/ant/pages/DomainService/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Mixin/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainService/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Mixin/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Mixin/method.adoc b/core/applib/_adoc/modules/ant/pages/Mixin/method.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Mixin/method.adoc
rename to core/applib/_adoc/modules/ant/pages/Mixin/method.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/NotPersistent.adoc b/core/applib/_adoc/modules/ant/pages/NotPersistent.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/NotPersistent.adoc
rename to core/applib/_adoc/modules/ant/pages/NotPersistent.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Nullable.adoc b/core/applib/_adoc/modules/ant/pages/Nullable.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/Nullable.adoc
rename to core/applib/_adoc/modules/ant/pages/Nullable.adoc
index c111225..e4f1efa 100644
--- a/core/_adoc-rg/modules/ant/pages/Nullable.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Nullable.adoc
@@ -32,16 +32,16 @@ public Customer updateName(@javax.annotation.Nullable final String name) {
 ----
 
 Apache Isis does provide several other ways to specify optionality: using the
-xref:rg:ant:Property.adoc#optionality[`@Property#optionality()`] /
-xref:rg:ant:Parameter.adoc#optionality[`@Parameter#optionality()`] annotation.  For properties, the optionality
-can also be inferred from the xref:rg:ant:Column#allowsNull.adoc[`@Column#allowsNull()`] attribute.
+xref:applib:ant:Property.adoc#optionality[`@Property#optionality()`] /
+xref:applib:ant:Parameter.adoc#optionality[`@Parameter#optionality()`] annotation.  For properties, the optionality
+can also be inferred from the xref:applib:ant:Column#allowsNull.adoc[`@Column#allowsNull()`] attribute.
 
 [TIP]
 ====
 See the
-xref:rg:ant:Property.adoc#optionality[`@Property#optionality()`] documentation for a much fuller discussion on
+xref:applib:ant:Property.adoc#optionality[`@Property#optionality()`] documentation for a much fuller discussion on
 the relationship between using the Apache Isis annotations vs
-xref:rg:ant:Column#allowsNull.adoc[`@Column#allowsNull()`].
+xref:applib:ant:Column#allowsNull.adoc[`@Column#allowsNull()`].
 ====
 
 If more than one method is specified then the framework will validate that there are no incompatibilities (and fail to
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter.adoc b/core/applib/_adoc/modules/ant/pages/Parameter.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/Parameter.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter.adoc
index 2ef1b50..8699928 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter.adoc
@@ -16,7 +16,7 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:Parameter.adoc#fileAccept[`fileAccept()`]
+|xref:applib:ant:Parameter.adoc#fileAccept[`fileAccept()`]
 |Media type or file extension
 |Hints the file type to be uploaded for xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
  or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`]. +
@@ -25,23 +25,23 @@ The table below summarizes the annotation's attributes.
 
 
 
-|xref:rg:ant:Parameter.adoc#maxLength[`maxLength()`]
+|xref:applib:ant:Parameter.adoc#maxLength[`maxLength()`]
 |Positive integer
 |maximum number of characters for string parameters; ignored otherwise
 
 
 
-|xref:rg:ant:Parameter.adoc#mustSatisfy[`mustSatisfy()`]
+|xref:applib:ant:Parameter.adoc#mustSatisfy[`mustSatisfy()`]
 |implementation of `o.a.i.applib.spec.Specification`
 |allows arbitrary validation to be applied
 
 
-|xref:rg:ant:Parameter.adoc#optionality[`optionality()`]
+|xref:applib:ant:Parameter.adoc#optionality[`optionality()`]
 |`MANDATORY`, `OPTIONAL` (`MANDATORY`)
 |specifies a parameter is optional rather than mandatory
 
 
-|xref:rg:ant:Parameter.adoc#regexPattern[regexPattern()]
+|xref:applib:ant:Parameter.adoc#regexPattern[regexPattern()]
 |regular expression
 |validates the contents of a string parameter against the regular expression pattern
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObjectLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObjectLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/fileAccept.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
similarity index 97%
rename from core/_adoc-rg/modules/ant/pages/Parameter/fileAccept.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
index ac543f3..f3acdd0 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/fileAccept.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/fileAccept.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `fileAccept()` attribute applies only to xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
 or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`] parameters, indicating the type of file to accept when
-uploading a new value.   The attribute is also supported on xref:rg:ant:Property.adoc#fileAccept[properties].
+uploading a new value.   The attribute is also supported on xref:applib:ant:Property.adoc#fileAccept[properties].
 
 For example:
 
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/maxLength.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/maxLength.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/Parameter/maxLength.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/maxLength.adoc
index 6fcab84..09b6b78 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/maxLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/maxLength.adoc
@@ -32,4 +32,4 @@ public class CustomerRepository {
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:Property.adoc#maxLength[properties].
+This attribute can also be applied to xref:applib:ant:Property.adoc#maxLength[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/mustSatisfy.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/mustSatisfy.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Parameter/mustSatisfy.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/mustSatisfy.adoc
index 895b90f..506a5fe 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/mustSatisfy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/mustSatisfy.adoc
@@ -6,11 +6,11 @@ include::_attributes.adoc[]
 
 
 
-The `mustSatisfy()` attribute allows arbitrary validation to be applied to parameters using an (implementation of a) `org.apache.isis.applib.spec.Specification` object.  The attribute is also supported on xref:rg:ant:Property.adoc#mustSatisfy[properties].
+The `mustSatisfy()` attribute allows arbitrary validation to be applied to parameters using an (implementation of a) `org.apache.isis.applib.spec.Specification` object.  The attribute is also supported on xref:applib:ant:Property.adoc#mustSatisfy[properties].
 
 [TIP]
 ====
-The specification implementations can (of course) be reused between parameters and xref:rg:ant:Property.adoc#mustSatisfy[properties].
+The specification implementations can (of course) be reused between parameters and xref:applib:ant:Property.adoc#mustSatisfy[properties].
 ====
 
 The `Specification` is consulted during validation, being passed the proposed value.  If the proposed value fails, then the value returned is the used as the invalidity reason.
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/optionality.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/optionality.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/Parameter/optionality.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/optionality.adoc
index 2a0852e..b12893a 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/optionality.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/optionality.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 
-By default, Apache Isis assumes that all parameters of an action are required (mandatory).  The `optionality()` attribute allows this to be relaxed.  The attribute is also supported for xref:rg:ant:Property.adoc#optionality[properties].
+By default, Apache Isis assumes that all parameters of an action are required (mandatory).  The `optionality()` attribute allows this to be relaxed.  The attribute is also supported for xref:applib:ant:Property.adoc#optionality[properties].
 
 
 [TIP]
@@ -38,5 +38,5 @@ public class Customer {
 
 [NOTE]
 ====
-It is also possible to specify optionality using xref:rg:ant:Nullable.adoc[`@Nullable`] annotation.
+It is also possible to specify optionality using xref:applib:ant:Nullable.adoc[`@Nullable`] annotation.
 ====
diff --git a/core/_adoc-rg/modules/ant/pages/Parameter/regexPattern.adoc b/core/applib/_adoc/modules/ant/pages/Parameter/regexPattern.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Parameter/regexPattern.adoc
rename to core/applib/_adoc/modules/ant/pages/Parameter/regexPattern.adoc
index 4fea078..25cb5d3 100644
--- a/core/_adoc-rg/modules/ant/pages/Parameter/regexPattern.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Parameter/regexPattern.adoc
@@ -39,4 +39,4 @@ public class Customer {
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Property.adoc#regexPattern[properties].
+This attribute can also be specified for xref:applib:ant:Property.adoc#regexPattern[properties].
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
index 9f49077..4524f15 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout.adoc
@@ -17,33 +17,33 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:ParameterLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:ParameterLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a parameter should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:ParameterLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:ParameterLayout.adoc#describedAs[`describedAs()`]
 |String
 |description of this parameter, eg to be rendered in a tooltip.
 
 
-|xref:rg:ant:ParameterLayout.adoc#labelPosition[`labelPosition()`]
+|xref:applib:ant:ParameterLayout.adoc#labelPosition[`labelPosition()`]
 |`LEFT`, `TOP`, `RIGHT`, `NONE` +
 (`LEFT`)
 |in forms, the positioning of the label relative to the property value. +
 
-Default is `LEFT`, unless xref:rg:ant:ParameterLayout.adoc#multiLine[`multiLine`] in which case `TOP`.
+Default is `LEFT`, unless xref:applib:ant:ParameterLayout.adoc#multiLine[`multiLine`] in which case `TOP`.
 The value `RIGHT` is only supported for boolean parameters.
 
 
-|xref:rg:ant:ParameterLayout.adoc#multiLine[`multiLine()`]
+|xref:applib:ant:ParameterLayout.adoc#multiLine[`multiLine()`]
 |Positive integer
 |for string parameters, render as a text area over multiple lines. +
 
-If set > 1, then then xref:rg:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP`.
+If set > 1, then then xref:applib:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP`.
 
 
-|xref:rg:ant:ParameterLayout.adoc#named[`named()`]
+|xref:applib:ant:ParameterLayout.adoc#named[`named()`]
 |String
 |the name of this parameter.
 
@@ -61,12 +61,12 @@ The only reason then to name the parameter is if the desired name is a reserved
 |whether to HTML escape the name of this parameter.
 
 
-|xref:rg:ant:ParameterLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
+|xref:applib:ant:ParameterLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
 |
 |for date parameters only, render the date as one day prior to the actually stored date (eg the end date of an open interval into a closed interval)
 
 
-|xref:rg:ant:ParameterLayout.adoc#typicalLength[`typicalLength()`]
+|xref:applib:ant:ParameterLayout.adoc#typicalLength[`typicalLength()`]
 |
 |the typical entry length of a field, use to determine the optimum width for display
 
diff --git a/core/_adoc-rg/modules/ant/pages/DomainObject/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/DomainObject/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
index fe6ff9f..ad66fc0 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/cssClass.adoc
@@ -32,9 +32,9 @@ public class ToDoItem {
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:PropertyLayout.adoc#cssClass[properties],
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:PropertyLayout.adoc#cssClass[properties],
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/describedAs.adoc
similarity index 82%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/describedAs.adoc
index 783d0ec..68aeb8a 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/describedAs.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `describedAs()` attribute is used to provide a short description of the action parameter to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.  The `describedAs()` attribute can also be specified for xref:rg:ant:CollectionLayout.adoc#describedAs[collections],  xref:rg:ant:PropertyLayout.adoc#describedAs[properties], xref:rg:ant:ActionLayout.adoc#describedAs[actions], xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:rg:ant [...]
+The `describedAs()` attribute is used to provide a short description of the action parameter to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.  The `describedAs()` attribute can also be specified for xref:applib:ant:CollectionLayout.adoc#describedAs[collections],  xref:applib:ant:PropertyLayout.adoc#describedAs[properties], xref:applib:ant:ActionLayout.adoc#describedAs[actions], xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects] [...]
 
 Descriptions may be provided for objects, members (properties, collections and actions), and for individual parameters within an action method.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/labelPosition.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/labelPosition.adoc
similarity index 78%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/labelPosition.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/labelPosition.adoc
index 4b3178d..1b27d7b 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/labelPosition.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/labelPosition.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `labelPosition()` attribute determines the positioning of labels for parameters.
 
-The positioning of labels is typically `LEFT`, but can be positioned to the `TOP`.  The one exception is xref:rg:ant:ParameterLayout.adoc#multiLine[`multiLine()`] string parameters, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
+The positioning of labels is typically `LEFT`, but can be positioned to the `TOP`.  The one exception is xref:applib:ant:ParameterLayout.adoc#multiLine[`multiLine()`] string parameters, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
 
 For boolean parameters a positioning of `RIGHT` is also allowed; this is ignored for all other types.
 
@@ -36,10 +36,10 @@ public class Order {
 ----
 
 
-To get an idea of how these are rendered (in the xref:vw:ROOT:about.adoc[Wicket viewer]), see xref:rg:ant:PropertyLayout.adoc#labelPosition[PropertyLayout#labelPosition()].
+To get an idea of how these are rendered (in the xref:vw:ROOT:about.adoc[Wicket viewer]), see xref:applib:ant:PropertyLayout.adoc#labelPosition[PropertyLayout#labelPosition()].
 
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:PropertyLayout.adoc#labelPosition[properties].
+This attribute can also be specified for xref:applib:ant:PropertyLayout.adoc#labelPosition[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/multiLine.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/multiLine.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/multiLine.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/multiLine.adoc
index bd87b01..f09ae42 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/multiLine.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/multiLine.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `multiLine()` attribute specifies that the text field for a string parameter should span multiple lines.  It is ignored for other parameter types.  The attribute is also supported for xref:rg:ant:PropertyLayout.adoc#multiLine[properties].
+The `multiLine()` attribute specifies that the text field for a string parameter should span multiple lines.  It is ignored for other parameter types.  The attribute is also supported for xref:applib:ant:PropertyLayout.adoc#multiLine[properties].
 
 For example:
 
@@ -27,6 +27,6 @@ public class BugReport {
 
 [NOTE]
 ====
-If set > 1 (as would normally be the case), then the default xref:rg:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
+If set > 1 (as would normally be the case), then the default xref:applib:ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/named.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/named.adoc
index 7f37bdf..b82e817 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/named.adoc
@@ -51,10 +51,10 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:PropertyLayout.adoc#named[properties]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:PropertyLayout.adoc#named[properties]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
index 4d137b6..0d605c8 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/renderedAsDayBefore.adoc
@@ -38,5 +38,5 @@ public class Tenancy {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:PropertyLayout.adoc#renderedAsDayBefore[properties].
+This attribute is also supported for xref:applib:ant:PropertyLayout.adoc#renderedAsDayBefore[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/ParameterLayout/typicalLength.adoc b/core/applib/_adoc/modules/ant/pages/ParameterLayout/typicalLength.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/ParameterLayout/typicalLength.adoc
rename to core/applib/_adoc/modules/ant/pages/ParameterLayout/typicalLength.adoc
index 78dc248..85b15e6 100644
--- a/core/_adoc-rg/modules/ant/pages/ParameterLayout/typicalLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ParameterLayout/typicalLength.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `typicalLength()` attribute indicates the typical length of a string parameter.
 It is ignored for parameters of other types.
-The attribute is also supported for xref:rg:ant:PropertyLayout.adoc#typicalLength[properties].
+The attribute is also supported for xref:applib:ant:PropertyLayout.adoc#typicalLength[properties].
 
 The information is intended as a hint to the UI to determine the space that should be given to render a particular string parameter.
 That said, note that the xref:vw:ROOT:about.adoc[Wicket viewer] uses the maximum space available for all fields, so in effect ignores this attribute.
diff --git a/core/_adoc-rg/modules/ant/pages/Pattern.adoc b/core/applib/_adoc/modules/ant/pages/Pattern.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Pattern.adoc
rename to core/applib/_adoc/modules/ant/pages/Pattern.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PersistenceCapable.adoc b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/PersistenceCapable.adoc
rename to core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
index 099dc6a..7ceecbe 100644
--- a/core/_adoc-rg/modules/ant/pages/PersistenceCapable.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PersistenceCapable.adoc
@@ -75,9 +75,9 @@ does _not_ correspond to an object type, because the `schema()` attribute is mis
 
 The rules of precedence for determining a domain object's object type are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
 2. `@DomainObject#objectType`
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
+3. xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.  +
 +
 If both `schema` and `table` are defined, then the value is "`schema.table`".
 If only `schema` is defined, then the value is "`schema.className`".
diff --git a/core/_adoc-rg/modules/ant/pages/PostConstruct.adoc b/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/PostConstruct.adoc
rename to core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
index 1044c7e..6e102cf 100644
--- a/core/_adoc-rg/modules/ant/pages/PostConstruct.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PostConstruct.adoc
@@ -5,9 +5,9 @@ include::_attributes.adoc[]
 
 The `@javax.annotation.PostConstruct` annotation, as defined in link:https://jcp.org/en/jsr/detail?id=250[JSR-250],  is recognized by Apache Isis as a callback method on domain services to be called just after they have been constructed, in order that they initialize themselves.
 
-It is also recognized for xref:ug:fun:building-blocks.adoc#view-models[view models] (eg annotated with xref:rg:ant:ViewModel.adoc[`@ViewModel`]).
+It is also recognized for xref:ug:fun:building-blocks.adoc#view-models[view models] (eg annotated with xref:applib:ant:ViewModel.adoc[`@ViewModel`]).
 
-For the default application-scoped (singleton) domain services, this means that the method, if present, is called during the bootstrapping of the application.  For xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the beginning of the request.
+For the default application-scoped (singleton) domain services, this means that the method, if present, is called during the bootstrapping of the application.  For xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the beginning of the request.
 
 The signature of the method is:
 
@@ -16,7 +16,7 @@ The signature of the method is:
 @PostConstruct                 <1>
 public void init() { /* ... */ }     <2>
 ----
-<1> It is not necessary to annotate the method with xref:rg:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
+<1> It is not necessary to annotate the method with xref:applib:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
 <2> the method can have any name, but must have `public` visibility.
 
 In the form shown above the method accepts no arguments.
@@ -42,4 +42,4 @@ Use cases include obtaining connections to external datasources, eg subscribing
 
 
 
-See also xref:rg:ant:PreDestroy.adoc[`@PreDestroy`]
\ No newline at end of file
+See also xref:applib:ant:PreDestroy.adoc[`@PreDestroy`]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/PreDestroy.adoc b/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/PreDestroy.adoc
rename to core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
index 6955f5e..a48f5d7 100644
--- a/core/_adoc-rg/modules/ant/pages/PreDestroy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PreDestroy.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 The `@javax.annotation.PreDestroy` annotation, as defined in link:https://jcp.org/en/jsr/detail?id=250[JSR-250], recognized by Apache Isis as a callback method on domain services to be called just as they go out of scope.
 
 
-For the default application-scoped (singleton) domain services, this means that the method, if present, is called just prior to the termination of the application.  For xref:rg:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the end of the request.
+For the default application-scoped (singleton) domain services, this means that the method, if present, is called just prior to the termination of the application.  For xref:applib:ant:RequestScoped.adoc[`@RequestScoped`] domain services, the method is called at the end of the request.
 
 The signature of the method is:
 
@@ -16,7 +16,7 @@ The signature of the method is:
 @PreDestroy                         <1>
 public void deinit() { /* ... */ }    <2>
 ----
-<1> It is not necessary to annotate the method with xref:rg:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
+<1> It is not necessary to annotate the method with xref:applib:ant:Programmatic.adoc[`@Programmatic`]; it will be automatically excluded from the Apache Isis metamodel.
 <2> the method can have any name, but must have `public` visibility, and accept no arguments.
 
 A common use case is for domain services that interact with the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`].  For example:
@@ -48,4 +48,4 @@ Other use cases include obtaining connections to external datasources, eg subscr
 
 
 
-See also xref:rg:ant:PostConstruct.adoc[`@PostConstruct`]
\ No newline at end of file
+See also xref:applib:ant:PostConstruct.adoc[`@PostConstruct`]
\ No newline at end of file
diff --git a/core/_adoc-rg/modules/ant/pages/PrimaryKey.adoc b/core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PrimaryKey.adoc
rename to core/applib/_adoc/modules/ant/pages/PrimaryKey.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Programmatic.adoc b/core/applib/_adoc/modules/ant/pages/Programmatic.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Programmatic.adoc
rename to core/applib/_adoc/modules/ant/pages/Programmatic.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Property.adoc b/core/applib/_adoc/modules/ant/pages/Property.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/Property.adoc
rename to core/applib/_adoc/modules/ant/pages/Property.adoc
index 8817b63..1b1ce11 100644
--- a/core/_adoc-rg/modules/ant/pages/Property.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property.adoc
@@ -18,7 +18,7 @@ It is also possible to apply the annotation to actions of domain services that a
 | Description
 
 
-|xref:rg:ant:Property.adoc#command[`command()`]
+|xref:applib:ant:Property.adoc#command[`command()`]
 |`AS_CONFIGURED`, `ENABLED`, `DISABLED` +
 (`AS_CONFIGURED`)
 |whether the property edit should be reified into a `o.a.i.applib.` +
@@ -45,19 +45,19 @@ It is also possible to apply the annotation to actions of domain services that a
 
 
 
-|xref:rg:ant:Property.adoc#domainEvent[`domainEvent()`]
+|xref:applib:ant:Property.adoc#domainEvent[`domainEvent()`]
 |subtype of `PropertyDomainEvent` +
 (`PropertyDomainEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to broadcast the property's business rule checking (hide, disable, validate) and its modification (before and after).
 
 
-|xref:rg:ant:Property.adoc#editing[`editing()`]
+|xref:applib:ant:Property.adoc#editing[`editing()`]
 |`ENABLED`, `DISABLED`, `AS_CONFIGURED` +
 (`AS_CONFIGURED`)
 |whether a property can be modified or cleared from within the UI
 
 
-|xref:rg:ant:Property.adoc#fileAccept[`fileAccept()`]
+|xref:applib:ant:Property.adoc#fileAccept[`fileAccept()`]
 |Media type or file extension
 |Hints the files to be uploaded to a xref:rg:cms:classes/value-types.adoc#Blob[`Blob`]
  or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`]. +
@@ -65,25 +65,25 @@ It is also possible to apply the annotation to actions of domain services that a
 Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
 
 
-|xref:rg:ant:Property.adoc#hidden[`hidden()`]
+|xref:applib:ant:Property.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `PARENTED_TABLES`, `STANDALONE_TABLES`, `ALL_TABLES`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the property should be hidden from the user.
 
 
-|xref:rg:ant:Property.adoc#maxLength[`maxLength()`]
+|xref:applib:ant:Property.adoc#maxLength[`maxLength()`]
 |
 |maximum number of characters for string parameters; ignored otherwise +
 
-In many/most cases you should however use xref:rg:ant:Column.adoc[`@Column#length()`]
+In many/most cases you should however use xref:applib:ant:Column.adoc[`@Column#length()`]
 
 
-|xref:rg:ant:Property.adoc#mustSatisfy[`mustSatisfy()`]
+|xref:applib:ant:Property.adoc#mustSatisfy[`mustSatisfy()`]
 |implementation of `o.a.i.applib.spec.Specification`
 |allows arbitrary validation to be applied
 
 
-|xref:rg:ant:Property.adoc#notPersisted[`notPersisted()`]
+|xref:applib:ant:Property.adoc#notPersisted[`notPersisted()`]
 |`true`, `false` +
 (`false`)
 |whether to exclude from snapshots. +
@@ -94,28 +94,28 @@ Property must also be annotated with `@javax.jdo.annotations.NotPersistent` in o
 ====
 
 
-|xref:rg:ant:Property.adoc#optionality[`optionality()`]
+|xref:applib:ant:Property.adoc#optionality[`optionality()`]
 |
 |specifies a property is optional rather than mandatory +
 
-In many/most cases you should however use xref:rg:ant:Column.adoc[`@Column#allowsNull()`]
+In many/most cases you should however use xref:applib:ant:Column.adoc[`@Column#allowsNull()`]
 
 
 
-|xref:rg:ant:Property.adoc#projecting[`projecting()`]
+|xref:applib:ant:Property.adoc#projecting[`projecting()`]
 |
 |indicates that owning object is a view model that is acting as a projection of the underlying entity referenced by this property.
 
 
 
-|xref:rg:ant:Property.adoc#publishing[`publishing()`]
+|xref:applib:ant:Property.adoc#publishing[`publishing()`]
 |
 |determines whether the editing of a property should be published.
 
 
 
 
-|xref:rg:ant:Property.adoc#regexPattern[`regexPattern()`]
+|xref:applib:ant:Property.adoc#regexPattern[`regexPattern()`]
 |regular expression
 |validates the contents of a string parameter against the regular expression pattern
 
@@ -161,7 +161,7 @@ public class Customer {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
+The annotation is one of a handful (others including xref:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.  This is specifically
 so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/CollectionLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/Property/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/CollectionLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Property/command.adoc b/core/applib/_adoc/modules/ant/pages/Property/command.adoc
similarity index 98%
rename from core/_adoc-rg/modules/ant/pages/Property/command.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/command.adoc
index ee7eb86..4c3b0f1 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/command.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/command.adoc
@@ -263,6 +263,6 @@ If `commandDtoProcessor()` is specified, then `command()` is assumed to be ENABL
 
 
 
-For an example application, see xref:rg:ant:Action.adoc#command[`Action#command()`].
+For an example application, see xref:applib:ant:Action.adoc#command[`Action#command()`].
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/domainEvent.adoc b/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
similarity index 98%
rename from core/_adoc-rg/modules/ant/pages/Property/domainEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
index 834312a..d6e4ddc 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/domainEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/domainEvent.adoc
@@ -156,6 +156,6 @@ However, events can be raised programmatically by wrapping the target object usi
 
 This attribute is also supported for:
 
-* xref:rg:ant:Action.adoc#domainEvent[actions] and
-* xref:rg:ant:Property.adoc#domainEvent[properties].
+* xref:applib:ant:Action.adoc#domainEvent[actions] and
+* xref:applib:ant:Property.adoc#domainEvent[properties].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/editing.adoc b/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Property/editing.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/editing.adoc
index ecaefa2..de37f44 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/editing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/editing.adoc
@@ -45,5 +45,5 @@ To reiterate, it is _not_ possible to enable editing for a property if editing h
 
 This attribute can also be specified for:
 
-* xref:rg:ant:Collection.adoc#editing[collections]
-* xref:rg:ant:DomainObject.adoc#editing[domain object].
+* xref:applib:ant:Collection.adoc#editing[collections]
+* xref:applib:ant:DomainObject.adoc#editing[domain object].
diff --git a/core/_adoc-rg/modules/ant/pages/Property/fileAccept.adoc b/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/Property/fileAccept.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
index 31fd838..93f9894 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/fileAccept.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/fileAccept.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `fileAccept()` attribute applies only to xref:rg:cms:classes/value-types.adoc#Blob[`Blob`] or xref:rg:cms:classes/value-types.adoc#Clob[`Clob`] parameters, indicating the type of file to accept when uploading a new value.
-The attribute is also supported on xref:rg:ant:Parameter.adoc#fileAccept[parameters].
+The attribute is also supported on xref:applib:ant:Parameter.adoc#fileAccept[parameters].
 
 
 For example:
diff --git a/core/_adoc-rg/modules/ant/pages/Property/hidden.adoc b/core/applib/_adoc/modules/ant/pages/Property/hidden.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/Property/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/hidden.adoc
index 6b85795..1b551fd 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/hidden.adoc
@@ -11,7 +11,7 @@ Properties can be hidden at the domain-level, indicating that they are not visib
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:Property.adoc#hidden[`@Property#hidden()`] to hide an action at the domain layer.
+It is also possible to use xref:applib:ant:Property.adoc#hidden[`@Property#hidden()`] to hide an action at the domain layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -59,7 +59,7 @@ This combines `PARENTED_TABLES` and `STANDALONE_TABLES`.
 +
 The property should not be hidden, overriding any other metadata/conventions that would normally cause the property to be hidden. +
 
-For example, if a property is annotated with xref:rg:ant:Title.adoc[`@Title`], then normally this should be hidden from all
+For example, if a property is annotated with xref:applib:ant:Title.adoc[`@Title`], then normally this should be hidden from all
 tables. Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 
@@ -73,5 +73,5 @@ The xref:vro:ROOT:about.adoc[RestfulObjects viewer] has only partial support for
 
 This attribute can also be applied to:
 
-* xref:rg:ant:ActionLayout.adoc#hidden[actions]
-* xref:rg:ant:CollectionLayout.adoc#hidden[collections].
+* xref:applib:ant:ActionLayout.adoc#hidden[actions]
+* xref:applib:ant:CollectionLayout.adoc#hidden[collections].
diff --git a/core/_adoc-rg/modules/ant/pages/Property/maxLength.adoc b/core/applib/_adoc/modules/ant/pages/Property/maxLength.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/Property/maxLength.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/maxLength.adoc
index 5ba33cd..f645b15 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/maxLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/maxLength.adoc
@@ -10,7 +10,7 @@ The `maxLength()` attribute applies only to `String` properties, indicating the
 The attribute It is ignored if applied to properties of any other type.
 
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:rg:ant:Column.adoc[`@Column`] will in any case need to be specified.
+That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:applib:ant:Column.adoc[`@Column`] will in any case need to be specified.
 Apache Isis can infer the `maxLength` semantic directly from the equivalent `@Column#length()` annotation/attribute.
 
 For example:
@@ -53,5 +53,5 @@ public class Customer {
 
 == See also
 
-This attribute can also be applied to xref:rg:ant:Parameter.adoc#maxLength[parameters].
+This attribute can also be applied to xref:applib:ant:Parameter.adoc#maxLength[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/mustSatisfy.adoc b/core/applib/_adoc/modules/ant/pages/Property/mustSatisfy.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/Property/mustSatisfy.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/mustSatisfy.adoc
index 4da7606..271f28b 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/mustSatisfy.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/mustSatisfy.adoc
@@ -8,11 +8,11 @@ include::_attributes.adoc[]
 
 
 The `mustSatisfy()` attribute allows arbitrary validation to be applied to properties using an (implementation of a) `org.apache.isis.applib.spec.Specification` object.
- The attribute is also supported on xref:rg:ant:Parameter.adoc#mustSatisfy[parameters].
+ The attribute is also supported on xref:applib:ant:Parameter.adoc#mustSatisfy[parameters].
 
 [TIP]
 ====
-The specification implementations can (of course) be reused between properties and xref:rg:ant:Parameter.adoc#mustSatisfy[parameters].
+The specification implementations can (of course) be reused between properties and xref:applib:ant:Parameter.adoc#mustSatisfy[parameters].
 ====
 
 The `Specification` is consulted during validation, being passed the proposed value.  If the proposed value fails, then the value returned is the used as the invalidity reason.
diff --git a/core/_adoc-rg/modules/ant/pages/Property/notPersisted.adoc b/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/Property/notPersisted.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
index 25ec9de..160be4d 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/notPersisted.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/notPersisted.adoc
@@ -65,5 +65,5 @@ public class Order {
 
 == See also
 
-This attribute is also supported for xref:rg:ant:Collection.adoc#notPersisted[collections].
+This attribute is also supported for xref:applib:ant:Collection.adoc#notPersisted[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/optionality.adoc b/core/applib/_adoc/modules/ant/pages/Property/optionality.adoc
similarity index 93%
rename from core/_adoc-rg/modules/ant/pages/Property/optionality.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/optionality.adoc
index a8783be..e127c8f 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/optionality.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/optionality.adoc
@@ -10,12 +10,12 @@ include::_attributes.adoc[]
 
 By default, Apache Isis assumes that all properties of an domain object or view model are required (mandatory).
 The `optionality()` attribute allows this to be relaxed.
-The attribute is also supported for xref:rg:ant:Parameter.adoc#optionality[parameters].
+The attribute is also supported for xref:applib:ant:Parameter.adoc#optionality[parameters].
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:rg:ant:Column.adoc[`@Column`] should be specified.
+That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:applib:ant:Column.adoc[`@Column`] should be specified.
 Apache Isis can infer the maxLength directly from the equivalent @Column#length() annotation.
 
-That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:rg:ant:Column.adoc[`@Column`] will in any case need to be specified.
+That said, properties are most commonly defined on persistent domain objects (entities), in which case the JDO xref:applib:ant:Column.adoc[`@Column`] will in any case need to be specified.
 Apache Isis can infer the `optionality` semantic directly from the equivalent `@Column#allowsNull()` annotation/attribute.
 
 For example:
@@ -139,6 +139,6 @@ public class Customer {
 
 [NOTE]
 ====
-It is also possible to specify optionality using xref:rg:ant:Nullable.adoc[`@Nullable`] annotation.
+It is also possible to specify optionality using xref:applib:ant:Nullable.adoc[`@Nullable`] annotation.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/Property/projecting.adoc b/core/applib/_adoc/modules/ant/pages/Property/projecting.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Property/projecting.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/projecting.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/Property/publishing.adoc b/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Property/publishing.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
index ca598ff..73894e8 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/publishing.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/publishing.adoc
@@ -45,10 +45,10 @@ public class Order {
 
 This attribute can also be specified for:
 
-* xref:rg:ant:DomainObject.adoc#publishing[domain objects]
+* xref:applib:ant:DomainObject.adoc#publishing[domain objects]
 +
 where it controls whether changed objects are published as events, and for
 
-* xref:rg:ant:Action.adoc#publishing[actions]
+* xref:applib:ant:Action.adoc#publishing[actions]
 +
 where it controls whether action invocations are published as events.
diff --git a/core/_adoc-rg/modules/ant/pages/Property/regexPattern.adoc b/core/applib/_adoc/modules/ant/pages/Property/regexPattern.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/Property/regexPattern.adoc
rename to core/applib/_adoc/modules/ant/pages/Property/regexPattern.adoc
index 1f5047e..d45d067 100644
--- a/core/_adoc-rg/modules/ant/pages/Property/regexPattern.adoc
+++ b/core/applib/_adoc/modules/ant/pages/Property/regexPattern.adoc
@@ -35,5 +35,5 @@ public class Customer {
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:Parameter.adoc#regexPattern[parameters].
+This attribute can also be specified for xref:applib:ant:Parameter.adoc#regexPattern[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
index a0e94a4..88f1168 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout.adoc
@@ -17,40 +17,40 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:PropertyLayout.adoc#cssClass[`cssClass()`]
+|xref:applib:ant:PropertyLayout.adoc#cssClass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a property should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:PropertyLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:PropertyLayout.adoc#describedAs[`describedAs()`]
 |String
 |description of this property, eg to be rendered in a tooltip.
 
 
-|xref:rg:ant:PropertyLayout.adoc#hidden[`hidden()`]
+|xref:applib:ant:PropertyLayout.adoc#hidden[`hidden()`]
 |`EVERYWHERE`, `OBJECT_FORMS`, `PARENTED_TABLES`, `STANDALONE_TABLES`, `ALL_TABLES`, `NOWHERE` +
 (`NOWHERE`)
 |indicates where (in the UI) the property should be hidden from the user.
 
 
-|xref:rg:ant:PropertyLayout.adoc#labelPosition[`labelPosition()`]
+|xref:applib:ant:PropertyLayout.adoc#labelPosition[`labelPosition()`]
 |`LEFT`, `TOP`, `RIGHT`, `NONE` +
 (`LEFT`)
 |in forms, the positioning of the label relative to the property value. +
 
-Defaults is `LEFT`, unless xref:rg:ant:PropertyLayout.adoc#multiLine[`multiLine`] in which case `TOP`.  The value `RIGHT` is only supported for boolean properties. +
+Defaults is `LEFT`, unless xref:applib:ant:PropertyLayout.adoc#multiLine[`multiLine`] in which case `TOP`.  The value `RIGHT` is only supported for boolean properties. +
 
 It is also possible to change the default through a xref:rg:cfg:configuring-core.adoc#isis-viewers-propertyLayout-labelPosition[configuration property]
 
 
-|xref:rg:ant:PropertyLayout.adoc#multiLine[`multiLine()`]
+|xref:applib:ant:PropertyLayout.adoc#multiLine[`multiLine()`]
 |Positive integer
 |for string properties, render as a text area over multiple lines.  +
 
-If set > 1, then xref:rg:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to TOP.
+If set > 1, then xref:applib:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to TOP.
 
 
-|xref:rg:ant:PropertyLayout.adoc#named[`named()`]
+|xref:applib:ant:PropertyLayout.adoc#named[`named()`]
 |String
 |to override the name inferred from the collection's name in code. +
 
@@ -63,29 +63,29 @@ A typical use case is if the desired name is a reserved Java keyword, such as `d
 |whether to HTML escape the name of this property.
 
 
-|xref:rg:ant:PropertyLayout.adoc#navigable[`navigable()`]
+|xref:applib:ant:PropertyLayout.adoc#navigable[`navigable()`]
 |`PARENT`, `IGNORE`, `NOT_CONFIGURED` +
 (`NOT_CONFIGURED`)
 |whether a property should be used as the navigable parent (parent breadcrumb) of this object
 
 
-|xref:rg:ant:PropertyLayout.adoc#promptStyle[`promptStyle()`]
+|xref:applib:ant:PropertyLayout.adoc#promptStyle[`promptStyle()`]
 |`DIALOG`, `INLINE`, `AS_CONFIGURED` +
 (`AS_CONFIGURED`)
 |how a property prompt should be displayed within the UI
 
 
-|xref:rg:ant:PropertyLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
+|xref:applib:ant:PropertyLayout.adoc#renderedAsDayBefore[`renderedAsDayBefore()`]
 |`true`, `false` +
 (`false`)
 |for date properties only, render the date as one day prior to the actually stored date.
 
 
-|xref:rg:ant:PropertyLayout.adoc#typicalLength[`typicalLength()`]
+|xref:applib:ant:PropertyLayout.adoc#typicalLength[`typicalLength()`]
 |Positive integer.
 |the typical entry length of a field, use to determine the optimum width for display
 
-|xref:rg:ant:PropertyLayout.adoc#unchanging[`unchanging()`]
+|xref:applib:ant:PropertyLayout.adoc#unchanging[`unchanging()`]
 |`false`, `true` +
 (`false`)
 |indicates that the value held by the property never changes over time (even if other properties of the object do change).
@@ -129,7 +129,7 @@ As an alternative to using the `@PropertyLayout` annotation, a xref:vw:ROOT:layo
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:rg:ant:Collection.adoc[`@Collection`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:rg:ant:Property.adoc[`@Property`]) that can also be applied to the field, rather than the getter method.  This is specifically
+The annotation is one of a handful (others including xref:applib:ant:Collection.adoc[`@Collection`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`] and xref:applib:ant:Property.adoc[`@Property`]) that can also be applied to the field, rather than the getter method.  This is specifically
 so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/Collection/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Collection/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
similarity index 83%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
index f2b5c45..5f90eeb 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/cssClass.adoc
@@ -30,10 +30,10 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:DomainObjectLayout.adoc#cssClass[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#cssClass[view models]
-* xref:rg:ant:ActionLayout.adoc#cssClass[actions]
-* xref:rg:ant:CollectionLayout.adoc#cssClass[collections]
-* xref:rg:ant:ParameterLayout.adoc#cssClass[parameters].
+* xref:applib:ant:DomainObjectLayout.adoc#cssClass[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#cssClass[view models]
+* xref:applib:ant:ActionLayout.adoc#cssClass[actions]
+* xref:applib:ant:CollectionLayout.adoc#cssClass[collections]
+* xref:applib:ant:ParameterLayout.adoc#cssClass[parameters].
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/describedAs.adoc
similarity index 80%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/describedAs.adoc
index e7b6bab..ab32866 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/describedAs.adoc
@@ -6,7 +6,7 @@ include::_attributes.adoc[]
 
 
 
-The `describedAs()` attribute is used to provide a short description of the property to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'. The attribute can also be specified for xref:rg:ant:CollectionLayout.adoc#describedAs[collections],  xref:rg:ant:ActionLayout.adoc#describedAs[actions], xref:rg:ant:ParameterLayout.adoc#describedAs[parameters], xref:rg:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:rg:ant:ViewModelLayout.adoc#de [...]
+The `describedAs()` attribute is used to provide a short description of the property to the user.  In the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'. The attribute can also be specified for xref:applib:ant:CollectionLayout.adoc#describedAs[collections],  xref:applib:ant:ActionLayout.adoc#describedAs[actions], xref:applib:ant:ParameterLayout.adoc#describedAs[parameters], xref:applib:ant:DomainObjectLayout.adoc#describedAs[domain objects] and xref:applib:ant:Vie [...]
 
 For example:
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/hidden.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/hidden.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/hidden.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/hidden.adoc
index 0f8623e..2d02cd8 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/hidden.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/hidden.adoc
@@ -10,7 +10,7 @@ The `hidden()` attribute indicates where (in the UI) the property should be hidd
 
 [TIP]
 ====
-It is also possible to use xref:rg:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`] or a xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the property can be hidden at the view layer.
+It is also possible to use xref:applib:ant:PropertyLayout.adoc#hidden[`@PropertyLayout#hidden()`] or a xref:vw:ROOT:layout/file-based.adoc[file-based layout] such that the property can be hidden at the view layer.
 Both options are provided with a view that in the future the view-layer semantics may be under the control of (expert) users, whereas domain-layer semantics should never be overridden or modified by the user.
 ====
 
@@ -58,7 +58,7 @@ The property should be hidden when displayed as a column of a table, either an o
 +
 The property should not be hidden, overriding any other metadata/conventions that would normally cause the property to be hidden.
 
-For example, if a property is annotated with xref:rg:ant:Title.adoc[`@Title`], then normally this should be hidden from all
+For example, if a property is annotated with xref:applib:ant:Title.adoc[`@Title`], then normally this should be hidden from all
 tables. Annotating with `@Property(where=Where.NOWHERE)` overrides this.
 
 
@@ -76,6 +76,6 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 This attribute can also be applied to:
 
-* xref:rg:ant:Action.adoc#hidden[actions]
-* xref:rg:ant:Collection.adoc#hidden[collections].
+* xref:applib:ant:Action.adoc#hidden[actions]
+* xref:applib:ant:Collection.adoc#hidden[collections].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/labelPosition.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/labelPosition.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
index e5324ff..4d297a8 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/labelPosition.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/labelPosition.adoc
@@ -10,7 +10,7 @@ include::_attributes.adoc[]
 The `labelPosition()` attribute determines the positioning of labels for properties.
 
 The positioning of labels is typically `LEFT`, but can be positioned to the `TOP`.
-The one exception is xref:rg:ant:ParameterLayout.adoc#multiLine[`multiLine()`] string properties, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
+The one exception is xref:applib:ant:ParameterLayout.adoc#multiLine[`multiLine()`] string properties, where the label defaults to `TOP` automatically (to provide as much real-estate for the multiline text field as possible).
 
 For boolean properties a positioning of `RIGHT` is also allowed; this is ignored for all other types.
 
@@ -90,5 +90,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 == See also
 
-This attribute can also be specified for xref:rg:ant:ParameterLayout.adoc#labelPosition[parameters].
+This attribute can also be specified for xref:applib:ant:ParameterLayout.adoc#labelPosition[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/multiLine.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/multiLine.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/multiLine.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/multiLine.adoc
index afd7493..21c1f64 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/multiLine.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/multiLine.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 :page-partial:
 
 
-The `multiLine()` attribute specifies that the text field for a string property should span multiple lines.  It is ignored for other property types.  The attribute is also supported for xref:rg:ant:ParameterLayout.adoc#multiLine[parameters].
+The `multiLine()` attribute specifies that the text field for a string property should span multiple lines.  It is ignored for other property types.  The attribute is also supported for xref:applib:ant:ParameterLayout.adoc#multiLine[parameters].
 
 For example:
 
@@ -26,7 +26,7 @@ Here the `stepsToReproduce` will be displayed in a text area of 10 rows.
 
 [NOTE]
 ====
-If set > 1 (as would normally be the case), then the default xref:rg:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
+If set > 1 (as would normally be the case), then the default xref:applib:ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP` (rather than `LEFT`, as would normally be the case).
 ====
 
 == Alternatives
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/named.adoc
similarity index 84%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/named.adoc
index 918e27b..b3a69cc 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/named.adoc
@@ -45,10 +45,10 @@ The framework also provides a separate, powerful mechanism for xref:ug:btb:i18n.
 
 This attribute can also be specified for:
 
-* xref:rg:ant:ActionLayout.adoc#named[actions]
-* xref:rg:ant:CollectionLayout.adoc#named[collections]
-* xref:rg:ant:ParameterLayout.adoc#named[parameters]
-* xref:rg:ant:DomainObjectLayout.adoc#named[domain objects]
-* xref:rg:ant:ViewModelLayout.adoc#named[view models]
-* xref:rg:ant:DomainServiceLayout.adoc#named[domain services].
+* xref:applib:ant:ActionLayout.adoc#named[actions]
+* xref:applib:ant:CollectionLayout.adoc#named[collections]
+* xref:applib:ant:ParameterLayout.adoc#named[parameters]
+* xref:applib:ant:DomainObjectLayout.adoc#named[domain objects]
+* xref:applib:ant:ViewModelLayout.adoc#named[view models]
+* xref:applib:ant:DomainServiceLayout.adoc#named[domain services].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/navigable.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/navigable.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/navigable.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/navigable.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/promptStyle.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/promptStyle.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/promptStyle.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/promptStyle.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
similarity index 95%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
index e78347b..03a8281 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/renderedAsDayBefore.adoc
@@ -42,5 +42,5 @@ As an alternative to using the annotation, the dynamic xref:vw:ROOT:layout/file-
 
 == See also
 
-This attribute is also supported for xref:rg:ant:ParameterLayout.adoc#renderedAsDayBefore[parameters].
+This attribute is also supported for xref:applib:ant:ParameterLayout.adoc#renderedAsDayBefore[parameters].
 
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/typicalLength.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/typicalLength.adoc
similarity index 94%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/typicalLength.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/typicalLength.adoc
index 71c4570..1fcbe72 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/typicalLength.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/typicalLength.adoc
@@ -8,7 +8,7 @@ include::_attributes.adoc[]
 
 The `typicalLength()` attribute indicates the typical length of a string property.
 It is ignored for properties of other types.
-The attribute is also supported for xref:rg:ant:ParameterLayout.adoc#typicalLength[parameters].
+The attribute is also supported for xref:applib:ant:ParameterLayout.adoc#typicalLength[parameters].
 
 The information is intended as a hint to the UI to determine the space that should be given to render a particular string property.
 That said, note that the xref:vw:ROOT:about.adoc[Wicket viewer] uses the maximum space available for all fields, so in effect ignores this attribute.
diff --git a/core/_adoc-rg/modules/ant/pages/PropertyLayout/unchanging.adoc b/core/applib/_adoc/modules/ant/pages/PropertyLayout/unchanging.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/PropertyLayout/unchanging.adoc
rename to core/applib/_adoc/modules/ant/pages/PropertyLayout/unchanging.adoc
index c63eaaa..17ead0e 100644
--- a/core/_adoc-rg/modules/ant/pages/PropertyLayout/unchanging.adoc
+++ b/core/applib/_adoc/modules/ant/pages/PropertyLayout/unchanging.adoc
@@ -15,7 +15,7 @@ Note that for this to work, the viewer will also ensure that none of the propert
 
 [NOTE]
 ====
-Design note: we considered implementing this an "immutable" flag on the xref:rg:ant:Property.adoc[`@Property`] annotation (because this flag is typically appropriate for immutable/unchanging properties of a domain object).
+Design note: we considered implementing this an "immutable" flag on the xref:applib:ant:Property.adoc[`@Property`] annotation (because this flag is typically appropriate for immutable/unchanging properties of a domain object).
 However, we decided not to do that, on the basis that it might be interpreted as having a deeper impact within the framework than simply a hint for rendering.
 ====
 
diff --git a/core/_adoc-rg/modules/ant/pages/RequestScoped.adoc b/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
similarity index 96%
rename from core/_adoc-rg/modules/ant/pages/RequestScoped.adoc
rename to core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
index 6b0c869..1bd1370 100644
--- a/core/_adoc-rg/modules/ant/pages/RequestScoped.adoc
+++ b/core/applib/_adoc/modules/ant/pages/RequestScoped.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 
-The `@javax.enterprise.context.RequestScoped` link:https://jcp.org/en/jsr/detail?id=299[JSR-299] CDI annotation is used to specify that a xref:rg:ant:DomainService.adoc[domain service] should be request-scoped rather than a singleton.
+The `@javax.enterprise.context.RequestScoped` link:https://jcp.org/en/jsr/detail?id=299[JSR-299] CDI annotation is used to specify that a xref:applib:ant:DomainService.adoc[domain service] should be request-scoped rather than a singleton.
 
 Although Apache Isis does not (currently) leverage CDI, the semantics are the same as request-scoped service; a new instance is created for each HTTP request, reserved for the exclusive use of all objects interacted with during that request.
 
diff --git a/core/_adoc-rg/modules/ant/pages/Title.adoc b/core/applib/_adoc/modules/ant/pages/Title.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Title.adoc
rename to core/applib/_adoc/modules/ant/pages/Title.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModel.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModel.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModel.adoc
index 9c1c0f6..2fd3547 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModel.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel.adoc
@@ -43,8 +43,8 @@ See this xref:ug:btb:about.adoc#view-model-instantiation[tip] for further discus
 View models must have a no-arg constructor; this is used internally by the framework for subsequent "recreation".
 
 The view model's memento will be derived from the value of the view model object's properties.
-Any xref:rg:ant:Property.adoc#notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:rg:ant:Programmatic.adoc[`@Programmatic`] properties.
-Properties that are merely xref:rg:ant:Property.adoc#hidden[hidden] _are_ included in the memento.
+Any xref:applib:ant:Property.adoc#notPersisted[`@Property#notPersisted()`] properties will be excluded from the memento, as will any xref:applib:ant:Programmatic.adoc[`@Programmatic`] properties.
+Properties that are merely xref:applib:ant:Property.adoc#hidden[hidden] _are_ included in the memento.
 
 Only properties supported by the configured xref:rg:svc:integration-api/MementoService.adoc[`MementoService`] can be used. The default implementation supports all the value types and persisted entities.
 
@@ -62,7 +62,7 @@ If you are using view models heavily, you may wish to restrict yourself to just
 ====
 The `@ViewModel` does not allow the objectType to be specified, meaning that it is incompatible with the metamodel validation check ennabled by the xref:rg:cfg:configuring-core.adoc#metamodel-validation[`explicitObjectType`] configuration property.
 
-Instead, use xref:rg:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:rg:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`].
+Instead, use xref:applib:ant:DomainObject.adoc#nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:applib:ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`].
 ====
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/ActionLayout/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/ActionLayout/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModel/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModel/objectType.adoc b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
similarity index 91%
rename from core/_adoc-rg/modules/ant/pages/ViewModel/objectType.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
index f817a5e..e4263b6 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModel/objectType.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModel/objectType.adoc
@@ -39,9 +39,9 @@ public class Order {
 
 The rules of precedence are:
 
-1. xref:rg:ant:Discriminator.adoc[`@Discriminator`]
-2. `@DomainObject#objectType`, or xref:rg:ant:ViewModel.adoc#objectType[`@ViewModel#objectType()`]
-3. xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
+1. xref:applib:ant:Discriminator.adoc[`@Discriminator`]
+2. `@DomainObject#objectType`, or xref:applib:ant:ViewModel.adoc#objectType[`@ViewModel#objectType()`]
+3. xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`], if at least the `schema` attribute is defined.
 +
 If both `schema` and `table` are defined, then the value is "`schema.table`".
 If only `schema` is defined, then the value is "`schema.className`".
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
similarity index 77%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
index 1a3b13d..c65925a 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout.adoc
@@ -3,8 +3,8 @@
 include::_attributes.adoc[]
 
 
-The `@ViewModelLayout` annotation is identical to the xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`], but is provided
-for symmetry with domain objects that have been annotated using xref:rg:ant:ViewModel.adoc[`@ViewModel`] (rather than xref:rg:ant:DomainObject.adoc#nature[`@DomainObject(nature=VIEW_MODEL)`]).
+The `@ViewModelLayout` annotation is identical to the xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`], but is provided
+for symmetry with domain objects that have been annotated using xref:applib:ant:ViewModel.adoc[`@ViewModel`] (rather than xref:applib:ant:DomainObject.adoc#nature[`@DomainObject(nature=VIEW_MODEL)`]).
 
 
 The table below summarizes the annotation's attributes.
@@ -18,12 +18,12 @@ The table below summarizes the annotation's attributes.
 | Description
 
 
-|xref:rg:ant:ViewModelLayout.adoc#cssclass[`cssClass()`]
+|xref:applib:ant:ViewModelLayout.adoc#cssclass[`cssClass()`]
 |Any string valid as a CSS class
 |the css class that a domain class (type) should have, to allow more targetted styling in xref:rg:cfg:application-specific/application-css.adoc[`application.css`]
 
 
-|xref:rg:ant:ViewModelLayout.adoc#cssClassFa[`cssClassFa()`]
+|xref:applib:ant:ViewModelLayout.adoc#cssClassFa[`cssClassFa()`]
 |Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name
 |specify a font awesome icon for the action's menu link or icon. +
 
@@ -34,44 +34,44 @@ The table below summarizes the annotation's attributes.
 |Currently unused.
 
 
-|xref:rg:ant:ViewModelLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#cssClassUiEvent[`cssClassUiEvent()`]
 |subtype of `CssClassUiEvent` +
 (`CssClassUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
 
 
-|xref:rg:ant:ViewModelLayout.adoc#describedAs[`describedAs()`]
+|xref:applib:ant:ViewModelLayout.adoc#describedAs[`describedAs()`]
 |String.
 |description of this class, eg to be rendered in a tooltip.
 
-|xref:rg:ant:ViewModelLayout.adoc#iconUiEvent[`iconUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#iconUiEvent[`iconUiEvent()`]
 |subtype of `IconUiEvent` +
 (`IconUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the icon (name) for the domain object.
 
-|xref:rg:ant:ViewModelLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#layoutUiEvent[`layoutUiEvent()`]
 |subtype of `LayoutUiEvent` +
 (`LayoutUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the layout (name) for the domain object.
 
-|xref:rg:ant:ViewModelLayout.adoc#named[`named()`]
+|xref:applib:ant:ViewModelLayout.adoc#named[`named()`]
 |String.
 |to override the name inferred from the action's name in code. +
 
 A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
 
 
-|xref:rg:ant:ViewModelLayout.adoc#paged[`paged()`]
+|xref:applib:ant:ViewModelLayout.adoc#paged[`paged()`]
 |Positive integer
 |the page size for instances of this class when rendered within a table (as returned from an action invocation)
 
 
-|xref:rg:ant:ViewModelLayout.adoc#plural[`plural()`]
+|xref:applib:ant:ViewModelLayout.adoc#plural[`plural()`]
 |String.
 |the plural name of the class
 
 
-|xref:rg:ant:ViewModelLayout.adoc#titleUiEvent[`titleUiEvent()`]
+|xref:applib:ant:ViewModelLayout.adoc#titleUiEvent[`titleUiEvent()`]
 |subtype of `TitleUiEvent` +
 (`TitleUiEvent.Default`)
 |the event type to be posted to the xref:rg:svc:core-domain-api/EventBusService.adoc[`EventBusService`] to obtain the title for the domain object.
@@ -95,7 +95,7 @@ For example:
 public class CategoryPieChart { /* ... */ }
 ----
 <1> this annotation is intended for use with `@ViewModel`.
-If a view model has been specified using the equivalent xref:rg:ant:DomainObject.adoc#nature[`@DomainObject(nature=Nature.VIEW_MODEL)`], then we recommend you use xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] instead.
+If a view model has been specified using the equivalent xref:applib:ant:DomainObject.adoc#nature[`@DomainObject(nature=Nature.VIEW_MODEL)`], then we recommend you use xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] instead.
 
 
 [NOTE]
diff --git a/core/_adoc-rg/modules/ant/pages/Action/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/Action/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/bookmarking.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/bookmarking.adoc
similarity index 85%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/bookmarking.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/bookmarking.adoc
index f1c55fa..892fad8 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/bookmarking.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/bookmarking.adoc
@@ -8,5 +8,5 @@ include::_attributes.adoc[]
 
 The `bookmarking()` attribute indicates that a view model is automatically bookmarked.
 
-This is equivalent to xref:rg:ant:DomainObjectLayout.adoc#bookmarking[`@DomainObjectLayout#bookmarking()`], but for view models instead of entities.
+This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#bookmarking[`@DomainObjectLayout#bookmarking()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClass.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClass.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
index b5d9b5f..6430201 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClass.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClass.adoc
@@ -8,4 +8,4 @@ include::_attributes.adoc[]
 
 The `cssClass()` attribute can be used to render additional CSS classes in the HTML (a wrapping `<div>`) that represents the view model.   xref:rg:cfg:application-specific/application-css.adoc[Application-specific CSS] can then be used to target and adjust the UI representation of that particular element.
 
-This is equivalent to xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
+This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassFa.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
index f85252b..8fae764 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassFa.adoc
@@ -9,5 +9,5 @@ include::_attributes.adoc[]
 
 The `cssClassFa()` attribute is used to specify the name of a link:http://fortawesome.github.io/Font-Awesome/icons/[Font Awesome icon] name, to be rendered as the domain object's icon.
 
-This is equivalent to xref:rg:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`], but for view models instead of entities.
+This is equivalent to xref:applib:ant:DomainObjectLayout.adoc#cssClassFa[`@DomainObjectLayout#cssClassFa()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
similarity index 88%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
index 42b51b8..d5cf1e7 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/cssClassUiEvent.adoc
@@ -7,6 +7,6 @@ include::_attributes.adoc[]
 
 Whenever a view model is to be rendered, the framework fires off an CSS class UI event to obtain a CSS class to use in any wrapping ``<div>``s and ``<span>``s that render the domain object.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#cssClass[`@DomainObjectLayout#cssClass()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.cssClassUiEvent.postForDefault` configuration property is set to "false".
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/describedAs.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/describedAs.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/describedAs.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/describedAs.adoc
index d31ee91..161033d 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/describedAs.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/describedAs.adoc
@@ -7,5 +7,5 @@ include::_attributes.adoc[]
 
 The `describedAs()` attribute is used to provide a short description of the view model to the user; in the xref:vw:ROOT:about.adoc[Wicket viewer] it is displayed as a 'tool tip'.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#describedAs[`@DomainObjectLayout#describedAs()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
similarity index 89%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
index 0daeee9..90fc366 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/iconUiEvent.adoc
@@ -9,7 +9,7 @@ Whenever a view model is to be rendered, the framework fires off an icon UI even
 This is as an alternative to implementing xref:rg:cms:methods.adoc#iconName[`iconName()`] reserved method.
 (If `iconName()` is present, then it will take precedence).
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#iconUiEvent[`@DomainObjectLayout#iconUiEvent()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.iconUiEvent.postForDefault` configuration property is set to "false".
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
index 178caa2..2d7fd47 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/layoutUiEvent.adoc
@@ -7,6 +7,6 @@ include::_attributes.adoc[]
 
 Whenever a view model is to be rendered, the framework fires off an layout UI event to obtain an alternative layout name with which to render the domain object.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#layoutUiEvent[`@DomainObjectLayout#layoutUiEvent()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.layoutUiEvent.postForDefault` configuration property is set to "false".
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/named.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/named.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/named.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/named.adoc
index b52ba9a..3ef9f1b 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/named.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/named.adoc
@@ -7,5 +7,5 @@ include::_attributes.adoc[]
 
 The `named()` attribute explicitly specifies the view model's name, overriding the name that would normally be inferred from the Java source code.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#named[`@DomainObjectLayout#named()`], but for view models instead of entities.
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/paged.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/paged.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/paged.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/paged.adoc
index b52e1ad..d269b61 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/paged.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/paged.adoc
@@ -7,4 +7,4 @@ include::_attributes.adoc[]
 
 The `paged()` attribute specifies the number of rows to display in a standalone collection, as returned from an action invocation.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#paged[`@DomainObjectLayout#paged()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#paged[`@DomainObjectLayout#paged()`], but for view models instead of entities.
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/plural.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/plural.adoc
similarity index 89%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/plural.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/plural.adoc
index 7c19d51..26c4cf8 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/plural.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/plural.adoc
@@ -10,6 +10,6 @@ When Apache Isis displays a standalone collection of several objects, it will la
 By default the plural name will be derived from the end of the singular name, with support for some basic English language defaults (eg using "ies" for names ending with a "y").
 The `plural()` attribute allows the plural form of the class name to be specified explicitly.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#plural[`@DomainObjectLayout#plural()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#plural[`@DomainObjectLayout#plural()`], but for view models instead of entities.
 
 
diff --git a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
similarity index 87%
rename from core/_adoc-rg/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
rename to core/applib/_adoc/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
index 57131fb..bc9cbaa 100644
--- a/core/_adoc-rg/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
+++ b/core/applib/_adoc/modules/ant/pages/ViewModelLayout/titleUiEvent.adoc
@@ -7,6 +7,6 @@ include::_attributes.adoc[]
 
 Whenever a view model is to be rendered, the framework fires off a title UI event to obtain a title for the object.
 
-This attribute is the same as xref:rg:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], but for view models instead of entities.
+This attribute is the same as xref:applib:ant:DomainObjectLayout.adoc#titleUiEvent[`@DomainObjectLayout#titleUiEvent()`], but for view models instead of entities.
 
 A default event that is emitted if none specified, unless the `isis.reflector.facet.viewModelLayoutAnnotation.titleUiEvent.postForDefault` configuration property is set to "false".
diff --git a/core/_adoc-rg/modules/ant/pages/XmlJavaTypeAdapter.adoc b/core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/XmlJavaTypeAdapter.adoc
rename to core/applib/_adoc/modules/ant/pages/XmlJavaTypeAdapter.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/XmlRootElement.adoc b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
similarity index 90%
rename from core/_adoc-rg/modules/ant/pages/XmlRootElement.adoc
rename to core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
index cc7adc8..4eca59a 100644
--- a/core/_adoc-rg/modules/ant/pages/XmlRootElement.adoc
+++ b/core/applib/_adoc/modules/ant/pages/XmlRootElement.adoc
@@ -10,7 +10,7 @@ In the case of a JAXB-annotated object this memento is its XML representation.
 JAXB generally requires that the root element of the XML representation is annotated with `@XmlRootElement`.
 Apache Isis makes this a mandatory requirement.
 
-In comparison to using either the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface or the xref:rg:ant:ViewModel.adoc[`@ViewModel`] annotation, using `@XmlRootElement` has a couple of significant advantages:
+In comparison to using either the xref:rg:cms:classes/super.adoc#ViewModel[`ViewModel`] interface or the xref:applib:ant:ViewModel.adoc[`@ViewModel`] annotation, using `@XmlRootElement` has a couple of significant advantages:
 
 * the view model can be used as a "canonical" DTO, for example when accessing data using the xref:vro:ROOT:about.adoc[RestfulObjects viewer] in combination with the
 xref:rg:svc:presentation-layer-spi/ContentMappingService.adoc[`ContentMappingService`].
@@ -22,7 +22,7 @@ This provides a stable and versioned API to access data in XML format using what
 In contrast, if the `@ViewModel` annotation is used then only the state of the properties (not collections) is captured.
 If using `ViewModel` interface then arbitrary state (including that of collections), however the programmer must write all the code by hand
 
-The main disadvantages of using JAXB-annotated view models is that any referenced persistent entity must be annotated with the xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], using the framework-provided `PersistentEntityAdapter`.
+The main disadvantages of using JAXB-annotated view models is that any referenced persistent entity must be annotated with the xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`], using the framework-provided `PersistentEntityAdapter`.
 This adapter converts any references to such domain entities using the `oidDto` complex type (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]): the object's type and its identifier.
 
 [TIP]
@@ -60,7 +60,7 @@ public class ToDoItemDto implements Dto {
 
 Although (like any other viewmodel) a JAXB-annotated can have behaviour (actions) and UI hints, you may wish to keep the DTO "clean", just focused on specifying the data contract.
 
-Behaviour can therefore be provided using xref:ug:fun:building-blocks.adoc#mixins[mixins] (annotated with xref:rg:ant:Mixin.adoc[`@Mixin`]), while xref:rg:cms:classes/uievent.adoc[UI events] can be used to obtain title, icons and so on.
+Behaviour can therefore be provided using xref:ug:fun:building-blocks.adoc#mixins[mixins] (annotated with xref:applib:ant:Mixin.adoc[`@Mixin`]), while xref:rg:cms:classes/uievent.adoc[UI events] can be used to obtain title, icons and so on.
 
 For a more complete discussion of writing JAXB view models/DTOs, see xref:ug:fun:building-blocks.adoc#view-models[this topic] in the user guide.
 
diff --git a/core/_adoc-rg/modules/ant/pages/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ROOT/pages/_partials/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ROOT/pages/_partials/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/_partials/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/aaa.adoc b/core/applib/_adoc/modules/ant/pages/aaa.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/aaa.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc b/core/applib/_adoc/modules/ant/pages/aaa/_attributes.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/aaa/_attributes.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/_attributes.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/jdo.adoc b/core/applib/_adoc/modules/ant/pages/aaa/jdo.adoc
similarity index 81%
rename from core/_adoc-rg/modules/ant/pages/aaa/jdo.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/jdo.adoc
index 905ddae..692524f 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/jdo.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/jdo.adoc
@@ -26,7 +26,7 @@ The table below lists the JDO annotations currently recognized by Apache Isis.
 |Applies to
 
 
-|xref:rg:ant:Column.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:Column.adoc[`@javax.jdo.annotations.` +
 `Column`]
 |Used to determine whether a property is mandatory or optional.  For `String` and `BigDecimal` properties, used to determine length/precision/scale.
 
@@ -34,16 +34,16 @@ The table below lists the JDO annotations currently recognized by Apache Isis.
 |Property
 
 
-|xref:rg:ant:Discriminator.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:Discriminator.adoc[`@javax.jdo.annotations.` +
 `Discriminator`]
 |Override for the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere. +
 
-Note that the discriminator overrides the object type that may otherwise be inferred from the xref:rg:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation.
+Note that the discriminator overrides the object type that may otherwise be inferred from the xref:applib:ant:PersistenceCapable.adoc[`@PersistenceCapable`] annotation.
 |Domain / persistence
 |Class
 
 
-|xref:rg:ant:NotPersistent.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:NotPersistent.adoc[`@javax.jdo.annotations.` +
 `NotPersistent`]
 |Used to determine whether to enforce or skip some xref:ug:btb:about.adoc#custom-validator[metamodel validation] for `@Column` versus equivalent Isis annotations.
 
@@ -52,17 +52,17 @@ Note that the discriminator overrides the object type that may otherwise be infe
 
 
 
-|xref:rg:ant:PersistenceCapable.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:PersistenceCapable.adoc[`@javax.jdo.annotations.` +
 `PersistenceCapable`]
 |Used to build Apache Isis' own internal identifier for objects. +
 
-If the `schema()` attribute is specified (and if xref:rg:ant:Discriminator.adoc[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere.
+If the `schema()` attribute is specified (and if xref:applib:ant:Discriminator.adoc[`@Discriminator`] __hasn't__ been specified), is also used to derive the object type, as used in `Bookmark`s, URLs for xref:vro:ROOT:about.adoc[RestfulObjects viewer] and elsewhere.
 
 |Domain / persistence
 |Class
 
 
-|xref:rg:ant:PrimaryKey.adoc[`@javax.jdo.annotations.` +
+|xref:applib:ant:PrimaryKey.adoc[`@javax.jdo.annotations.` +
 `PrimaryKey`]
 |Used to ensure Apache Isis does not overwrite application-defined primary keys, and to ensure is read-only in the UI.
 
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/jee.adoc b/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
similarity index 75%
rename from core/_adoc-rg/modules/ant/pages/aaa/jee.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
index 1fb7dea..3bce624 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/jee.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/jee.adoc
@@ -18,61 +18,61 @@ The table below lists the JEE annotations currently recognized.  Expect to see m
 |Layer
 |xref:vw:ROOT:layout/file-based.adoc[File-based layout]?
 
-|xref:rg:ant:Digits.adoc[`@javax.validation.` +
+|xref:applib:ant:Digits.adoc[`@javax.validation.` +
 `constraints.` +
 `Digits`]
 |Precision/scale for BigDecimal values.
 |Domain
 |
 
-|xref:rg:ant:Pattern.adoc[`@javax.validation.` +
+|xref:applib:ant:Pattern.adoc[`@javax.validation.` +
 `constraints.` +
 `Pattern`]
 |Regular expressions for strings
 |Domain
 |
 
-|xref:rg:ant:Inject.adoc[`@javax.inject.` +
+|xref:applib:ant:Inject.adoc[`@javax.inject.` +
 `Inject`]
 |Inject domain service into a domain object (entity or view model) or another domain service.
 |Domain
 |
 
-|xref:rg:ant:Digits.adoc[`@javax.annotation.` +
+|xref:applib:ant:Digits.adoc[`@javax.annotation.` +
 `Nullable`]
 |Specify that a property/parameter is optional.
 |Domain
 |
 
-|xref:rg:ant:PostConstruct.adoc[`@javax.annotation.` +
+|xref:applib:ant:PostConstruct.adoc[`@javax.annotation.` +
 `PostConstruct`]
-|Callback for domain services (either singleton or xref:rg:ant:RequestScoped.adoc[request-scoped]) to initialize themselves once instantiated.
+|Callback for domain services (either singleton or xref:applib:ant:RequestScoped.adoc[request-scoped]) to initialize themselves once instantiated.
 
 |Domain
 |
 
-|xref:rg:ant:PreDestroy.adoc[`@javax.annotation.` +
+|xref:applib:ant:PreDestroy.adoc[`@javax.annotation.` +
 `PreDestroy`]
-|Callback for domain services (either singleton or xref:rg:ant:RequestScoped.adoc[request-scoped]) to clean up resources prior to destruction.
+|Callback for domain services (either singleton or xref:applib:ant:RequestScoped.adoc[request-scoped]) to clean up resources prior to destruction.
 
 |Domain
 |
 
-|xref:rg:ant:RequestScoped.adoc[`@javax.enterprise.` +
+|xref:applib:ant:RequestScoped.adoc[`@javax.enterprise.` +
 `context.` +
 `RequestScoped`]
 |Specify that a domain service has request-scope (rather than a singleton).
 |Domain
 |
 
-|xref:rg:ant:XmlRootElement.adoc[`javax.xml.bind` +
+|xref:applib:ant:XmlRootElement.adoc[`javax.xml.bind` +
 `.annotation` +
 `XmlRootElement`]
 |JAXB annotation indicating the XML root element when serialized to XML; also used by the framework for view models (whose memento is the XML), often also acting as a DTO.
 |Application
 |
 
-|xref:rg:ant:XmlJavaTypeAdapter.adoc[`javax.xml.bind` +
+|xref:applib:ant:XmlJavaTypeAdapter.adoc[`javax.xml.bind` +
 `.annotation` +
 `XmlJavaTypeAdapter`]
 |JAXB annotation defining how to serialize an entity.  Used in conjunction with the (framework provided) `PersistentEntityAdapter` class to serialize persistent entities into a canonical OID (equivalent to the `Bookmark` provided by the xref:rg:svc:integration-api/BookmarkService.adoc[`BookmarkService`]).
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/main.adoc b/core/applib/_adoc/modules/ant/pages/aaa/main.adoc
similarity index 79%
rename from core/_adoc-rg/modules/ant/pages/aaa/main.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/main.adoc
index 02cbe60..f9b93c4 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/main.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/main.adoc
@@ -26,72 +26,72 @@ The table below summarizes these most commonly used annotations in Apache Isis.
 |Layer
 |xref:vw:ROOT:layout/file-based.adoc[File-based layout]?
 
-|xref:rg:ant:Action.adoc[`@Action`]
+|xref:applib:ant:Action.adoc[`@Action`]
 |Domain semantics for actions
 |Domain
 |
 
-|xref:rg:ant:ActionLayout.adoc[`@ActionLayout`]
+|xref:applib:ant:ActionLayout.adoc[`@ActionLayout`]
 |User interface hints for actions
 |UI
 |Yes
 
-|xref:rg:ant:Collection.adoc[`@Collection`]
+|xref:applib:ant:Collection.adoc[`@Collection`]
 |Domain semantics for collections
 |Domain
 |
 
-|xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+|xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
 |User interface hints for collections
 |UI
 |Yes
 
-|xref:rg:ant:DomainObject.adoc[`@DomainObject`]
+|xref:applib:ant:DomainObject.adoc[`@DomainObject`]
 |Domain semantics for domain object (entities and optionally view models, see also `@ViewModel)`
 |Domain
 |
 
-|xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
+|xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`]
 |User interface hints for domain object (entities and optionally view models, see also `@ViewModelLayout)`
 |UI
 |Yes
 
-|xref:rg:ant:DomainService.adoc[`@DomainService`]
+|xref:applib:ant:DomainService.adoc[`@DomainService`]
 |Class is a domain service (rather than an entity or view model)
 |Domain
 |
 
-|xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
+|xref:applib:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
 |User interface hints for domain services
 |UI
 |
 
-|xref:rg:ant:Parameter.adoc[`@Parameter`]
+|xref:applib:ant:Parameter.adoc[`@Parameter`]
 |Domain semantics for action parameters
 |Domain
 |
 
-|xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`]
+|xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`]
 |Layout hints for an action parameter (currently: its label position either to top or the left).
 |UI
 |Yes
 
-|xref:rg:ant:Property.adoc[`@Property`]
+|xref:applib:ant:Property.adoc[`@Property`]
 |Domain semantics for properties
 |Domain
 |
 
-|xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]
+|xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]
 |Layout hints for a property
 |UI
 |Yes
 
-|xref:rg:ant:ViewModel.adoc[`@ViewModel`]
+|xref:applib:ant:ViewModel.adoc[`@ViewModel`]
 |Specify that a class is a view model (as opposed to an entity or domain service); equivalent to `@DomainObject(nature`=VIEW_MODEL).
 |Domain, Persistence
 |
 
-|xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
+|xref:applib:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
 |User interface hints for view models.
 For use with `@ViewModel`. If specifying view models using `@DomainObject(nature=VIEW_MODEL)` then use `@DomainObjectLayout`)
 |UI
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/other.adoc b/core/applib/_adoc/modules/ant/pages/aaa/other.adoc
similarity index 86%
rename from core/_adoc-rg/modules/ant/pages/aaa/other.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/other.adoc
index 2f497b4..bb7dee8 100644
--- a/core/_adoc-rg/modules/ant/pages/aaa/other.adoc
+++ b/core/applib/_adoc/modules/ant/pages/aaa/other.adoc
@@ -15,34 +15,34 @@ These annotations are also commonly used, but relate _not_ to objects or object
 |Layer
 |xref:vw:ROOT:layout/file-based.adoc[File-based layout]?
 
-|xref:rg:ant:Facets.adoc[`@Facets`]
+|xref:applib:ant:Facets.adoc[`@Facets`]
 |Install arbitrary facets within the Apache Isis metamodel.
 |(any)
 |
 
-|xref:rg:ant:HomePage.adoc[`@HomePage`]
+|xref:applib:ant:HomePage.adoc[`@HomePage`]
 |Query-only action (on domain service) to be invoked, result of which is rendered as the user's home page.
 |UI
 |
 
-|xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]
+|xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]
 |Ordering of properties, collections and actions, and also associating actions with either a property or a collection.
 |UI
 |Yes
 
 
-|xref:rg:ant:MinLength.adoc[`@MinLength`]
+|xref:applib:ant:MinLength.adoc[`@MinLength`]
 |Minimum number of characters required for an auto-complete search argument.
 |UI
 |
 
 
-|xref:rg:ant:Programmatic.adoc[`@Programmatic`]
+|xref:applib:ant:Programmatic.adoc[`@Programmatic`]
 |Ignore a public method, excluded from the Apache Isis metamodel.
 |Domain
 |
 
-|xref:rg:ant:Title.adoc[`@Title`]
+|xref:applib:ant:Title.adoc[`@Title`]
 |Indicates which of the object's properties should be used to build up a title for the object.
 |UI
 
diff --git a/core/_adoc-rg/modules/ant/pages/aaa/partial.adoc b/core/applib/_adoc/modules/ant/pages/aaa/partial.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/aaa/partial.adoc
rename to core/applib/_adoc/modules/ant/pages/aaa/partial.adoc
diff --git a/core/_adoc-rg/modules/ant/pages/about.adoc b/core/applib/_adoc/modules/ant/pages/about.adoc
similarity index 100%
rename from core/_adoc-rg/modules/ant/pages/about.adoc
rename to core/applib/_adoc/modules/ant/pages/about.adoc
diff --git a/core/applib/_adoc/sync_examples.sh b/core/applib/_adoc/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/core/applib/_adoc/sync_examples.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+SCRIPT=$(readlink -f "$0")
+SCRIPTPATH=$(dirname "$SCRIPT")
+if [ $# -ne 1 ]; then
+    FILELIST=$SCRIPTPATH/examples.csv
+else
+    FILELIST=$1
+fi
+FILELISTFQN=$(readlink -f $FILELIST)
+DIRNAME=$(dirname $FILELISTFQN)
+BASENAME=$(basename $FILELISTFQN)
+
+cd $DIRNAME >/dev/null 2>&1
+cat $BASENAME | tail +2 | grep -v ^# | while read LINE
+do
+    FILE=$(echo $LINE | awk -F, '{print $1}' | awk '{$1=$1;print}')
+    F2=$(echo $LINE | awk -F, '{print $2}' | awk '{$1=$1;print}')
+    F3=$(echo $LINE | awk -F, '{print $3}' | awk '{$1=$1;print}')
+    SOURCEFQN=$DIRNAME/$F2/$FILE
+    TARGETDIR=$DIRNAME/$F3
+    TARGETFQN=$DIRNAME/$F3/$FILE
+
+    echo "SOURCEFQN: $SOURCEFQN"
+
+    if [ -f "$SOURCEFQN" ]
+    then
+
+        if [ -f "$TARGETFQN" ]
+        then
+            rm $TARGETFQN
+        fi
+        mkdir -p $TARGETDIR
+        cp $SOURCEFQN $TARGETFQN
+    else
+        echo "- does not exist ($SOURCEFQN) " >&2
+        exit 1
+    fi
+done
+cd - >/dev/null 2>&1
\ No newline at end of file
diff --git a/core/security/api/_adoc/modules/ROOT/nav.adoc b/core/security/api/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/api/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/api/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/api/_adoc/modules/ROOT/partials/nav.adoc b/core/security/api/_adoc/modules/ROOT/partials/nav.adoc
index 0a1284e..8c6b70b 100644
--- a/core/security/api/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/security/api/_adoc/modules/ROOT/partials/nav.adoc
@@ -2,26 +2,5 @@
 
 ** xref:security:ROOT:api-for-applications.adoc[API for Applications]
 
-** Bypass Implementation
-*** xref:security-bypass:ROOT:configuring-isis-to-use-bypass.adoc[Configuring to use Bypass]
 
-** Shiro Implementation (extension)
-
-*** xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[Configuring to use Shiro]
-*** Realms
-**** xref:security-shiro:ROOT:ini-realm.adoc[INI Realm]
-**** xref:security-shiro:realm-jdbc:about.adoc[JDBC Realm]
-**** xref:security-shiro:realm-ldap:about.adoc[LDAP Realm]
-*** xref:security-shiro:ROOT:enhanced-wildcard-permission.adoc[Enhanced Wildcard Permissions]
-*** xref:security-shiro:ROOT:run-as.adoc[Run As]
-*** xref:security-shiro:ROOT:shiro-caching.adoc[Shiro Caching]
-
-** xref:ext-secman:ROOT:about.adoc[SecMan (extension)]
-*** xref:ext-secman:api:about.adoc[API]
-*** xref:ext-secman:model:about.adoc[Model]
-*** xref:ext-secman:realm-shiro:about.adoc[Realm (for Shiro)]
-*** xref:ext-secman:persistence-jdo:about.adoc[JDO Persistence]
-*** xref:ext-secman:encryption-jbcrypt:about.adoc[JBCrypt Encryption]
-
-** xref:security:ROOT:usage-by-isis-viewers.adoc[Usage by Isis Viewers]
 
diff --git a/core/security/api/_adoc/modules/ROOT/partials/nav2.adoc b/core/security/api/_adoc/modules/ROOT/partials/nav2.adoc
new file mode 100644
index 0000000..2a11f0d
--- /dev/null
+++ b/core/security/api/_adoc/modules/ROOT/partials/nav2.adoc
@@ -0,0 +1,3 @@
+
+** xref:security:ROOT:usage-by-isis-viewers.adoc[Usage by Isis Viewers]
+
diff --git a/core/security/bypass/_adoc/modules/ROOT/nav.adoc b/core/security/bypass/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/bypass/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/bypass/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/bypass/_adoc/modules/ROOT/partials/nav.adoc b/core/security/bypass/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..32245fa
--- /dev/null
+++ b/core/security/bypass/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,3 @@
+** Bypass Implementation
+*** xref:security-bypass:ROOT:configuring-isis-to-use-bypass.adoc[Configuring to use Bypass]
+
diff --git a/core/security/shiro/_adoc/modules/ROOT/nav.adoc b/core/security/shiro/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/shiro/_adoc/modules/ROOT/nav.adoc
+++ b/core/security/shiro/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/shiro/_adoc/modules/ROOT/partials/nav.adoc b/core/security/shiro/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..d9fc298
--- /dev/null
+++ b/core/security/shiro/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,10 @@
+** Shiro Implementation
+
+*** xref:security-shiro:ROOT:configuring-isis-to-use-shiro.adoc[Configuring to use Shiro]
+*** Realms
+**** xref:security-shiro:ROOT:ini-realm.adoc[INI Realm]
+**** xref:security-shiro:realm-jdbc:about.adoc[JDBC Realm]
+**** xref:security-shiro:realm-ldap:about.adoc[LDAP Realm]
+*** xref:security-shiro:ROOT:enhanced-wildcard-permission.adoc[Enhanced Wildcard Permissions]
+*** xref:security-shiro:ROOT:run-as.adoc[Run As]
+*** xref:security-shiro:ROOT:shiro-caching.adoc[Shiro Caching]
diff --git a/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc b/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc
+++ b/core/security/shiro/_adoc/modules/realm-jdbc/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc b/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc
index 47365c7..40f1ea6 100644
--- a/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc
+++ b/core/security/shiro/_adoc/modules/realm-ldap/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
index 39662db..299d63d 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
@@ -18,7 +18,7 @@ Uses the xref:rg:svc:metadata-api/SwaggerService.adoc[`SwaggerService`] to gener
 +
 Uses the xref:rg:svc:integration-api/JaxbService.adoc[`JaxbService`] to generate XSD schemas from any JAXB-annotated view models/DTOs. +
 +
-This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
+This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen] tool, because it uses the framework's support (via xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
 
 The `validate` goal is by default bound to the `test` phase, and the `swagger` goal is by default bound to the `package` phase; both are typically of your application's `dom` sub-module.
 The `xsd` goal meanwhile defaults to the `generate-resources` phase, and this is generally used in a completely separate sub-module.
diff --git a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
index 8572aaa..df11816 100644
--- a/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
@@ -9,7 +9,7 @@ generate XSD schemas from any JAXB-annotated xref:ug:fun:building-blocks.adoc#vi
 
 This is instead of and preferable to using the JAXB link:https://jaxb.java.net/2.2.4/docs/schemagen.html[schemagen]
 tool, because it uses the framework's support (via
-xref:rg:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain
+xref:applib:ant:XmlJavaTypeAdapter.adoc[`@XmlJavaTypeAdapter`]) to translate any references to domain
 objects into ``OidDto``s (as defined by the Apache Isis xref:rg:cms:schema.adoc#common[common schema]).
 
 The `xsd` goal defines the following properties:
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc
index b87c0b6..e89c41d 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/configuration-properties.adoc
@@ -121,7 +121,7 @@ See below for further discussion on this topic.
 (_`welcome.html`_)
 |Location of the HTML file (relative to `src/main/webapp`) whose contents should be displayed on the application's home page.
 
-Note though that if a xref:rg:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
+Note though that if a xref:applib:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
 
 If no welcome file exists, then the value of `welcome.text` is shown as a fallback.
 
@@ -130,7 +130,7 @@ If no welcome file exists, then the value of `welcome.text` is shown as a fallba
 |Text
 |To be displayed on the application's home page, used as a fallback if `welcome.file` is not specified.
 
-Note though that if a xref:rg:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
+Note though that if a xref:applib:ant:HomePage.adoc[@HomePage] action exists, then that will take precedence.
 
 
 |===
@@ -462,10 +462,10 @@ Some of the properties below use the prefix `isis.viewers.` (rather than the usu
 `defaultView`
 |`hidden`, `table` +
 (`hidden`)
-|Default for the default view for all (parented) collections if not explicitly specified using xref:rg:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]
+|Default for the default view for all (parented) collections if not explicitly specified using xref:applib:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`]
 
 By default the framework renders (parented) collections as "hidden", ie collapsed.
-These can be overridden on a case-by-case basis using the xref:rg:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`] or the corresponding `<collectionLayout defaultView="...">` element in the `Xxx.layout.xml` layout file.
+These can be overridden on a case-by-case basis using the xref:applib:ant:CollectionLayout.adoc#defaultView[`@CollectionLayout#defaultView()`] or the corresponding `<collectionLayout defaultView="...">` element in the `Xxx.layout.xml` layout file.
 
 If the majority of collections should be displayed as "table" form, then it is more convenient to specify the default view globally.
 
@@ -487,7 +487,7 @@ If the majority of collections should be displayed as "table" form, then it is m
 `labelPosition`
 |`TOP`, `LEFT` +
 (`LEFT`)
-|Default for label position for all properties if not explicitly specified using xref:rg:ant:PropertyLayout.adoc#labelPosition[`@PropertyLayout#labelPosition()`]
+|Default for label position for all properties if not explicitly specified using xref:applib:ant:PropertyLayout.adoc#labelPosition[`@PropertyLayout#labelPosition()`]
 
 
 If you want a consistent look-n-feel throughout the app, eg all property labels to the top, then it'd be rather frustrating to have to annotate every property.
@@ -525,7 +525,7 @@ At the time of writing, this means labels are to the left for all datatypes exce
 For actions, `inline_as_if_edit` will suppress the action's button, and instead let the action be invoked as if editing the property.
 The net effect is that being able to "edit" complex properties with multiple parts (eg a date) using a multi-argument editor (this editor, in fact, being the action's argument panel).
 
-The property can be overridden on a property-by-property basis using xref:rg:ant:PropertyLayout.adoc#promptStyle[`@Property#promptStyle()`]) or  xref:rg:ant:ActionLayout.adoc#promptStyle[`@Action#promptStyle()`]).
+The property can be overridden on a property-by-property basis using xref:applib:ant:PropertyLayout.adoc#promptStyle[`@Property#promptStyle()`]) or  xref:applib:ant:ActionLayout.adoc#promptStyle[`@Action#promptStyle()`]).
 
 Note that `inline_as_if_edit` does not make sense for a configuration property default, and will instead be interpreted as `inline`.
 
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
index 224457f..20978bd 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/features/bookmarked-pages.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The Wicket viewer supports the bookmarking of both domain objects and query-only (xref:rg:ant:Action.adoc#semantics[@Action(semantics=...)]) actions.
+The Wicket viewer supports the bookmarking of both domain objects and query-only (xref:applib:ant:Action.adoc#semantics[@Action(semantics=...)]) actions.
 
 Domain objects, if bookmarkable, can be nested.
 
@@ -33,7 +33,7 @@ Some - like `Property`, `Lease` and `Party` - are root nodes. However, `LeaseIte
 
 == Domain Code
 
-To indicate a class is bookmarkable, use the xref:rg:ant:DomainObjectLayout.adoc[@DomainObjectLayout] annotation:
+To indicate a class is bookmarkable, use the xref:applib:ant:DomainObjectLayout.adoc[@DomainObjectLayout] annotation:
 
 [source,java]
 ----
@@ -53,7 +53,7 @@ To indicate a class is bookmarkable but only as a child of some parent bookmark,
 public class LeaseItem { /* ... */ }
 ----
 
-To indicate that a safe (query only) action is bookmarkable, use the xref:rg:ant:ActionLayout.adoc[@ActionLayout] annotation:
+To indicate that a safe (query only) action is bookmarkable, use the xref:applib:ant:ActionLayout.adoc[@ActionLayout] annotation:
 
 [source,java]
 ----
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc
index 4488481..ceb62bd 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/annotation-based.adoc
@@ -13,23 +13,23 @@ This section explains how.
 
 == `@MemberOrder`
 
-The xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]  annotation is used to specify the relative order of domain class properties, collections and actions.
+The xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]  annotation is used to specify the relative order of domain class properties, collections and actions.
 
-The annotation defines two attributes, xref:rg:ant:MemberOrder.adoc#name[`name()`] and xref:rg:ant:MemberOrder.adoc#sequence[`sequence()`].
+The annotation defines two attributes, xref:applib:ant:MemberOrder.adoc#name[`name()`] and xref:applib:ant:MemberOrder.adoc#sequence[`sequence()`].
 Their usage depends on the member type:
 
 * for properties, the `name()` is used to group properties together into a member group (also called a property group or a fieldset.
 The `sequence()` then orders properties within these groups.
 If no `name()` is specified then the property is placed in a fallback "General" group, called "General".
 +
-The name of these member groups/fieldsets are then referenced by xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`].
+The name of these member groups/fieldsets are then referenced by xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`].
 
 * for collections, the `name()` attribute is (currently) unused.
 The `sequence()` orders collections relative to one another
 
 * for actions, the `name()` attribute associates an action with either a property or with a collection.
 
-** If the `name()` attribute matches a property name, then the action's button is rendered close to the property, according to xref:rg:ant:ActionLayout.adoc#position[`@ActionLayout#position()`] attribute.
+** If the `name()` attribute matches a property name, then the action's button is rendered close to the property, according to xref:applib:ant:ActionLayout.adoc#position[`@ActionLayout#position()`] attribute.
 
 ** On the other hand if the `name() attribute matches a collection name, then the action's button is rendered on the collection's header.
 
@@ -66,7 +66,7 @@ This defines three property (or member) groups, "General", "Detail" and "Misc";
 Properties in the same member group are rendered together, as a fieldset.
 
 In addition, actions can optionally be associated (rendered close to) either properties or actions.
-This is done by overloading the ``@MemberOrder``'s xref:rg:ant:MemberOrder.adoc#name[`name()`] attribute, holding the value of the property or collection.
+This is done by overloading the ``@MemberOrder``'s xref:applib:ant:MemberOrder.adoc#name[`name()`] attribute, holding the value of the property or collection.
 
 For example:
 
@@ -93,7 +93,7 @@ public class ToDoItem {
 will associate the `completed()` and `notYetCompleted()` actions with the `complete` property, and will associate the `add()` and `remove()` actions with the `dependencies` collection.
 
 
-The value of xref:rg:ant:MemberOrder.adoc#sequence[`sequence()`] is a string.
+The value of xref:applib:ant:MemberOrder.adoc#sequence[`sequence()`] is a string.
 The simplest convention (as shown in the example above) is to use numbers -- 1, 2, 3 -- though it is a better idea to leave gaps in the numbers -- 10, 20, 30 perhaps -- such that a new member may be added without having to edit existing numbers.
 
 Even better is to adopt the 'dewey-decimal' notation -- 1, 1.1, 1.2, 2, 3, 5.1.1, 5.2.2, 5.2, 5.3 -- which allows for an indefinite amount of future insertion.
@@ -104,7 +104,7 @@ It also allows subclasses to insert their class members as required.
 
 == `@MemberGroupLayout`
 
-The xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column.
+The xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation specifies the relative positioning of property groups/fieldsets as being either in a left column, a middle column or in a right column.
 The annotation also specifies the relative width of the columns.
 
 The property groups/fieldsets in this case are those that are inferred from the `@MemberOrder#name()` attribute.
@@ -115,7 +115,7 @@ It is also possible to combine `@MemberOrder` with a xref:vw:ROOT:layout/file-ba
 The layout file defines only the regions of a grid structure (fieldsets/columns etc), but does __not__ specify the properties/collections/actions within those grid regions.
 The `@MemberOrder` annotation in effect "binds" the properties or collections to those regions of the grid.
 
-When file-based layouts are used this way, the xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation is essentially ignored, but the metadata from the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] annotation (and the other layout annotations, xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]) are all still honoured.
+When file-based layouts are used this way, the xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`] annotation is essentially ignored, but the metadata from the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] annotation (and the other layout annotations, xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`] and xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]) are all still honoured.
 ====
 
 For example:
@@ -183,8 +183,8 @@ image::reference-layout/4-0-8-0.png[width="720px",link="{imagesdir}/reference-la
 
 Layout semantics can also be specified using the various `XxxLayout` annotations:
 
-* for domain services: xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
-* for domain objects: xref:rg:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and xref:rg:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
-* for actions: xref:rg:ant:ActionLayout.adoc[`@ActionLayout`] and xref:rg:ant:ParameterLayout.adoc[`@ParameterLayout`]
-* for properties: xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`]
-* for collections: xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+* for domain services: xref:applib:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`]
+* for domain objects: xref:applib:ant:DomainObjectLayout.adoc[`@DomainObjectLayout`] and xref:applib:ant:ViewModelLayout.adoc[`@ViewModelLayout`]
+* for actions: xref:applib:ant:ActionLayout.adoc[`@ActionLayout`] and xref:applib:ant:ParameterLayout.adoc[`@ParameterLayout`]
+* for properties: xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`]
+* for collections: xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
index 9525d4c..4e089ea 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/layout/file-based.adoc
@@ -380,9 +380,9 @@ The table below summarises the choices:
 |===
 
 | Style
-|xref:rg:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
-| xref:rg:ant:MemberOrder.adoc[`@MemberOrder`]
-| xref:rg:ant:ActionLayout.adoc[`@ActionLayout`], xref:rg:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:rg:ant:CollectionLayout.adoc[`@CollectionLayout`]
+|xref:applib:ant:MemberGroupLayout.adoc[`@MemberGroupLayout`]
+| xref:applib:ant:MemberOrder.adoc[`@MemberOrder`]
+| xref:applib:ant:ActionLayout.adoc[`@ActionLayout`], xref:applib:ant:PropertyLayout.adoc[`@PropertyLayout`], xref:applib:ant:CollectionLayout.adoc[`@CollectionLayout`]
 
 
 |`COMPLETE`
diff --git a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc
index 77966f8..ddd2661 100644
--- a/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc
+++ b/core/viewer-wicket/_adoc/modules/ROOT/pages/menubars-layout/annotation-based.adoc
@@ -4,7 +4,7 @@ include::_attributes.adoc[]
 
 
 
-The annotations-based approach for arranging the placement of menu items is achieved through the xref:rg:ant:MemberOrder.adoc[`@MemberOrder`] and xref:rg:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`] annotations.
+The annotations-based approach for arranging the placement of menu items is achieved through the xref:applib:ant:MemberOrder.adoc[`@MemberOrder`] and xref:applib:ant:DomainServiceLayout.adoc[`@DomainServiceLayout`] annotations.
 
 == @DomainServiceLayout
 
diff --git a/extensions/secman/_adoc/modules/ROOT/nav.adoc b/extensions/secman/_adoc/modules/ROOT/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/ROOT/nav.adoc
+++ b/extensions/secman/_adoc/modules/ROOT/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/ROOT/partials/nav.adoc b/extensions/secman/_adoc/modules/ROOT/partials/nav.adoc
new file mode 100644
index 0000000..a676294
--- /dev/null
+++ b/extensions/secman/_adoc/modules/ROOT/partials/nav.adoc
@@ -0,0 +1,8 @@
+
+** xref:ext-secman:ROOT:about.adoc[SecMan (extension)]
+*** xref:ext-secman:api:about.adoc[API]
+*** xref:ext-secman:model:about.adoc[Model]
+*** xref:ext-secman:realm-shiro:about.adoc[Realm (for Shiro)]
+*** xref:ext-secman:persistence-jdo:about.adoc[JDO Persistence]
+*** xref:ext-secman:encryption-jbcrypt:about.adoc[JBCrypt Encryption]
+
diff --git a/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc b/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc
+++ b/extensions/secman/_adoc/modules/encryption-jbcrypt/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/model/nav.adoc b/extensions/secman/_adoc/modules/model/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/model/nav.adoc
+++ b/extensions/secman/_adoc/modules/model/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc b/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc
+++ b/extensions/secman/_adoc/modules/persistence-jdo/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/extensions/secman/_adoc/modules/realm-shiro/nav.adoc b/extensions/secman/_adoc/modules/realm-shiro/nav.adoc
index 47365c7..40f1ea6 100644
--- a/extensions/secman/_adoc/modules/realm-shiro/nav.adoc
+++ b/extensions/secman/_adoc/modules/realm-shiro/nav.adoc
@@ -1 +1,5 @@
-include::security:ROOT:partial$nav.adoc[]
\ No newline at end of file
+include::security:ROOT:partial$nav.adoc[]
+include::security-bypass:ROOT:partial$nav.adoc[]
+include::security-shiro:ROOT:partial$nav.adoc[]
+include::ext-secman:ROOT:partial$nav.adoc[]
+include::security:ROOT:partial$nav2.adoc[]
diff --git a/site.yml b/site.yml
index a33386a..5753342 100644
--- a/site.yml
+++ b/site.yml
@@ -40,6 +40,10 @@ content:
       start_path: core/_adoc-rg
 
     - url: .
+      start_path: core/applib/_adoc
+      branches: HEAD
+
+    - url: .
       start_path: core/testsupport/_adoc
       branches: HEAD
     - url: .