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

[isis-app-simpleapp] branch v2.0.0-jdo-SNAPSHOT created (now f173053)

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

danhaywood pushed a change to branch v2.0.0-jdo-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git.


      at f173053  updates to current

This branch includes the following new commits:

     new c98dd97  Merge branch 'master' into v2.0.0-SNAPSHOT
     new f173053  updates to current

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[isis-app-simpleapp] 01/02: Merge branch 'master' into v2.0.0-SNAPSHOT

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch v2.0.0-jdo-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git

commit c98dd9770b0fd4537086ae545ca36611600d2bea
Merge: 01767b1 310cdc1
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Jan 16 17:33:28 2021 +0000

    Merge branch 'master' into v2.0.0-SNAPSHOT

 .github/workflows/mavenJdk15.yml                   |  3 +-
 .github/workflows/mavenJdk8.yml                    |  9 +++-
 README.adoc                                        | 16 +++++++
 webapp/pom.xml                                     | 32 ++++++-------
 .../main/java/domainapp/webapp/AppManifest.java    |  2 +
 .../java/domainapp/webapp/custom/CustomModule.java | 10 ++++
 .../webapp/custom/restapi/CustomController.java    | 45 ++++++++++++++++++
 webapp/src/main/resources/application.yml          |  4 +-
 .../main/resources/config/application.properties   |  2 -
 .../webapp/bdd/stepdefs/BddStepDefsModule.java     | 13 ++++++
 .../bdd/stepdefs/domain/SimpleObjectsContext.java  | 21 +++++++++
 .../domain/SimpleObjectsGivenThenStepDef.java      | 54 ++++++++++++++++++++++
 .../bdd/stepdefs/domain/SimpleObjectsStepDef.java  | 34 --------------
 .../stepdefs/domain/SimpleObjectsWhenStepDef.java  | 41 ++++++++++++++++
 .../integtests/ApplicationIntegTestAbstract.java   |  2 +
 .../bdd/specs/SimpleObjectSpec_updateName.feature  | 16 +++++++
 16 files changed, 246 insertions(+), 58 deletions(-)


[isis-app-simpleapp] 02/02: updates to current

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch v2.0.0-jdo-SNAPSHOT
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git

commit f173053d659cde32677b3eca476b7b9d3063bc60
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jan 17 07:38:21 2021 +0000

    updates to current
---
 module-simple/pom.xml                              |   9 +-
 .../modules/simple/dom/so/SimpleObject.java        |   5 +-
 .../modules/simple/dom/so/SimpleObjects.java       |  10 +-
 .../modules/simple/dom/so/SimpleObjects_Test.java  |   6 +-
 .../integtests/SimpleModuleIntegTestAbstract.java  |   4 +-
 .../integtests/tests/SimpleObject_IntegTest.java   |   4 +-
 webapp/pom.xml                                     |   6 +
 .../main/java/domainapp/webapp/AppManifest.java    |   4 +-
 .../webapp/custom/restapi/CustomController.java    |  32 +-
 .../infrastructure/TransactionalStepDef.java       |  19 +-
 .../integtests/ApplicationIntegTestAbstract.java   |   4 +-
 ...omainapp.modules.simple.dom.so.SimpleObject.xml | 274 +++++++----------
 ...mainapp.modules.simple.dom.so.SimpleObjects.xml |  18 --
 ...app.modules.simple.types.Name$Specification.xml |   4 -
 ...ication.services.homepage.HomePageViewModel.xml | 117 +++-----
 .../unittests/archunit/ArchitectureTests.java      |  10 +-
 .../approved/LockDownMavenDeps_Test.list.txt       | 234 +++++++--------
 .../approved/LockDownMavenDeps_Test.tree.txt       | 330 +++++++++++----------
 18 files changed, 489 insertions(+), 601 deletions(-)

diff --git a/module-simple/pom.xml b/module-simple/pom.xml
index 6db62ff..2e9668e 100644
--- a/module-simple/pom.xml
+++ b/module-simple/pom.xml
@@ -57,7 +57,7 @@
 
         <dependency>
             <groupId>org.apache.isis.persistence</groupId>
-            <artifactId>isis-persistence-jdo-datanucleus5</artifactId>
+            <artifactId>isis-persistence-jdo-datanucleus</artifactId>
         </dependency>
 
         <dependency>
@@ -86,6 +86,13 @@
             <scope>test</scope>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-jdo</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+
         <!-- IDE support (optional) -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
index 464d3f6..7155a96 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObject.java
@@ -9,7 +9,6 @@ import javax.jdo.annotations.VersionStrategy;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.CommandReification;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.Publishing;
@@ -70,7 +69,7 @@ public class SimpleObject implements Comparable<SimpleObject> {
 
     public static class UpdateNameActionDomainEvent extends SimpleObject.ActionDomainEvent {}
     @Action(semantics = IDEMPOTENT,
-            command = CommandReification.ENABLED, publishing = Publishing.ENABLED,
+            commandPublishing = Publishing.ENABLED, executionPublishing = Publishing.ENABLED,
             associateWith = "name", domainEvent = UpdateNameActionDomainEvent.class)
     public SimpleObject updateName(
             @Name final String name) {
@@ -98,4 +97,4 @@ public class SimpleObject implements Comparable<SimpleObject> {
         return comparator.compare(this, other);
     }
 
-}
\ No newline at end of file
+}
diff --git a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
index b7dffc1..b5d9496 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/dom/so/SimpleObjects.java
@@ -7,7 +7,7 @@ import javax.jdo.JDOQLTypedQuery;
 
 import org.apache.isis.applib.annotation.*;
 import org.apache.isis.applib.services.repository.RepositoryService;
-import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
+import org.apache.isis.persistence.jdo.applib.integration.JdoSupportService;
 
 import domainapp.modules.simple.SimpleModule;
 import domainapp.modules.simple.types.Name;
