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

[isis] 01/12: ISIS-2444: updating docs to use generated index

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

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

commit 77ae5f7f479b41e7d60d229558595a42a0b26361
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Feb 4 22:36:18 2021 +0000

    ISIS-2444: updating docs to use generated index
---
 .../modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc |  35 ++-
 .../modules/generated/pages/system-overview.adoc   |  46 +--
 .../domain-services.adoc                           |   4 +-
 .../inject-services.adoc                           |   2 +-
 .../pages/overview/types-of-domain-objects.adoc    |   4 -
 .../userguide/modules/fun/pages/view-models.adoc   |   1 -
 .../Action/associateWith.adoc                      |   0
 .../Action/commandPublishing.adoc                  |   0
 .../Action/domainEvent.adoc                        |   0
 .../Action/executionPublishing.adoc                |   0
 .../Action/hidden.adoc                             |   0
 .../Action/restrictTo.adoc                         |   0
 .../Action/semantics.adoc                          |   0
 .../Action/typeOf.adoc                             |   0
 .../ActionLayout/bookmarking.adoc                  |   0
 .../ActionLayout/cssClass.adoc                     |   0
 .../ActionLayout/cssClassFa.adoc                   |   0
 .../ActionLayout/describedAs.adoc                  |   0
 .../ActionLayout/hidden.adoc                       |   0
 .../ActionLayout/named.adoc                        |   0
 .../ActionLayout/position.adoc                     |   0
 .../ActionLayout/promptStyle.adoc                  |   0
 .../ActionLayout/redirect.adoc                     |   0
 .../Collection/domainEvent.adoc                    |   0
 .../Collection/hidden.adoc                         |   0
 .../Collection/typeOf.adoc                         |   0
 .../CollectionLayout/cssClass.adoc                 |   0
 .../CollectionLayout/defaultView.adoc              |   0
 .../CollectionLayout/describedAs.adoc              |   0
 .../CollectionLayout/hidden.adoc                   |   0
 .../CollectionLayout/named.adoc                    |   0
 .../CollectionLayout/paged.adoc                    |   0
 .../CollectionLayout/sortedBy.adoc                 |   0
 .../DomainObject/actionDomainEvent.adoc            |   0
 .../DomainObject/autoCompleteRepository.adoc       |   0
 .../DomainObject/bounding.adoc                     |   0
 .../DomainObject/collectionDomainEvent.adoc        |   0
 .../DomainObject/createdLifecycleEvent.adoc        |   0
 .../DomainObject/editing.adoc                      |   0
 .../DomainObject/entityChangePublishing.adoc       |   0
 .../DomainObject/loadedLifecycleEvent.adoc         |   0
 .../DomainObject/mixinMethod.adoc                  |   0
 .../DomainObject/nature.adoc                       |   2 +-
 .../DomainObject/objectType.adoc                   |   0
 .../DomainObject/persistedLifecycleEvent.adoc      |   0
 .../DomainObject/persistingLifecycleEvent.adoc     |   0
 .../DomainObject/propertyDomainEvent.adoc          |   0
 .../DomainObject/removingLifecycleEvent.adoc       |   0
 .../DomainObject/updatedLifecycleEvent.adoc        |   0
 .../DomainObject/updatingLifecycleEvent.adoc       |   0
 .../DomainObjectLayout/bookmarking.adoc            |   0
 .../DomainObjectLayout/cssClass.adoc               |   0
 .../DomainObjectLayout/cssClassFa.adoc             |   0
 .../DomainObjectLayout/cssClassUiEvent.adoc        |   0
 .../DomainObjectLayout/describedAs.adoc            |   0
 .../DomainObjectLayout/iconUiEvent.adoc            |   0
 .../DomainObjectLayout/layoutUiEvent.adoc          |   0
 .../DomainObjectLayout/named.adoc                  |   0
 .../DomainObjectLayout/paged.adoc                  |   0
 .../DomainObjectLayout/plural.adoc                 |   0
 .../DomainObjectLayout/titleUiEvent.adoc           |   0
 .../DomainService/nature.adoc                      |   0
 .../DomainService/objectType.adoc                  |   0
 .../DomainServiceLayout/menuBar.adoc               |   0
 .../DomainServiceLayout/named.adoc                 |   0
 .../MemberOrder/name.adoc                          |   0
 .../MemberOrder/sequence.adoc                      |   0
 .../Parameter/fileAccept.adoc                      |   0
 .../Parameter/maxLength.adoc                       |   0
 .../Parameter/mustSatisfy.adoc                     |   0
 .../Parameter/optionality.adoc                     |   0
 .../Parameter/regexPattern.adoc                    |   0
 .../ParameterLayout/cssClass.adoc                  |   0
 .../ParameterLayout/describedAs.adoc               |   0
 .../ParameterLayout/labelPosition.adoc             |   0
 .../ParameterLayout/multiLine.adoc                 |   0
 .../ParameterLayout/named.adoc                     |   0
 .../ParameterLayout/renderDay.adoc                 |   0
 .../ParameterLayout/typicalLength.adoc             |   0
 .../Property/commandPublishing.adoc                |   0
 .../Property/domainEvent.adoc                      |   0
 .../Property/editing.adoc                          |   0
 .../Property/executionPublishing.adoc              |   0
 .../Property/fileAccept.adoc                       |   0
 .../Property/hidden.adoc                           |   0
 .../Property/maxLength.adoc                        |   0
 .../Property/mustSatisfy.adoc                      |   0
 .../Property/optionality.adoc                      |   0
 .../Property/projecting.adoc                       |   0
 .../Property/regexPattern.adoc                     |   0
 .../Property/snapshot.adoc                         |   0
 .../PropertyLayout/cssClass.adoc                   |   0
 .../PropertyLayout/describedAs.adoc                |   0
 .../PropertyLayout/hidden.adoc                     |   0
 .../PropertyLayout/labelPosition.adoc              |   0
 .../PropertyLayout/multiLine.adoc                  |   0
 .../PropertyLayout/named.adoc                      |   0
 .../PropertyLayout/navigable.adoc                  |   0
 .../PropertyLayout/promptStyle.adoc                |   0
 .../PropertyLayout/renderDay.adoc                  |   0
 .../PropertyLayout/repainting.adoc                 |   0
 .../PropertyLayout/typicalLength.adoc              |   0
 .../main/adoc/modules/applib-ant/pages/Action.adoc | 116 ++++----
 .../modules/applib-ant/pages/ActionLayout.adoc     |  91 +++---
 .../adoc/modules/applib-ant/pages/Collection.adoc  |  42 ++-
 .../modules/applib-ant/pages/CollectionLayout.adoc |  97 ++++---
 .../modules/applib-ant/pages/DomainObject.adoc     | 316 ++++++++++++---------
 .../applib-ant/pages/DomainObjectLayout.adoc       | 176 ++++++------
 .../modules/applib-ant/pages/DomainService.adoc    |  36 ++-
 .../applib-ant/pages/DomainServiceLayout.adoc      |  54 ++--
 .../main/adoc/modules/applib-ant/pages/Facets.adoc |   9 +-
 .../adoc/modules/applib-ant/pages/HomePage.adoc    |   9 +-
 .../modules/applib-ant/pages/InteractionScope.adoc |  28 ++
 .../modules/applib-ant/pages/IsisSessionScope.adoc |  28 --
 .../adoc/modules/applib-ant/pages/MemberOrder.adoc |  32 +--
 .../adoc/modules/applib-ant/pages/MinLength.adoc   |   9 +-
 .../modules/applib-ant/pages/NotPersistent.adoc    |   2 +-
 .../adoc/modules/applib-ant/pages/Parameter.adoc   |  84 +++---
 .../modules/applib-ant/pages/ParameterLayout.adoc  | 112 ++++----
 .../adoc/modules/applib-ant/pages/Property.adoc    | 184 ++++++------
 .../modules/applib-ant/pages/PropertyLayout.adoc   | 156 +++++-----
 .../main/adoc/modules/applib-ant/pages/Title.adoc  |  12 +-
 .../main/adoc/modules/applib-ant/pages/about.adoc  |   1 +
 .../adoc/modules/applib-ant/pages/about/jdo.adoc   |   5 +-
 .../pages/about/jpa.adoc}                          |   7 +-
 .../adoc/modules/applib-ant/pages/view-models.adoc |  74 -----
 .../modules/applib-ant/partials/module-nav.adoc    |   2 +-
 .../modules/applib-classes/pages/ViewModel.adoc    |   8 +-
 .../AuditerService.adoc                            |   0
 .../applib-svc/pages/AcceptHeaderService.adoc      |  24 +-
 .../pages/ApplicationFeatureRepository.adoc        |  31 +-
 .../modules/applib-svc/pages/BookmarkService.adoc  |  58 +---
 .../applib-svc/pages/BookmarkUiService.adoc        |  20 --
 .../modules/applib-svc/pages/ClockService.adoc     |  16 --
 .../modules/applib-svc/pages/LocaleProvider.adoc   |   2 +-
 .../modules/applib-svc/pages/MetricsService.adoc   |   2 +-
 .../adoc/modules/applib-svc/pages/Scratchpad.adoc  |   2 +-
 .../org/apache/isis/applib/annotation/Action.java  |   6 +-
 .../apache/isis/applib/annotation/Parameter.java   |   4 +-
 .../isis/applib/annotation/ParameterLayout.java    |   5 +-
 .../apache/isis/applib/annotation/Property.java    |   6 +-
 .../isis/applib/annotation/PropertyLayout.java     |   2 +-
 .../org/apache/isis/applib/annotation/Title.java   |  10 +-
 .../services/acceptheader/AcceptHeaderService.java |   8 +
 .../services/bookmarkui/BookmarkUiService.java     |   7 +-
 145 files changed, 909 insertions(+), 1078 deletions(-)

diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
index 56d1c38..e8bb639 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
@@ -216,7 +216,7 @@ CommandServiceInternal -> CommandPublisher
 * Interaction related classes have been moved to module `core/interaction`.
 * Transaction related classes have been moved to module `core/transaction`.
 * JDO classes have been split up into several modules under `persistence/jdo/`.
-* Multiple `Exception` classes have been relocated at `org.apache.isis.applib.exceptions`  
+* Multiple `Exception` classes have been relocated at `org.apache.isis.applib.exceptions`
 
 [cols="3m,3m", options="header"]
 
@@ -225,7 +225,7 @@ CommandServiceInternal -> CommandPublisher
 | was
 | new
 
-| ApplicationException (removed) 
+| ApplicationException (removed)
 | removed, adds no new semantics compared to the already existing RecoverableException
 
 | AuthenticationSession
@@ -234,10 +234,10 @@ CommandServiceInternal -> CommandPublisher
 | AuthenticationSessionStrategy
 | AuthenticationStrategy
 
-| AuthenticationSessionStrategyBasicAuth (*1*)
+| AuthenticationSessionStrategyBasicAuth.footnote:[These might be in use with configuration files, check yours!]
 | AuthenticationStrategyBasicAuth
 
-| AuthenticationSessionStrategyDefault (*1*)
+| AuthenticationSessionStrategyDefault.footnote:[These might be in use with configuration files, check yours!]
 | AuthenticationStrategyDefault
 
 | AuthenticationSessionTracker#getInteraction : Interaction
@@ -246,12 +246,12 @@ CommandServiceInternal -> CommandPublisher
 | Clock (moved from applib module to fixture-applib module)
 | VirtualClock (introduced)
 
-| FatalException (removed) 
+| FatalException (removed)
 | removed, adds no new semantics compared to the already existing UnrecoverableException
 
 | HoldsUpdatedBy, HoldsUpdatedAt, Timestampable
 | moved to 'commons' and renamed:
- HasUpdatedBy, 
+ HasUpdatedBy,
  HasUpdatedAt,
  HasUpdatedByAndAt
 
@@ -262,7 +262,7 @@ CommandServiceInternal -> CommandPublisher
 | removed, use IsisModuleJdoDatanucleus instead (symmetry with JPA/IsisModuleJpaEclipselink)
 
 | IsisJdoSupport, IsisJdoSupport_v3_2
-| removed, use JdoSupportService instead (symmetry with JPA/JpaSupportService) 
+| removed, use JdoSupportService instead (symmetry with JPA/JpaSupportService)
 
 | InteractionClosure
 | AuthenticationLayer
@@ -317,7 +317,6 @@ Query.named(CommandJdo.class, "findByParent") +
 
 |===
 
-<1> These might be in use with configuration files, check yours!
 
 == Deprecations
 
@@ -332,7 +331,7 @@ validity of the used constructor rather than doing construction reflective at ru
 
 == Extensions
 
-Object type namespaces have been renamed. 
+Object type namespaces have been renamed.
 
 WARNING: check menubars.layout.xml for any occurrences
 
@@ -365,7 +364,7 @@ WARNING: check menubars.layout.xml for any occurrences
 
 === SecMan (Extension)
 
-Permission are now matched against logical packages, logical object types or logical object member names and use the former fully qualified names only as fallback. 
+Permission are now matched against logical packages, logical object types or logical object member names and use the former fully qualified names only as fallback.
 
 [cols="3m,3m,3a", options="header"]
 |===
@@ -381,26 +380,26 @@ Permission are now matched against logical packages, logical object types or log
 WARNING: check menubars.layout.xml for any occurrences
 
 | Default Regular User Role Name
-| isis-module-security-regular-user 
+| isis-module-security-regular-user
 | secman-regular-user
 
-| Default Fixture Role Name 
-| isis-module-security-fixtures 
+| Default Fixture Role Name
+| isis-module-security-fixtures
 | secman-fixtures
 
 | Default Admin Role Name
-| isis-module-security-admin 
+| isis-module-security-admin
 | secman-admin
 
 | Default Admin User Name
-| isis-module-security-admin 
+| isis-module-security-admin
 | secman-admin
 
-| Class 
-| SecurityModuleConfig 
+| Class
+| SecurityModuleConfig
 | SecmanConfiguration
 
-| Option 
+| Option
 | SecurityModuleConfig#adminAdditionalPackagePermission
 | SecmanConfiguration#adminAdditionalNamespacePermission
 
diff --git a/antora/components/system/modules/generated/pages/system-overview.adoc b/antora/components/system/modules/generated/pages/system-overview.adoc
index 5b18b1e..96fb4c3 100644
--- a/antora/components/system/modules/generated/pages/system-overview.adoc
+++ b/antora/components/system/modules/generated/pages/system-overview.adoc
@@ -1415,6 +1415,7 @@ _Components_
 * o.a.i.core.config.beans.IsisBeanFactoryPostProcessorForSpring
 * o.a.i.core.config.beans.IsisBeanTypeRegistryDefault
 * o.a.i.core.config.converters.PatternsConverter
+* o.a.i.core.config.datasources.DataSourceIntrospectionService
 * o.a.i.core.config.environment.IsisLocaleInitializer
 * o.a.i.core.config.environment.IsisSystemEnvironment
 * o.a.i.core.config.environment.IsisTimeZoneInitializer
@@ -1547,7 +1548,7 @@ Folder: \core\runtime
 
 _Components_
 
-* o.a.i.core.runtime.events.AppLifecycleEventService
+* o.a.i.core.runtime.events.MetamodelEventService
 * o.a.i.core.runtime.events.TransactionEventEmitter
 
 _Dependencies_
