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

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new a8f28ff87f ISIS-3041: update doc index
a8f28ff87f is described below

commit a8f28ff87ff51c10939b4060c9884e8a0b84b0bf
Author: Andi Huber <ahu...@apache.org>
AuthorDate: Tue Jun 14 10:09:48 2022 +0200

    ISIS-3041: update doc index
---
 .../modules/applib/pages/index/Identifier.adoc     |   3 +-
 ...IsisModuleApplibChangeAndExecutionLoggers.adoc} |  13 +-
 ...c => IsisModuleApplibObjectMetadataMixins.adoc} |   9 +-
 .../pages/index/annotation/DomainObject.adoc       |  28 +-
 .../pages/index/annotation/DomainService.adoc      |  13 +-
 .../applib/pages/index/annotation/Value.adoc       |  17 +-
 .../client/RepresentationTypeSimplifiedV2.adoc     |  12 +
 .../modules/applib/pages/index/id/LogicalType.adoc |  11 +
 .../index/mixins/system/DomainChangeRecord.adoc    |  20 +-
 .../pages/index/services/bookmark/Bookmark.adoc    |  13 +
 .../index/services/bookmark/BookmarkHolder.adoc    |   2 +-
 .../bookmark/HasTarget.adoc}                       |  26 +-
 .../index/services/commanddto/HasCommandDto.adoc   |   2 +-
 .../pages/index/services/hint/HintIdProvider.adoc  |   2 +-
 ...nLoggingService.adoc => SessionLogService.adoc} |  20 +-
 ...eLogging.adoc => SessionLogServiceLogging.adoc} |   8 +-
 .../modules/applib/pages/index/value/Markup.adoc   |   1 +
 .../value/semantics/ValueSemanticsAbstract.adoc    |   1 -
 .../value/semantics/ValueSemanticsProvider.adoc    |   1 +
 .../applib/app/CommandLogServiceMenu.adoc}         |   8 +-
 .../applib/command/ui/CommandLogServiceMenu.adoc   |  21 -
 .../contributions}/HasInteractionId_command.adoc   |   2 +-
 .../HasUsername_recentCommandsByUser.adoc          |   2 +-
 .../contributions}/Object_recentCommands.adoc      |   2 +-
 .../subscriber/CommandSubscriberForCommandLog.adoc |   0
 .../commandlog/jdo/IsisModuleExtCommandLogJdo.adoc |   5 +-
 .../commandlog/jpa/IsisModuleExtCommandLogJpa.adoc |   1 +
 .../secondary/analyser/CommandReplayAnalyser.adoc  |   8 +-
 .../analyser/CommandReplayAnalyserException.adoc   |   2 +-
 .../analyser/CommandReplayAnalyserResult.adoc      |   2 +-
 .../analysis/CommandReplayAnalysisService.adoc     |   8 +-
 .../secondary/fetch/CommandFetcher.adoc            |   8 +-
 ...g_exclude.adoc => CommandLogEntry_exclude.adoc} |   8 +-
 ...Queue.adoc => CommandLogEntry_replayQueue.adoc} |   8 +-
 .../excel/applib/{dom => }/AggregationType.adoc    |   0
 .../applib/{dom => }/ExcelMetaDataEnabled.adoc     |   0
 .../index/excel/applib/{dom => }/ExcelService.adoc |   0
 .../pages/index/excel/applib/{util => }/Mode.adoc  |   0
 .../index/excel/applib/{dom => }/RowHandler.adoc   |   0
 .../excel/applib/{dom => }/WorksheetContent.adoc   |   0
 .../excel/applib/{dom => }/WorksheetSpec.adoc      |   0
 .../applib/{dom => annotation}/HyperLink.adoc      |   0
 .../applib/{dom => annotation}/PivotColumn.adoc    |   0
 .../{dom => annotation}/PivotDecoration.adoc       |   0
 .../excel/applib/{dom => annotation}/PivotRow.adoc |   0
 .../applib/{dom => annotation}/PivotValue.adoc     |   0
 .../fullcalendar/applib/CalendarEventable.adoc     |   2 +-
 .../spi/CalendarableDereferencingService.adoc      |   2 +-
 .../viewer}/IsisModuleExtFullCalendarUi.adoc       |   0
 .../pdfjs/applib/annotations/PdfJsViewer.adoc      |  49 ++
 .../index/pdfjs/applib/config/PdfJsConfig.adoc}    |  11 +-
 .../pages/index/pdfjs/applib/config/Scale.adoc     | 117 +++++
 .../index/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc |  60 +++
 .../IsisModuleExtPdfjsWicketIntegration.adoc}      |   9 +-
 .../wkt/ui/IsisModuleExtPdfjsWicketUi.adoc}        |   7 +-
 .../secman/applib/IsisModuleExtSecmanApplib.adoc   |   1 +
 .../permission/dom/ApplicationPermission.adoc      |   8 +-
 .../secman/applib/role/dom/ApplicationRole.adoc    |   4 +-
 .../applib/tenancy/dom/ApplicationTenancy.adoc     |   5 +-
 .../secman/applib/user/dom/ApplicationUser.adoc    |   6 +-
 .../pdfjs/applib/annotations/PdfJsViewer.adoc      |  17 -
 .../wicket/pdfjs/applib/config/PdfJsConfig.adoc    |  26 --
 .../viewer/wicket/pdfjs/applib/config/Scale.adoc   |  27 --
 .../pdfjs/applib/spi/PdfJsViewerAdvisor.adoc       |  18 -
 .../wicket/pdfjs/ui/IsisModuleExtPdfjsUi.adoc      |  12 -
 .../IsisModulePersistenceJdoDatanucleus.adoc       |   4 +-
 .../applib/classrules/ArchitectureDomainRules.adoc |  11 -
 .../applib/fixturescripts/FixtureScripts.adoc      |   4 +-
 .../FixtureScript~ExecutionContext.adoc            |   6 +-
 .../applib/personas/BuilderScriptAbstract.adoc     |   4 +-
 .../index/fixtures/applib/personas/Persona.adoc}   |  22 +-
 .../applib/personas/PersonaWithBuilderScript.adoc  |   4 +-
 .../applib/setup/PersonaEnumPersistAll.adoc        |   2 +-
 .../wicket/viewer/mixins/Object_clearHints.adoc    |   4 +-
 core/adoc/modules/_overview/pages/about.adoc       | 516 +++++++++++++--------
 75 files changed, 776 insertions(+), 469 deletions(-)

diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/Identifier.adoc 
b/antora/components/refguide-index/modules/applib/pages/index/Identifier.adoc
index bd80654f42..0e087571ae 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/Identifier.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/Identifier.adoc
@@ -12,7 +12,8 @@ For xref:refguide:applib:index/Identifier.adoc[Identifier] 
(s) of type _Identifi
 ----
 class Identifier {
   Identifier classIdentifier(LogicalType typeIdentifier)
-  Identifier propertyOrCollectionIdentifier(LogicalType typeIdentifier, String 
propertyOrCollectionName)
+  Identifier propertyIdentifier(LogicalType typeIdentifier, String 
propertyOrCollectionName)
+  Identifier collectionIdentifier(LogicalType typeIdentifier, String 
propertyOrCollectionName)
   Identifier methodIdentifier(LogicalType typeIdentifier, Method method)     
// <.>
   Identifier actionIdentifier(LogicalType typeIdentifier, String actionName, 
Class<?>... parameterClasses)
   Identifier actionIdentifier(LogicalType typeIdentifier, String actionName, 
Can<String> parameterClassNames)
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc 
b/antora/components/refguide-index/modules/applib/pages/index/IsisModuleApplibChangeAndExecutionLoggers.adoc
similarity index 77%
copy from 
antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
copy to 
antora/components/refguide-index/modules/applib/pages/index/IsisModuleApplibChangeAndExecutionLoggers.adoc
index bd30c61cb5..9264eaf717 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/IsisModuleApplibChangeAndExecutionLoggers.adoc
@@ -1,19 +1,14 @@
-= Markup
+= IsisModuleApplibChangeAndExecutionLoggers
 :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 [...]
 
-Intended to be used as a read-only property, to render plain HTML.
+Registers logging subscribers for the command/execution/change publishing 
subsystem.
 
 == API
 
 [source,java]
-.Markup.java
+.IsisModuleApplibChangeAndExecutionLoggers.java
 ----
-class Markup {
-  Markup()
-  Markup(String html)
-  Markup valueOf(String html)
-  String asHtml()
-  String toString()
+class IsisModuleApplibChangeAndExecutionLoggers {
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/IsisModuleApplibObjectMetadataMixins.adoc
similarity index 74%
copy from 
antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
copy to 
antora/components/refguide-index/modules/applib/pages/index/IsisModuleApplibObjectMetadataMixins.adoc
index 28f685e104..6ec4347894 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/IsisModuleApplibObjectMetadataMixins.adoc
@@ -1,15 +1,14 @@
-= HasCommandDto _(interface)_
+= IsisModuleApplibObjectMetadataMixins
 :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 [...]
 
-Objects implementing this interface will be processed automatically by 
_org.apache.isis.applib.services.commanddto.conmap.ContentMappingServiceForCommandDto_
 .
+Registers domain object property mixins for object meta data such as the 
internal identifier or the logical type name of the domain object.
 
 == API
 
 [source,java]
-.HasCommandDto.java
+.IsisModuleApplibObjectMetadataMixins.java
 ----
-interface HasCommandDto {
-  CommandDto getCommandDto()
+class IsisModuleApplibObjectMetadataMixins {
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainObject.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainObject.adoc
index ae2faf7963..b37395722c 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainObject.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainObject.adoc
@@ -9,6 +9,7 @@ Domain semantics for domain objects (entities and view models; 
for services see
 .DomainObject.java
 ----
 @interface DomainObject {
+  String[] aliased() default {};     // <.>
   Class<?> autoCompleteRepository() default Object.class;     // <.>
   String autoCompleteMethod() default "autoComplete";     // <.>
   Bounding bounding() default Bounding.NOT_SPECIFIED;     // <.>
@@ -18,7 +19,8 @@ Domain semantics for domain objects (entities and view 
models; for services see
   Introspection introspection() default Introspection.NOT_SPECIFIED;     // <.>
   String mixinMethod() default "$$";     // <.>
   Nature nature() default Nature.NOT_SPECIFIED;     // <.>
-  String logicalTypeName() default "";     // <.>
+  @Deprecated(forRemoval = true, since = "2.0.0-M8")
+String logicalTypeName() default "";     // <.>
   Class<? extends ObjectCreatedEvent<?>> createdLifecycleEvent() default 
ObjectCreatedEvent.Default.class;     // <.>
   Class<? extends ObjectPersistingEvent<?>> persistingLifecycleEvent() default 
ObjectPersistingEvent.Default.class;     // <.>
   Class<? extends ObjectPersistedEvent<?>> persistedLifecycleEvent() default 
ObjectPersistedEvent.Default.class;     // <.>
@@ -32,6 +34,11 @@ Domain semantics for domain objects (entities and view 
models; for services see
 }
 ----
 
+<.> xref:#aliased[aliased]
++
+--
+Alternative logical type name(s) for the annotated type.
+--
 <.> xref:#autoCompleteRepository[autoCompleteRepository]
 +
 --
@@ -80,6 +87,13 @@ The nature of this domain object.
 <.> xref:#logicalTypeName[logicalTypeName]
 +
 --
+[WARNING]
+====
+[red]#_deprecated:_#
+
+use _Named_ instead
+====
+
 The logical name of this object's type, that uniquely and fully qualifies it. 
The logical name is analogous to - but independent of - the actual fully 
qualified class name. eg. _sales.Customer_ for a class 
'org.mycompany.dom.Customer'
 --
 <.> xref:#createdLifecycleEvent[createdLifecycleEvent]
@@ -135,6 +149,11 @@ Indicates that changes to _any_ collection of the domain 
object (that do not the
 
 == Members
 
+[#aliased]
+=== aliased
+
+Alternative logical type name(s) for the annotated type.
+
 [#autoCompleteRepository]
 === autoCompleteRepository
 
@@ -197,6 +216,13 @@ The nature of this domain object.
 [#logicalTypeName]
 === logicalTypeName
 
+[WARNING]
+====
+[red]#_deprecated:_#
+
+use _Named_ instead
+====
+
 The logical name of this object's type, that uniquely and fully qualifies it. 
The logical name is analogous to - but independent of - the actual fully 
qualified class name. eg. _sales.Customer_ for a class 
'org.mycompany.dom.Customer'
 
 This value, if specified, is used in the serialized form of the object's 
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] . A 
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] is used by 
the framework to uniquely identify an object over time (same concept as a URN). 
Otherwise, if not specified, the fully qualified class name is used instead.
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainService.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainService.adoc
index 84523815c5..b73455da1c 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainService.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/DomainService.adoc
@@ -11,12 +11,18 @@ Also indicates whether the domain service acts as a 
repository for an entity, an
 .DomainService.java
 ----
 @interface DomainService {
+  String[] aliased() default {};     // <.>
   NatureOfService nature() default NatureOfService.VIEW;     // <.>
-  @Deprecated(forRemoval = true, since = "2.0.0-RC1")
+  @Deprecated(forRemoval = true, since = "2.0.0-M8")
 String logicalTypeName() default "";     // <.>
 }
 ----
 
+<.> xref:#aliased[aliased]
++
+--
+Alternative logical type name(s) for the annotated type.
+--
 <.> xref:#nature[nature]
 +
 --
@@ -37,6 +43,11 @@ The logical name of this object's type, that uniquely and 
fully qualifies it. Th
 
 == Members
 
+[#aliased]
+=== aliased
+
+Alternative logical type name(s) for the annotated type.
+
 [#nature]
 === nature
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/Value.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/Value.adoc
index 81829a54be..19e6432baa 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/Value.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/Value.adoc
@@ -9,13 +9,21 @@ Indicates that the class has value semantics.
 .Value.java
 ----
 @interface Value {
-  String logicalTypeName() default "";     // <.>
+  @Deprecated(forRemoval = true, since = "2.0.0-M8")
+String logicalTypeName() default "";     // <.>
 }
 ----
 
 <.> xref:#logicalTypeName[logicalTypeName]
 +
 --
+[WARNING]
+====
+[red]#_deprecated:_#
+
+use _Named_ instead
+====
+
 The logical name of this value's type, that uniquely and fully qualifies it. 
The logical name is analogous to - but independent of - the actual fully 
qualified class name. eg. _sales.Customer_ for a class 
'org.mycompany.dom.Customer'
 --
 
@@ -24,6 +32,13 @@ The logical name of this value's type, that uniquely and 
fully qualifies it. The
 [#logicalTypeName]
 === logicalTypeName
 
+[WARNING]
+====
+[red]#_deprecated:_#
+
+use _Named_ instead
+====
+
 The logical name of this value's type, that uniquely and fully qualifies it. 
The logical name is analogous to - but independent of - the actual fully 
qualified class name. eg. _sales.Customer_ for a class 
'org.mycompany.dom.Customer'
 
 If not specified, the fully qualified class name is used instead.
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/client/RepresentationTypeSimplifiedV2.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/client/RepresentationTypeSimplifiedV2.adoc
index c5765a4af0..e9760aa4ec 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/client/RepresentationTypeSimplifiedV2.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/client/RepresentationTypeSimplifiedV2.adoc
@@ -9,6 +9,7 @@
 enum RepresentationTypeSimplifiedV2 {
   OBJECT     // <.>
   OBJECT_COLLECTION     // <.>
+  OBJECT_PROPERTY     // <.>
   LIST     // <.>
   VALUE     // <.>
   VALUES     // <.>
@@ -17,6 +18,7 @@ enum RepresentationTypeSimplifiedV2 {
 final String typeLiteral;
   boolean isObject()
   boolean isObjectCollection()
+  boolean isObjectProperty()
   boolean isList()
   boolean isValue()
   boolean isValues()
@@ -37,6 +39,11 @@ The media type used as content-Type header when a domain 
object is rendered.
 --
 The media type used as content-Type header when a parented collection is 
rendered.
 --
+<.> xref:#OBJECT_PROPERTY[OBJECT_PROPERTY]
++
+--
+The media type used as content-Type header when an object property is rendered.
+--
 <.> xref:#LIST[LIST]
 +
 --
@@ -70,6 +77,11 @@ The media type used as content-Type header when a domain 
object is rendered.
 
 The media type used as content-Type header when a parented collection is 
rendered.
 
+[#OBJECT_PROPERTY]
+=== OBJECT_PROPERTY
+
+The media type used as content-Type header when an object property is rendered.
+
 [#LIST]
 === LIST
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/id/LogicalType.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/id/LogicalType.adoc
index 268de3f14e..1c718ae242 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/id/LogicalType.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/id/LogicalType.adoc
@@ -16,6 +16,7 @@ class LogicalType {
   LogicalType lazy(Class<?> correspondingClass, Supplier<String> 
logicalNameProvider)     // <.>
   LogicalType eager(Class<?> correspondingClass, String logicalName)     // <.>
   LogicalType fqcn(Class<?> correspondingClass)     // <.>
+  LogicalType infer(Class<?> correspondingClass)     // <.>
   String getClassName()     // <.>
   String getLogicalTypeName()     // <.>
   String getLogicalTypeSimpleName()     // <.>
@@ -43,6 +44,11 @@ Returns a new TypeIdentifier based on the corresponding 
class and (ahead of time
 --
 Use the corresponding class's fully qualified name for the _logicalName_ . 
Most likely used in testing scenarios.
 --
+<.> xref:#infer__Class[infer(Class)]
++
+--
+Infer from annotations.
+--
 <.> xref:#getClassName__[getClassName()]
 +
 --
@@ -86,6 +92,11 @@ Returns a new TypeIdentifier based on the corresponding 
class and (ahead of time
 
 Use the corresponding class's fully qualified name for the _logicalName_ . 
Most likely used in testing scenarios.
 
+[#infer__Class]
+=== infer(Class)
+
+Infer from annotations.
+
 [#getClassName__]
 === getClassName()
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/mixins/system/DomainChangeRecord.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/mixins/system/DomainChangeRecord.adoc
index 75b3fd43e3..b7b0cd2b3f 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/mixins/system/DomainChangeRecord.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/mixins/system/DomainChangeRecord.adoc
@@ -12,10 +12,10 @@ interface DomainChangeRecord {
   ChangeType getType()     // <.>
   UUID getInteractionId()     // <.>
   String getUsername()     // <.>
-  Timestamp getTimestamp()     // <.>
+  java.sql.Timestamp getTimestamp()     // <.>
   String getTargetObjectType()     // <.>
   Bookmark getTarget()     // <.>
-  String getTargetMember()     // <.>
+  String getTargetMember()
   String getPreValue()     // <.>
   String getPostValue()     // <.>
 }
@@ -29,7 +29,7 @@ Distinguishes commands from audit entries from published 
events/interactions (wh
 <.> xref:#getInteractionId__[getInteractionId()]
 +
 --
-The unique identifier (a GUID) of the 
_org.apache.isis.applib.services.iactn.Interaction_ within which this change 
occurred.
+The unique identifier of the 
_org.apache.isis.applib.services.iactn.Interaction_ within which this change 
occurred.
 --
 <.> xref:#getUsername__[getUsername()]
 +
@@ -51,11 +51,6 @@ The object type of the domain object being changed.
 --
 The xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] 
identifying the domain object that has changed.
 --
-<.> xref:#getTargetMember__[getTargetMember()]
-+
---
-The member interaction (ie action invocation or property edit) which caused 
the domain object to be changed.
---
 <.> xref:#getPreValue__[getPreValue()]
 +
 --
@@ -77,7 +72,7 @@ Distinguishes commands from audit entries from published 
events/interactions (wh
 [#getInteractionId__]
 === getInteractionId()
 
-The unique identifier (a GUID) of the 
_org.apache.isis.applib.services.iactn.Interaction_ within which this change 
occurred.
+The unique identifier of the 
_org.apache.isis.applib.services.iactn.Interaction_ within which this change 
occurred.
 
 [#getUsername__]
 === getUsername()
@@ -99,13 +94,6 @@ The object type of the domain object being changed.
 
 The xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] 
identifying the domain object that has changed.
 
-[#getTargetMember__]
-=== getTargetMember()
-
-The member interaction (ie action invocation or property edit) which caused 
the domain object to be changed.
-
-Populated for commands and for published events that represent action 
invocations or property edits.
-
 [#getPreValue__]
 === getPreValue()
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
index f8411817d3..41cdcec3b9 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/Bookmark.adoc
@@ -9,6 +9,8 @@ String representation of any persistable or re-creatable object 
managed by the f
 .Bookmark.java
 ----
 class Bookmark {
+  Bookmark empty(LogicalType logicalType)
+  Bookmark emptyForLogicalTypeName(String logicalTypeName)
   Bookmark forLogicalTypeNameAndIdentifier(String logicalTypeName, String 
identifier)
   Bookmark forLogicalTypeAndIdentifier(LogicalType logicalType, String 
identifier)
   Bookmark forOidDto(OidDto oidDto)
@@ -23,6 +25,7 @@ class Bookmark {
   int hashCode()
   String toString()
   String stringifyHonoringHintIfAny()     // <.>
+  boolean isEmpty()     // <.>
 }
 ----
 
@@ -36,6 +39,11 @@ Round-trip with _#stringify()_ representation.
 --
 Analogous to _#stringify()_ , but replaces the _identifier_ string with the 
_hintId_ if present and not empty.
 --
+<.> xref:#isEmpty__[isEmpty()]
++
+--
+Whether represents _null_ .
+--
 
 == Members
 
@@ -48,3 +56,8 @@ Round-trip with _#stringify()_ representation.
 === stringifyHonoringHintIfAny()
 
 Analogous to _#stringify()_ , but replaces the _identifier_ string with the 
_hintId_ if present and not empty.
+
+[#isEmpty__]
+=== isEmpty()
+
+Whether represents _null_ .
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
index 5f7efb28c5..64f3437d81 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/BookmarkHolder.adoc
@@ -1,7 +1,7 @@
 = BookmarkHolder _(interface)_
 :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 [...]
 
-Can be optionally implemented by any object that is holds (either directly or 
implicitly) a 
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] to a 
domain object.
+Can be optionally implemented by any object that holds (either directly or 
implicitly) a 
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] to a 
domain object.
 
 The framework provides mixins that surface the bookmarked domain object as 
either a property or an action of the holder.
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc 
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/HasTarget.adoc
similarity index 76%
copy from 
antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
copy to 
antora/components/refguide-index/modules/applib/pages/index/services/bookmark/HasTarget.adoc
index bd30c61cb5..5f021d2a0a 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/bookmark/HasTarget.adoc
@@ -1,19 +1,25 @@
-= Markup
+= HasTarget _(interface)_
 :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 [...]
 
-Intended to be used as a read-only property, to render plain HTML.
-
 == API
 
 [source,java]
-.Markup.java
+.HasTarget.java
 ----
-class Markup {
-  Markup()
-  Markup(String html)
-  Markup valueOf(String html)
-  String asHtml()
-  String toString()
+interface HasTarget {
+  Bookmark getTarget()     // <.>
 }
 ----
 
+<.> xref:#getTarget__[getTarget()]
++
+--
+A unique identifier (a GUID).
+--
+
+== Members
+
+[#getTarget__]
+=== getTarget()
+
+A unique identifier (a GUID).
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
index 28f685e104..1bccb71f27 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/commanddto/HasCommandDto.adoc
@@ -9,7 +9,7 @@ Objects implementing this interface will be processed 
automatically by _org.apac
 .HasCommandDto.java
 ----
 interface HasCommandDto {
-  CommandDto getCommandDto()
+  org.apache.isis.schema.cmd.v2.CommandDto getCommandDto()
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/hint/HintIdProvider.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/services/hint/HintIdProvider.adoc
index 70bea184f8..191e6697bb 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/hint/HintIdProvider.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/hint/HintIdProvider.adoc
@@ -1,7 +1,7 @@
 = HintIdProvider _(interface)_
 :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 [...]
 
-Provides an SPI for view models to implement to represent their "logical" 
identity (stable even if the view model's state changes).
+Provides a SPI for view models to implement to represent their "logical" 
identity (stable even if the view model's state changes).
 
 Hints are stored against the `Bookmark` of a domain object, essentially the 
identifier of the domain object. For a domain entity this identifier is fixed 
and unchanging but for view models the identifier changes each time the view 
model's state changes (the identifier is basically a digest of the object's 
state). This means that any hints stored against the view model's bookmark are 
in effect lost as soon as the view model is modified.
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingService.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLogService.adoc
similarity index 66%
rename from 
antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingService.adoc
rename to 
antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLogService.adoc
index 57df27a80a..0bbd65fd40 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingService.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLogService.adoc
@@ -1,4 +1,4 @@
-= SessionLoggingService _(interface)_
+= SessionLogService _(interface)_
 :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 [...]
 
 Defines an API to track the status of the current sessions ("users logged on") 
on the system.
@@ -8,14 +8,14 @@ Multiple implementations can be registered; all will be 
called.
 == API
 
 [source,java]
-.SessionLoggingService.java
+.SessionLogService.java
 ----
-interface SessionLoggingService {
-  void log(Type type, String username, Date date, CausedBy causedBy, String 
sessionId)     // <.>
+interface SessionLogService {
+  void log(Type type, String username, Date date, CausedBy causedBy, UUID 
sessionGuid, String httpSessionId)     // <.>
 }
 ----
 
-<.> xref:#log__Type_String_Date_CausedBy_String[log(Type, String, Date, 
CausedBy, String)]
+<.> xref:#log__Type_String_Date_CausedBy_UUID_String[log(Type, String, Date, 
CausedBy, UUID, String)]
 +
 --
 Callback to log the session.
@@ -23,13 +23,7 @@ Callback to log the session.
 
 == Members
 
-[#log__Type_String_Date_CausedBy_String]
-=== log(Type, String, Date, CausedBy, String)
+[#log__Type_String_Date_CausedBy_UUID_String]
+=== log(Type, String, Date, CausedBy, UUID, String)
 
 Callback to log the session.
-
-The `sessionId` is an internal identifier (for the Wicket viewer, its the JVM 
hashCode of the Wicket session).
-
-include::hooks/SessionLoggingService_010-implementation.adoc[]
-
-include::hooks/SessionLoggingService_020-examples-and-usage.adoc[]
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLogServiceLogging.adoc
similarity index 86%
copy from 
antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
copy to 
antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLogServiceLogging.adoc
index c4c36af9d8..5131879ca7 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLogServiceLogging.adoc
@@ -1,13 +1,13 @@
-= SessionLoggingServiceLogging
+= SessionLogServiceLogging
 :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 [...]
 
 == API
 
 [source,java]
-.SessionLoggingServiceLogging.java
+.SessionLogServiceLogging.java
 ----
-class SessionLoggingServiceLogging {
-  void log(Type type, String username, Date date, CausedBy causedBy, String 
sessionId)
+class SessionLogServiceLogging {
+  void log(Type type, String username, Date date, CausedBy causedBy, UUID 
sessionGuid, String httpSessionId)
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc 
b/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
index bd30c61cb5..88889af6dc 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/value/Markup.adoc
@@ -14,6 +14,7 @@ class Markup {
   Markup valueOf(String html)
   String asHtml()
   String toString()
+  String summarizeHtmlAsTitle(String html)
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsAbstract.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsAbstract.adoc
index 9a8a681df9..fe0969a246 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsAbstract.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsAbstract.adoc
@@ -7,7 +7,6 @@
 .ValueSemanticsAbstract.java
 ----
 class ValueSemanticsAbstract<T> {
-  public static final String NULL_REPRESENTATION;
   OrderRelation<T, ?> getOrderRelation()
   Converter<T, ?> getConverter()
   Renderer<T> getRenderer()
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsProvider.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsProvider.adoc
index 6a5a2c189e..94a6c41152 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsProvider.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/value/semantics/ValueSemanticsProvider.adoc
@@ -22,6 +22,7 @@ interface ValueSemanticsProvider<T> {
   Renderer<T> getRenderer()     // <.>
   Parser<T> getParser()     // <.>
   DefaultsProvider<T> getDefaultsProvider()     // <.>
+  ValueSemanticsProvider<X> castTo(Class<X> cls)
   boolean isEnumType()
   boolean isNumberType()
   boolean isTemporalType()
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/app/CommandLogServiceMenu.adoc
similarity index 85%
copy from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
copy to 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/app/CommandLogServiceMenu.adoc
index 51bb7da640..7e0d705744 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/app/CommandLogServiceMenu.adoc
@@ -1,13 +1,13 @@
-= @PivotDecoration
+= CommandLogServiceMenu
 :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 [...]
 
 == API
 
 [source,java]
-.PivotDecoration.java
+.CommandLogServiceMenu.java
 ----
-@interface PivotDecoration {
-  int order();
+class CommandLogServiceMenu {
+  public static final String LOGICAL_TYPE_NAME;
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/command/ui/CommandLogServiceMenu.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/command/ui/CommandLogServiceMenu.adoc
deleted file mode 100644
index f391e12d30..0000000000
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/command/ui/CommandLogServiceMenu.adoc
+++ /dev/null
@@ -1,21 +0,0 @@
-= CommandLogServiceMenu
-: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 [...]
-
-== API
-
-[source,java]
-.CommandLogServiceMenu.java
-----
-class CommandLogServiceMenu {
-  List<? extends CommandLog> activeCommands()
-  boolean hideActiveCommands()
-  List<? extends CommandLog> findCommands(LocalDate from, LocalDate to)
-  boolean hideFindCommands()
-  LocalDate default0FindCommands()
-  LocalDate default1FindCommands()
-  CommandLog findCommandById(UUID transactionId)
-  boolean hideFindCommandById()
-  void truncateLog()
-}
-----
-
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/HasInteractionId_command.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/HasInteractionId_command.adoc
similarity index 98%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/HasInteractionId_command.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/HasInteractionId_command.adoc
index ecd24e254f..613df0572f 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/HasInteractionId_command.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/HasInteractionId_command.adoc
@@ -9,7 +9,7 @@ This mixin contributes a `command` action to any (non-command) 
implementation of
 .HasInteractionId_command.java
 ----
 class HasInteractionId_command {
-  CommandJdo act()
+  CommandLogEntry act()
   boolean hideAct()     // <.>
   String disableAct()
 }
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/HasUsername_recentCommandsByUser.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/HasUsername_recentCommandsByUser.adoc
similarity index 96%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/HasUsername_recentCommandsByUser.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/HasUsername_recentCommandsByUser.adoc
index cc91fb984d..c5823a460d 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/HasUsername_recentCommandsByUser.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/HasUsername_recentCommandsByUser.adoc
@@ -8,7 +8,7 @@
 ----
 class HasUsername_recentCommandsByUser {
   HasUsername_recentCommandsByUser(HasUsername hasUsername)
-  List<CommandJdo> coll()
+  List<CommandLogEntry> coll()
   boolean hideColl()
 }
 ----
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/Object_recentCommands.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/Object_recentCommands.adoc
similarity index 98%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/Object_recentCommands.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/Object_recentCommands.adoc
index b0a144483c..508eed09ff 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/mixins/Object_recentCommands.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/contributions/Object_recentCommands.adoc
@@ -9,7 +9,7 @@ This mixin contributes a `recentCommands` action to any domain 
object (unless al
 .Object_recentCommands.java
 ----
 class Object_recentCommands {
-  List<CommandJdo> act()
+  List<CommandLogEntry> act()
   boolean hideAct()     // <.>
 }
 ----
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/command/subscriber/CommandSubscriberForCommandLog.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/subscriber/CommandSubscriberForCommandLog.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/command/subscriber/CommandSubscriberForCommandLog.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/commandlog/applib/subscriber/CommandSubscriberForCommandLog.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogJdo.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogJdo.adoc
index 5e1d9216c2..eac0b556ee 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogJdo.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogJdo.adoc
@@ -8,6 +8,7 @@
 ----
 class IsisModuleExtCommandLogJdo {
   public static final String NAMESPACE;
+  public static final String SCHEMA;
   FixtureScript getTeardownFixtureWillDelete()     // <.>
 }
 ----
@@ -15,7 +16,7 @@ class IsisModuleExtCommandLogJdo {
 <.> xref:#getTeardownFixtureWillDelete__[getTeardownFixtureWillDelete()]
 +
 --
-For tests that need to delete the command table first. Should be run in the 
@Before of the test.
+For tests that need to delete the command table first. Should be run in the 
@BeforeEach of the test.
 --
 
 == Members
@@ -23,4 +24,4 @@ For tests that need to delete the command table first. Should 
be run in the @Bef
 [#getTeardownFixtureWillDelete__]
 === getTeardownFixtureWillDelete()
 
-For tests that need to delete the command table first. Should be run in the 
@Before of the test.
+For tests that need to delete the command table first. Should be run in the 
@BeforeEach of the test.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogJpa.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogJpa.adoc
index 2577dc603b..ba838fc23b 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogJpa.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogJpa.adoc
@@ -8,6 +8,7 @@
 ----
 class IsisModuleExtCommandLogJpa {
   public static final String NAMESPACE;
+  public static final String SCHEMA;
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc
index 58a921b45c..7412226fc3 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc
@@ -7,13 +7,13 @@
 .CommandReplayAnalyser.java
 ----
 interface CommandReplayAnalyser {
-  String analyzeReplay(ICommandLog commandJdo)     // <.>
+  String analyzeReplay(CommandLogEntry commandLogEntry)     // <.>
 }
 ----
 
-<.> xref:#analyzeReplay__ICommandLog[analyzeReplay(ICommandLog)]
+<.> xref:#analyzeReplay__CommandLogEntry[analyzeReplay(CommandLogEntry)]
 
 == Members
 
-[#analyzeReplay__ICommandLog]
-=== analyzeReplay(ICommandLog)
+[#analyzeReplay__CommandLogEntry]
+=== analyzeReplay(CommandLogEntry)
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc
index 5f83257a9d..3e9e6af8d8 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc
@@ -8,7 +8,7 @@
 ----
 class CommandReplayAnalyserException {
   void init()
-  String analyzeReplay(ICommandLog commandLog)
+  String analyzeReplay(CommandLogEntry commandLogEntry)
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc
index 6bbb475dba..246f1b57c8 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc
@@ -8,7 +8,7 @@
 ----
 class CommandReplayAnalyserResult {
   void init()
-  String analyzeReplay(ICommandLog commandLog)
+  String analyzeReplay(CommandLogEntry commandLogEntry)
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analysis/CommandReplayAnalysisService.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analysis/CommandReplayAnalysisService.adoc
index 9f378a8463..eb6455bb9c 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analysis/CommandReplayAnalysisService.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/analysis/CommandReplayAnalysisService.adoc
@@ -7,11 +7,11 @@
 .CommandReplayAnalysisService.java
 ----
 class CommandReplayAnalysisService {
-  void analyse(ICommandLog commandLog)     // <.>
+  void analyse(CommandLogEntry commandLogEntry)     // <.>
 }
 ----
 
-<.> xref:#analyse__ICommandLog[analyse(ICommandLog)]
+<.> xref:#analyse__CommandLogEntry[analyse(CommandLogEntry)]
 +
 --
 if hit an issue with the command having been replayed, then mark this as in 
error. This will effectively block the running of any further commands until 
the administrator fixes the issue.
@@ -19,7 +19,7 @@ if hit an issue with the command having been replayed, then 
mark this as in erro
 
 == Members
 
-[#analyse__ICommandLog]
-=== analyse(ICommandLog)
+[#analyse__CommandLogEntry]
+=== analyse(CommandLogEntry)
 
 if hit an issue with the command having been replayed, then mark this as in 
error. This will effectively block the running of any further commands until 
the administrator fixes the issue.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/fetch/CommandFetcher.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/fetch/CommandFetcher.adoc
index e8b023f1bf..7c696f3331 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/fetch/CommandFetcher.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/fetch/CommandFetcher.adoc
@@ -8,12 +8,12 @@
 ----
 class CommandFetcher {
   CommandFetcher(SecondaryConfig secondaryConfig)
-  Can<CommandDto> fetchCommand(ICommandLog previousHwmIfAny)     // <.>
+  Can<CommandDto> fetchCommand(CommandLogEntry previousHwmIfAny)     // <.>
   Can<CommandDto> callPrimary(UUID interactionId)
 }
 ----
 
-<.> xref:#fetchCommand__ICommandLog[fetchCommand(ICommandLog)]
+<.> xref:#fetchCommand__CommandLogEntry[fetchCommand(CommandLogEntry)]
 +
 --
 Replicates a single command.
@@ -21,7 +21,7 @@ Replicates a single command.
 
 == Members
 
-[#fetchCommand__ICommandLog]
-=== fetchCommand(ICommandLog)
+[#fetchCommand__CommandLogEntry]
+=== fetchCommand(CommandLogEntry)
 
 Replicates a single command.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLog_exclude.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLogEntry_exclude.adoc
similarity index 88%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLog_exclude.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLogEntry_exclude.adoc
index da93288be1..ff38cb8a1c 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLog_exclude.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLogEntry_exclude.adoc
@@ -1,13 +1,13 @@
-= CommandLog_exclude
+= CommandLogEntry_exclude
 :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 [...]
 
 == API
 
 [source,java]
-.CommandLog_exclude.java
+.CommandLogEntry_exclude.java
 ----
-class CommandLog_exclude {
-  CommandLog act()
+class CommandLogEntry_exclude {
+  CommandLogEntry act()
   boolean hideAct()
   String disableAct()
 }
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLog_replayQueue.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLogEntry_replayQueue.adoc
similarity index 86%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLog_replayQueue.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLogEntry_replayQueue.adoc
index 4234051da7..6016b1c1aa 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLog_replayQueue.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandreplay/secondary/mixins/CommandLogEntry_replayQueue.adoc
@@ -1,13 +1,13 @@
-= CommandLog_replayQueue
+= CommandLogEntry_replayQueue
 :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 [...]
 
 == API
 
 [source,java]
-.CommandLog_replayQueue.java
+.CommandLogEntry_replayQueue.java
 ----
-class CommandLog_replayQueue {
-  List<CommandLog> coll()
+class CommandLogEntry_replayQueue {
+  List<CommandLogEntry> coll()
   boolean hideColl()
 }
 ----
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/AggregationType.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/AggregationType.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/AggregationType.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/AggregationType.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/ExcelMetaDataEnabled.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/ExcelMetaDataEnabled.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/ExcelMetaDataEnabled.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/ExcelMetaDataEnabled.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/ExcelService.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/ExcelService.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/ExcelService.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/ExcelService.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/util/Mode.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/Mode.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/util/Mode.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/Mode.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/RowHandler.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/RowHandler.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/RowHandler.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/RowHandler.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/WorksheetContent.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/WorksheetContent.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/WorksheetContent.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/WorksheetContent.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/WorksheetSpec.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/WorksheetSpec.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/WorksheetSpec.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/WorksheetSpec.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/HyperLink.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/HyperLink.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/HyperLink.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/HyperLink.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotColumn.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotColumn.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotColumn.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotColumn.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotDecoration.adoc
similarity index 100%
copy from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
copy to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotDecoration.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotRow.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotRow.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotRow.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotRow.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotValue.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotValue.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotValue.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/annotation/PivotValue.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/CalendarEventable.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/CalendarEventable.adoc
index 8b2a6b8fc9..674100fe44 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/CalendarEventable.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/CalendarEventable.adoc
@@ -25,6 +25,6 @@ The name of the calendar to which this event belongs.
 
 The name of the calendar to which this event belongs.
 
-For example, an `Employee` might provide have a `employedOn` , so the calendar 
name would be 'employedOn'
+For example, an `Employee` might have a `employedOn` property, so the calendar 
name would be 'employedOn'.
 
 If there is possibly more than one date associated with the entity, then use 
xref:refguide:extensions:index/fullcalendar/applib/Calendarable.adoc[Calendarable]
 instead.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/spi/CalendarableDereferencingService.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/spi/CalendarableDereferencingService.adoc
index 6b7317b3a6..dedd218709 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/spi/CalendarableDereferencingService.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/applib/spi/CalendarableDereferencingService.adoc
@@ -3,7 +3,7 @@
 
 Optional SPI service that allows a 
xref:refguide:extensions:index/fullcalendar/applib/Calendarable.adoc[Calendarable]
 or 
xref:refguide:extensions:index/fullcalendar/applib/CalendarEventable.adoc[CalendarEventable]
 object to be translated/dereferenced to some other object, typically its 
owner. The markers on the calendar then open up the dereferenced object, rather 
than the original 
xref:refguide:extensions:index/fullcalendar/applib/Calendarable.adoc[Calendarable]
 or xref:refguide:extensi [...]
 
-For example, the `incode-module-commchannel` 's `Note` implements 
`CalendarEventable` , but this service allows the _owner_ of the `Note` (ie the 
`Notable` ) sto be shown instead.
+For example, the `incode-module-commchannel` 's `Note` implements 
`CalendarEventable` , but this service allows the _owner_ of the `Note` (ie the 
`Notable` ) to be shown instead.
 
 == API
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/wkt/viewer/IsisModuleExtFullCalendarUi.adoc
similarity index 100%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/fullcalendar/wkt/viewer/IsisModuleExtFullCalendarUi.adoc
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/annotations/PdfJsViewer.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/annotations/PdfJsViewer.adoc
new file mode 100644
index 0000000000..a5cc75fc5a
--- /dev/null
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/annotations/PdfJsViewer.adoc
@@ -0,0 +1,49 @@
+= @PdfJsViewer
+: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 [...]
+
+An annotation that can be applied on a _Property_ or a _Parameter_ of type 
_org.apache.isis.applib.value.Blob_ . Such property/parameter will be 
visualized withPDF.jsviewer.
+
+== API
+
+[source,java]
+.PdfJsViewer.java
+----
+@interface PdfJsViewer {
+  int initialPageNum() default 1;     // <.>
+  Scale initialScale() default Scale._1_00;     // <.>
+  int initialHeight() default 800;     // <.>
+}
+----
+
+<.> xref:#initialPageNum[initialPageNum]
++
+--
+The page (number) to render, when this particular domain object('s property) 
is rendered the first time.
+--
+<.> xref:#initialScale[initialScale]
++
+--
+The scale to render; defaults to 100%.
+--
+<.> xref:#initialHeight[initialHeight]
++
+--
+The (pixel) height of the panel; defaults to 800px.
+--
+
+== Members
+
+[#initialPageNum]
+=== initialPageNum
+
+The page (number) to render, when this particular domain object('s property) 
is rendered the first time.
+
+[#initialScale]
+=== initialScale
+
+The scale to render; defaults to 100%.
+
+[#initialHeight]
+=== initialHeight
+
+The (pixel) height of the panel; defaults to 800px.
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/config/PdfJsConfig.adoc
similarity index 78%
copy from 
antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
copy to 
antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/config/PdfJsConfig.adoc
index c4c36af9d8..e0b5414950 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/config/PdfJsConfig.adoc
@@ -1,13 +1,16 @@
-= SessionLoggingServiceLogging
+= PdfJsConfig
 :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 [...]
 
 == API
 
 [source,java]
-.SessionLoggingServiceLogging.java
+.PdfJsConfig.java
 ----
-class SessionLoggingServiceLogging {
-  void log(Type type, String username, Date date, CausedBy causedBy, String 
sessionId)
+class PdfJsConfig {
+  PdfJsConfig withInitialPage(int initialPage)
+  PdfJsConfig withInitialHeight(int initialHeight)
+  PdfJsConfig.PdfJsConfigBuilder asBuilder()
+  String toJsonString()
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/config/Scale.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/config/Scale.adoc
new file mode 100644
index 0000000000..14fb26dff3
--- /dev/null
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/config/Scale.adoc
@@ -0,0 +1,117 @@
+= Scale _(enum)_
+: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 [...]
+
+== API
+
+[source,java]
+.Scale.java
+----
+enum Scale {
+  AUTOMATIC     // <.>
+  ACTUAL_SIZE
+  PAGE_FIT
+  PAGE_WIDTH
+  _0_50     // <.>
+  _0_75     // <.>
+  _1_00     // <.>
+  _1_25     // <.>
+  _1_50     // <.>
+  _2_00     // <.>
+  _3_00     // <.>
+  _4_00     // <.>
+  Scale forValue(String scaleValue)
+}
+----
+
+<.> xref:#AUTOMATIC[AUTOMATIC]
++
+--
+predefined scaling strategies, depend on the width/height of the panel 
available to render in
+--
+<.> xref:#_0_50[_0_50]
++
+--
+50%
+--
+<.> xref:#_0_75[_0_75]
++
+--
+75%
+--
+<.> xref:#_1_00[_1_00]
++
+--
+100%
+--
+<.> xref:#_1_25[_1_25]
++
+--
+125%
+--
+<.> xref:#_1_50[_1_50]
++
+--
+150%
+--
+<.> xref:#_2_00[_2_00]
++
+--
+200%
+--
+<.> xref:#_3_00[_3_00]
++
+--
+300%
+--
+<.> xref:#_4_00[_4_00]
++
+--
+400%
+--
+
+== Members
+
+[#AUTOMATIC]
+=== AUTOMATIC
+
+predefined scaling strategies, depend on the width/height of the panel 
available to render in
+
+[#_0_50]
+=== _0_50
+
+50%
+
+[#_0_75]
+=== _0_75
+
+75%
+
+[#_1_00]
+=== _1_00
+
+100%
+
+[#_1_25]
+=== _1_25
+
+125%
+
+[#_1_50]
+=== _1_50
+
+150%
+
+[#_2_00]
+=== _2_00
+
+200%
+
+[#_3_00]
+=== _3_00
+
+300%
+
+[#_4_00]
+=== _4_00
+
+400%
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc
new file mode 100644
index 0000000000..468c807a65
--- /dev/null
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc
@@ -0,0 +1,60 @@
+= PdfJsViewerAdvisor _(interface)_
+: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 [...]
+
+SPI service interface.
+
+== API
+
+[source,java]
+.PdfJsViewerAdvisor.java
+----
+interface PdfJsViewerAdvisor {
+  Advice advise(InstanceKey instanceKey)     // <.>
+  void pageNumChangedTo(InstanceKey instanceKey, int pageNum)     // <.>
+  void scaleChangedTo(InstanceKey instanceKey, Scale scale)     // <.>
+  void heightChangedTo(InstanceKey instanceKey, int height)     // <.>
+}
+----
+
+<.> xref:#advise__InstanceKey[advise(InstanceKey)]
++
+--
+The main SPI called by the viewer.
+--
+<.> xref:#pageNumChangedTo__InstanceKey_int[pageNumChangedTo(InstanceKey, int)]
++
+--
+Updates the service implementation whenever the user updates the page number, 
for a particular object/property/user (ie ViewerKey).
+--
+<.> xref:#scaleChangedTo__InstanceKey_Scale[scaleChangedTo(InstanceKey, Scale)]
++
+--
+Updates the service implementation whenever the user updates the scale, for a 
particular object/property/user (ie ViewerKey).
+--
+<.> xref:#heightChangedTo__InstanceKey_int[heightChangedTo(InstanceKey, int)]
++
+--
+Updates the service implementation whenever the user updates the height, for a 
particular object/property/user (ie ViewerKey).
+--
+
+== Members
+
+[#advise__InstanceKey]
+=== advise(InstanceKey)
+
+The main SPI called by the viewer.
+
+[#pageNumChangedTo__InstanceKey_int]
+=== pageNumChangedTo(InstanceKey, int)
+
+Updates the service implementation whenever the user updates the page number, 
for a particular object/property/user (ie ViewerKey).
+
+[#scaleChangedTo__InstanceKey_Scale]
+=== scaleChangedTo(InstanceKey, Scale)
+
+Updates the service implementation whenever the user updates the scale, for a 
particular object/property/user (ie ViewerKey).
+
+[#heightChangedTo__InstanceKey_int]
+=== heightChangedTo(InstanceKey, int)
+
+Updates the service implementation whenever the user updates the height, for a 
particular object/property/user (ie ViewerKey).
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.adoc
similarity index 79%
rename from 
antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.adoc
index c4c36af9d8..9ae4408b7d 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/services/session/SessionLoggingServiceLogging.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.adoc
@@ -1,13 +1,14 @@
-= SessionLoggingServiceLogging
+= IsisModuleExtPdfjsWicketIntegration
 :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 [...]
 
 == API
 
 [source,java]
-.SessionLoggingServiceLogging.java
+.IsisModuleExtPdfjsWicketIntegration.java
 ----
-class SessionLoggingServiceLogging {
-  void log(Type type, String username, Date date, CausedBy causedBy, String 
sessionId)
+class IsisModuleExtPdfjsWicketIntegration {
+  void init(WebApplication webApplication)
+  PdfJsVersion getPdfJsVersion()
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/wkt/ui/IsisModuleExtPdfjsWicketUi.adoc
similarity index 89%
rename from 
antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
rename to 
antora/components/refguide-index/modules/extensions/pages/index/pdfjs/wkt/ui/IsisModuleExtPdfjsWicketUi.adoc
index 51bb7da640..9bfbf8739b 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/excel/applib/dom/PivotDecoration.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/pdfjs/wkt/ui/IsisModuleExtPdfjsWicketUi.adoc
@@ -1,13 +1,12 @@
-= @PivotDecoration
+= IsisModuleExtPdfjsWicketUi
 :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 [...]
 
 == API
 
 [source,java]
-.PivotDecoration.java
+.IsisModuleExtPdfjsWicketUi.java
 ----
-@interface PivotDecoration {
-  int order();
+class IsisModuleExtPdfjsWicketUi {
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/IsisModuleExtSecmanApplib.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/IsisModuleExtSecmanApplib.adoc
index bf08931853..26b9c80def 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/IsisModuleExtSecmanApplib.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/IsisModuleExtSecmanApplib.adoc
@@ -8,6 +8,7 @@
 ----
 class IsisModuleExtSecmanApplib {
   public static final String NAMESPACE;
+  public static final String SCHEMA;
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/permission/dom/ApplicationPermission.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/permission/dom/ApplicationPermission.adoc
index 41f8ec82ce..0650fa1569 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/permission/dom/ApplicationPermission.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/permission/dom/ApplicationPermission.adoc
@@ -17,12 +17,8 @@ For a given permission, there is an interaction between the 
xref:refguide:extens
 ----
 class ApplicationPermission {
   public static final String LOGICAL_TYPE_NAME;
-  public static final String NAMED_QUERY_FIND_BY_FEATURE;
-  public static final String NAMED_QUERY_FIND_BY_ROLE;
-  public static final String NAMED_QUERY_FIND_BY_ROLE_RULE_FEATURE;
-  public static final String NAMED_QUERY_FIND_BY_ROLE_RULE_FEATURE_FQN;
-  public static final String NAMED_QUERY_FIND_BY_USER;
-  public static final String NAMED_QUERY_FIND_BY_ROLE_NAMES;
+  public static final String SCHEMA;
+  public static final String TABLE;
   String title()
   String getSort()
   ApplicationFeature findFeature(ApplicationFeatureId featureId)
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/role/dom/ApplicationRole.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/role/dom/ApplicationRole.adoc
index 6eff452dcb..017000b51f 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/role/dom/ApplicationRole.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/role/dom/ApplicationRole.adoc
@@ -8,8 +8,8 @@
 ----
 class ApplicationRole {
   public static final String LOGICAL_TYPE_NAME;
-  public static final String NAMED_QUERY_FIND_BY_NAME;
-  public static final String NAMED_QUERY_FIND_BY_NAME_CONTAINING;
+  public static final String SCHEMA;
+  public static final String TABLE;
   String title()
   
List<org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermission>
 getPermissions()
   int 
compareTo(org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole 
other)
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/tenancy/dom/ApplicationTenancy.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/tenancy/dom/ApplicationTenancy.adoc
index 5586d90380..d778b7b653 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/tenancy/dom/ApplicationTenancy.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/tenancy/dom/ApplicationTenancy.adoc
@@ -8,9 +8,8 @@
 ----
 class ApplicationTenancy {
   public static final String LOGICAL_TYPE_NAME;
-  public static final String NAMED_QUERY_FIND_BY_NAME;
-  public static final String NAMED_QUERY_FIND_BY_PATH;
-  public static final String NAMED_QUERY_FIND_BY_NAME_OR_PATH_MATCHING;
+  public static final String SCHEMA;
+  public static final String TABLE;
   String title()
   boolean isRoot()
   int 
compareTo(org.apache.isis.extensions.secman.applib.tenancy.dom.ApplicationTenancy
 other)
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/user/dom/ApplicationUser.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/user/dom/ApplicationUser.adoc
index ef3520f7e3..fdc4f2de12 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/user/dom/ApplicationUser.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/applib/user/dom/ApplicationUser.adoc
@@ -8,10 +8,8 @@
 ----
 class ApplicationUser {
   public static final String LOGICAL_TYPE_NAME;
-  public static final String NAMED_QUERY_FIND_BY_USERNAME;
-  public static final String NAMED_QUERY_FIND_BY_EMAIL_ADDRESS;
-  public static final String NAMED_QUERY_FIND;
-  public static final String NAMED_QUERY_FIND_BY_ATPATH;
+  public static final String SCHEMA;
+  public static final String TABLE;
   String title()
   String iconName()
   String getName()
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.adoc
deleted file mode 100644
index 911ec43b96..0000000000
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.adoc
+++ /dev/null
@@ -1,17 +0,0 @@
-= @PdfJsViewer
-: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 [...]
-
-An annotation that could be applied on a property or parameter of type 
_org.apache.isis.applib.value.Blob_ . Such property/parameter will be 
visualized withPDF.jsviewer.
-
-== API
-
-[source,java]
-.PdfJsViewer.java
-----
-@interface PdfJsViewer {
-  int initialPageNum() default 1;
-  Scale initialScale() default Scale._1_00;
-  int initialHeight() default 800;
-}
-----
-
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/config/PdfJsConfig.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/config/PdfJsConfig.adoc
deleted file mode 100644
index a7e70b0748..0000000000
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/config/PdfJsConfig.adoc
+++ /dev/null
@@ -1,26 +0,0 @@
-= PdfJsConfig
-: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 [...]
-
-== API
-
-[source,java]
-.PdfJsConfig.java
-----
-class PdfJsConfig {
-  PdfJsConfig withInitialPage(int initialPage)
-  int getInitialPage()
-  PdfJsConfig withInitialHeight(int initialHeight)
-  int getInitialHeight()
-  PdfJsConfig withInitialScale(Scale initialScale)
-  String getInitialScale()
-  PdfJsConfig disableWorker(boolean disable)
-  boolean isWorkerDisabled()
-  PdfJsConfig withDocumentUrl(CharSequence url)
-  CharSequence getDocumentUrl()
-  PdfJsConfig withWorkerUrl(String url)
-  CharSequence getWorkerUrl()
-  PdfJsConfig withCanvasId(String url)
-  CharSequence getCanvasId()
-}
-----
-
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/config/Scale.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/config/Scale.adoc
deleted file mode 100644
index 5afd833d03..0000000000
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/config/Scale.adoc
+++ /dev/null
@@ -1,27 +0,0 @@
-= Scale _(enum)_
-: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 [...]
-
-== API
-
-[source,java]
-.Scale.java
-----
-enum Scale {
-  AUTOMATIC
-  ACTUAL_SIZE
-  PAGE_FIT
-  PAGE_WIDTH
-  _0_50
-  _0_75
-  _1_00
-  _1_25
-  _1_50
-  _2_00
-  _3_00
-  _4_00
-  Scale(String value)
-  String getValue()
-  Scale forValue(String scaleValue)
-}
-----
-
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc
deleted file mode 100644
index 1be1692d1b..0000000000
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc
+++ /dev/null
@@ -1,18 +0,0 @@
-= PdfJsViewerAdvisor _(interface)_
-: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 [...]
-
-SPI service interface.
-
-== API
-
-[source,java]
-.PdfJsViewerAdvisor.java
-----
-interface PdfJsViewerAdvisor {
-  Advice advise(InstanceKey instanceKey)
-  void pageNumChangedTo(InstanceKey instanceKey, int pageNum)
-  void scaleChangedTo(InstanceKey instanceKey, Scale scale)
-  void heightChangedTo(InstanceKey instanceKey, int height)
-}
-----
-
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.adoc
deleted file mode 100644
index 672ad1376d..0000000000
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.adoc
+++ /dev/null
@@ -1,12 +0,0 @@
-= IsisModuleExtPdfjsUi
-: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 [...]
-
-== API
-
-[source,java]
-.IsisModuleExtPdfjsUi.java
-----
-class IsisModuleExtPdfjsUi {
-}
-----
-
diff --git 
a/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc
 
b/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc
index b890a4a8cd..bd79ddb471 100644
--- 
a/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc
+++ 
b/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc
@@ -8,8 +8,8 @@
 ----
 class IsisModulePersistenceJdoDatanucleus {
   DnJdoDialect getDnJdoDialect(DataSource dataSource)     // <.>
-  LocalPersistenceManagerFactoryBean 
getLocalPersistenceManagerFactoryBean(IsisConfiguration isisConfiguration, 
DataSource dataSource, MetaModelContext metaModelContext, EventBusService 
eventBusService, Provider<EntityChangeTracker> entityChangeTrackerProvider, 
IsisBeanTypeRegistry beanTypeRegistry, DnSettings dnSettings)
-  TransactionAwarePersistenceManagerFactoryProxy 
getTransactionAwarePersistenceManagerFactoryProxy(MetaModelContext 
metaModelContext, LocalPersistenceManagerFactoryBean localPmfBean)
+  LocalPersistenceManagerFactoryBean 
getLocalPersistenceManagerFactoryBean(IsisConfiguration isisConfiguration, 
DataSource dataSource, MetaModelContext metaModelContext, EventBusService 
eventBusService, Provider<EntityChangeTracker> entityChangeTrackerProvider, 
IsisBeanTypeRegistry beanTypeRegistry, DatanucleusSettings dnSettings)
+  TransactionAwarePersistenceManagerFactoryProxy 
getTransactionAwarePersistenceManagerFactoryProxy(MetaModelContext 
metaModelContext, LocalPersistenceManagerFactoryBean localPmfBean, 
IsisBeanTypeRegistry beanTypeRegistry, List<JdoEntityDiscoveryListener> 
jdoEntityDiscoveryListeners, DatanucleusSettings dnSettings)
   JdoTransactionManager getTransactionManager(JdoDialect jdoDialect, 
LocalPersistenceManagerFactoryBean localPmfBean)
   TransactionInterceptorFactory getTransactionInterceptorFactory()     // <.>
 }
diff --git 
a/antora/components/refguide-index/modules/testing/pages/index/archtestsupport/applib/classrules/ArchitectureDomainRules.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/archtestsupport/applib/classrules/ArchitectureDomainRules.adoc
index 893b345fb7..de3852a59e 100644
--- 
a/antora/components/refguide-index/modules/testing/pages/index/archtestsupport/applib/classrules/ArchitectureDomainRules.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/archtestsupport/applib/classrules/ArchitectureDomainRules.adoc
@@ -9,7 +9,6 @@ A library of architecture tests to ensure coding conventions 
are followed for do
 .ArchitectureDomainRules.java
 ----
 class ArchitectureDomainRules {
-  ArchRule every_DomainObject_must_specify_logicalTypeName()     // <.>
   ArchRule every_logicalTypeName_must_be_unique()     // <.>
   ArchRule every_DomainObject_must_also_be_annotated_with_DomainObjectLayout() 
    // <.>
   ArchRule 
every_DomainService_must_also_be_annotated_with_DomainServiceLayout()     // <.>
@@ -31,11 +30,6 @@ class ArchitectureDomainRules {
 }
 ----
 
-<.> 
xref:#every_DomainObject_must_specify_logicalTypeName__[every_DomainObject_must_specify_logicalTypeName()]
-+
---
-This rule requires that classes annotated with the 
xref:refguide:applib:index/annotation/DomainObject.adoc[DomainObject] 
annotation must specify their _DomainObject#logicalTypeName() logicalTypeName_ .
---
 <.> 
xref:#every_logicalTypeName_must_be_unique__[every_logicalTypeName_must_be_unique()]
 +
 --
@@ -109,11 +103,6 @@ This rule requires that finders of repos reutrn either 
_java.util.Collection_ s
 
 == Members
 
-[#every_DomainObject_must_specify_logicalTypeName__]
-=== every_DomainObject_must_specify_logicalTypeName()
-
-This rule requires that classes annotated with the 
xref:refguide:applib:index/annotation/DomainObject.adoc[DomainObject] 
annotation must specify their _DomainObject#logicalTypeName() logicalTypeName_ .
-
 [#every_logicalTypeName_must_be_unique__]
 === every_logicalTypeName_must_be_unique()
 
diff --git 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScripts.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScripts.adoc
index d556af3f23..c433a3480d 100644
--- 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScripts.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScripts.adoc
@@ -23,8 +23,8 @@ public static final String LOGICAL_TYPE_NAME;
   Object recreateObjectsAndReturnFirst()     // <.>
   boolean hideRecreateObjectsAndReturnFirst()
   void run(FixtureScript... fixtureScriptList)
-  void runPersonas(PersonaWithBuilderScript<? extends 
BuilderScriptAbstract<?>>... personaScripts)
-  T runPersona(PersonaWithBuilderScript<? extends BuilderScriptAbstract<? 
extends T>> persona)
+  void runPersonas(PersonaWithBuilderScript<?, ? extends 
BuilderScriptAbstract<?>>... personaScripts)
+  T runPersona(PersonaWithBuilderScript<T, ? extends BuilderScriptAbstract<? 
extends T>> persona)
   T runBuilder(BuilderScriptAbstract<T> builderScript)     // <.>
   T runBuilderScriptNonTransactional(BuilderScriptAbstract<T> builderScript)   
  // <.>
   String findFixtureScriptNameFor(Class<? extends FixtureScript> 
fixtureScriptClass)
diff --git 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScript~ExecutionContext.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScript~ExecutionContext.adoc
index 58db737923..0a88ae3bd0 100644
--- 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScript~ExecutionContext.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/fixturescripts/FixtureScript~ExecutionContext.adoc
@@ -55,10 +55,10 @@ class ExecutionContext {
   T addResult(FixtureScript script, T object)
   T addResult(FixtureScript script, String key, T object)
   T lookup(String key, Class<T> cls)
-  void executeChild(FixtureScript callingFixtureScript, 
PersonaWithBuilderScript<?> personaWithBuilderScript)
-  T executeChildT(FixtureScript callingFixtureScript, 
PersonaWithBuilderScript<F> personaWithBuilderScript)
+  void executeChild(FixtureScript callingFixtureScript, 
PersonaWithBuilderScript<?, ?> personaWithBuilderScript)
+  T executeChildT(FixtureScript callingFixtureScript, 
PersonaWithBuilderScript<T, F> personaWithBuilderScript)
   void executeChild(FixtureScript callingFixtureScript, FixtureScript 
childFixtureScript)     // <.>
-  void executeChildren(FixtureScript callingFixtureScript, 
PersonaWithBuilderScript<?>... personaWithBuilderScripts)
+  void executeChildren(FixtureScript callingFixtureScript, 
PersonaWithBuilderScript<?, ?>... personaWithBuilderScripts)
   void executeChildren(FixtureScript callingFixtureScript, Class<T> 
personaClass)
   void executeChildren(FixtureScript callingFixtureScript, FixtureScript... 
fixtureScripts)
   void executeChildren(FixtureScript callingFixtureScript, List<FixtureScript> 
fixtureScripts)
diff --git 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/BuilderScriptAbstract.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/BuilderScriptAbstract.adoc
index 5ae8fd116b..733f550b10 100644
--- 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/BuilderScriptAbstract.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/BuilderScriptAbstract.adoc
@@ -12,8 +12,8 @@ The 
xref:refguide:testing:index/fixtures/applib/personas/PersonaWithBuilderScrip
 ----
 class BuilderScriptAbstract<T> {
   BuilderScriptAbstract<T> build(FixtureScript parentFixtureScript, 
ExecutionContext executionContext)
-  T objectFor(PersonaWithBuilderScript<BuilderScriptAbstract<T>> persona, 
ExecutionContext executionContext)
-  T findUsing(PersonaWithFinder<T> persona)
+  X objectFor(P persona, FixtureScript.ExecutionContext ec)
+  X findUsing(P persona)
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/LogicalTypeName.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/Persona.adoc
similarity index 53%
rename from 
antora/components/refguide-index/modules/applib/pages/index/annotation/LogicalTypeName.adoc
rename to 
antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/Persona.adoc
index 4509180f57..481c4d9692 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/LogicalTypeName.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/Persona.adoc
@@ -1,27 +1,15 @@
-= @LogicalTypeName
+= Persona _(interface)_
 :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 [...]
 
-Introduced to allow for abstract types to be mapped to a logical-type-name, 
for the security model to apply permission checks against.
+Unifies 
xref:refguide:testing:index/fixtures/applib/personas/PersonaWithFinder.adoc[PersonaWithFinder]
 and 
xref:refguide:testing:index/fixtures/applib/personas/PersonaWithBuilderScript.adoc[PersonaWithBuilderScript]
 , so that an implementation (usually an enum) can both be 
_#build(FixtureScript, FixtureScript.ExecutionContext)_ built) (in the context 
of an existing 
xref:refguide:testing:index/fixtures/applib/fixturescripts/FixtureScript.adoc[FixtureScript]
 ) and _PersonaWithFinder#findUs [...]
 
 == API
 
 [source,java]
-.LogicalTypeName.java
+.Persona.java
 ----
-@interface LogicalTypeName {
-  String value() default "";     // <.>
+interface Persona<T, B> {
+  T build(FixtureScript parentFixtureScript, FixtureScript.ExecutionContext 
executionContext)
 }
 ----
 
-<.> xref:#value[value]
-+
---
-If unspecified, the fully-qualified class name is used instead.
---
-
-== Members
-
-[#value]
-=== value
-
-If unspecified, the fully-qualified class name is used instead.
diff --git 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/PersonaWithBuilderScript.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/PersonaWithBuilderScript.adoc
index b7252881be..975d166a94 100644
--- 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/PersonaWithBuilderScript.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/personas/PersonaWithBuilderScript.adoc
@@ -10,8 +10,8 @@ Intended for persona enums to implement, to provide an 
instance of a xref:refgui
 [source,java]
 .PersonaWithBuilderScript.java
 ----
-interface PersonaWithBuilderScript<T> {
-  T builder()     // <.>
+interface PersonaWithBuilderScript<T, B> {
+  B builder()     // <.>
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/setup/PersonaEnumPersistAll.adoc
 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/setup/PersonaEnumPersistAll.adoc
index fbc66e3d2e..2863aaae81 100644
--- 
a/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/setup/PersonaEnumPersistAll.adoc
+++ 
b/antora/components/refguide-index/modules/testing/pages/index/fixtures/applib/setup/PersonaEnumPersistAll.adoc
@@ -6,7 +6,7 @@
 [source,java]
 .PersonaEnumPersistAll.java
 ----
-class PersonaEnumPersistAll<E, T> {
+class PersonaEnumPersistAll<T, E, B> {
   PersonaEnumPersistAll(Class<E> personaEnumClass)
   Integer getNumber()
   void setNumber(Integer number)
diff --git 
a/antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/mixins/Object_clearHints.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/mixins/Object_clearHints.adoc
index 716aa638e2..28a0a4ca4d 100644
--- 
a/antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/mixins/Object_clearHints.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/wicket/viewer/mixins/Object_clearHints.adoc
@@ -1,13 +1,13 @@
 = Object_clearHints
 :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 [...]
 
-Provides the ability for the end-user to discard these UI hints so that the 
object is rendered in its initial state:
+Provides the ability for the end-user to discard UI hints so that the object 
is rendered in its initial state:
 
 When a domain object is rendered the end-user can select different tabs, and 
for collections can sort the columns, navigate to second pages, or select 
different views of collections. If the user revisits that object, the Wicket 
viewer (at least) will remember these hints and render the domain object in the 
same state.
 
 These rendering hints are also included if the user copies the URL using the 
anchor link (to right hand of the object's title).
 
-This mixin - contributed to `java.lang.Object` and therefore to allo domain 
objects - provides the ability for the end user to clear any hints that might 
have been set for the domain object being rendered.
+This mixin - contributed to `java.lang.Object` and therefore to all domain 
objects - provides the ability for the end user to clear any hints that might 
have been set for the domain object being rendered.
 
 == API
 
diff --git a/core/adoc/modules/_overview/pages/about.adoc 
b/core/adoc/modules/_overview/pages/about.adoc
index 6d9510588a..c06680e093 100644
--- a/core/adoc/modules/_overview/pages/about.adoc
+++ b/core/adoc/modules/_overview/pages/about.adoc
@@ -33,7 +33,7 @@ package "App\n[Software System]" {
 .Projects/Modules (App)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Starter Parent
 [source,yaml]
@@ -74,31 +74,17 @@ skinparam rectangle<<3>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<4>> {
-  BackgroundColor #438dd5
-  FontColor #fffffe
-  BorderColor #2E6295
-}
-skinparam rectangle<<5>> {
-  BackgroundColor #438dd5
-  FontColor #fffffe
-  BorderColor #2E6295
-}
 package "Mavendeps\n[Software System]" {
   rectangle "==Apache Isis Maven Deps\n<size:10>[Container: packaging: 
pom]</size>" <<2>> as 2
-  rectangle "==Apache Isis Maven Deps - Integration 
Testing\n<size:10>[Container: packaging: pom]</size>" <<3>> as 3
-  rectangle "==Apache Isis Maven Deps - Unit Testing\n<size:10>[Container: 
packaging: pom]</size>" <<4>> as 4
-  rectangle "==Apache Isis Maven Deps - Webapp\n<size:10>[Container: 
packaging: pom]</size>" <<5>> as 5
+  rectangle "==Apache Isis Maven Deps - Webapp\n<size:10>[Container: 
packaging: pom]</size>" <<3>> as 3
 }
 2 .[#707070].> 3 : ""
-2 .[#707070].> 4 : ""
-2 .[#707070].> 5 : ""
 @enduml
 ----
 .Projects/Modules (Mavendeps)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Maven Deps
 [source,yaml]
@@ -110,39 +96,6 @@ Directory: /mavendeps
 ----
 |Collection of Apache Isis Maven Dependency Bundles.
 
-|Apache Isis Maven Deps - Integration Testing
-[source,yaml]
-----
-Group: org.apache.isis.mavendeps
-Artifact: isis-mavendeps-integtests
-Type: pom
-Directory: /mavendeps/integtests
-----
-|Defines a module that can be used as a single dependency for integration 
tests.
-
-.Dependencies
-****
-org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
-org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
-org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
-****
-
-|Apache Isis Maven Deps - Unit Testing
-[source,yaml]
-----
-Group: org.apache.isis.mavendeps
-Artifact: isis-mavendeps-unittests
-Type: pom
-Directory: /mavendeps/unittests
-----
-|Defines a module that can be used as a single dependency for a set of common 
testing libraries.
-
-.Dependencies
-****
-org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
-org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
-****
-
 |Apache Isis Maven Deps - Webapp
 [source,yaml]
 ----
@@ -326,7 +279,7 @@ package "Testing\n[Software System]" {
 .Projects/Modules (Testing)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Testing
 [source,yaml]
@@ -440,10 +393,11 @@ Directory: /testing/fakedata/integtests
 ----
 |.Dependencies
 ****
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
 org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
 org.apache.isis.testing:isis-testing-fakedata-fixtures:jar:<managed> +
+org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 ****
 
 |Apache Isis Tst - Fixtures (parent)
@@ -482,7 +436,7 @@ 
org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:testing:index/fixtures/applib/IsisIntegrationTestAbstractWithFixtures.adoc[IsisIntegrationTestAbstractWithFixtures],
 
xref:refguide:testing:index/fixtures/applib/IsisModuleTestingFixturesApplib.adoc[IsisModuleTestingFixturesApplib],
 
xref:refguide:testing:index/fixtures/applib/events/FixturesInstalledEvent.adoc[FixturesInstalledEvent],
 
xref:refguide:testing:index/fixtures/applib/events/FixturesInstallingEvent.adoc[FixturesInstallingEvent],
 xref:refguide:testing:index/fixtures [...]
+xref:refguide:testing:index/fixtures/applib/IsisIntegrationTestAbstractWithFixtures.adoc[IsisIntegrationTestAbstractWithFixtures],
 
xref:refguide:testing:index/fixtures/applib/IsisModuleTestingFixturesApplib.adoc[IsisModuleTestingFixturesApplib],
 
xref:refguide:testing:index/fixtures/applib/events/FixturesInstalledEvent.adoc[FixturesInstalledEvent],
 
xref:refguide:testing:index/fixtures/applib/events/FixturesInstallingEvent.adoc[FixturesInstallingEvent],
 xref:refguide:testing:index/fixtures [...]
 ****
 
 |Apache Isis Tst - H2 Console (parent)
@@ -614,7 +568,7 @@ Directory: /testing/specsupport/applib
 io.cucumber:cucumber-java:jar:<managed> +
 io.cucumber:cucumber-junit-platform-engine:jar:<managed> +
 io.cucumber:cucumber-spring:jar:<managed> +
-io.cucumber:messages:jar:18.0.0 +
+io.cucumber:messages:jar:19.0.0 +
 org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
 org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
 org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
@@ -751,7 +705,7 @@ package "Examples\n[Software System]" {
 .Projects/Modules (Examples)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Demo - Parent
 [source,yaml]
@@ -1056,10 +1010,10 @@ 
org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
 org.apache.isis.core:isis-core-security:jar:<managed> +
 org.apache.isis.examples.apps:demo-domain:jar:${project.version} +
 
org.apache.isis.incubator.viewer:isis-viewer-javafx-viewer:jar:${project.version}
 +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jdo-applib:jar:<managed> +
 org.apache.isis.security:isis-security-bypass:jar:<managed> +
 org.apache.isis.security:isis-security-shiro:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-asciidoc-metamodel:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-asciidoc-ui:pom:${project.version} +
 org.apache.isis.valuetypes:isis-valuetypes-markdown-metamodel:jar:<managed> +
@@ -1085,7 +1039,7 @@ 
org.apache.isis.valuetypes:isis-valuetypes-markdown-ui-wkt:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-sse-ui-wkt:jar:<managed> +
 org.projectlombok:lombok:jar:<managed> +
 ****
-Sudo
+
 |Demo - Web
 [source,yaml]
 ----
@@ -1127,8 +1081,8 @@ 
demoapp.webapp.wicket.common.ui.custom.WhereInTheWorldPanelFactory +
 .Dependencies
 ****
 org.apache.isis.examples.apps:demo-web:jar:${project.version} +
-org.apache.isis.extensions:isis-extensions-fullcalendar-ui:jar:<managed> +
-org.apache.isis.extensions:isis-extensions-pdfjs-ui:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-fullcalendar-wicket-ui:jar:<managed>
 +
+org.apache.isis.extensions:isis-extensions-pdfjs-wicket-ui:jar:<managed> +
 org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-asciidoc-ui-wkt:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-markdown-ui-wkt:jar:<managed> +
@@ -1231,7 +1185,7 @@ package "Root\n[Software System]" {
 .Projects/Modules (Root)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis (Aggregator)
 [source,yaml]
@@ -1311,7 +1265,7 @@ package "Commons\n[Software System]" {
 .Projects/Modules (Commons)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Commons
 [source,yaml]
@@ -1468,7 +1422,7 @@ package "Core\n[Software System]" {
 .Projects/Modules (Core)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Core
 [source,yaml]
@@ -1510,7 +1464,7 @@ o.a.i.applib.services.publishing.log.EntityChangesLogger +
 o.a.i.applib.services.publishing.log.EntityPropertyChangeLogger +
 o.a.i.applib.services.publishing.log.ExecutionLogger +
 o.a.i.applib.services.queryresultscache.QueryResultsCache +
-o.a.i.applib.services.session.SessionLoggingServiceLogging +
+o.a.i.applib.services.session.SessionLogServiceLogging +
 o.a.i.applib.services.sudo.SudoService +
 o.a.i.applib.services.user.UserService +
 ****
@@ -1527,7 +1481,7 @@ org.jmock:jmock:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:applib:index/Identifier.adoc[Identifier], 
xref:refguide:applib:index/IsisModuleApplib.adoc[IsisModuleApplib], 
xref:refguide:applib:index/ViewModel.adoc[ViewModel], 
xref:refguide:applib:index/annotation/Action.adoc[Action], 
xref:refguide:applib:index/annotation/ActionLayout.adoc[ActionLayout], 
xref:refguide:applib:index/annotation/BookmarkPolicy.adoc[BookmarkPolicy], 
xref:refguide:applib:index/annotation/Bounding.adoc[Bounding], 
xref:refguide:applib:index/annotation/Collecti [...]
+xref:refguide:applib:index/Identifier.adoc[Identifier], 
xref:refguide:applib:index/IsisModuleApplib.adoc[IsisModuleApplib], 
xref:refguide:applib:index/IsisModuleApplibChangeAndExecutionLoggers.adoc[IsisModuleApplibChangeAndExecutionLoggers],
 
xref:refguide:applib:index/IsisModuleApplibObjectMetadataMixins.adoc[IsisModuleApplibObjectMetadataMixins],
 xref:refguide:applib:index/ViewModel.adoc[ViewModel], 
xref:refguide:applib:index/annotation/Action.adoc[Action], 
xref:refguide:applib:index/an [...]
 ****
 
 |Apache Isis Core - Code Gen (ByteBuddy)
@@ -1797,6 +1751,7 @@ 
o.a.i.core.runtimeservices.recognizer.dae.ExceptionRecognizerForDataAccessExcept
 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.InteractionIdGenerator +
 o.a.i.core.runtimeservices.session.InteractionServiceDefault +
 o.a.i.core.runtimeservices.sitemap.SitemapServiceDefault +
 o.a.i.core.runtimeservices.spring.SpringBeansService +
@@ -2040,7 +1995,7 @@ package "JDO\n[Software System]" {
 .Projects/Modules (JDO)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Persistence - JDO
 [source,yaml]
@@ -2087,7 +2042,6 @@ Directory: /persistence/jdo/datanucleus
 
 .Components
 ****
-o.a.i.persistence.jdo.datanucleus.config.DnEntityDiscoveryListener +
 o.a.i.persistence.jdo.datanucleus.entities.DnEntityStateProvider +
 o.a.i.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault +
 ****
@@ -2272,7 +2226,7 @@ package "JPA\n[Software System]" {
 .Projects/Modules (JPA)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Persistence - JPA
 [source,yaml]
@@ -2413,7 +2367,7 @@ package "Bypass\n[Software System]" {
 .Projects/Modules (Bypass)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Security - Bypass
 [source,yaml]
@@ -2470,7 +2424,7 @@ package "Keycloak\n[Software System]" {
 .Projects/Modules (Keycloak)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Security - Keycloak
 [source,yaml]
@@ -2536,7 +2490,7 @@ package "Shiro\n[Software System]" {
 .Projects/Modules (Shiro)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Security - Shiro
 [source,yaml]
@@ -2601,7 +2555,7 @@ package "Spring\n[Software System]" {
 .Projects/Modules (Spring)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Security - Spring
 [source,yaml]
@@ -2668,7 +2622,7 @@ package "Common\n[Software System]" {
 .Projects/Modules (Common)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Viewer - Common Model
 [source,yaml]
@@ -2771,7 +2725,7 @@ package "Restful Objects\n[Software System]" {
 .Projects/Modules (Restful Objects)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Viewer - RO
 [source,yaml]
@@ -2998,7 +2952,7 @@ package "Wicket\n[Software System]" {
 .Projects/Modules (Wicket)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Viewer - Wicket
 [source,yaml]
@@ -3196,7 +3150,7 @@ package "Valuetypes\n[Software System]" {
 .Projects/Modules (Valuetypes)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Value types
 [source,yaml]
@@ -3406,7 +3360,7 @@ package "Asciidoc\n[Software System]" {
 .Projects/Modules (Asciidoc)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Val - Asciidoctor (parent)
 [source,yaml]
@@ -3522,6 +3476,7 @@ Directory: /valuetypes/asciidoc/ui
 ****
 com.github.jnr:jnr-constants:jar:0.10.3 +
 com.github.jnr:jnr-enxio:jar:0.32.13 +
+com.github.jnr:jnr-ffi:jar:2.2.12 +
 com.github.jnr:jnr-posix:jar:3.1.15 +
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 org.apache.isis.valuetypes:isis-valuetypes-asciidoc-applib:jar:<managed> +
@@ -3652,7 +3607,7 @@ package "Markdown\n[Software System]" {
 .Projects/Modules (Markdown)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Val - Markdown (parent)
 [source,yaml]
@@ -3859,7 +3814,7 @@ package "SSE\n[Software System]" {
 .Projects/Modules (SSE)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Val - Server Sent Events (parent)
 [source,yaml]
@@ -3969,32 +3924,77 @@ skinparam {
 }
 hide stereotype
 left to right direction
-skinparam rectangle<<11>> {
+skinparam rectangle<<22>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<22>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<24>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<25>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<13>> {
+skinparam rectangle<<26>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<24>> {
+skinparam rectangle<<27>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<28>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<29>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<30>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<31>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<32>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<10>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<11>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<12>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<13>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -4079,64 +4079,75 @@ skinparam rectangle<<21>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<10>> {
-  BackgroundColor #438dd5
-  FontColor #fffffe
-  BorderColor #2E6295
-}
 package "Extensions\n[Software System]" {
   rectangle "==Apache Isis Ext - CORS (impl)\n<size:10>[Container: packaging: 
jar]</size>" <<4>> as 4
   rectangle "==Apache Isis Ext - CORS (parent)\n<size:10>[Container: 
packaging: pom]</size>" <<3>> as 3
   rectangle "==Apache Isis Ext - Flyway\n<size:10>[Container: packaging: 
pom]</size>" <<5>> as 5
   rectangle "==Apache Isis Ext - Flyway Impl\n<size:10>[Container: packaging: 
jar]</size>" <<6>> as 6
-  rectangle "==Apache Isis Ext - Sec Man\n<size:10>[Container: packaging: 
pom]</size>" <<14>> as 14
-  rectangle "==Apache Isis Ext - Sec Man Applib\n<size:10>[Container: 
packaging: jar]</size>" <<15>> as 15
-  rectangle "==Apache Isis Ext - Sec Man Encryption (Using 
Spring)\n<size:10>[Container: packaging: jar]</size>" <<17>> as 17
-  rectangle "==Apache Isis Ext - Sec Man Encryption (Using 
jbcrypt)\n<size:10>[Container: packaging: jar]</size>" <<16>> as 16
-  rectangle "==Apache Isis Ext - Sec Man Integration\n<size:10>[Container: 
packaging: jar]</size>" <<18>> as 18
-  rectangle "==Apache Isis Ext - Sec Man Persistence (Using 
JDO)\n<size:10>[Container: packaging: jar]</size>" <<19>> as 19
-  rectangle "==Apache Isis Ext - Sec Man Persistence (Using 
JPA)\n<size:10>[Container: packaging: jar]</size>" <<20>> as 20
-  rectangle "==Apache Isis Ext - Sec Man Realm (Using 
Shiro)\n<size:10>[Container: packaging: jar]</size>" <<21>> as 21
-  rectangle "==Apache Isis Ext - Security - Shiro LDAP Realm 
(impl)\n<size:10>[Container: packaging: jar]</size>" <<23>> as 23
-  rectangle "==Apache Isis Ext - Security - Shiro LDAP Realm 
(parent)\n<size:10>[Container: packaging: pom]</size>" <<22>> as 22
-  rectangle "==Apache Isis Ext - Security - Spring 
Oauth2\n<size:10>[Container: packaging: jar]</size>" <<24>> as 24
-  rectangle "==Apache Isis Ext - Wicket Viewer - fullcalendar 
(applib)\n<size:10>[Container: packaging: jar]</size>" <<8>> as 8
-  rectangle "==Apache Isis Ext - Wicket Viewer - fullcalendar 
(parent)\n<size:10>[Container: packaging: pom]</size>" <<7>> as 7
-  rectangle "==Apache Isis Ext - Wicket Viewer - fullcalendar 
(ui)\n<size:10>[Container: packaging: jar]</size>" <<9>> as 9
-  rectangle "==Apache Isis Ext - Wicket Viewer - pdf.js 
(applib)\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
-  rectangle "==Apache Isis Ext - Wicket Viewer - pdf.js 
(metamodel)\n<size:10>[Container: packaging: jar]</size>" <<12>> as 12
-  rectangle "==Apache Isis Ext - Wicket Viewer - pdf.js 
(parent)\n<size:10>[Container: packaging: pom]</size>" <<10>> as 10
-  rectangle "==Apache Isis Ext - Wicket Viewer - pdf.js 
(ui)\n<size:10>[Container: packaging: jar]</size>" <<13>> as 13
+  rectangle "==Apache Isis Ext - FullCalendar (applib)\n<size:10>[Container: 
packaging: jar]</size>" <<8>> as 8
+  rectangle "==Apache Isis Ext - FullCalendar (parent)\n<size:10>[Container: 
packaging: pom]</size>" <<7>> as 7
+  rectangle "==Apache Isis Ext - FullCalendar Wicket\n<size:10>[Container: 
packaging: pom]</size>" <<9>> as 9
+  rectangle "==Apache Isis Ext - FullCalendar Wicket 
(Integration)\n<size:10>[Container: packaging: jar]</size>" <<10>> as 10
+  rectangle "==Apache Isis Ext - FullCalendar Wicket 
(UI)\n<size:10>[Container: packaging: jar]</size>" <<11>> as 11
+  rectangle "==Apache Isis Ext - Sec Man\n<size:10>[Container: packaging: 
pom]</size>" <<18>> as 18
+  rectangle "==Apache Isis Ext - Sec Man Applib\n<size:10>[Container: 
packaging: jar]</size>" <<19>> as 19
+  rectangle "==Apache Isis Ext - Sec Man Encryption (Using 
Spring)\n<size:10>[Container: packaging: jar]</size>" <<21>> as 21
+  rectangle "==Apache Isis Ext - Sec Man Encryption (Using 
jbcrypt)\n<size:10>[Container: packaging: jar]</size>" <<20>> as 20
+  rectangle "==Apache Isis Ext - Sec Man Integration\n<size:10>[Container: 
packaging: jar]</size>" <<22>> as 22
+  rectangle "==Apache Isis Ext - Sec Man Persistence (Using 
JDO)\n<size:10>[Container: packaging: jar]</size>" <<23>> as 23
+  rectangle "==Apache Isis Ext - Sec Man Persistence (Using 
JPA)\n<size:10>[Container: packaging: jar]</size>" <<24>> as 24
+  rectangle "==Apache Isis Ext - Sec Man Realm (Using 
Shiro)\n<size:10>[Container: packaging: jar]</size>" <<25>> as 25
+  rectangle "==Apache Isis Ext - Security - Shiro LDAP Realm 
(impl)\n<size:10>[Container: packaging: jar]</size>" <<31>> as 31
+  rectangle "==Apache Isis Ext - Security - Shiro LDAP Realm 
(parent)\n<size:10>[Container: packaging: pom]</size>" <<30>> as 30
+  rectangle "==Apache Isis Ext - Security - Spring 
Oauth2\n<size:10>[Container: packaging: jar]</size>" <<32>> as 32
+  rectangle "==Apache Isis Ext - Session Log\n<size:10>[Container: packaging: 
pom]</size>" <<26>> as 26
+  rectangle "==Apache Isis Ext - Session Log Applib\n<size:10>[Container: 
packaging: jar]</size>" <<27>> as 27
+  rectangle "==Apache Isis Ext - Session Log Persistence (using 
JDO)\n<size:10>[Container: packaging: jar]</size>" <<28>> as 28
+  rectangle "==Apache Isis Ext - Session Log Persistence (using 
JPA)\n<size:10>[Container: packaging: jar]</size>" <<29>> as 29
+  rectangle "==Apache Isis Ext - pdf.js - Applib\n<size:10>[Container: 
packaging: jar]</size>" <<13>> as 13
+  rectangle "==Apache Isis Ext - pdf.js - Metamodel\n<size:10>[Container: 
packaging: jar]</size>" <<14>> as 14
+  rectangle "==Apache Isis Ext - pdf.js - Parent\n<size:10>[Container: 
packaging: pom]</size>" <<12>> as 12
+  rectangle "==Apache Isis Ext - pdf.js - Wicket 
(Integration)\n<size:10>[Container: packaging: jar]</size>" <<16>> as 16
+  rectangle "==Apache Isis Ext - pdf.js - Wicket (UI)\n<size:10>[Container: 
packaging: jar]</size>" <<17>> as 17
+  rectangle "==Apache Isis Ext - pdf.js Wicket\n<size:10>[Container: 
packaging: pom]</size>" <<15>> as 15
   rectangle "==Apache Isis Extensions\n<size:10>[Container: packaging: 
pom]</size>" <<2>> as 2
 }
 3 .[#707070].> 4 : ""
 5 .[#707070].> 6 : ""
-14 .[#707070].> 15 : ""
-14 .[#707070].> 17 : ""
-14 .[#707070].> 16 : ""
-14 .[#707070].> 18 : ""
-14 .[#707070].> 19 : ""
-14 .[#707070].> 20 : ""
-14 .[#707070].> 21 : ""
-22 .[#707070].> 23 : ""
 7 .[#707070].> 8 : ""
 7 .[#707070].> 9 : ""
-10 .[#707070].> 11 : ""
-10 .[#707070].> 12 : ""
-10 .[#707070].> 13 : ""
+9 .[#707070].> 10 : ""
+9 .[#707070].> 11 : ""
+18 .[#707070].> 19 : ""
+18 .[#707070].> 21 : ""
+18 .[#707070].> 20 : ""
+18 .[#707070].> 22 : ""
+18 .[#707070].> 23 : ""
+18 .[#707070].> 24 : ""
+18 .[#707070].> 25 : ""
+30 .[#707070].> 31 : ""
+26 .[#707070].> 27 : ""
+26 .[#707070].> 28 : ""
+26 .[#707070].> 29 : ""
+12 .[#707070].> 13 : ""
+12 .[#707070].> 14 : ""
+12 .[#707070].> 15 : ""
+15 .[#707070].> 16 : ""
+15 .[#707070].> 17 : ""
 2 .[#707070].> 3 : ""
 2 .[#707070].> 5 : ""
-2 .[#707070].> 14 : ""
-2 .[#707070].> 22 : ""
-2 .[#707070].> 24 : ""
 2 .[#707070].> 7 : ""
-2 .[#707070].> 10 : ""
+2 .[#707070].> 18 : ""
+2 .[#707070].> 30 : ""
+2 .[#707070].> 32 : ""
+2 .[#707070].> 26 : ""
+2 .[#707070].> 12 : ""
 @enduml
 ----
 .Projects/Modules (Extensions)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Extensions
 [source,yaml]
@@ -4212,7 +4223,7 @@ org.springframework:spring-jdbc:jar:<managed> +
 org.springframework.boot:spring-boot-autoconfigure:jar:<managed> +
 ****
 
-|Apache Isis Ext - Wicket Viewer - fullcalendar (parent)
+|Apache Isis Ext - FullCalendar (parent)
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
@@ -4222,7 +4233,7 @@ Directory: /extensions/vw/fullcalendar
 ----
 |A component for Apache Isis' Wicket viewer, displaying collections of objects 
that have a date on a fullcalendar.io (JavaScript widget).
 
-|Apache Isis Ext - Wicket Viewer - fullcalendar (applib)
+|Apache Isis Ext - FullCalendar (applib)
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
@@ -4247,34 +4258,65 @@ org.apache.isis.core:isis-applib:jar:<managed> +
 
xref:refguide:extensions:index/fullcalendar/applib/CalendarEventable.adoc[CalendarEventable],
 
xref:refguide:extensions:index/fullcalendar/applib/Calendarable.adoc[Calendarable],
 
xref:refguide:extensions:index/fullcalendar/applib/IsisModuleExtFullCalendarApplib.adoc[IsisModuleExtFullCalendarApplib],
 
xref:refguide:extensions:index/fullcalendar/applib/spi/CalendarableDereferencingService.adoc[CalendarableDereferencingService],
 xref:refguide:extensions:index/fullcalendar/applib/value/Calenda [...]
 ****
 
-|Apache Isis Ext - Wicket Viewer - fullcalendar (ui)
+|Apache Isis Ext - FullCalendar Wicket
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-fullcalendar-wicket
+Type: pom
+Directory: /extensions/vw/fullcalendar/wicket
+----
+|
+
+|Apache Isis Ext - FullCalendar Wicket (Integration)
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
-Artifact: isis-extensions-fullcalendar-ui
+Artifact: isis-extensions-fullcalendar-wicket-integration
 Type: jar
-Directory: /extensions/vw/fullcalendar/ui
+Directory: /extensions/vw/fullcalendar/wicket/integration
 ----
-|.Components
+|Integrates fullcalendar.io with Wicket
+
+.Dependencies
 ****
-o.a.i.extensions.fullcalendar.ui.component.calendarable.CalendarableCollectionAsFullCalendarFactory
 +
-o.a.i.extensions.fullcalendar.ui.component.calendareventable.CalendarEventableCollectionAsFullCalendarFactory
 +
+com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-fullcalendar-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
+org.webjars:fullcalendar:jar:5.10.2 +
+****
+
+|Apache Isis Ext - FullCalendar Wicket (UI)
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-fullcalendar-wicket-ui
+Type: jar
+Directory: /extensions/vw/fullcalendar/wicket/ui
+----
+|Integrates FullCalendar Wicket with the Wicket Viewer
+
+.Components
+****
+o.a.i.extensions.fullcalendar.wkt.viewer.calendarable.CalendarableCollectionAsFullCalendarFactory
 +
+o.a.i.extensions.fullcalendar.wkt.viewer.calendareventable.CalendarEventableCollectionAsFullCalendarFactory
 +
 ****
 
 .Dependencies
 ****
-net.ftlines.wicket-fullcalendar:wicket-fullcalendar-core:jar:<managed> +
 org.apache.isis.extensions:isis-extensions-fullcalendar-applib:jar:<managed> +
-org.apache.isis.valuetypes:isis-valuetypes-jodatime-applib:jar:2.0.0-SNAPSHOT +
+org.apache.isis.extensions:isis-extensions-fullcalendar-wicket-integration:jar:<managed>
 +
+org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
 ****
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/fullcalendar/ui/component/IsisModuleExtFullCalendarUi.adoc[IsisModuleExtFullCalendarUi]
+xref:refguide:extensions:index/fullcalendar/wkt/viewer/IsisModuleExtFullCalendarUi.adoc[IsisModuleExtFullCalendarUi]
 ****
 
-|Apache Isis Ext - Wicket Viewer - pdf.js (parent)
+|Apache Isis Ext - pdf.js - Parent
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
@@ -4284,7 +4326,7 @@ Directory: /extensions/vw/pdfjs
 ----
 |A component for Apache Isis' Wicket viewer, allowing BLOBs containing PDFs to 
be rendered in a panel using pdf.js.
 
-|Apache Isis Ext - Wicket Viewer - pdf.js (applib)
+|Apache Isis Ext - pdf.js - Applib
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
@@ -4294,16 +4336,16 @@ Directory: /extensions/vw/pdfjs/applib
 ----
 |.Dependencies
 ****
-de.agilecoders.wicket:wicket-bootstrap-core:jar:<managed> +
+org.apache.isis.commons:isis-commons:jar:<managed> +
 org.apache.isis.core:isis-applib:jar:<managed> +
 ****
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/viewer/wicket/pdfjs/applib/annotations/PdfJsViewer.adoc[PdfJsViewer],
 
xref:refguide:extensions:index/viewer/wicket/pdfjs/applib/config/PdfJsConfig.adoc[PdfJsConfig],
 
xref:refguide:extensions:index/viewer/wicket/pdfjs/applib/config/Scale.adoc[Scale],
 
xref:refguide:extensions:index/viewer/wicket/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc[PdfJsViewerAdvisor]
+xref:refguide:extensions:index/pdfjs/applib/annotations/PdfJsViewer.adoc[PdfJsViewer],
 
xref:refguide:extensions:index/pdfjs/applib/config/PdfJsConfig.adoc[PdfJsConfig],
 xref:refguide:extensions:index/pdfjs/applib/config/Scale.adoc[Scale], 
xref:refguide:extensions:index/pdfjs/applib/spi/PdfJsViewerAdvisor.adoc[PdfJsViewerAdvisor]
 ****
 
-|Apache Isis Ext - Wicket Viewer - pdf.js (metamodel)
+|Apache Isis Ext - pdf.js - Metamodel
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
@@ -4313,38 +4355,71 @@ Directory: /extensions/vw/pdfjs/metamodel
 ----
 |.Components
 ****
-o.a.i.extensions.viewer.wicket.pdfjs.metamodel.facet.PdfJsViewerFacetFromAnnotationFactory$Register
 +
+o.a.i.extensions.pdfjs.metamodel.facet.PdfJsViewerFacetFromAnnotationFactory$Register
 +
 ****
 
 .Dependencies
 ****
-de.agilecoders.wicket:wicket-bootstrap-core:jar:<managed> +
 org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 org.apache.isis.extensions:isis-extensions-pdfjs-applib:jar:<managed> +
 ****
 
-|Apache Isis Ext - Wicket Viewer - pdf.js (ui)
+|Apache Isis Ext - pdf.js Wicket
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-pdfjs-wicket
+Type: pom
+Directory: /extensions/vw/pdfjs/wicket
+----
+|
+
+|Apache Isis Ext - pdf.js - Wicket (Integration)
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-pdfjs-wicket-integration
+Type: jar
+Directory: /extensions/vw/pdfjs/wicket/integration
+----
+|Integrates pdf.js with Wicket
+
+.Dependencies
+****
+org.apache.isis.extensions:isis-extensions-pdfjs-applib:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
+org.webjars.bowergithub.mozilla:pdfjs-dist:jar:1.10.100 +
+org.webjars.npm:pdfjs-dist:jar:2.13.216 +
+****
+
+.Document Index Entries
+****
+xref:refguide:extensions:index/pdfjs/wkt/integration/IsisModuleExtPdfjsWicketIntegration.adoc[IsisModuleExtPdfjsWicketIntegration]
+****
+
+|Apache Isis Ext - pdf.js - Wicket (UI)
 [source,yaml]
 ----
 Group: org.apache.isis.extensions
-Artifact: isis-extensions-pdfjs-ui
+Artifact: isis-extensions-pdfjs-wicket-ui
 Type: jar
-Directory: /extensions/vw/pdfjs/ui
+Directory: /extensions/vw/pdfjs/wicket/ui
 ----
 |.Components
 ****
-o.a.i.extensions.viewer.wicket.pdfjs.ui.components.PdfJsViewerPanelComponentFactory
 +
+o.a.i.extensions.pdfjs.wkt.ui.components.PdfJsViewerPanelComponentFactory +
 ****
 
 .Dependencies
 ****
 org.apache.isis.extensions:isis-extensions-pdfjs-metamodel:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-pdfjs-wicket-integration:jar:<managed>
 +
 org.apache.isis.viewer:isis-viewer-wicket-ui:jar:<managed> +
 ****
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/viewer/wicket/pdfjs/ui/IsisModuleExtPdfjsUi.adoc[IsisModuleExtPdfjsUi]
+xref:refguide:extensions:index/pdfjs/wkt/ui/IsisModuleExtPdfjsWicketUi.adoc[IsisModuleExtPdfjsWicketUi]
 ****
 
 |Apache Isis Ext - Sec Man
@@ -4379,8 +4454,8 @@ 
o.a.i.extensions.secman.applib.user.menu.MeService$UserMenuMeActionAdvisor +
 
 .Dependencies
 ****
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
 org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 org.springframework.security:spring-security-crypto:jar:<managed> +
 ****
 
@@ -4487,9 +4562,9 @@ o.a.i.extensions.secman.jdo.util.RegexReplacer +
 org.apache.isis.core:isis-core-runtime:jar:<managed> +
 org.apache.isis.extensions:isis-extensions-secman-applib:test-jar:<managed> +
 org.apache.isis.extensions:isis-extensions-secman-integration:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
 org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 ****
 
 .Document Index Entries
@@ -4519,9 +4594,9 @@ o.a.i.extensions.secman.jpa.util.RegexReplacer +
 org.apache.isis.core:isis-core-runtime:jar:<managed> +
 org.apache.isis.extensions:isis-extensions-secman-applib:test-jar:<managed> +
 org.apache.isis.extensions:isis-extensions-secman-integration:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
 org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 ****
 
 .Document Index Entries
@@ -4549,6 +4624,85 @@ 
org.apache.isis.security:isis-security-shiro:jar:<managed> +
 
xref:refguide:extensions:index/secman/shiro/IsisModuleExtSecmanRealmShiro.adoc[IsisModuleExtSecmanRealmShiro],
 
xref:refguide:extensions:index/secman/shiro/IsisModuleExtSecmanShiroRealm.adoc[IsisModuleExtSecmanShiroRealm],
 xref:refguide:extensions:index/secman/shiro/util/ShiroUtils.adoc[ShiroUtils]
 ****
 
+|Apache Isis Ext - Session Log
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-sessionlog
+Type: pom
+Directory: /extensions/security/sessionlog
+----
+|.Dependencies
+****
+org.apache.isis.core:isis-core-metamodel:jar:<managed> +
+****
+
+|Apache Isis Ext - Session Log Applib
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-sessionlog-applib
+Type: jar
+Directory: /extensions/security/sessionlog/applib
+----
+|.Components
+****
+o.a.i.sessionlog.applib.spiimpl.SessionLogServiceDefault +
+o.a.i.sessionlog.applib.spiimpl.SessionLogServiceInitializer +
+****
+
+.Dependencies
+****
+org.apache.isis.core:isis-core-runtime:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+****
+
+|Apache Isis Ext - Session Log Persistence (using JDO)
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-sessionlog-persistence-jdo
+Type: jar
+Directory: /extensions/security/sessionlog/persistence-jdo
+----
+|.Components
+****
+o.a.i.sessionlog.jdo.dom.SessionLogEntryRepository +
+****
+
+.Dependencies
+****
+org.apache.isis.core:isis-core-runtime:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-sessionlog-applib:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-sessionlog-applib:test-jar:<managed>
 +
+org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
+org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+****
+
+|Apache Isis Ext - Session Log Persistence (using JPA)
+[source,yaml]
+----
+Group: org.apache.isis.extensions
+Artifact: isis-extensions-sessionlog-persistence-jpa
+Type: jar
+Directory: /extensions/security/sessionlog/persistence-jpa
+----
+|.Components
+****
+o.a.i.sessionlog.jpa.dom.SessionLogEntryRepository +
+****
+
+.Dependencies
+****
+org.apache.isis.core:isis-core-runtime:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-sessionlog-applib:jar:<managed> +
+org.apache.isis.extensions:isis-extensions-sessionlog-applib:test-jar:<managed>
 +
+org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
+org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+****
+
 |Apache Isis Ext - Security - Shiro LDAP Realm (parent)
 [source,yaml]
 ----
@@ -4677,7 +4831,7 @@ package "Applib: Excel\n[Software System]" {
 .Projects/Modules (Applib: Excel)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Ext - Excel (parent)
 [source,yaml]
@@ -4716,7 +4870,7 @@ org.apache.poi:poi-ooxml-lite:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/excel/applib/IsisModuleExtExcelApplib.adoc[IsisModuleExtExcelApplib],
 
xref:refguide:extensions:index/excel/applib/dom/AggregationType.adoc[AggregationType],
 
xref:refguide:extensions:index/excel/applib/dom/ExcelMetaDataEnabled.adoc[ExcelMetaDataEnabled],
 
xref:refguide:extensions:index/excel/applib/dom/ExcelService.adoc[ExcelService],
 xref:refguide:extensions:index/excel/applib/dom/HyperLink.adoc[HyperLink], 
xref:refguide:extensions:index/excel/applib/dom/Piv [...]
+xref:refguide:extensions:index/excel/applib/AggregationType.adoc[AggregationType],
 
xref:refguide:extensions:index/excel/applib/ExcelMetaDataEnabled.adoc[ExcelMetaDataEnabled],
 xref:refguide:extensions:index/excel/applib/ExcelService.adoc[ExcelService], 
xref:refguide:extensions:index/excel/applib/IsisModuleExtExcelApplib.adoc[IsisModuleExtExcelApplib],
 xref:refguide:extensions:index/excel/applib/Mode.adoc[Mode], 
xref:refguide:extensions:index/excel/applib/RowHandler.adoc[RowHandler], xref 
[...]
 ****
 
 |Apache Isis Ext - Excel (Fixtures)
@@ -4748,9 +4902,10 @@ Directory: /extensions/applib/excel/integtests
 |.Dependencies
 ****
 org.apache.isis.extensions:isis-extensions-excel-fixtures:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
 org.apache.isis.testing:isis-testing-fakedata-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
 org.hsqldb:hsqldb:jar:<managed> +
 ****
 
@@ -4862,7 +5017,7 @@ package "Core: Command Log\n[Software System]" {
 .Projects/Modules (Core: Command Log)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Ext - Command Log
 [source,yaml]
@@ -4884,9 +5039,8 @@ Directory: /extensions/core/commandlog/applib
 ----
 |.Components
 ****
-o.a.i.extensions.commandlog.applib.command.CommandLog$TableColumnOrderDefault +
-o.a.i.extensions.commandlog.applib.command.CommandLog$TitleProvider +
-o.a.i.extensions.commandlog.applib.command.subscriber.CommandSubscriberForCommandLog
 +
+o.a.i.extensions.commandlog.applib.dom.CommandLogEntry$TableColumnOrderDefault 
+
+o.a.i.extensions.commandlog.applib.subscriber.CommandSubscriberForCommandLog +
 ****
 
 .Dependencies
@@ -4894,15 +5048,14 @@ 
o.a.i.extensions.commandlog.applib.command.subscriber.CommandSubscriberForComman
 org.apache.isis.core:isis-applib:jar:<managed> +
 org.apache.isis.core:isis-core-config:jar:<managed> +
 org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-unittests:pom:<managed> +
 org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
-org.datanucleus:javax.jdo:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 ****
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/commandlog/applib/command/subscriber/CommandSubscriberForCommandLog.adoc[CommandSubscriberForCommandLog],
 
xref:refguide:extensions:index/commandlog/applib/command/ui/CommandLogServiceMenu.adoc[CommandLogServiceMenu]
+xref:refguide:extensions:index/commandlog/applib/app/CommandLogServiceMenu.adoc[CommandLogServiceMenu],
 
xref:refguide:extensions:index/commandlog/applib/contributions/HasInteractionId_command.adoc[HasInteractionId_command],
 
xref:refguide:extensions:index/commandlog/applib/contributions/HasUsername_recentCommandsByUser.adoc[HasUsername_recentCommandsByUser],
 
xref:refguide:extensions:index/commandlog/applib/contributions/Object_recentCommands.adoc[Object_recentCommands],
 xref:refguide:exte [...]
 ****
 
 |Apache Isis Ext - Command Log Implementation (JDO)
@@ -4915,20 +5068,20 @@ Directory: /extensions/core/commandlog/jdo
 ----
 |.Components
 ****
-o.a.i.extensions.commandlog.jdo.entities.CommandJdoRepository +
+o.a.i.extensions.commandlog.jdo.dom.CommandLogEntryRepository +
 ****
 
 .Dependencies
 ****
 org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-unittests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 ****
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/commandlog/jdo/IsisModuleExtCommandLogJdo.adoc[IsisModuleExtCommandLogJdo],
 
xref:refguide:extensions:index/commandlog/jdo/mixins/HasInteractionId_command.adoc[HasInteractionId_command],
 
xref:refguide:extensions:index/commandlog/jdo/mixins/HasUsername_recentCommandsByUser.adoc[HasUsername_recentCommandsByUser],
 
xref:refguide:extensions:index/commandlog/jdo/mixins/Object_recentCommands.adoc[Object_recentCommands]
+xref:refguide:extensions:index/commandlog/jdo/IsisModuleExtCommandLogJdo.adoc[IsisModuleExtCommandLogJdo]
 ****
 
 |Apache Isis Ext - Command Log Implementation (JPA)
@@ -4941,15 +5094,16 @@ Directory: /extensions/core/commandlog/jpa
 ----
 |.Components
 ****
-o.a.i.extensions.commandlog.jpa.entities.CommandJpaRepository +
+o.a.i.extensions.commandlog.jpa.dom.CommandLogEntryRepository +
 ****
 
 .Dependencies
 ****
 org.apache.isis.extensions:isis-extensions-commandlog-applib:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-unittests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
+org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 ****
 
 .Document Index Entries
@@ -5002,7 +5156,7 @@ package "Core: Command Replay\n[Software System]" {
 .Projects/Modules (Core: Command Replay)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Ext - Command Replay
 [source,yaml]
@@ -5080,7 +5234,7 @@ org.glassfish.jersey.ext:jersey-spring5:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.adoc[IsisModuleExtCommandReplaySecondary],
 
xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc[CommandReplayAnalyser],
 
xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc[CommandReplayAnalyserException],
 
xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc[CommandReplay
 [...]
+xref:refguide:extensions:index/commandreplay/secondary/IsisModuleExtCommandReplaySecondary.adoc[IsisModuleExtCommandReplaySecondary],
 
xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyser.adoc[CommandReplayAnalyser],
 
xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyserException.adoc[CommandReplayAnalyserException],
 
xref:refguide:extensions:index/commandreplay/secondary/analyser/CommandReplayAnalyserResult.adoc[CommandReplay
 [...]
 ****
 |===
 
@@ -5121,7 +5275,7 @@ package "Core: Quartz\n[Software System]" {
 .Projects/Modules (Core: Quartz)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Ext - Quartz
 [source,yaml]
@@ -5245,7 +5399,7 @@ package "Tooling\n[Software System]" {
 .Projects/Modules (Tooling)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis - Tooling
 [source,yaml]
@@ -5261,11 +5415,11 @@ eg. code mining, automated documentation.
 
 .Dependencies
 ****
-org.checkerframework:checker-qual:jar:3.21.4 +
+org.checkerframework:checker-qual:jar:3.22.1 +
 org.junit.jupiter:junit-jupiter-api:jar:<managed> +
 org.junit.jupiter:junit-jupiter-engine:jar:<managed> +
 org.junit.vintage:junit-vintage-engine:jar:<managed> +
-org.mapstruct:mapstruct-processor:jar:1.4.2.Final +
+org.mapstruct:mapstruct-processor:jar:1.5.1.Final +
 org.projectlombok:lombok:jar:<managed> +
 org.slf4j:slf4j-api:jar:<managed> +
 org.springframework.boot:spring-boot-starter-log4j2:jar:<managed> +
@@ -5547,7 +5701,7 @@ package "Regression Tests\n[Software System]" {
 .Projects/Modules (Regression Tests)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis - Regression Tests
 [source,yaml]
@@ -5562,7 +5716,7 @@ Directory: /regressiontests
 
 .Dependencies
 ****
-org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:${project.version}
 +
 org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 org.projectlombok:lombok:jar:<managed> +
 ****
@@ -5862,7 +6016,7 @@ package "Incubator\n[Software System]" {
 .Projects/Modules (Incubator)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Incubator
 [source,yaml]
@@ -5910,7 +6064,7 @@ package "Kroviz Client\n[Software System]" {
 .Projects/Modules (Kroviz Client)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Incubator - Client kroViz
 [source,yaml]
@@ -5974,7 +6128,7 @@ package "GraphQL Viewer\n[Software System]" {
 .Projects/Modules (GraphQL Viewer)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Inc - Viewer GraphQL
 [source,yaml]
@@ -6040,10 +6194,10 @@ com.h2database:h2:jar:<managed> +
 org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
 org.apache.isis.core:isis-core-webapp:jar:<managed> +
 org.apache.isis.incubator.viewer:isis-viewer-graphql-model:jar:<managed> +
-org.apache.isis.mavendeps:isis-mavendeps-unittests:pom:<managed> +
 org.apache.isis.persistence:isis-persistence-jpa-eclipselink:jar:<managed> +
 org.apache.isis.security:isis-security-bypass:jar:<managed> +
 org.apache.isis.testing:isis-testing-fixtures-applib:jar:<managed> +
+org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 org.assertj:assertj-core:jar:<managed> +
 org.mockito:mockito-core:jar:<managed> +
 org.springframework:spring-test:jar:<managed> +
@@ -6102,7 +6256,7 @@ package "Vaadin Viewer\n[Software System]" {
 .Projects/Modules (Vaadin Viewer)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Inc - Viewer Vaadin
 [source,yaml]
@@ -6239,7 +6393,7 @@ package "JavaFX Viewer\n[Software System]" {
 .Projects/Modules (JavaFX Viewer)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description
+|Coordinates |Description 
 
 |Apache Isis Inc - Viewer JavaFX
 [source,yaml]

Reply via email to