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

commit 6ae99696eb7cf3509d372eb4e4f3f9c0da0c004c
Author: Andi Huber <[email protected]>
AuthorDate: Sun Aug 28 21:42:41 2022 +0200

    ISIS-3167: update site index
---
 .../pages/index/annotation/CollectionLayout.adoc   |   2 +-
 .../pages/index/annotation/Introspection.adoc      |   8 +-
 .../commons/pages/index/collections/Can.adoc       |   5 +
 .../index/metamodel/object/ManagedObject.adoc      | 169 +++++++++++++++++++++
 .../changetracking/EntityChangeTracker.adoc        |   8 +-
 .../jdo/IsisModuleExtCommandLogPersistenceJdo.adoc |  12 +-
 .../jpa/IsisModuleExtCommandLogPersistenceJpa.adoc |  14 +-
 ...IsisModuleExtExecutionOutboxPersistenceJdo.adoc |  12 +-
 ...IsisModuleExtExecutionOutboxPersistenceJpa.adoc |  14 +-
 .../jdo/IsisModuleExtSecmanPersistenceJdo.adoc     |  13 ++
 .../jpa/IsisModuleExtSecmanPersistenceJpa.adoc     |  14 +-
 ...IsisModulePersistenceJdoDatanucleusMixins.adoc} |   6 +-
 .../commons/applib/mixins/Object_impersonate.adoc  |   2 +-
 .../services/branding/BrandingUiService.adoc}      |   8 +-
 .../applib/services/header/HeaderUiService.adoc}   |   7 +-
 .../applib/services/menu/MenuUiService.adoc}       |   9 +-
 ...odelProvider.adoc => UserProfileUiService.adoc} |   6 +-
 .../valuerender/JsonValueEncoderService.adoc       |  14 +-
 core/adoc/modules/_overview/pages/about.adoc       |  94 +++++++++---
 19 files changed, 346 insertions(+), 71 deletions(-)

diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/CollectionLayout.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/CollectionLayout.adoc
index b8e22f666e..26adbc472c 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/CollectionLayout.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/CollectionLayout.adoc
@@ -17,7 +17,7 @@ Layout hints for collections.
   int paged() default -1;     // <.>
   String sequence() default "";     // <.>
   @SuppressWarnings("rawtypes")
-Class sortedBy() default Comparator.class;     // <.>
+Class<? extends Comparator> sortedBy() default Comparator.class;     // <.>
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/Introspection.adoc
 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/Introspection.adoc
index 593bec7e1c..1d32ac41c3 100644
--- 
a/antora/components/refguide-index/modules/applib/pages/index/annotation/Introspection.adoc
+++ 
b/antora/components/refguide-index/modules/applib/pages/index/annotation/Introspection.adoc
@@ -34,7 +34,7 @@ Introspection should be handled as per the default 
introspection policy configur
 <.> xref:#ENCAPSULATION_ENABLED[ENCAPSULATION_ENABLED]
 +
 --
-Introspect public and non-public members, while presence of at least one 
appropriate domain annotation is enforced.
+Introspect public and non-public members.
 --
 <.> xref:#ANNOTATION_REQUIRED[ANNOTATION_REQUIRED]
 +