@@ -1576,12 +1577,11 @@ _Components_
 * o.a.i.core.runtimeservices.confmenu.ConfigurationViewServiceDefault
 * o.a.i.core.runtimeservices.email.EmailServiceDefault
 * o.a.i.core.runtimeservices.eventbus.EventBusServiceSpring
-* o.a.i.core.runtimeservices.exceprecog.ExceptionRecognizerServiceDefault
 * o.a.i.core.runtimeservices.executor.MemberExecutorServiceDefault
 * o.a.i.core.runtimeservices.factory.FactoryServiceDefault
 * o.a.i.core.runtimeservices.homepage.HomePageResolverServiceDefault
 * o.a.i.core.runtimeservices.i18n.po.TranslationServicePo
-* o.a.i.core.runtimeservices.ixn.InteractionDtoServiceInternalDefault
+* o.a.i.core.runtimeservices.interaction.InteractionDtoServiceInternalDefault
 * o.a.i.core.runtimeservices.jaxb.JaxbServiceDefault
 * o.a.i.core.runtimeservices.menubars.MenuBarsLoaderServiceDefault
 * o.a.i.core.runtimeservices.menubars.bootstrap3.MenuBarsServiceBS3
@@ -1591,17 +1591,23 @@ _Components_
 * o.a.i.core.runtimeservices.publish.EntityPropertyChangePublisherDefault
 * o.a.i.core.runtimeservices.publish.ExecutionPublisherDefault
 * o.a.i.core.runtimeservices.queryresultscache.QueryResultsCacheDefault
+* o.a.i.core.runtimeservices.recognizer.ExceptionRecognizerServiceDefault
+* o.a.i.core.runtimeservices.recognizer.dae.impl.ExceptionRecognizerForDataAlreadyExists
+* o.a.i.core.runtimeservices.recognizer.dae.impl.ExceptionRecognizerForObjectNotFound
+* o.a.i.core.runtimeservices.recognizer.dae.impl.ExceptionRecognizerForOtherDataAccessProblem
+* o.a.i.core.runtimeservices.recognizer.dae.impl.ExceptionRecognizerForRelatedDataExists
+* o.a.i.core.runtimeservices.recognizer.dae.impl.ExceptionRecognizerForUnableToSaveData
 * o.a.i.core.runtimeservices.repository.RepositoryServiceDefault
 * o.a.i.core.runtimeservices.routing.RoutingServiceDefault
 * o.a.i.core.runtimeservices.scratchpad.ScratchpadDefault
 * o.a.i.core.runtimeservices.session.InteractionFactoryDefault
 * o.a.i.core.runtimeservices.sudo.SudoServiceDefault
+* o.a.i.core.runtimeservices.transaction.TransactionServiceSpring
 * o.a.i.core.runtimeservices.urlencoding.UrlEncodingServiceWithCompression
 * o.a.i.core.runtimeservices.user.UserServiceDefault
 * o.a.i.core.runtimeservices.userprof.UserProfileServiceDefault
 * o.a.i.core.runtimeservices.userreg.EmailNotificationServiceDefault
 * o.a.i.core.runtimeservices.wrapper.WrapperFactoryDefault
-* o.a.i.core.runtimeservices.xactn.TransactionServiceSpring
 * o.a.i.core.runtimeservices.xml.XmlServiceDefault
 * o.a.i.core.runtimeservices.xmlsnapshot.XmlSnapshotServiceDefault
 
@@ -1858,12 +1864,10 @@ Folder: \persistence\jdo\datanucleus
 _Components_
 
 * o.a.i.persistence.jdo.datanucleus.config.DnEntityDiscoveryListener
-* o.a.i.persistence.jdo.datanucleus.config.DnSettings
 * o.a.i.persistence.jdo.datanucleus.entities.DnEntityStateProvider
-* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForJDODataStoreException
-* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForJDODataStoreExceptionIntegrityConstraintViolationForeignKeyNoActionException
-* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForJDOObjectNotFoundException
-* o.a.i.persistence.jdo.datanucleus.exceptions.recognizers.ExceptionRecognizerForSQLIntegrityConstraintViolationUniqueOrIndexException
+* o.a.i.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault
+* o.a.i.persistence.jdo.datanucleus.metamodel.JdoDataNucleusProgrammingModel
+* o.a.i.persistence.jdo.datanucleus.schema.JdoSchemaService
 
 _Dependencies_
 
@@ -1893,12 +1897,6 @@ Folder: \persistence\jdo\integration
 ----
 |JDO Integration (powered by DataNucleus)
 
-_Components_
-
-* o.a.i.persistence.jdo.integration.jdosupport.IsisJdoSupportDN5
-* o.a.i.persistence.jdo.integration.metamodel.JdoIntegrationProgrammingModel
-* o.a.i.persistence.jdo.integration.schema.JdoSchemaService
-
 _Dependencies_
 
 * org.apache.isis.commons:isis-commons:jar:<managed>
@@ -2117,6 +2115,10 @@ Folder: \persistence\jpa\metamodel
 ----
 |JPA Metamodel Facets / Programming Model
 
+_Components_
+
+* o.a.i.persistence.jpa.metamodel.JpaProgrammingModel
+
 _Dependencies_
 
 * org.apache.isis.core:isis-core-internaltestsupport:jar:<managed>
@@ -3508,12 +3510,12 @@ skinparam {
   maxMessageSize 100
 }
 hide stereotype
