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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8592bff  ISIS-2464: semantic renaming audit/dispatch -> publishing (7)
8592bff is described below

commit 8592bff6e705d187e17d74cbc0031d1afa23aadb
Author: Andi Huber <[email protected]>
AuthorDate: Fri Nov 20 11:48:28 2020 +0100

    ISIS-2464: semantic renaming audit/dispatch -> publishing (7)
---
 .../org/apache/isis/applib/annotation/Action.java  | 12 ++--
 .../apache/isis/applib/annotation/Dispatching.java | 70 ------------------
 .../apache/isis/applib/annotation/Property.java    | 10 +--
 .../apache/isis/applib/annotation/Publishing.java  | 79 +++++++++++++++++++++
 .../apache/isis/core/config/IsisConfiguration.java | 82 ++++++++++------------
 .../facets/AuditObjectsConfiguration.java          | 31 --------
 .../facets/CommandActionsConfiguration.java        | 36 ----------
 .../PropertyCommandDispatchConfiguration.java      | 25 -------
 .../PropertyExecutionDispatchConfiguration.java    | 24 -------
 .../facets/PublishActionsConfiguration.java        | 36 ----------
 .../facets/PublishObjectsConfiguration.java        | 30 --------
 .../metamodel/facets/PublishingPolicies.java       | 81 +++++++++++++++++++++
 .../isis/core/config/metamodel/facets/Util.java    |  2 +-
 .../command/CommandFacetForActionAnnotation.java   | 22 +++---
 .../PublishedActionFacetForActionAnnotation.java   | 16 +++--
 .../publish/PublishedActionFacetAbstract.java      |  4 +-
 .../AuditableFacetForDomainObjectAnnotation.java   |  8 +--
 .../command/CommandFacetForPropertyAnnotation.java | 19 ++---
 ...DispatchPropertyFacetForPropertyAnnotation.java | 15 ++--
 .../Annotations_getAnnotations_on_Field_Test.java  | 28 ++++----
 .../action/ActionAnnotationFacetFactoryTest.java   |  8 +--
 .../ActionAnnotationFacetFactoryTest_Command.java  |  6 +-
 ...ctionAnnotationFacetFactoryTest_Publishing.java | 40 +++++------
 .../DomainObjectAnnotationFacetFactoryTest.java    | 36 ++++------
 ...ctionCommandDispatchDisabledMetaAnnotation.java |  6 +-
 ...ActionCommandDispatchEnabledMetaAnnotation.java |  4 +-
 .../commandDispatch/ActionCommandDispatchJdo.java  | 12 ++--
 ...tionCommandDispatchJdo_mixinUpdateProperty.java |  4 +-
 ...atchJdo_mixinUpdatePropertyCommandDisabled.java |  4 +-
 ...ixinUpdatePropertyMetaAnnotationOverridden.java |  4 +-
 ...ionExecutionDispatchDisabledMetaAnnotation.java |  7 +-
 ...tionExecutionDispatchEnabledMetaAnnotation.java |  7 +-
 .../ActionExecutionDispatchJdo.java                |  6 +-
 ...onExecutionDispatchJdo_mixinUpdateProperty.java |  4 +-
 ...patchJdo_mixinUpdatePropertyMetaAnnotation.java |  2 +-
 ...ixinUpdatePropertyMetaAnnotationOverridden.java |  4 +-
 ...omainObjectAuditingEnabledMetaAnnotatedJdo.java |  2 +-
 ...pertyCommandDispatchDisabledMetaAnnotation.java |  4 +-
 ...opertyCommandDispatchEnabledMetaAnnotation.java |  6 +-
 .../PropertyCommandDispatchJdo.java                |  8 +--
 ...rtyExecutionDispatchDisabledMetaAnnotation.java |  4 +-
 ...ertyExecutionDispatchEnabledMetaAnnotation.java |  4 +-
 .../PropertyExecutionDispatchJdo.java              |  6 +-
 .../commandlog/impl/jdo/CommandJdo_retry.java      |  4 +-
 .../isis/testdomain/jdo/JdoInventoryManager.java   |  4 +-
 .../model/good/ProperMemberSupport_action.java     |  4 +-
 .../model/good/ProperMemberSupport_action2.java    |  4 +-
 .../wicket/viewer/mixins/Object_clearHints.java    |  4 +-
 48 files changed, 367 insertions(+), 471 deletions(-)

diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
index cbb4a55..f731d4d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Action.java
@@ -92,11 +92,11 @@ public @interface Action {
     // end::refguide[]
     /**
      * Whether action invocations, captured as {@link Command}s, 
-     * should be dispatched to {@link CommandSubscriber}s.
+     * should be published to {@link CommandSubscriber}s.
      */
     // tag::refguide[]
-    Dispatching commandDispatch()                               // <.>
-            default Dispatching.NOT_SPECIFIED;
+    Publishing commandPublishing()                               // <.>
+            default Publishing.NOT_SPECIFIED;
 
     // end::refguide[]
     /**
@@ -141,11 +141,11 @@ public @interface Action {
     // end::refguide[]
     /**
      * Whether {@link Interaction.Execution}s (triggered by action 
invocations), should
-     * be dispatched to {@link ExecutionSubscriber}s.
+     * be published to {@link ExecutionSubscriber}s.
      */
     // tag::refguide[]
-    Dispatching executionDispatch()                           // <.>
-            default Dispatching.NOT_SPECIFIED;
+    Publishing executionPublishing()                                // <.>
+            default Publishing.NOT_SPECIFIED;
     
     // end::refguide[]
     /**
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/Dispatching.java 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/Dispatching.java
deleted file mode 100644
index e7374b1..0000000
--- 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/Dispatching.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.applib.annotation;
-
-/**
- * The available policies as to whether data should be dispatched to  
- * corresponding listeners. The framework supports several kinds of data 
- * that are available for dispatching:
- * <ul>
- * <li><b>EntityAudit</b> ... dispatched via EntityAuditDispatcher and 
subscribed to via EntityAuditListener (SPI)</li>
- * <li><b>ChangingEntities</b> ... dispatched via ChangingEntitiesDispatcher 
and subscribed to via ChangingEntitiesListener (SPI)</li>
- * <li><b>Execution</b> ... dispatched via ExecutionDispatcher and subscribed 
to via ExecutionListener (SPI)</li>
- * <li><b>Command</b> ... dispatched via CommandDispatcher and subscribed to 
via CommandListener (SPI)</li>
- * </ul>
- */
-// tag::refguide[]
-public enum Dispatching {
-
-    // end::refguide[]
-    /**
-     * Dispatching of data triggered by interaction with this object 
-     * should be handled as per the default dispatching policy 
-     * configured in <tt>application.properties</tt>.
-     * <p>
-     * If no dispatching policy is configured, then dispatching is disabled.
-     */
-    // tag::refguide[]
-    AS_CONFIGURED,
-
-    // end::refguide[]
-    /**
-     * Do dispatch data triggered by interaction with this object.
-     */
-    // tag::refguide[]
-    ENABLED,
-
-    // end::refguide[]
-    /**
-     * Do <b>not</b> dispatch data triggered by interaction with this object
-     * (even if otherwise configured to enable dispatching).
-     */
-    // tag::refguide[]
-    DISABLED,
-
-    // end::refguide[]
-    /**
-     * Ignore the value provided by this annotation (meaning that the 
framework will keep searching, in meta
-     * annotations or superclasses/interfaces).
-     */
-    // tag::refguide[]
-    NOT_SPECIFIED
-
-}
-// end::refguide[]
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
index 5f7055a..fad3e57 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Property.java
@@ -55,11 +55,11 @@ public @interface Property {
     // end::refguide[]
     /**
      * Whether property edits, captured as {@link Command}s, 
-     * should be dispatched to {@link CommandSubscriber}s.
+     * should be published to {@link CommandSubscriber}s.
      */
     // tag::refguide[]
-    Dispatching commandDispatch()                               // <.>
-            default Dispatching.NOT_SPECIFIED;
+    Publishing commandPublishing()                               // <.>
+            default Publishing.NOT_SPECIFIED;
 
     // end::refguide[]
     /**
@@ -126,8 +126,8 @@ public @interface Property {
      * {@link ExecutionSubscriber}s.
      */
     // tag::refguide[]
-    Dispatching executionDispatch()                             // <.>
-            default Dispatching.NOT_SPECIFIED;
+    Publishing executionDispatch()                             // <.>
+            default Publishing.NOT_SPECIFIED;
     
     // end::refguide[]
     /**
diff --git 
a/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java 
b/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
new file mode 100644
index 0000000..781ed01
--- /dev/null
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/Publishing.java
@@ -0,0 +1,79 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.applib.annotation;
+
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.iactn.Interaction;
+import org.apache.isis.applib.services.publishing.spi.CommandSubscriber;
+import org.apache.isis.applib.services.publishing.spi.EntityChanges;
+import org.apache.isis.applib.services.publishing.spi.EntityChangesSubscriber;
+import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
+import 
org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
+import org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber;
+
+/**
+ * The available policies as to whether data should be published to  
+ * corresponding subscribers. The framework supports several kinds of data 
+ * that are available for publishing:
+ * <ul>
+ * <li><b>{@link EntityChanges} ... subscribed to via {@link 
EntityChangesSubscriber}</li>
+ * <li><b>{@link EntityPropertyChange} ... subscribed to via {@link 
EntityPropertyChangeSubscriber}</li>
+ * <li><b>{@link Command} ... subscribed to via {@link CommandSubscriber}</li>
+ * <li><b>{@link Interaction.Execution} ... subscribed to via {@link 
ExecutionSubscriber}</li>
+ * </ul>
+ */
+// tag::refguide[]
+public enum Publishing {
+
+    // end::refguide[]
+    /**
+     * Publishing of data triggered by interaction with this object 
+     * should be handled as per the default publishing policy 
+     * configured in <tt>application.properties</tt>.
+     * <p>
+     * If no publishing policy is configured, then publishing is disabled.
+     */
+    // tag::refguide[]
+    AS_CONFIGURED,
+
+    // end::refguide[]
+    /**
+     * Do publish data triggered by interaction with this object.
+     */
+    // tag::refguide[]
+    ENABLED,
+
+    // end::refguide[]
+    /**
+     * Do <b>not</b> publish data triggered by interaction with this object
+     * (even if otherwise configured to enable publishing).
+     */
+    // tag::refguide[]
+    DISABLED,
+
+    // end::refguide[]
+    /**
+     * Ignore the value provided by this annotation (meaning that the 
framework will keep searching, in meta
+     * annotations or super-classes/interfaces).
+     */
+    // tag::refguide[]
+    NOT_SPECIFIED
+
+}
+// end::refguide[]
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java 
b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index fbeaba2..d98bd8e 100644
--- 
a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ 
b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -60,19 +60,16 @@ import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.iactn.Interaction;
-import org.apache.isis.applib.services.publishing.spi.EntityChanges;
+import org.apache.isis.applib.services.publishing.spi.EntityChangesSubscriber;
 import 
org.apache.isis.applib.services.publishing.spi.EntityPropertyChangeSubscriber;
 import org.apache.isis.applib.services.userreg.EmailNotificationService;
 import org.apache.isis.applib.services.userreg.UserRegistrationService;
 import org.apache.isis.commons.internal.context._Context;
-import org.apache.isis.core.config.metamodel.facets.AuditObjectsConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.CommandActionsConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PropertyCommandDispatchConfiguration;
 import org.apache.isis.core.config.metamodel.facets.DefaultViewConfiguration;
 import 
org.apache.isis.core.config.metamodel.facets.EditingObjectsConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PublishActionsConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PublishObjectsConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PropertyExecutionDispatchConfiguration;
+import 
org.apache.isis.core.config.metamodel.facets.PublishingPolicies.ActionPublishingPolicy;
+import 
org.apache.isis.core.config.metamodel.facets.PublishingPolicies.EntityChangePublishingPolicy;
+import 
org.apache.isis.core.config.metamodel.facets.PublishingPolicies.PropertyPublishingPolicy;
 import 
org.apache.isis.core.config.metamodel.services.ApplicationFeaturesInitConfiguration;
 import org.apache.isis.core.config.metamodel.specloader.IntrospectionMode;
 import org.apache.isis.core.config.viewer.wicket.DialogMode;
@@ -160,8 +157,10 @@ public class IsisConfiguration {
             public static class DomainObject {
 
                 /**
+                 * TODO[2464] semantic renaming audit/dispatch -> publishing
                  * The default for whether <i>domain entities</i> should be 
audited or not (meaning that any changes are
-                 * sent through to the {@link EntityPropertyChangeSubscriber}.
+                 * sent through to {@link EntityChangesSubscriber}s and 
+                 * sent through to {@link EntityPropertyChangeSubscriber}.
                  *
                  * <p>
                  * This setting can be overridden on a case-by-case basis 
using {@link org.apache.isis.applib.annotation.DomainObject#auditing()} 
DomainObject#getAuditing()}
@@ -171,7 +170,7 @@ public class IsisConfiguration {
                  *     Note: this applies only to domain entities, not view 
models.
                  * </p>
                  */
-                private AuditObjectsConfiguration auditing = 
AuditObjectsConfiguration.NONE;
+                private EntityChangePublishingPolicy entityChangePublishing = 
EntityChangePublishingPolicy.NONE;
 
                 /**
                  * The default for whether the properties of domain objects 
can be edited, or whether instead they
@@ -183,22 +182,6 @@ public class IsisConfiguration {
                  */
                 private EditingObjectsConfiguration editing = 
EditingObjectsConfiguration.FALSE;
 
-                /**
-                 * The default for whether the identities of changed objects 
should be sent through to the
-                 * {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber} for 
publishing.
-                 *
-                 * <p>
-                 *     The service's {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber#publish(EntityChanges)
 publish}
-                 *     method is called only once per transaction, with {@link 
EntityChanges} collecting details of
-                 *     all changed domain objects.
-                 * </p>
-                 *
-                 * <p>
-                 *  This setting can be overridden on a case-by-case basis 
using {@link org.apache.isis.applib.annotation.DomainObject#publishing()}.
-                 * </p>
-                 */
-                private PublishObjectsConfiguration publishing = 
PublishObjectsConfiguration.NONE;
-
                 private final CreatedLifecycleEvent createdLifecycleEvent = 
new CreatedLifecycleEvent();
                 @Data
                 public static class CreatedLifecycleEvent {
@@ -651,6 +634,7 @@ public class IsisConfiguration {
             public static class Action {
 
                 /**
+                 * TODO[2464] semantic renaming audit/dispatch -> publishing
                  * The default for whether action invocations should be reified
                  * as a {@link 
org.apache.isis.applib.services.command.Command},
                  * to be sent to any registered
@@ -660,10 +644,29 @@ public class IsisConfiguration {
                  *
                  * <p>
                  *  This setting can be overridden on a case-by-case basis 
using
-                 *  {@link 
org.apache.isis.applib.annotation.Action#commandDispatch()}.
+                 *  {@link 
org.apache.isis.applib.annotation.Action#commandPublishing()}.
                  * </p>
                  */
-                private CommandActionsConfiguration command = 
CommandActionsConfiguration.NONE;
+                private ActionPublishingPolicy commandPublishing = 
ActionPublishingPolicy.NONE;
+                
+                /**
+                 * TODO[2464] semantic renaming audit/dispatch -> publishing
+                 * The default for whether action invocations should be sent 
through to the
+                 * {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber} for 
publishing.
+                 *
+                 * <p>
+                 *     The service's {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber#publish(Interaction.Execution)
 publish}
+                 *     method is called only once per transaction, with
+                 *     {@link Interaction.Execution} collecting details of
+                 *     the identity of the target object, the action invoked, 
the action arguments and the returned
+                 *     object (if any).
+                 * </p>
+                 *
+                 * <p>
+                 *  This setting can be overridden on a case-by-case basis 
using {@link org.apache.isis.applib.annotation.Action#executionDispatch()}.
+                 * </p>
+                 */
+                private ActionPublishingPolicy executionPublishing = 
ActionPublishingPolicy.NONE;
 
                 /**
                  * Whether or not a public method needs to be annotated with
@@ -712,23 +715,8 @@ public class IsisConfiguration {
                     private boolean postForDefault = true;
                 }
 
-                /**
-                 * The default for whether action invocations should be sent 
through to the
-                 * {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber} for 
publishing.
-                 *
-                 * <p>
-                 *     The service's {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber#publish(Interaction.Execution)
 publish}
-                 *     method is called only once per transaction, with
-                 *     {@link Interaction.Execution} collecting details of
-                 *     the identity of the target object, the action invoked, 
the action arguments and the returned
-                 *     object (if any).
-                 * </p>
-                 *
-                 * <p>
-                 *  This setting can be overridden on a case-by-case basis 
using {@link org.apache.isis.applib.annotation.Action#executionDispatch()}.
-                 * </p>
-                 */
-                private PublishActionsConfiguration publishing = 
PublishActionsConfiguration.NONE;
+
+                
 
             }
 
@@ -832,6 +820,7 @@ public class IsisConfiguration {
             public static class Property {
 
                 /**
+                 * TODO[2464] semantic renaming audit/dispatch -> publishing
                  * The default for whether property edits should be reified
                  * as a {@link 
org.apache.isis.applib.services.command.Command},
                  * to be sent to any registered
@@ -844,9 +833,10 @@ public class IsisConfiguration {
                  *  {@link 
org.apache.isis.applib.annotation.Property#commandDispatch()}.
                  * </p>
                  */
-                private PropertyCommandDispatchConfiguration commandDispatch = 
PropertyCommandDispatchConfiguration.NONE;
+                private PropertyPublishingPolicy commandPublishing = 
PropertyPublishingPolicy.NONE;
 
                 /**
+                 * TODO[2464] semantic renaming audit/dispatch -> publishing
                  * The default for whether property edits should be sent 
through to the
                  * {@link 
org.apache.isis.applib.services.publishing.spi.ExecutionSubscriber} for 
publishing.
                  *
@@ -862,7 +852,7 @@ public class IsisConfiguration {
                  *  @link 
org.apache.isis.applib.annotation.Property#publishing()}.
                  * </p>
                  */
-                private PropertyExecutionDispatchConfiguration 
executionDispatch = PropertyExecutionDispatchConfiguration.NONE;
+                private PropertyPublishingPolicy executionPublishing = 
PropertyPublishingPolicy.NONE;
 
                 private final DomainEvent domainEvent = new DomainEvent();
                 @Data
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/AuditObjectsConfiguration.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/AuditObjectsConfiguration.java
deleted file mode 100644
index caf8c5c..0000000
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/AuditObjectsConfiguration.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config.metamodel.facets;
-
-import org.apache.isis.core.config.IsisConfiguration;
-
-public enum AuditObjectsConfiguration {
-    ALL,
-    NONE;
-
-    public static AuditObjectsConfiguration from(IsisConfiguration 
configuration) {
-        return 
configuration.getApplib().getAnnotation().getDomainObject().getAuditing();
-    }
-
-}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/CommandActionsConfiguration.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/CommandActionsConfiguration.java
deleted file mode 100644
index 667583c..0000000
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/CommandActionsConfiguration.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config.metamodel.facets;
-
-import org.apache.isis.core.config.IsisConfiguration;
-
-public enum CommandActionsConfiguration {
-    ALL,
-    IGNORE_SAFE,
-    /**
-     * Alias for {@link #IGNORE_SAFE}
-     */
-    IGNORE_QUERY_ONLY,
-    NONE;
-
-    public static CommandActionsConfiguration from(final IsisConfiguration 
configuration) {
-        return 
configuration.getApplib().getAnnotation().getAction().getCommand();
-    }
-
-}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyCommandDispatchConfiguration.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyCommandDispatchConfiguration.java
deleted file mode 100644
index 7229549..0000000
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyCommandDispatchConfiguration.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config.metamodel.facets;
-
-public enum PropertyCommandDispatchConfiguration {
-    ALL,
-    NONE;
-
-}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyExecutionDispatchConfiguration.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyExecutionDispatchConfiguration.java
deleted file mode 100644
index b1ce810..0000000
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PropertyExecutionDispatchConfiguration.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config.metamodel.facets;
-
-public enum PropertyExecutionDispatchConfiguration {
-    ALL,
-    NONE;
-}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishActionsConfiguration.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishActionsConfiguration.java
deleted file mode 100644
index 143900f..0000000
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishActionsConfiguration.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config.metamodel.facets;
-
-import org.apache.isis.core.config.IsisConfiguration;
-
-public enum PublishActionsConfiguration {
-    ALL,
-    IGNORE_SAFE,
-    /**
-     * alias for {@link #IGNORE_SAFE}
-     */
-    IGNORE_QUERY_ONLY,
-    NONE;
-
-    public static PublishActionsConfiguration from(IsisConfiguration 
configuration) {
-        return 
configuration.getApplib().getAnnotation().getAction().getPublishing();
-    }
-
-}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishObjectsConfiguration.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishObjectsConfiguration.java
deleted file mode 100644
index 9d15657..0000000
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishObjectsConfiguration.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config.metamodel.facets;
-
-import org.apache.isis.core.config.IsisConfiguration;
-
-public enum PublishObjectsConfiguration {
-    ALL,
-    NONE;
-
-    public static PublishObjectsConfiguration from(IsisConfiguration 
configuration) {
-        return 
configuration.getApplib().getAnnotation().getDomainObject().getPublishing();
-    }
-}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishingPolicies.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishingPolicies.java
new file mode 100644
index 0000000..43201ed
--- /dev/null
+++ 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/PublishingPolicies.java
@@ -0,0 +1,81 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.core.config.metamodel.facets;
+
+import org.apache.isis.core.config.IsisConfiguration;
+
+import lombok.NonNull;
+
+public final class PublishingPolicies {
+
+    // -- ACTIONS
+    
+    public static enum ActionPublishingPolicy {
+        ALL,
+        IGNORE_SAFE,
+        /**
+         * Alias for {@link #IGNORE_SAFE}
+         */
+        IGNORE_QUERY_ONLY,
+        NONE;
+    }
+    
+    // -- PROPERTIES
+    
+    public enum PropertyPublishingPolicy {
+        ALL,
+        NONE;
+    }
+    
+    // -- ENTITIES
+    
+    public enum EntityChangePublishingPolicy {
+        ALL,
+        NONE;
+    }
+
+    // -- FACTORIES
+    
+    public static ActionPublishingPolicy actionCommandPublishingPolicy(
+            final @NonNull IsisConfiguration configuration) {
+        return 
configuration.getApplib().getAnnotation().getAction().getCommandPublishing();
+    }
+    
+    public static ActionPublishingPolicy actionExecutionPublishingPolicy(
+            final @NonNull IsisConfiguration configuration) {
+        return 
configuration.getApplib().getAnnotation().getAction().getExecutionPublishing();
+    }
+    
+    public static PropertyPublishingPolicy propertyCommandPublishingPolicy(
+            final @NonNull IsisConfiguration configuration) {
+        return 
configuration.getApplib().getAnnotation().getProperty().getCommandPublishing();
+    }
+    
+    public static PropertyPublishingPolicy propertyExecutionPublishingPolicy(
+            final @NonNull IsisConfiguration configuration) {
+        return 
configuration.getApplib().getAnnotation().getProperty().getExecutionPublishing();
+    }
+    
+    public static EntityChangePublishingPolicy entityChangePublishingPolicy(
+            final @NonNull IsisConfiguration configuration) {
+        return 
configuration.getApplib().getAnnotation().getDomainObject().getEntityChangePublishing();
+    }
+
+    
+}
diff --git 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/Util.java
 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/Util.java
index 2ed3c79..fc2e28a 100644
--- 
a/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/Util.java
+++ 
b/core/config/src/main/java/org/apache/isis/core/config/metamodel/facets/Util.java
@@ -18,7 +18,7 @@
  */
 package org.apache.isis.core.config.metamodel.facets;
 
-public final class Util {
+final class Util {
 
     private Util(){}
 
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
index 3fb6d68..b84a1da 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
@@ -21,16 +21,18 @@ package 
org.apache.isis.core.metamodel.facets.actions.action.command;
 import java.util.Optional;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import 
org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.core.config.IsisConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.CommandActionsConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import 
org.apache.isis.core.metamodel.facets.actions.command.CommandFacetAbstract;
 import 
org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
 
+import lombok.val;
+
 public class CommandFacetForActionAnnotation extends CommandFacetAbstract {
 
     public static CommandFacet create(
@@ -39,23 +41,23 @@ public class CommandFacetForActionAnnotation extends 
CommandFacetAbstract {
             final ServiceInjector servicesInjector,
             final FacetHolder holder) {
 
-        final CommandActionsConfiguration setting = 
CommandActionsConfiguration.from(configuration);
+        val publishingPolicy = 
PublishingPolicies.actionCommandPublishingPolicy(configuration); 
 
         return actionsIfAny
-                .filter(action -> action.commandDispatch() != 
Dispatching.NOT_SPECIFIED)
+                .filter(action -> action.commandPublishing() != 
Publishing.NOT_SPECIFIED)
                 .map(action -> {
 
-                    Dispatching command = action.commandDispatch();
+                    Publishing commandPublishing = action.commandPublishing();
                     final Class<? extends CommandDtoProcessor> processorClass 
= action.commandDtoProcessor();
                     final CommandDtoProcessor processor = 
newProcessorElseNull(processorClass);
 
                     if(processor != null) {
-                        command = Dispatching.ENABLED;
+                        commandPublishing = Publishing.ENABLED;
                     }
 
-                    switch (command) {
+                    switch (commandPublishing) {
                     case AS_CONFIGURED:
-                        switch (setting) {
+                        switch (publishingPolicy) {
                         case NONE:
                             return null;
                         case IGNORE_QUERY_ONLY:
@@ -75,10 +77,10 @@ public class CommandFacetForActionAnnotation extends 
CommandFacetAbstract {
                                 processor, holder, servicesInjector);
                     default:
                     }
-                    throw new IllegalStateException("command '" + command + "' 
not recognised");
+                    throw new IllegalStateException("command '" + 
commandPublishing + "' not recognised");
                 })
                 .orElseGet(() -> {
-                    switch (setting) {
+                    switch (publishingPolicy) {
                     case NONE:
                         return null;
                     case IGNORE_QUERY_ONLY:
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
index 9ed490a..b9eb60f 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
@@ -22,14 +22,16 @@ package 
org.apache.isis.core.metamodel.facets.actions.action.publishing;
 import java.util.Optional;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.core.config.IsisConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PublishActionsConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacet;
 import 
org.apache.isis.core.metamodel.facets.actions.publish.PublishedActionFacetAbstract;
 import 
org.apache.isis.core.metamodel.facets.actions.semantics.ActionSemanticsFacet;
 
+import lombok.val;
+
 public class PublishedActionFacetForActionAnnotation extends 
PublishedActionFacetAbstract {
 
     public static PublishedActionFacet create(
@@ -37,16 +39,16 @@ public class PublishedActionFacetForActionAnnotation 
extends PublishedActionFace
             final IsisConfiguration configuration,
             final FacetHolder holder) {
 
-        final PublishActionsConfiguration setting = 
PublishActionsConfiguration.from(configuration);
+        val publishingPolicy = 
PublishingPolicies.actionExecutionPublishingPolicy(configuration);
 
         return actionsIfAny
-                .map(Action::executionDispatch)
-                .filter(publishing -> publishing != Dispatching.NOT_SPECIFIED)
+                .map(Action::executionPublishing)
+                .filter(publishing -> publishing != Publishing.NOT_SPECIFIED)
                 .map(publishing -> {
                     switch (publishing) {
                     case AS_CONFIGURED:
 
-                        switch (setting) {
+                        switch (publishingPolicy) {
                         case NONE:
                             return null;
                         case IGNORE_QUERY_ONLY:
@@ -67,7 +69,7 @@ public class PublishedActionFacetForActionAnnotation extends 
PublishedActionFace
                     throw new IllegalStateException("publishing '" + 
publishing + "' not recognised");
                 })
                 .orElseGet(() -> {
-                    switch (setting) {
+                    switch (publishingPolicy) {
                     case NONE:
                         return null;
                     case IGNORE_QUERY_ONLY:
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/publish/PublishedActionFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/publish/PublishedActionFacetAbstract.java
index 7654dfa..bc073e0 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/publish/PublishedActionFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/publish/PublishedActionFacetAbstract.java
@@ -23,7 +23,9 @@ import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 
-public abstract class PublishedActionFacetAbstract extends FacetAbstract 
implements PublishedActionFacet {
+public abstract class PublishedActionFacetAbstract 
+extends FacetAbstract 
+implements PublishedActionFacet {
 
     public static Class<? extends Facet> type() {
         return PublishedActionFacet.class;
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
index 799fcbe..88647d3 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
@@ -24,7 +24,7 @@ import java.util.Optional;
 import org.apache.isis.applib.annotation.Auditing;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.metamodel.facets.AuditObjectsConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.audit.AuditableFacet;
 import 
org.apache.isis.core.metamodel.facets.object.audit.AuditableFacetAbstract;
@@ -44,13 +44,13 @@ public class AuditableFacetForDomainObjectAnnotation 
extends AuditableFacetAbstr
         case NOT_SPECIFIED:
         case AS_CONFIGURED:
 
-            val auditObjects = AuditObjectsConfiguration.from(configuration);
-            switch (auditObjects) {
+            val publishingPolicy = 
PublishingPolicies.entityChangePublishingPolicy(configuration);
+            switch (publishingPolicy) {
             case NONE:
                 return null;
             default:
                 return auditingIfAny.isPresent()
-                ? new 
AuditableFacetForDomainObjectAnnotationAsConfigured(holder)
+                        ? new 
AuditableFacetForDomainObjectAnnotationAsConfigured(holder)
                         : new AuditableFacetFromConfiguration(holder);
             }
         case DISABLED:
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
index 0991a59..2f183dc 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/command/CommandFacetForPropertyAnnotation.java
@@ -20,17 +20,19 @@ package 
org.apache.isis.core.metamodel.facets.properties.property.command;
 
 import java.util.Optional;
 
-import org.apache.isis.applib.annotation.Dispatching;
 import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.Publishing;
 import 
org.apache.isis.applib.services.commanddto.processor.CommandDtoProcessor;
 import org.apache.isis.applib.services.inject.ServiceInjector;
 import org.apache.isis.core.config.IsisConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PropertyCommandDispatchConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetFromConfiguration;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
 import 
org.apache.isis.core.metamodel.facets.actions.command.CommandFacetAbstract;
 
+import lombok.val;
+
 public class CommandFacetForPropertyAnnotation extends CommandFacetAbstract {
 
     public static CommandFacet create(
@@ -39,24 +41,23 @@ public class CommandFacetForPropertyAnnotation extends 
CommandFacetAbstract {
             final FacetHolder holder,
             final ServiceInjector servicesInjector) {
 
-        final PropertyCommandDispatchConfiguration commandDispatchSetting = 
-                
configuration.getApplib().getAnnotation().getProperty().getCommandDispatch();
+        val publishingPolicy = 
PublishingPolicies.propertyCommandPublishingPolicy(configuration);
 
         return propertyIfAny
-                .filter(property -> property.commandDispatch() != 
Dispatching.NOT_SPECIFIED)
+                .filter(property -> property.commandPublishing() != 
Publishing.NOT_SPECIFIED)
                 .map(property -> {
-                    Dispatching commandReification = 
property.commandDispatch();
+                    Publishing commandReification = 
property.commandPublishing();
 
                     final Class<? extends CommandDtoProcessor> processorClass =
                             property.commandDtoProcessor();
                     final CommandDtoProcessor processor = 
newProcessorElseNull(processorClass);
 
                     if(processor != null) {
-                        commandReification = Dispatching.ENABLED;
+                        commandReification = Publishing.ENABLED;
                     }
                     switch (commandReification) {
                     case AS_CONFIGURED:
-                        switch (commandDispatchSetting) {
+                        switch (publishingPolicy) {
                         case NONE:
                             return null;
                         default:
@@ -71,7 +72,7 @@ public class CommandFacetForPropertyAnnotation extends 
CommandFacetAbstract {
                     throw new IllegalStateException("command '" + 
commandReification + "' not recognised");
                 })
                 .orElseGet(() -> {
-                    switch (commandDispatchSetting) {
+                    switch (publishingPolicy) {
                     case NONE:
                         return null;
                     default:
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
index 4bf6fc2..b0f57b2 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/publishing/ExecutionDispatchPropertyFacetForPropertyAnnotation.java
@@ -22,13 +22,15 @@ package 
org.apache.isis.core.metamodel.facets.properties.property.publishing;
 import java.util.Optional;
 
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.core.config.IsisConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PropertyExecutionDispatchConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.isis.core.metamodel.facets.properties.publish.ExecutionDispatchPropertyFacet;
 import 
org.apache.isis.core.metamodel.facets.properties.publish.ExecutionDispatchPropertyFacetAbstract;
 
+import lombok.val;
+
 public class ExecutionDispatchPropertyFacetForPropertyAnnotation 
 extends ExecutionDispatchPropertyFacetAbstract {
 
@@ -37,17 +39,16 @@ extends ExecutionDispatchPropertyFacetAbstract {
             final IsisConfiguration configuration,
             final FacetHolder holder) {
 
-        final PropertyExecutionDispatchConfiguration executionDispatchSetting 
= 
-                
configuration.getApplib().getAnnotation().getProperty().getExecutionDispatch();
+        val publishingPolicy = 
PublishingPolicies.propertyExecutionPublishingPolicy(configuration);
 
         return propertyIfAny
                 .map(Property::executionDispatch)
-                .filter(publishing -> publishing != Dispatching.NOT_SPECIFIED)
+                .filter(publishing -> publishing != Publishing.NOT_SPECIFIED)
                 .map(publishing -> {
 
                     switch (publishing) {
                     case AS_CONFIGURED:
-                        switch (executionDispatchSetting) {
+                        switch (publishingPolicy) {
                         case NONE:
                             return null;
                         default:
@@ -64,7 +65,7 @@ extends ExecutionDispatchPropertyFacetAbstract {
 
                 })
                 .orElseGet(() -> {
-                    switch (executionDispatchSetting) {
+                    switch (publishingPolicy) {
                     case NONE:
                         return null;
                     default:
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
index 711e0a4..d89b743 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/Annotations_getAnnotations_on_Field_Test.java
@@ -30,7 +30,7 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.commons.internal.reflection._Annotations;
 
 import lombok.val;
@@ -39,14 +39,14 @@ import lombok.val;
 public class Annotations_getAnnotations_on_Field_Test {
 
 
-    @Property(executionDispatch = Dispatching.ENABLED)
+    @Property(executionDispatch = Publishing.ENABLED)
     @Inherited
     @Target({ ElementType.FIELD, ElementType.ANNOTATION_TYPE })
     @Retention(RetentionPolicy.RUNTIME)
     @interface Published {
     }
 
-    @Property(executionDispatch = Dispatching.DISABLED)
+    @Property(executionDispatch = Publishing.DISABLED)
     @Inherited
     @Target({ ElementType.FIELD, ElementType.ANNOTATION_TYPE })
     @Retention(RetentionPolicy.RUNTIME)
@@ -64,7 +64,7 @@ public class Annotations_getAnnotations_on_Field_Test {
     public void direct() throws Exception {
 
         class SomeDomainObject {
-            @Property(executionDispatch = Dispatching.ENABLED)
+            @Property(executionDispatch = Publishing.ENABLED)
             private String name;
 
             public String getName() {
@@ -76,13 +76,13 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestF = _Annotations.synthesizeInherited(field, Property.class);
         
         assertThat(nearestF.isPresent(), is(true));
-        assertThat(nearestF.get().executionDispatch(), 
is(Dispatching.ENABLED));
+        assertThat(nearestF.get().executionDispatch(), is(Publishing.ENABLED));
         
         val method = SomeDomainObject.class.getMethod("getName");
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.ENABLED));
+        assertThat(nearestM.get().executionDispatch(), is(Publishing.ENABLED));
     }
 
     @Test
@@ -100,7 +100,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.ENABLED));
+        assertThat(nearestM.get().executionDispatch(), is(Publishing.ENABLED));
     }
 
     @Test
@@ -118,7 +118,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.ENABLED));
+        assertThat(nearestM.get().executionDispatch(), is(Publishing.ENABLED));
     }
 
     @Test
@@ -137,7 +137,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.ENABLED));
+        assertThat(nearestM.get().executionDispatch(), is(Publishing.ENABLED));
     }
 
     @Test
@@ -156,7 +156,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.DISABLED));
+        assertThat(nearestM.get().executionDispatch(), 
is(Publishing.DISABLED));
     }
 
     @Test
@@ -165,7 +165,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         class SomeDomainObject {
             @MetaPublished
             @Published
-            @Property(executionDispatch = Dispatching.DISABLED)
+            @Property(executionDispatch = Publishing.DISABLED)
             private String name;
             public String getName() {
                 return name;
@@ -176,7 +176,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.DISABLED));
+        assertThat(nearestM.get().executionDispatch(), 
is(Publishing.DISABLED));
     }
 
 
@@ -186,7 +186,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         class SomeDomainObject {
             @MetaPublished
             @NotPublished
-            @Property(executionDispatch = Dispatching.ENABLED)
+            @Property(executionDispatch = Publishing.ENABLED)
             private String name;
             public String getName() {
                 return name;
@@ -197,7 +197,7 @@ public class Annotations_getAnnotations_on_Field_Test {
         val nearestM = _Annotations.synthesizeInherited(method, 
Property.class);
 
         assertThat(nearestM.isPresent(), is(true));
-        assertThat(nearestM.get().executionDispatch(), 
is(Dispatching.ENABLED));
+        assertThat(nearestM.get().executionDispatch(), is(Publishing.ENABLED));
     }
 
 }
\ No newline at end of file
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index 3327868..abc5edf 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -28,7 +28,7 @@ import org.junit.After;
 import org.junit.Before;
 
 import org.apache.isis.commons.having.HasUniqueId;
-import 
org.apache.isis.core.config.metamodel.facets.PublishActionsConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import 
org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
 import 
org.apache.isis.core.metamodel.facets.object.domainobject.domainevents.ActionDomainEventDefaultFacetForDomainObjectAnnotation;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -103,10 +103,10 @@ public class ActionAnnotationFacetFactoryTest extends 
AbstractFacetFactoryJUnit4
 
 
     }
-
-    void allowingPublishingConfigurationToReturn(PublishActionsConfiguration 
value) {
+    
+    void 
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy
 value) {
         val config = metaModelContext.getConfiguration();
-        config.getApplib().getAnnotation().getAction().setPublishing(value);
+        
config.getApplib().getAnnotation().getAction().setExecutionPublishing(value);
     }
 
 }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
index 28d2565..9609ab8 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Command.java
@@ -27,7 +27,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import 
org.apache.isis.core.metamodel.facets.actions.action.command.CommandFacetForActionAnnotation;
@@ -80,7 +80,7 @@ public class ActionAnnotationFacetFactoryTest_Command extends 
ActionAnnotationFa
 
         // given
         class Customer {
-            @Action(commandDispatch = Dispatching.ENABLED)
+            @Action(commandPublishing = Publishing.ENABLED)
             public void someAction() {
             }
         }
@@ -101,7 +101,7 @@ public class ActionAnnotationFacetFactoryTest_Command 
extends ActionAnnotationFa
 
         // given
         class Customer {
-            @Action(commandDispatch = Dispatching.DISABLED)
+            @Action(commandPublishing = Publishing.DISABLED)
             public void someAction() {
             }
         }
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
index 26343a7..4a017de 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_Publishing.java
@@ -29,7 +29,7 @@ import static org.junit.Assert.assertTrue;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.commons.internal.base._Blackhole;
-import 
org.apache.isis.core.config.metamodel.facets.PublishActionsConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import 
org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation;
@@ -64,7 +64,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void 
given_noAnnotation_and_configurationSetToIgnoreQueryOnly_andSafeSemantics_thenNone()
 {
 
         // given
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.IGNORE_QUERY_ONLY);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.IGNORE_QUERY_ONLY);
         final Method actionMethod = 
findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
         facetedMethod.addFacet(new 
ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
@@ -82,7 +82,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void 
given_noAnnotation_and_configurationSetToIgnoreQueryOnly_andNonSafeSemantics_thenAdded()
 {
 
         // given
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.IGNORE_QUERY_ONLY);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.IGNORE_QUERY_ONLY);
         final Method actionMethod = 
findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
         facetedMethod.addFacet(new 
ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
@@ -102,7 +102,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void 
given_noAnnotation_and_configurationSetToIgnoreQueryOnly_andNoSemantics_thenException()
 {
 
         // given
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.IGNORE_QUERY_ONLY);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.IGNORE_QUERY_ONLY);
         final Method actionMethod = 
findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
         // when
@@ -115,7 +115,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void given_noAnnotation_and_configurationSetToNone_thenNone() {
 
         // given
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.NONE);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.NONE);
         final Method actionMethod = 
findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
         // when
@@ -136,7 +136,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         // given
         final Method actionMethod = 
findMethod(ActionAnnotationFacetFactoryTest.Customer.class, "someAction");
 
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.ALL);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.ALL);
 
         // when
         processPublishing(facetFactory, new 
ProcessMethodContext(ActionAnnotationFacetFactoryTest.Customer.class, null,
@@ -152,12 +152,12 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void 
given_asConfigured_and_configurationSetToIgnoreQueryOnly_andSafeSemantics_thenNone()
 {
 
         class Customer {
-            @Action(executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.AS_CONFIGURED)
+            @Action(executionPublishing = 
org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
             public void someAction() {
             }
         }
 
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.IGNORE_QUERY_ONLY);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.IGNORE_QUERY_ONLY);
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
         facetedMethod.addFacet(new 
ActionSemanticsFacetAbstract(SemanticsOf.SAFE, facetedMethod) {});
@@ -176,13 +176,13 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         // given
         class Customer {
             @Action(
-                    executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.AS_CONFIGURED
+                    executionPublishing = 
org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED
                     )
             public void someAction() {
             }
         }
 
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.IGNORE_QUERY_ONLY);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.IGNORE_QUERY_ONLY);
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
         facetedMethod.addFacet(new 
ActionSemanticsFacetAbstract(SemanticsOf.IDEMPOTENT, facetedMethod) {});
@@ -203,12 +203,12 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void 
given_asConfigured_and_configurationSetToIgnoreQueryOnly_andNoSemantics_thenException()
 {
 
         class Customer {
-            @Action(executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.AS_CONFIGURED)
+            @Action(executionPublishing = 
org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
             public void someAction() {
             }
         }
 
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.IGNORE_QUERY_ONLY);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.IGNORE_QUERY_ONLY);
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
         processPublishing(facetFactory, new 
ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, 
facetedMethod));
@@ -218,12 +218,12 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
     public void given_asConfigured_and_configurationSetToNone_thenNone() {
 
         class Customer {
-            @Action(executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.AS_CONFIGURED)
+            @Action(executionPublishing = 
org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED)
             public void someAction() {
             }
         }
 
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.NONE);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.NONE);
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
         processPublishing(facetFactory, new 
ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, 
facetedMethod));
@@ -241,14 +241,14 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         // given
         class Customer {
             @Action(
-                    executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.AS_CONFIGURED
+                    executionPublishing = 
org.apache.isis.applib.annotation.Publishing.AS_CONFIGURED
                     )
             public void someAction() {
             }
         }
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.ALL);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.ALL);
 
         // when
         processPublishing(facetFactory, new 
ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, 
facetedMethod));
@@ -267,7 +267,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         // given
         class Customer {
             @Action(
-                    executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.ENABLED
+                    executionPublishing = 
org.apache.isis.applib.annotation.Publishing.ENABLED
                     )
             public void someAction() {
             }
@@ -275,7 +275,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
         // even though configuration is disabled
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.NONE);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.NONE);
 
         // when
         processPublishing(facetFactory, new 
ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, 
facetedMethod));
@@ -292,7 +292,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         // given
         class Customer {
             @Action(
-                    executionDispatch = 
org.apache.isis.applib.annotation.Dispatching.DISABLED
+                    executionPublishing = 
org.apache.isis.applib.annotation.Publishing.DISABLED
                     )
             public void someAction() {
             }
@@ -300,7 +300,7 @@ public class ActionAnnotationFacetFactoryTest_Publishing 
extends ActionAnnotatio
         final Method actionMethod = findMethod(Customer.class, "someAction");
 
         // even though configuration is disabled
-        
allowingPublishingConfigurationToReturn(PublishActionsConfiguration.NONE);
+        
allowingPublishingConfigurationToReturn(PublishingPolicies.ActionPublishingPolicy.NONE);
 
         // when
         processPublishing(facetFactory, new 
ProcessMethodContext(Customer.class, null, actionMethod, mockMethodRemover, 
facetedMethod));
diff --git 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index dce8cd3..344b6c9 100644
--- 
a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ 
b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -35,9 +35,8 @@ import org.apache.isis.applib.annotation.Bounding;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.commons.having.HasUniqueId;
 import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.metamodel.facets.AuditObjectsConfiguration;
 import 
org.apache.isis.core.config.metamodel.facets.EditingObjectsConfiguration;
-import 
org.apache.isis.core.config.metamodel.facets.PublishObjectsConfiguration;
+import org.apache.isis.core.config.metamodel.facets.PublishingPolicies;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import 
org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
@@ -91,17 +90,10 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
 
     }
     
-    void allowingAuditObjectsToReturn(AuditObjectsConfiguration value) {
+    void 
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy
 value) {
         if(value!=null) {
             val config = super.metaModelContext.getConfiguration();
-            
config.getApplib().getAnnotation().getDomainObject().setAuditing(value);
-        }
-    }
-    
-    void allowingPublishObjectsToReturn(PublishObjectsConfiguration value) {
-        if(value!=null) {
-            val config = super.metaModelContext.getConfiguration();
-            
config.getApplib().getAnnotation().getDomainObject().setPublishing(value);
+            
config.getApplib().getAnnotation().getDomainObject().setEntityChangePublishing(value);
         }
     }
     
@@ -133,7 +125,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
         @Test
         public void ignore_HasUniqueId() {
 
-            allowingAuditObjectsToReturn(AuditObjectsConfiguration.ALL);
+            
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.ALL);
 
             facetFactory.processAuditing(new 
ProcessClassContext(HasUniqueId.class, mockMethodRemover, facetHolder));
 
@@ -147,7 +139,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
 
             @Test
             public void configured_value_set_to_all() {
-                allowingAuditObjectsToReturn(AuditObjectsConfiguration.ALL);
+                
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.ALL);
 
                 facetFactory.processAuditing(new 
ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, 
mockMethodRemover, facetHolder));
 
@@ -160,7 +152,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
 
             @Test
             public void configured_value_set_to_none() {
-                allowingAuditObjectsToReturn(AuditObjectsConfiguration.NONE);
+                
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.NONE);
 
                 facetFactory.process(new 
ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, 
mockMethodRemover, facetHolder));
 
@@ -176,7 +168,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
 
             @Test
             public void configured_value_set_to_all() {
-                allowingAuditObjectsToReturn(AuditObjectsConfiguration.ALL);
+                
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.ALL);
 
                 facetFactory.process(new 
ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, 
mockMethodRemover, facetHolder));
 
@@ -189,7 +181,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
 
             @Test
             public void configured_value_set_to_none() {
-                allowingAuditObjectsToReturn(AuditObjectsConfiguration.NONE);
+                
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.NONE);
 
                 facetFactory.process(new 
ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, 
mockMethodRemover, facetHolder));
 
@@ -205,7 +197,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends 
AbstractFacetFactory
 
             @Test
             public void irrespective_of_configured_value() {
-                allowingAuditObjectsToReturn(null);
+                allowingEntityChangePublishingToReturn(null);
 
                 facetFactory.process(new 
ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToEnabled.class, 
mockMethodRemover, facetHolder));
 
@@ -222,17 +214,17 @@ public class DomainObjectAnnotationFacetFactoryTest 
extends AbstractFacetFactory
 
             @Test
             public void irrespective_of_configured_value() {
-                allowingAuditObjectsToReturn(AuditObjectsConfiguration.ALL);
+                
allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.ALL);
 
                 facetFactory.process(new 
ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToDisabled.class, 
mockMethodRemover, facetHolder));
 
                 final AuditableFacet facet = 
facetHolder.getFacet(AuditableFacet.class);
                 Assert.assertNotNull(facet);
 
-                Assert.assertThat(facet.isDisabled(), is(true));
-                Assert.assertThat(facet.alwaysReplace(), is(true));
-                Assert.assertThat(facet.isFallback(), is(false));
-                Assert.assertThat(facet.isDerived(), is(false));
+                Assert.assertEquals(true, facet.isDisabled());
+                Assert.assertEquals(true, facet.alwaysReplace());
+                Assert.assertEquals(false, facet.isFallback());
+                Assert.assertEquals(false, facet.isDerived());
 
                 expectNoMethodsRemoved();
             }
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchDisabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchDisabledMetaAnnotation.java
index 8c5329d..7e5b69a 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchDisabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchDisabledMetaAnnotation.java
@@ -25,13 +25,13 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Action(commandDispatch = Dispatching.DISABLED)  // <.>
+@Action(commandPublishing = Publishing.DISABLED)  // <.>
 @Inherited
 @Target({
-        ElementType.TYPE, ElementType.METHOD    // <.>
+        ElementType.TYPE, ElementType.METHOD      // <.>
 })
 @Retention(RetentionPolicy.RUNTIME)
 public @interface ActionCommandDispatchDisabledMetaAnnotation {
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchEnabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchEnabledMetaAnnotation.java
index fca84f7..e247953 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchEnabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchEnabledMetaAnnotation.java
@@ -25,10 +25,10 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Action(commandDispatch = Dispatching.ENABLED)   // <.>
+@Action(commandPublishing = Publishing.ENABLED)  // <.>
 @Inherited
 @Target({
         ElementType.TYPE, ElementType.METHOD     // <.>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo.java
index 894047e..7dadfdb 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo.java
@@ -25,7 +25,7 @@ import javax.jdo.annotations.PersistenceCapable;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.MemberOrder;
@@ -87,7 +87,7 @@ public class ActionCommandDispatchJdo
 
 //tag::annotation[]
     @Action(
-        commandDispatch = Dispatching.ENABLED                   // <.>
+        commandPublishing = Publishing.ENABLED                  // <.>
         , semantics = SemanticsOf.IDEMPOTENT
         , associateWith = "property"
         , associateWithSequence = "1"
@@ -110,7 +110,7 @@ public class ActionCommandDispatchJdo
 
 //tag::annotation-2[]
     @Action(
-        commandDispatch = Dispatching.DISABLED                  // <.>
+        commandPublishing = Publishing.DISABLED                 // <.>
         , semantics = SemanticsOf.IDEMPOTENT
         , associateWith = "propertyCommandDisabled"
         , associateWithSequence = "1"
@@ -132,7 +132,7 @@ public class ActionCommandDispatchJdo
 //end::annotation-2[]
 
 //tag::meta-annotation[]
-    @ActionCommandDispatchEnabledMetaAnnotation                         // <.>
+    @ActionCommandDispatchEnabledMetaAnnotation                 // <.>
     @Action(
         semantics = SemanticsOf.IDEMPOTENT
         , associateWith = "propertyMetaAnnotated"
@@ -155,10 +155,10 @@ public class ActionCommandDispatchJdo
 //end::meta-annotation[]
 
 //tag::meta-annotation-overridden[]
-    @ActionCommandDispatchDisabledMetaAnnotation                        // <.>
+    @ActionCommandDispatchDisabledMetaAnnotation                // <.>
     @Action(
         semantics = SemanticsOf.IDEMPOTENT
-        , commandDispatch = Dispatching.ENABLED                 // <.>
+        , commandPublishing = Publishing.ENABLED                // <.>
         , associateWith = "propertyMetaAnnotatedOverridden"
         , associateWithSequence = "1"
     )
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdateProperty.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdateProperty.java
index c6fcf90..4be2472 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdateProperty.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdateProperty.java
@@ -20,12 +20,12 @@ package demoapp.dom.annotDomain.Action.commandDispatch;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 //tag::class[]
 @Action(
-    commandDispatch = Dispatching.ENABLED        // <.>
+    commandPublishing = Publishing.ENABLED        // <.>
     , semantics = SemanticsOf.IDEMPOTENT
     , associateWith = "property"
     , associateWithSequence = "2"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyCommandDisabled.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyCommandDisabled.java
index 6d92077..8bb9cfa 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyCommandDisabled.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyCommandDisabled.java
@@ -20,14 +20,14 @@ package demoapp.dom.annotDomain.Action.commandDispatch;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
 
 //tag::class[]
 @Action(
-    commandDispatch = Dispatching.DISABLED       // <.>
+    commandPublishing = Publishing.DISABLED       // <.>
     , semantics = SemanticsOf.IDEMPOTENT
     , associateWith = "propertyCommandDisabled"
     , associateWithSequence = "2"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
index 887a877..90913f4 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/commandDispatch/ActionCommandDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
@@ -20,7 +20,7 @@ package demoapp.dom.annotDomain.Action.commandDispatch;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.RequiredArgsConstructor;
@@ -28,7 +28,7 @@ import lombok.RequiredArgsConstructor;
 //tag::class[]
 @ActionCommandDispatchDisabledMetaAnnotation        // <.>
 @Action(
-    commandDispatch = Dispatching.ENABLED   // <.>
+    commandPublishing = Publishing.ENABLED          // <.>
     , semantics = SemanticsOf.IDEMPOTENT
     , associateWith = "propertyMetaAnnotatedOverridden"
     , associateWithSequence = "2"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchDisabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchDisabledMetaAnnotation.java
index d7a24a6..e74cfd4 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchDisabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchDisabledMetaAnnotation.java
@@ -25,14 +25,13 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Action(executionDispatch = Dispatching.DISABLED)       // <.>
+@Action(executionPublishing = Publishing.DISABLED)   // <.>
 @Inherited
 @Target({
-        ElementType.TYPE, ElementType.METHOD    // <.>
+        ElementType.TYPE, ElementType.METHOD         // <.>
 })
 @Retention(RetentionPolicy.RUNTIME)
 public @interface ActionExecutionDispatchDisabledMetaAnnotation {
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchEnabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchEnabledMetaAnnotation.java
index a0c0af4..f803995 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchEnabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchEnabledMetaAnnotation.java
@@ -25,14 +25,13 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Action(executionDispatch = Dispatching.ENABLED)        // <.>
+@Action(executionPublishing = Publishing.ENABLED)               // <.>
 @Inherited
 @Target({
-        ElementType.TYPE, ElementType.METHOD    // <.>
+        ElementType.TYPE, ElementType.METHOD                    // <.>
 })
 @Retention(RetentionPolicy.RUNTIME)
 public @interface ActionExecutionDispatchEnabledMetaAnnotation {
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo.java
index b59faa0..daa1ef4 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 import lombok.Getter;
@@ -81,7 +81,7 @@ public class ActionExecutionDispatchJdo
 
 //tag::annotation[]
     @Action(
-        executionDispatch = Dispatching.ENABLED         // <.>
+        executionPublishing = Publishing.ENABLED       // <.>
         , semantics = SemanticsOf.IDEMPOTENT
         , associateWith = "property"
         , associateWithSequence = "1"
@@ -123,7 +123,7 @@ public class ActionExecutionDispatchJdo
 //tag::meta-annotation-overridden[]
     @ActionExecutionDispatchDisabledMetaAnnotation     // <.>
     @Action(
-        executionDispatch = Dispatching.ENABLED         // <.>
+        executionPublishing = Publishing.ENABLED       // <.>
         , semantics = SemanticsOf.IDEMPOTENT
         , associateWith = "propertyMetaAnnotatedOverridden"
         , associateWithSequence = "1"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdateProperty.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdateProperty.java
index d8e9906..de6d519 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdateProperty.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdateProperty.java
@@ -20,12 +20,12 @@ package demoapp.dom.annotDomain.Action.executionDispatch;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 //tag::class[]
 @Action(
-    executionDispatch = Dispatching.ENABLED         // <.>
+    executionPublishing = Publishing.ENABLED         // <.>
     , semantics = SemanticsOf.IDEMPOTENT
     , associateWith = "property"
     , associateWithSequence = "2"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotation.java
index e72cb18..a532887 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotation.java
@@ -20,7 +20,7 @@ package demoapp.dom.annotDomain.Action.executionDispatch;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 //tag::class[]
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
index b4e2621..fabc479 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Action/executionDispatch/ActionExecutionDispatchJdo_mixinUpdatePropertyMetaAnnotationOverridden.java
@@ -20,13 +20,13 @@ package demoapp.dom.annotDomain.Action.executionDispatch;
 
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.SemanticsOf;
 
 //tag::class[]
 @ActionExecutionDispatchDisabledMetaAnnotation     // <.>
 @Action(
-    executionDispatch = Dispatching.ENABLED         // <.>
+    executionPublishing = Publishing.ENABLED       // <.>
     , semantics = SemanticsOf.IDEMPOTENT
     , associateWith = "propertyMetaAnnotatedOverridden"
     , associateWithSequence = "2"
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/auditing/metaAnnot/enabled/DomainObjectAuditingEnabledMetaAnnotatedJdo.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/auditing/metaAnnot/enabled/DomainObjectAuditingEnabledMetaAnnotatedJdo.java
index b68047a..996f362 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/auditing/metaAnnot/enabled/DomainObjectAuditingEnabledMetaAnnotatedJdo.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/DomainObject/auditing/metaAnnot/enabled/DomainObjectAuditingEnabledMetaAnnotatedJdo.java
@@ -27,7 +27,7 @@ import org.apache.isis.applib.annotation.Bounding;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.Title;
 
 import lombok.Getter;
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchDisabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchDisabledMetaAnnotation.java
index 3fde7de..b4f8de6 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchDisabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchDisabledMetaAnnotation.java
@@ -24,11 +24,11 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Dispatching;
 import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Property(commandDispatch = Dispatching.DISABLED)    // <.>
+@Property(commandPublishing = Publishing.DISABLED)   // <.>
 @Inherited
 @Target({
         ElementType.FIELD, ElementType.METHOD        // <.>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchEnabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchEnabledMetaAnnotation.java
index 4ef9edc..8e09cf2 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchEnabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchEnabledMetaAnnotation.java
@@ -24,14 +24,14 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Dispatching;
 import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Property(commandDispatch = Dispatching.ENABLED) // <.>
+@Property(commandPublishing = Publishing.ENABLED) // <.>
 @Inherited
 @Target({
-        ElementType.FIELD, ElementType.METHOD    // <.>
+        ElementType.FIELD, ElementType.METHOD     // <.>
 })
 @Retention(RetentionPolicy.RUNTIME)
 public @interface PropertyCommandDispatchEnabledMetaAnnotation {
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchJdo.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchJdo.java
index 5f7564f..99e5be4 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchJdo.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/commandDispatch/PropertyCommandDispatchJdo.java
@@ -23,13 +23,13 @@ import javax.jdo.annotations.IdGeneratorStrategy;
 import javax.jdo.annotations.IdentityType;
 import javax.jdo.annotations.PersistenceCapable;
 
-import org.apache.isis.applib.annotation.Dispatching;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.Editing;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.applib.annotation.Publishing;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -63,7 +63,7 @@ public class PropertyCommandDispatchJdo
 
 //tag::annotation[]
     @Property(
-        commandDispatch = Dispatching.ENABLED                   // <.>
+        commandPublishing = Publishing.ENABLED                  // <.>
     )
     @PropertyLayout(
         describedAs = "@Property(command = ENABLED)"
@@ -75,7 +75,7 @@ public class PropertyCommandDispatchJdo
 
 //tag::annotation-2[]
     @Property(
-        commandDispatch = Dispatching.DISABLED                  // <.>
+        commandPublishing = Publishing.DISABLED                 // <.>
     )
     @PropertyLayout(
         describedAs = "@Property(command = DISABLED)"
@@ -97,7 +97,7 @@ public class PropertyCommandDispatchJdo
 
 //tag::meta-annotation-overridden[]
     @PropertyCommandDispatchDisabledMetaAnnotation              // <.>
-    @Property(commandDispatch = Dispatching.ENABLED)            // <.>
+    @Property(commandPublishing = Publishing.ENABLED)           // <.>
     @PropertyLayout(
         describedAs =
             "@PropertyCommandDisabledMetaAnnotation " +
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchDisabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchDisabledMetaAnnotation.java
index 2069489..8a31b95 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchDisabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchDisabledMetaAnnotation.java
@@ -25,10 +25,10 @@ import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
 import org.apache.isis.applib.annotation.Property;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 
 //tag::class[]
-@Property(executionDispatch = Dispatching.DISABLED)         // <.>
+@Property(executionDispatch = Publishing.DISABLED)         // <.>
 @Inherited
 @Target({
         ElementType.METHOD, ElementType.FIELD       // <.>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchEnabledMetaAnnotation.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchEnabledMetaAnnotation.java
index 6757bc6..d495603 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchEnabledMetaAnnotation.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchEnabledMetaAnnotation.java
@@ -24,11 +24,11 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.Property;
 
 //tag::class[]
-@Property(executionDispatch = Dispatching.ENABLED)          // <.>
+@Property(executionDispatch = Publishing.ENABLED)          // <.>
 @Inherited
 @Target({
         ElementType.METHOD, ElementType.FIELD       // <.>
diff --git 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchJdo.java
 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchJdo.java
index 35b8a19..fd3b44c 100644
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchJdo.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/annotDomain/Property/executionDispatch/PropertyExecutionDispatchJdo.java
@@ -30,7 +30,7 @@ import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.PropertyLayout;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 
 import lombok.Getter;
 import lombok.Setter;
@@ -63,7 +63,7 @@ public class PropertyExecutionDispatchJdo
 
 //tag::annotation[]
     @Property(
-        executionDispatch = Dispatching.ENABLED             // <.>
+        executionDispatch = Publishing.ENABLED             // <.>
     )
     @PropertyLayout(
         describedAs =
@@ -89,7 +89,7 @@ public class PropertyExecutionDispatchJdo
 //tag::meta-annotated-overridden[]
     @PropertyExecutionDispatchDisabledMetaAnnotation   // <.>
     @Property(
-        executionDispatch = Dispatching.ENABLED         // <.>
+        executionDispatch = Publishing.ENABLED         // <.>
     )
     @PropertyLayout(
         describedAs =
diff --git 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
index f4c327b..84a3160 100644
--- 
a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
+++ 
b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo_retry.java
@@ -21,7 +21,7 @@ package org.apache.isis.extensions.commandlog.impl.jdo;
 import javax.inject.Inject;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -35,7 +35,7 @@ import 
org.apache.isis.extensions.commandlog.impl.IsisModuleExtCommandLogImpl;
 @Action(
     semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE,
     domainEvent = CommandJdo_retry.ActionDomainEvent.class,
-    commandDispatch = Dispatching.DISABLED
+    commandPublishing = Publishing.DISABLED
 )
 public class CommandJdo_retry {
 
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
index 9d61695..d7d5544 100644
--- 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/jdo/JdoInventoryManager.java
@@ -23,7 +23,7 @@ import java.util.List;
 import javax.inject.Inject;
 
 import org.apache.isis.applib.annotation.Action;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.ViewModel;
 import org.apache.isis.applib.domain.DomainObjectList.ActionDomainEvent;
 import org.apache.isis.applib.services.repository.RepositoryService;
@@ -38,7 +38,7 @@ public class JdoInventoryManager {
 
     public static class UpdateProductPriceEvent extends ActionDomainEvent {}
 
-    @Action(domainEvent = UpdateProductPriceEvent.class, executionDispatch = 
Dispatching.ENABLED)
+    @Action(domainEvent = UpdateProductPriceEvent.class, executionPublishing = 
Publishing.ENABLED)
     public JdoProduct updateProductPrice(JdoProduct product, double newPrice) {
         product.setPrice(newPrice);
         return product;
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
index 97d3903..afc5200 100644
--- 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action.java
@@ -23,12 +23,12 @@ import java.util.Set;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.MinLength;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.extensions.modelannotation.applib.annotation.Model;
 
 import lombok.RequiredArgsConstructor;
 
-@Action(executionDispatch = Dispatching.ENABLED) 
+@Action(executionPublishing = Publishing.ENABLED) 
 @ActionLayout(named = "foo", describedAs = "bar")  
 @RequiredArgsConstructor
 public class ProperMemberSupport_action {
diff --git 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
index 4dcaa85..d4cf42d 100644
--- 
a/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
+++ 
b/regressiontests/stable/src/main/java/org/apache/isis/testdomain/model/good/ProperMemberSupport_action2.java
@@ -23,7 +23,7 @@ import java.util.Set;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.MinLength;
 import org.apache.isis.applib.annotation.Mixin;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.extensions.modelannotation.applib.annotation.Model;
 
 import lombok.RequiredArgsConstructor;
@@ -34,7 +34,7 @@ public class ProperMemberSupport_action2 {
     private final ProperMemberSupport holder;
 
     // proper mix-in action
-    @Action(executionDispatch = Dispatching.ENABLED) 
+    @Action(executionPublishing = Publishing.ENABLED) 
     public ProperMemberSupport $$(String p0, String p1) {
         return holder;
     }
diff --git 
a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
 
b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
index 7768a8f..ea5f654 100644
--- 
a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
+++ 
b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/mixins/Object_clearHints.java
@@ -23,7 +23,7 @@ import javax.inject.Inject;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.Contributed;
-import org.apache.isis.applib.annotation.Dispatching;
+import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.MemberOrder;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -36,7 +36,7 @@ import lombok.val;
 @Action(
         domainEvent = Object_clearHints.ActionDomainEvent.class,
         semantics = SemanticsOf.IDEMPOTENT,
-        commandDispatch = Dispatching.DISABLED
+        commandPublishing = Publishing.DISABLED
 )
 @ActionLayout(
         contributed = Contributed.AS_ACTION,

Reply via email to