You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/03/05 09:26:59 UTC

[isis] branch ISIS-2444 updated: ISIS-2566: renames uniqueId and transactionId to interactionId where appropriate

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

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


The following commit(s) were added to refs/heads/ISIS-2444 by this push:
     new 75cd4f0  ISIS-2566: renames uniqueId and transactionId to interactionId where appropriate
75cd4f0 is described below

commit 75cd4f07572f5a22cac7c65e8bafa539f7ed8b86
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Mar 5 09:25:35 2021 +0000

    ISIS-2566: renames uniqueId and transactionId to interactionId where appropriate
    
    mostly in the DTOs, also in Command and CommandJdo
---
 .../modules/_overview/pages/about.adoc             | 80 +++++++++----------
 .../hooks/GridService_020-examples-and-usage.adoc  |  2 +-
 .../hooks/Execution_020-examples-and-usage.adoc    |  2 +-
 .../hooks/JaxbService_020-examples-and-usage.adoc  |  2 +-
 .../LayoutService_020-examples-and-usage.adoc      |  2 +-
 ...ExecutionSubscriber_020-examples-and-usage.adoc |  2 +-
 .../{ => queryresultscache}/MethodReferences.adoc  |  0
 .../commons/pages/index/having/HasUniqueId.adoc    | 25 ------
 .../commons/pages/index/having/HasUpdatedAt.adoc   | 13 ---
 .../commons/pages/index/having/HasUpdatedBy.adoc   | 13 ---
 .../commons/pages/index/having/HasUsername.adoc    | 29 -------
 .../impl/mixins/HasUniqueId_command.adoc           | 32 --------
 .../isis/applib/services/command/Command.java      | 18 ++---
 .../{ => queryresultscache}/MethodReferences.java  | 32 ++++----
 .../queryresultscache/QueryResultsCache.java       |  2 -
 .../applib/util/schema/InteractionDtoUtils.java    |  8 +-
 .../apache/isis/applib/util/schema/Roundtrip.java  | 86 ++++++++++----------
 .../org/apache/isis/schema/chg/chg-2.0.xsd         |  4 +-
 .../org/apache/isis/schema/cmd/cmd-2.0.xsd         |  4 +-
 .../org/apache/isis/schema/ixn/ixn-2.0.xsd         |  2 +-
 .../core/interaction/session/IsisInteraction.java  |  4 +-
 .../services/command/CommandDtoFactory.java        |  4 +-
 .../specloader/specimpl/ObjectActionDefault.java   | 92 +++++++++++-----------
 .../specimpl/OneToOneAssociationDefault.java       | 28 +++----
 ...notationFacetFactoryTest_commandPublishing.java |  2 +-
 ...tationFacetFactoryTest_executionPublishing.java |  2 +-
 .../DomainObjectAnnotationFacetFactoryTest.java    |  2 +-
 .../command/CommandDtoFactoryDefault.java          | 12 +--
 .../command/CommandExecutorServiceDefault.java     |  2 +-
 .../QueryResultsCacheDefault.java                  | 12 +--
 .../wrapper/WrapperFactoryDefault.java             |  6 +-
 .../changetracking/ChangingEntitiesFactory.java    | 12 +--
 .../commandlog/impl/CommandSubscriberForJdo.java   |  4 +-
 .../extensions/commandlog/impl/jdo/CommandJdo.java | 26 +++---
 .../impl/jdo/CommandJdo.layout.fallback.xml        |  2 +-
 .../commandlog/impl/jdo/CommandJdoRepository.java  | 28 +++----
 ..._command.java => HasInteractionId_command.java} | 12 +--
 .../commandlog/impl/ui/CommandServiceMenu.java     |  2 +-
 .../primary/restapi/CommandRetrievalService.java   | 16 ++--
 .../primary/ui/CommandReplayOnPrimaryService.java  | 30 +++----
 .../secondary/fetch/CommandFetcher.java            |  8 +-
 .../adoc/modules/audit-trail/pages/about.adoc      |  2 +-
 .../viewer/javafx/ui/main/UiBuilderFx.java         | 20 ++---
 .../publishing/jdo/JdoCommandPublishingTest.java   | 28 +++----
 44 files changed, 300 insertions(+), 414 deletions(-)