-skinparam rectangle<<22>> {
+skinparam rectangle<<11>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<11>> {
+skinparam rectangle<<22>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -3995,7 +3997,15 @@ Artifact: isis-extensions-secman-persistence-jpa
 Type: jar
 Folder: \extensions\security\secman\persistence-jpa
 ----
-|_Dependencies_
+|_Components_
+
+* o.a.i.extensions.secman.jpa.dom.permission.ApplicationPermissionRepository
+* o.a.i.extensions.secman.jpa.dom.role.ApplicationRoleRepository
+* o.a.i.extensions.secman.jpa.dom.tenancy.ApplicationTenancyRepository
+* o.a.i.extensions.secman.jpa.dom.user.ApplicationUserRepository
+* o.a.i.extensions.secman.jpa.seed.SeedSecurityModuleService
+
+_Dependencies_
 
 * org.apache.isis.core:isis-core-runtime:jar:<managed>
 * org.apache.isis.extensions:isis-extensions-secman-api:jar:<managed>
diff --git a/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc b/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
index f3452c2..22c817a 100644
--- a/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
+++ b/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/domain-services.adoc
@@ -23,7 +23,7 @@ This section looks at the programming model for writing your own domain services
 == Nature of Service
 
 Apache Isis uses Spring Boot to instantiate and manage the dependency injection of domain services.
-The vast majority of these are singleton (application) scoped; a smaller number are request scoped (using the xref:refguide:applib-ant:IsisSessionScope.adoc[`@IsisSessionScope`] annotation).
+The vast majority of these are singleton (application) scoped; a smaller number are request scoped (using the xref:refguide:applib-ant:InteractionScope.adoc[`@IsisSessionScope`] annotation).
 
 Accordingly, all domain services are annotated or meta-annotated using Spring's link:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/stereotype/Component.html[`@Component`] annotation.
 
@@ -198,7 +198,7 @@ Sometimes though a service's lifetime is applicable only to a single (http) requ
 The framework has a number of such services, including a xref:refguide:applib-svc:Scratchpad.adoc[`Scratchpad`] service (to share adhoc data between methods), and xref:refguide:applib-svc:QueryResultsCache.adoc[`QueryResultsCache`], which as its name suggests will cache query results.
 Such services _do_ hold state, but that state is scoped per (possibly concurrent) request and should be removed afterwards.
 
-The requirement for request-scoped services is supported using Apache Isis' own xref:refguide:applib-ant:IsisSessionScope.adoc[`@IsisSessionScope`] annotation (named because a short-lived `IsisSession` is created for each request).
+The requirement for request-scoped services is supported using Apache Isis' own xref:refguide:applib-ant:InteractionScope.adoc[`@IsisSessionScope`] annotation (named because a short-lived `IsisSession` is created for each request).
 This is used by the framework services and can also be used for user-defined services.
 
 For example:
diff --git a/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc b/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc
index e33ed38..be0cab6 100644
--- a/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc
+++ b/api/adoc/userguide/modules/fun/pages/domain-entities-and-services/inject-services.adoc
@@ -177,7 +177,7 @@ All other implementations available will also be called.
 
 Most domain services are application-scoped, in other words they are stateless global singletons that are shared by all concurrent requests.
 
-A small number of framework-provided services are annotated using xref:refguide:applib-ant:IsisSessionScope.adoc[`@IsisSessionScope`].
+A small number of framework-provided services are annotated using xref:refguide:applib-ant:InteractionScope.adoc[`@IsisSessionScope`].
 This means that they are stateful and scoped with each isis session, in other words HTTP request.
 One such service is xref:refguide:applib-svc:QueryResultsCache.adoc[`QueryResultsCache`], used for performance caching.
 
diff --git a/api/adoc/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc b/api/adoc/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
index 6b60dbb..5de8ce9 100644
--- a/api/adoc/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
+++ b/api/adoc/userguide/modules/fun/pages/overview/types-of-domain-objects.adoc
@@ -209,10 +209,6 @@ Almost all of these recommend exposing only DTOs (which is to say view models),
 To support this use case, a view model can be defined such that it can act as a DTO.
 This is done by annotating the class using JAXB annotations; this allows the consumer to obtain the DTO in XML format along with a corresponding XSD schema describing the structure of that XML.
 
-//[TIP]
-//====
-//Details of how to consume such DTOs, eg within an ESB such as link:http://camel.apache.org[Apache Camel(TM)], can be found xref:userguide:fun:view-models.adoc#dto-consumers[here].
-//====
 
 These DTOs are still usable as "regular" view models; they will render in the xref:vw:ROOT:about.adoc[Wicket viewer] just like any other.
 In fact (as the xref:userguide:fun:view-models.adoc#jaxb[programming model] section below makes clear), these JAXB-annotated view models are in many regards the most powerful of all the alternative ways of writing view models.
diff --git a/api/adoc/userguide/modules/fun/pages/view-models.adoc b/api/adoc/userguide/modules/fun/pages/view-models.adoc
index fef7075..4f643dc 100644
--- a/api/adoc/userguide/modules/fun/pages/view-models.adoc
+++ b/api/adoc/userguide/modules/fun/pages/view-models.adoc
@@ -138,7 +138,6 @@ public class CompareCustomers {
 }
 ----
 
-// This capability is particularly useful when the JAXB view model is being used as a xref:userguide:fun:view-models.adoc#dto[DTO].
 
 [[joda-datatypes]]
 === JODA Time Datatypes
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/associateWith.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/associateWith.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/associateWith.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/associateWith.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/commandPublishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/commandPublishing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/commandPublishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/commandPublishing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/domainEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/domainEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/domainEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/domainEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/executionPublishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/executionPublishing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/executionPublishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/executionPublishing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/hidden.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/hidden.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/hidden.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/hidden.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/restrictTo.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/restrictTo.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/restrictTo.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/restrictTo.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/semantics.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/semantics.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/semantics.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/semantics.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action/typeOf.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/typeOf.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Action/typeOf.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Action/typeOf.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/bookmarking.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/bookmarking.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/bookmarking.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/bookmarking.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/cssClass.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/cssClass.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/cssClass.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/cssClass.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/cssClassFa.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/cssClassFa.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/cssClassFa.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/cssClassFa.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/describedAs.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/describedAs.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/describedAs.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/describedAs.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/hidden.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/hidden.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/hidden.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/hidden.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/named.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/named.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/named.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/named.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/position.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/position.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/position.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/position.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/promptStyle.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/promptStyle.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/promptStyle.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/promptStyle.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/redirect.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/redirect.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout/redirect.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ActionLayout/redirect.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Collection/domainEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Collection/domainEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Collection/domainEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Collection/domainEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Collection/hidden.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Collection/hidden.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Collection/hidden.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Collection/hidden.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Collection/typeOf.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Collection/typeOf.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Collection/typeOf.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Collection/typeOf.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/cssClass.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/cssClass.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/cssClass.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/cssClass.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/defaultView.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/defaultView.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/defaultView.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/defaultView.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/describedAs.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/describedAs.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/describedAs.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/describedAs.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/hidden.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/hidden.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/hidden.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/hidden.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/named.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/named.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/named.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/named.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/paged.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/paged.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/paged.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/paged.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/sortedBy.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/sortedBy.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout/sortedBy.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/CollectionLayout/sortedBy.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/actionDomainEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/actionDomainEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/actionDomainEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/actionDomainEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/autoCompleteRepository.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/autoCompleteRepository.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/autoCompleteRepository.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/autoCompleteRepository.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/bounding.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/bounding.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/bounding.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/bounding.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/collectionDomainEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/collectionDomainEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/collectionDomainEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/collectionDomainEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/createdLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/createdLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/createdLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/createdLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/editing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/editing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/editing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/editing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/entityChangePublishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/entityChangePublishing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/entityChangePublishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/entityChangePublishing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/loadedLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/loadedLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/loadedLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/loadedLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/mixinMethod.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/mixinMethod.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/mixinMethod.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/mixinMethod.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/nature.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/nature.adoc
similarity index 97%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/nature.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/nature.adoc
index c6bbc65..39d8933 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/nature.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/nature.adoc
@@ -68,7 +68,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:refguide:applib-ant:view-models.adoc[`View Model`] for further discussion.
+On the other hand, view models defined in this way do have some limitations; see xref:refguide:applib-ant:DomainObject.adoc#view-models[View Models] for further discussion.
 
 These limitations do _not_ apply to xref:userguide:fun:view-models.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/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/objectType.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/objectType.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/objectType.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/objectType.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/persistedLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/persistedLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/persistedLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/persistedLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/persistingLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/persistingLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/persistingLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/persistingLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/propertyDomainEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/propertyDomainEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/propertyDomainEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/propertyDomainEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/removingLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/removingLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/removingLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/removingLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/updatedLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/updatedLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/updatedLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/updatedLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/updatingLifecycleEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/updatingLifecycleEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject/updatingLifecycleEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObject/updatingLifecycleEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/bookmarking.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/bookmarking.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/bookmarking.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/bookmarking.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/cssClass.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/cssClass.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/cssClass.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/cssClass.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/cssClassFa.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/cssClassFa.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/cssClassFa.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/cssClassFa.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/cssClassUiEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/cssClassUiEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/cssClassUiEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/cssClassUiEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/describedAs.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/describedAs.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/describedAs.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/describedAs.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/iconUiEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/iconUiEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/iconUiEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/iconUiEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/layoutUiEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/layoutUiEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/layoutUiEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/layoutUiEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/named.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/named.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/named.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/named.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/paged.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/paged.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/paged.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/paged.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/plural.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/plural.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/plural.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/plural.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/titleUiEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/titleUiEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout/titleUiEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainObjectLayout/titleUiEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainService/nature.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainService/nature.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainService/nature.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainService/nature.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainService/objectType.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainService/objectType.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainService/objectType.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainService/objectType.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout/menuBar.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainServiceLayout/menuBar.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout/menuBar.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainServiceLayout/menuBar.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout/named.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainServiceLayout/named.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout/named.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/DomainServiceLayout/named.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder/name.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/MemberOrder/name.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder/name.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/MemberOrder/name.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder/sequence.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/MemberOrder/sequence.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder/sequence.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/MemberOrder/sequence.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/fileAccept.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/fileAccept.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/fileAccept.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/fileAccept.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/maxLength.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/maxLength.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/maxLength.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/maxLength.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/mustSatisfy.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/mustSatisfy.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/mustSatisfy.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/mustSatisfy.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/optionality.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/optionality.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/optionality.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/optionality.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/regexPattern.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/regexPattern.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Parameter/regexPattern.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Parameter/regexPattern.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/cssClass.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/cssClass.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/cssClass.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/cssClass.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/describedAs.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/describedAs.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/describedAs.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/describedAs.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/labelPosition.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/labelPosition.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/labelPosition.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/labelPosition.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/multiLine.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/multiLine.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/multiLine.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/multiLine.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/named.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/named.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/named.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/named.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/renderDay.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/renderDay.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/renderDay.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/renderDay.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/typicalLength.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/typicalLength.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout/typicalLength.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/ParameterLayout/typicalLength.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/commandPublishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/commandPublishing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/commandPublishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/commandPublishing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/domainEvent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/domainEvent.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/domainEvent.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/domainEvent.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/editing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/editing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/editing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/editing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/executionPublishing.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/executionPublishing.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/executionPublishing.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/executionPublishing.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/fileAccept.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/fileAccept.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/fileAccept.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/fileAccept.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/hidden.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/hidden.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/hidden.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/hidden.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/maxLength.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/maxLength.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/maxLength.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/maxLength.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/mustSatisfy.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/mustSatisfy.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/mustSatisfy.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/mustSatisfy.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/optionality.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/optionality.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/optionality.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/optionality.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/projecting.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/projecting.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/projecting.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/projecting.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/regexPattern.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/regexPattern.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/regexPattern.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/regexPattern.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property/snapshot.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/snapshot.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/Property/snapshot.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/Property/snapshot.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/cssClass.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/cssClass.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/cssClass.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/cssClass.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/describedAs.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/describedAs.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/describedAs.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/describedAs.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/hidden.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/hidden.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/hidden.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/hidden.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/labelPosition.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/labelPosition.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/labelPosition.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/labelPosition.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/multiLine.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/multiLine.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/multiLine.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/multiLine.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/named.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/named.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/named.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/named.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/navigable.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/navigable.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/navigable.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/navigable.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/promptStyle.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/promptStyle.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/promptStyle.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/promptStyle.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/renderDay.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/renderDay.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/renderDay.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/renderDay.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/repainting.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/repainting.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/repainting.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/repainting.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/typicalLength.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/typicalLength.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout/typicalLength.adoc
rename to api/applib/src/main/adoc/modules/applib-ant/pages-no-longer-referenced-since-projdoc-tooling/PropertyLayout/typicalLength.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc
index a2923bc..bbd69f1 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Action.adoc
@@ -1,57 +1,55 @@
-[#Action]
-= `@Action`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The `@Action` annotation groups together all domain-specific metadata for an invokable action on a domain object or domain service.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/Action.java[tags="refguide"]
-----
-
-<.> xref:refguide:applib-ant:Action.adoc#associateWith[`associateWith()`]
-+
-associates an action with another property or collection of the action.
-
-<.> `associateWithSequence()`
-+
-the ordering of multiple actions associated with another property/collection.
-
-<.> `commandDtoProcessor()`
-+
-If the xref:extensions:command-replay:about.adoc[Command Replay] extension is being used (for regression testing), provides a mechanism to process the `CommandDto` before being replicated from primary to secondary system
-
-<.> xref:refguide:applib-ant:Action.adoc#commandPublishing[`commandPublishing()`]
-+
-Whether the action invocation should be published to registered xref:refguide:applib-svc:CommandSubscriber.adoc[`CommandSubscriber`]s as a `Command` object, that captures the details of this invocation. Typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
-
-<.> xref:refguide:applib-ant:Action.adoc#domainEvent[`domainEvent()`]
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the action's business rule checking (hide, disable, validate) and its invocation (pre-execute and post-execute).
-
-<.> xref:refguide:applib-ant:Action.adoc#executionPublishing[`executionPublishing()`]
-+
-Whether the action invocation should be published to registered xref:refguide:applib-svc:ExecutionSubscriber.adoc[`ExecutionSubscriber`]s as an `Execution` object, that captures the details of this invocation.
-
-<.> xref:refguide:applib-ant:Action.adoc#hidden[`hidden()`]
-+
-Indicates where (in the UI) the action should be hidden from the user.
-
-<.> xref:refguide:applib-ant:Action.adoc#restrictTo[`restrictTo()`]
-+
-Whether the action is only available in prototyping mode, or whether it is available also in production mode.
-
-<.> xref:refguide:applib-ant:Action.adoc#semantics[`semantics()`]
-+
-The action's semantics (ie whether objects are modified as the result of invoking this action, and if so whether reinvoking the action would result in no further change; if not whether the results can be cached for the remainder of the request).
-+
-The `...ARE_YOU_SURE` variants cause a confirmation dialog to be displayed in the xref:vw:ROOT:about.adoc[Wicket viewer].
-
-<.> xref:refguide:applib-ant:Action.adoc#typeOf[`typeOf()`]
-+
-If the action returns a collection, hints as to the run-time type of the objects within that collection (as a fallback)
+[#Action]
+include::system:generated:page$index/applib/annotation/Action.adoc[]
+
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+//<.> xref:refguide:applib-ant:Action.adoc#associateWith[`associateWith()`]
+//+
+//associates an action with another property or collection of the action.
+//
+//<.> `associateWithSequence()`
+//<.> `associateWithSequence()`
+//+
+//the ordering of multiple actions associated with another property/collection.
+//
+//<.> `commandDtoProcessor()`
+//+
+//If the xref:extensions:command-replay:about.adoc[Command Replay] extension is being used (for regression testing), provides a mechanism to process the `CommandDto` before being replicated from primary to secondary system
+//
+//<.> xref:refguide:applib-ant:Action.adoc#commandPublishing[`commandPublishing()`]
+//+
+//Whether the action invocation should be published to registered xref:refguide:applib-svc:CommandSubscriber.adoc[`CommandSubscriber`]s as a `Command` object, that captures the details of this invocation. Typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
+//
+//<.> xref:refguide:applib-ant:Action.adoc#domainEvent[`domainEvent()`]
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the action's business rule checking (hide, disable, validate) and its invocation (pre-execute and post-execute).
+//
+//<.> xref:refguide:applib-ant:Action.adoc#executionPublishing[`executionPublishing()`]
+//+
+//Whether the action invocation should be published to registered xref:refguide:applib-svc:ExecutionSubscriber.adoc[`ExecutionSubscriber`]s as an `Execution` object, that captures the details of this invocation.
+//
+//<.> xref:refguide:applib-ant:Action.adoc#hidden[`hidden()`]
+//+
+//Indicates where (in the UI) the action should be hidden from the user.
+//
+//<.> xref:refguide:applib-ant:Action.adoc#restrictTo[`restrictTo()`]
+//+
+//Whether the action is only available in prototyping mode, or whether it is available also in production mode.
+//
+//<.> xref:refguide:applib-ant:Action.adoc#semantics[`semantics()`]
+//+
+//The action's semantics (ie whether objects are modified as the result of invoking this action, and if so whether reinvoking the action would result in no further change; if not whether the results can be cached for the remainder of the request).
+//+
+//The `...ARE_YOU_SURE` variants cause a confirmation dialog to be displayed in the xref:vw:ROOT:about.adoc[Wicket viewer].
+//
+//<.> xref:refguide:applib-ant:Action.adoc#typeOf[`typeOf()`]
+//+
+//If the action returns a collection, hints as to the run-time type of the objects within that collection (as a fallback)
 
 
 For example:
@@ -78,13 +76,13 @@ public class ToDoItem {
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
-
-include::Action/associateWith.adoc[leveloffset=+1]
-include::Action/commandPublishing.adoc[leveloffset=+1]
-include::Action/domainEvent.adoc[leveloffset=+1]
-include::Action/executionPublishing.adoc[leveloffset=+1]
-include::Action/hidden.adoc[leveloffset=+1]
-include::Action/restrictTo.adoc[leveloffset=+1]
-include::Action/semantics.adoc[leveloffset=+1]
-include::Action/typeOf.adoc[leveloffset=+1]
+//include::Action/associateWith.adoc[leveloffset=+1]
+//include::Action/commandPublishing.adoc[leveloffset=+1]
+//include::Action/domainEvent.adoc[leveloffset=+1]
+//include::Action/executionPublishing.adoc[leveloffset=+1]
+//include::Action/hidden.adoc[leveloffset=+1]
+//include::Action/restrictTo.adoc[leveloffset=+1]
+//include::Action/semantics.adoc[leveloffset=+1]
+//include::Action/typeOf.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout.adoc
index 39bb9fb..482d291 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/ActionLayout.adoc
@@ -1,57 +1,31 @@
-[#ActionLayout]
-= `@ActionLayout`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The `@ActionLayout` annotation applies to actions, collecting together all UI hints within a single annotation.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/ActionLayout.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:ActionLayout.adoc#bookmarking[`bookmarking()`]
-+
-Indicates if an action (with safe xref:refguide:applib-ant:Action.adoc#semantics[action semantics]) is automatically bookmarked.
-
-<.> xref:refguide:applib-ant:ActionLayout.adoc#cssClass[`cssClass()`]
-+
-An additional CSS class around the HTML that represents for the action, to allow targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]. +
-
-<.> xref:refguide:applib-ant:ActionLayout.adoc#cssClassFa[`cssClassFa()`]
-+
-Specify a link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name for the action's menu link or icon.
-
-<.> `cssClassFaPosition()`
-+
-Positioning of the icon on the button/menu item.
-
-<.> xref:refguide:applib-ant:ActionLayout.adoc#describedAs[`describedAs()`]
-+
-Provides a short description of the action, eg for rendering as a 'tool tip'.
-
-<.> xref:refguide:applib-ant:ActionLayout.adoc#hidden[`hidden()`]
-+
-Indicates where (in the UI) the action should be hidden from the user.
-
-<.> xref:refguide:applib-ant:ActionLayout.adoc#named[`named()`]
-+
-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:refguide:applib-ant:ActionLayout.adoc#position[`position()`]
-+
-For actions associated (using xref:refguide:applib-ant:MemberOrder.adoc[`@MemberOrder#named`]) with properties, the positioning of the action's button with respect to the property
-
-<.> `promptStyle()`
-+
-How to render the action prompt / property edit form : inline, dialog, sidebar etc.
-
-<.> `redirectPolicy()`
-+
-For the xref:vw:ROOT:about.adoc[Wicket viewer], whether to re-render the page after invoking this action, even if the result is the same.
-+
-Not re-rendering can provide a smoother UI experience.
+[#ActionLayout]
+include::system:generated:page$index/applib/annotation/ActionLayout.adoc[]
+
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+//<.> xref:refguide:applib-ant:ActionLayout.adoc#named[`named()`]
+//+
+//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:refguide:applib-ant:ActionLayout.adoc#position[`position()`]
+//+
+//For actions associated (using xref:refguide:applib-ant:MemberOrder.adoc[`@MemberOrder#named`]) with properties, the positioning of the action's button with respect to the property
+//
+//<.> `promptStyle()`
+//+
+//How to render the action prompt / property edit form : inline, dialog, sidebar etc.
+//
+//<.> `redirectPolicy()`
+//+
+//For the xref:vw:ROOT:about.adoc[Wicket viewer], whether to re-render the page after invoking this action, even if the result is the same.
+//+
+//Not re-rendering can provide a smoother UI experience.
 
 // TODO: v2 - missing subpages for `promptStyle` and `redirectPolicy`
 
@@ -91,13 +65,14 @@ As an alternative to using the `@ActionLayout` annotation, a xref:userguide:fun:
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
 
-include::ActionLayout/bookmarking.adoc[leveloffset=+1]
-include::ActionLayout/contributedAs.adoc[leveloffset=+1]
-include::ActionLayout/cssClass.adoc[leveloffset=+1]
-include::ActionLayout/cssClassFa.adoc[leveloffset=+1]
-include::ActionLayout/describedAs.adoc[leveloffset=+1]
-include::ActionLayout/hidden.adoc[leveloffset=+1]
-include::ActionLayout/named.adoc[leveloffset=+1]
-include::ActionLayout/position.adoc[leveloffset=+1]
+//include::ActionLayout/bookmarking.adoc[leveloffset=+1]
+//include::ActionLayout/contributedAs.adoc[leveloffset=+1]
+//include::ActionLayout/cssClass.adoc[leveloffset=+1]
+//include::ActionLayout/cssClassFa.adoc[leveloffset=+1]
+//include::ActionLayout/describedAs.adoc[leveloffset=+1]
+//include::ActionLayout/hidden.adoc[leveloffset=+1]
+//include::ActionLayout/named.adoc[leveloffset=+1]
+//include::ActionLayout/position.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Collection.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Collection.adoc
index 3bbd45f..cc1ad8d 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Collection.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Collection.adoc
@@ -1,26 +1,23 @@
-[#Collection]
-= `@Collection`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
+[#Collection]
+include::system:generated:page$index/applib/annotation/Collection.adoc[]
 
-The `@Collection` annotation applies to collections collecting together all domain semantics within a single annotation.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/Collection.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:Collection.adoc#domainEvent[`domainEvent()`]
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the collection's business rule checking (hide, disable, validate) and its modification (before and after).
 
-<.> xref:refguide:applib-ant:Collection.adoc#hidden[`hidden()`]
-+
-Indicates where (in the UI) the collection should be hidden from the user.
+// TODO - v2 to reconcile with .java (or maybe just delete)
 
-<.> xref:refguide:applib-ant:Collection.adoc#typeOf[`typeOf()`]
-+
-Hints as to the run-time type of the objects within that collection (as a fallback)
+//<.> xref:refguide:applib-ant:Collection.adoc#domainEvent[`domainEvent()`]
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the collection's business rule checking (hide, disable, validate) and its modification (before and after).
+//
+//<.> xref:refguide:applib-ant:Collection.adoc#hidden[`hidden()`]
+//+
+//Indicates where (in the UI) the collection should be hidden from the user.
+//
+//<.> xref:refguide:applib-ant:Collection.adoc#typeOf[`typeOf()`]
+//+
+//Hints as to the run-time type of the objects within that collection (as a fallback)
 
 
 For example:
@@ -51,8 +48,8 @@ public class ToDoItem {
 
 [TIP]
 ====
-The annotation is one of a handful (others including xref:refguide:applib-ant:CollectionLayout.adoc[`@CollectionLayout`], xref:refguide:applib-ant:Property.adoc[`@Property`] and xref:refguide: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.
+The annotation is one of a handful (others including xref:refguide:applib-ant:CollectionLayout.adoc[`@CollectionLayout`], xref:refguide:applib-ant:Property.adoc[`@Property`] and xref:refguide:applib-ant:PropertyLayout.adoc[`@PropertyLayout`]) that can also be applied to the field, rather than the getter method.
+This is so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
 
@@ -60,7 +57,8 @@ so that boilerplate-busting tools such as link:https://projectlombok.org/[Projec
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
-include::Collection/domainEvent.adoc[leveloffset=+1]
-include::Collection/hidden.adoc[leveloffset=+1]
-include::Collection/typeOf.adoc[leveloffset=+1]
+//include::Collection/domainEvent.adoc[leveloffset=+1]
+//include::Collection/hidden.adoc[leveloffset=+1]
+//include::Collection/typeOf.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout.adoc
index 0734b42..f1b6c68 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/CollectionLayout.adoc
@@ -1,48 +1,44 @@
-[#CollectionLayout]
-= `@CollectionLayout`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-
-The `@CollectionLayout` annotation applies to collections, collecting together all UI hints within a single annotation.
-It is also possible to apply the annotation to actions of domain services that are acting as contributed collections.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/CollectionLayout.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#cssClass[`cssClass()`]
-+
-The css class that a collection should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
-
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#defaultView[`defaultView()`]
-+
-Which view is selected by default, if multiple views are available.
-
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#describedAs[`describedAs()`]
-+
-Description of this collection, eg to be rendered in a tooltip.
-
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#hidden[`hidden()`]
-+
-Indicates where (in the UI) the collection should be hidden from the user.
-
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#named[`named()`]
-+
-To override the name inferred from the collection's name in code. +
-A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
-
-<.> `namedEscaped()`
-+
-Whether to HTML escape the name of this property.
-
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#paged[`paged()`]
-+
-The page size for instances of this class when rendered within a table.
-
-<.> xref:refguide:applib-ant:CollectionLayout.adoc#sortedBy[`sortedBy()`]
-+
-Indicates that the elements in the `java.util.SortedSet` collection should be sorted according to a specified `Comparator` rather than their natural sort order.
+[#CollectionLayout]
+include::system:generated:page$index/applib/annotation/CollectionLayout.adoc[]
+
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#cssClass[`cssClass()`]
+//+
+//The css class that a collection should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
+//
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#defaultView[`defaultView()`]
+//+
+//Which view is selected by default, if multiple views are available.
+//
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#describedAs[`describedAs()`]
+//+
+//Description of this collection, eg to be rendered in a tooltip.
+//
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#hidden[`hidden()`]
+//+
+//Indicates where (in the UI) the collection should be hidden from the user.
+//
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#named[`named()`]
+//+
+//To override the name inferred from the collection's name in code. +
+//A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
+//
+//<.> `namedEscaped()`
+//+
+//Whether to HTML escape the name of this property.
+//
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#paged[`paged()`]
+//+
+//The page size for instances of this class when rendered within a table.
+//
+//<.> xref:refguide:applib-ant:CollectionLayout.adoc#sortedBy[`sortedBy()`]
+//+
+//Indicates that the elements in the `java.util.SortedSet` collection should be sorted according to a specified `Comparator` rather than their natural sort order.
 
 
 For example:
@@ -73,10 +69,13 @@ The annotation is one of a handful (others including xref:refguide:applib-ant:Co
 This is specifically so that boilerplate-busting tools such as link:https://projectlombok.org/[Project Lombok] can be used.
 ====
 
-include::CollectionLayout/cssClass.adoc[leveloffset=+1]
-include::CollectionLayout/defaultView.adoc[leveloffset=+1]
-include::CollectionLayout/describedAs.adoc[leveloffset=+1]
-include::CollectionLayout/hidden.adoc[leveloffset=+1]
-include::CollectionLayout/named.adoc[leveloffset=+1]
-include::CollectionLayout/paged.adoc[leveloffset=+1]
-include::CollectionLayout/sortedBy.adoc[leveloffset=+1]
+
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
+
+//include::CollectionLayout/cssClass.adoc[leveloffset=+1]
+//include::CollectionLayout/defaultView.adoc[leveloffset=+1]
+//include::CollectionLayout/describedAs.adoc[leveloffset=+1]
+//include::CollectionLayout/hidden.adoc[leveloffset=+1]
+//include::CollectionLayout/named.adoc[leveloffset=+1]
+//include::CollectionLayout/paged.adoc[leveloffset=+1]
+//include::CollectionLayout/sortedBy.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject.adoc
index f205795..8412152 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObject.adoc
@@ -1,153 +1,215 @@
-[#DomainObject]
-= `@DomainObject`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-CAUTION: TODO: v2 - publishing/auditing got a complete overhaul
 
-The `@DomainObject` annotation applies to domain objects, collecting together all domain semantics within a single annotation.
+[#DomainObject]
+include::system:generated:page$index/applib/annotation/DomainObject.adoc[]
+
+
+// TODO: v2 - previously we split out the discussion of the attributes into separate groups.
+// the global index doesn't suport this, though.
+
+
+//== Main API
+//
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+
+//<.> xref:refguide:applib-ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
+//+
+//Nominate a method on a domain service to be used for looking up instances of the domain object
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#autoCompleteAction[`autoCompleteAction()`]
+//+
+//Override the method name to use on the auto-complete repository
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#bounding[`bounding()`]
+//+
+//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:refguide:applib-ant:DomainObject.adoc#editing[`editing()`]
+//+
+//Whether the object's properties and collections can be edited or not (ie whether the instance should be considered to be immutable)
+//
+//<.> `editingDisabledReason()`
+//+
+//The default reason why the object's properties and collections cannot be edited.
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#entityChangePublishing[`entityChangePublishing()`]
+//+
+//Indicates whether each of the changed properties of an object should be submitted to the registered
+//xref:refguide:applib-svc:AuditerService.adoc[`AuditerService`](s) and
+//whether entity changes, captured as `ChangingEntities` should be published to xref:refguide:applib-svc:EntityChangesSubscriber.adoc[`EntityChangesSubscriber`](s). (Does only apply to entity objects.)
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#mixinMethod[`mixinMethod()`]
+//+
+//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:refguide:applib-ant:DomainObject.adoc#nature[`nature()`]
+//+
+//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:refguide:applib-ant:DomainObject.adoc#objectType[`objectType()`]
+//+
+//Specify an alias for the domain class used to uniquely identify the object both within the Apache Isis runtime and externally
+
+
+
+//== Entity Lifecycle API
+//
+//These attributes define the events to be fired throughout an the persistence lifecycle of a domain entity:
+
+//[source,java]
+//----
+//include::refguide:applib-ant:example$annotation/DomainObject.java[tags="refguide-lifecycle-events"]
+//----
+//<.> xref:refguide:applib-ant:DomainObject.adoc#createdLifecycleEvent[`createdLifecycleEvent()`]
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever an instance is created
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#persistingLifecycleEvent[`persistingLifecycleEvent()`]
+//+
+//The event type to be posted to whenever an instance is about to be persisted
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#persistedLifecycleEvent[`persistedLifecycleEvent()`]
+//+
+//The event type to be posted whenever an instance has just been persisted
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#loadedLifecycleEvent[`loadedLifecycleEvent()`]
+//+
+//The event type to be posted whenever an instance has just been loaded from the datastore
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#removingLifecycleEvent[`removingLifecycleEvent()`]
+//+
+//The event type to be posted whenever an instance is about to be deleted
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#updatedLifecycleEvent[`updatedLifecycleEvent()`]
+//+
+//The event type to be posted whenever an instance has just been updated
+//
+//<.> xref:refguide:applib-ant:DomainObject.adoc#updatingLifecycleEvent[`updatingLifecycleEvent()`]
+//+
+//The event type to be posted whenever an instance is about to be updated
+
+
+
+//== Domain Events API
+//
+//These attributes define the events to be fired when a domain object's pathsToInclude (its actions, properties and collections) are interacted with.
+//
+//These attributes define the default event types; they can be overridden for each specific domain member.
+//
+//[source,java]
+//----
+//include::refguide:applib-ant:example$annotation/DomainObject.java[tags="refguide-domain-events"]
+//----
+//<.> `actionDomainEvent()`
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever an action of the domain object is interacted with (if not overridden using xref:refguide:applib-ant:Action.adoc#domainEvent[`@Action#domainEvent()]`).
+//
+//<.> `propertyDomainEvent()`
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever a property of the domain object is interacted with (if not overridden using xref:refguide:applib-ant:Property.adoc#domainEvent[`@Property#domainEvent()]`).
+//
+//<.> `collectionDomainEvent()`
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever a collection of the domain object is interacted with (if not overridden using xref:refguide:applib-ant:Collection.adoc#domainEvent[`@Collection#domainEvent()]`).
+//
+//
+//// TODO: v2: currently missing subpages for these attributes.
+//
+//For example:
+//
+//[source,java]
+//----
+//@DomainObject(
+//    auditing=Auditing.ENABLED,
+//    autoCompleteRepository=CustomerRepository.class
+//    editing=Editing.ENABLED,                            // <.>
+//    updatedLifecycleEvent=Customer.UpdatedEvent.class
+//
+//)
+//public class Customer {
+//    ...
+//}
+//----
+//<.> default value, so could be omitted
+
+
+[#view-models]
+== View Models
+
+The `@DomainObject(nature=VIEW_MODEL)` annotation, applied to a class, indicates that the class is a view model.
+
+View models are not persisted to the database, instead their state is encoded within their identity (ultimately represented in the URL).
 
-== Main API
+
+For example:
 
 [source,java]
 ----
-include::refguide:applib-ant:example$annotation/DomainObject.java[tags="refguide"]
+@DomainObject(nature=VIEW_MODEL)
+public class CustomerViewModel {
+    public CustomerViewModel() {}
+    public CustomerViewModel(String firstName, int lastName) {
+        this.firstName = firstName;
+        this.lastName = lastName;
+    }
+    ...
+}
 ----
-<.> xref:refguide:applib-ant:DomainObject.adoc#autoCompleteRepository[`autoCompleteRepository()`]
-+
-Nominate a method on a domain service to be used for looking up instances of the domain object
-
-<.> xref:refguide:applib-ant:DomainObject.adoc#autoCompleteAction[`autoCompleteAction()`]
-+
-Override the method name to use on the auto-complete repository
-
-<.> xref:refguide:applib-ant:DomainObject.adoc#bounding[`bounding()`]
-+
-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:refguide:applib-ant:DomainObject.adoc#editing[`editing()`]
-+
-Whether the object's properties and collections can be edited or not (ie whether the instance should be considered to be immutable)
 
-<.> `editingDisabledReason()`
-+
-The default reason why the object's properties and collections cannot be edited.
-
-<.> xref:refguide:applib-ant:DomainObject.adoc#entityChangePublishing[`entityChangePublishing()`]
-+
-Indicates whether each of the changed properties of an object should be submitted to the registered
-xref:refguide:applib-svc:AuditerService.adoc[`AuditerService`](s) and
-whether entity changes, captured as `ChangingEntities` should be published to xref:refguide:applib-svc:EntityChangesSubscriber.adoc[`EntityChangesSubscriber`](s). (Does only apply to entity objects.)
-
-<.> xref:refguide:applib-ant:DomainObject.adoc#mixinMethod[`mixinMethod()`]
-+
-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:refguide:applib-ant:DomainObject.adoc#nature[`nature()`]
-+
-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:refguide:applib-ant:DomainObject.adoc#objectType[`objectType()`]
-+
-Specify an alias for the domain class used to uniquely identify the object both within the Apache Isis runtime and externally
-
-
-
-== Entity Lifecycle API
-
-These attributes define the events to be fired throughout an the persistence lifecycle of a domain entity:
+Although there are several ways to instantiate a view model, we recommend that they are instantiated using an N-arg constructor that initializes all relevant state.
+The xref:refguide:applib-svc:ServiceRegistry.adoc[`ServiceRegistry`] can then be used to inject dependencies into the view model.
+For example:
 
 [source,java]
 ----
-include::refguide:applib-ant:example$annotation/DomainObject.java[tags="refguide-lifecycle-events"]
+Customer cust = ...
+CustomerViewModel vm = factoryService.viewModel(
+    new CustomerViewModel(cust.getFirstName(), cust.getLastName()));
 ----
-<.> xref:refguide:applib-ant:DomainObject.adoc#createdLifecycleEvent[`createdLifecycleEvent()`]
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever an instance is created
 
-<.> xref:refguide:applib-ant:DomainObject.adoc#persistingLifecycleEvent[`persistingLifecycleEvent()`]
-+
-The event type to be posted to whenever an instance is about to be persisted
+[TIP]
+====
+See this xref:userguide:btb:hints-and-tips/view-model-instantiation.adoc[tip] for further discussion about instantiating view models.
+====
 
-<.> xref:refguide:applib-ant:DomainObject.adoc#persistedLifecycleEvent[`persistedLifecycleEvent()`]
-+
-The event type to be posted whenever an instance has just been persisted
+View models must have a no-arg constructor; this is used internally by the framework for subsequent "recreation".
 
-<.> xref:refguide:applib-ant:DomainObject.adoc#loadedLifecycleEvent[`loadedLifecycleEvent()`]
-+
-The event type to be posted whenever an instance has just been loaded from the datastore
+The view model's memento will be derived from the value of the view model object's properties.
+Any properties annotated with xref:refguide:applib-ant:Programmatic.adoc[`@Programmatic`] will be excluded from the memento.
+Properties that are merely xref:refguide:applib-ant:Property.adoc#hidden[hidden] _are_ included in the memento.
 
-<.> xref:refguide:applib-ant:DomainObject.adoc#removingLifecycleEvent[`removingLifecycleEvent()`]
-+
-The event type to be posted whenever an instance is about to be deleted
+View models when defined using `@DomainObject(nature=VIEW_MODEL)` have some limitations:
 
-<.> xref:refguide:applib-ant:DomainObject.adoc#updatedLifecycleEvent[`updatedLifecycleEvent()`]
-+
-The event type to be posted whenever an instance has just been updated
+* view models cannot hold collections other view models (simple properties _are_ supported, though)
+* collections (of either view models or entities) are ignored.
+* not every data type is supported,
 
-<.> xref:refguide:applib-ant:DomainObject.adoc#updatingLifecycleEvent[`updatingLifecycleEvent()`]
-+
-The event type to be posted whenever an instance is about to be updated
+However, these limitations do _not_ apply to xref:userguide:fun:view-models.adoc#jaxb[JAXB] view models.
+If you are using view models heavily, you may wish to restrict yourself to just the JAXB flavour.
 
-== Domain Events API
 
-These attributes define the events to be fired when a domain object's pathsToInclude (its actions, properties and collections) are interacted with.
-
-These attributes define the default event types; they can be overridden for each specific domain member.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainObject.java[tags="refguide-domain-events"]
-----
-<.> `actionDomainEvent()`
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever an action of the domain object is interacted with (if not overridden using xref:refguide:applib-ant:Action.adoc#domainEvent[`@Action#domainEvent()]`).
-
-<.> `propertyDomainEvent()`
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever a property of the domain object is interacted with (if not overridden using xref:refguide:applib-ant:Property.adoc#domainEvent[`@Property#domainEvent()]`).
-
-<.> `collectionDomainEvent()`
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] whenever a collection of the domain object is interacted with (if not overridden using xref:refguide:applib-ant:Collection.adoc#domainEvent[`@Collection#domainEvent()]`).
-
-
-// TODO: v2: currently missing subpages for these attributes.
-
-For example:
-
-[source,java]
-----
-@DomainObject(
-    auditing=Auditing.ENABLED,
-    autoCompleteRepository=CustomerRepository.class
-    editing=Editing.ENABLED,                            // <.>
-    updatedLifecycleEvent=Customer.UpdatedEvent.class
-
-)
-public class Customer {
-    ...
-}
-----
-<.> default value, so could be omitted
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
-include::DomainObject/autoCompleteRepository.adoc[leveloffset=+1]
-include::DomainObject/bounding.adoc[leveloffset=+1]
-include::DomainObject/createdLifecycleEvent.adoc[leveloffset=+1]
-include::DomainObject/editing.adoc[leveloffset=+1]
-include::DomainObject/entityChangePublishing.adoc[leveloffset=+1]
-include::DomainObject/loadedLifecycleEvent.adoc[leveloffset=+1]
-include::DomainObject/mixinMethod.adoc[leveloffset=+1]
-include::DomainObject/nature.adoc[leveloffset=+1]
-include::DomainObject/persistedLifecycleEvent.adoc[leveloffset=+1]
-include::DomainObject/persistingLifecycleEvent.adoc[leveloffset=+1]
-include::DomainObject/objectType.adoc[leveloffset=+1]
-include::DomainObject/removingLifecycleEvent.adoc[leveloffset=+1]
-include::DomainObject/updatingLifecycleEvent.adoc[leveloffset=+1]
-include::DomainObject/updatedLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/autoCompleteRepository.adoc[leveloffset=+1]
+//include::DomainObject/bounding.adoc[leveloffset=+1]
+//include::DomainObject/createdLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/editing.adoc[leveloffset=+1]
+//include::DomainObject/entityChangePublishing.adoc[leveloffset=+1]
+//include::DomainObject/loadedLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/mixinMethod.adoc[leveloffset=+1]
+//include::DomainObject/nature.adoc[leveloffset=+1]
+//include::DomainObject/persistedLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/persistingLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/objectType.adoc[leveloffset=+1]
+//include::DomainObject/removingLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/updatingLifecycleEvent.adoc[leveloffset=+1]
+//include::DomainObject/updatedLifecycleEvent.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout.adoc
index 619e70d..1356ad3 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainObjectLayout.adoc
@@ -1,56 +1,60 @@
-[#DomainObjectLayout]
-= `@DomainObjectLayout`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-
-The `@DomainObjectLayout` annotation applies to domain classes, collecting together all UI hints within a single annotation.
-
-
-== Main API
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainObjectLayout.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#bookmarking[`bookmarking`]
-+
-Whether (and how) this domain object should be automatically bookmarked
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#cssClass[`cssClass`]
-+
-The css class that a domain class (type) should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa`]
-+
-Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name for the domain object's menu link or icon. +
-
-<.> `cssClassFaPosition()`
-+
-Currently unused.
-
-
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#describedAs[`describedAs`]
-+
-Description of this class, eg to be rendered in a tooltip.
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#named[`named`]
-+
-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:refguide:applib-ant:DomainObjectLayout.adoc#paged[`paged`]
-+
-The page size for instances of this class when rendered within a table (as returned from an action invocation)
-
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#plural[`plural`]
-+
-The plural name of the class
-
+[#DomainObjectLayout]
+include::system:generated:page$index/applib/annotation/DomainObjectLayout.adoc[]
+
+
+// TODO: v2 - previously we split out the discussion of the attributes into separate groups.
+// the global index doesn't suport this, though.
+
+
+
+
+//== Main API
+//
+//[source,java]
+//----
+//include::refguide:applib-ant:example$annotation/DomainObjectLayout.java[tags="refguide"]
+//----
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#bookmarking[`bookmarking`]
+//+
+//Whether (and how) this domain object should be automatically bookmarked
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#cssClass[`cssClass`]
+//+
+//The css class that a domain class (type) should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#cssClassFa[`cssClassFa`]
+//+
+//Any valid link:http://fortawesome.github.io/Font-Awesome/[Font awesome] icon name for the domain object's menu link or icon. +
+//
+//<.> `cssClassFaPosition()`
+//+
+//Currently unused.
+//
+//
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#describedAs[`describedAs`]
+//+
+//Description of this class, eg to be rendered in a tooltip.
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#named[`named`]
+//+
+//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:refguide:applib-ant:DomainObjectLayout.adoc#paged[`paged`]
+//+
+//The page size for instances of this class when rendered within a table (as returned from an action invocation)
+//
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#plural[`plural`]
+//+
+//The plural name of the class
+//
 
 
 For example:
@@ -75,38 +79,42 @@ public class ToDoItem {
 Note that there is (currently) no support for specifying UI hints for domain objects through the dynamic xref:userguide:fun:ui.adoc#object-layout[`.layout.xml`] file (only for properties, collections and actions are supported).
 ====
 
-== UI Events API
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainObjectLayout.java[tags="refguide-ui-events"]
-----
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent`]
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent`]
-+
-The event type to be posted to obtain the icon (name) for the domain object.
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent`]
-+
-The event type to be posted to obtain the layout (name) for the domain object.
-
-<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent`]
-+
-The event type to be posted to obtain the title for the domain object.
-
-
-
-include::DomainObjectLayout/bookmarking.adoc[leveloffset=+1]
-include::DomainObjectLayout/cssClass.adoc[leveloffset=+1]
-include::DomainObjectLayout/cssClassFa.adoc[leveloffset=+1]
-include::DomainObjectLayout/cssClassUiEvent.adoc[leveloffset=+1]
-include::DomainObjectLayout/describedAs.adoc[leveloffset=+1]
-include::DomainObjectLayout/iconUiEvent.adoc[leveloffset=+1]
-include::DomainObjectLayout/layoutUiEvent.adoc[leveloffset=+1]
-include::DomainObjectLayout/named.adoc[leveloffset=+1]
-include::DomainObjectLayout/paged.adoc[leveloffset=+1]
-include::DomainObjectLayout/plural.adoc[leveloffset=+1]
-include::DomainObjectLayout/titleUiEvent.adoc[leveloffset=+1]
+//
+//== UI Events API
+//
+//[source,java]
+//----
+//include::refguide:applib-ant:example$annotation/DomainObjectLayout.java[tags="refguide-ui-events"]
+//----
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#cssClassUiEvent[`cssClassUiEvent`]
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to obtain a CSS class for the domain object.
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#iconUiEvent[`iconUiEvent`]
+//+
+//The event type to be posted to obtain the icon (name) for the domain object.
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#layoutUiEvent[`layoutUiEvent`]
+//+
+//The event type to be posted to obtain the layout (name) for the domain object.
+//
+//<.> xref:refguide:applib-ant:DomainObjectLayout.adoc#titleUiEvent[`titleUiEvent`]
+//+
+//The event type to be posted to obtain the title for the domain object.
+//
+
+
+
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
+
+//include::DomainObjectLayout/bookmarking.adoc[leveloffset=+1]
+//include::DomainObjectLayout/cssClass.adoc[leveloffset=+1]
+//include::DomainObjectLayout/cssClassFa.adoc[leveloffset=+1]
+//include::DomainObjectLayout/cssClassUiEvent.adoc[leveloffset=+1]
+//include::DomainObjectLayout/describedAs.adoc[leveloffset=+1]
+//include::DomainObjectLayout/iconUiEvent.adoc[leveloffset=+1]
+//include::DomainObjectLayout/layoutUiEvent.adoc[leveloffset=+1]
+//include::DomainObjectLayout/named.adoc[leveloffset=+1]
+//include::DomainObjectLayout/paged.adoc[leveloffset=+1]
+//include::DomainObjectLayout/plural.adoc[leveloffset=+1]
+//include::DomainObjectLayout/titleUiEvent.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainService.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainService.adoc
index 8cce52f..b610e83 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainService.adoc
@@ -1,26 +1,21 @@
-[#DomainService]
-= `@DomainService`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
+[#DomainService]
+include::system:generated:page$index/applib/annotation/DomainService.adoc[]
 
 
-The `@DomainService` annotation indicates that the (concrete) class should be automatically instantiated as a domain service.
+// TODO - v2 to reconcile with .java (or maybe just delete)
 
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainService.java[tags="refguide"]
-----
-
-<.> xref:refguide:applib-ant:DomainService.adoc#nature[`nature()`]
-+
-Whether the actions of this domain service should be rendered in UI menus only, or the xref:vro:ROOT:about.adoc[RestfulObjects] REST API only, or both
-
-<.> xref:refguide:applib-ant:DomainService.adoc#objectType[`objectType()`]
-+
-Equivalent to xref:refguide:applib-ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`], specifies the objectType of the service.
-+
-The instanceId for services is always "1".
+//<.> xref:refguide:applib-ant:DomainService.adoc#nature[`nature()`]
+//+
+//Whether the actions of this domain service should be rendered in UI menus only, or the xref:vro:ROOT:about.adoc[RestfulObjects] REST API only, or both
+//
+//<.> xref:refguide:applib-ant:DomainService.adoc#objectType[`objectType()`]
+//+
+//Equivalent to xref:refguide:applib-ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`], specifies the objectType of the service.
+//+
+//The instanceId for services is always "1".
 
 
 For example:
@@ -37,6 +32,9 @@ public class LoanRepository {
 }
 ----
 
-include::DomainService/nature.adoc[leveloffset=+1]
-include::DomainService/objectType.adoc[leveloffset=+1]
+
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
+
+//include::DomainService/nature.adoc[leveloffset=+1]
+//include::DomainService/objectType.adoc[leveloffset=+1]
 
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout.adoc
index 55deaa1..bc1df31 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/DomainServiceLayout.adoc
@@ -1,35 +1,24 @@
-[#DomainServiceLayout]
-= `@DomainServiceLayout`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
+[#DomainServiceLayout]
+include::system:generated:page$index/applib/annotation/DomainServiceLayout.adoc[]
 
 
-The `@DomainServiceLayout` annotation applies to domain services, collecting together all view layout semantics within a single annotation.
+// TODO - v2 to reconcile with .java (or maybe just delete)
 
-[TIP]
-====
-You will also find some additional material in the xref:userguide:fun:ui.adoc#menu-bars-layout[user guide].
-====
-
-The annotation is:
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainServiceLayout.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:DomainServiceLayout.adoc#menuBar[`menuBar()`]
-+
-The menubar in which the menu that holds this service's actions should reside:
-+
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainServiceLayout.java[tags="refguide-menu-bar",indent=0]
-----
-
-<.> xref:refguide:applib-ant:DomainServiceLayout.adoc#named[`named()`]
-+
-Name of this class (overriding the name derived from its name in code)
+//<.> xref:refguide:applib-ant:DomainServiceLayout.adoc#menuBar[`menuBar()`]
+//+
+//The menubar in which the menu that holds this service's actions should reside:
+//+
+//[source,java]
+//----
+//include::refguide:applib-ant:example$annotation/DomainServiceLayout.java[tags="refguide-menu-bar",indent=0]
+//----
+//
+//<.> xref:refguide:applib-ant:DomainServiceLayout.adoc#named[`named()`]
+//+
+//Name of this class (overriding the name derived from its name in code)
 
 
 For example:
@@ -46,5 +35,14 @@ public class ToDoItems {
 }
 ----
 
-include::DomainServiceLayout/menuBar.adoc[leveloffset=+1]
-include::DomainServiceLayout/named.adoc[leveloffset=+1]
+
+[TIP]
+====
+You will also find some additional material in the xref:userguide:fun:ui.adoc#menu-bars-layout[user guide].
+====
+
+
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
+
+//include::DomainServiceLayout/menuBar.adoc[leveloffset=+1]
+//include::DomainServiceLayout/named.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Facets.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Facets.adoc
index ee6e770..2554758 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Facets.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Facets.adoc
@@ -1,14 +1,9 @@
-[#Facets]
-= `@Facets`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
+[#Facets]
+include::system:generated:page$index/applib/annotation/Facets.adoc[]
 
-The `@Facets` annotation allows `FacetFactory` implementations and so can be used to run install arbitrary ``Facet``s for a type.
-                                                                                                            Generally this is not needed, but can be useful for overriding a custom programming model where a `FacetFactory` is not typically included.
 
-[NOTE]
-====
 `FacetFactory` is an important internal API that is used by Apache Isis to build the metamodel.
-====
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/HomePage.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/HomePage.adoc
index b7fbc67..c926d62 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/HomePage.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/HomePage.adoc
@@ -1,15 +1,10 @@
-[#HomePage]
-= `@HomePage`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
+[#HomePage]
+include::system:generated:page$index/applib/annotation/HomePage.adoc[]
 
 
-The `@HomePage` annotation allows a _single_ (no-arg, query-only) view model to be nominated 
-as the default home page.
-This is a view model that acts as some sort of dashboard, 
-presenting key information and making the most commonly used actions easy to invoke.
-
 For example, a todo app could use `@HomePage` on a dashboard of todo items to complete:
 
 image::reference-annotations/HomePage/HomePage.png[width="800px"]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/InteractionScope.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/InteractionScope.adoc
new file mode 100644
index 0000000..de9545a
--- /dev/null
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/InteractionScope.adoc
@@ -0,0 +1,28 @@
+
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+[#InteractionScope]
+include::system:generated:page$index/applib/annotation/InteractionScope.adoc[]
+
+
+
+// TODO: v2 - this may no longer be true.
+
+//A number of the built-in domain services uses this annotation, including xref:refguide:applib-svc:Scratchpad.adoc[`Scratchpad`] and
+//xref:refguide:applib-svc:QueryResultsCache.adoc[`QueryResultsCache`].
+//
+//One small wrinkle: these session-scoped services must be injected using the `Provider` idiom, not directly.
+//For example:
+//
+//[source,java]
+//----
+//@DomainService
+//public class SomeRepository {
+//    // ...
+//    @Inject
+//    Provider<QueryResultsCache> queryResultsCacheProvider;
+//}
+//----
+//
+//If the session-scoped service is accidentally injected directly, then the framework will fail-fast with a suitable error message.
+//
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/IsisSessionScope.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/IsisSessionScope.adoc
deleted file mode 100644
index 35520ee..0000000
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/IsisSessionScope.adoc
+++ /dev/null
@@ -1,28 +0,0 @@
-[#IsisSessionScope]
-= `@IsisSessionScope`
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-
-
-The `@IsisSessionScope` annotation indicates that a xref:refguide:applib-ant:DomainService.adoc[domain service] should be scoped with the Apache Isis session rather than a singleton.
-An Apache Isis session is created for each HTTP request, and so this annotation is conceptually very similar to the link:https://jcp.org/en/jsr/detail?id=299[JSR-299] `@javax.enterprise.context.RequestScoped` annotation.
-
-A number of the built-in domain services uses this annotation, including xref:refguide:applib-svc:Scratchpad.adoc[`Scratchpad`] and
-xref:refguide:applib-svc:QueryResultsCache.adoc[`QueryResultsCache`].
-
-One small wrinkle: these session-scoped services must be injected using the `Provider` idiom, not directly.
-For example:
-
-[source,java]
-----
-@DomainService
-public class SomeRepository {
-    // ...
-    @Inject
-    Provider<QueryResultsCache> queryResultsCacheProvider;
-}
-----
-
-If the session-scoped service is accidentally injected directly, then the framework will fail-fast with a suitable error message.
-
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder.adoc
index 31585e0..e13021d 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/MemberOrder.adoc
@@ -1,25 +1,21 @@
-[#MemberOrder]
-= `@MemberOrder`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
+[#MemberOrder]
+include::system:generated:page$index/applib/annotation/MemberOrder.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 pathsToInclude, that is: properties, collections and actions.
 
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/MemberOrder.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:MemberOrder.adoc#name[`name()`]
-+
-Names a group of (property) pathsToInclude.
-All properties with this name will be grouped together.
+// TODO - v2 to reconcile with .java (or maybe just delete)
 
-<.> xref:refguide:applib-ant:MemberOrder.adoc#sequence[`sequence()`]
-+
-Defines an ordering for pathsToInclude, within their container.
+//<.> xref:refguide:applib-ant:MemberOrder.adoc#name[`name()`]
+//+
+//Names a group of (property) pathsToInclude.
+//All properties with this name will be grouped together.
+//
+//<.> xref:refguide:applib-ant:MemberOrder.adoc#sequence[`sequence()`]
+//+
+//Defines an ordering for pathsToInclude, within their container.
 
 As this is an important topic, there is xref:userguide:fun:ui.adoc#object-layout[chapter] in the user guide that discusses object layout in full.
 
@@ -31,6 +27,8 @@ The annotation is one of a handful (others including xref:refguide:applib-ant:Co
 ====
 
 
-include::MemberOrder/name.adoc[leveloffset=+1]
-include::MemberOrder/sequence.adoc[leveloffset=+1]
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
+
+//include::MemberOrder/name.adoc[leveloffset=+1]
+//include::MemberOrder/sequence.adoc[leveloffset=+1]
 
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/MinLength.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/MinLength.adoc
index 4d2f5a7..5bb2cdf 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/MinLength.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/MinLength.adoc
@@ -1,15 +1,10 @@
-[#MinLength]
-= `@MinLength`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The `@MinLength` annotation is used to specify the minimum number of characters in a search of an xref:refguide:applib-methods:prefixes.adoc#autoComplete[`autoComplete...()`] supporting method.
+[#MinLength]
+include::system:generated:page$index/applib/annotation/MinLength.adoc[]
 
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/MinLength.java[tags="refguide"]
-----
 
 For example:
 
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/NotPersistent.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/NotPersistent.adoc
index 9be35ae..6cb632f 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/NotPersistent.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/NotPersistent.adoc
@@ -10,7 +10,7 @@ Apache Isis also uses this annotation, though (currently) only in the very minim
 
 [NOTE]
 ====
-Isis parses the `@NotPersistent` annotation from the Java source code; it does not query the JDO metamodel.
+The framework parses the `@NotPersistent` annotation from the Java source code; it does not query the JDO metamodel.
 This means that it the `@NotPersistent` annotation must be used rather than the equivalent `<field>` link:http://www.datanucleus.org/products/accessplatform_4_0/jdo/fields_properties.html[XML metadata].
 
 Moreover, while JDO/DataNucleus will recognize annotations on either the field or the getter method, Apache Isis (currently) only inspects the getter method.
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter.adoc
index 4fc8b03..a28863a 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Parameter.adoc
@@ -1,45 +1,43 @@
-[#Parameter]
-= `@Parameter`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The `@Parameter` annotation applies to action parameters collecting together all domain semantics within a single annotation.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/Parameter.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:Parameter.adoc#fileAccept[`fileAccept()`]
-+
-Hints the file type (media type or file extension) to be uploaded for xref:applib-classes:value-types.adoc#Blob[`Blob`]
-or xref:applib-classes:value-types.adoc#Clob[`Clob`]. +
- +
-Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
-
-<.> xref:refguide:applib-ant:Parameter.adoc#maxLength[`maxLength()`]
-+
-Maximum number of characters for string parameters; ignored otherwise
-
-<.> xref:refguide:applib-ant:Parameter.adoc#mustSatisfy[`mustSatisfy()`]
-+
-Implementation of `o.a.i.applib.spec.Specification`, allowing arbitrary validation to be applied.
-
-<.> xref:refguide:applib-ant:Parameter.adoc#optionality[`optionality()`]
-+
-Specifies a parameter is optional rather than mandatory
-
-<.> xref:refguide:applib-ant:Parameter.adoc#regexPattern[regexPattern()]
-+
-Validates the contents of a string parameter against the regular expression pattern
 
-<.> `regexPatternFlags()`
-+
-Value of flags as normally passed to `java.util.regex.Pattern#compile(...)`, modifying the compilation of the regular expression
-
-<.> `regexPatternReplacement()`
-+
-Unused.
+[#Parameter]
+include::system:generated:page$index/applib/annotation/Parameter.adoc[]
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+//<.> xref:refguide:applib-ant:Parameter.adoc#fileAccept[`fileAccept()`]
+//+
+//Hints the file type (media type or file extension) to be uploaded for xref:applib-classes:value-types.adoc#Blob[`Blob`]
+//or xref:applib-classes:value-types.adoc#Clob[`Clob`]. +
+// +
+//Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
+//
+//<.> xref:refguide:applib-ant:Parameter.adoc#maxLength[`maxLength()`]
+//+
+//Maximum number of characters for string parameters; ignored otherwise
+//
+//<.> xref:refguide:applib-ant:Parameter.adoc#mustSatisfy[`mustSatisfy()`]
+//+
+//Implementation of `o.a.i.applib.spec.Specification`, allowing arbitrary validation to be applied.
+//
+//<.> xref:refguide:applib-ant:Parameter.adoc#optionality[`optionality()`]
+//+
+//Specifies a parameter is optional rather than mandatory
+//
+//<.> xref:refguide:applib-ant:Parameter.adoc#regexPattern[regexPattern()]
+//+
+//Validates the contents of a string parameter against the regular expression pattern
+//
+//<.> `regexPatternFlags()`
+//+
+//Value of flags as normally passed to `java.util.regex.Pattern#compile(...)`, modifying the compilation of the regular expression
+//
+//<.> `regexPatternReplacement()`
+//+
+//Unused.
 
 
 For example:
@@ -71,8 +69,10 @@ public class Customer {
 
 
 
-include::Parameter/fileAccept.adoc[leveloffset=+1]
-include::Parameter/maxLength.adoc[leveloffset=+1]
-include::Parameter/mustSatisfy.adoc[leveloffset=+1]
-include::Parameter/optionality.adoc[leveloffset=+1]
-include::Parameter/regexPattern.adoc[leveloffset=+1]
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
+
+//include::Parameter/fileAccept.adoc[leveloffset=+1]
+//include::Parameter/maxLength.adoc[leveloffset=+1]
+//include::Parameter/mustSatisfy.adoc[leveloffset=+1]
+//include::Parameter/optionality.adoc[leveloffset=+1]
+//include::Parameter/regexPattern.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout.adoc
index 0202e96..f62d130 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/ParameterLayout.adoc
@@ -1,57 +1,56 @@
-[#ParameterLayout]
-= `@ParameterLayout`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
 
-The `@ParameterLayout` annotation applies to action parameters, collecting together all UI hints within a single annotation.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/ParameterLayout.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:ParameterLayout.adoc#cssClass[`cssClass()`]
-+The css class that a parameter should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
-
-<.> xref:refguide:applib-ant:ParameterLayout.adoc#describedAs[`describedAs()`]
-+
-Description of this parameter, eg to be rendered in a tooltip.
-
-<.> xref:refguide:applib-ant:ParameterLayout.adoc#labelPosition[`labelPosition()`]
-In forms, the positioning of the label relative to the property value. +
-=
-Default is `LEFT`, unless xref:refguide:applib-ant:ParameterLayout.adoc#multiLine[`multiLine`] in which case `TOP`.
-The value `RIGHT` is only supported for boolean parameters.
-
-<.> xref:refguide:applib-ant:ParameterLayout.adoc#multiLine[`multiLine()`]
-+
-For string parameters, render as a text area over specified number of lines.
-+
-If set > 1, then then xref:refguide:applib-ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP`.
-
-<.> xref:refguide:applib-ant:ParameterLayout.adoc#named[`named()`]
-+
-The name of this parameter.
-+
-[TIP]
-====
-There's no need to name the action parameters if the code is compiled using the `-parameters` flag to the Java compiler (javac); the framework will then use the name of the parameter itself.
-
-The only reason then to name the parameter is if the desired name is a reserved Java keyword, such as `default` or `package`.
-====
-
-<.> `namedEscaped()`
-+
-Whether to HTML escape the name of this parameter.
-
-<.> xref:refguide:applib-ant:ParameterLayout.adoc#renderDay[`renderDay()`]
-+
-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:refguide:applib-ant:ParameterLayout.adoc#typicalLength[`typicalLength()`]
-+
-The typical entry length of a field, use to determine the optimum width for display
+[#ParameterLayout]
+include::system:generated:page$index/applib/annotation/ParameterLayout.adoc[]
+
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+
+//<.> xref:refguide:applib-ant:ParameterLayout.adoc#cssClass[`cssClass()`]
+//+The css class that a parameter should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
+//
+//<.> xref:refguide:applib-ant:ParameterLayout.adoc#describedAs[`describedAs()`]
+//+
+//Description of this parameter, eg to be rendered in a tooltip.
+//
+//<.> xref:refguide:applib-ant:ParameterLayout.adoc#labelPosition[`labelPosition()`]
+//In forms, the positioning of the label relative to the property value. +
+//=
+//Default is `LEFT`, unless xref:refguide:applib-ant:ParameterLayout.adoc#multiLine[`multiLine`] in which case `TOP`.
+//The value `RIGHT` is only supported for boolean parameters.
+//
+//<.> xref:refguide:applib-ant:ParameterLayout.adoc#multiLine[`multiLine()`]
+//+
+//For string parameters, render as a text area over specified number of lines.
+//+
+//If set > 1, then then xref:refguide:applib-ant:ParameterLayout.adoc#labelPosition[`labelPosition`] defaults to `TOP`.
+//
+//<.> xref:refguide:applib-ant:ParameterLayout.adoc#named[`named()`]
+//+
+//The name of this parameter.
+//+
+//[TIP]
+//====
+//There's no need to name the action parameters if the code is compiled using the `-parameters` flag to the Java compiler (javac); the framework will then use the name of the parameter itself.
+//
+//The only reason then to name the parameter is if the desired name is a reserved Java keyword, such as `default` or `package`.
+//====
+//
+//<.> `namedEscaped()`
+//+
+//Whether to HTML escape the name of this parameter.
+//
+//<.> xref:refguide:applib-ant:ParameterLayout.adoc#renderDay[`renderDay()`]
+//+
+//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:refguide:applib-ant:ParameterLayout.adoc#typicalLength[`typicalLength()`]
+//+
+//The typical entry length of a field, use to determine the optimum width for display
 
 
 
@@ -87,11 +86,12 @@ Note that there is (currently) no support for specifying UI hints for domain ser
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
-include::ParameterLayout/cssClass.adoc[leveloffset=+1]
-include::ParameterLayout/describedAs.adoc[leveloffset=+1]
-include::ParameterLayout/labelPosition.adoc[leveloffset=+1]
-include::ParameterLayout/multiLine.adoc[leveloffset=+1]
-include::ParameterLayout/named.adoc[leveloffset=+1]
-include::ParameterLayout/renderDay.adoc[leveloffset=+1]
-include::ParameterLayout/typicalLength.adoc[leveloffset=+1]
+//include::ParameterLayout/cssClass.adoc[leveloffset=+1]
+//include::ParameterLayout/describedAs.adoc[leveloffset=+1]
+//include::ParameterLayout/labelPosition.adoc[leveloffset=+1]
+//include::ParameterLayout/multiLine.adoc[leveloffset=+1]
+//include::ParameterLayout/named.adoc[leveloffset=+1]
+//include::ParameterLayout/renderDay.adoc[leveloffset=+1]
+//include::ParameterLayout/typicalLength.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc
index b86a33c..1071d2d 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Property.adoc
@@ -1,89 +1,83 @@
-[#Property]
-= `@Property`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
-CAUTION: TODO: v2 - command annotations are out-of-date
-
-The `@Property` annotation applies to properties collecting together all domain semantics within a single annotation.
 
-It is also possible to apply the annotation to actions of domain services that are acting as contributed properties.
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/Property.java[tags="refguide"]
-----
-<.> `commandDtoProcessor()`
-+
-If the xref:extensions:command-replay:about.adoc[Command Replay] extension is being used (for regression testing), provides a mechanism to process the `CommandDto` before being replicated from primary to secondary system
-
-<.> xref:refguide:applib-ant:Property.adoc#commandPublishing[`commandPublishing()`]
-+
-Whether the editing of a property should be published to registered xref:refguide:applib-svc:CommandSubscriber.adoc[`CommandSubscriber`]s as a `Command` object, that captures the details of this edit. Typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
-
-<.> xref:refguide:applib-ant:Property.adoc#domainEvent[`domainEvent()`]
-+
-The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the property's business rule checking (hide, disable, validate) and its modification (before and after).
-
-<.> xref:refguide:applib-ant:Property.adoc#editing[`editing()`]
-+
-Whether a property can be modified or cleared from within the UI
-
-<.> `editingDisabledReason()`
-+
-The reason that this property cannot be modified.
-
-<.> xref:refguide:applib-ant:Property.adoc#executionPublishing[`executionPublishing()`]
-+
-Whether the editing of a property should be published to registered xref:refguide:applib-svc:ExecutionSubscriber.adoc[`ExecutionSubscriber`]s as an `Execution` object, that captures the details of this edit.
-
-<.> xref:refguide:applib-ant:Property.adoc#fileAccept[`fileAccept()`]
-+
-Hints the file type (media type or file extension) to be uploaded to a xref:applib-classes:value-types.adoc#Blob[`Blob`]
- or xref:applib-classes:value-types.adoc#Clob[`Clob`]. +
-+
-Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
-
-<.> xref:refguide:applib-ant:Property.adoc#hidden[`hidden()`]
-+
-Indicates where (in the UI) the property should be hidden from the user.
-
-<.> xref:refguide:applib-ant:Property.adoc#maxLength[`maxLength()`]
-+
-Maximum number of characters for string parameters; ignored otherwise +
-+
-TIP: In many/most cases you should however use xref:refguide:applib-ant:Column.adoc[`@Column#length()`]
-
-<.> xref:refguide:applib-ant:Property.adoc#snapshot[`snapshot()`]
-+
-Whether to exclude from snapshots. +
-
-<.> xref:refguide:applib-ant:Property.adoc#mustSatisfy[`mustSatisfy()`]
-+
-Implementation of `o.a.i.applib.spec.Specification` that allows arbitrary validation to be applied.
-
-<.> xref:refguide:applib-ant:Property.adoc#optionality[`optionality()`]
-+
-Specifies a property is optional rather than mandatory
-+
-TIP: In many/most cases you should however use xref:refguide:applib-ant:Column.adoc[`@Column#allowsNull()`]
-
-<.> xref:refguide: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:refguide:applib-ant:Property.adoc#regexPattern[`regexPattern()`]
-+
-Validates the contents of a string parameter against the regular expression pattern
-
-<.> `regexPatternFlags()`
-+
-Value of flags as normally passed to `java.util.regex.` +
-`Pattern#compile(...)`, modifying the compilation of the regular expression
-
-<.> `regexPatternReplacement()`
-+
-Unused.
+[#Property]
+include::system:generated:page$index/applib/annotation/Property.adoc[]
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+//<.> `commandDtoProcessor()`
+//+
+//If the xref:extensions:command-replay:about.adoc[Command Replay] extension is being used (for regression testing), provides a mechanism to process the `CommandDto` before being replicated from primary to secondary system
+//
+//<.> xref:refguide:applib-ant:Property.adoc#commandPublishing[`commandPublishing()`]
+//+
+//Whether the editing of a property should be published to registered xref:refguide:applib-svc:CommandSubscriber.adoc[`CommandSubscriber`]s as a `Command` object, that captures the details of this edit. Typically so it can be logged using the xref:extensions:command-log:about.adoc[Command Log] extension (for auditing or for regression testing using xref:extensions:command-replay:about.adoc[Command Replay]).
+//
+//<.> xref:refguide:applib-ant:Property.adoc#domainEvent[`domainEvent()`]
+//+
+//The event type to be posted to the xref:refguide:applib-svc:EventBusService.adoc[`EventBusService`] to broadcast the property's business rule checking (hide, disable, validate) and its modification (before and after).
+//
+//<.> xref:refguide:applib-ant:Property.adoc#editing[`editing()`]
+//+
+//Whether a property can be modified or cleared from within the UI
+//
+//<.> `editingDisabledReason()`
+//+
+//The reason that this property cannot be modified.
+//
+//<.> xref:refguide:applib-ant:Property.adoc#executionPublishing[`executionPublishing()`]
+//+
+//Whether the editing of a property should be published to registered xref:refguide:applib-svc:ExecutionSubscriber.adoc[`ExecutionSubscriber`]s as an `Execution` object, that captures the details of this edit.
+//
+//<.> xref:refguide:applib-ant:Property.adoc#fileAccept[`fileAccept()`]
+//+
+//Hints the file type (media type or file extension) to be uploaded to a xref:applib-classes:value-types.adoc#Blob[`Blob`]
+// or xref:applib-classes:value-types.adoc#Clob[`Clob`]. +
+//+
+//Note that this does not prevent the user from uploading some other file type; rather it merely defaults the file type in the file open dialog.
+//
+//<.> xref:refguide:applib-ant:Property.adoc#hidden[`hidden()`]
+//+
+//Indicates where (in the UI) the property should be hidden from the user.
+//
+//<.> xref:refguide:applib-ant:Property.adoc#maxLength[`maxLength()`]
+//+
+//Maximum number of characters for string parameters; ignored otherwise +
+//+
+//TIP: In many/most cases you should however use xref:refguide:applib-ant:Column.adoc[`@Column#length()`]
+//
+//<.> xref:refguide:applib-ant:Property.adoc#snapshot[`snapshot()`]
+//+
+//Whether to exclude from snapshots. +
+//
+//<.> xref:refguide:applib-ant:Property.adoc#mustSatisfy[`mustSatisfy()`]
+//+
+//Implementation of `o.a.i.applib.spec.Specification` that allows arbitrary validation to be applied.
+//
+//<.> xref:refguide:applib-ant:Property.adoc#optionality[`optionality()`]
+//+
+//Specifies a property is optional rather than mandatory
+//+
+//TIP: In many/most cases you should however use xref:refguide:applib-ant:Column.adoc[`@Column#allowsNull()`]
+//
+//<.> xref:refguide: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:refguide:applib-ant:Property.adoc#regexPattern[`regexPattern()`]
+//+
+//Validates the contents of a string parameter against the regular expression pattern
+//
+//<.> `regexPatternFlags()`
+//+
+//Value of flags as normally passed to `java.util.regex.` +
+//`Pattern#compile(...)`, modifying the compilation of the regular expression
+//
+//<.> `regexPatternReplacement()`
+//+
+//Unused.
 
 
 For example:
@@ -124,17 +118,17 @@ so that boilerplate-busting tools such as link:https://projectlombok.org/[Projec
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
-
-include::Property/commandPublishing.adoc[leveloffset=+1]
-include::Property/domainEvent.adoc[leveloffset=+1]
-include::Property/editing.adoc[leveloffset=+1]
-include::Property/executionPublishing.adoc[leveloffset=+1]
-include::Property/fileAccept.adoc[leveloffset=+1]
-include::Property/hidden.adoc[leveloffset=+1]
-include::Property/maxLength.adoc[leveloffset=+1]
-include::Property/mustSatisfy.adoc[leveloffset=+1]
-include::Property/snapshot.adoc[leveloffset=+1]
-include::Property/optionality.adoc[leveloffset=+1]
-include::Property/projecting.adoc[leveloffset=+1]
-include::Property/regexPattern.adoc[leveloffset=+1]
+//include::Property/commandPublishing.adoc[leveloffset=+1]
+//include::Property/domainEvent.adoc[leveloffset=+1]
+//include::Property/editing.adoc[leveloffset=+1]
+//include::Property/executionPublishing.adoc[leveloffset=+1]
+//include::Property/fileAccept.adoc[leveloffset=+1]
+//include::Property/hidden.adoc[leveloffset=+1]
+//include::Property/maxLength.adoc[leveloffset=+1]
+//include::Property/mustSatisfy.adoc[leveloffset=+1]
+//include::Property/snapshot.adoc[leveloffset=+1]
+//include::Property/optionality.adoc[leveloffset=+1]
+//include::Property/projecting.adoc[leveloffset=+1]
+//include::Property/regexPattern.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout.adoc
index 57f516e..3fb6325 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/PropertyLayout.adoc
@@ -1,73 +1,72 @@
-[#PropertyLayout]
-= `@PropertyLayout`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The `@PropertyLayout` annotation applies to properties collecting together all UI hints within a single annotation.
 
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/PropertyLayout.java[tags="refguide"]
-----
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#cssClass[`cssClass()`]
-+
-The css class that a property should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#describedAs[`describedAs()`]
-+
-Description of this property, eg to be rendered in a tooltip.
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#hidden[`hidden()`]
-+
-Indicates where (in the UI) the property should be hidden from the user.
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#labelPosition[`labelPosition()`]
-+
-In forms, the positioning of the label relative to the property value. +
-+
-Defaults is `LEFT`, unless xref:refguide: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:refguide:config:configuring-core.adoc#isis-viewers-propertyLayout-labelPosition[configuration property]
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#multiLine[`multiLine()`]
-+
-For string properties, render as a text area over multiple lines.  +
-+
-If set > 1, then xref:refguide:applib-ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to TOP.
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#named[`named()`]
-+
-To override the name inferred from the collection's name in code. +
-+
-A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
-
-<.> `namedEscaped()`
-+
-Whether to HTML escape the name of this property.
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#navigable[`navigable()`]
-+
-Whether a property should be used as the navigable parent (parent breadcrumb) of this object
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#promptStyle[`promptStyle()`]
-+
-How a property prompt should be displayed within the UI
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#renderDay[`renderDay()`]
-+
-For date properties only, render the date as one day prior to the actually stored date.
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#repainting[`repainting()`]
-+
-Indicates that the value held by the property never changes over time (even if other properties of the object do change).
-+
-Used as a hint to the viewer not to redraw the property if possible after an AJAX update.
-
-<.> xref:refguide:applib-ant:PropertyLayout.adoc#typicalLength[`typicalLength()`]
-+
-The typical entry length of a field, use to determine the optimum width for display
+[#PropertyLayout]
+include::system:generated:page$index/applib/annotation/PropertyLayout.adoc[]
+
+
+// TODO - v2 to reconcile with .java (or maybe just delete)
+
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#cssClass[`cssClass()`]
+//+
+//The css class that a property should have, to allow more targetted styling in xref:refguide:config:application-specific/application-css.adoc[`application.css`]
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#describedAs[`describedAs()`]
+//+
+//Description of this property, eg to be rendered in a tooltip.
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#hidden[`hidden()`]
+//+
+//Indicates where (in the UI) the property should be hidden from the user.
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#labelPosition[`labelPosition()`]
+//+
+//In forms, the positioning of the label relative to the property value. +
+//+
+//Defaults is `LEFT`, unless xref:refguide: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:refguide:config:configuring-core.adoc#isis-viewers-propertyLayout-labelPosition[configuration property]
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#multiLine[`multiLine()`]
+//+
+//For string properties, render as a text area over multiple lines.  +
+//+
+//If set > 1, then xref:refguide:applib-ant:PropertyLayout.adoc#labelPosition[`labelPosition`] defaults to TOP.
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#named[`named()`]
+//+
+//To override the name inferred from the collection's name in code. +
+//+
+//A typical use case is if the desired name is a reserved Java keyword, such as `default` or `package`.
+//
+//<.> `namedEscaped()`
+//+
+//Whether to HTML escape the name of this property.
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#navigable[`navigable()`]
+//+
+//Whether a property should be used as the navigable parent (parent breadcrumb) of this object
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#promptStyle[`promptStyle()`]
+//+
+//How a property prompt should be displayed within the UI
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#renderDay[`renderDay()`]
+//+
+//For date properties only, render the date as one day prior to the actually stored date.
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#repainting[`repainting()`]
+//+
+//Indicates that the value held by the property never changes over time (even if other properties of the object do change).
+//+
+//Used as a hint to the viewer not to redraw the property if possible after an AJAX update.
+//
+//<.> xref:refguide:applib-ant:PropertyLayout.adoc#typicalLength[`typicalLength()`]
+//+
+//The typical entry length of a field, use to determine the optimum width for display
 
 
 
@@ -89,9 +88,6 @@ public class ToDoItem {
 }
 ----
 
-It is also possible to apply the annotation to actions of domain services that are acting as contributed properties.
-
-
 
 [TIP]
 ====
@@ -114,16 +110,16 @@ so that boilerplate-busting tools such as link:https://projectlombok.org/[Projec
 
 
 
+// TODO - to review for v2 (perhaps move into javadoc and make 'projdoc' more sophisticated).
 
-
-include::PropertyLayout/cssClass.adoc[leveloffset=+1]
-include::PropertyLayout/describedAs.adoc[leveloffset=+1]
-include::PropertyLayout/hidden.adoc[leveloffset=+1]
-include::PropertyLayout/labelPosition.adoc[leveloffset=+1]
-include::PropertyLayout/multiLine.adoc[leveloffset=+1]
-include::PropertyLayout/named.adoc[leveloffset=+1]
-include::PropertyLayout/navigable.adoc[leveloffset=+1]
-include::PropertyLayout/promptStyle.adoc[leveloffset=+1]
-include::PropertyLayout/renderDay.adoc[leveloffset=+1]
-include::PropertyLayout/typicalLength.adoc[leveloffset=+1]
-include::PropertyLayout/repainting.adoc[leveloffset=+1]
+//include::PropertyLayout/cssClass.adoc[leveloffset=+1]
+//include::PropertyLayout/describedAs.adoc[leveloffset=+1]
+//include::PropertyLayout/hidden.adoc[leveloffset=+1]
+//include::PropertyLayout/labelPosition.adoc[leveloffset=+1]
+//include::PropertyLayout/multiLine.adoc[leveloffset=+1]
+//include::PropertyLayout/named.adoc[leveloffset=+1]
+//include::PropertyLayout/navigable.adoc[leveloffset=+1]
+//include::PropertyLayout/promptStyle.adoc[leveloffset=+1]
+//include::PropertyLayout/renderDay.adoc[leveloffset=+1]
+//include::PropertyLayout/typicalLength.adoc[leveloffset=+1]
+//include::PropertyLayout/repainting.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/Title.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/Title.adoc
index fbdd8a1..5528cdb 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/Title.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/Title.adoc
@@ -1,16 +1,11 @@
-[#Title]
-= `@Title`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 
 
-The `@Title` annotation is used to indicate which property or properties make up the object title.
-If more than one property is used, the order can be specified (using the same Dewey-decimal notation as used by `@MemberOrder`) and the string to use between the components can also be specified.
 
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/Title.java[tags="refguide"]
-----
+[#Title]
+include::system:generated:page$index/applib/annotation/Title.adoc[]
+
 
 For example:
 
@@ -38,6 +33,7 @@ An additional convention for `@Title` properties is that they are hidden in tabl
 For viewers that support this annotation (for example, the Wicket viewer), this convention excludes any properties whose value is already present in the title column.
 This convention can be overridden using `@Property(where=Where.NOWHERE)`.
 
+
 == Lombok support
 
 If xref:setupguide:hints-and-tips:about.adoc#project-lombok.adoc[Project Lombok] is being used, then `@Title` can be specified on the backing field.
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/about.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/about.adoc
index 2638ee6..f9939c1 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/about.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/about.adoc
@@ -14,6 +14,7 @@ The annotations supported by Apache Isis break out into five categories.
 include::about/main.adoc[leveloffset=+1]
 include::about/other.adoc[leveloffset=+1]
 include::about/jdo.adoc[leveloffset=+1]
+include::about/jpa.adoc[leveloffset=+1]
 include::about/jee.adoc[leveloffset=+1]
 // include::about/partial.adoc[leveloffset=+1]
 
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/about/jdo.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/about/jdo.adoc
index 790adb5..754b7f5 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/about/jdo.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/about/jdo.adoc
@@ -4,10 +4,7 @@
 :page-partial:
 
 
-Apache Isis uses an ORM for persistence, specifically xref:pjdo:ROOT:about.adoc[JDO/DataNucleus].
-It infers some of its own metadata from the ORM annotations.
-
-The table below lists the JDO annotations currently recognized by Apache Isis.
+The table below lists the xref:pjdo:ROOT:about.adoc[JDO/DataNucleus] annotations currently recognized by Apache Isis.
 
 
 .JDO Annotations
diff --git a/api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/about/jpa.adoc
similarity index 79%
copy from api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc
copy to api/applib/src/main/adoc/modules/applib-ant/pages/about/jpa.adoc
index 3c7c71b..ff812d4 100644
--- a/api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/pages/about/jpa.adoc
@@ -1,10 +1,9 @@
-[#ViewModel]
-= `ViewModel`
+= JPA Annotations
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
 
-WARNING: TODO: this content has not yet been updated for v2.0
+TODO: v2 - JPA is now also supported as an ORM.
+(As with JDO), some of JPA's annotations are recognised by Apache Isis.
 
-See also xref:userguide:fun:view-models.adoc#view-model-interface[`ViewModel` interface] in the user guide.
diff --git a/api/applib/src/main/adoc/modules/applib-ant/pages/view-models.adoc b/api/applib/src/main/adoc/modules/applib-ant/pages/view-models.adoc
deleted file mode 100644
index cb115a0..0000000
--- a/api/applib/src/main/adoc/modules/applib-ant/pages/view-models.adoc
+++ /dev/null
@@ -1,74 +0,0 @@
-[view-models]
-= `View Model`
-
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-WARNING: TODO: v2 - content was copied from former ViewModel.adoc, corresponding annotation which was removed in Nov '20 ...
-
-WARNING: TODO: v2 - not currently supported, need to reinstate MementoService
-
-The `@DomainObject(nature=VIEW_MODEL)` annotation, applied to a class, indicates that the class is a view model.
-
-View models are not persisted to the database, instead their state is encoded within their identity (ultimately represented in the URL).
-
-[source,java]
-----
-include::refguide:applib-ant:example$annotation/DomainObject.java[tags="refguide"]
-----
-
-For example:
-
-[source,java]
-----
-@DomainObject(nature=VIEW_MODEL)
-public class CustomerViewModel {
-    public CustomerViewModel() {}
-    public CustomerViewModel(String firstName, int lastName) {
-        this.firstName = firstName;
-        this.lastName = lastName;
-    }
-    ...
-}
-----
-
-Although there are several ways to instantiate a view model, we recommend that they are instantiated using an N-arg constructor that initializes all relevant state.
-The xref:refguide:applib-svc:ServiceRegistry.adoc[`ServiceRegistry`] can then be used to inject dependencies into the view model.
-For example:
-
-[source,java]
-----
-Customer cust = ...
-CustomerViewModel vm = factoryService.viewModel(
-    new CustomerViewModel(cust.getFirstName(), cust.getLastName()));
-----
-
-[TIP]
-====
-See this xref:userguide:btb:about.adoc#view-model-instantiation[tip] for further discussion about instantiating view models.
-====
-
-View models must have a no-arg constructor; this is used internally by the framework for subsequent "recreation".
-
-The view model's memento will be derived from the value of the view model object's properties.
-Any properties annotated with xref:refguide:applib-ant:Programmatic.adoc[`@Programmatic`] will be excluded from the memento.
-Properties that are merely xref:refguide:applib-ant:Property.adoc#hidden[hidden] _are_ included in the memento.
-
-View models, as defined by `@DomainObject(nature=VIEW_MODEL)` have some limitations:
-
-* view models cannot hold collections other view models (simple properties _are_ supported, though)
-* collections (of either view models or entities) are ignored.
-* not every data type is supported,
-
-However, these limitations do _not_ apply to xref:userguide:fun:view-models.adoc#jaxb[JAXB] view models.
-If you are using view models heavily, you may wish to restrict yourself to just the JAXB flavour.
-
-[NOTE]
-====
-The `@DomainObject` annotation allows the `objectType` to be specified,
-meaning that it is compatible with the metamodel validation check enabled by the
-xref:refguide:config:configuring-core.adoc#metamodel-validation[`explicitObjectType`] configuration property.
-
-Instead, use xref:refguide:applib-ant:DomainObject.adoc#nature[`@DomainObject#nature()`] with `Nature.VIEW_MODEL`, and specify xref:refguide:applib-ant:DomainObject.adoc#objectType[`@DomainObject#objectType()`].
-====
-
-include::DomainObject/objectType.adoc[leveloffset=+1]
diff --git a/api/applib/src/main/adoc/modules/applib-ant/partials/module-nav.adoc b/api/applib/src/main/adoc/modules/applib-ant/partials/module-nav.adoc
index e7cd240..733154e 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/partials/module-nav.adoc
+++ b/api/applib/src/main/adoc/modules/applib-ant/partials/module-nav.adoc
@@ -29,7 +29,7 @@
 ** xref:refguide:applib-ant:Programmatic.adoc[Programmatic]
 ** xref:refguide:applib-ant:Property.adoc[Property]
 ** xref:refguide:applib-ant:PropertyLayout.adoc[PropertyLayout]
-** xref:refguide:applib-ant:IsisSessionScope.adoc[RequestScoped]
+** xref:refguide:applib-ant:InteractionScope.adoc[RequestScoped]
 ** xref:refguide:applib-ant:Title.adoc[Title]
 ** xref:refguide:applib-ant:ViewModel.adoc[ViewModel]
 ** xref:refguide:applib-ant:XmlJavaTypeAdapter.adoc[XmlJavaTypeAdapter]
diff --git a/api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc b/api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc
index 3c7c71b..c428967 100644
--- a/api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc
+++ b/api/applib/src/main/adoc/modules/applib-classes/pages/ViewModel.adoc
@@ -1,10 +1,10 @@
-[#ViewModel]
-= `ViewModel`
 
 :Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
 :page-partial:
 
 
-WARNING: TODO: this content has not yet been updated for v2.0
+[#ViewModel]
+include::system:generated:page$index/applib/ViewModel.adoc[]
+
 
-See also xref:userguide:fun:view-models.adoc#view-model-interface[`ViewModel` interface] in the user guide.
+See also the xref:userguide:fun:view-models.adoc#view-model-interface[`ViewModel` interface] in the user guide.
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/AuditerService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages-removed-services/AuditerService.adoc
similarity index 100%
rename from api/applib/src/main/adoc/modules/applib-svc/pages/AuditerService.adoc
rename to api/applib/src/main/adoc/modules/applib-svc/pages-removed-services/AuditerService.adoc
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc
index 7276b78..28a4532 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/AcceptHeaderService.adoc
@@ -4,7 +4,7 @@
 :page-partial:
 
 
-The `AcceptHeaderService` domain service is a xref:refguide:applib-ant:IsisSessionScope.adoc[`@IsisSessionScope`]'d service that simply exposes the HTTP `Accept` header to the domain.
+The `AcceptHeaderService` domain service is a xref:refguide:applib-ant:InteractionScope.adoc[`@IsisSessionScope`]'d 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.
 
 [TIP]
@@ -16,28 +16,6 @@ As an alternative to performing content negotiation within the domain classes, t
 
 include::system:generated:page$index/applib/services/acceptheader/AcceptHeaderService.adoc[leveloffset=+2]
 
-TODO example migration
-
-.Deprecated Docs
-[WARNING]
-================================
-
-== API
-
-The API defined by the service is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/acceptheader/AcceptHeaderService.java[tags=refguide]
-----
-
-<.> returns the list of media types found in the HTTP Accept header.
-
-The intention is that this service only returns a list when the request is initiated through the xref:vro:ROOT:about.adoc[Restful Objects viewer].
-Otherwise the service will likely return `null`.
-
-
-================================
 
 == Implementation
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc
index 8b05e0b..bc17dbb 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ApplicationFeatureRepository.adoc
@@ -11,32 +11,19 @@ The `ApplicationFeatureRepository` provides the access to string representations
 
 include::system:generated:page$index/applib/services/appfeat/ApplicationMemberType.adoc[leveloffset=+2]
 
-TODO example migration
 
-.Deprecated Docs
-[WARNING]
-================================
+// TODO - v2 to reconcile with .java (or maybe just delete)
 
-== API
-
-The API defined by the service is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/appfeat/ApplicationFeatureRepository.java[tags=refguide]
-----
-
-where `ApplicationMemberType` in turn is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/appfeat/ApplicationMemberType.java[tags=refguide]
-----
-
-These methods are designed primarily to return lists of strings for use in drop-downs.
+//where `ApplicationMemberType` in turn is:
+//
+//[source,java]
+//----
+//include::refguide:applib-svc:example$services/appfeat/ApplicationMemberType.java[tags=refguide]
+//----
+//
+//These methods are designed primarily to return lists of strings for use in drop-downs.
 
 
-================================
 
 == Implementation
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc
index a9dc0ed..557bbcb 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkService.adoc
@@ -23,71 +23,17 @@ Serialized form of bookmarks also appear within  xref:refguide:schema:about.adoc
 
 include::system:generated:page$index/applib/services/bookmark/BookmarkService.adoc[leveloffset=+2]
 
-TODO example migration
-
-.Deprecated Docs
-[WARNING]
-================================
-
-== API
-
-The API defined by `BookmarkService` is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/bookmark/BookmarkService.java[tags="refguide"]
-----
-
-
-================================
-
-== API
 
 include::system:generated:page$index/applib/services/bookmark/Bookmark.adoc[leveloffset=+2]
 
-TODO example migration
-
-.Deprecated Docs
-[WARNING]
-================================
-
-=== `Bookmark`
-
-The `Bookmark` type is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/bookmark/Bookmark.java[tags="refguide"]
-----
-
-
-
-================================
 
 == Implementation
 
 The core framework (xref:core:runtime-services:about.adoc[Runtime Services] module) provides a default implementation of this API, namely `o.a.i.core.runtimeservices.bookmarks.BookmarkServiceDefault`.
 
 
-== API
-
-include::system:generated:page$index/applib/services/bookmark/BookmarkHolder.adoc[leveloffset=+2]
+include::system:generated:page$index/applib/services/bookmark/BookmarkHolder.adoc[leveloffset=+1]
 
-TODO example migration
-
-.Deprecated Docs
-[WARNING]
-================================
-
-== Related Mixins
-
-The `BookmarkHolder` interface is intended to be implemented by domain objects that use a `Bookmark` to reference a (single) domain object; an example might be a class such as the audit entry, mentioned above.
-The interface is simply:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/bookmark/BookmarkHolder.java[tags="refguide"]
-----
 
 There are two mixins that will contribute to this interface:
 
@@ -102,6 +48,4 @@ which contributes instead an `object` property, being the referenced object.
 Either of these can be suppressed, if required, using a vetoing subscriber that listens to the action or property domain event in order to hide the member.
 
 
-================================
-
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc
index 87b2da0..d790e1f 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/BookmarkUiService.adoc
@@ -7,30 +7,10 @@
 The `BookmarkUiService` provides the ability to programmatically interact with bookmarked pages and breadcrumbs, as rendered by the Wicket viewer.
 
 
-
 == API
 
 include::system:generated:page$index/applib/services/bookmarkui/BookmarkUiService.adoc[leveloffset=+2]
 
-TODO example migration
-
-.Deprecated Docs
-[WARNING]
-================================
-
-== API
-
-The API defined by `BookmarkUiService` is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/bookmarkui/BookmarkUiService.java[tags="refguide"]
-----
-<.> Simply clears the current list of breadcrumbs and bookmarks.
-
-
-
-================================
 
 == Implementation
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc
index 7af112d..283eb78 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/ClockService.adoc
@@ -23,26 +23,10 @@ Apache Isis provides such a facade through the `ClockService`.
 
 include::system:generated:page$index/applib/services/clock/ClockService.adoc[leveloffset=+2]
 
-TODO example migration
-
-.Deprecated Docs
-[WARNING]
-================================
-
-== API
-
-The API defined by `ClockService` is:
-
-[source,java]
-----
-include::refguide:applib-svc:example$services/clock/ClockService.java[tags="refguide"]
-----
 
 Note that this domain service is also used by the framework itself to obtain the time, so it acts as an SPI as well.
 
 
-================================
-
 == Implementation
 
 This class (`o.a.i.applib.services.clock.ClockService`) is also the default implementation.
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc
index 4201826..795a6a2 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/LocaleProvider.adoc
@@ -36,7 +36,7 @@ include::refguide:applib-svc:example$services/i18n/LocaleProvider.java[tags="ref
 ----
 
 This is notionally request-scoped, returning the `Locale` of the current user; _not_ that of the server.
-(Note that the implementation does not required any special scoping such as xref:refguide:applib-ant:IsisSessionScope.adoc[`@IsisSessionScope`], for example).
+(Note that the implementation does not required any special scoping such as xref:refguide:applib-ant:InteractionScope.adoc[`@IsisSessionScope`], for example).
 
 
 ================================
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc
index c223878..a498a1e 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/MetricsService.adoc
@@ -6,7 +6,7 @@
 
 WARNING: TODO: this content has not yet been reviewed/updated for v2.0
 
-The `MetricsService` is an xref:refguide:applib-ant:IsisSessionScope.adoc[`IsisSessionScope`]d domain service that hooks into the JDO/DataNucleus ObjectStore to provide a number of counters relating to numbers of object loaded, dirtied etc.
+The `MetricsService` is an xref:refguide:applib-ant:InteractionScope.adoc[`IsisSessionScope`]d domain service that hooks into the JDO/DataNucleus ObjectStore to provide a number of counters relating to numbers of object loaded, dirtied etc.
 
 The service tracks entity change metrics for those entities that have `entityChangePublishing` enabled.
 
diff --git a/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc b/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc
index 764f46b..602e650 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc
+++ b/api/applib/src/main/adoc/modules/applib-svc/pages/Scratchpad.adoc
@@ -36,7 +36,7 @@ The key values should obey the general contract for hash maps.
 == Implementation
 
 This framework provides a default implementation of `o.a.i.core.runtimeservices.scratchpad.ScratchpadDefault`.
-This is just an xref:refguide:applib-ant:IsisSessionScope.adoc[`@IsisSessionScope`]'d wrapper around a `java.util.Map`.
+This is just an xref:refguide:applib-ant:InteractionScope.adoc[`@IsisSessionScope`]'d wrapper around a `java.util.Map`.
 
 
 == Usage
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index 907a528..14adbde 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -37,7 +37,9 @@ import org.apache.isis.applib.value.Blob;
 import org.apache.isis.applib.value.Clob;
 
 /**
- * Domain semantics for domain object collection.
+ * Groups together all domain-specific metadata for an invokable action on a
+ * domain object or domain service.
+ *
  * @since 1.x {@index}
  */
 @Inherited
@@ -136,7 +138,7 @@ public @interface Action {
      */
     Publishing executionPublishing()
             default Publishing.NOT_SPECIFIED;
-    
+
     /**
      * Indicates where (in the UI) the action is not visible to the user.
      *
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
index dfac135..d86a72d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Parameter.java
@@ -30,7 +30,9 @@ import org.apache.isis.applib.value.Blob;
 import org.apache.isis.applib.value.Clob;
 
 /**
- * Domain semantics for domain object collection.
+ * Collects together all domain semantics of an action parameter within a
+ * single annotation.
+ *
  * @since 1.x {@index}
  */
 @Inherited
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
index f149a1a..e9e1171 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/ParameterLayout.java
@@ -26,8 +26,9 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
- * Layout hints for action parameters.
- * 
+ * Collects together all layout hints for action parameters in a single
+ * annotation.
+ *
  * @since 1.x {@index}
  * @see org.apache.isis.applib.annotation.PropertyLayout
  */
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
index fcc5dec..1bd2227 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
@@ -37,7 +37,9 @@ import org.apache.isis.applib.value.Blob;
 import org.apache.isis.applib.value.Clob;
 
 /**
- * Domain semantics for domain object property.
+ * Collects together all the domain semantics for the property of a domain
+ * object.
+ *
  * @since 1.x {@index}
  */
 @Inherited
@@ -109,7 +111,7 @@ public @interface Property {
             default "";
 
     /**
-     * Whether 
+     * Whether
      * {@link org.apache.isis.applib.services.iactn.Interaction.Execution}s
      * (triggered property edits), should be dispatched to
      * {@link ExecutionSubscriber}s.
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
index 6917886..7d3eebc 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/PropertyLayout.java
@@ -26,7 +26,7 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
- * Layout hints for properties.
+ * Collects together all layout hints for a property of a domain object.
  *
  * @since 1.x {@index}
  * @see org.apache.isis.applib.annotation.ParameterLayout
diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java
index 9851e9c..ac5f3aa 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Title.java
@@ -25,8 +25,14 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 /**
- * A title annotation used to annotate methods used to construct the title of a
- * domain object instance. It is used as a marker.
+ * Used to indicate which property or properties make up the object title.
+ *
+ * <p>
+ * If more than one property is used, the order can be specified (using the
+ * same Dewey-decimal notation as used by `@MemberOrder`) and the string to
+ * use between the components can also be specified.
+ * </p>
+ *
  * @since 1.x {@index}
  */
 @Retention(RetentionPolicy.RUNTIME)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java b/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java
index c19d9fc..af947a3 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/acceptheader/AcceptHeaderService.java
@@ -26,5 +26,13 @@ import javax.ws.rs.core.MediaType;
  * @since 1.x {@index}
  */
 public interface AcceptHeaderService {
+    /**
+     * The intention is that this service only returns a list when the request
+     * is initiated through the _Restful Objects viewer_.
+     *
+     * <p>
+     * Otherwise the service will likely return `null`.
+     * </p>
+     */
     List<MediaType> getAcceptableMediaTypes();
 }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/bookmarkui/BookmarkUiService.java b/api/applib/src/main/java/org/apache/isis/applib/services/bookmarkui/BookmarkUiService.java
index 5e0cea3..cb26a98 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/bookmarkui/BookmarkUiService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/bookmarkui/BookmarkUiService.java
@@ -20,9 +20,14 @@
 package org.apache.isis.applib.services.bookmarkui;
 
 /**
- * 
+ * Provides the ability to programmatically interact with bookmarked pages
+ * and breadcrumbs, as rendered by the Wicket viewer.
+ *
  * @since 1.x {@index}
  */
 public interface BookmarkUiService {
+    /**
+     * Simply clears the current list of breadcrumbs and bookmarks.
+     */
     void clear();
 }