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 2020/10/13 06:04:45 UTC

[isis-app-simpleapp] branch master updated (9d56153 -> d53bfb8)

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

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


    from 9d56153  ISIS-2322: adds -SNAPSHOT as explicit version of top-level pom
     new a9ef924  suppress prototype actions from home page
     new d53bfb8  approves metamodel lockdown changes

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.


Summary of changes:
 .../services/homepage/HomePageViewModel.layout.xml |   3 +-
 ...omainapp.modules.simple.dom.so.SimpleObject.xml | 273 +++++++++++----------
 ...mainapp.modules.simple.dom.so.SimpleObjects.xml |  30 +--
 ...ication.services.homepage.HomePageViewModel.xml | 208 +++++++++-------
 4 files changed, 276 insertions(+), 238 deletions(-)


[isis-app-simpleapp] 02/02: approves metamodel lockdown changes

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

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

commit d53bfb8a12e49050a186d4af0c67ee35f26848ac
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 13 07:03:02 2020 +0100

    approves metamodel lockdown changes
---
 ...omainapp.modules.simple.dom.so.SimpleObject.xml | 273 +++++++++++----------
 ...mainapp.modules.simple.dom.so.SimpleObjects.xml |  30 +--
 ...ication.services.homepage.HomePageViewModel.xml | 208 +++++++++-------
 3 files changed, 274 insertions(+), 237 deletions(-)

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 846f358..bfd8db9 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
@@ -10,10 +10,7 @@
             <mml:attr name="value">Simple Object</mml:attr>
         </mml:facet>
         <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.jaxbadapters.PersistentEntityAdapter</mml:attr>
-        </mml:facet>
-        <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobjectlayout.CssClassFacetViaDomainObjectLayoutAnnotationUsingCssClassUiEvent">
-            <mml:attr name="cssClassUiEventClass">org.apache.isis.applib.events.ui.CssClassUiEvent.Default</mml:attr>
+            <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>
@@ -44,16 +41,10 @@
             <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.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.domainobjectlayout.IconFacetViaDomainObjectLayoutAnnotationUsingIconUiEvent">
-            <mml:attr name="iconUiEventClass">org.apache.isis.applib.events.ui.IconUiEvent.Default</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.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.layout.LayoutFacet" fqcn="org.apache.isis.core.metamodel.facets.object.domainobjectlayout.LayoutFacetViaDomainObjectLayoutAnnotationUsingLayoutUiEvent">
-            <mml:attr name="layoutUiEventClass">org.apache.isis.applib.events.ui.LayoutUiEvent.Default</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:attr name="value">simple.SimpleObject</mml:attr>
         </mml:facet>
@@ -66,9 +57,9 @@
         </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.domainobjectlayout.TitleFacetViaDomainObjectLayoutAnnotationUsingTitleUiEvent">
-            <mml:attr name="titleUiEventClass">org.apache.isis.applib.events.ui.TitleUiEvent.Default</mml:attr>
-            <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.object.title.methods.TitleFacetViaTitleMethod</mml:attr>
+        <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:attr name="strategy">IDENTITY</mml:attr>
@@ -101,11 +92,7 @@
                     <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -181,11 +168,7 @@
                     <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -261,11 +244,7 @@
                     <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -327,11 +306,7 @@
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -413,16 +388,12 @@
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
                     <mml:attr name="originalText">Notes</mml:attr>
-                    <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.fallback.NamedFacetDefault</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.members.disabled.DisabledFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.disabled.DisabledFacetForPropertyAnnotationInvertedSemantics">
                     <mml:attr name="disabling">true</mml:attr>
@@ -447,6 +418,10 @@
                     <mml:attr name="validating">true</mml:attr>
                     <mml:attr name="value">4000</mml:attr>
                 </mml:facet>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.multiline.MultiLineFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.propertylayout.MultiLineFacetForPropertyLayoutAnnotation">
+                    <mml:attr name="numberOfLines">10</mml:attr>
+                    <mml:attr name="preventWrapping">false</mml:attr>
+                </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
                     <mml:attr name="derived">true</mml:attr>
                     <mml:attr name="typicalLengthFacet">org.apache.isis.core.metamodel.facets.object.value.TypicalLengthFacetUsingParser</mml:attr>