@@ -64,10 +64,12 @@ If not configured, then encapsulation is disabled and 
presence of the _Domain.In
 [#ENCAPSULATION_ENABLED]
 === ENCAPSULATION_ENABLED
 
-Introspect public and non-public members, while presence of at least one 
appropriate domain annotation is enforced.
+Introspect public and non-public members.
 
 All methods intended to be part of the meta-model (whether representing a 
member or a supporting method) must be annotated. Members using one of 
xref:refguide:applib:index/annotation/Action.adoc[Action] , 
xref:refguide:applib:index/annotation/Property.adoc[Property] , 
xref:refguide:applib:index/annotation/Collection.adoc[Collection] , while 
supporting methods with _Domain.Include_ (usually as a meta-annotation on 
xref:refguide:applib:index/annotation/MemberSupport.adoc[MemberSupport] ).  
[...]
 
+For mixins (where the mixin class itself is annotated with 
xref:refguide:applib:index/annotation/Action.adoc[Action] , 
xref:refguide:applib:index/annotation/Property.adoc[Property] or 
xref:refguide:applib:index/annotation/Collection.adoc[Collection] , then the 
member method should instead be annotated the same as the supporting methods, 
_Domain.Include_ or 
xref:refguide:applib:index/annotation/MemberSupport.adoc[MemberSupport] .
+
 [#ANNOTATION_REQUIRED]
 === ANNOTATION_REQUIRED
 
@@ -77,6 +79,8 @@ All public methods intended to represent members must be 
annotated (or meta-anno
 
 Any non-excluded public methods with a supporting method prefix do not need to 
be annotated and are automatically associated with their corresponding member 
method. If no corresponding member method can be found, meta-model validation 
will fail with an 'orphaned member support' method violation.
 
+For mixins (where the mixin class itself is annotated with 
xref:refguide:applib:index/annotation/Action.adoc[Action] , 
xref:refguide:applib:index/annotation/Property.adoc[Property] or 
xref:refguide:applib:index/annotation/Collection.adoc[Collection] , then the 
member method should instead be annotated the same as the supporting methods, 
_Domain.Include_ or 
xref:refguide:applib:index/annotation/MemberSupport.adoc[MemberSupport] .
+
 [#ANNOTATION_OPTIONAL]
 === ANNOTATION_OPTIONAL
 
diff --git 
a/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
 
b/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
index 292ed292a6..780f7c031a 100644
--- 
a/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
+++ 
b/antora/components/refguide-index/modules/commons/pages/index/collections/Can.adoc
@@ -70,6 +70,7 @@ interface Can<T> {
   boolean isCardinalityMultiple()
   Collector<T, ?, Can<T>> toCan()
   List<T> toList()     // <.>
+  List<T> toArrayList()     // <.>
   Set<T> toSet()     // <.>
   Set<T> toSet(Consumer<T> onDuplicated)     // <.>
   C toCollection(Supplier<C> collectionFactory)     // <.>
@@ -253,6 +254,7 @@ Let _n_ be the number of elements in _other_ . Returns 
whether the first _n_ ele
 Let _n_ be the number of elements in _other_ . Returns whether the last _n_ 
elements of this _Can_ are element-wise equal to _other_ .
 --
 <.> xref:#toList_[toList()]
+<.> xref:#toArrayList_[toArrayList()]
 <.> xref:#toSet_[toSet()]
 <.> xref:#toSet_Consumer[toSet(Consumer)]
 <.> xref:#toCollection_Supplier[toCollection(Supplier)]
@@ -472,6 +474,9 @@ Let _n_ be the number of elements in _other_ . Returns 
whether the last _n_ elem
 [#toList_]
 === toList()
 
+[#toArrayList_]
+=== toArrayList()
+
 [#toSet_]
 === toSet()
 
diff --git 
a/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
 
b/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
new file mode 100644
index 0000000000..73c1e45ff3
--- /dev/null
+++ 
b/antora/components/refguide-index/modules/core/pages/index/metamodel/object/ManagedObject.adoc
@@ -0,0 +1,169 @@
+= ManagedObject
+: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 [...]
+
+Represents an instance of some element of the meta-model managed by the 
framework, that is _Spring_ managed beans, persistence-stack provided entities, 
view-models or instances of value types.
+
+== API
+
+[source,java]
+.ManagedObject.java
+----
+interface ManagedObject {
+  Specialization getSpecialization()     // <.>
+  ObjectSpecification getSpecification()     // <.>
+  Object getPojo()     // <.>
+  Optional<Bookmark> getBookmark()     // <.>
+  Optional<Bookmark> getBookmarkRefreshed()     // <.>
+  void refreshViewmodel(Supplier<Bookmark> bookmarkSupplier)     // <.>
+  boolean isBookmarkMemoized()
+  Supplier<ManagedObject> asSupplier()
+  void assertSpecIsInSyncWithPojo()
+  String 
titleString(UnaryOperator<TitleRenderRequest.TitleRenderRequestBuilder> 
onBuilder)
+  String titleString()
+  Optional<ObjectSpecification> getElementSpecification()     // <.>
+  String getTitle()
+  String getIconName()     // <.>
+  ObjectIcon getIcon()
+  ManagedObject notBookmarked(ObjectSpecification spec, Object pojo)
+  ManagedObject of(ObjectSpecification spec, Object pojo)     // <.>
+  ManagedObject bookmarked(ObjectSpecification spec, Object pojo, Bookmark 
bookmark)     // <.>
+  ManagedObject lazy(SpecificationLoader specLoader, Object pojo)     // <.>
+  ManagedObject unspecified()     // <.>
+  ManagedObject empty(ObjectSpecification spec)     // <.>
+}
+----
+
+<.> xref:#getSpecialization_[getSpecialization()]
++
+--
+Returns the specific _Specialization_ this 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] 
implements, which governs this object's behavior.
+--
+<.> xref:#getSpecification_[getSpecification()]
++
+--
+Returns the specification that details the structure (meta-model) of this 
object.
+--
+<.> xref:#getPojo_[getPojo()]
++
+--
+Returns the adapted domain object, the 'plain old java' object this managed 
object represents with the framework.
+--
+<.> xref:#getBookmark_[getBookmark()]
++
+--
+Returns the object's bookmark as identified by the ObjectManager. Bookmarks 
are considered immutable, hence will be memoized once fetched.
+--
+<.> xref:#getBookmarkRefreshed_[getBookmarkRefreshed()]
++
+--
+Similar to _#getBookmark()_ , but invalidates any memoized 
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] such that 
the xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] 
returned is recreated, reflecting the object's current state.
+--
+<.> xref:#refreshViewmodel_Supplier[refreshViewmodel(Supplier)]
++
+--
+If the underlying domain object is a viewmodel, refreshes any referenced 
entities. (Acts as a no-op otherwise.)
+--
+<.> xref:#getElementSpecification_[getElementSpecification()]
++
+--
+Used only for (standalone or parented) collections.
+--
+<.> xref:#getIconName_[getIconName()]
++
+--
+Returns the name of an icon to use if this object is to be displayed 
graphically.
+--
+<.> xref:#of_ObjectSpecification_Object[of(ObjectSpecification, Object)]
++
+--
+Optimized for cases, when the pojo's specification is already available. If 
_pojo_ is an entity, automatically memoizes its bookmark.
+--
+<.> 
xref:#bookmarked_ObjectSpecification_Object_Bookmark[bookmarked(ObjectSpecification,
 Object, Bookmark)]
++
+--
+Optimized for cases, when the pojo's specification and bookmark are already 
available.
+--
+<.> xref:#lazy_SpecificationLoader_Object[lazy(SpecificationLoader, Object)]
++
+--
+For cases, when the pojo's specification is not available and needs to be 
looked up.
+--
+<.> xref:#unspecified_[unspecified()]
++
+--
+has no ObjectSpecification and no value (pojo)
+--
+<.> xref:#empty_ObjectSpecification[empty(ObjectSpecification)]
++
+--
+has an ObjectSpecification, but no value (pojo)
+--
+
+== Members
+
+[#getSpecialization_]
+=== getSpecialization()
+
+Returns the specific _Specialization_ this 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] 
implements, which governs this object's behavior.
+
+[#getSpecification_]
+=== getSpecification()
+
+Returns the specification that details the structure (meta-model) of this 
object.
+
+[#getPojo_]
+=== getPojo()
+
+Returns the adapted domain object, the 'plain old java' object this managed 
object represents with the framework.
+
+[#getBookmark_]
+=== getBookmark()
+
+Returns the object's bookmark as identified by the ObjectManager. Bookmarks 
are considered immutable, hence will be memoized once fetched.
+
+[#getBookmarkRefreshed_]
+=== getBookmarkRefreshed()
+
+Similar to _#getBookmark()_ , but invalidates any memoized 
xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] such that 
the xref:refguide:applib:index/services/bookmark/Bookmark.adoc[Bookmark] 
returned is recreated, reflecting the object's current state.
+
+[#refreshViewmodel_Supplier]
+=== refreshViewmodel(Supplier)
+
+If the underlying domain object is a viewmodel, refreshes any referenced 
entities. (Acts as a no-op otherwise.)
+
+[#getElementSpecification_]
+=== getElementSpecification()
+
+Used only for (standalone or parented) collections.
+
+[#getIconName_]
+=== getIconName()
+
+Returns the name of an icon to use if this object is to be displayed 
graphically.
+
+May return `null` if no icon is specified.
+
+[#of_ObjectSpecification_Object]
+=== of(ObjectSpecification, Object)
+
+Optimized for cases, when the pojo's specification is already available. If 
_pojo_ is an entity, automatically memoizes its bookmark.
+
+[#bookmarked_ObjectSpecification_Object_Bookmark]
+=== bookmarked(ObjectSpecification, Object, Bookmark)
+
+Optimized for cases, when the pojo's specification and bookmark are already 
available.
+
+[#lazy_SpecificationLoader_Object]
+=== lazy(SpecificationLoader, Object)
+
+For cases, when the pojo's specification is not available and needs to be 
looked up.
+
+[#unspecified_]
+=== unspecified()
+
+has no ObjectSpecification and no value (pojo)
+
+[#empty_ObjectSpecification]
+=== empty(ObjectSpecification)
+
+has an ObjectSpecification, but no value (pojo)
diff --git 
a/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTracker.adoc
 
b/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTracker.adoc
index d7e7d0d6e5..8cef90f256 100644
--- 
a/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTracker.adoc
+++ 
b/antora/components/refguide-index/modules/core/pages/index/transaction/changetracking/EntityChangeTracker.adoc
@@ -30,12 +30,12 @@ Publishing support: for object stores to enlist an object 
that has just been cre
 <.> xref:#enlistUpdating_ManagedObject_Can[enlistUpdating(ManagedObject, Can)]
 +
 --
-Publishing support: for object stores to enlist an object that is about to be 
updated, capturing the pre-modification values of the properties of the 
_ManagedObject_ .
+Publishing support: for object stores to enlist an object that is about to be 
updated, capturing the pre-modification values of the properties of the 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] .
 --
 <.> xref:#enlistDeleting_ManagedObject[enlistDeleting(ManagedObject)]
 +
 --
-Publishing support: for object stores to enlist an object that is about to be 
deleted, capturing the pre-deletion value of the properties of the 
_ManagedObject_ .
+Publishing support: for object stores to enlist an object that is about to be 
deleted, capturing the pre-deletion value of the properties of the 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] .
 --
 <.> xref:#incrementLoaded_ManagedObject[incrementLoaded(ManagedObject)]
 +
@@ -60,7 +60,7 @@ The post-modification values are captured when the 
transaction commits.
 [#enlistUpdating_ManagedObject_Can]
 === enlistUpdating(ManagedObject, Can)
 
-Publishing support: for object stores to enlist an object that is about to be 
updated, capturing the pre-modification values of the properties of the 
_ManagedObject_ .
+Publishing support: for object stores to enlist an object that is about to be 
updated, capturing the pre-modification values of the properties of the 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] .
 
 The post-modification values are captured when the transaction commits.
 
@@ -69,7 +69,7 @@ Overload as an optimization for ORMs (specifically, JPA) 
where already have acce
 [#enlistDeleting_ManagedObject]
 === enlistDeleting(ManagedObject)
 
-Publishing support: for object stores to enlist an object that is about to be 
deleted, capturing the pre-deletion value of the properties of the 
_ManagedObject_ .
+Publishing support: for object stores to enlist an object that is about to be 
deleted, capturing the pre-deletion value of the properties of the 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] .
 
 The post-modification values are captured when the transaction commits. In the 
case of deleted objects, a dummy value `'[DELETED]'` is used as the 
post-modification value.
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogPersistenceJdo.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogPersistenceJdo.adoc
index 871b940515..0264ec2f59 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogPersistenceJdo.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jdo/IsisModuleExtCommandLogPersistenceJdo.adoc
@@ -9,19 +9,19 @@
 class IsisModuleExtCommandLogPersistenceJdo {
   public static final String NAMESPACE;
   public static final String SCHEMA;
-  FixtureScript getTeardownFixtureWillDelete()     // <.>
+  FixtureScript teardownFixture()     // <.>
 }
 ----
 
-<.> xref:#getTeardownFixtureWillDelete_[getTeardownFixtureWillDelete()]
+<.> xref:#teardownFixture_[teardownFixture()]
 +
 --
-For tests that need to delete the command table first. Should be run in the 
@BeforeEach of the test.
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
 --
 
 == Members
 
-[#getTeardownFixtureWillDelete_]
-=== getTeardownFixtureWillDelete()
+[#teardownFixture_]
+=== teardownFixture()
 
-For tests that need to delete the command table first. Should be run in the 
@BeforeEach of the test.
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogPersistenceJpa.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogPersistenceJpa.adoc
index 4a99cf5085..86cd977177 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogPersistenceJpa.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/jpa/IsisModuleExtCommandLogPersistenceJpa.adoc
@@ -9,7 +9,19 @@
 class IsisModuleExtCommandLogPersistenceJpa {
   public static final String NAMESPACE;
   public static final String SCHEMA;
-  FixtureScript getTeardownFixture()
+  FixtureScript teardownFixture()     // <.>
 }
 ----
 
+<.> xref:#teardownFixture_[teardownFixture()]
++
+--
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
+--
+
+== Members
+
+[#teardownFixture_]
+=== teardownFixture()
+
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jdo/IsisModuleExtExecutionOutboxPersistenceJdo.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jdo/IsisModuleExtExecutionOutboxPersistenceJdo.adoc
index 90603f4652..5a5cf7fd89 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jdo/IsisModuleExtExecutionOutboxPersistenceJdo.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jdo/IsisModuleExtExecutionOutboxPersistenceJdo.adoc
@@ -9,19 +9,19 @@
 class IsisModuleExtExecutionOutboxPersistenceJdo {
   public static final String NAMESPACE;
   public static final String SCHEMA;
-  FixtureScript getTeardownFixtureWillDelete()     // <.>
+  FixtureScript teardownFixture()     // <.>
 }
 ----
 
-<.> xref:#getTeardownFixtureWillDelete_[getTeardownFixtureWillDelete()]
+<.> xref:#teardownFixture_[teardownFixture()]
 +
 --
-For tests that need to delete the command table first. Should be run in the 
@BeforeEach of the test.
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
 --
 
 == Members
 
-[#getTeardownFixtureWillDelete_]
-=== getTeardownFixtureWillDelete()
+[#teardownFixture_]
+=== teardownFixture()
 
-For tests that need to delete the command table first. Should be run in the 
@BeforeEach of the test.
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jpa/IsisModuleExtExecutionOutboxPersistenceJpa.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jpa/IsisModuleExtExecutionOutboxPersistenceJpa.adoc
index 8d2bb293d1..5d84b68406 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jpa/IsisModuleExtExecutionOutboxPersistenceJpa.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/executionoutbox/jpa/IsisModuleExtExecutionOutboxPersistenceJpa.adoc
@@ -9,7 +9,19 @@
 class IsisModuleExtExecutionOutboxPersistenceJpa {
   public static final String NAMESPACE;
   public static final String SCHEMA;
-  FixtureScript getTeardownFixture()
+  FixtureScript teardownFixture()     // <.>
 }
 ----
 
+<.> xref:#teardownFixture_[teardownFixture()]
++
+--
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
+--
+
+== Members
+
+[#teardownFixture_]
+=== teardownFixture()
+
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
index 2fa981c51c..24027b1c22 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
@@ -7,6 +7,19 @@
 .IsisModuleExtSecmanPersistenceJdo.java
 ----
 class IsisModuleExtSecmanPersistenceJdo {
+  FixtureScript teardownFixture()     // <.>
 }
 ----
 
+<.> xref:#teardownFixture_[teardownFixture()]
++
+--
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
+--
+
+== Members
+
+[#teardownFixture_]
+=== teardownFixture()
+
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
index 59ccb21bca..9927483c68 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
+++ 
b/antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
@@ -7,7 +7,19 @@
 .IsisModuleExtSecmanPersistenceJpa.java
 ----
 class IsisModuleExtSecmanPersistenceJpa {
-  FixtureScript getTeardownFixture()
+  FixtureScript teardownFixture()     // <.>
 }
 ----
 
+<.> xref:#teardownFixture_[teardownFixture()]
++
+--
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
+--
+
+== Members
+
+[#teardownFixture_]
+=== teardownFixture()
+
+Note that this is _NOT_ an implementation of the 
_ModuleWithFixtures#getTeardownFixture()_ API; but is provided to allow manual 
teardown if required.
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
 
b/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.adoc
similarity index 84%
copy from 
antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
copy to 
antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.adoc
index 2fa981c51c..bbc1b5f53b 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
+++ 
b/antora/components/refguide-index/modules/persistence/pages/index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.adoc
@@ -1,12 +1,12 @@
-= IsisModuleExtSecmanPersistenceJdo
+= IsisModulePersistenceJdoDatanucleusMixins
 :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]
-.IsisModuleExtSecmanPersistenceJdo.java
+.IsisModulePersistenceJdoDatanucleusMixins.java
 ----
-class IsisModuleExtSecmanPersistenceJdo {
+class IsisModulePersistenceJdoDatanucleusMixins {
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/mixins/Object_impersonate.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/mixins/Object_impersonate.adoc
index 0b1c9cc045..295352c843 100644
--- 
a/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/mixins/Object_impersonate.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/mixins/Object_impersonate.adoc
@@ -1,7 +1,7 @@
 = Object_impersonate
 :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 [...]
 
-Same as _ImpersonateMenu.impersonate#act(String)_ , but implemented as a mixin 
so that can be invoked while accessing an object.
+Same as 
_org.apache.isis.applib.services.user.ImpersonateMenu.impersonate#act(String)_ 
, but implemented as a mixin so that can be invoked while accessing an object.
 
 == API
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/branding/BrandingUiService.adoc
similarity index 84%
copy from 
antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
copy to 
antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/branding/BrandingUiService.adoc
index 2fa981c51c..f23f609175 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/branding/BrandingUiService.adoc
@@ -1,12 +1,14 @@
-= IsisModuleExtSecmanPersistenceJdo
+= BrandingUiService
 :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]
-.IsisModuleExtSecmanPersistenceJdo.java
+.BrandingUiService.java
 ----
-class IsisModuleExtSecmanPersistenceJdo {
+interface BrandingUiService {
+  BrandingUiModel getHeaderBranding()
+  BrandingUiModel getSignInBranding()
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/header/HeaderUiService.adoc
similarity index 87%
copy from 
antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
copy to 
antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/header/HeaderUiService.adoc
index 2fa981c51c..d66610cecb 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jdo/IsisModuleExtSecmanPersistenceJdo.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/header/HeaderUiService.adoc
@@ -1,12 +1,13 @@
-= IsisModuleExtSecmanPersistenceJdo
+= HeaderUiService
 :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]
-.IsisModuleExtSecmanPersistenceJdo.java
+.HeaderUiService.java
 ----
-class IsisModuleExtSecmanPersistenceJdo {
+interface HeaderUiService {
+  HeaderUiModel getHeader()
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/menu/MenuUiService.adoc
similarity index 80%
copy from 
antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
copy to 
antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/menu/MenuUiService.adoc
index 59ccb21bca..eecf72e87f 100644
--- 
a/antora/components/refguide-index/modules/extensions/pages/index/secman/jpa/IsisModuleExtSecmanPersistenceJpa.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/menu/MenuUiService.adoc
@@ -1,13 +1,14 @@
-= IsisModuleExtSecmanPersistenceJpa
+= MenuUiService
 :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]
-.IsisModuleExtSecmanPersistenceJpa.java
+.MenuUiService.java
 ----
-class IsisModuleExtSecmanPersistenceJpa {
-  FixtureScript getTeardownFixture()
+interface MenuUiService {
+  MenuUiModel getMenu(DomainServiceLayout.MenuBar menuBarSelect)
+  void buildMenuItems(MenuUiModel menuUiModel, MenuVisitor menuBuilder)
 }
 ----
 
diff --git 
a/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/userprof/UserProfileUiModelProvider.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/userprof/UserProfileUiService.adoc
similarity index 92%
rename from 
antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/userprof/UserProfileUiModelProvider.adoc
rename to 
antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/userprof/UserProfileUiService.adoc
index 271caf8fbd..eb515291d3 100644
--- 
a/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/userprof/UserProfileUiModelProvider.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/commons/applib/services/userprof/UserProfileUiService.adoc
@@ -1,4 +1,4 @@
-= UserProfileUiModelProvider
+= UserProfileUiService
 :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 [...]
 
 Returns a UI model to represent the currently logged in user.
@@ -8,9 +8,9 @@ This is backed by the 
_org.apache.isis.applib.services.user.UserMemento_ obtaine
 == API
 
 [source,java]
-.UserProfileUiModelProvider.java
+.UserProfileUiService.java
 ----
-interface UserProfileUiModelProvider {
+interface UserProfileUiService {
   UserProfileUiModel userProfile()     // <.>
 }
 ----
diff --git 
a/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/valuerender/JsonValueEncoderService.adoc
 
b/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/valuerender/JsonValueEncoderService.adoc
index 65b40681fe..cdffd96d4c 100644
--- 
a/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/valuerender/JsonValueEncoderService.adoc
+++ 
b/antora/components/refguide-index/modules/viewer/pages/index/restfulobjects/rendering/service/valuerender/JsonValueEncoderService.adoc
@@ -1,7 +1,7 @@
 = JsonValueEncoderService
 :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 [...]
 
-Converts value representing _ManagedObject_ s to their corresponding JSON 
representation and back.
+Converts value representing 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] s 
to their corresponding JSON representation and back.
 
 == API
 
@@ -20,17 +20,17 @@ interface JsonValueEncoderService {
 <.> 
xref:#asAdapter_ObjectSpecification_JsonRepresentation_JsonValueConverter_Context[asAdapter(ObjectSpecification,
 JsonRepresentation, JsonValueConverter_Context)]
 +
 --
-The value recovered from 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 as _ManagedObject_ honoring _Context_ , otherwise `null` .
+The value recovered from 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 as xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] 
honoring _Context_ , otherwise `null` .
 --
 <.> 
xref:#appendValueAndFormat_ManagedObject_JsonRepresentation_JsonValueConverter_Context[appendValueAndFormat(ManagedObject,
 JsonRepresentation, JsonValueConverter_Context)]
 +
 --
-Appends given value type representing _ManagedObject_ to given 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 honoring _Context_ .
+Appends given value type representing 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] to 
given 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 honoring _Context_ .
 --
 <.> 
xref:#asObject_ManagedObject_JsonValueConverter_Context[asObject(ManagedObject, 
JsonValueConverter_Context)]
 +
 --
-A _JsonNode_ or otherwise natively supported simple type from given 
_ManagedObject_ , honoring _Context_ .
+A _JsonNode_ or otherwise natively supported simple type from given 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] , 
honoring _Context_ .
 --
 
 == Members
@@ -38,14 +38,14 @@ A _JsonNode_ or otherwise natively supported simple type 
from given _ManagedObje
 [#asAdapter_ObjectSpecification_JsonRepresentation_JsonValueConverter_Context]
 === asAdapter(ObjectSpecification, JsonRepresentation, 
JsonValueConverter_Context)
 
-The value recovered from 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 as _ManagedObject_ honoring _Context_ , otherwise `null` .
+The value recovered from 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 as xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] 
honoring _Context_ , otherwise `null` .
 
 
[#appendValueAndFormat_ManagedObject_JsonRepresentation_JsonValueConverter_Context]
 === appendValueAndFormat(ManagedObject, JsonRepresentation, 
JsonValueConverter_Context)
 
-Appends given value type representing _ManagedObject_ to given 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 honoring _Context_ .
+Appends given value type representing 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] to 
given 
xref:refguide:viewer:index/restfulobjects/applib/JsonRepresentation.adoc[JsonRepresentation]
 honoring _Context_ .
 
 [#asObject_ManagedObject_JsonValueConverter_Context]
 === asObject(ManagedObject, JsonValueConverter_Context)
 
-A _JsonNode_ or otherwise natively supported simple type from given 
_ManagedObject_ , honoring _Context_ .
+A _JsonNode_ or otherwise natively supported simple type from given 
xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject] , 
honoring _Context_ .
diff --git a/core/adoc/modules/_overview/pages/about.adoc 
b/core/adoc/modules/_overview/pages/about.adoc
index 7af9eab836..b42a9b323e 100644
--- a/core/adoc/modules/_overview/pages/about.adoc
+++ b/core/adoc/modules/_overview/pages/about.adoc
@@ -731,7 +731,6 @@ Directory: /examples/demo/domain
 |.Components
 ****
 demoapp.dom.AppConfiguration +
-demoapp.dom._infra.DefaultTitleProvider +
 demoapp.dom._infra.LibraryPreloadingService +
 demoapp.dom._infra.resources.AsciiDocConverterService +
 demoapp.dom._infra.resources.AsciiDocReaderService +
@@ -1686,7 +1685,7 @@ org.jmock:jmock:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:core:index/metamodel/services/command/CommandDtoFactory.adoc[CommandDtoFactory],
 
xref:refguide:core:index/metamodel/services/ixn/InteractionDtoFactory.adoc[InteractionDtoFactory],
 
xref:refguide:core:index/metamodel/services/publishing/CommandPublisher.adoc[CommandPublisher],
 
xref:refguide:core:index/metamodel/services/publishing/ExecutionPublisher.adoc[ExecutionPublisher],
 
xref:refguide:core:index/metamodel/services/schema/SchemaValueMarshaller.adoc[SchemaValueMarshaller],
  [...]
+xref:refguide:core:index/metamodel/object/ManagedObject.adoc[ManagedObject], 
xref:refguide:core:index/metamodel/services/command/CommandDtoFactory.adoc[CommandDtoFactory],
 
xref:refguide:core:index/metamodel/services/ixn/InteractionDtoFactory.adoc[InteractionDtoFactory],
 
xref:refguide:core:index/metamodel/services/publishing/CommandPublisher.adoc[CommandPublisher],
 
xref:refguide:core:index/metamodel/services/publishing/ExecutionPublisher.adoc[ExecutionPublisher],
 xref:refguide:core:index/ [...]
 ****
 
 |Apache Isis Core - Runtime
@@ -2149,7 +2148,7 @@ 
org.springframework.boot:spring-boot-starter-jdbc:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:persistence:index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc[IsisModulePersistenceJdoDatanucleus],
 
xref:refguide:persistence:index/jdo/datanucleus/changetracking/JdoLifecycleListener.adoc[JdoLifecycleListener],
 
xref:refguide:persistence:index/jdo/datanucleus/dialect/DnJdoDialect.adoc[DnJdoDialect],
 
xref:refguide:persistence:index/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.adoc[Persistable_datanucleusVersionLong],
 xref:refguide:persistence:index/ [...]
+xref:refguide:persistence:index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.adoc[IsisModulePersistenceJdoDatanucleus],
 
xref:refguide:persistence:index/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.adoc[IsisModulePersistenceJdoDatanucleusMixins],
 
xref:refguide:persistence:index/jdo/datanucleus/changetracking/JdoLifecycleListener.adoc[JdoLifecycleListener],
 
xref:refguide:persistence:index/jdo/datanucleus/dialect/DnJdoDialect.adoc[DnJdoDialect],
 xref:refguide:persistence [...]
 ****
 
 |Apache Isis Persistence - JDO (integration)
@@ -2701,13 +2700,27 @@ skinparam rectangle<<4>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
+skinparam rectangle<<5>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
+skinparam rectangle<<6>> {
+  BackgroundColor #438dd5
+  FontColor #fffffe
+  BorderColor #2E6295
+}
 package "Common\n[Software System]" {
-  rectangle "==Apache Isis Commons - Prism\n<size:10>[Container: packaging: 
jar]</size>" <<4>> as 4
+  rectangle "==Apache Isis Commons - Prism\n<size:10>[Container: packaging: 
jar]</size>" <<5>> as 5
   rectangle "==Apache Isis Viewer - Commons\n<size:10>[Container: packaging: 
pom]</size>" <<2>> as 2
-  rectangle "==Apache Isis Viewer - Commons Model\n<size:10>[Container: 
packaging: jar]</size>" <<3>> as 3
+  rectangle "==Apache Isis Viewer - Commons Applib\n<size:10>[Container: 
packaging: jar]</size>" <<3>> as 3
+  rectangle "==Apache Isis Viewer - Commons Model\n<size:10>[Container: 
packaging: jar]</size>" <<4>> as 4
+  rectangle "==Apache Isis Viewer - Commons Services\n<size:10>[Container: 
packaging: jar]</size>" <<6>> as 6
 }
-2 .[#707070].> 4 : ""
+2 .[#707070].> 5 : ""
 2 .[#707070].> 3 : ""
+2 .[#707070].> 4 : ""
+2 .[#707070].> 6 : ""
 @enduml
 ----
 .Projects/Modules (Common)
@@ -2725,32 +2738,38 @@ Directory: /viewers/commons
 ----
 |
 
-|Apache Isis Viewer - Commons Model
+|Apache Isis Viewer - Commons Applib
 [source,yaml]
 ----
 Group: org.apache.isis.viewer
-Artifact: isis-viewer-commons-model
+Artifact: isis-viewer-commons-applib
 Type: jar
-Directory: /viewers/commons/model
+Directory: /viewers/commons/applib
 ----
-|.Components
+|.Dependencies
 ****
-o.a.i.viewer.commons.model.branding.BrandingUiModelProvider +
-o.a.i.viewer.commons.model.header.HeaderUiModelProvider +
-o.a.i.viewer.commons.model.menu.MenuUiModelProvider +
-o.a.i.viewer.commons.model.userprofile.UserProfileUiModelProviderDefault +
+org.apache.isis.core:isis-core-metamodel:jar:<managed> +
 ****
 
-.Dependencies
+.Document Index Entries
 ****
-org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
-org.apache.isis.core:isis-core-runtime:jar:<managed> +
-org.webjars:font-awesome:jar:6.1.2 +
+xref:refguide:viewer:index/commons/applib/mixins/Object_impersonate.adoc[Object_impersonate],
 
xref:refguide:viewer:index/commons/applib/mixins/Object_impersonateWithRoles.adoc[Object_impersonateWithRoles],
 
xref:refguide:viewer:index/commons/applib/services/branding/BrandingUiService.adoc[BrandingUiService],
 
xref:refguide:viewer:index/commons/applib/services/header/HeaderUiService.adoc[HeaderUiService],
 
xref:refguide:viewer:index/commons/applib/services/menu/MenuUiService.adoc[MenuUiServi
 [...]
 ****
 
-.Document Index Entries
+|Apache Isis Viewer - Commons Model
+[source,yaml]
+----
+Group: org.apache.isis.viewer
+Artifact: isis-viewer-commons-model
+Type: jar
+Directory: /viewers/commons/model
+----
+|.Dependencies
 ****
-xref:refguide:viewer:index/commons/applib/mixins/Object_impersonate.adoc[Object_impersonate],
 
xref:refguide:viewer:index/commons/applib/mixins/Object_impersonateWithRoles.adoc[Object_impersonateWithRoles],
 
xref:refguide:viewer:index/commons/applib/services/userprof/UserProfileUiModel.adoc[UserProfileUiModel],
 
xref:refguide:viewer:index/commons/applib/services/userprof/UserProfileUiModelProvider.adoc[UserProfileUiModelProvider]
+org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
+org.apache.isis.core:isis-core-runtime:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-commons-applib:jar:<managed> +
+org.webjars:font-awesome:jar:6.1.2 +
 ****
 
 |Apache Isis Commons - Prism
@@ -2767,6 +2786,28 @@ Directory: /viewers/commons/prism
 ****
 org.webjars.bowergithub.prismjs:prism:jar:1.28.0 +
 ****
+
+|Apache Isis Viewer - Commons Services
+[source,yaml]
+----
+Group: org.apache.isis.viewer
+Artifact: isis-viewer-commons-services
+Type: jar
+Directory: /viewers/commons/services
+----
+|.Components
+****
+o.a.i.viewer.commons.services.branding.BrandingUiServiceDefault +
+o.a.i.viewer.commons.services.header.HeaderUiServiceDefault +
+o.a.i.viewer.commons.services.menu.MenuUiServiceDefault +
+o.a.i.viewer.commons.services.userprof.UserProfileUiServiceDefault +
+****
+
+.Dependencies
+****
+org.apache.isis.core:isis-core-runtime:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
+****
 |===
 
 === Restful Objects
@@ -3007,7 +3048,7 @@ 
o.a.i.viewer.restfulobjects.viewer.resources.VersionResourceServerside +
 com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:<managed> +
 org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
 org.apache.isis.core:isis-core-webapp:jar:<managed> +
-org.apache.isis.viewer:isis-viewer-commons-model:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-commons-services:jar:<managed> +
 org.apache.isis.viewer:isis-viewer-restfulobjects-rendering:jar:<managed> +
 ****
 
@@ -3151,7 +3192,9 @@ 
de.agilecoders.wicket:wicket-bootstrap-themes:jar:<managed> +
 de.agilecoders.wicket.webjars:wicket-webjars:jar:<managed> +
 javax.servlet:javax.servlet-api:jar:<managed> +
 org.apache.isis.core:isis-core-internaltestsupport:jar:<managed> +
-org.apache.isis.viewer:isis-viewer-commons-prism:jar:${project.version} +
+org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-commons-prism:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-commons-services:jar:<managed> +
 org.apache.isis.viewer:isis-viewer-wicket-model:jar:<managed> +
 org.apache.wicket:wicket-auth-roles:jar:<managed> +
 org.apache.wicket:wicket-devutils:jar:<managed> +
@@ -5931,12 +5974,12 @@ skinparam rectangle<<11>> {
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<23>> {
+skinparam rectangle<<12>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
 }
-skinparam rectangle<<12>> {
+skinparam rectangle<<23>> {
   BackgroundColor #438dd5
   FontColor #fffffe
   BorderColor #2E6295
@@ -6784,7 +6827,8 @@ com.vaadin:vaadin-spring:jar:<managed> +
 commons-fileupload:commons-fileupload:jar:1.4 +
 org.apache.isis.core:isis-core-runtimeservices:jar:<managed> +
 org.apache.isis.incubator.viewer:isis-viewer-vaadin-model:jar:<managed> +
-org.apache.isis.viewer:isis-viewer-commons-prism:jar:${project.version} +
+org.apache.isis.viewer:isis-viewer-commons-prism:jar:<managed> +
+org.apache.isis.viewer:isis-viewer-commons-services:jar:<managed> +
 ****
 
 |Apache Isis Inc - Viewer Vaadin (Viewer)

Reply via email to