diff --git a/antora/components/refguide-index/modules/_overview/pages/about.adoc b/antora/components/refguide-index/modules/_overview/pages/about.adoc
index 333266c..b643bad 100644
--- a/antora/components/refguide-index/modules/_overview/pages/about.adoc
+++ b/antora/components/refguide-index/modules/_overview/pages/about.adoc
@@ -33,7 +33,7 @@ package "App\n[Software System]" {
 .Projects/Modules (App)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Starter Parent
 [source,yaml]
@@ -126,7 +126,7 @@ package "Mavendeps\n[Software System]" {
 .Projects/Modules (Mavendeps)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Maven Deps
 [source,yaml]
@@ -408,7 +408,7 @@ package "Testing\n[Software System]" {
 .Projects/Modules (Testing)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Testing
 [source,yaml]
@@ -767,7 +767,7 @@ package "Examples\n[Software System]" {
 .Projects/Modules (Examples)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Demo - Parent
 [source,yaml]
@@ -1134,7 +1134,7 @@ package "Root\n[Software System]" {
 .Projects/Modules (Root)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis (Aggregator)
 [source,yaml]
@@ -1213,7 +1213,7 @@ package "Commons\n[Software System]" {
 .Projects/Modules (Commons)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Commons
 [source,yaml]
@@ -1369,7 +1369,7 @@ package "Core\n[Software System]" {
 .Projects/Modules (Core)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Core
 [source,yaml]
@@ -1901,7 +1901,7 @@ package "JDO\n[Software System]" {
 .Projects/Modules (JDO)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Persistence - JDO
 [source,yaml]
@@ -2125,7 +2125,7 @@ package "JPA\n[Software System]" {
 .Projects/Modules (JPA)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Persistence - JPA
 [source,yaml]
@@ -2258,7 +2258,7 @@ package "Security\n[Software System]" {
 .Projects/Modules (Security)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Security - Spring
 [source,yaml]
@@ -2319,7 +2319,7 @@ package "Bypass\n[Software System]" {
 .Projects/Modules (Bypass)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Security - Bypass
 [source,yaml]
@@ -2376,7 +2376,7 @@ package "Keycloak\n[Software System]" {
 .Projects/Modules (Keycloak)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Security - Keycloak
 [source,yaml]
@@ -2438,7 +2438,7 @@ package "Shiro\n[Software System]" {
 .Projects/Modules (Shiro)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Security - Shiro
 [source,yaml]
@@ -2503,7 +2503,7 @@ package "Viewer\n[Software System]" {
 .Projects/Modules (Viewer)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Viewer - Common Model
 [source,yaml]
@@ -2594,7 +2594,7 @@ package "Restful Objects\n[Software System]" {
 .Projects/Modules (Restful Objects)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Viewer - RO
 [source,yaml]
@@ -2802,7 +2802,7 @@ package "Wicket\n[Software System]" {
 .Projects/Modules (Wicket)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Viewer - Wicket
 [source,yaml]
@@ -2987,7 +2987,7 @@ package "Valuetypes\n[Software System]" {
 .Projects/Modules (Valuetypes)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Value types
 [source,yaml]
@@ -3173,7 +3173,7 @@ package "Asciidoc\n[Software System]" {
 .Projects/Modules (Asciidoc)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Val - Asciidoctor (parent)
 [source,yaml]
@@ -3401,7 +3401,7 @@ package "Markdown\n[Software System]" {
 .Projects/Modules (Markdown)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Val - Markdown (parent)
 [source,yaml]
@@ -3558,7 +3558,7 @@ package "Mappings\n[Software System]" {
 .Projects/Modules (Mappings)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Mappings
 [source,yaml]
@@ -3621,7 +3621,7 @@ package "JAX-RS Client Library\n[Software System]" {
 .Projects/Modules (JAX-RS Client Library)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Map - JaxRS Client (parent)
 [source,yaml]
@@ -3703,7 +3703,7 @@ package "REST Client\n[Software System]" {
 .Projects/Modules (REST Client)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Ext - REST Client (parent)
 [source,yaml]
@@ -3921,7 +3921,7 @@ package "Extensions\n[Software System]" {
 .Projects/Modules (Extensions)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Extensions
 [source,yaml]
@@ -4390,7 +4390,7 @@ package "Core: Command Log\n[Software System]" {
 .Projects/Modules (Core: Command Log)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Ext - Command Log
 [source,yaml]
@@ -4432,7 +4432,7 @@ org.apache.isis.testing:isis-testing-unittestsupport-applib:jar:<managed> +
 
 .Document Index Entries
 ****
-xref:refguide:extensions:index/commandlog/impl/CommandSubscriberForJdo.adoc[CommandSubscriberForJdo], xref:refguide:extensions:index/commandlog/impl/IsisModuleExtCommandLogImpl.adoc[IsisModuleExtCommandLogImpl], xref:refguide:extensions:index/commandlog/impl/mixins/HasUniqueId_command.adoc[HasUniqueId_command], xref:refguide:extensions:index/commandlog/impl/mixins/HasUsername_recentCommandsByUser.adoc[HasUsername_recentCommandsByUser], xref:refguide:extensions:index/commandlog/impl/ui/Co [...]
+xref:refguide:extensions:index/commandlog/impl/CommandSubscriberForJdo.adoc[CommandSubscriberForJdo], xref:refguide:extensions:index/commandlog/impl/IsisModuleExtCommandLogImpl.adoc[IsisModuleExtCommandLogImpl], xref:refguide:extensions:index/commandlog/impl/mixins/HasInteractionId_command.adoc[HasUniqueId_command], xref:refguide:extensions:index/commandlog/impl/mixins/HasUsername_recentCommandsByUser.adoc[HasUsername_recentCommandsByUser], xref:refguide:extensions:index/commandlog/impl/ [...]
 ****
 |===
 
@@ -4480,7 +4480,7 @@ package "Core: Command Replay\n[Software System]" {
 .Projects/Modules (Core: Command Replay)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Ext - Command Replay
 [source,yaml]
@@ -4594,7 +4594,7 @@ package "Core: Model Annotation\n[Software System]" {
 .Projects/Modules (Core: Model Annotation)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Ext - @Model
 [source,yaml]
@@ -4661,7 +4661,7 @@ package "Core: Quartz\n[Software System]" {
 .Projects/Modules (Core: Quartz)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Ext - Quartz
 [source,yaml]
@@ -4807,7 +4807,7 @@ package "Subdomains\n[Software System]" {
 .Projects/Modules (Subdomains)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Subdomains
 [source,yaml]
@@ -4987,7 +4987,7 @@ package "Base\n[Software System]" {
 .Projects/Modules (Base)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Sub - Base (parent)
 [source,yaml]
@@ -5085,7 +5085,7 @@ package "Excel\n[Software System]" {
 .Projects/Modules (Excel)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Sub - Excel (parent)
 [source,yaml]
@@ -5221,7 +5221,7 @@ package "Spring\n[Software System]" {
 .Projects/Modules (Spring)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Sub - Spring (parent)
 [source,yaml]
@@ -5295,7 +5295,7 @@ package "XDocReport\n[Software System]" {
 .Projects/Modules (XDocReport)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Sub - XdocReport (parent)
 [source,yaml]
@@ -5410,7 +5410,7 @@ package "Tooling\n[Software System]" {
 .Projects/Modules (Tooling)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis - Tooling
 [source,yaml]
@@ -5589,7 +5589,7 @@ package "Regression Tests\n[Software System]" {
 .Projects/Modules (Regression Tests)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis - Regression Tests
 [source,yaml]
@@ -5691,7 +5691,7 @@ package "Incubator\n[Software System]" {
 .Projects/Modules (Incubator)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Incubator
 [source,yaml]
@@ -5739,7 +5739,7 @@ package "Kroviz Client\n[Software System]" {
 .Projects/Modules (Kroviz Client)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Inc - Client kroViz
 [source,yaml]
@@ -5803,7 +5803,7 @@ package "JavaFX Viewer\n[Software System]" {
 .Projects/Modules (JavaFX Viewer)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Inc - Viewer JavaFX
 [source,yaml]
@@ -5913,7 +5913,7 @@ package "Vaadin Viewer\n[Software System]" {
 .Projects/Modules (Vaadin Viewer)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Inc - Viewer Vaadin
 [source,yaml]
@@ -6053,7 +6053,7 @@ package "Legacy\n[Software System]" {
 .Projects/Modules (Legacy)
 [cols="3a,5a", options="header"]
 |===
-|Coordinates |Description 
+|Coordinates |Description
 
 |Apache Isis Legacy
 [source,yaml]
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc
index fe3260e..88bb8a2 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/grid/hooks/GridService_020-examples-and-usage.adoc
@@ -12,7 +12,7 @@ Dynamic reloading is disabled in production mode.
 
 == See also
 
-This service is called by xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService], exposed in the UI through `LayoutServiceMenu` (to download the layout XML as a zip file for all domain objects) and the xref:applib-classes:mixins.adoc#java-lang-object[downloadLayoutXml()] mixin (to download the layout XML for a single domain
+This service is called by xref:refguide:applib:index/services/layout/LayoutService.adoc[LayoutService], exposed in the UI through `LayoutServiceMenu` (to download the layout XML as a zip file for all domain objects) and the xref:applib-classes:mixees-and-mixins.adoc#java-lang-object[downloadLayoutXml()] mixin (to download the layout XML for a single domain
 object).
 
 This service delegates to:
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc
index 69233b7..413a085 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/iactn/hooks/Execution_020-examples-and-usage.adoc
@@ -12,7 +12,7 @@ This supports several use cases:
 
 ** they enable profiling of the running application (which actions are invoked then most often, what is their response time)
 
-** if auditing is configured (using xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber]), they provide better audit information, since the parent xref:refguide:applib:index/services/iactn/Interaction.adoc[Interaction] captures the 'cause' of an interaction and can be correlated to the audit records (the "effect" of the interaction) by way of the xref:applib-classes:mixins.adoc[uniqueId] that both share.
+** if auditing is configured (using xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber]), they provide better audit information, since the parent xref:refguide:applib:index/services/iactn/Interaction.adoc[Interaction] captures the 'cause' of an interaction and can be correlated to the audit records (the "effect" of the interaction) by way of the xref:applib-classes:mixees-and-mixins.adoc[interactionId] that both share.
 
 
 == See also
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc
index d4bc8df..69f7b68 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/jaxb/hooks/JaxbService_020-examples-and-usage.adoc
@@ -9,5 +9,5 @@
 This service is provided as a convenience for applications, but is also used internally by the framework to marshall xref:refguide:applib-ant:XmlRootElement.adoc[@XmlRootElement]-annotated
 xref:userguide:fun:overview.adoc#view-models[view models].
 
-The functionality to download XML and XSD schemas is also exposed in the UI through mixins of the xref:applib-classes:mixins.adoc#Dto[Dto] interface.
+The functionality to download XML and XSD schemas is also exposed in the UI through mixins of the xref:applib-classes:mixees-and-mixins.adoc#Dto[Dto] interface.
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc
index b6638cc..02924fb 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/layout/hooks/LayoutService_020-examples-and-usage.adoc
@@ -7,7 +7,7 @@
 
 The service's functionality is exposed in the UI through a mixin (per object) and a menu action (for all objects):
 
-* the xref:applib-classes:mixins.adoc#java-lang-object[Object] mixin provides the ability to download the XML layout for any domain object (entity or view model).
+* the xref:applib-classes:mixees-and-mixins.adoc#java-lang-object[Object] mixin provides the ability to download the XML layout for any domain object (entity or view model).
 
 * the `LayoutServiceMenu` provides the ability to download all XML layouts as a single ZIP file (in any of the three styles).
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc
index a8f800b..b266803 100644
--- a/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc
+++ b/antora/components/refguide-index/modules/applib/pages/index/services/publishing/spi/hooks/ExecutionSubscriber_020-examples-and-usage.adoc
@@ -25,7 +25,7 @@ See also:
 +
 The xref:refguide:applib:index/services/command/Command.adoc[Command]  captures the __cause__ of an interaction (an action was invoked, a property was edited), while the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] captures the __effect__ of that interaction in terms of events, while the xref:refguide:applib:index/services/publishing/spi/EntityPropertyChangeSubscriber.adoc[EntityPropertyChangeSubscriber] captures the effect of the inter [...]
 
-All of these services collaborate implicitly by way of the xref:refguide:commons:index//having/HasUniqueId.adoc[HasUniqueId] interface.
+All of these services collaborate implicitly by way of the xref:refguide:applib:index/mixins/system/HasInteractionId.adoc[HasInteractionId] interface.
 
 In contrast:
 
diff --git a/antora/components/refguide-index/modules/applib/pages/index/services/MethodReferences.adoc b/antora/components/refguide-index/modules/applib/pages/index/services/queryresultscache/MethodReferences.adoc
similarity index 100%
rename from antora/components/refguide-index/modules/applib/pages/index/services/MethodReferences.adoc
rename to antora/components/refguide-index/modules/applib/pages/index/services/queryresultscache/MethodReferences.adoc
diff --git a/antora/components/refguide-index/modules/commons/pages/index/having/HasUniqueId.adoc b/antora/components/refguide-index/modules/commons/pages/index/having/HasUniqueId.adoc
deleted file mode 100644
index 774e8f5..0000000
--- a/antora/components/refguide-index/modules/commons/pages/index/having/HasUniqueId.adoc
+++ /dev/null
@@ -1,25 +0,0 @@
-= HasUniqueId _(interface)_
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-== API
-
-[source,java]
-.HasUniqueId.java
-----
-interface HasUniqueId {
-  UUID getUniqueId()     // <.>
-}
-----
-
-<.> xref:#getUniqueId__[getUniqueId()]
-+
---
-A unique identifier (a GUID).
---
-
-== Members
-
-[#getUniqueId__]
-=== getUniqueId()
-
-A unique identifier (a GUID).
diff --git a/antora/components/refguide-index/modules/commons/pages/index/having/HasUpdatedAt.adoc b/antora/components/refguide-index/modules/commons/pages/index/having/HasUpdatedAt.adoc
deleted file mode 100644
index 6b1641d..0000000
--- a/antora/components/refguide-index/modules/commons/pages/index/having/HasUpdatedAt.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-= HasUpdatedAt _(interface)_
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-== API
-
-[source,java]
-.HasUpdatedAt.java
-----
-interface HasUpdatedAt {
-  void setUpdatedAt(java.sql.Timestamp updatedAt)
-}
-----
-
diff --git a/antora/components/refguide-index/modules/commons/pages/index/having/HasUpdatedBy.adoc b/antora/components/refguide-index/modules/commons/pages/index/having/HasUpdatedBy.adoc
deleted file mode 100644
index 6356b9b..0000000
--- a/antora/components/refguide-index/modules/commons/pages/index/having/HasUpdatedBy.adoc
+++ /dev/null
@@ -1,13 +0,0 @@
-= HasUpdatedBy _(interface)_
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-== API
-
-[source,java]
-.HasUpdatedBy.java
-----
-interface HasUpdatedBy {
-  void setUpdatedBy(String updatedBy)
-}
-----
-
diff --git a/antora/components/refguide-index/modules/commons/pages/index/having/HasUsername.adoc b/antora/components/refguide-index/modules/commons/pages/index/having/HasUsername.adoc
deleted file mode 100644
index 6a5892b..0000000
--- a/antora/components/refguide-index/modules/commons/pages/index/having/HasUsername.adoc
+++ /dev/null
@@ -1,29 +0,0 @@
-= HasUsername _(interface)_
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-Mix-in interface for objects (usually created by service implementations) that are be persistable, and so can be associated with a username, usually of the user that has performed some operation.
-
-Other services can then use this username as a means to contributed actions/collections to render such additional information relating to the activities of the user.
-
-== API
-
-[source,java]
-.HasUsername.java
-----
-interface HasUsername {
-  String getUsername()     // <.>
-}
-----
-
-<.> xref:#getUsername__[getUsername()]
-+
---
-The user that created this object.
---
-
-== Members
-
-[#getUsername__]
-=== getUsername()
-
-The user that created this object.
diff --git a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/impl/mixins/HasUniqueId_command.adoc b/antora/components/refguide-index/modules/extensions/pages/index/commandlog/impl/mixins/HasUniqueId_command.adoc
deleted file mode 100644
index 6ca9e82..0000000
--- a/antora/components/refguide-index/modules/extensions/pages/index/commandlog/impl/mixins/HasUniqueId_command.adoc
+++ /dev/null
@@ -1,32 +0,0 @@
-= HasUniqueId_command
-:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
-
-This mixin contributes a `command` action to any (non-command) implementation of xref:refguide:applib:index/mixins/system/HasInteractionId.adoc[HasInteractionId] ; that is: audit entries, and published events. Thus, it is possible to navigate from the effect back to the cause.
-
-== API
-
-[source,java]
-.HasUniqueId_command.java
-----
-class HasUniqueId_command {
-  @Inject
-CommandJdoRepository commandServiceRepository;
-  HasUniqueId_command(final HasInteractionId hasInteractionId)
-  CommandJdo act()
-  boolean hideAct()     // <.>
-  String disableAct()
-}
-----
-
-<.> xref:#hideAct__[hideAct()]
-+
---
-Hide if the contributee is a xref:refguide:applib:index/services/command/Command.adoc[Command] , because xref:refguide:applib:index/services/command/Command.adoc[Command] s already have a _Command#getParent() parent_ property.
---
-
-== Members
-
-[#hideAct__]
-=== hideAct()
-
-Hide if the contributee is a xref:refguide:applib:index/services/command/Command.adoc[Command] , because xref:refguide:applib:index/services/command/Command.adoc[Command] s already have a _Command#getParent() parent_ property.
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java b/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
index a508a3f..857e9c1 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
@@ -84,7 +84,7 @@ public class Command implements HasInteractionId, HasUsername, HasCommandDto {
      * Unique identifier for the command.
      *
      * <p>
-     *     Derived from {@link #getCommandDto()}'s {@link CommandDto#getTransactionId()}
+     *     Derived from {@link #getCommandDto()}'s {@link CommandDto#getInteractionId()}
      * </p>
      */
     @Getter
@@ -125,7 +125,7 @@ public class Command implements HasInteractionId, HasUsername, HasCommandDto {
      *
      * <p>
      *     When the framework sets this (through an internal API), it is
-     *     expected to have {@link CommandDto#getTransactionId()},
+     *     expected to have {@link CommandDto#getInteractionId()},
      *     {@link CommandDto#getUser()}, {@link CommandDto#getTimestamp()},
      *     {@link CommandDto#getTargets()} and {@link CommandDto#getMember()}
      *     to be populated.  The {@link #getInteractionId()}, {@link #getUsername()},
@@ -266,14 +266,14 @@ public class Command implements HasInteractionId, HasUsername, HasCommandDto {
         public void setCommandDto(final CommandDto commandDto) {
             Command.this.commandDto = commandDto;
 
-            // even though redundant, but must ensure commandUniqueId == dtoUniqueId
-            val commandUniqueId = Command.this.getInteractionId().toString();
-            val dtoUniqueId = commandDto.getTransactionId();
+            // should be redundant, but we ensure commandInteractionId == dtoInteractionId
+            val commandInteractionId = Command.this.getInteractionId().toString();
+            val dtoInteractionId = commandDto.getInteractionId();
 
-            if(!commandUniqueId.equals(dtoUniqueId)) {
-                log.warn("setting CommandDto on a Command has side-effects when "
-                        + "both their UniqueIds don't match");
-                commandDto.setTransactionId(commandUniqueId);
+            if(!commandInteractionId.equals(dtoInteractionId)) {
+                log.warn("setting CommandDto on a Command has side-effects if "
+                        + "their InteractionIds don't match; forcing CommandDto's Id to be same as Command's");
+                commandDto.setInteractionId(commandInteractionId);
             }
 
         }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/MethodReferences.java b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/MethodReferences.java
similarity index 95%
rename from api/applib/src/main/java/org/apache/isis/applib/services/MethodReferences.java
rename to api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/MethodReferences.java
index 6731a40..893a723 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/MethodReferences.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/MethodReferences.java
@@ -16,79 +16,79 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.applib.services;
+package org.apache.isis.applib.services.queryresultscache;
 
 import lombok.experimental.UtilityClass;
 
 /**
- * 
+ *
  * @since 2.0 {@index}
  */
 @UtilityClass
 public class MethodReferences {
 
     // -- METHOD REFERENCE MATCHERS (WITHOUT RETURN VALUE)
-    
+
     @FunctionalInterface
     public static interface Run0 {
         void run();
     }
-    
+
     @FunctionalInterface
     public static interface Run1<A0> {
         void run(A0 arg0);
     }
-    
+
     @FunctionalInterface
     public static interface Run2<A0, A1> {
         void run(A0 arg0, A1 arg1);
     }
-    
+
     @FunctionalInterface
     public static interface Run3<A0, A1, A2> {
         void run(A0 arg0, A1 arg1, A2 arg2);
     }
-    
+
     @FunctionalInterface
     public static interface Run4<A0, A1, A2, A3> {
         void run(A0 arg0, A1 arg1, A2 arg2, A3 arg3);
     }
-    
+
     @FunctionalInterface
     public static interface Run5<A0, A1, A2, A3, A4> {
         void run(A0 arg0, A1 arg1, A2 arg2, A3 arg3, A4 arg4);
     }
-    
+
     // -- METHOD REFERENCE MATCHERS (WITH RETURN VALUE)
-    
+
     @FunctionalInterface
     public static interface Call0<R> {
         R call();
     }
-    
+
     @FunctionalInterface
     public static interface Call1<R, A0> {
         R call(A0 arg0);
     }
-    
+
     @FunctionalInterface
     public static interface Call2<R, A0, A1> {
         R call(A0 arg0, A1 arg1);
     }
-    
+
     @FunctionalInterface
     public static interface Call3<R, A0, A1, A2> {
         R call(A0 arg0, A1 arg1, A2 arg2);
     }
-    
+
     @FunctionalInterface
     public static interface Call4<R, A0, A1, A2, A3> {
         R call(A0 arg0, A1 arg1, A2 arg2, A3 arg3);
     }
-    
+
     @FunctionalInterface
     public static interface Call5<R, A0, A1, A2, A3, A4> {
         R call(A0 arg0, A1 arg1, A2 arg2, A3 arg3, A4 arg4);
     }
-    
+
 }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
index c756211..a29248e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/queryresultscache/QueryResultsCache.java
@@ -23,8 +23,6 @@ import java.util.concurrent.Callable;
 
 import org.springframework.beans.factory.DisposableBean;
 
-import org.apache.isis.applib.services.MethodReferences;
-
 import lombok.Data;
 import lombok.Getter;
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java b/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
index 3e12a27..5b82116 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/util/schema/InteractionDtoUtils.java
@@ -198,20 +198,20 @@ public final class InteractionDtoUtils {
             final Execution<?, ?> execution,
             final MemberExecutionDto executionDto) {
         final Interaction interaction = execution.getInteraction();
-        final String transactionId = interaction.getInteractionId().toString();
+        final String interactionId = interaction.getInteractionId().toString();
 
-        return InteractionDtoUtils.newInteractionDto(transactionId, executionDto);
+        return InteractionDtoUtils.newInteractionDto(interactionId, executionDto);
     }
 
     private static InteractionDto newInteractionDto(
-            final String transactionId,
+            final String interactionId,
             final MemberExecutionDto executionDto) {
         final InteractionDto interactionDto = new InteractionDto();
 
         interactionDto.setMajorVersion("1");
         interactionDto.setMinorVersion("0");
 
-        interactionDto.setTransactionId(transactionId);
+        interactionDto.setInteractionId(interactionId);
         interactionDto.setExecution(executionDto);
 
         executionDto.setInteractionType(
diff --git a/api/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java b/api/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java
index 98027d0..e66e1c3 100644
--- a/api/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java
+++ b/api/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java
@@ -60,7 +60,7 @@ import lombok.val;
 public class Roundtrip {
 
     private static InteractionDto newInteractionDtoWithActionInvocation(
-            final String transactionId,
+            final String interactionId,
             final int sequence,
             final Bookmark targetBookmark,
             final String targetTitle,
@@ -78,7 +78,7 @@ public class Roundtrip {
         interactionDto.setMajorVersion("1");
         interactionDto.setMinorVersion("0");
 
-        interactionDto.setTransactionId(transactionId);
+        interactionDto.setInteractionId(interactionId);
         interactionDto.setExecution(executionDto);
 
         executionDto.setInteractionType(InteractionType.ACTION_INVOCATION);
@@ -92,71 +92,71 @@ public class Roundtrip {
         InteractionDtoUtils.addParamArg(interactionDto, "a"+name, type, sampleValue, null);
         InteractionDtoUtils.addParamArg(interactionDto, "null"+name, type, type.cast(null), null);
     }
-    
+
     private static void testArg(
-            ActionInvocationDto invocationDto, 
-            LongAdder paramIndex, 
-            ValueType valueType, 
+            ActionInvocationDto invocationDto,
+            LongAdder paramIndex,
+            ValueType valueType,
             Object expectedValue) {
         testArg(invocationDto, paramIndex, valueType, expectedValue, null);
     }
-    
+
     private static void testArg(
-            ActionInvocationDto invocationDto, 
-            LongAdder paramIndex, 
-            ValueType valueType, 
+            ActionInvocationDto invocationDto,
+            LongAdder paramIndex,
+            ValueType valueType,
             Object expectedValue,
             String nameOverride) {
-        
+
         paramIndex.increment();
         int param = paramIndex.intValue();
-        
+
         val type = expectedValue.getClass();
         val name = nameOverride!=null ? nameOverride : type.getSimpleName();
         assertThat(InteractionDtoUtils.getParameterName(invocationDto, param), is("a"+name));
         assertThat(InteractionDtoUtils.getParameterType(invocationDto, param), Matchers.is(valueType));
         assertThat(InteractionDtoUtils.isNull(invocationDto, param), is(false));
-        
+
         val actualValue = InteractionDtoUtils.getParameterArgValue(invocationDto, param);
-        
+
         // equals test, some types need special checks ...
         if(expectedValue instanceof OidDto) {
-            
+
             assertThat( ((OidDto)actualValue).getId(), is(((OidDto)expectedValue).getId()) );
             assertThat( ((OidDto)actualValue).getType(), is(((OidDto)expectedValue).getType()) );
-            
+
         } else if(expectedValue instanceof org.joda.time.DateTime) {
-            
+
             assertThat( actualValue.toString(), is(expectedValue.toString()) );
-            
+
         } else if(expectedValue instanceof Iterable
                 || expectedValue.getClass().isArray()) {
-            
+
             val actualAsCan = Can.ofStream(_NullSafe.streamAutodetect(actualValue));
             val expectedAsCan = Can.ofStream(_NullSafe.streamAutodetect(expectedValue));
-            
+
             assertThat(actualAsCan, is(expectedAsCan));
-            
+
         } else {
-            assertThat(actualValue, is(expectedValue));    
+            assertThat(actualValue, is(expectedValue));
         }
-        
+
         paramIndex.increment();
         param = paramIndex.intValue();
         assertThat(InteractionDtoUtils.getParameterName(invocationDto, param), is("null"+name));
         assertThat(InteractionDtoUtils.getParameterType(invocationDto, param), Matchers.is(valueType));
         assertThat(InteractionDtoUtils.isNull(invocationDto, param), is(true));
     }
-    
+
     private static class SampleValues {
-        
+
         final Bookmark bookmark = Bookmark.of("ORD", "12345");
         final OidDto reference = new OidDto();
         {
             reference.setId("12345");
             reference.setType("ORD");
         }
-        
+
         final String string = "Fred";
         final byte primitiveByte = (byte)123;
         final short primitiveShort= (short) 32123;
@@ -166,10 +166,10 @@ public class Roundtrip {
         final double primitiveDouble = 12345678.90123d;
         final boolean primitiveBoolean = true;
         final char primitiveCharacter = 'x';
-        
+
         final BigInteger bigInteger = new java.math.BigInteger("12345678901234567890");
         final BigDecimal bigDecimal = new java.math.BigDecimal("12345678901234567890");
-                
+
         // java.time
         final LocalTime localTime = LocalTime.of(9, 54, 1);
         final OffsetTime offsetTime = OffsetTime.of(9, 54, 1, 123_000_000, ZoneOffset.ofTotalSeconds(-120));
@@ -177,13 +177,13 @@ public class Roundtrip {
         final LocalDateTime localDateTime = LocalDateTime.of(2015, 5, 23, 9, 54, 1);
         final OffsetDateTime offsetDateTime = OffsetDateTime.of(2015, 5, 23, 9, 54, 1, 0, ZoneOffset.UTC);
         final ZonedDateTime zonedDateTime = ZonedDateTime.of(2015, 5, 23, 9, 54, 1, 0, ZoneOffset.UTC);
-        
+
         // joda.time
         final org.joda.time.DateTime jodaDateTime = new org.joda.time.DateTime(2015, 5, 23, 9, 54, 1);
         final org.joda.time.LocalDate jodaLocalDate = new org.joda.time.LocalDate(2015, 5, 23);
         final org.joda.time.LocalDateTime jodaLocalDateTime = new org.joda.time.LocalDateTime(2015, 5, 23, 9, 54, 1);
         final org.joda.time.LocalTime jodaLocalTime = new org.joda.time.LocalTime(9, 54, 1);
-        
+
         // iterables
         final List<Long> list = _Lists.of(1L, 2L, 3L);
         final Set<Long> set = _Sets.of(1L, 2L, 3L);
@@ -191,10 +191,10 @@ public class Roundtrip {
         final long[] array = {1L, 2L, 3L};
 
     }
-    
+
     private final SampleValues sampleValues = new SampleValues();
-    
-    
+
+
     @Test
     public void happyCase() throws Exception {
 
@@ -214,7 +214,7 @@ public class Roundtrip {
                 Bookmark.of("CUS", "12345"), "John Customer", "com.mycompany.Customer#placeOrder", Arrays.<ParamDto>asList(),
                 "freddyUser"
                 );
-        
+
         addArg(interactionDto, sampleValues.bookmark);
         addArg(interactionDto, sampleValues.string);
         addArg(interactionDto, sampleValues.primitiveByte);
@@ -225,10 +225,10 @@ public class Roundtrip {
         addArg(interactionDto, sampleValues.primitiveDouble);
         addArg(interactionDto, sampleValues.primitiveBoolean);
         addArg(interactionDto, sampleValues.primitiveCharacter);
-        
+
         addArg(interactionDto, sampleValues.bigInteger);
         addArg(interactionDto, sampleValues.bigDecimal);
-        
+
         // java.time
         addArg(interactionDto, sampleValues.localTime);
         addArg(interactionDto, sampleValues.localDate);
@@ -236,13 +236,13 @@ public class Roundtrip {
         addArg(interactionDto, sampleValues.offsetTime);
         addArg(interactionDto, sampleValues.offsetDateTime);
         addArg(interactionDto, sampleValues.zonedDateTime);
-        
+
         // joda.time
         addArg(interactionDto, sampleValues.jodaDateTime);
         addArg(interactionDto, sampleValues.jodaLocalDate);
         addArg(interactionDto, sampleValues.jodaLocalDateTime);
         addArg(interactionDto, sampleValues.jodaLocalTime);
-        
+
         // iterables
         addArg(interactionDto, sampleValues.list);
         addArg(interactionDto, sampleValues.set);
@@ -265,7 +265,7 @@ public class Roundtrip {
         assertThat(recreated.getExecution().getTarget().getId(), Matchers.is(interactionDto.getExecution().getTarget().getId()));
 
         final ActionInvocationDto invocationDto = (ActionInvocationDto) recreated.getExecution();
-        val paramIndex = new LongAdder(); 
+        val paramIndex = new LongAdder();
         paramIndex.decrement();
 
         testArg(invocationDto, paramIndex, ValueType.REFERENCE, sampleValues.reference, "Bookmark");
@@ -278,10 +278,10 @@ public class Roundtrip {
         testArg(invocationDto, paramIndex, ValueType.DOUBLE, sampleValues.primitiveDouble);
         testArg(invocationDto, paramIndex, ValueType.BOOLEAN, sampleValues.primitiveBoolean);
         testArg(invocationDto, paramIndex, ValueType.CHAR, sampleValues.primitiveCharacter);
-        
+
         testArg(invocationDto, paramIndex, ValueType.BIG_INTEGER, sampleValues.bigInteger);
         testArg(invocationDto, paramIndex, ValueType.BIG_DECIMAL, sampleValues.bigDecimal);
-        
+
         // java.time
         testArg(invocationDto, paramIndex, ValueType.LOCAL_TIME, sampleValues.localTime);
         testArg(invocationDto, paramIndex, ValueType.LOCAL_DATE, sampleValues.localDate);
@@ -289,13 +289,13 @@ public class Roundtrip {
         testArg(invocationDto, paramIndex, ValueType.OFFSET_TIME, sampleValues.offsetTime);
         testArg(invocationDto, paramIndex, ValueType.OFFSET_DATE_TIME, sampleValues.offsetDateTime);
         testArg(invocationDto, paramIndex, ValueType.ZONED_DATE_TIME, sampleValues.zonedDateTime);
-        
+
         // joda.time
         testArg(invocationDto, paramIndex, ValueType.JODA_DATE_TIME, sampleValues.jodaDateTime);
         testArg(invocationDto, paramIndex, ValueType.JODA_LOCAL_DATE, sampleValues.jodaLocalDate);
         testArg(invocationDto, paramIndex, ValueType.JODA_LOCAL_DATE_TIME, sampleValues.jodaLocalDateTime);
         testArg(invocationDto, paramIndex, ValueType.JODA_LOCAL_TIME, sampleValues.jodaLocalTime);
-        
+
         // iterables
         testArg(invocationDto, paramIndex, ValueType.COLLECTION, sampleValues.list);
         testArg(invocationDto, paramIndex, ValueType.COLLECTION, sampleValues.set);
diff --git a/api/schema/src/main/resources/org/apache/isis/schema/chg/chg-2.0.xsd b/api/schema/src/main/resources/org/apache/isis/schema/chg/chg-2.0.xsd
index 3590d20..d51974d 100644
--- a/api/schema/src/main/resources/org/apache/isis/schema/chg/chg-2.0.xsd
+++ b/api/schema/src/main/resources/org/apache/isis/schema/chg/chg-2.0.xsd
@@ -45,7 +45,7 @@
                         </xs:documentation>
                     </xs:annotation>
                 </xs:element>
-                <xs:element name="transactionId" type="xs:string">
+                <xs:element name="interactionId" type="xs:string">
                     <xs:annotation>
                         <xs:documentation>Unique identifier of the interaction id within which this change occurred.
                         </xs:documentation>
@@ -53,7 +53,7 @@
                 </xs:element>
                 <xs:element name="sequence" type="xs:int">
                     <xs:annotation>
-                        <xs:documentation>Unique sequence number of the set of change within the interaction.  There could be many such events within a single interaction, one for each completed transaction.
+                        <xs:documentation>Unique sequence number of the transaction committed within the interaction.  Although there is usually just one transaction per interaction, in advanced use cases there could be many.
                         </xs:documentation>
                     </xs:annotation>
                 </xs:element>
diff --git a/api/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-2.0.xsd b/api/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-2.0.xsd
index 87dcd6a..218f1e4 100644
--- a/api/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-2.0.xsd
+++ b/api/schema/src/main/resources/org/apache/isis/schema/cmd/cmd-2.0.xsd
@@ -55,9 +55,9 @@
                         </xs:documentation>
                     </xs:annotation>
                 </xs:element>
-                <xs:element name="transactionId" type="xs:string">
+                <xs:element name="interactionId" type="xs:string">
                     <xs:annotation>
-                        <xs:documentation>Transaction id for this command, a unique identifier.
+                        <xs:documentation>Unique identifier of the interaction that gave rise to this command.
                         </xs:documentation>
                     </xs:annotation>
                 </xs:element>
diff --git a/api/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-2.0.xsd b/api/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-2.0.xsd
index dd83dbf..bf1bc5e 100644
--- a/api/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-2.0.xsd
+++ b/api/schema/src/main/resources/org/apache/isis/schema/ixn/ixn-2.0.xsd
@@ -47,7 +47,7 @@
                         </xs:documentation>
                     </xs:annotation>
                 </xs:element>
-                <xs:element name="transactionId" type="xs:string">
+                <xs:element name="interactionId" type="xs:string">
                     <xs:annotation>
                         <xs:documentation>Unique identifier of the interaction which this member was interacted with (action invoked/property edited); can be used to locate the corresponding Command object (which may have been persisted).
                         </xs:documentation>
diff --git a/core/interaction/src/main/java/org/apache/isis/core/interaction/session/IsisInteraction.java b/core/interaction/src/main/java/org/apache/isis/core/interaction/session/IsisInteraction.java
index 5481416..765032a 100644
--- a/core/interaction/src/main/java/org/apache/isis/core/interaction/session/IsisInteraction.java
+++ b/core/interaction/src/main/java/org/apache/isis/core/interaction/session/IsisInteraction.java
@@ -44,8 +44,8 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class IsisInteraction implements InternalInteraction {
 
-    public IsisInteraction(final @NonNull UUID uniqueId) {
-        this.command = new Command(uniqueId);
+    public IsisInteraction(final @NonNull UUID interactionId) {
+        this.command = new Command(interactionId);
     }
 
     @Getter(onMethod_ = {@Override})
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDtoFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDtoFactory.java
index c80b4c2..6c7b2de 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDtoFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/command/CommandDtoFactory.java
@@ -55,7 +55,7 @@ public interface CommandDtoFactory {
      * @see #asCommandDto(UUID, Can, OneToOneAssociation, ManagedObject)
      */
     CommandDto asCommandDto(
-            final UUID uniqueId,
+            final UUID interactionId,
             final Can<ManagedObject> targetAdapters,
             final ObjectAction objectAction,
             final Can<ManagedObject> argAdapters);
@@ -68,7 +68,7 @@ public interface CommandDtoFactory {
      * @see #asCommandDto(UUID, Can, ObjectAction, Can)
      */
     CommandDto asCommandDto(
-            final UUID uniqueId,
+            final UUID interactionId,
             final Can<ManagedObject> targetAdapters,
             final OneToOneAssociation association,
             final ManagedObject valueAdapterOrNull);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
index 898d5cb..2ff5d1d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionDefault.java
@@ -67,8 +67,8 @@ import org.apache.isis.schema.cmd.v2.CommandDto;
 import lombok.NonNull;
 import lombok.val;
 
-public class ObjectActionDefault 
-extends ObjectMemberAbstract 
+public class ObjectActionDefault
+extends ObjectMemberAbstract
 implements ObjectAction {
 
     public static ActionType getType(final String typeStr) {
@@ -151,7 +151,7 @@ implements ObjectAction {
     public ActionInteractionHead interactionHead(@NonNull ManagedObject actionOwner) {
         return ActionInteractionHead.of(this, actionOwner, actionOwner);
     }
-    
+
     // -- Parameters
 
     @Override
@@ -165,7 +165,7 @@ implements ObjectAction {
     }
 
     protected Can<ObjectActionParameter> determineParameters() {
-        
+
         val parameterCount = getParameterCount();
         val paramPeers = getFacetedMethod().getParameters();
 
@@ -231,27 +231,27 @@ implements ObjectAction {
 
     @Override
     public VisibilityContext createVisibleInteractionContext(
-            final ManagedObject target, 
+            final ManagedObject target,
             final InteractionInitiatedBy interactionInitiatedBy,
             final Where where) {
         return new ActionVisibilityContext(
-                headFor(target), 
-                this, 
-                getIdentifier(), 
-                interactionInitiatedBy, 
+                headFor(target),
+                this,
+                getIdentifier(),
+                interactionInitiatedBy,
                 where);
     }
 
     @Override
     public UsabilityContext createUsableInteractionContext(
-            final ManagedObject target, 
+            final ManagedObject target,
             final InteractionInitiatedBy interactionInitiatedBy,
             final Where where) {
         return new ActionUsabilityContext(
-                headFor(target), 
-                this, 
-                getIdentifier(), 
-                interactionInitiatedBy, 
+                headFor(target),
+                this,
+                getIdentifier(),
+                interactionInitiatedBy,
                 where);
     }
 
@@ -295,14 +295,14 @@ implements ObjectAction {
             final Can<ManagedObject> proposedArguments,
             final InteractionInitiatedBy interactionInitiatedBy,
             final InteractionResultSet resultSet) {
-        
+
         val actionParameters = getParameters();
         if (proposedArguments != null) {
             for (int i = 0; i < proposedArguments.size(); i++) {
                 val validityContext = actionParameters.getElseFail(i)
                         .createProposedArgumentInteractionContext(
                                 head, proposedArguments, i, interactionInitiatedBy);
-                
+
                 InteractionUtils.isValidResultSet(getParameter(i), validityContext, resultSet);
             }
         }
@@ -325,7 +325,7 @@ implements ObjectAction {
             final Can<ManagedObject> proposedArguments,
             final InteractionInitiatedBy interactionInitiatedBy,
             final InteractionResultSet resultSet) {
-        
+
         val validityContext = createActionInvocationInteractionContext(
                 head, proposedArguments, interactionInitiatedBy);
         InteractionUtils.isValidResultSet(this, validityContext, resultSet);
@@ -335,11 +335,11 @@ implements ObjectAction {
             final InteractionHead head,
             final Can<ManagedObject> proposedArguments,
             final InteractionInitiatedBy interactionInitiatedBy) {
-        
+
         return new ActionValidityContext(
-                head, 
-                this, 
-                getIdentifier(), 
+                head,
+                this,
+                getIdentifier(),
                 proposedArguments,
                 interactionInitiatedBy);
     }
@@ -356,7 +356,7 @@ implements ObjectAction {
             final Where where) {
 
         val target = head.getOwner();
-        
+
         // see it?
         final Consent visibility = isVisible(target, interactionInitiatedBy, where);
         if (visibility.isVetoed()) {
@@ -390,9 +390,9 @@ implements ObjectAction {
 
         _Assert.assertEquals(this.getParameterCount(), argumentAdapters.size(),
                 "action's parameter count and provided argument count must match");
-        
+
         setupCommand(head.getTarget(), argumentAdapters);
-        
+
         return this.executeInternal(head, argumentAdapters, interactionInitiatedBy);
     }
 
@@ -403,7 +403,7 @@ implements ObjectAction {
             final InteractionHead head,
             final Can<ManagedObject> argumentAdapters,
             final InteractionInitiatedBy interactionInitiatedBy) {
-        
+
         val actionInvocationFacet = getFacet(ActionInvocationFacet.class);
         return actionInvocationFacet
                 .invoke(this, head, argumentAdapters, interactionInitiatedBy);
@@ -420,13 +420,13 @@ implements ObjectAction {
 
         val actionDefaultsFacet = getFacet(ActionDefaultsFacet.class);
         if (!actionDefaultsFacet.isFallback()) {
-            
+
             // use the old defaultXxx approach
-            
+
             final int parameterCount = getParameterCount();
             val parameters = getParameters();
             final Object[] parameterDefaultPojos;
-            
+
             parameterDefaultPojos = actionDefaultsFacet.getDefaults(target);
             if (parameterDefaultPojos.length != parameterCount) {
                 throw new DomainModelException("Defaults array of incompatible size; expected " + parameterCount + " elements, but was " + parameterDefaultPojos.length + " for " + actionDefaultsFacet);
@@ -441,7 +441,7 @@ implements ObjectAction {
                     }
                 }
             }
-            
+
             final ManagedObject[] parameterDefaultAdapters = new ManagedObject[parameterCount];
             for (int i = 0; i < parameterCount; i++) {
                 val paramSpec = parameters.getElseFail(i).getSpecification();
@@ -449,9 +449,9 @@ implements ObjectAction {
             }
 
             return Can.ofArray(parameterDefaultAdapters);
-            
-        } 
-        
+
+        }
+
         // else use the new defaultNXxx approach for each param in turn
         // (the reflector will have made sure both aren't installed).
         return interactionHead(target)
@@ -460,8 +460,8 @@ implements ObjectAction {
 
     }
 
-        
-    
+
+
     private static ThreadLocal<List<ManagedObject>> commandTargetAdaptersHolder = new ThreadLocal<>();
 
     /**
@@ -493,7 +493,7 @@ implements ObjectAction {
             final InteractionInitiatedBy interactionInitiatedBy) {
 
         final int parameterCount = getParameterCount();
-        CanVector<ManagedObject> paramChoicesVector; 
+        CanVector<ManagedObject> paramChoicesVector;
 
         final ActionChoicesFacet facet = getFacet(ActionChoicesFacet.class);
         val parameters = getParameters();
@@ -521,13 +521,13 @@ implements ObjectAction {
                 val param = parameters.getElseFail(i);
                 val paramSpec = param.getSpecification();
                 val paramFacet = param.getFacet(ActionParameterChoicesFacet.class);
-                
+
                 if (paramFacet != null && !paramFacet.isFallback()) {
-                    
+
                     val visibleChoices = paramFacet.getChoices(
-                            paramSpec, 
-                            interactionHead(target), 
-                            emptyPendingArgs, 
+                            paramSpec,
+                            interactionHead(target),
+                            emptyPendingArgs,
                             interactionInitiatedBy);
                     ObjectActionParameterAbstract.checkChoicesOrAutoCompleteType(
                             getSpecificationLoader(), visibleChoices, paramSpec);
@@ -554,7 +554,7 @@ implements ObjectAction {
             final ManagedObject targetAdapter,
             final Can<ManagedObject> argumentAdapters) {
 
-        setupCommand(targetAdapter, uniqueId->commandDtoFor(uniqueId, targetAdapter, argumentAdapters));
+        setupCommand(targetAdapter, interactionId->commandDtoFor(interactionId, targetAdapter, argumentAdapters));
     }
 
     @Override
@@ -588,19 +588,19 @@ implements ObjectAction {
     }
 
     // -- HELPER
-    
+
     private CommandDto commandDtoFor(
-            final UUID uniqueId,
+            final UUID interactionId,
             final ManagedObject targetAdapter,
             final Can<ManagedObject> argumentAdapters) {
-        
+
         val commandTargetAdapters =
                 commandTargetAdaptersHolder.get() != null
                     ? Can.ofCollection(commandTargetAdaptersHolder.get())
                     : Can.ofSingleton(targetAdapter);
 
         return getCommandDtoFactory()
-                .asCommandDto(uniqueId, commandTargetAdapters, this, argumentAdapters);
+                .asCommandDto(interactionId, commandTargetAdapters, this, argumentAdapters);
     }
-    
+
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
index 11f744a..4322cb6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToOneAssociationDefault.java
@@ -53,8 +53,8 @@ import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 
 import lombok.val;
 
-public class OneToOneAssociationDefault 
-extends ObjectAssociationAbstract 
+public class OneToOneAssociationDefault
+extends ObjectAssociationAbstract
 implements OneToOneAssociation {
 
     public OneToOneAssociationDefault(final FacetedMethod facetedMethod) {
@@ -73,7 +73,7 @@ implements OneToOneAssociation {
 
     @Override
     public VisibilityContext createVisibleInteractionContext(
-            final ManagedObject ownerAdapter, 
+            final ManagedObject ownerAdapter,
             final InteractionInitiatedBy interactionInitiatedBy,
             final Where where) {
         return new PropertyVisibilityContext(
@@ -83,7 +83,7 @@ implements OneToOneAssociation {
 
     @Override
     public UsabilityContext createUsableInteractionContext(
-            final ManagedObject ownerAdapter, 
+            final ManagedObject ownerAdapter,
             final InteractionInitiatedBy interactionInitiatedBy,
             final Where where) {
         return new PropertyUsabilityContext(
@@ -125,9 +125,9 @@ implements OneToOneAssociation {
     // -- init
     @Override
     public void initAssociation(
-            final ManagedObject ownerAdapter, 
+            final ManagedObject ownerAdapter,
             final ManagedObject referencedAdapter) {
-        
+
         final PropertyInitializationFacet initializerFacet = getFacet(PropertyInitializationFacet.class);
         if (initializerFacet != null) {
             initializerFacet.initProperty(ownerAdapter, referencedAdapter);
@@ -189,7 +189,7 @@ implements OneToOneAssociation {
         if (propertySetterFacet == null) {
             throw _Exceptions.unexpectedCodeReach();
         }
-        
+
         EntityUtil.requiresWhenFirstIsBookmarkableSecondIsAttached(ownerAdapter, newReferencedAdapter);
 
         return propertySetterFacet.setProperty(this, ownerAdapter, newReferencedAdapter, interactionInitiatedBy);
@@ -198,13 +198,13 @@ implements OneToOneAssociation {
     private ManagedObject clearValue(
             final ManagedObject ownerAdapter,
             final InteractionInitiatedBy interactionInitiatedBy) {
-        
+
         val propertyClearFacet = getFacet(PropertyClearFacet.class);
-        
+
         if (propertyClearFacet == null) {
             throw _Exceptions.unexpectedCodeReach();
         }
-        
+
         return propertyClearFacet.clearProperty(this, ownerAdapter, interactionInitiatedBy);
     }
 
@@ -274,11 +274,11 @@ implements OneToOneAssociation {
             final ManagedObject ownerAdapter,
             final String searchArg,
             final InteractionInitiatedBy interactionInitiatedBy) {
-        
+
         final PropertyAutoCompleteFacet propertyAutoCompleteFacet = getFacet(PropertyAutoCompleteFacet.class);
         final Object[] pojoOptions = propertyAutoCompleteFacet
                 .autoComplete(ownerAdapter, searchArg, interactionInitiatedBy);
-        
+
         val adapters = _NullSafe.stream(pojoOptions)
                 .map(getObjectManager()::adapt)
                 .collect(Can.toCan());
@@ -300,9 +300,9 @@ implements OneToOneAssociation {
             final ManagedObject targetAdapter,
             final ManagedObject valueAdapterOrNull) {
 
-        setupCommand(targetAdapter, uniqueId -> 
+        setupCommand(targetAdapter, interactionId ->
             getCommandDtoFactory()
-                .asCommandDto(uniqueId, Can.ofSingleton(targetAdapter), this, valueAdapterOrNull));
+                .asCommandDto(interactionId, Can.ofSingleton(targetAdapter), this, valueAdapterOrNull));
     }
 
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_commandPublishing.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_commandPublishing.java
index 0fcaa0f..11d1c99 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_commandPublishing.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_commandPublishing.java
@@ -44,7 +44,7 @@ public class ActionAnnotationFacetFactoryTest_commandPublishing extends ActionAn
     }
 
     @Test
-    public void given_HasUniqueId_thenIgnored() {
+    public void given_HasInteractionId_thenIgnored() {
         // given
         final Method actionMethod = findMethod(SomeHasInteractionId.class, "someAction");
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_executionPublishing.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_executionPublishing.java
index b822d5b..219cae9 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_executionPublishing.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_executionPublishing.java
@@ -48,7 +48,7 @@ public class ActionAnnotationFacetFactoryTest_executionPublishing extends Action
     }
 
     @Test
-    public void given_HasUniqueId_thenIgnored() {
+    public void given_HasInteractionId_thenIgnored() {
 
         final Method actionMethod = findMethod(SomeHasInteractionId.class, "someAction");
 
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 00e485f..e799160 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
@@ -123,7 +123,7 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
         }
 
         @Test
-        public void ignore_HasUniqueId() {
+        public void ignore_HasInteractionId() {
 
             allowingEntityChangePublishingToReturn(PublishingPolicies.EntityChangePublishingPolicy.ALL);
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoFactoryDefault.java
index 9d22043..044b2ad 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandDtoFactoryDefault.java
@@ -72,12 +72,12 @@ public class CommandDtoFactoryDefault implements CommandDtoFactory {
 
     @Override
     public CommandDto asCommandDto(
-            final UUID uniqueId,
+            final UUID interactionId,
             final Can<ManagedObject> targetAdapters,
             final ObjectAction objectAction,
             final Can<ManagedObject> argAdapters) {
 
-        final CommandDto dto = asCommandDto(uniqueId, targetAdapters);
+        final CommandDto dto = asCommandDto(interactionId, targetAdapters);
 
         final ActionDto actionDto = new ActionDto();
         actionDto.setInteractionType(InteractionType.ACTION_INVOCATION);
@@ -90,12 +90,12 @@ public class CommandDtoFactoryDefault implements CommandDtoFactory {
 
     @Override
     public CommandDto asCommandDto(
-            final UUID uniqueId,
+            final UUID interactionId,
             final Can<ManagedObject> targetAdapters,
             final OneToOneAssociation property,
             final ManagedObject valueAdapterOrNull) {
 
-        final CommandDto dto = asCommandDto(uniqueId, targetAdapters);
+        final CommandDto dto = asCommandDto(interactionId, targetAdapters);
 
         final PropertyDto propertyDto = new PropertyDto();
         propertyDto.setInteractionType(InteractionType.PROPERTY_EDIT);
@@ -163,13 +163,13 @@ public class CommandDtoFactoryDefault implements CommandDtoFactory {
 
     // -- HELPER
 
-    private CommandDto asCommandDto(final UUID uniqueId, final Can<ManagedObject> targetAdapters) {
+    private CommandDto asCommandDto(final UUID interactionId, final Can<ManagedObject> targetAdapters) {
 
         val dto = new CommandDto();
         dto.setMajorVersion("2");
         dto.setMinorVersion("0");
 
-        dto.setTransactionId(uniqueId.toString());
+        dto.setInteractionId(interactionId.toString());
         dto.setUser(userService.currentUserNameElseNobody());
         dto.setTimestamp(clockService.getClock().xmlGregorianCalendar());
 
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
index adb0c42..6b7408f 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/command/CommandExecutorServiceDefault.java
@@ -180,7 +180,7 @@ public class CommandExecutorServiceDefault implements CommandExecutorService {
 
         log.info("Executing: {} {} {}",
                 dto.getMember().getLogicalMemberIdentifier(),
-                dto.getTimestamp(), dto.getTransactionId());
+                dto.getTimestamp(), dto.getInteractionId());
 
         final MemberDto memberDto = dto.getMember();
         final String memberId = memberDto.getMemberIdentifier();
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/queryresultscache/QueryResultsCacheDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/queryresultscache/QueryResultsCacheDefault.java
index 005b1f0..54af533 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/queryresultscache/QueryResultsCacheDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/queryresultscache/QueryResultsCacheDefault.java
@@ -31,12 +31,12 @@ import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.InteractionScope;
 import org.apache.isis.applib.annotation.OrderPrecedence;
-import org.apache.isis.applib.services.MethodReferences.Call0;
-import org.apache.isis.applib.services.MethodReferences.Call1;
-import org.apache.isis.applib.services.MethodReferences.Call2;
-import org.apache.isis.applib.services.MethodReferences.Call3;
-import org.apache.isis.applib.services.MethodReferences.Call4;
-import org.apache.isis.applib.services.MethodReferences.Call5;
+import org.apache.isis.applib.services.queryresultscache.MethodReferences.Call0;
+import org.apache.isis.applib.services.queryresultscache.MethodReferences.Call1;
+import org.apache.isis.applib.services.queryresultscache.MethodReferences.Call2;
+import org.apache.isis.applib.services.queryresultscache.MethodReferences.Call3;
+import org.apache.isis.applib.services.queryresultscache.MethodReferences.Call4;
+import org.apache.isis.applib.services.queryresultscache.MethodReferences.Call5;
 import org.apache.isis.applib.services.queryresultscache.QueryResultsCacheControl;
 import org.apache.isis.applib.services.queryresultscache.QueryResultsCache;
 import org.apache.isis.commons.internal.base._Casts;
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
index 220c8d0..b34d6c9 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault.java
@@ -357,7 +357,7 @@ public class WrapperFactoryDefault implements WrapperFactory {
         val interactionLayer = currentInteractionLayer();
         val asyncAuth = authFrom(asyncControl, interactionLayer.getAuthentication());
         val command = interactionContextProvider.get().currentInteractionElseFail().getCommand();
-        val commandUniqueId = command.getInteractionId();
+        val commandInteractionId = command.getInteractionId();
 
         val targetAdapter = memberAndTarget.getTarget();
         val method = memberAndTarget.getMethod();
@@ -370,12 +370,12 @@ public class WrapperFactoryDefault implements WrapperFactory {
             case ACTION:
                 val action = memberAndTarget.getAction();
                 commandDto = commandDtoFactory
-                        .asCommandDto(commandUniqueId, targetList, action, argAdapters);
+                        .asCommandDto(commandInteractionId, targetList, action, argAdapters);
                 break;
             case PROPERTY:
                 val property = memberAndTarget.getProperty();
                 commandDto = commandDtoFactory
-                        .asCommandDto(commandUniqueId, targetList, property, argAdapters.getElseFail(0));
+                        .asCommandDto(commandInteractionId, targetList, property, argAdapters.getElseFail(0));
                 break;
             default:
                 // shouldn't happen, already catered for this case previously
diff --git a/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/ChangingEntitiesFactory.java b/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/ChangingEntitiesFactory.java
index d09894a..4cce664 100644
--- a/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/ChangingEntitiesFactory.java
+++ b/core/transaction/src/main/java/org/apache/isis/core/transaction/changetracking/ChangingEntitiesFactory.java
@@ -84,16 +84,16 @@ class ChangingEntitiesFactory {
             final int numberEntityPropertiesModified,
             final Map<ManagedObject, EntityChangeKind> changeKindByEnlistedAdapter) {
 
-        val uniqueId = interaction.getInteractionId();
+        val interactionId = interaction.getInteractionId();
         final int nextEventSequence = interaction.next(SequenceType.TRANSACTION);
 
         return new SimpleChangingEntities(
-                    uniqueId, nextEventSequence,
+                    interactionId, nextEventSequence,
                     userName, completedAt,
                     numberEntitiesLoaded,
                     numberEntityPropertiesModified,
                     ()->newDto(
-                            uniqueId, nextEventSequence,
+                            interactionId, nextEventSequence,
                             userName, completedAt,
                             numberEntitiesLoaded,
                             numberEntityPropertiesModified,
@@ -101,7 +101,7 @@ class ChangingEntitiesFactory {
     }
 
     private static ChangesDto newDto(
-            final UUID uniqueId, final int nextEventSequence,
+            final UUID interactionId, final int transactionSequenceNum,
             final String userName, final java.sql.Timestamp completedAt,
             final int numberEntitiesLoaded,
             final int numberEntityPropertiesModified,
@@ -125,8 +125,8 @@ class ChangingEntitiesFactory {
         changesDto.setMajorVersion("2");
         changesDto.setMinorVersion("0");
 
-        changesDto.setTransactionId(uniqueId.toString());
-        changesDto.setSequence(nextEventSequence);
+        changesDto.setInteractionId(interactionId.toString());
+        changesDto.setSequence(transactionSequenceNum);
 
         changesDto.setUser(userName);
         changesDto.setCompletedAt(JavaSqlXMLGregorianCalendarMarshalling.toXMLGregorianCalendar(completedAt));
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java
index 61dd61a..0adf534 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/CommandSubscriberForJdo.java
@@ -57,7 +57,7 @@ public class CommandSubscriberForJdo implements CommandSubscriber {
         }
 
         val existingCommandJdoIfAny =
-                commandJdoRepository.findByUniqueId(command.getInteractionId());
+                commandJdoRepository.findByInteractionId(command.getInteractionId());
         if(existingCommandJdoIfAny.isPresent()) {
             if(log.isDebugEnabled()) {
                 // this isn't expected to happen ... we just log the fact if it does
@@ -75,7 +75,7 @@ public class CommandSubscriberForJdo implements CommandSubscriber {
             val parentJdo =
                 parent != null
                     ? commandJdoRepository
-                        .findByUniqueId(parent.getInteractionId())
+                        .findByInteractionId(parent.getInteractionId())
                         .orElse(null)
                     : null;
             commandJdo.setParent(parentJdo);
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
index dfaf900..ea1b6b5 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.java
@@ -84,10 +84,10 @@ import lombok.val;
         table = "Command")
 @javax.jdo.annotations.Queries( {
     @javax.jdo.annotations.Query(
-            name="findByUniqueIdStr",
+            name="findByInteractionIdStr",
             value="SELECT "
                     + "FROM org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo "
-                    + "WHERE uniqueIdStr == :uniqueIdStr "),
+                    + "WHERE interactionIdStr == :interactionIdStr "),
     @javax.jdo.annotations.Query(
             name="findByParent",
             value="SELECT "
@@ -110,7 +110,7 @@ import lombok.val;
             value="SELECT "
                     + "FROM org.apache.isis.extensions.commandlog.impl.jdo.CommandJdo "
                     + "WHERE target == :target "
-                    + "ORDER BY this.timestamp DESC, uniqueIdStr DESC "
+                    + "ORDER BY this.timestamp DESC "
                     + "RANGE 0,30"),
     @javax.jdo.annotations.Query(
             name="findByTargetAndTimestampBetween",
@@ -273,7 +273,7 @@ public class CommandJdo
      */
     public CommandJdo(final Command command) {
 
-        setUniqueIdStr(command.getInteractionId().toString());
+        setInteractionIdStr(command.getInteractionId().toString());
         setUsername(command.getUsername());
         setTimestamp(command.getTimestamp());
 
@@ -303,7 +303,7 @@ public class CommandJdo
             final ReplayState replayState,
             final int targetIndex) {
 
-        setUniqueIdStr(commandDto.getTransactionId());
+        setInteractionIdStr(commandDto.getInteractionId());
         setUsername(commandDto.getUser());
         setTimestamp(JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(commandDto.getTimestamp()));
 
@@ -360,7 +360,7 @@ public class CommandJdo
     }
 
 
-    public static class UniqueIdDomainEvent extends PropertyDomainEvent<String> { }
+    public static class InteractionIdDomainEvent extends PropertyDomainEvent<String> { }
     /**
      * Implementation note: persisted as a string rather than a UUID as fails
      * to persist if using h2 (perhaps would need to be mapped differently).
@@ -368,13 +368,13 @@ public class CommandJdo
      */
     @javax.jdo.annotations.PrimaryKey
     @javax.jdo.annotations.Persistent
-    @javax.jdo.annotations.Column(allowsNull="false", name = "uniqueId", length = 36)
-    @Property(domainEvent = UniqueIdDomainEvent.class)
-    @PropertyLayout(named = "UniqueId")
+    @javax.jdo.annotations.Column(allowsNull="false", name = "interactionId", length = 36)
+    @Property(domainEvent = InteractionIdDomainEvent.class)
+    @PropertyLayout(named = "Interaction Id")
     @Getter @Setter
-    private String uniqueIdStr;
+    private String interactionIdStr;
     @Programmatic
-    public UUID getInteractionId() {return UUID.fromString(getUniqueIdStr());}
+    public UUID getInteractionId() {return UUID.fromString(getInteractionIdStr());}
 
 
     public static class UsernameDomainEvent extends PropertyDomainEvent<String> { }
@@ -594,7 +594,7 @@ public class CommandJdo
     @Override
     public String toString() {
         return ObjectContracts
-                .toString("uniqueId", CommandJdo::getInteractionId)
+                .toString("interactionId", CommandJdo::getInteractionId)
                 .thenToString("username", CommandJdo::getUsername)
                 .thenToString("timestamp", CommandJdo::getTimestamp)
                 .thenToString("target", CommandJdo::getTarget)
@@ -653,7 +653,7 @@ public class CommandJdo
 
         private List<String> ordered(List<String> propertyIds) {
             return Arrays.asList(
-                "timestamp", "target", "targetMember", "username", "complete", "resultSummary", "uniqueIdStr"
+                "timestamp", "target", "targetMember", "username", "complete", "resultSummary", "interactionIdStr"
             );
         }
     }
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.layout.fallback.xml b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.layout.fallback.xml
index 65ab586..8f7e26a 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.layout.fallback.xml
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdo.layout.fallback.xml
@@ -34,7 +34,7 @@
                         <cpt:action id="downloadJdoMetadata" position="PANEL_DROPDOWN"/>
                         <cpt:action id="openRestApi" position="PANEL_DROPDOWN"/>
                         <cpt:property id="type"/>
-                        <cpt:property id="uniqueIdStr"/>
+                        <cpt:property id="interactionIdStr"/>
                         <cpt:property id="logicalMemberIdentifier"/>
                     </cpt:fieldSet>
                     <cpt:fieldSet name="Who and When">
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdoRepository.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdoRepository.java
index 23a5d4a..623e4e8 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdoRepository.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/jdo/CommandJdoRepository.java
@@ -100,10 +100,10 @@ public class CommandJdoRepository {
     }
 
 
-    public Optional<CommandJdo> findByUniqueId(final UUID uniqueId) {
+    public Optional<CommandJdo> findByInteractionId(final UUID interactionId) {
         return repositoryService().firstMatch(
-                Query.named(CommandJdo.class, "findByUniqueIdStr")
-                    .withParameter("uniqueIdStr", uniqueId.toString()));
+                Query.named(CommandJdo.class, "findByInteractionIdStr")
+                    .withParameter("interactionIdStr", interactionId.toString()));
     }
 
     public List<CommandJdo> findByParent(final CommandJdo parent) {
@@ -189,10 +189,10 @@ public class CommandJdoRepository {
      * the application.
      *
      * This finder returns all (completed) {@link CommandJdo}s started after
-     * the command with the specified uniqueId.  The number of commands
+     * the command with the specified interactionId.  The number of commands
      * returned can be limited so that they can be applied in batches.
      *
-     * If the provided uniqueId is null, then only a single
+     * If the provided interactionId is null, then only a single
      * {@link CommandJdo command} is returned.  This is intended to support
      * the case when the secondary does not yet have any
      * {@link CommandJdo command}s replicated.  In practice this is unlikely;
@@ -201,24 +201,24 @@ public class CommandJdoRepository {
      * case there will already be a {@link CommandJdo command} representing the
      * current high water mark on the secondary system.
      *
-     * If the unique id is not null but the corresponding
+     * If the interactionid is not null but the corresponding
      * {@link CommandJdo command} is not found, then <tt>null</tt> is returned.
      * In the replay scenario the caller will probably interpret this as an
      * error because it means that the high water mark on the secondary is
      * inaccurate, referring to a non-existent {@link CommandJdo command} on
      * the primary.
      *
-     * @param uniqueId - the identifier of the {@link CommandJdo command} being
+     * @param interactionId - the identifier of the {@link CommandJdo command} being
      *                   the replay hwm (using {@link #findMostRecentReplayed()} on the
      *                   secondary), or null if no HWM was found there.
      * @param batchSize - to restrict the number returned (so that replay
      *                   commands can be batched).
      */
-    public List<CommandJdo> findSince(final UUID uniqueId, final Integer batchSize) {
-        if(uniqueId == null) {
+    public List<CommandJdo> findSince(final UUID interactionId, final Integer batchSize) {
+        if(interactionId == null) {
             return findFirst();
         }
-        final CommandJdo from = findByUniqueIdElseNull(uniqueId);
+        final CommandJdo from = findByInteractionIdElseNull(interactionId);
         if(from == null) {
             return Collections.emptyList();
         }
@@ -234,13 +234,13 @@ public class CommandJdoRepository {
     }
 
 
-    private CommandJdo findByUniqueIdElseNull(final UUID uniqueId) {
+    private CommandJdo findByInteractionIdElseNull(final UUID interactionId) {
         val tsq = jdoSupport.newTypesafeQuery(CommandJdo.class);
         val cand = QCommandJdo.candidate();
         val q = tsq.filter(
-                cand.uniqueIdStr.eq(tsq.parameter("uniqueIdStr", String.class))
+                cand.interactionIdStr.eq(tsq.parameter("interactionIdStr", String.class))
         );
-        q.setParameter("uniqueIdStr", uniqueId.toString());
+        q.setParameter("interactionIdStr", interactionId.toString());
         return q.executeUnique();
     }
 
@@ -333,7 +333,7 @@ public class CommandJdoRepository {
 
         final CommandJdo commandJdo = new CommandJdo();
 
-        commandJdo.setUniqueIdStr(dto.getTransactionId());
+        commandJdo.setInteractionIdStr(dto.getInteractionId());
         commandJdo.setTimestamp(JavaSqlXMLGregorianCalendarMarshalling.toTimestamp(dto.getTimestamp()));
         commandJdo.setUsername(dto.getUser());
 
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasInteractionId_command.java
similarity index 89%
rename from extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java
rename to extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasInteractionId_command.java
index 5fa9843..ecdbed2 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasUniqueId_command.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/mixins/HasInteractionId_command.java
@@ -41,20 +41,20 @@ import org.apache.isis.extensions.commandlog.impl.jdo.CommandJdoRepository;
  */
 @Action(
     semantics = SemanticsOf.SAFE
-    , domainEvent = HasUniqueId_command.ActionDomainEvent.class
+    , domainEvent = HasInteractionId_command.ActionDomainEvent.class
 )
-public class HasUniqueId_command {
+public class HasInteractionId_command {
 
     public static class ActionDomainEvent
-            extends IsisModuleExtCommandLogImpl.ActionDomainEvent<HasUniqueId_command> { }
+            extends IsisModuleExtCommandLogImpl.ActionDomainEvent<HasInteractionId_command> { }
 
     private final HasInteractionId hasInteractionId;
-    public HasUniqueId_command(final HasInteractionId hasInteractionId) {
+    public HasInteractionId_command(final HasInteractionId hasInteractionId) {
         this.hasInteractionId = hasInteractionId;
     }
 
 
-    @MemberOrder(name="transactionId", sequence="1")
+    @MemberOrder(name="interactionId", sequence="1")
     public CommandJdo act() {
         return findCommand();
     }
@@ -72,7 +72,7 @@ public class HasUniqueId_command {
     private CommandJdo findCommand() {
         final UUID transactionId = hasInteractionId.getInteractionId();
         return commandServiceRepository
-                .findByUniqueId(transactionId)
+                .findByInteractionId(transactionId)
                 .orElse(null);
     }
 
diff --git a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
index eeee395..d063d75 100644
--- a/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
+++ b/extensions/core/command-log/impl/src/main/java/org/apache/isis/extensions/commandlog/impl/ui/CommandServiceMenu.java
@@ -122,7 +122,7 @@ public class CommandServiceMenu {
     public CommandJdo findCommandById(
             @ParameterLayout(named="Transaction Id")
             final UUID transactionId) {
-        return commandServiceRepository.findByUniqueId(transactionId).orElse(null);
+        return commandServiceRepository.findByInteractionId(transactionId).orElse(null);
     }
     public boolean hideFindCommandById() {
         return commandServiceRepository == null;
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java
index c1c8525..5a17174 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/restapi/CommandRetrievalService.java
@@ -59,10 +59,10 @@ public class CommandRetrievalService {
     public static class NotFoundException extends RecoverableException {
         private static final long serialVersionUID = 1L;
         @Getter
-        private final UUID uniqueId;
-        public NotFoundException(final UUID uniqueId) {
+        private final UUID interactionId;
+        public NotFoundException(final UUID interactionId) {
             super("Command not found");
-            this.uniqueId = uniqueId;
+            this.interactionId = interactionId;
         }
     }
 
@@ -70,22 +70,22 @@ public class CommandRetrievalService {
      * These actions should be called with HTTP Accept Header set to:
      * <code>application/xml;profile="urn:org.restfulobjects:repr-types/action-result";x-ro-domain-type="org.apache.isis.schema.cmd.v1.CommandsDto"</code>
      *
-     * @param uniqueId - to search from.  This transactionId will <i>not</i> be included in the response.
+     * @param interactionId - to search from.  This interactionId will <i>not</i> be included in the response.
      * @param batchSize - the maximum number of commands to return.  If not specified, all found will be returned.
      * @throws NotFoundException - if the command with specified transaction cannot be found.
      */
     @Action(domainEvent = FindCommandsOnPrimaryFromDomainEvent.class, semantics = SemanticsOf.SAFE)
     public List<CommandJdo> findCommandsOnPrimaryFrom(
             @Nullable
-            @ParameterLayout(named="Unique Id")
-            final UUID uniqueId,
+            @ParameterLayout(named="Interaction Id")
+            final UUID interactionId,
             @Nullable
             @ParameterLayout(named="Batch size")
             final Integer batchSize)
             throws NotFoundException {
-        final List<CommandJdo> commands = commandServiceRepository.findSince(uniqueId, batchSize);
+        final List<CommandJdo> commands = commandServiceRepository.findSince(interactionId, batchSize);
         if(commands == null) {
-            throw new NotFoundException(uniqueId);
+            throw new NotFoundException(interactionId);
         }
         return commands;
     }
diff --git a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java
index 54dbd6a..3d49a37 100644
--- a/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java
+++ b/extensions/core/command-replay/primary/src/main/java/org/apache/isis/extensions/commandreplay/primary/ui/CommandReplayOnPrimaryService.java
@@ -82,10 +82,10 @@ public class CommandReplayOnPrimaryService {
     public static class NotFoundException extends RecoverableException {
         private static final long serialVersionUID = 1L;
         @Getter
-        private final UUID uniqueId;
-        public NotFoundException(final UUID uniqueId) {
+        private final UUID interactionId;
+        public NotFoundException(final UUID interactionId) {
             super("Command not found");
-            this.uniqueId = uniqueId;
+            this.interactionId = interactionId;
         }
     }
 
@@ -93,7 +93,7 @@ public class CommandReplayOnPrimaryService {
      * These actions should be called with HTTP Accept Header set to:
      * <code>application/xml;profile="urn:org.restfulobjects:repr-types/action-result";x-ro-domain-type="org.apache.isis.schema.cmd.v1.CommandsDto"</code>
      *
-     * @param uniqueId - to search from.  This transactionId will <i>not</i> be included in the response.
+     * @param interactionId - to search from.  This transactionId will <i>not</i> be included in the response.
      * @param batchSize - the maximum number of commands to return.  If not specified, all found will be returned.
      * @throws NotFoundException - if the command with specified transaction cannot be found.
      */
@@ -102,13 +102,13 @@ public class CommandReplayOnPrimaryService {
     @MemberOrder(sequence="40")
     public List<CommandJdo> findCommands(
             @Nullable
-            @ParameterLayout(named="Unique Id")
-            final UUID uniqueId,
+            @ParameterLayout(named="Interaction Id")
+            final UUID interactionId,
             @Nullable
             @ParameterLayout(named="Batch size")
             final Integer batchSize)
             throws NotFoundException {
-        return commandRetrievalService.findCommandsOnPrimaryFrom(uniqueId, batchSize);
+        return commandRetrievalService.findCommandsOnPrimaryFrom(interactionId, batchSize);
     }
     public Integer default1FindCommandsOnPrimaryFrom() {
         return commandRetrievalService.default1FindCommandsOnPrimaryFrom();
@@ -121,7 +121,7 @@ public class CommandReplayOnPrimaryService {
      * These actions should be called with HTTP Accept Header set to:
      * <code>application/xml;profile="urn:org.restfulobjects:repr-types/action-result";x-ro-domain-type="org.apache.isis.schema.cmd.v1.CommandsDto"</code>
      *
-     * @param uniqueId - to search from.  This transactionId will <i>not</i> be included in the response.
+     * @param interactionId - to search from.  This transactionId will <i>not</i> be included in the response.
      * @param batchSize - the maximum number of commands to return.  If not specified, all found will be returned.
      * @throws NotFoundException - if the command with specified transaction cannot be found.
      */
@@ -130,11 +130,11 @@ public class CommandReplayOnPrimaryService {
     @MemberOrder(sequence="50")
     public Clob downloadCommands(
             @Nullable
-            final UUID uniqueId,
+            final UUID interactionId,
             @Nullable
             final Integer batchSize,
             final String filenamePrefix) {
-        final List<CommandJdo> commands = commandServiceRepository.findSince(uniqueId, batchSize);
+        final List<CommandJdo> commands = commandServiceRepository.findSince(interactionId, batchSize);
         if(commands == null) {
             messageService.informUser("No commands found");
         }
@@ -143,7 +143,7 @@ public class CommandReplayOnPrimaryService {
                 contentMappingServiceForCommandsDto.map(commands);
 
         final String fileName = String.format(
-                "%s_%s.xml", filenamePrefix, elseDefault(uniqueId));
+                "%s_%s.xml", filenamePrefix, elseDefault(interactionId));
 
         final String xml = jaxbService.toXml(commandsDto);
         return new Clob(fileName, "application/xml", xml);
@@ -162,23 +162,23 @@ public class CommandReplayOnPrimaryService {
      * This action should be called with HTTP Accept Header set to:
      * <code>application/xml;profile="urn:org.restfulobjects:repr-types/action-result";x-ro-domain-type="org.apache.isis.schema.cmd.v1.CommandDto"</code>
      *
-     * @param uniqueId - to download.
+     * @param interactionId - to download.
      * @throws NotFoundException - if the command with specified transaction cannot be found.
      */
     @Action(domainEvent = DownloadCommandByIdDomainEvent.class, semantics = SemanticsOf.SAFE)
     @ActionLayout(cssClassFa = "fa-download")
     @MemberOrder(sequence="50")
     public Clob downloadCommandById(
-            final UUID uniqueId,
+            final UUID interactionId,
             final String filenamePrefix) {
 
-        return commandServiceRepository.findByUniqueId(uniqueId)
+        return commandServiceRepository.findByInteractionId(interactionId)
                 .map(commandJdo -> {
 
                     final CommandDto commandDto = commandJdo.getCommandDto();
 
                     final String fileName = String.format(
-                            "%s_%s.xml", filenamePrefix, elseDefault(uniqueId));
+                            "%s_%s.xml", filenamePrefix, elseDefault(interactionId));
 
                     final String xml = jaxbService.toXml(commandDto);
                     return new Clob(fileName, "application/xml", xml);
diff --git a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java
index 6f1b820..c2bb972 100644
--- a/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java
+++ b/extensions/core/command-replay/secondary/src/main/java/org/apache/isis/extensions/commandreplay/secondary/fetch/CommandFetcher.java
@@ -105,12 +105,12 @@ public class CommandFetcher {
     }
 
 
-    private URI buildUri(final UUID uniqueId) {
+    private URI buildUri(final UUID interactionId) {
         final UriBuilder uriBuilder = UriBuilder.fromUri(
-                uniqueId != null
+                interactionId != null
                         ? String.format(
-                            "%s%s?uniqueId=%s&batchSize=%d",
-                            secondaryConfig.getPrimaryBaseUrlRestful(), URL_SUFFIX, uniqueId, secondaryConfig.getBatchSize())
+                            "%s%s?interactionId=%s&batchSize=%d",
+                            secondaryConfig.getPrimaryBaseUrlRestful(), URL_SUFFIX, interactionId, secondaryConfig.getBatchSize())
                         : String.format(
                             "%s%s?batchSize=%d",
                             secondaryConfig.getPrimaryBaseUrlRestful(), URL_SUFFIX, secondaryConfig.getBatchSize())
diff --git a/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc b/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc
index 7f48744..568cbc5 100644
--- a/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc
+++ b/extensions/security/audit-trail/adoc/modules/audit-trail/pages/about.adoc
@@ -15,7 +15,7 @@ The module also provides:
 * `AuditingServiceRepository` service to to search for persisted `AuditEntry``s.
 None of its actions are visible in the user interface (they are all `@Programmatic`).
 
-* `AuditingServiceContributions` which contributes collections to the xref:refguide:applib-classes:mixins.adoc[HasUniqueId] interface.
+* `AuditingServiceContributions` which contributes collections to the xref:refguide:applib-classes:mixins.adoc[HasInteractionId] interface.
 This will therefore display all audit entries that occurred in a given request/transaction, in other words whenever a command, a published event or another audit entry is displayed.
 
 These services can be activated by updating the `pom.xml` and updating the `AppManifest#getModules()` method.
diff --git a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/main/UiBuilderFx.java b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/main/UiBuilderFx.java
index 41ddab9..6996e24 100644
--- a/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/main/UiBuilderFx.java
+++ b/incubator/viewers/javafx/ui/src/main/java/org/apache/isis/incubator/viewer/javafx/ui/main/UiBuilderFx.java
@@ -45,7 +45,7 @@ import lombok.extern.log4j.Log4j2;
 @RequiredArgsConstructor(onConstructor_ = {@Inject})
 @Log4j2
 public class UiBuilderFx implements InteractionScopeAware {
-    
+
     private final ApplicationContext springContext;
     private final JavaFxViewerConfig viewerConfig;
 
@@ -70,32 +70,32 @@ public class UiBuilderFx implements InteractionScopeAware {
     public void beforeEnteringTransactionalBoundary(InteractionSession interactionSession) {
         //TODO this would be the place to indicate to the user, that a long running task has started
         //scene.getRoot().cursorProperty().set(Cursor.WAIT);
-        _Probe.errOut("Interaction HAS_STARTED conversationId=%s", interactionSession.getUniqueId());
+        _Probe.errOut("Interaction HAS_STARTED conversationId=%s", interactionSession.getInteractionId());
     }
-    
+
     @Override
     public void afterLeavingTransactionalBoundary(InteractionSession interactionSession) {
         //TODO this would be the place to indicate to the user, that a long running task has ended
         //scene.getRoot().cursorProperty().set(Cursor.DEFAULT);
-        _Probe.errOut("Interaction IS_ENDING conversationId=%s", interactionSession.getUniqueId());
+        _Probe.errOut("Interaction IS_ENDING interactionId=%s", interactionSession.getInteractionId());
     }
-    
+
     // -- HELPER
-        
+
     private void setupTitle(Stage stage) {
         val title = Optional.ofNullable(viewerConfig.getApplicationTitle())
                 .orElse("Unknonw Title");
         stage.setTitle(title);
     }
-    
+
     private void setupIcon(Stage stage) {
         val icon = viewerConfig.getApplicationIcon();
         if(icon==null) {
-            return; 
+            return;
         }
         stage.getIcons().add(icon);
     }
-    
-    
+
+
 
 }
diff --git a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoCommandPublishingTest.java b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoCommandPublishingTest.java
index 165d844..a57c0f7 100644
--- a/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoCommandPublishingTest.java
+++ b/regressiontests/incubating/src/test/java/org/apache/isis/testdomain/applayer/publishing/jdo/JdoCommandPublishingTest.java
@@ -51,7 +51,7 @@ import lombok.val;
                 Configuration_usingJdo.class,
                 Configuration_usingCommandPublishing.class,
                 ApplicationLayerTestFactory.class
-        }, 
+        },
         properties = {
                 "logging.level.org.apache.isis.persistence.jdo.datanucleus5.persistence.IsisTransactionJdo=DEBUG",
                 "logging.level.org.apache.isis.core.runtimeservices.session.IsisInteractionFactoryDefault=DEBUG",
@@ -73,40 +73,40 @@ class JdoCommandPublishingTest extends IsisIntegrationTestAbstract {
     private void given() {
         CommandSubscriberForTesting.clearPublishedCommands(kvStore);
     }
-    
+
     private void verify(VerificationStage verificationStage) {
         switch(verificationStage) {
-        
+
         case FAILURE_CASE:
             assertHasCommandEntries(Can.empty());
             break;
         case POST_INTERACTION:
-        
-            
+
+
 //            Interaction interaction = null;
 //            String propertyId = "org.apache.isis.testdomain.jdo.entities.JdoBook#name";
 //            Object target = null;
 //            Object argValue = "Book #2";
 //            String targetMemberName = "name???";
 //            String targetClass = "org.apache.isis.testdomain.jdo.entities.JdoBook";
-            
+
             val propertyDto = new PropertyDto();
             propertyDto.setLogicalMemberIdentifier("testdomain.jdo.Book#name");
-            
+
             val command = new Command(UUID.randomUUID());
             val commandDto = new CommandDto();
-            commandDto.setTransactionId(command.getUniqueId().toString());
+            commandDto.setInteractionId(command.getInteractionId().toString());
             commandDto.setMember(propertyDto);
 
             command.updater().setCommandDto(commandDto);
-            
+
             assertHasCommandEntries(Can.of(command));
             break;
         default:
             // ignore ... no checks
         }
     }
-    
+
     // -- HELPER
 
     private void assertHasCommandEntries(Can<Command> expectedCommands) {
@@ -114,19 +114,19 @@ class JdoCommandPublishingTest extends IsisIntegrationTestAbstract {
         CollectionAssertions.assertComponentWiseEquals(
                 expectedCommands, actualCommands, this::commandDifference);
     }
-    
+
     private String commandDifference(Command a, Command b) {
         if(!Objects.equals(a.getLogicalMemberIdentifier(), b.getLogicalMemberIdentifier())) {
-            return String.format("differing member identifier %s != %s", 
+            return String.format("differing member identifier %s != %s",
                     a.getLogicalMemberIdentifier(), b.getLogicalMemberIdentifier());
         }
         if(!Objects.equals(a.getResult(), b.getResult())) {
-            return String.format("differing results %s != %s", 
+            return String.format("differing results %s != %s",
                     a.getResult(), b.getResult());
         }
         return null; // no difference
     }
-    
+
 
 
 }