@@ -466,6 +441,10 @@
                     <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.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: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>
@@ -495,34 +474,30 @@
                     <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.applib.mixins.metamodel.Object_objectIdentifier.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.applib.mixins.metamodel.Object_objectIdentifier.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.String org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.prop()</mml:attr>
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
+                    <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" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
                     <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>
                 <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">
@@ -544,10 +519,6 @@
                     <mml:attr name="semantics">DISABLED</mml:attr>
                     <mml:attr name="where">ANYWHERE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <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.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
                     <mml:attr name="originalName">metadata</mml:attr>
@@ -559,12 +530,17 @@
                 <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.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
+                    <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.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
+                <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>
+                <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="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</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>
@@ -576,34 +552,30 @@
                     <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.applib.mixins.metamodel.Object_objectType.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.applib.mixins.metamodel.Object_objectType.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.String org.apache.isis.applib.mixins.metamodel.Object_objectType.prop()</mml:attr>
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
+                    <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" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
                     <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>
                 <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">
@@ -625,10 +597,6 @@
                     <mml:attr name="semantics">DISABLED</mml:attr>
                     <mml:attr name="where">ANYWHERE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <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.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
                     <mml:attr name="originalName">metadata</mml:attr>
@@ -640,12 +608,17 @@
                 <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.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
+                    <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.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
+                <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>
+                <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="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</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>
@@ -675,9 +648,6 @@
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
                     <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">
@@ -703,8 +673,8 @@
                     <mml:attr name="cssClass">btn-danger</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex">
+                    <mml:attr name="classes">fa fa-fw fa-trash</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-trash</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>
@@ -737,11 +707,7 @@
                     <mml:attr name="onType">org.apache.isis.persistence.jdo.datanucleus5.jdosupport.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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -770,9 +736,9 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-download</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
                     <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</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>
@@ -835,14 +801,9 @@
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <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:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</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>
@@ -868,9 +829,9 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-download</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
                     <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</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>
@@ -942,7 +903,7 @@
                 </mml:param>
             </mml:params>
         </mml:act>
-        <mml:act id="downloadMetaModelXml">
+        <mml:act id="downloadMetamodelXml">
             <mml:facets>
                 <mml:facet id="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacetImpl">
                     <mml:attr name="disabling">true</mml:attr>