@@ -20,7 +20,7 @@ import domainapp.modules.simple.types.Name;
 public class SimpleObjects {
 
     private final RepositoryService repositoryService;
-    private final IsisJdoSupport_v3_2 isisJdoSupport;
+    private final JdoSupportService jdoSupportService;
 
     public static class ActionDomainEvent extends SimpleModule.ActionDomainEvent<SimpleObjects> {}
 
@@ -38,7 +38,7 @@ public class SimpleObjects {
     public List<SimpleObject> findByName(
             @Name final String name
             ) {
-        JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+        JDOQLTypedQuery<SimpleObject> q = jdoSupportService.newTypesafeQuery(SimpleObject.class);
         final QSimpleObject cand = QSimpleObject.candidate();
         q = q.filter(
                 cand.name.indexOf(q.stringParameter("name")).ne(-1)
@@ -49,7 +49,7 @@ public class SimpleObjects {
 
     @Programmatic
     public SimpleObject findByNameExact(final String name) {
-        JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+        JDOQLTypedQuery<SimpleObject> q = jdoSupportService.newTypesafeQuery(SimpleObject.class);
         final QSimpleObject cand = QSimpleObject.candidate();
         q = q.filter(
                 cand.name.eq(q.stringParameter("name"))
@@ -67,7 +67,7 @@ public class SimpleObjects {
 
     @Programmatic
     public void ping() {
-        JDOQLTypedQuery<SimpleObject> q = isisJdoSupport.newTypesafeQuery(SimpleObject.class);
+        JDOQLTypedQuery<SimpleObject> q = jdoSupportService.newTypesafeQuery(SimpleObject.class);
         final QSimpleObject candidate = QSimpleObject.candidate();
         q.range(0,2);
         q.orderBy(candidate.name.asc());
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
index 7bbcbf8..547f402 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
@@ -4,7 +4,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
 
-import org.apache.isis.persistence.jdo.applib.services.IsisJdoSupport_v3_2;
+import org.apache.isis.persistence.jdo.applib.integration.JdoSupportService;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Nested;
@@ -25,13 +25,13 @@ import static org.mockito.Mockito.when;
 class SimpleObjects_Test {
 
     @Mock RepositoryService mockRepositoryService;
-    @Mock IsisJdoSupport_v3_2 mockIsisJdoSupport_v3_2;
+    @Mock JdoSupportService mockJdoSupportService;
 
     SimpleObjects objects;
 
     @BeforeEach
     public void setUp() {
-        objects = new SimpleObjects(mockRepositoryService, mockIsisJdoSupport_v3_2);
+        objects = new SimpleObjects(mockRepositoryService, mockJdoSupportService);
     }
 
     @Nested
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
index c1d96bc..6e76bd2 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
@@ -7,7 +7,7 @@ import org.springframework.test.context.TestPropertySource;
 
 import org.apache.isis.core.config.presets.IsisPresets;
 import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.persistence.jdo.integration.IsisModuleJdoIntegration;
 import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
 import org.apache.isis.testing.fixtures.applib.IsisIntegrationTestAbstractWithFixtures;
 import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
@@ -29,7 +29,7 @@ public abstract class SimpleModuleIntegTestAbstract extends IsisIntegrationTestA
     @Import({
         IsisModuleCoreRuntimeServices.class,
         IsisModuleSecurityBypass.class,
-        IsisModuleJdoDataNucleus5.class,
+        IsisModuleJdoIntegration.class,
         IsisModuleTestingFixturesApplib.class,
 
         SimpleModule.class
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
index 1107bbb..9ba75f1 100644
--- a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
+++ b/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
@@ -16,7 +16,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.services.wrapper.DisabledException;
 import org.apache.isis.applib.services.wrapper.InvalidException;
-import org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusIdLong;
+import org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusIdLong;
 
 import lombok.Getter;
 
@@ -119,4 +119,4 @@ public class SimpleObject_IntegTest extends SimpleModuleIntegTestAbstract {
         }
     }
 
-}
\ No newline at end of file
+}
diff --git a/webapp/pom.xml b/webapp/pom.xml
index ca654b1..0eb9108 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -147,6 +147,12 @@
 
         <dependency>
             <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-jdo</artifactId>
+            <type>pom</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
             <artifactId>isis-mavendeps-jdk11</artifactId>
             <type>pom</type>
         </dependency>
diff --git a/webapp/src/main/java/domainapp/webapp/AppManifest.java b/webapp/src/main/java/domainapp/webapp/AppManifest.java
index db45218..262063d 100644
--- a/webapp/src/main/java/domainapp/webapp/AppManifest.java
+++ b/webapp/src/main/java/domainapp/webapp/AppManifest.java
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.PropertySources;
 import org.apache.isis.core.config.presets.IsisPresets;
 import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
 import org.apache.isis.extensions.flyway.impl.IsisModuleExtFlywayImpl;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.persistence.jdo.integration.IsisModuleJdoIntegration;
 import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
 import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
 import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
@@ -23,7 +23,7 @@ import domainapp.webapp.custom.CustomModule;
 @Import({
         IsisModuleCoreRuntimeServices.class,
         IsisModuleSecurityShiro.class,
-        IsisModuleJdoDataNucleus5.class,
+        IsisModuleJdoIntegration.class,
         IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
         IsisModuleViewerWicketViewer.class,
 
diff --git a/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java b/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java
index 66f5dd9..4e0ec1c 100644
--- a/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java
+++ b/webapp/src/main/java/domainapp/webapp/custom/restapi/CustomController.java
@@ -1,15 +1,17 @@
 package domainapp.webapp.custom.restapi;
 
-import java.util.Collections;
 import java.util.List;
-import java.util.function.Supplier;
+import java.util.concurrent.Callable;
 
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import org.apache.isis.applib.services.user.UserMemento;
 import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.core.runtime.iactn.IsisInteractionFactory;
-import org.apache.isis.core.security.authentication.standard.SimpleSession;
+import org.apache.isis.commons.functional.Result;
+import org.apache.isis.core.interaction.session.InteractionFactory;
+import org.apache.isis.core.security.authentication.Authentication;
+import org.apache.isis.core.security.authentication.standard.SimpleAuthentication;
 
 import lombok.RequiredArgsConstructor;
 
@@ -20,26 +22,24 @@ import domainapp.modules.simple.dom.so.SimpleObjects;
 @RequiredArgsConstructor
 class CustomController {
 
-  private final IsisInteractionFactory isisInteractionFactory;
+  private final InteractionFactory interactionFactory;
   private final TransactionService transactionService;
   private final SimpleObjects repository;
 
   @GetMapping("/custom/simpleObjects")
   List<SimpleObject> all() {
-    return callAuthenticated(newSession(), () -> repository.listAll());
+    return callAuthenticated(newAuthentication(), () -> repository.listAll()).orElseFail();
   }
 
-  private SimpleSession newSession() {
-    return new SimpleSession("sven", Collections.emptyList());
+  private SimpleAuthentication newAuthentication() {
+    return SimpleAuthentication.validOf(UserMemento.ofName("sven"));
   }
 
-  private <T> T callAuthenticated(
-          final SimpleSession session,
-          final Supplier<T> task) {
-    return isisInteractionFactory.callAuthenticated(
-            session,
-            () -> transactionService.executeWithinTransaction(task)
-    );
+  private <T> Result<T> callAuthenticated(
+          final Authentication authentication,
+          final Callable<T> task) {
+    return interactionFactory.callAuthenticated(
+            authentication,
+            () -> transactionService.callWithinCurrentTransactionElseCreateNew(task));
   }
-
 }
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java b/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
index 91454db..1ff8ec9 100644
--- a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
+++ b/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
@@ -6,8 +6,9 @@ import org.springframework.transaction.PlatformTransactionManager;
 import org.springframework.transaction.support.TransactionTemplate;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
-import org.apache.isis.core.runtime.iactn.IsisInteractionFactory;
-import org.apache.isis.core.runtime.session.init.InitialisationSession;
+import org.apache.isis.applib.services.user.UserMemento;
+import org.apache.isis.core.interaction.session.InteractionFactory;
+import org.apache.isis.core.security.authentication.standard.SimpleAuthentication;
 
 import lombok.val;
 
@@ -20,19 +21,19 @@ public class TransactionalStepDef {
 
     @io.cucumber.java.Before(order = OrderPrecedence.EARLY)
     public void beforeScenario(){
-        
+
         //open InteractionSession to be closed after scenario (see below)
-        isisInteractionFactory.openInteraction(new InitialisationSession());
-        
+        interactionFactory.openInteraction(SimpleAuthentication.validOf(UserMemento.ofName("initialization")));
+
         val txTemplate = new TransactionTemplate(txMan);
         val status = txTemplate.getTransactionManager().getTransaction(null);
         afterScenario = () -> {
             txTemplate.getTransactionManager().rollback(status);
-            isisInteractionFactory.closeSessionStack();
+            interactionFactory.closeSessionStack();
         };
-    
+
         status.flush();
-    } 
+    }
 
     @io.cucumber.java.After
     public void afterScenario(){
@@ -43,7 +44,7 @@ public class TransactionalStepDef {
         afterScenario = null;
     }
 
-    @Inject private IsisInteractionFactory isisInteractionFactory;
+    @Inject private InteractionFactory interactionFactory;
     @Inject private PlatformTransactionManager txMan;
 
 }
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
index 121ee86..1d37d79 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
+++ b/webapp/src/test/java/domainapp/webapp/integtests/ApplicationIntegTestAbstract.java
@@ -8,7 +8,7 @@ import org.springframework.test.context.TestPropertySource;
 
 import org.apache.isis.core.config.presets.IsisPresets;
 import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
+import org.apache.isis.persistence.jdo.integration.IsisModuleJdoIntegration;
 import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
 import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
 import org.apache.isis.testing.integtestsupport.applib.IsisIntegrationTestAbstract;
@@ -38,7 +38,7 @@ public abstract class ApplicationIntegTestAbstract extends IsisIntegrationTestAb
     @Configuration
     @Import({
         IsisModuleCoreRuntimeServices.class,
-        IsisModuleJdoDataNucleus5.class,
+        IsisModuleJdoIntegration.class,
         IsisModuleSecurityBypass.class,
         IsisModuleTestingFixturesApplib.class,
 
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
index bfd8db9..f7fadad 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
@@ -12,9 +12,6 @@
         <mml:facet id="org.apache.isis.core.metamodel.facets.jaxb.XmlJavaTypeAdapterFacet" fqcn="org.apache.isis.core.metamodel.facets.jaxb.XmlJavaTypeAdapterFacetDefault">
             <mml:attr name="value">org.apache.isis.applib.jaxb.PersistentEntityAdapter</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.auditing.AuditableFacetForDomainObjectAnnotationAsConfigured">
-            <mml:attr name="enablement">ENABLED</mml:attr>
-        </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobjectlayout.BookmarkPolicyFacetForDomainObjectLayoutAnnotation">
             <mml:attr name="bookmarkPolicy">NOT_SPECIFIED</mml:attr>
             <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
@@ -40,12 +37,13 @@
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacet" fqcn="org.apache.isis.core.metamodel.facets.object.callbacks.UpdatingLifecycleEventFacetForDomainObjectAnnotation">
             <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectUpdatingEvent.Default</mml:attr>
         </mml:facet>
+        <mml:facet id="org.apache.isis.core.metamodel.facets.object.entity.EntityFacet" fqcn="org.apache.isis.persistence.jdo.integration.metamodel.facets.entity.JdoEntityFacet"/>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault"/>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.editing.ImmutableFacetForDomainObjectAnnotationAsConfigured">
             <mml:attr name="disabling">true</mml:attr>
             <mml:attr name="reason">Disabled</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForJdoPersistenceCapableAnnotation">
+        <mml:facet id="org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet" fqcn="org.apache.isis.persistence.jdo.metamodel.facets.object.domainobject.objectspecid.ObjectSpecIdFacetForJdoPersistenceCapableAnnotation">
             <mml:attr name="value">simple.SimpleObject</mml:attr>
         </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet" fqcn="org.apache.isis.core.metamodel.facets.object.objectvalidprops.impl.ObjectValidPropertiesFacetImpl">
@@ -56,20 +54,19 @@
             <mml:attr name="value">25</mml:attr>
         </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobjectlayout.PluralFacetForDomainObjectLayoutAnnotation"/>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetForDomainObjectAnnotationAsConfigured"/>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod">
             <mml:attr name="intent.title">UI_HINT</mml:attr>
             <mml:attr name="methods">public java.lang.String domainapp.modules.simple.dom.so.SimpleObject.title()</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet" fqcn="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacetAnnotation">
+        <mml:facet id="org.apache.isis.persistence.jdo.provider.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacet" fqcn="org.apache.isis.persistence.jdo.metamodel.facets.object.datastoreidentity.JdoDatastoreIdentityFacetAnnotation">
             <mml:attr name="strategy">IDENTITY</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet" fqcn="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacetAnnotation">
+        <mml:facet id="org.apache.isis.persistence.jdo.provider.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet" fqcn="org.apache.isis.persistence.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacetAnnotation">
             <mml:attr name="identityType">DATASTORE</mml:attr>
             <mml:attr name="schema">simple</mml:attr>
             <mml:attr name="table">SimpleObject</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.version.JdoVersionFacet" fqcn="org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.object.version.JdoVersionFacetFromAnnotation"/>
+        <mml:facet id="org.apache.isis.persistence.jdo.provider.metamodel.facets.object.version.JdoVersionFacet" fqcn="org.apache.isis.persistence.jdo.metamodel.facets.object.version.JdoVersionFacetFromAnnotation"/>
     </mml:facets>
     <mml:properties>
         <mml:prop id="datanucleusIdLong">
@@ -78,40 +75,36 @@
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.explicit.ActionExplicitFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.explicit.ActionExplicitFacetForActionAnnotation"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusIdLong.ActionDomainEvent</mml:attr>
+                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusIdLong.ActionDomainEvent</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
                     <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Long org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusIdLong.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusIdLong</mml:attr>
+                    <mml:attr name="methods">public java.lang.Long org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusIdLong.prop()</mml:attr>
+                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusIdLong</mml:attr>
                     <mml:attr name="returnType">java.lang.Long</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet">
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#datanucleusIdLong()</mml:attr>
+                    <mml:attr name="context">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusIdLong#prop()</mml:attr>
                     <mml:attr name="originalText">Id</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.properties.propertylayout.NamedFacetForPropertyLayoutAnnotation</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -126,7 +119,7 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
-                    <mml:attr name="methods">public boolean org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusIdLong.hideProp()</mml:attr>
+                    <mml:attr name="methods">public boolean org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusIdLong.hideProp()</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
@@ -139,12 +132,10 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.lang.Long</mml:type>
         </mml:prop>
@@ -154,40 +145,36 @@
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.explicit.ActionExplicitFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.explicit.ActionExplicitFacetForActionAnnotation"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionLong.ActionDomainEvent</mml:attr>
+                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionLong.ActionDomainEvent</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
                     <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Long org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionLong.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionLong</mml:attr>
+                    <mml:attr name="methods">public java.lang.Long org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong.prop()</mml:attr>
+                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong</mml:attr>
                     <mml:attr name="returnType">java.lang.Long</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet">
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#datanucleusVersionLong()</mml:attr>
+                    <mml:attr name="context">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong#prop()</mml:attr>
                     <mml:attr name="originalText">Version</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.properties.propertylayout.NamedFacetForPropertyLayoutAnnotation</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -202,7 +189,7 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
-                    <mml:attr name="methods">public boolean org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionLong.hideProp()</mml:attr>
+                    <mml:attr name="methods">public boolean org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong.hideProp()</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
@@ -215,12 +202,10 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.lang.Long</mml:type>
         </mml:prop>
@@ -230,40 +215,36 @@
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.explicit.ActionExplicitFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.explicit.ActionExplicitFacetForActionAnnotation"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetForActionAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionDomainEventFacetDefault">
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.ActionDomainEvent</mml:attr>
+                    <mml:attr name="value">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.ActionDomainEvent</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault">
+                    <mml:attr name="eventType">org.apache.isis.applib.events.domain.ActionDomainEvent.Default</mml:attr>
                     <mml:attr name="intent.prop">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.sql.Timestamp org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.prop()</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionTimestamp</mml:attr>
+                    <mml:attr name="methods">public java.sql.Timestamp org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp.prop()</mml:attr>
+                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp</mml:attr>
                     <mml:attr name="returnType">java.sql.Timestamp</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet">
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#datanucleusVersionTimestamp()</mml:attr>
+                    <mml:attr name="context">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp#prop()</mml:attr>
                     <mml:attr name="originalText">Version</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.properties.propertylayout.NamedFacetForPropertyLayoutAnnotation</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -278,7 +259,7 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacet" fqcn="org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethod">
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="intent.hideProp">CHECK_IF_HIDDEN</mml:attr>
-                    <mml:attr name="methods">public boolean org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_datanucleusVersionTimestamp.hideProp()</mml:attr>
+                    <mml:attr name="methods">public boolean org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp.hideProp()</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
@@ -291,12 +272,10 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation" fqcn="org.apache.isis.core.metamodel.facets.properties.propertylayout.HiddenFacetForPropertyLayoutAnnotation">
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.sql.Timestamp</mml:type>
         </mml:prop>
@@ -306,7 +285,6 @@
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
                     <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#name</mml:attr>
@@ -328,11 +306,11 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.core.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
                     <mml:attr name="inverted">false</mml:attr>
                     <mml:attr name="semantics">REQUIRED</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.maxlength.MaxLengthFacetForPropertyAnnotation">
-                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
                     <mml:attr name="value">40</mml:attr>
                 </mml:facet>
@@ -359,7 +337,6 @@
                     <mml:attr name="validating">true</mml:attr>
                     <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
                     <mml:attr name="clearFacet">org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
                     <mml:attr name="getterFacet">org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
@@ -388,7 +365,6 @@
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
                     <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#notes</mml:attr>
@@ -410,11 +386,11 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.mandatory.MandatoryFacet" fqcn="org.apache.isis.core.metamodel.facets.objectvalue.mandatory.MandatoryFacetDefault">
                     <mml:attr name="inverted">false</mml:attr>
                     <mml:attr name="semantics">REQUIRED</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.metamodel.facets.prop.column.MandatoryFacetDerivedFromJdoColumn</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.maxlen.MaxLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.maxlength.MaxLengthFacetForPropertyAnnotation">
-                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.datanucleus5.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.persistence.jdo.metamodel.facets.prop.column.MaxLengthFacetDerivedFromJdoColumn</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
                     <mml:attr name="value">4000</mml:attr>
                 </mml:facet>
@@ -445,7 +421,6 @@
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertyClearFacetForDomainEventFromDefault">
                     <mml:attr name="clearFacet">org.apache.isis.core.metamodel.facets.properties.update.clear.PropertyClearFacetViaSetterMethod</mml:attr>
                     <mml:attr name="getterFacet">org.apache.isis.core.metamodel.facets.properties.accessor.PropertyAccessorFacetViaAccessor</mml:attr>
@@ -487,16 +462,12 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
                     <mml:attr name="returnType">java.lang.String</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -504,10 +475,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#objectIdentifier()</mml:attr>
-                    <mml:attr name="originalText">Object Identifier</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Object Identifier</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -534,7 +505,6 @@
                     <mml:attr name="derived">true</mml:attr>
                     <mml:attr name="typicalLengthFacet">org.apache.isis.core.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
                     <mml:attr name="typeFacet">org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
                 </mml:facet>
@@ -542,7 +512,6 @@
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.lang.String</mml:type>
         </mml:prop>
@@ -565,16 +534,12 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
                     <mml:attr name="returnType">java.lang.String</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -582,10 +547,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#objectType()</mml:attr>
-                    <mml:attr name="originalText">Object Type</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Object Type</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -612,7 +577,6 @@
                     <mml:attr name="derived">true</mml:attr>
                     <mml:attr name="typicalLengthFacet">org.apache.isis.core.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
                     <mml:attr name="typeFacet">org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
                 </mml:facet>
@@ -620,7 +584,6 @@
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.lang.String</mml:type>
         </mml:prop>
@@ -647,13 +610,9 @@
                     <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
                     <mml:attr name="returnType">void</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -682,7 +641,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>void</mml:returnType>
             <mml:params/>
@@ -698,19 +656,17 @@
                     <mml:attr name="disabling">true</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
+                    <mml:attr name="value">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromActionAnnotation">
-                    <mml:attr name="eventType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
+                    <mml:attr name="eventType">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata.ActionDomainEvent</mml:attr>
                     <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public org.apache.isis.applib.value.Clob org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata.act(java.lang.String) throws javax.xml.bind.JAXBException,java.io.IOException</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata</mml:attr>
+                    <mml:attr name="methods">public org.apache.isis.applib.value.Clob org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata.act(java.lang.String) throws javax.xml.bind.JAXBException,java.io.IOException</mml:attr>
+                    <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata</mml:attr>
                     <mml:attr name="returnType">org.apache.isis.applib.value.Clob</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -719,7 +675,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -727,10 +682,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#downloadJdoMetadata()</mml:attr>
-                    <mml:attr name="originalText">Download Jdo Metadata</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Download Jdo Metadata</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -751,14 +706,13 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>org.apache.isis.applib.value.Clob</mml:returnType>
             <mml:params>
                 <mml:param xsi:type="mml:scalarParam" id="fileName" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                     <mml:facets>
                         <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata#act(java.lang.String)</mml:attr>
+                            <mml:attr name="context">org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata#act(java.lang.String)</mml:attr>
                             <mml:attr name="originalText">File name</mml:attr>
                             <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.layout.NamedFacetForParameterLayoutAnnotation</mml:attr>
                         </mml:facet>
@@ -774,7 +728,7 @@
                         </mml:facet>
                         <mml:facet id="org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefaultsFacet" fqcn="org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod">
                             <mml:attr name="intent.default0Act">DEFAULTS</mml:attr>
-                            <mml:attr name="methods">public java.lang.String org.apache.isis.persistence.jdo.datanucleus5.jdosupport.mixins.Persistable_downloadJdoMetadata.default0Act()</mml:attr>
+                            <mml:attr name="methods">public java.lang.String org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata.default0Act()</mml:attr>
                         </mml:facet>
                     </mml:facets>
                     <mml:type>java.lang.String</mml:type>
@@ -801,9 +755,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -812,7 +765,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -820,10 +772,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#downloadLayoutXml()</mml:attr>
-                    <mml:attr name="originalText">Download Layout Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Download Layout Xml</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -844,7 +796,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params>
@@ -923,9 +874,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -934,7 +884,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -942,10 +891,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#downloadMetamodelXml()</mml:attr>
-                    <mml:attr name="originalText">Download Metamodel Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Download Metamodel Xml</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -966,7 +915,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params>
@@ -1021,9 +969,8 @@
                     <mml:attr name="onType">org.apache.isis.core.metamodel.inspect.Object_inspectMetamodel</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -1032,7 +979,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -1040,10 +986,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#inspectMetamodel()</mml:attr>
-                    <mml:attr name="originalText">Inspect Metamodel</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Inspect Metamodel</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -1063,7 +1009,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params/>
@@ -1088,9 +1033,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
                     <mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -1099,7 +1043,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -1107,10 +1050,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#openRestApi()</mml:attr>
-                    <mml:attr name="originalText">Open Rest Api</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Open Rest Api</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -1130,7 +1073,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
             <mml:params/>
@@ -1155,11 +1097,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL</mml:attr>
@@ -1168,7 +1107,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -1176,10 +1114,10 @@
                     <mml:attr name="value">IDEMPOTENT</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.modules.simple.dom.so.SimpleObject#rebuildMetamodel()</mml:attr>
-                    <mml:attr name="originalText">Rebuild Metamodel</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Rebuild Metamodel</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -1199,7 +1137,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params/>
@@ -1227,13 +1164,9 @@
                     <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
                     <mml:attr name="returnType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation</mml:attr>
-                </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -1258,13 +1191,14 @@
                     <mml:attr name="originalName">name</mml:attr>
                     <mml:attr name="sequence">1</mml:attr>
                 </mml:facet>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.members.publish.command.CommandPublishingFacet" fqcn="org.apache.isis.core.metamodel.facets.members.publish.command.CommandPublishingFacetForActionAnnotation"/>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.members.publish.execution.ExecutionPublishingFacet" fqcn="org.apache.isis.core.metamodel.facets.members.publish.execution.ExecutionPublishingActionFacetForActionAnnotation"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
                     <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>domainapp.modules.simple.dom.so.SimpleObject</mml:returnType>
             <mml:params>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
index 565738e..0f841c1 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
@@ -9,9 +9,6 @@
             <mml:attr name="escaped">true</mml:attr>
             <mml:attr name="value">Simple Objects</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.auditing.AuditableFacetFromConfiguration">
-            <mml:attr name="enablement">ENABLED</mml:attr>
-        </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
             <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
         </mml:facet>
@@ -22,9 +19,6 @@
             <mml:attr name="menuBar">PRIMARY</mml:attr>
         </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.grid.GridFacet" fqcn="org.apache.isis.core.metamodel.facets.object.grid.GridFacetDefault"/>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.icon.IconFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainservice.annotation.IconFacetDerivedFromDomainServiceAnnotation">
-            <mml:attr name="repositoryFor">java.lang.Object</mml:attr>
-        </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.editing.ImmutableFacetFromConfiguration">
             <mml:attr name="disabling">true</mml:attr>
             <mml:attr name="reason">Disabled (by configuration defaults)</mml:attr>
@@ -43,7 +37,6 @@
             <mml:attr name="derived">true</mml:attr>
             <mml:attr name="value">Simple Objectses</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetFromConfiguration"/>
     </mml:facets>
     <mml:actions>
         <mml:act id="create">
@@ -66,13 +59,9 @@
                     <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObjects</mml:attr>
                     <mml:attr name="returnType">domainapp.modules.simple.dom.so.SimpleObject</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -98,7 +87,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
                     <mml:attr name="promptStyle">DIALOG_SIDEBAR</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>domainapp.modules.simple.dom.so.SimpleObject</mml:returnType>
             <mml:params>
@@ -166,11 +154,9 @@
                     <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObjects</mml:attr>
                     <mml:attr name="returnType">java.util.List</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -197,7 +183,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.PromptStyleFacetForActionLayoutAnnotation">
                     <mml:attr name="promptStyle">DIALOG_SIDEBAR</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.util.List</mml:returnType>
             <mml:params>
@@ -265,11 +250,9 @@
                     <mml:attr name="onType">domainapp.modules.simple.dom.so.SimpleObjects</mml:attr>
                     <mml:attr name="returnType">java.util.List</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -296,7 +279,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.util.List</mml:returnType>
             <mml:params/>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
index 1813e3c..0067c3a 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
@@ -9,9 +9,6 @@
             <mml:attr name="escaped">true</mml:attr>
             <mml:attr name="value">Specification</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.auditing.AuditableFacetFromConfiguration">
-            <mml:attr name="enablement">ENABLED</mml:attr>
-        </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback">
             <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
         </mml:facet>
@@ -35,7 +32,6 @@
             <mml:attr name="derived">true</mml:attr>
             <mml:attr name="value">Specifications</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetFromConfiguration"/>
     </mml:facets>
     <mml:properties/>
     <mml:collections/>
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
index fc63abd..9738c7d 100644
--- a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
+++ b/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
@@ -9,9 +9,6 @@
             <mml:attr name="escaped">true</mml:attr>
             <mml:attr name="value">Home Page View Model</mml:attr>
         </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.auditing.AuditableFacetForDomainObjectAnnotationAsConfigured">
-            <mml:attr name="enablement">ENABLED</mml:attr>
-        </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobjectlayout.BookmarkPolicyFacetForDomainObjectLayoutAnnotation">
             <mml:attr name="bookmarkPolicy">NOT_SPECIFIED</mml:attr>
             <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetFallback</mml:attr>
@@ -54,7 +51,6 @@
             <mml:attr name="value">25</mml:attr>
         </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.plural.PluralFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobjectlayout.PluralFacetForDomainObjectLayoutAnnotation"/>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.object.publishedobject.PublishedObjectFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobject.publishing.PublishedObjectFacetForDomainObjectAnnotationAsConfigured"/>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.title.TitleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod">
             <mml:attr name="intent.title">UI_HINT</mml:attr>
             <mml:attr name="methods">public org.apache.isis.applib.services.i18n.TranslatableString domainapp.webapp.application.services.homepage.HomePageViewModel.title()</mml:attr>
@@ -83,16 +79,12 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier</mml:attr>
                     <mml:attr name="returnType">java.lang.String</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -100,10 +92,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#objectIdentifier()</mml:attr>
-                    <mml:attr name="originalText">Object Identifier</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Object Identifier</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -130,7 +122,6 @@
                     <mml:attr name="derived">true</mml:attr>
                     <mml:attr name="typicalLengthFacet">org.apache.isis.core.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
                     <mml:attr name="typeFacet">org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
                 </mml:facet>
@@ -138,7 +129,6 @@
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.lang.String</mml:type>
         </mml:prop>
@@ -161,16 +151,12 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_objectType</mml:attr>
                     <mml:attr name="returnType">java.lang.String</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ASSOCIATION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ASSOCIATION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetFallback">
                     <mml:attr name="position">BELOW</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacetFallback">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -178,10 +164,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#objectType()</mml:attr>
-                    <mml:attr name="originalText">Object Type</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Object Type</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -208,7 +194,6 @@
                     <mml:attr name="derived">true</mml:attr>
                     <mml:attr name="typicalLengthFacet">org.apache.isis.core.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.properties.defaults.PropertyDefaultFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.defaults.fromtype.PropertyDefaultFacetDerivedFromDefaultedFacet">
                     <mml:attr name="typeFacet">org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetUsingDefaultsProvider</mml:attr>
                 </mml:facet>
@@ -216,7 +201,6 @@
                     <mml:attr name="hiding">true</mml:attr>
                     <mml:attr name="where">ALL_TABLES</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:type>java.lang.String</mml:type>
         </mml:prop>
@@ -312,9 +296,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_downloadLayoutXml</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -323,7 +306,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -331,10 +313,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#downloadLayoutXml()</mml:attr>
-                    <mml:attr name="originalText">Download Layout Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Download Layout Xml</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -355,7 +337,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params>
@@ -434,9 +415,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -445,7 +425,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -453,10 +432,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#downloadMetamodelXml()</mml:attr>
-                    <mml:attr name="originalText">Download Metamodel Xml</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Download Metamodel Xml</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -477,7 +456,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params>
@@ -532,9 +510,8 @@
                     <mml:attr name="onType">org.apache.isis.core.metamodel.inspect.Object_inspectMetamodel</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -543,7 +520,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -551,10 +527,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#inspectMetamodel()</mml:attr>
-                    <mml:attr name="originalText">Inspect Metamodel</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Inspect Metamodel</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -574,7 +550,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params/>
@@ -599,9 +574,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_openRestApi</mml:attr>
                     <mml:attr name="returnType">org.apache.isis.applib.value.LocalResourcePath</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL_DROPDOWN</mml:attr>
@@ -610,7 +584,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -618,10 +591,10 @@
                     <mml:attr name="value">SAFE</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#openRestApi()</mml:attr>
-                    <mml:attr name="originalText">Open Rest Api</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Open Rest Api</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -641,7 +614,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>org.apache.isis.applib.value.LocalResourcePath</mml:returnType>
             <mml:params/>
@@ -666,11 +638,8 @@
                     <mml:attr name="onType">org.apache.isis.applib.mixins.layout.Object_rebuildMetamodel</mml:attr>
                     <mml:attr name="returnType">java.lang.Object</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.command.CommandFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration">
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
-                    <mml:attr name="contributed">AS_ACTION</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.contributing.ContributingFacet">
+                    <mml:attr name="contributing">AS_ACTION</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.ActionPositionFacetForActionLayoutAnnotation">
                     <mml:attr name="position">PANEL</mml:attr>
@@ -679,7 +648,6 @@
                     <mml:attr name="deploymentType">PRODUCTION</mml:attr>
                     <mml:attr name="hiding">true</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetFromConfiguration"/>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.actions.redirect.RedirectFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.RedirectFacetFromActionLayoutAnnotation">
                     <mml:attr name="redirect">AS_CONFIGURED</mml:attr>
                 </mml:facet>
@@ -687,10 +655,10 @@
                     <mml:attr name="value">IDEMPOTENT</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberDerivedFromType"/>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated">
-                    <mml:attr name="context">domainapp.webapp.application.services.homepage.HomePageViewModel#rebuildMetamodel()</mml:attr>
-                    <mml:attr name="originalText">Rebuild Metamodel</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred</mml:attr>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.all.named.NamedFacet" fqcn="org.apache.isis.core.metamodel.facets.all.named.NamedFacetInferred">
+                    <mml:attr name="escaped">true</mml:attr>
+                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.all.i18n.NamedFacetTranslated</mml:attr>
+                    <mml:attr name="value">Rebuild Metamodel</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet" fqcn="org.apache.isis.core.metamodel.facets.collections.layout.DefaultViewFacetForCollectionLayoutAnnotation">
                     <mml:attr name="value">table</mml:attr>
@@ -710,7 +678,6 @@
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet" fqcn="org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured">
                     <mml:attr name="promptStyle">INLINE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.properties.publish.PublishedPropertyFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.publishing.PublishedPropertyFacetFromConfiguration"/>
             </mml:facets>
             <mml:returnType>java.lang.Object</mml:returnType>
             <mml:params/>
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java b/webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
index 6aca3fd..09da224 100644
--- a/webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
+++ b/webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
@@ -13,8 +13,6 @@ import static com.tngtech.archunit.library.Architectures.layeredArchitecture;
 
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
-import org.apache.isis.applib.annotation.ViewModel;
-import org.apache.isis.applib.annotation.ViewModelLayout;
 
 import domainapp.modules.simple.SimpleModule;
 import domainapp.webapp.SimpleApp;
@@ -51,10 +49,4 @@ public class ArchitectureTests {
                    .that().areAnnotatedWith(DomainObject.class)
             .should().beAnnotatedWith(DomainObjectLayout.class);
 
-    @ArchTest
-    static ArchRule classes_annotated_with_ViewModel_are_also_annotated_with_ViewModelLayout =
-            classes()
-                   .that().areAnnotatedWith(ViewModel.class)
-            .should().beAnnotatedWith(ViewModelLayout.class);
-    
-}
\ No newline at end of file
+}
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
index 300ad31..0bb0148 100644
--- a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
+++ b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
@@ -1,33 +1,33 @@
 
    args4j:args4j:jar:2.0.26:compile -- module args4j (auto)
    cglib:cglib-nodep:jar:3.2.12:compile -- module net.sf.cglib [auto]
-   com.approvaltests:approvaltests-util:jar:9.3.0:test -- module approvaltests.util (auto)
-   com.approvaltests:approvaltests:jar:9.3.0:test -- module approvaltests (auto)
-   com.fasterxml.jackson.core:jackson-annotations:jar:2.11.2:compile -- module com.fasterxml.jackson.annotation
-   com.fasterxml.jackson.core:jackson-core:jar:2.11.2:compile -- module com.fasterxml.jackson.core
-   com.fasterxml.jackson.core:jackson-databind:jar:2.11.2:compile -- module com.fasterxml.jackson.databind
-   com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.11.2:compile -- module com.fasterxml.jackson.dataformat.yaml
-   com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.2:compile -- module com.fasterxml.jackson.datatype.jdk8
-   com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.2:compile -- module com.fasterxml.jackson.datatype.jsr310
-   com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.11.2:compile -- module com.fasterxml.jackson.jaxrs.base
-   com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.11.2:compile -- module com.fasterxml.jackson.jaxrs.json
-   com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.11.2:compile -- module com.fasterxml.jackson.module.jaxb
-   com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.2:compile -- module com.fasterxml.jackson.module.paramnames
-   com.fasterxml.woodstox:woodstox-core:jar:6.2.1:compile -- module com.ctc.wstx
+   com.approvaltests:approvaltests-util:jar:9.5.0:test -- module approvaltests.util (auto)
+   com.approvaltests:approvaltests:jar:9.5.0:test -- module approvaltests (auto)
+   com.fasterxml.jackson.core:jackson-annotations:jar:2.11.4:compile -- module com.fasterxml.jackson.annotation
+   com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile -- module com.fasterxml.jackson.core
+   com.fasterxml.jackson.core:jackson-databind:jar:2.11.4:compile -- module com.fasterxml.jackson.databind
+   com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.11.4:compile -- module com.fasterxml.jackson.dataformat.yaml
+   com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.4:compile -- module com.fasterxml.jackson.datatype.jdk8
+   com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.4:compile -- module com.fasterxml.jackson.datatype.jsr310
+   com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.11.4:compile -- module com.fasterxml.jackson.jaxrs.base
+   com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.11.4:compile -- module com.fasterxml.jackson.jaxrs.json
+   com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.11.4:compile -- module com.fasterxml.jackson.module.jaxb
+   com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.4:compile -- module com.fasterxml.jackson.module.paramnames
+   com.fasterxml.woodstox:woodstox-core:jar:6.2.3:compile -- module com.ctc.wstx
    com.fasterxml:classmate:jar:1.5.1:compile -- module com.fasterxml.classmate
    com.github.java-json-tools:btf:jar:1.3:compile -- module btf (auto)
    com.github.java-json-tools:jackson-coreutils:jar:2.0:compile -- module jackson.coreutils (auto)
    com.github.java-json-tools:json-patch:jar:1.13:compile -- module json.patch (auto)
    com.github.java-json-tools:msg-simple:jar:1.2:compile -- module msg.simple (auto)
-   com.github.javafaker:javafaker:jar:1.0.1:test -- module javafaker (auto)
+   com.github.javafaker:javafaker:jar:1.0.2:test -- module javafaker (auto)
    com.github.mifmif:generex:jar:1.0.2:test -- module generex (auto)
    com.github.openjson:openjson:jar:1.0.11:compile -- module com.github.openjson [auto]
    com.google.code.findbugs:annotations:jar:3.0.1u2:compile -- module annotations (auto)
    com.google.code.findbugs:jsr305:jar:3.0.2:compile -- module jsr305 (auto)
    com.google.code.gson:gson:jar:2.8.6:compile -- module com.google.gson
-   com.google.errorprone:error_prone_annotations:jar:2.4.0:compile -- module com.google.errorprone.annotations [auto]
+   com.google.errorprone:error_prone_annotations:jar:2.5.1:compile -- module com.google.errorprone.annotations [auto]
    com.google.guava:failureaccess:jar:1.0.1:compile -- module failureaccess (auto)
-   com.google.guava:guava:jar:28.1-jre:compile -- module com.google.common [auto]
+   com.google.guava:guava:jar:30.1-jre:compile -- module com.google.common [auto]
    com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile -- module listenablefuture (auto)
    com.google.j2objc:j2objc-annotations:jar:1.3:compile -- module j2objc.annotations (auto)
    com.google.javascript:closure-compiler-externs:jar:v20190325:compile -- module closure.compiler.externs.v20190325 (auto)
@@ -41,7 +41,7 @@
    com.sun.mail:jakarta.mail:jar:1.6.5:compile -- module jakarta.mail [auto]
    com.sun.mail:javax.mail:jar:1.6.2:compile -- module java.mail [auto]
    com.sun.xml.bind:jaxb-core:jar:2.3.0.1:compile -- module jaxb.core (auto)
-   com.sun.xml.bind:jaxb-impl:jar:2.3.2:compile -- module jaxb.impl (auto)
+   com.sun.xml.bind:jaxb-impl:jar:2.3.3:compile -- module com.sun.xml.bind
    com.sun.xml.bind:jaxb-jxc:jar:2.3.3:compile -- module com.sun.tools.jxc
    com.sun.xml.bind:jaxb-xjc:jar:2.3.3:compile -- module com.sun.tools.xjc
    com.sun.xml.fastinfoset:FastInfoset:jar:1.2.18:compile -- module com.sun.xml.fastinfoset
@@ -61,29 +61,29 @@
    com.tngtech.archunit:archunit:jar:0.14.1:test -- module com.tngtech.archunit [auto]
    com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile -- module android.json (auto)
    commons-beanutils:commons-beanutils:jar:1.9.4:compile -- module commons.beanutils (auto)
-   commons-codec:commons-codec:jar:1.14:compile -- module org.apache.commons.codec [auto]
+   commons-codec:commons-codec:jar:1.15:compile -- module org.apache.commons.codec [auto]
    commons-collections:commons-collections:jar:3.2.2:compile -- module commons.collections (auto)
    commons-fileupload:commons-fileupload:jar:1.4:compile -- module commons.fileupload (auto)
    commons-io:commons-io:jar:2.8.0:compile -- module org.apache.commons.io [auto]
    de.agilecoders.wicket.webjars:wicket-webjars:jar:2.0.15:compile -- module wicket.webjars (auto)
-   de.agilecoders.wicket:jquery-selectors:jar:2.0.8:compile -- module jquery.selectors (auto)
-   de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.13:compile -- module wicket.bootstrap.core (auto)
-   de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.13:compile -- module wicket.bootstrap.extensions (auto)
-   de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.13:compile -- module wicket.bootstrap.themes (auto)
+   de.agilecoders.wicket:jquery-selectors:jar:2.0.10:compile -- module jquery.selectors (auto)
+   de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.14:compile -- module wicket.bootstrap.core (auto)
+   de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.14:compile -- module wicket.bootstrap.extensions (auto)
+   de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.14:compile -- module wicket.bootstrap.themes (auto)
    dk.brics.automaton:automaton:jar:1.11-8:test -- module automaton (auto)
-   io.cucumber:create-meta:jar:2.0.2:test -- module io.cucumber.createmeta [auto]
-   io.cucumber:cucumber-core:jar:6.8.0:test -- module io.cucumber.core [auto]
+   io.cucumber:create-meta:jar:2.0.4:test -- module io.cucumber.createmeta [auto]
+   io.cucumber:cucumber-core:jar:6.9.1:test -- module io.cucumber.core [auto]
    io.cucumber:cucumber-expressions:jar:10.3.0:test -- module io.cucumber.cucumberexpressions [auto]
-   io.cucumber:cucumber-gherkin-messages:jar:6.8.0:test -- module io.cucumber.core.gherkin.messages [auto]
-   io.cucumber:cucumber-gherkin:jar:6.8.0:test -- module io.cucumber.core.gherkin [auto]
-   io.cucumber:cucumber-java:jar:6.8.0:test -- module io.cucumber.java [auto]
-   io.cucumber:cucumber-junit-platform-engine:jar:6.8.0:test -- module io.cucumber.junit.platform.engine
-   io.cucumber:cucumber-plugin:jar:6.8.0:test -- module io.cucumber.plugin [auto]
-   io.cucumber:cucumber-spring:jar:6.8.0:test -- module io.cucumber.spring [auto]
+   io.cucumber:cucumber-gherkin-messages:jar:6.9.1:test -- module io.cucumber.core.gherkin.messages [auto]
+   io.cucumber:cucumber-gherkin:jar:6.9.1:test -- module io.cucumber.core.gherkin [auto]
+   io.cucumber:cucumber-java:jar:6.9.1:test -- module io.cucumber.java [auto]
+   io.cucumber:cucumber-junit-platform-engine:jar:6.9.1:test -- module io.cucumber.junit.platform.engine
+   io.cucumber:cucumber-plugin:jar:6.9.1:test -- module io.cucumber.plugin [auto]
+   io.cucumber:cucumber-spring:jar:6.9.1:test -- module io.cucumber.spring [auto]
    io.cucumber:datatable:jar:3.5.0:test -- module io.cucumber.datatable [auto]
-   io.cucumber:docstring:jar:6.8.0:test -- module io.cucumber.docstring [auto]
+   io.cucumber:docstring:jar:6.9.1:test -- module io.cucumber.docstring [auto]
    io.cucumber:html-formatter:jar:9.0.0:test -- module io.cucumber.htmlformatter [auto]
-   io.cucumber:messages:jar:13.1.0:test -- module io.cucumber.messages [auto]
+   io.cucumber:messages:jar:13.2.1:test -- module io.cucumber.messages [auto]
    io.cucumber:tag-expressions:jar:3.0.0:test -- module io.cucumber.tagexpressions [auto]
    io.smallrye.config:smallrye-config-common:jar:1.6.1:compile -- module smallrye.config.common (auto)
    io.smallrye.config:smallrye-config:jar:1.6.1:compile -- module smallrye.config (auto)
@@ -92,6 +92,7 @@
    io.swagger:swagger-models:jar:1.6.2:compile -- module swagger.models (auto)
    jakarta.activation:jakarta.activation-api:jar:1.2.2:compile -- module jakarta.activation
    jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile -- module java.annotation [auto]
+   jakarta.jws:jakarta.jws-api:jar:2.1.0:compile -- module java.jws
    jakarta.persistence:jakarta.persistence-api:jar:2.2.3:compile -- module java.persistence [auto]
    jakarta.validation:jakarta.validation-api:jar:2.0.2:compile -- module java.validation [auto]
    jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile -- module java.xml.bind
@@ -107,41 +108,47 @@
    javax.validation:validation-api:jar:2.0.1.Final:compile -- module java.validation [auto]
    javax.xml.bind:jaxb-api:jar:2.3.1:compile -- module java.xml.bind
    javax:javaee-api:jar:8.0.1:compile -- module javaee.api (auto)
-   joda-time:joda-time:jar:2.10.6:compile -- module org.joda.time [auto]
-   net.bytebuddy:byte-buddy-agent:jar:1.10.14:compile -- module net.bytebuddy.agent
-   net.bytebuddy:byte-buddy:jar:1.10.14:compile -- module net.bytebuddy
+   joda-time:joda-time:jar:2.10.9:compile -- module org.joda.time [auto]
+   net.bytebuddy:byte-buddy-agent:jar:1.10.19:compile -- module net.bytebuddy.agent
+   net.bytebuddy:byte-buddy:jar:1.10.19:compile -- module net.bytebuddy
    net.ftlines.wicket-source:wicket-source:jar:7.0.0:compile -- module wicket.source (auto)
    net.jcip:jcip-annotations:jar:1.0:compile -- module jcip.annotations (auto)
    net.minidev:accessors-smart:jar:1.2:compile -- module accessors.smart (auto)
    net.minidev:json-smart:jar:2.3:compile -- module json.smart (auto)
    org.apache.commons:commons-collections4:jar:4.4:compile -- module org.apache.commons.collections4 [auto]
    org.apache.commons:commons-email:jar:1.5:compile -- module commons.email (auto)
-   org.apache.commons:commons-lang3:jar:3.10:compile -- module org.apache.commons.lang3 [auto]
-   org.apache.httpcomponents:httpclient:jar:4.5.12:compile -- module org.apache.httpcomponents.httpclient [auto]
-   org.apache.httpcomponents:httpcore:jar:4.4.13:compile -- module org.apache.httpcomponents.httpcore [auto]
+   org.apache.commons:commons-lang3:jar:3.11:compile -- module org.apache.commons.lang3 [auto]
+   org.apache.httpcomponents:httpclient:jar:4.5.13:compile -- module org.apache.httpcomponents.httpclient [auto]
+   org.apache.httpcomponents:httpcore:jar:4.4.14:compile -- module org.apache.httpcomponents.httpcore [auto]
    org.apache.isis.commons:isis-commons:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.commons [auto]
    org.apache.isis.core:isis-applib:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.applib [auto]
    org.apache.isis.core:isis-core-codegen-bytebuddy:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.codegen.bytebuddy [auto]
    org.apache.isis.core:isis-core-config:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.config [auto]
+   org.apache.isis.core:isis-core-interaction:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.interaction [auto]
    org.apache.isis.core:isis-core-metamodel:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.metamodel [auto]
    org.apache.isis.core:isis-core-runtime:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.runtime [auto]
    org.apache.isis.core:isis-core-runtimeservices:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.runtimeservices [auto]
    org.apache.isis.core:isis-core-security:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.security.api [auto]
+   org.apache.isis.core:isis-core-transaction:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.transaction [auto]
    org.apache.isis.core:isis-core-webapp:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.core.webapp [auto]
+   org.apache.isis.core:isis-jdk-supplemental:pom:2.0.0-SNAPSHOT:compile
    org.apache.isis.core:isis-schema:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.schema [auto]
    org.apache.isis.extensions:isis-extensions-flyway-impl:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.extensions.flyway.impl [auto]
    org.apache.isis.mavendeps:isis-mavendeps-integspecs:pom:2.0.0-SNAPSHOT:test
    org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:2.0.0-SNAPSHOT:test
    org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-SNAPSHOT:compile
+   org.apache.isis.mavendeps:isis-mavendeps-jdo:pom:2.0.0-SNAPSHOT:compile
    org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:2.0.0-SNAPSHOT:compile
    org.apache.isis.persistence:isis-persistence-jdo-applib:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.applib [auto]
-   org.apache.isis.persistence:isis-persistence-jdo-datanucleus5:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.datanucleus5 [auto]
-   org.apache.isis.persistence:isis-persistence-jpa-applib:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jpa.applib [auto]
-   org.apache.isis.persistence:isis-persistence-jpa-model:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jpa.model [auto]
+   org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.datanucleus [auto]
+   org.apache.isis.persistence:isis-persistence-jdo-integration:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.integration [auto]
+   org.apache.isis.persistence:isis-persistence-jdo-metamodel:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.metamodel [auto]
+   org.apache.isis.persistence:isis-persistence-jdo-provider:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.provider [auto]
+   org.apache.isis.persistence:isis-persistence-jdo-spring:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.persistence.jdo.spring [auto]
    org.apache.isis.security:isis-security-bypass:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.security.bypass [auto]
    org.apache.isis.security:isis-security-keycloak:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.security.keycloak [auto]
    org.apache.isis.security:isis-security-shiro:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.security.shiro [auto]
-   org.apache.isis.starters:simpleapp-module-simple:jar:2.0.0-M4:compile -- module simpleapp.module.simple (auto)
+   org.apache.isis.starters:simpleapp-module-simple:jar:1.0.0-SNAPSHOT:compile -- module simpleapp.module.simple (auto)
    org.apache.isis.subdomains:isis-subdomains-spring-applib:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.subdomains.spring.applib [auto]
    org.apache.isis.testing:isis-testing-fakedata-applib:jar:2.0.0-SNAPSHOT:test -- module org.apache.isis.testing.fakedata.applib [auto]
    org.apache.isis.testing:isis-testing-fixtures-applib:jar:2.0.0-SNAPSHOT:compile -- module org.apache.isis.testing.fixtures.applib [auto]
@@ -160,48 +167,46 @@
    org.apache.logging.log4j:log4j-core:jar:2.13.3:compile -- module org.apache.logging.log4j.core [auto]
    org.apache.logging.log4j:log4j-jul:jar:2.13.3:compile -- module org.apache.logging.log4j.jul [auto]
    org.apache.logging.log4j:log4j-slf4j-impl:jar:2.13.3:compile -- module org.apache.logging.log4j.slf4j [auto]
-   org.apache.shiro:shiro-cache:jar:1.6.0:compile -- module shiro.cache (auto)
-   org.apache.shiro:shiro-config-core:jar:1.6.0:compile -- module shiro.config.core (auto)
-   org.apache.shiro:shiro-config-ogdl:jar:1.6.0:compile -- module shiro.config.ogdl (auto)
-   org.apache.shiro:shiro-core:jar:1.6.0:compile -- module shiro.core (auto)
-   org.apache.shiro:shiro-crypto-cipher:jar:1.6.0:compile -- module shiro.crypto.cipher (auto)
-   org.apache.shiro:shiro-crypto-core:jar:1.6.0:compile -- module shiro.crypto.core (auto)
-   org.apache.shiro:shiro-crypto-hash:jar:1.6.0:compile -- module shiro.crypto.hash (auto)
-   org.apache.shiro:shiro-event:jar:1.6.0:compile -- module shiro.event (auto)
-   org.apache.shiro:shiro-lang:jar:1.6.0:compile -- module shiro.lang (auto)
-   org.apache.shiro:shiro-web:jar:1.6.0:compile -- module shiro.web (auto)
-   org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.38:compile -- module org.apache.tomcat.embed.core
-   org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.38:compile -- module org.apache.tomcat.embed.websocket
-   org.apache.wicket:wicket-auth-roles:jar:8.9.0:compile -- module wicket.auth.roles (auto)
-   org.apache.wicket:wicket-core:jar:8.9.0:compile -- module wicket.core (auto)
-   org.apache.wicket:wicket-devutils:jar:8.9.0:compile -- module wicket.devutils (auto)
-   org.apache.wicket:wicket-extensions:jar:8.9.0:compile -- module wicket.extensions (auto)
-   org.apache.wicket:wicket-ioc:jar:8.9.0:compile -- module wicket.ioc (auto)
-   org.apache.wicket:wicket-request:jar:8.9.0:compile -- module wicket.request (auto)
-   org.apache.wicket:wicket-spring:jar:8.9.0:compile -- module wicket.spring (auto)
-   org.apache.wicket:wicket-util:jar:8.9.0:compile -- module wicket.util (auto)
-   org.apache.wicket:wicket:pom:8.9.0:compile
+   org.apache.shiro:shiro-cache:jar:1.7.0:compile -- module shiro.cache (auto)
+   org.apache.shiro:shiro-config-core:jar:1.7.0:compile -- module shiro.config.core (auto)
+   org.apache.shiro:shiro-config-ogdl:jar:1.7.0:compile -- module shiro.config.ogdl (auto)
+   org.apache.shiro:shiro-core:jar:1.7.0:compile -- module shiro.core (auto)
+   org.apache.shiro:shiro-crypto-cipher:jar:1.7.0:compile -- module shiro.crypto.cipher (auto)
+   org.apache.shiro:shiro-crypto-core:jar:1.7.0:compile -- module shiro.crypto.core (auto)
+   org.apache.shiro:shiro-crypto-hash:jar:1.7.0:compile -- module shiro.crypto.hash (auto)
+   org.apache.shiro:shiro-event:jar:1.7.0:compile -- module shiro.event (auto)
+   org.apache.shiro:shiro-lang:jar:1.7.0:compile -- module shiro.lang (auto)
+   org.apache.shiro:shiro-web:jar:1.7.0:compile -- module shiro.web (auto)
+   org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.41:compile -- module org.apache.tomcat.embed.core
+   org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.41:compile -- module org.apache.tomcat.embed.websocket
+   org.apache.wicket:wicket-auth-roles:jar:8.11.0:compile -- module wicket.auth.roles (auto)
+   org.apache.wicket:wicket-core:jar:8.11.0:compile -- module wicket.core (auto)
+   org.apache.wicket:wicket-devutils:jar:8.11.0:compile -- module wicket.devutils (auto)
+   org.apache.wicket:wicket-extensions:jar:8.11.0:compile -- module wicket.extensions (auto)
+   org.apache.wicket:wicket-ioc:jar:8.11.0:compile -- module wicket.ioc (auto)
+   org.apache.wicket:wicket-request:jar:8.11.0:compile -- module wicket.request (auto)
+   org.apache.wicket:wicket-spring:jar:8.11.0:compile -- module wicket.spring (auto)
+   org.apache.wicket:wicket-util:jar:8.11.0:compile -- module wicket.util (auto)
+   org.apache.wicket:wicket:pom:8.11.0:compile
    org.apiguardian:apiguardian-api:jar:1.1.0:compile -- module org.apiguardian.api
-   org.aspectj:aspectjrt:jar:1.9.6:compile -- module org.aspectj.runtime [auto]
-   org.assertj:assertj-core:jar:3.16.1:compile -- module org.assertj.core
+   org.assertj:assertj-core:jar:3.18.1:compile -- module org.assertj.core
    org.attoparser:attoparser:jar:2.0.5.RELEASE:compile -- module attoparser [auto]
-   org.checkerframework:checker-qual:jar:2.8.1:compile -- module org.checkerframework.checker.qual [auto]
-   org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile -- module animal.sniffer.annotations (auto)
+   org.checkerframework:checker-qual:jar:3.5.0:compile -- module org.checkerframework.checker.qual [auto]
    org.codehaus.woodstox:stax2-api:jar:4.2.1:compile -- module org.codehaus.stax2
    org.danekja:jdk-serializable-functional:jar:1.8.6:compile -- module jdk.serializable.functional (auto)
    org.datanucleus:datanucleus-api-jdo:jar:5.2.4:compile -- module org.datanucleus.api.jdo [auto]
-   org.datanucleus:datanucleus-core:jar:5.2.4:compile -- module org.datanucleus [auto]
+   org.datanucleus:datanucleus-core:jar:5.2.5:compile -- module org.datanucleus [auto]
    org.datanucleus:datanucleus-jdo-query:jar:5.0.9:compile -- module datanucleus.jdo.query (auto)
    org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile -- module datanucleus.jodatime (auto)
-   org.datanucleus:datanucleus-rdbms:jar:5.2.4:compile -- module org.datanucleus.store.rdbms [auto]
+   org.datanucleus:datanucleus-rdbms:jar:5.2.5:compile -- module org.datanucleus.store.rdbms [auto]
    org.datanucleus:javax.jdo:jar:3.2.0-m13:compile -- module javax.jdo [auto]
    org.eclipse.microprofile.config:microprofile-config-api:jar:1.4:compile -- module microprofile.config.api (auto)
    org.eclipse.persistence:commonj.sdo:jar:2.1.1:compile -- module commonj.sdo (auto)
-   org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.7.6:compile -- module eclipselink.asm [auto]
-   org.eclipse.persistence:org.eclipse.persistence.core:jar:2.7.6:compile -- module org.eclipse.persistence.core (auto)
-   org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.7.6:compile -- module org.eclipse.persistence.moxy (auto)
-   org.eclipse.persistence:org.eclipse.persistence.sdo:jar:2.7.6:compile -- module org.eclipse.persistence.sdo (auto)
-   org.flywaydb:flyway-core:jar:6.4.4:compile -- module org.flywaydb.core [auto]
+   org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.7.7:compile -- module eclipselink.asm [auto]
+   org.eclipse.persistence:org.eclipse.persistence.core:jar:2.7.7:compile -- module org.eclipse.persistence.core (auto)
+   org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.7.7:compile -- module org.eclipse.persistence.moxy (auto)
+   org.eclipse.persistence:org.eclipse.persistence.sdo:jar:2.7.7:compile -- module org.eclipse.persistence.sdo (auto)
+   org.flywaydb:flyway-core:jar:7.1.1:compile -- module org.flywaydb.core [auto]
    org.glassfish.external:management-api:jar:3.2.2:compile -- module management.api (auto)
    org.glassfish.gmbal:gmbal:jar:4.0.1:compile -- module gmbal (auto)
    org.glassfish.ha:ha-api:jar:3.1.12:compile -- module ha.api (auto)
@@ -214,7 +219,7 @@
    org.hamcrest:hamcrest-core:jar:2.2:compile -- module org.hamcrest.core.deprecated [auto]
    org.hamcrest:hamcrest-library:jar:2.2:compile -- module org.hamcrest.library.deprecated [auto]
    org.hamcrest:hamcrest:jar:2.2:compile -- module org.hamcrest [auto]
-   org.hibernate.validator:hibernate-validator:jar:6.1.5.Final:compile -- module org.hibernate.validator [auto]
+   org.hibernate.validator:hibernate-validator:jar:6.1.7.Final:compile -- module org.hibernate.validator [auto]
    org.hsqldb:hsqldb:jar:2.5.1:compile -- module hsqldb (auto)
    org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile -- module org.jboss.logging [auto]
    org.jboss.resteasy:resteasy-client-api:jar:4.5.8.Final:compile -- module resteasy.client.api (auto)
@@ -229,57 +234,54 @@
    org.jboss.spec.javax.annotation:jboss-annotations-api_1.3_spec:jar:2.0.1.Final:compile -- module java.annotation [auto]
    org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.1_spec:jar:2.0.1.Final:compile -- module java.ws.rs
    org.jboss.spec.javax.xml.bind:jboss-jaxb-api_2.3_spec:jar:1.0.1.Final:compile -- module java.xml.bind [auto]
-   org.junit.jupiter:junit-jupiter-api:jar:5.6.2:compile -- module org.junit.jupiter.api
-   org.junit.jupiter:junit-jupiter-engine:jar:5.6.2:runtime -- module org.junit.jupiter.engine
-   org.junit.jupiter:junit-jupiter-params:jar:5.6.2:compile -- module org.junit.jupiter.params
-   org.junit.jupiter:junit-jupiter:jar:5.6.2:compile -- module org.junit.jupiter
-   org.junit.platform:junit-platform-commons:jar:1.6.2:compile -- module org.junit.platform.commons
-   org.junit.platform:junit-platform-engine:jar:1.6.2:runtime -- module org.junit.platform.engine
+   org.junit.jupiter:junit-jupiter-api:jar:5.7.0:compile -- module org.junit.jupiter.api
+   org.junit.jupiter:junit-jupiter-engine:jar:5.7.0:runtime -- module org.junit.jupiter.engine
+   org.junit.jupiter:junit-jupiter-params:jar:5.7.0:compile -- module org.junit.jupiter.params
+   org.junit.jupiter:junit-jupiter:jar:5.7.0:compile -- module org.junit.jupiter
+   org.junit.platform:junit-platform-commons:jar:1.7.0:compile -- module org.junit.platform.commons
+   org.junit.platform:junit-platform-engine:jar:1.7.0:runtime -- module org.junit.platform.engine
    org.jvnet.mimepull:mimepull:jar:1.9.13:compile -- module org.jvnet.mimepull
    org.jvnet.staxex:stax-ex:jar:1.8.3:compile -- module org.jvnet.staxex
-   org.mockito:mockito-core:jar:3.3.3:compile -- module org.mockito [auto]
-   org.mockito:mockito-junit-jupiter:jar:3.3.3:compile -- module mockito.junit.jupiter (auto)
-   org.objenesis:objenesis:jar:2.2:compile -- module objenesis (auto)
+   org.mockito:mockito-core:jar:3.6.28:compile -- module org.mockito [auto]
+   org.mockito:mockito-junit-jupiter:jar:3.6.28:compile -- module mockito.junit.jupiter (auto)
+   org.objenesis:objenesis:jar:3.1:compile -- module org.objenesis [auto]
    org.opentest4j:opentest4j:jar:1.2.0:compile -- module org.opentest4j
    org.ow2.asm:asm-analysis:jar:7.1:compile -- module org.objectweb.asm.tree.analysis
    org.ow2.asm:asm-tree:jar:7.1:compile -- module org.objectweb.asm.tree
    org.ow2.asm:asm-util:jar:7.1:compile -- module org.objectweb.asm.util
    org.owasp.encoder:encoder:jar:1.2.2:compile -- module encoder (auto)
-   org.projectlombok:lombok:jar:1.18.12:provided -- module lombok
+   org.projectlombok:lombok:jar:1.18.16:provided -- module lombok
    org.reactivestreams:reactive-streams:jar:1.0.3:compile -- module org.reactivestreams [auto]
    org.skyscreamer:jsonassert:jar:1.5.0:compile -- module jsonassert (auto)
    org.slf4j:jul-to-slf4j:jar:1.7.30:compile -- module jul.to.slf4j (auto)
    org.slf4j:slf4j-api:jar:1.7.30:compile -- module org.slf4j [auto]
-   org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.3.4.RELEASE:compile -- module spring.boot.actuator.autoconfigure [auto]
-   org.springframework.boot:spring-boot-actuator:jar:2.3.4.RELEASE:compile -- module spring.boot.actuator [auto]
-   org.springframework.boot:spring-boot-autoconfigure:jar:2.3.4.RELEASE:compile -- module spring.boot.autoconfigure [auto]
-   org.springframework.boot:spring-boot-starter-json:jar:2.3.4.RELEASE:compile -- module spring.boot.starter.json [auto]
-   org.springframework.boot:spring-boot-starter-log4j2:jar:2.3.4.RELEASE:compile -- module spring.boot.starter.log4j2 [auto]
-   org.springframework.boot:spring-boot-starter-test:jar:2.3.4.RELEASE:compile -- module spring.boot.starter.test [auto]
-   org.springframework.boot:spring-boot-starter-thymeleaf:jar:2.3.4.RELEASE:compile -- module spring.boot.starter.thymeleaf [auto]
-   org.springframework.boot:spring-boot-starter-tomcat:jar:2.3.4.RELEASE:compile -- module spring.boot.starter.tomcat [auto]
-   org.springframework.boot:spring-boot-starter-web:jar:2.3.4.RELEASE:compile -- module spring.boot.starter.web [auto]
-   org.springframework.boot:spring-boot-starter:jar:2.3.4.RELEASE:compile -- module spring.boot.starter [auto]
-   org.springframework.boot:spring-boot-test-autoconfigure:jar:2.3.4.RELEASE:compile -- module spring.boot.test.autoconfigure [auto]
-   org.springframework.boot:spring-boot-test:jar:2.3.4.RELEASE:compile -- module spring.boot.test [auto]
-   org.springframework.boot:spring-boot:jar:2.3.4.RELEASE:compile -- module spring.boot [auto]
-   org.springframework.data:spring-data-commons:jar:2.3.4.RELEASE:compile -- module spring.data.commons [auto]
-   org.springframework.data:spring-data-jpa:jar:2.3.4.RELEASE:compile -- module spring.data.jpa [auto]
-   org.springframework:spring-aop:jar:5.2.9.RELEASE:compile -- module spring.aop [auto]
-   org.springframework:spring-beans:jar:5.2.9.RELEASE:compile -- module spring.beans [auto]
-   org.springframework:spring-context:jar:5.2.9.RELEASE:compile -- module spring.context [auto]
-   org.springframework:spring-core:jar:5.2.9.RELEASE:compile -- module spring.core [auto]
-   org.springframework:spring-expression:jar:5.2.9.RELEASE:compile -- module spring.expression [auto]
-   org.springframework:spring-jcl:jar:5.2.9.RELEASE:compile -- module spring.jcl [auto]
-   org.springframework:spring-jdbc:jar:5.2.9.RELEASE:compile -- module spring.jdbc [auto]
-   org.springframework:spring-orm:jar:5.2.9.RELEASE:compile -- module spring.orm [auto]
-   org.springframework:spring-test:jar:5.2.9.RELEASE:compile -- module spring.test [auto]
-   org.springframework:spring-tx:jar:5.2.9.RELEASE:compile -- module spring.tx [auto]
-   org.springframework:spring-web:jar:5.2.9.RELEASE:compile -- module spring.web [auto]
-   org.springframework:spring-webmvc:jar:5.2.9.RELEASE:compile -- module spring.webmvc [auto]
+   org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.4.2:compile -- module spring.boot.actuator.autoconfigure [auto]
+   org.springframework.boot:spring-boot-actuator:jar:2.4.2:compile -- module spring.boot.actuator [auto]
+   org.springframework.boot:spring-boot-autoconfigure:jar:2.4.2:compile -- module spring.boot.autoconfigure [auto]
+   org.springframework.boot:spring-boot-starter-json:jar:2.4.2:compile -- module spring.boot.starter.json [auto]
+   org.springframework.boot:spring-boot-starter-log4j2:jar:2.4.2:compile -- module spring.boot.starter.log4j2 [auto]
+   org.springframework.boot:spring-boot-starter-test:jar:2.4.2:compile -- module spring.boot.starter.test [auto]
+   org.springframework.boot:spring-boot-starter-thymeleaf:jar:2.4.2:compile -- module spring.boot.starter.thymeleaf [auto]
+   org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.2:compile -- module spring.boot.starter.tomcat [auto]
+   org.springframework.boot:spring-boot-starter-web:jar:2.4.2:compile -- module spring.boot.starter.web [auto]
+   org.springframework.boot:spring-boot-starter:jar:2.4.2:compile -- module spring.boot.starter [auto]
+   org.springframework.boot:spring-boot-test-autoconfigure:jar:2.4.2:compile -- module spring.boot.test.autoconfigure [auto]
+   org.springframework.boot:spring-boot-test:jar:2.4.2:compile -- module spring.boot.test [auto]
+   org.springframework.boot:spring-boot:jar:2.4.2:compile -- module spring.boot [auto]
+   org.springframework:spring-aop:jar:5.3.3:compile -- module spring.aop [auto]
+   org.springframework:spring-beans:jar:5.3.3:compile -- module spring.beans [auto]
+   org.springframework:spring-context:jar:5.3.3:compile -- module spring.context [auto]
+   org.springframework:spring-core:jar:5.3.3:compile -- module spring.core [auto]
+   org.springframework:spring-expression:jar:5.3.3:compile -- module spring.expression [auto]
+   org.springframework:spring-jcl:jar:5.3.3:compile -- module spring.jcl [auto]
+   org.springframework:spring-jdbc:jar:5.3.3:compile -- module spring.jdbc [auto]
+   org.springframework:spring-test:jar:5.3.3:compile -- module spring.test [auto]
+   org.springframework:spring-tx:jar:5.3.3:compile -- module spring.tx [auto]
+   org.springframework:spring-web:jar:5.3.3:compile -- module spring.web [auto]
+   org.springframework:spring-webmvc:jar:5.3.3:compile -- module spring.webmvc [auto]
    org.thymeleaf.extras:thymeleaf-extras-java8time:jar:3.0.4.RELEASE:compile -- module thymeleaf.extras.java8time [auto]
-   org.thymeleaf:thymeleaf-spring5:jar:3.0.11.RELEASE:compile -- module thymeleaf.spring5 [auto]
-   org.thymeleaf:thymeleaf:jar:3.0.11.RELEASE:compile -- module thymeleaf [auto]
+   org.thymeleaf:thymeleaf-spring5:jar:3.0.12.RELEASE:compile -- module thymeleaf.spring5 [auto]
+   org.thymeleaf:thymeleaf:jar:3.0.12.RELEASE:compile -- module thymeleaf [auto]
    org.unbescape:unbescape:jar:1.1.6.RELEASE:compile -- module unbescape [auto]
    org.webjars.bower:momentjs:jar:2.24.0:compile -- module momentjs (auto)
    org.webjars.bower:summernote:jar:0.8.11:compile -- module summernote (auto)
@@ -291,7 +293,7 @@
    org.webjars:jquery:jar:1.11.1:compile -- module jquery (auto)
    org.webjars:modernizr:jar:2.8.3:compile -- module modernizr (auto)
    org.webjars:select2:jar:4.0.13:compile -- module select2 (auto)
-   org.wicketstuff:wicketstuff-select2:jar:8.9.0:compile -- module wicketstuff.select2 (auto)
+   org.wicketstuff:wicketstuff-select2:jar:8.11.0:compile -- module wicketstuff.select2 (auto)
    org.xmlunit:xmlunit-core:jar:2.7.0:compile -- module org.xmlunit [auto]
-   org.yaml:snakeyaml:jar:1.26:compile -- module org.yaml.snakeyaml [auto]
+   org.yaml:snakeyaml:jar:1.27:compile -- module org.yaml.snakeyaml [auto]
 The following files have been resolved:
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
index 9bc5e58..cf77ed8 100644
--- a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
+++ b/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
@@ -1,5 +1,5 @@
-org.apache.isis.starters:simpleapp-webapp:jar:2.0.0-M4
-+- org.apache.isis.starters:simpleapp-module-simple:jar:2.0.0-M4:compile
+org.apache.isis.starters:simpleapp-webapp:jar:1.0.0-SNAPSHOT
++- org.apache.isis.starters:simpleapp-module-simple:jar:1.0.0-SNAPSHOT:compile
 |  +- org.apache.isis.core:isis-applib:jar:2.0.0-SNAPSHOT:compile
 |  |  +- javax:javaee-api:jar:8.0.1:compile
 |  |  |  \- com.sun.mail:javax.mail:jar:1.6.2:compile
@@ -7,58 +7,59 @@ org.apache.isis.starters:simpleapp-webapp:jar:2.0.0-M4
 |  |  \- com.google.code.findbugs:annotations:jar:3.0.1u2:compile
 |  |     +- net.jcip:jcip-annotations:jar:1.0:compile
 |  |     \- com.google.code.findbugs:jsr305:jar:3.0.2:compile
-|  +- org.apache.isis.persistence:isis-persistence-jdo-datanucleus5:jar:2.0.0-SNAPSHOT:compile
+|  +- org.apache.isis.persistence:isis-persistence-jdo-datanucleus:jar:2.0.0-SNAPSHOT:compile
 |  |  +- org.apache.isis.persistence:isis-persistence-jdo-applib:jar:2.0.0-SNAPSHOT:compile
 |  |  |  \- org.datanucleus:javax.jdo:jar:3.2.0-m13:compile
 |  |  |     \- javax.transaction:transaction-api:jar:1.1:compile
+|  |  +- org.apache.isis.persistence:isis-persistence-jdo-provider:jar:2.0.0-SNAPSHOT:compile
+|  |  |  \- org.apache.isis.core:isis-core-metamodel:jar:2.0.0-SNAPSHOT:compile
+|  |  |     \- io.swagger:swagger-core:jar:1.6.2:compile
+|  |  |        +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.11.4:compile
+|  |  |        \- io.swagger:swagger-models:jar:1.6.2:compile
+|  |  |           \- io.swagger:swagger-annotations:jar:1.6.2:compile
 |  |  +- org.apache.isis.core:isis-core-runtime:jar:2.0.0-SNAPSHOT:compile
-|  |  |  +- org.apache.isis.core:isis-core-metamodel:jar:2.0.0-SNAPSHOT:compile
-|  |  |  |  \- io.swagger:swagger-core:jar:1.6.2:compile
-|  |  |  |     +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.11.2:compile
-|  |  |  |     \- io.swagger:swagger-models:jar:1.6.2:compile
-|  |  |  |        \- io.swagger:swagger-annotations:jar:1.6.2:compile
 |  |  |  \- org.apache.commons:commons-email:jar:1.5:compile
-|  |  +- org.datanucleus:datanucleus-core:jar:5.2.4:compile
+|  |  +- org.datanucleus:datanucleus-core:jar:5.2.5:compile
 |  |  +- org.datanucleus:datanucleus-api-jdo:jar:5.2.4:compile
 |  |  +- org.datanucleus:datanucleus-jdo-query:jar:5.0.9:compile
-|  |  +- org.datanucleus:datanucleus-rdbms:jar:5.2.4:compile
+|  |  +- org.datanucleus:datanucleus-rdbms:jar:5.2.5:compile
 |  |  \- org.datanucleus:datanucleus-jodatime:jar:5.2.0-release:compile
 |  \- org.apache.isis.testing:isis-testing-fixtures-applib:jar:2.0.0-SNAPSHOT:compile
-|     +- joda-time:joda-time:jar:2.10.6:compile
+|     +- joda-time:joda-time:jar:2.10.9:compile
 |     \- org.apache.isis.subdomains:isis-subdomains-spring-applib:jar:2.0.0-SNAPSHOT:compile
 +- org.apache.isis.mavendeps:isis-mavendeps-webapp:pom:2.0.0-SNAPSHOT:compile
-|  +- org.springframework.boot:spring-boot-starter-web:jar:2.3.4.RELEASE:compile
-|  |  +- org.springframework.boot:spring-boot-starter:jar:2.3.4.RELEASE:compile
+|  +- org.springframework.boot:spring-boot-starter-web:jar:2.4.2:compile
+|  |  +- org.springframework.boot:spring-boot-starter:jar:2.4.2:compile
 |  |  |  +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
-|  |  |  \- org.yaml:snakeyaml:jar:1.26:compile
-|  |  +- org.springframework.boot:spring-boot-starter-json:jar:2.3.4.RELEASE:compile
-|  |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.2:compile
-|  |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.2:compile
-|  |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.3.4.RELEASE:compile
-|  |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.38:compile
+|  |  |  \- org.yaml:snakeyaml:jar:1.27:compile
+|  |  +- org.springframework.boot:spring-boot-starter-json:jar:2.4.2:compile
+|  |  |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.11.4:compile
+|  |  |  \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.11.4:compile
+|  |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.4.2:compile
+|  |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.41:compile
 |  |  |  +- org.glassfish:jakarta.el:jar:3.0.3:compile
-|  |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.38:compile
-|  |  +- org.springframework:spring-web:jar:5.2.9.RELEASE:compile
-|  |  \- org.springframework:spring-webmvc:jar:5.2.9.RELEASE:compile
+|  |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.41:compile
+|  |  +- org.springframework:spring-web:jar:5.3.3:compile
+|  |  \- org.springframework:spring-webmvc:jar:5.3.3:compile
 |  +- org.apache.isis.core:isis-schema:jar:2.0.0-SNAPSHOT:compile
 |  +- org.apache.isis.viewer:isis-viewer-wicket-viewer:jar:2.0.0-SNAPSHOT:compile
 |  |  +- org.apache.isis.viewer:isis-viewer-wicket-ui:jar:2.0.0-SNAPSHOT:compile
 |  |  |  +- org.apache.isis.viewer:isis-viewer-wicket-model:jar:2.0.0-SNAPSHOT:compile
-|  |  |  +- org.apache.wicket:wicket-core:jar:8.9.0:compile
+|  |  |  +- org.apache.wicket:wicket-core:jar:8.11.0:compile
 |  |  |  |  +- com.github.openjson:openjson:jar:1.0.11:compile
-|  |  |  |  +- org.apache.wicket:wicket-request:jar:8.9.0:compile
-|  |  |  |  +- org.apache.wicket:wicket-util:jar:8.9.0:compile
+|  |  |  |  +- org.apache.wicket:wicket-request:jar:8.11.0:compile
+|  |  |  |  +- org.apache.wicket:wicket-util:jar:8.11.0:compile
 |  |  |  |  |  +- commons-fileupload:commons-fileupload:jar:1.4:compile
 |  |  |  |  |  \- org.apache.commons:commons-collections4:jar:4.4:compile
 |  |  |  |  \- org.danekja:jdk-serializable-functional:jar:1.8.6:compile
-|  |  |  +- org.apache.wicket:wicket-devutils:jar:8.9.0:compile
-|  |  |  +- org.apache.wicket:wicket-extensions:jar:8.9.0:compile
-|  |  |  +- org.wicketstuff:wicketstuff-select2:jar:8.9.0:compile
+|  |  |  +- org.apache.wicket:wicket-devutils:jar:8.11.0:compile
+|  |  |  +- org.apache.wicket:wicket-extensions:jar:8.11.0:compile
+|  |  |  +- org.wicketstuff:wicketstuff-select2:jar:8.11.0:compile
 |  |  |  +- org.webjars:select2:jar:4.0.13:compile
 |  |  |  |  \- org.webjars:jquery:jar:1.11.1:compile
 |  |  |  +- org.webjars:jquery-ui:jar:1.12.1:compile
 |  |  |  +- de.agilecoders.wicket.webjars:wicket-webjars:jar:2.0.15:compile
-|  |  |  +- de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.13:compile
+|  |  |  +- de.agilecoders.wicket:wicket-bootstrap-extensions:jar:2.0.14:compile
 |  |  |  |  +- org.webjars:Eonasdan-bootstrap-datetimepicker:jar:4.17.47:compile
 |  |  |  |  +- org.webjars.bower:momentjs:jar:2.24.0:compile
 |  |  |  |  +- com.google.javascript:closure-compiler-unshaded:jar:v20190325:compile
@@ -68,29 +69,36 @@ org.apache.isis.starters:simpleapp-webapp:jar:2.0.0-M4
 |  |  |  |  |  \- com.google.jsinterop:jsinterop-annotations:jar:1.0.0:compile
 |  |  |  |  \- org.webjars:animate.css:jar:3.5.2:compile
 |  |  |  +- org.webjars.bower:summernote:jar:0.8.11:compile
-|  |  |  \- de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.13:compile
-|  |  +- org.apache.wicket:wicket-spring:jar:8.9.0:compile
-|  |  |  \- org.apache.wicket:wicket-ioc:jar:8.9.0:compile
+|  |  |  +- de.agilecoders.wicket:wicket-bootstrap-themes:jar:2.0.14:compile
+|  |  |  \- com.google.guava:guava:jar:30.1-jre:compile
+|  |  |     +- com.google.guava:failureaccess:jar:1.0.1:compile
+|  |  |     +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
+|  |  |     +- org.checkerframework:checker-qual:jar:3.5.0:compile
+|  |  |     +- com.google.errorprone:error_prone_annotations:jar:2.5.1:compile
+|  |  |     \- com.google.j2objc:j2objc-annotations:jar:1.3:compile
+|  |  +- org.apache.wicket:wicket-spring:jar:8.11.0:compile
+|  |  |  \- org.apache.wicket:wicket-ioc:jar:8.11.0:compile
 |  |  |     +- cglib:cglib-nodep:jar:3.2.12:compile
 |  |  |     +- javax.inject:javax.inject:jar:1:compile
 |  |  |     \- org.ow2.asm:asm-util:jar:7.1:compile
 |  |  |        +- org.ow2.asm:asm-tree:jar:7.1:compile
 |  |  |        \- org.ow2.asm:asm-analysis:jar:7.1:compile
-|  |  +- org.apache.wicket:wicket-auth-roles:jar:8.9.0:compile
-|  |  +- de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.13:compile
-|  |  |  +- de.agilecoders.wicket:jquery-selectors:jar:2.0.8:compile
+|  |  +- org.apache.wicket:wicket-auth-roles:jar:8.11.0:compile
+|  |  +- de.agilecoders.wicket:wicket-bootstrap-core:jar:2.0.14:compile
+|  |  |  +- de.agilecoders.wicket:jquery-selectors:jar:2.0.10:compile
 |  |  |  +- org.webjars:bootstrap:jar:3.4.1:compile
 |  |  |  +- org.webjars:modernizr:jar:2.8.3:compile
-|  |  |  \- org.apache.commons:commons-lang3:jar:3.10:compile
+|  |  |  \- org.apache.commons:commons-lang3:jar:3.11:compile
 |  |  +- net.ftlines.wicket-source:wicket-source:jar:7.0.0:compile
-|  |  |  \- org.apache.wicket:wicket:pom:8.9.0:compile
+|  |  |  \- org.apache.wicket:wicket:pom:8.11.0:compile
 |  |  \- commons-io:commons-io:jar:2.8.0:compile
 |  +- org.apache.isis.viewer:isis-viewer-restfulobjects-viewer:jar:2.0.0-SNAPSHOT:compile
 |  |  +- org.apache.isis.viewer:isis-viewer-common:jar:2.0.0-SNAPSHOT:compile
 |  |  |  \- org.webjars:font-awesome:jar:5.15.0:compile
 |  |  +- org.apache.isis.viewer:isis-viewer-restfulobjects-rendering:jar:2.0.0-SNAPSHOT:compile
 |  |  |  \- org.apache.isis.viewer:isis-viewer-restfulobjects-applib:jar:2.0.0-SNAPSHOT:compile
-|  |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.11.2:compile
+|  |  \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.11.4:compile
+|  |     +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile
 |  |     \- jakarta.activation:jakarta.activation-api:jar:1.2.2:compile
 |  +- org.apache.isis.viewer:isis-viewer-restfulobjects-jaxrsresteasy4:jar:2.0.0-SNAPSHOT:compile
 |  |  \- org.jboss.resteasy:resteasy-spring-boot-starter:jar:4.6.4.Final:compile
@@ -108,8 +116,8 @@ org.apache.isis.starters:simpleapp-webapp:jar:2.0.0-M4
 |  |     +- org.jboss.resteasy:resteasy-spring:jar:4.5.8.Final:compile
 |  |     |  +- org.jboss.resteasy:resteasy-client:jar:4.5.8.Final:compile
 |  |     |  |  \- org.jboss.resteasy:resteasy-client-api:jar:4.5.8.Final:compile
-|  |     |  \- org.apache.httpcomponents:httpclient:jar:4.5.12:compile
-|  |     |     \- org.apache.httpcomponents:httpcore:jar:4.4.13:compile
+|  |     |  \- org.apache.httpcomponents:httpclient:jar:4.5.13:compile
+|  |     |     \- org.apache.httpcomponents:httpcore:jar:4.4.14:compile
 |  |     +- org.jboss.resteasy:resteasy-jackson2-provider:jar:4.5.8.Final:compile
 |  |     |  +- org.jboss.resteasy:resteasy-jaxb-provider:jar:4.5.8.Final:compile
 |  |     |  |  \- org.glassfish.jaxb:jaxb-runtime:jar:2.3.3:compile
@@ -125,172 +133,166 @@ org.apache.isis.starters:simpleapp-webapp:jar:2.0.0-M4
 |  |     +- org.glassfish:javax.json:jar:1.1.2:compile
 |  |     |  \- javax.json:javax.json-api:jar:1.1.4:compile
 |  |     +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
-|  |     +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.11.2:compile
-|  |     |  \- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.11.2:compile
+|  |     +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.11.4:compile
+|  |     |  \- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.11.4:compile
 |  |     +- jakarta.validation:jakarta.validation-api:jar:2.0.2:compile
-|  |     +- commons-codec:commons-codec:jar:1.14:compile
-|  |     \- org.junit.platform:junit-platform-commons:jar:1.6.2:compile
+|  |     +- commons-codec:commons-codec:jar:1.15:compile
+|  |     \- org.junit.platform:junit-platform-commons:jar:1.7.0:compile
 |  +- org.apache.isis.core:isis-core-security:jar:2.0.0-SNAPSHOT:compile
 |  +- org.apache.isis.security:isis-security-bypass:jar:2.0.0-SNAPSHOT:compile
 |  +- org.apache.isis.security:isis-security-shiro:jar:2.0.0-SNAPSHOT:compile
-|  |  +- org.apache.shiro:shiro-core:jar:1.6.0:compile
-|  |  |  +- org.apache.shiro:shiro-lang:jar:1.6.0:compile
-|  |  |  +- org.apache.shiro:shiro-cache:jar:1.6.0:compile
-|  |  |  +- org.apache.shiro:shiro-crypto-hash:jar:1.6.0:compile
-|  |  |  |  \- org.apache.shiro:shiro-crypto-core:jar:1.6.0:compile
-|  |  |  +- org.apache.shiro:shiro-crypto-cipher:jar:1.6.0:compile
-|  |  |  +- org.apache.shiro:shiro-config-core:jar:1.6.0:compile
-|  |  |  +- org.apache.shiro:shiro-config-ogdl:jar:1.6.0:compile
+|  |  +- org.apache.shiro:shiro-core:jar:1.7.0:compile
+|  |  |  +- org.apache.shiro:shiro-lang:jar:1.7.0:compile
+|  |  |  +- org.apache.shiro:shiro-cache:jar:1.7.0:compile
+|  |  |  +- org.apache.shiro:shiro-crypto-hash:jar:1.7.0:compile
+|  |  |  |  \- org.apache.shiro:shiro-crypto-core:jar:1.7.0:compile
+|  |  |  +- org.apache.shiro:shiro-crypto-cipher:jar:1.7.0:compile
+|  |  |  +- org.apache.shiro:shiro-config-core:jar:1.7.0:compile
+|  |  |  +- org.apache.shiro:shiro-config-ogdl:jar:1.7.0:compile
 |  |  |  |  \- commons-beanutils:commons-beanutils:jar:1.9.4:compile
 |  |  |  |     \- commons-collections:commons-collections:jar:3.2.2:compile
-|  |  |  \- org.apache.shiro:shiro-event:jar:1.6.0:compile
-|  |  \- org.apache.shiro:shiro-web:jar:1.6.0:compile
+|  |  |  \- org.apache.shiro:shiro-event:jar:1.7.0:compile
+|  |  \- org.apache.shiro:shiro-web:jar:1.7.0:compile
 |  |     \- org.owasp.encoder:encoder:jar:1.2.2:compile
 |  +- org.apache.isis.security:isis-security-keycloak:jar:2.0.0-SNAPSHOT:compile
-|  +- org.apache.isis.persistence:isis-persistence-jpa-model:jar:2.0.0-SNAPSHOT:compile
-|  |  +- org.apache.isis.persistence:isis-persistence-jpa-applib:jar:2.0.0-SNAPSHOT:compile
-|  |  \- org.springframework.data:spring-data-jpa:jar:2.3.4.RELEASE:compile
-|  |     +- org.springframework.data:spring-data-commons:jar:2.3.4.RELEASE:compile
-|  |     +- org.springframework:spring-orm:jar:5.2.9.RELEASE:compile
-|  |     \- org.aspectj:aspectjrt:jar:1.9.6:compile
 |  \- org.apache.isis.core:isis-core-runtimeservices:jar:2.0.0-SNAPSHOT:compile
 |     \- org.apache.isis.core:isis-core-codegen-bytebuddy:jar:2.0.0-SNAPSHOT:compile
-|        +- net.bytebuddy:byte-buddy:jar:1.10.14:compile
-|        \- org.objenesis:objenesis:jar:2.2:compile
+|        +- net.bytebuddy:byte-buddy:jar:1.10.19:compile
+|        \- org.objenesis:objenesis:jar:3.1:compile
++- org.apache.isis.mavendeps:isis-mavendeps-jdo:pom:2.0.0-SNAPSHOT:compile
+|  \- org.apache.isis.persistence:isis-persistence-jdo-integration:jar:2.0.0-SNAPSHOT:compile
+|     +- org.apache.isis.commons:isis-commons:jar:2.0.0-SNAPSHOT:compile
+|     |  \- org.springframework.boot:spring-boot-starter-log4j2:jar:2.4.2:compile
+|     |     +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.13.3:compile
+|     |     |  \- org.apache.logging.log4j:log4j-api:jar:2.13.3:compile
+|     |     +- org.apache.logging.log4j:log4j-core:jar:2.13.3:compile
+|     |     +- org.apache.logging.log4j:log4j-jul:jar:2.13.3:compile
+|     |     \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
+|     +- org.apache.isis.persistence:isis-persistence-jdo-metamodel:jar:2.0.0-SNAPSHOT:compile
+|     \- org.apache.isis.persistence:isis-persistence-jdo-spring:jar:2.0.0-SNAPSHOT:compile
 +- org.apache.isis.mavendeps:isis-mavendeps-jdk11:pom:2.0.0-SNAPSHOT:compile
-|  +- com.sun.xml.ws:jaxws-ri:pom:2.3.3:compile
-|  |  +- com.sun.xml.ws:jaxws-rt:jar:2.3.3:compile
-|  |  |  +- com.sun.xml.ws:policy:jar:2.7.10:compile
-|  |  |  +- org.glassfish.ha:ha-api:jar:3.1.12:compile
-|  |  |  +- org.glassfish.external:management-api:jar:3.2.2:compile
-|  |  |  +- org.glassfish.gmbal:gmbal:jar:4.0.1:compile
-|  |  |  +- org.glassfish.pfl:pfl-tf:jar:4.1.0:compile
-|  |  |  +- org.glassfish.pfl:pfl-basic:jar:4.1.0:compile
-|  |  |  +- org.jvnet.staxex:stax-ex:jar:1.8.3:compile
-|  |  |  +- com.sun.xml.stream.buffer:streambuffer:jar:1.5.9:compile
-|  |  |  +- org.jvnet.mimepull:mimepull:jar:1.9.13:compile
-|  |  |  +- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.18:compile
-|  |  |  +- com.sun.activation:jakarta.activation:jar:1.2.2:compile
-|  |  |  \- com.sun.xml.messaging.saaj:saaj-impl:jar:1.5.2:runtime
-|  |  +- com.sun.xml.ws:jaxws-tools:jar:2.3.3:compile
-|  |  |  +- com.sun.xml.bind:jaxb-xjc:jar:2.3.3:compile
-|  |  |  \- com.sun.xml.bind:jaxb-jxc:jar:2.3.3:compile
-|  |  +- com.sun.xml.ws:jaxws-eclipselink-plugin:jar:2.3.3:compile
-|  |  |  +- jakarta.persistence:jakarta.persistence-api:jar:2.2.3:compile
-|  |  |  +- org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.7.6:compile
-|  |  |  |  \- org.eclipse.persistence:org.eclipse.persistence.core:jar:2.7.6:compile
-|  |  |  |     \- org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.7.6:compile
-|  |  |  \- com.sun.mail:jakarta.mail:jar:1.6.5:compile
-|  |  +- com.sun.xml.ws:sdo-eclipselink-plugin:jar:2.3.3:compile
-|  |  |  +- org.eclipse.persistence:org.eclipse.persistence.sdo:jar:2.7.6:compile
-|  |  |  \- org.eclipse.persistence:commonj.sdo:jar:2.1.1:compile
-|  |  +- com.sun.xml.ws:release-documentation:zip:docbook:2.3.3:compile
-|  |  +- com.sun.xml.ws:samples:zip:2.3.3:compile
-|  |  +- jakarta.xml.ws:jakarta.xml.ws-api:jar:2.3.3:compile
-|  |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.3:compile
-|  |  \- jakarta.xml.soap:jakarta.xml.soap-api:jar:1.4.2:compile
-|  +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
-|  |  \- javax.activation:javax.activation-api:jar:1.2.0:compile
-|  +- com.sun.xml.bind:jaxb-core:jar:2.3.0.1:compile
-|  \- com.sun.xml.bind:jaxb-impl:jar:2.3.2:compile
-+- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.3.4.RELEASE:compile
-|  +- org.springframework.boot:spring-boot-actuator:jar:2.3.4.RELEASE:compile
-|  +- org.springframework.boot:spring-boot:jar:2.3.4.RELEASE:compile
-|  |  \- org.springframework:spring-core:jar:5.2.9.RELEASE:compile
-|  |     \- org.springframework:spring-jcl:jar:5.2.9.RELEASE:compile
-|  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.3.4.RELEASE:compile
-|  +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.2:compile
-|  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.2:compile
-|  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.11.2:compile
-|  \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.2:compile
+|  \- org.apache.isis.core:isis-jdk-supplemental:pom:2.0.0-SNAPSHOT:compile
+|     +- com.sun.xml.ws:jaxws-ri:pom:2.3.3:compile
+|     |  +- com.sun.xml.ws:jaxws-tools:jar:2.3.3:compile
+|     |  |  +- com.sun.xml.bind:jaxb-xjc:jar:2.3.3:compile
+|     |  |  \- com.sun.xml.bind:jaxb-jxc:jar:2.3.3:compile
+|     |  +- com.sun.xml.ws:jaxws-eclipselink-plugin:jar:2.3.3:compile
+|     |  |  +- jakarta.persistence:jakarta.persistence-api:jar:2.2.3:compile
+|     |  |  \- com.sun.mail:jakarta.mail:jar:1.6.5:compile
+|     |  +- com.sun.xml.ws:sdo-eclipselink-plugin:jar:2.3.3:compile
+|     |  +- com.sun.xml.ws:release-documentation:zip:docbook:2.3.3:compile
+|     |  +- com.sun.xml.ws:samples:zip:2.3.3:compile
+|     |  +- jakarta.xml.ws:jakarta.xml.ws-api:jar:2.3.3:compile
+|     |  \- jakarta.xml.soap:jakarta.xml.soap-api:jar:1.4.2:compile
+|     +- com.sun.xml.ws:jaxws-rt:jar:2.3.3:compile
+|     |  +- com.sun.xml.ws:policy:jar:2.7.10:compile
+|     |  +- org.glassfish.ha:ha-api:jar:3.1.12:compile
+|     |  +- org.glassfish.external:management-api:jar:3.2.2:compile
+|     |  +- org.glassfish.gmbal:gmbal:jar:4.0.1:compile
+|     |  +- org.glassfish.pfl:pfl-tf:jar:4.1.0:compile
+|     |  +- org.glassfish.pfl:pfl-basic:jar:4.1.0:compile
+|     |  +- org.jvnet.staxex:stax-ex:jar:1.8.3:compile
+|     |  +- com.sun.xml.stream.buffer:streambuffer:jar:1.5.9:compile
+|     |  +- org.jvnet.mimepull:mimepull:jar:1.9.13:compile
+|     |  +- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.18:compile
+|     |  +- com.sun.activation:jakarta.activation:jar:1.2.2:compile
+|     |  +- com.sun.xml.messaging.saaj:saaj-impl:jar:1.5.2:runtime
+|     |  \- jakarta.jws:jakarta.jws-api:jar:2.1.0:compile
+|     +- com.fasterxml.woodstox:woodstox-core:jar:6.2.3:compile
+|     +- org.codehaus.woodstox:stax2-api:jar:4.2.1:compile
+|     +- org.eclipse.persistence:org.eclipse.persistence.moxy:jar:2.7.7:compile
+|     |  \- org.eclipse.persistence:org.eclipse.persistence.core:jar:2.7.7:compile
+|     |     \- org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.7.7:compile
+|     +- org.eclipse.persistence:org.eclipse.persistence.sdo:jar:2.7.7:compile
+|     |  \- org.eclipse.persistence:commonj.sdo:jar:2.1.1:compile
+|     +- javax.xml.bind:jaxb-api:jar:2.3.1:compile
+|     |  \- javax.activation:javax.activation-api:jar:1.2.0:compile
+|     +- com.sun.xml.bind:jaxb-core:jar:2.3.0.1:compile
+|     \- com.sun.xml.bind:jaxb-impl:jar:2.3.3:compile
++- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.4.2:compile
+|  +- org.springframework.boot:spring-boot-actuator:jar:2.4.2:compile
+|  +- org.springframework.boot:spring-boot:jar:2.4.2:compile
+|  |  \- org.springframework:spring-core:jar:5.3.3:compile
+|  |     \- org.springframework:spring-jcl:jar:5.3.3:compile
+|  +- org.springframework.boot:spring-boot-autoconfigure:jar:2.4.2:compile
+|  +- com.fasterxml.jackson.core:jackson-databind:jar:2.11.4:compile
+|  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.11.4:compile
+|  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.11.4:compile
+|  \- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.4:compile
 +- org.apache.isis.testing:isis-testing-h2console-ui:jar:2.0.0-SNAPSHOT:compile
 |  +- org.apache.isis.core:isis-core-webapp:jar:2.0.0-SNAPSHOT:compile
-|  |  \- org.springframework.boot:spring-boot-starter-thymeleaf:jar:2.3.4.RELEASE:compile
-|  |     +- org.thymeleaf:thymeleaf-spring5:jar:3.0.11.RELEASE:compile
-|  |     |  \- org.thymeleaf:thymeleaf:jar:3.0.11.RELEASE:compile
+|  |  +- org.apache.isis.core:isis-core-transaction:jar:2.0.0-SNAPSHOT:compile
+|  |  +- org.apache.isis.core:isis-core-interaction:jar:2.0.0-SNAPSHOT:compile
+|  |  \- org.springframework.boot:spring-boot-starter-thymeleaf:jar:2.4.2:compile
+|  |     +- org.thymeleaf:thymeleaf-spring5:jar:3.0.12.RELEASE:compile
+|  |     |  \- org.thymeleaf:thymeleaf:jar:3.0.12.RELEASE:compile
 |  |     |     +- org.attoparser:attoparser:jar:2.0.5.RELEASE:compile
 |  |     |     \- org.unbescape:unbescape:jar:1.1.6.RELEASE:compile
 |  |     \- org.thymeleaf.extras:thymeleaf-extras-java8time:jar:3.0.4.RELEASE:compile
 |  \- com.h2database:h2:jar:1.4.200:compile
 +- org.apache.isis.extensions:isis-extensions-flyway-impl:jar:2.0.0-SNAPSHOT:compile
 |  +- org.apache.isis.core:isis-core-config:jar:2.0.0-SNAPSHOT:compile
-|  |  +- org.apache.isis.commons:isis-commons:jar:2.0.0-SNAPSHOT:compile
-|  |  |  \- org.springframework.boot:spring-boot-starter-log4j2:jar:2.3.4.RELEASE:compile
-|  |  |     +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.13.3:compile
-|  |  |     |  \- org.apache.logging.log4j:log4j-api:jar:2.13.3:compile
-|  |  |     +- org.apache.logging.log4j:log4j-core:jar:2.13.3:compile
-|  |  |     +- org.apache.logging.log4j:log4j-jul:jar:2.13.3:compile
-|  |  |     \- org.slf4j:jul-to-slf4j:jar:1.7.30:compile
-|  |  \- org.hibernate.validator:hibernate-validator:jar:6.1.5.Final:compile
+|  |  \- org.hibernate.validator:hibernate-validator:jar:6.1.7.Final:compile
 |  |     \- com.fasterxml:classmate:jar:1.5.1:compile
-|  +- org.flywaydb:flyway-core:jar:6.4.4:compile
-|  +- org.springframework:spring-context:jar:5.2.9.RELEASE:compile
-|  |  +- org.springframework:spring-aop:jar:5.2.9.RELEASE:compile
-|  |  +- org.springframework:spring-beans:jar:5.2.9.RELEASE:compile
-|  |  \- org.springframework:spring-expression:jar:5.2.9.RELEASE:compile
-|  \- org.springframework:spring-jdbc:jar:5.2.9.RELEASE:compile
-|     \- org.springframework:spring-tx:jar:5.2.9.RELEASE:compile
+|  +- org.flywaydb:flyway-core:jar:7.1.1:compile
+|  +- org.springframework:spring-context:jar:5.3.3:compile
+|  |  +- org.springframework:spring-aop:jar:5.3.3:compile
+|  |  +- org.springframework:spring-beans:jar:5.3.3:compile
+|  |  \- org.springframework:spring-expression:jar:5.3.3:compile
+|  \- org.springframework:spring-jdbc:jar:5.3.3:compile
+|     \- org.springframework:spring-tx:jar:5.3.3:compile
 +- org.apache.isis.mavendeps:isis-mavendeps-integtests:pom:2.0.0-SNAPSHOT:test
 |  +- org.apache.isis.testing:isis-testing-integtestsupport-applib:jar:2.0.0-SNAPSHOT:compile
-|  |  +- org.springframework.boot:spring-boot-starter-test:jar:2.3.4.RELEASE:compile
-|  |  |  +- org.springframework.boot:spring-boot-test:jar:2.3.4.RELEASE:compile
-|  |  |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.3.4.RELEASE:compile
+|  |  +- org.springframework.boot:spring-boot-starter-test:jar:2.4.2:compile
+|  |  |  +- org.springframework.boot:spring-boot-test:jar:2.4.2:compile
+|  |  |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.4.2:compile
 |  |  |  +- com.jayway.jsonpath:json-path:jar:2.4.0:compile
 |  |  |  |  \- net.minidev:json-smart:jar:2.3:compile
 |  |  |  |     \- net.minidev:accessors-smart:jar:1.2:compile
-|  |  |  +- org.assertj:assertj-core:jar:3.16.1:compile
+|  |  |  +- org.assertj:assertj-core:jar:3.18.1:compile
 |  |  |  +- org.hamcrest:hamcrest:jar:2.2:compile
-|  |  |  +- org.junit.jupiter:junit-jupiter:jar:5.6.2:compile
-|  |  |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.6.2:compile
-|  |  |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.6.2:runtime
-|  |  |  +- org.mockito:mockito-core:jar:3.3.3:compile
-|  |  |  |  \- net.bytebuddy:byte-buddy-agent:jar:1.10.14:compile
-|  |  |  +- org.mockito:mockito-junit-jupiter:jar:3.3.3:compile
+|  |  |  +- org.junit.jupiter:junit-jupiter:jar:5.7.0:compile
+|  |  |  |  +- org.junit.jupiter:junit-jupiter-params:jar:5.7.0:compile
+|  |  |  |  \- org.junit.jupiter:junit-jupiter-engine:jar:5.7.0:runtime
+|  |  |  +- org.mockito:mockito-core:jar:3.6.28:compile
+|  |  |  |  \- net.bytebuddy:byte-buddy-agent:jar:1.10.19:compile
+|  |  |  +- org.mockito:mockito-junit-jupiter:jar:3.6.28:compile
 |  |  |  +- org.skyscreamer:jsonassert:jar:1.5.0:compile
 |  |  |  |  \- com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1:compile
 |  |  |  \- org.xmlunit:xmlunit-core:jar:2.7.0:compile
-|  |  +- org.springframework:spring-test:jar:5.2.9.RELEASE:compile
-|  |  +- com.approvaltests:approvaltests:jar:9.3.0:test
-|  |  |  \- com.approvaltests:approvaltests-util:jar:9.3.0:test
+|  |  +- org.springframework:spring-test:jar:5.3.3:compile
+|  |  +- com.approvaltests:approvaltests:jar:9.5.0:test
+|  |  |  \- com.approvaltests:approvaltests-util:jar:9.5.0:test
 |  |  +- org.hamcrest:hamcrest-library:jar:2.2:compile
 |  |  |  \- org.hamcrest:hamcrest-core:jar:2.2:compile
 |  |  +- org.slf4j:slf4j-api:jar:1.7.30:compile
-|  |  +- org.hsqldb:hsqldb:jar:2.5.1:compile
-|  |  +- com.fasterxml.woodstox:woodstox-core:jar:6.2.1:compile
-|  |  \- org.codehaus.woodstox:stax2-api:jar:4.2.1:compile
+|  |  \- org.hsqldb:hsqldb:jar:2.5.1:compile
 |  \- org.apache.isis.testing:isis-testing-fakedata-applib:jar:2.0.0-SNAPSHOT:test
-|     +- com.github.javafaker:javafaker:jar:1.0.1:test
-|     |  \- com.github.mifmif:generex:jar:1.0.2:test
-|     |     \- dk.brics.automaton:automaton:jar:1.11-8:test
-|     \- com.google.guava:guava:jar:28.1-jre:compile
-|        +- com.google.guava:failureaccess:jar:1.0.1:compile
-|        +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
-|        +- org.checkerframework:checker-qual:jar:2.8.1:compile
-|        +- com.google.errorprone:error_prone_annotations:jar:2.4.0:compile
-|        +- com.google.j2objc:j2objc-annotations:jar:1.3:compile
-|        \- org.codehaus.mojo:animal-sniffer-annotations:jar:1.18:compile
+|     \- com.github.javafaker:javafaker:jar:1.0.2:test
+|        \- com.github.mifmif:generex:jar:1.0.2:test
+|           \- dk.brics.automaton:automaton:jar:1.11-8:test
 +- org.apache.isis.mavendeps:isis-mavendeps-integspecs:pom:2.0.0-SNAPSHOT:test
 |  \- org.apache.isis.testing:isis-testing-specsupport-applib:jar:2.0.0-SNAPSHOT:test
-|     +- io.cucumber:cucumber-java:jar:6.8.0:test
-|     |  +- io.cucumber:cucumber-core:jar:6.8.0:test
-|     |  |  +- io.cucumber:cucumber-gherkin:jar:6.8.0:test
-|     |  |  +- io.cucumber:cucumber-gherkin-messages:jar:6.8.0:test
-|     |  |  +- io.cucumber:messages:jar:13.1.0:test
+|     +- io.cucumber:cucumber-java:jar:6.9.1:test
+|     |  +- io.cucumber:cucumber-core:jar:6.9.1:test
+|     |  |  +- io.cucumber:cucumber-gherkin:jar:6.9.1:test
+|     |  |  +- io.cucumber:cucumber-gherkin-messages:jar:6.9.1:test
+|     |  |  +- io.cucumber:messages:jar:13.2.1:test
 |     |  |  +- io.cucumber:tag-expressions:jar:3.0.0:test
 |     |  |  +- io.cucumber:cucumber-expressions:jar:10.3.0:test
 |     |  |  +- io.cucumber:datatable:jar:3.5.0:test
-|     |  |  +- io.cucumber:cucumber-plugin:jar:6.8.0:test
-|     |  |  +- io.cucumber:docstring:jar:6.8.0:test
+|     |  |  +- io.cucumber:cucumber-plugin:jar:6.9.1:test
+|     |  |  +- io.cucumber:docstring:jar:6.9.1:test
 |     |  |  +- io.cucumber:html-formatter:jar:9.0.0:test
-|     |  |  \- io.cucumber:create-meta:jar:2.0.2:test
+|     |  |  \- io.cucumber:create-meta:jar:2.0.4:test
 |     |  \- org.apiguardian:apiguardian-api:jar:1.1.0:compile
-|     +- io.cucumber:cucumber-spring:jar:6.8.0:test
-|     +- io.cucumber:cucumber-junit-platform-engine:jar:6.8.0:test
-|     \- org.junit.jupiter:junit-jupiter-api:jar:5.6.2:compile
+|     +- io.cucumber:cucumber-spring:jar:6.9.1:test
+|     +- io.cucumber:cucumber-junit-platform-engine:jar:6.9.1:test
+|     \- org.junit.jupiter:junit-jupiter-api:jar:5.7.0:compile
 |        \- org.opentest4j:opentest4j:jar:1.2.0:compile
 +- com.tngtech.archunit:archunit-junit5-api:jar:0.14.1:test
 |  \- com.tngtech.archunit:archunit:jar:0.14.1:test
 +- com.tngtech.archunit:archunit-junit5-engine:jar:0.14.1:test
 |  \- com.tngtech.archunit:archunit-junit5-engine-api:jar:0.14.1:test
-|     \- org.junit.platform:junit-platform-engine:jar:1.6.2:runtime
-\- org.projectlombok:lombok:jar:1.18.12:provided
+|     \- org.junit.platform:junit-platform-engine:jar:1.7.0:runtime
+\- org.projectlombok:lombok:jar:1.18.16:provided