@@ -953,23 +914,18 @@
                     <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.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.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.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.ActionDomainEvent</mml:attr>
                     <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.act(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
+                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.act(java.lang.String)</mml:attr>
+                    <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <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:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</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>
@@ -987,17 +943,17 @@
                 </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 Meta Model Xml</mml:attr>
+                    <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>
                 <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>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-download</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
                     <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</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>
@@ -1017,12 +973,12 @@
                 <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.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml#act(java.lang.String)</mml:attr>
                             <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
                             <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
                         </mml:facet>
                         <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.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml#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>
@@ -1038,13 +994,80 @@
                         </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.applib.mixins.metamodel.Object_downloadMetaModelXml.default0Act()</mml:attr>
+                            <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.default0Act()</mml:attr>
                         </mml:facet>
                     </mml:facets>
                     <mml:type>java.lang.String</mml:type>
                 </mml:param>
             </mml:params>
         </mml:act>
+        <mml:act id="inspectMetamodel">
+            <mml:facets>
+                <mml:facet id="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacetImpl">
+                    <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: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.core.metamodel.inspect.Object_inspectMetamodel.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.core.metamodel.inspect.Object_inspectMetamodel.ActionDomainEvent</mml:attr>
+                    <mml:attr name="intent.act">EXECUTE</mml:attr>
+                    <mml:attr name="methods">public java.lang.Object org.apache.isis.core.metamodel.inspect.Object_inspectMetamodel.act()</mml:attr>
+                    <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>
+                <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>
+                </mml:facet>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+                    <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>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+                    <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>
+                <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>
+                </mml:facet>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-sitemap</mml:attr>
+                    <mml:attr name="position">LEFT</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>
+                    <mml:attr name="originalName">metadata</mml:attr>
+                    <mml:attr name="sequence">700.2.1</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>
+                <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/>
+        </mml:act>
         <mml:act id="openRestApi">
             <mml:facets>
                 <mml:facet id="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacetImpl">
@@ -1065,14 +1088,9 @@
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <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:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</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>
@@ -1098,8 +1116,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-external-link-alt</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-external-link</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>
@@ -1138,14 +1156,10 @@
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
                     <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" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
                     <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>
                 <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>
@@ -1171,8 +1185,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-sync</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-refresh</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>
@@ -1214,9 +1228,6 @@
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
                     <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">
@@ -1239,8 +1250,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex">
+                    <mml:attr name="classes">fa fa-fw fa-edit</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-edit</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.MemberOrderFacetForActionAnnotation">
                     <mml:attr name="name">name</mml:attr>
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 f013e4d..565738e 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
@@ -62,15 +62,11 @@
                 <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">domainapp.modules.simple.dom.so.SimpleObjects.CreateActionDomainEvent</mml:attr>
                     <mml:attr name="intent.create">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public domainapp.modules.simple.dom.so.SimpleObject
-                        domainapp.modules.simple.dom.so.SimpleObjects.create(java.lang.String)</mml:attr>
+                    <mml:attr name="methods">public domainapp.modules.simple.dom.so.SimpleObject domainapp.modules.simple.dom.so.SimpleObjects.create(java.lang.String)</mml:attr>
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
                     <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">
@@ -93,8 +89,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex">
+                    <mml:attr name="classes">fa fa-fw fa-plus</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-plus</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>
@@ -166,16 +162,11 @@
                 <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">domainapp.modules.simple.dom.so.SimpleObjects.FindByNameActionDomainEvent</mml:attr>
                     <mml:attr name="intent.findByName">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.so.SimpleObject&gt;
-                        domainapp.modules.simple.dom.so.SimpleObjects.findByName(java.lang.String)</mml:attr>
+                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.so.SimpleObject&gt; domainapp.modules.simple.dom.so.SimpleObjects.findByName(java.lang.String)</mml:attr>
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -196,8 +187,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex">
+                    <mml:attr name="classes">fa fa-fw fa-search</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-search</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.BookmarkPolicyFacetForActionLayoutAnnotation">
                     <mml:attr name="bookmarkPolicy">AS_ROOT</mml:attr>
@@ -270,16 +261,11 @@
                 <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.listAll">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.so.SimpleObject&gt;
-                        domainapp.modules.simple.dom.so.SimpleObjects.listAll()</mml:attr>
+                    <mml:attr name="methods">public java.util.List&lt;domainapp.modules.simple.dom.so.SimpleObject&gt; domainapp.modules.simple.dom.so.SimpleObjects.listAll()</mml:attr>
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</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>
@@ -300,8 +286,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex">
+                    <mml:attr name="classes">fa fa-fw fa-list</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-list</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.BookmarkPolicyFacetForActionLayoutAnnotation">
                     <mml:attr name="bookmarkPolicy">AS_ROOT</mml:attr>
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 5f74d8d..fc63abd 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
@@ -12,8 +12,9 @@
         <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.bookmarkpolicy.BookmarkPolicyFacetFallback">
-            <mml:attr name="bookmarkPolicy">NEVER</mml:attr>
+        <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>
         </mml:facet>
         <mml:facet id="org.apache.isis.core.metamodel.facets.object.callbacks.CreatedLifecycleEventFacet" fqcn="org.apache.isis.core.metamodel.facets.object.callbacks.CreatedLifecycleEventFacetForDomainObjectAnnotation">
             <mml:attr name="value">org.apache.isis.applib.events.lifecycle.ObjectCreatedEvent.Default</mml:attr>
@@ -52,10 +53,7 @@
             <mml:attr name="derived">true</mml:attr>
             <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.plural.inferred.PluralFacetInferred">
-            <mml:attr name="derived">true</mml:attr>
-            <mml:attr name="value">Home Page View Models</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>
@@ -72,34 +70,30 @@
                     <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.applib.mixins.metamodel.Object_objectIdentifier.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.applib.mixins.metamodel.Object_objectIdentifier.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.String org.apache.isis.applib.mixins.metamodel.Object_objectIdentifier.prop()</mml:attr>
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
+                    <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" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
                     <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>
                 <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">
@@ -121,10 +115,6 @@
                     <mml:attr name="semantics">DISABLED</mml:attr>
                     <mml:attr name="where">ANYWHERE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <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.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
                     <mml:attr name="originalName">metadata</mml:attr>
@@ -136,12 +126,17 @@
                 <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.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
+                    <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.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
+                <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>
+                <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="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</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>
@@ -153,34 +148,30 @@
                     <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.applib.mixins.metamodel.Object_objectType.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.applib.mixins.metamodel.Object_objectType.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.String org.apache.isis.applib.mixins.metamodel.Object_objectType.prop()</mml:attr>
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
+                    <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" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
                     <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>
                 <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">
@@ -202,10 +193,6 @@
                     <mml:attr name="semantics">DISABLED</mml:attr>
                     <mml:attr name="where">ANYWHERE</mml:attr>
                 </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.HiddenFacetForActionLayoutAnnotation">
-                    <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.members.order.MemberOrderFacet" fqcn="org.apache.isis.core.metamodel.facets.members.order.annotprop.MemberOrderFacetAnnotation">
                     <mml:attr name="name">metadata</mml:attr>
                     <mml:attr name="originalName">metadata</mml:attr>
@@ -217,12 +204,17 @@
                 <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.objectvalue.typicallen.TypicalLengthFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.typicallen.fromtype.TypicalLengthFacetOnPropertyDerivedFromType">
+                    <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.property.modify.PropertyDomainEventFacet" fqcn="org.apache.isis.core.metamodel.facets.properties.property.modify.PropertyDomainEventFacetForPropertyAnnotation">
-                    <mml:attr name="disabling">true</mml:attr>
+                <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>
+                <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="validating">true</mml:attr>
-                    <mml:attr name="value">org.apache.isis.applib.events.domain.PropertyDomainEvent.Default</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>
@@ -320,14 +312,9 @@
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <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:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</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>
@@ -353,9 +340,9 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-download</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
                     <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</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>
@@ -427,7 +414,7 @@
                 </mml:param>
             </mml:params>
         </mml:act>
-        <mml:act id="downloadMetaModelXml">
+        <mml:act id="downloadMetamodelXml">
             <mml:facets>
                 <mml:facet id="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacetImpl">
                     <mml:attr name="disabling">true</mml:attr>
@@ -438,23 +425,18 @@
                     <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.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+                    <mml:attr name="value">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.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.applib.mixins.metamodel.Object_downloadMetaModelXml.ActionDomainEvent</mml:attr>
+                    <mml:attr name="eventType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.ActionDomainEvent</mml:attr>
                     <mml:attr name="intent.act">EXECUTE</mml:attr>
-                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml.act(java.lang.String)</mml:attr>
-                    <mml:attr name="onType">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml</mml:attr>
+                    <mml:attr name="methods">public java.lang.Object org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.act(java.lang.String)</mml:attr>
+                    <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <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:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</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>
@@ -472,17 +454,17 @@
                 </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 Meta Model Xml</mml:attr>
+                    <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>
                 <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>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-download</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
                     <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFromConfiguredRegex</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-download</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>
@@ -502,12 +484,12 @@
                 <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.describedas.DescribedAsFacet" fqcn="org.apache.isis.core.metamodel.facets.all.i18n.DescribedAsFacetTranslated">
-                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml#act(java.lang.String)</mml:attr>
                             <mml:attr name="originalText">File name extension can be omitted.</mml:attr>
                             <mml:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.param.layout.DescribedAsFacetForParameterLayoutAnnotation</mml:attr>
                         </mml:facet>
                         <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.applib.mixins.metamodel.Object_downloadMetaModelXml#act(java.lang.String)</mml:attr>
+                            <mml:attr name="context">org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml#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>
@@ -523,13 +505,80 @@
                         </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.applib.mixins.metamodel.Object_downloadMetaModelXml.default0Act()</mml:attr>
+                            <mml:attr name="methods">public java.lang.String org.apache.isis.applib.mixins.metamodel.Object_downloadMetamodelXml.default0Act()</mml:attr>
                         </mml:facet>
                     </mml:facets>
                     <mml:type>java.lang.String</mml:type>
                 </mml:param>
             </mml:params>
         </mml:act>
+        <mml:act id="inspectMetamodel">
+            <mml:facets>
+                <mml:facet id="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacetImpl">
+                    <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: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.core.metamodel.inspect.Object_inspectMetamodel.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.core.metamodel.inspect.Object_inspectMetamodel.ActionDomainEvent</mml:attr>
+                    <mml:attr name="intent.act">EXECUTE</mml:attr>
+                    <mml:attr name="methods">public java.lang.Object org.apache.isis.core.metamodel.inspect.Object_inspectMetamodel.act()</mml:attr>
+                    <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>
+                <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>
+                </mml:facet>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.prototype.PrototypeFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation">
+                    <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>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation">
+                    <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>
+                <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>
+                </mml:facet>
+                <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-sitemap</mml:attr>
+                    <mml:attr name="position">LEFT</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>
+                    <mml:attr name="originalName">metadata</mml:attr>
+                    <mml:attr name="sequence">700.2.1</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>
+                <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/>
+        </mml:act>
         <mml:act id="openRestApi">
             <mml:facets>
                 <mml:facet id="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacet" fqcn="org.apache.isis.core.metamodel.authorization.standard.AuthorizationFacetImpl">
@@ -550,14 +599,9 @@
                     <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:attr name="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
-                </mml:facet>
-                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <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:attr name="underlyingFacet">org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotContributedFacetDerivedFromMixinFacet</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>
@@ -583,8 +627,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-external-link-alt</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-external-link</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>
@@ -623,14 +667,10 @@
                     <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="disabled">false</mml:attr>
-                    <mml:attr name="executeIn">FOREGROUND</mml:attr>
-                    <mml:attr name="persistence">PERSISTED</mml:attr>
                     <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" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.NotContributedFacetForActionLayoutAnnotation">
+                <mml:facet id="org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet">
                     <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>
                 <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>
@@ -656,8 +696,8 @@
                     <mml:attr name="value">table</mml:attr>
                 </mml:facet>
                 <mml:facet id="org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet" fqcn="org.apache.isis.core.metamodel.facets.actions.layout.CssClassFaFacetForActionLayoutAnnotation">
+                    <mml:attr name="classes">fa fa-fw fa-sync</mml:attr>
                     <mml:attr name="position">LEFT</mml:attr>
-                    <mml:attr name="value">fa fa-fw fa-refresh</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>


[isis-app-simpleapp] 01/02: suppress prototype actions from home page

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

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

commit a9ef9242cd237792d7ebdb0c8392613d909c7228
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Oct 13 07:02:26 2020 +0100

    suppress prototype actions from home page
---
 .../webapp/application/services/homepage/HomePageViewModel.layout.xml  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
index fb55faa..7c5d097 100644
--- a/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
+++ b/webapp/src/main/java/domainapp/webapp/application/services/homepage/HomePageViewModel.layout.xml
@@ -7,8 +7,9 @@
                     <domainObject/>
                     <action id="clearHints"/>
                     <action id="downloadLayoutXml" hidden="EVERYWHERE"/>
+                    <action id="inspectMetamodel" hidden="EVERYWHERE"/>
                     <action id="rebuildMetamodel" hidden="EVERYWHERE"/>
-                    <action id="downloadMetaModelXml" hidden="EVERYWHERE"/>
+                    <action id="downloadMetamodelXml" hidden="EVERYWHERE"/>
                     <action id="openRestApi" hidden="EVERYWHERE"/>
                 </bs3:col>
             </bs3:row>