Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into 3049-ui-bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
andi-huber committed Jun 1, 2022
2 parents fe0bf9d + 16262c9 commit 9febe64
Show file tree
Hide file tree
Showing 810 changed files with 10,454 additions and 6,963 deletions.
Expand Up @@ -12,13 +12,13 @@ The main uses cases are:

* as a means to audit (persist) commands, by implementing the xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] SPI.
+
The xref:userguide:command-log:about.adoc[Command Log] extension _does_ provide such an implementation.
The xref:userguide:commandlog:about.adoc[Command Log] extension _does_ provide such an implementation.
+
TIP: Another option to achieve this is to use the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI.

* to replay commands onto a secondary system, for regression testing.
+
This is implemented by the xref:userguide:command-replay:about.adoc[Command Replay] extension, working in conjunction with the xref:userguide:command-log:about.adoc[Command Log] extension.
This is implemented by the xref:userguide:commandreplay:about.adoc[Command Replay] extension, working in conjunction with the xref:userguide:commandlog:about.adoc[Command Log] extension.

The xref:refguide:applib:index/annotation/Action.adoc#commandPublishing[commandPublishing()] element can be used to explicitly enable or disable command publishing for the action invocation.

Expand Down
Expand Up @@ -8,11 +8,11 @@
+
for actions where command publishing (as per xref:refguide:applib:index/annotation/Action.adoc#commandPublishing[@Action#commandPublishing()]) is enabled

** xref:userguide:command-log:about.adoc[Command Log] extension
** xref:userguide:commandlog:about.adoc[Command Log] extension
+
provides an implementation that simply logs actions using the logging library

** xref:userguide:command-replay:about.adoc[Command Replay] extension
** xref:userguide:commandreplay:about.adoc[Command Replay] extension
+
provides an implementation to replicate commands from a primary to a secondary system.
+
Expand Down
Expand Up @@ -12,13 +12,13 @@ The main uses cases are:

* as a means to audit (persist) commands, by implementing the xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] SPI.
+
The xref:userguide:command-log:about.adoc[Command Log] extension _does_ provide such an implementation.
The xref:userguide:commandlog:about.adoc[Command Log] extension _does_ provide such an implementation.
+
TIP: Another option to achieve this is to use the xref:refguide:applib:index/services/publishing/spi/ExecutionSubscriber.adoc[ExecutionSubscriber] SPI.

* to replay commands onto a secondary system, for regression testing.
+
This is implemented by the xref:userguide:command-replay:about.adoc[Command Replay] extension, working in conjunction with the xref:userguide:command-log:about.adoc[Command Log] extension.
This is implemented by the xref:userguide:commandreplay:about.adoc[Command Replay] extension, working in conjunction with the xref:userguide:commandlog:about.adoc[Command Log] extension.

The xref:refguide:applib:index/annotation/Property.adoc#commandPublishing[commandPublishing()] element can be used to explicitly enable or disable command publishing for the property edit.

Expand Down
Expand Up @@ -7,8 +7,8 @@

Some of the extension/mapping modules that have entities that implement this mixee are:

* xref:security:audit-trail:about.adoc[Auditer] module: `AuditEntry` entity
* xref:userguide:command-log:about.adoc[Command Log] module: `CommandJdo` entity
* xref:security:audittrail:about.adoc[Auditer] module: `AuditEntry` entity
* xref:userguide:commandlog:about.adoc[Command Log] module: `CommandJdo` entity
* xref:mappings:outbox-publisher:about.adoc[Outbox Publisher] module: `OutboxEvent` entity


Expand Up @@ -8,11 +8,11 @@
The `CommandExecutorService` domain service is provides the ability to execute a specified xref:refguide:applib:index/services/command/Command.adoc[Command], optionally running the command with the identity of the user captured in that xref:refguide:applib:index/services/command/Command.adoc[Command].


// TODO - v2 this is out of date; reference the command-replay service, now part of framework.
// TODO - v2 this is out of date; reference the commandreplay service, now part of framework.

//In fact, the service requires that the implementation of the xref:refguide:applib:index/services/command/Command.adoc[Command] being executed implements the `CommandWithDto` sub-interface.
//This allows the xref:refguide:schema:cmd.adoc[CommandDto] memento to be extracted, from which the action can be invoked/property edited.
//
//The primary use case for this service is to allow the replay of commands, eg for regression testing.
//This is implemented by the (non-ASF) link:https://platform.incode.org/modules/spi/command/spi-command-replay.html[command replay module].
//This is implemented by the (non-ASF) link:https://platform.incode.org/modules/spi/command/spi-commandreplay.html[command replay module].
//(The command replay module also provides a decorator implementation of this service that allows the command to be re-executed at the same _time_ as the original command, leveraging the `TickingClock` implementation provided by the framework).
Expand Up @@ -5,12 +5,12 @@
== Usage

Having a DTO representation of xref:refguide:applib:index/services/command/Command.adoc[Command]s (or more precisely, any object implementing `HasCommandDto` offers the ability to move or copy it across the network, for example to support replay scenarios.
This is used for example by xref:userguide:command-log:about.adoc[Command Log] extension to return persisted representations of commands.
This is used for example by xref:userguide:commandlog:about.adoc[Command Log] extension to return persisted representations of commands.
The conversion is performed by an in-built implementation of the xref:refguide:applib:index/services/conmap/ContentMappingService.adoc[ContentMappingService] SPI.

The `CommandDtoProcessorService` SPI provides a mechanism to post-process the `CommandDto` of any objects being serialized across the network.

For example, the xref:userguide:command-replay:about.adoc[Command Replay] extension provides an implementation in order to copy information about the outcome of each command on the primary system into the `userData` map of `CommandDto`.
For example, the xref:userguide:commandreplay:about.adoc[Command Replay] extension provides an implementation in order to copy information about the outcome of each command on the primary system into the `userData` map of `CommandDto`.
Another use case is to strip out large blobs for performance reasons.


Expand Down
Expand Up @@ -6,7 +6,7 @@
== Implementation

The framework provides two implementations of this service, both to allow objects implementing `HasCommandDto` to be converted into serializable ``CommandDto``s, in other words XML.
This is used by the xref:userguide:command-log:about.adoc[Command Log] and xref:userguide:command-replay:about.adoc[Command Replay] extensions to allow commands to be replicated from a primary to secondary system, for regression testing.
This is used by the xref:userguide:commandlog:about.adoc[Command Log] and xref:userguide:commandreplay:about.adoc[Command Replay] extensions to allow commands to be replicated from a primary to secondary system, for regression testing.

The implementations are:

Expand Down
@@ -1,7 +1,7 @@
= IsisModuleExtCommandReplayPrimary
: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Activates with _Spring profile_ 'command-replay-primary'.
Activates with _Spring profile_ 'commandreplay-primary'.

== API

Expand Down
@@ -1,7 +1,7 @@
= IsisModuleExtCommandReplaySecondary
: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 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Activates with _Spring profile_ 'command-replay-secondary'.
Activates with _Spring profile_ 'commandreplay-secondary'.

== API

Expand Down
Expand Up @@ -89,7 +89,7 @@ Mixins that contribute to this mixee interface include:

* xref:refguide:extensions:index/commandlog/impl/mixins/HasInteractionId_command.adoc[HasInteractionId_command]
+
from xref:userguide:command-log:about.adoc[Comman Log] module.
from xref:userguide:commandlog:about.adoc[Comman Log] module.


The closely related xref:refguide:applib:index/mixins/system/HasTransactionId.adoc[HasTransactionId] (a subtype of xref:refguide:applib:index/mixins/system/HasInteractionId.adoc[HasInteractionId]) can be implemented by any domain objects associated with a particular transaction within the outer xref:refguide:applib:index/services/iactn/Interaction.adoc[Interaction].
Expand Down
Expand Up @@ -35,8 +35,8 @@ public interface HasUsername {
Some of the extension/mapping modules that have domain entity/ies that implement this interface are:

* xref:security:ROOT:about.adoc[SecMan extension]: `ApplicationUser` entity
* xref:security:audit-trail:about.adoc[Auditer] module: `AuditEntry` entity
* xref:userguide:command-log:about.adoc[Command Log] module: `CommandJdo` entity
* xref:security:session-log:about.adoc[Session Log] module: `SessionLogEntry` entity
* xref:security:audittrail:about.adoc[Auditer] module: `AuditEntry` entity
* xref:userguide:commandlog:about.adoc[Command Log] module: `CommandJdo` entity
* xref:security:sessionlog:about.adoc[Session Log] module: `SessionLogEntry` entity
* xref:subdomains:settings:about.adoc[Settings] module: `UserSettingJdo` entity

Expand Up @@ -179,7 +179,7 @@ Note that it's possible for there to be more than one transaction per top-level
* At the end of the entire interaction footnote:[although rare, there can be multiple transactions in a single interaction], details of the top-level xref:refguide:applib:index/services/command/Command.adoc[Command] are sent to each xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber].
This captures whether the command succeeded or failed.
+
The xref:userguide:command-log:about.adoc[Command Log] extension uses this to persist a log of commands, for auditing or to support regression testing with the xref:userguide:command-replay:about.adoc[Command Replay] extension.
The xref:userguide:commandlog:about.adoc[Command Log] extension uses this to persist a log of commands, for auditing or to support regression testing with the xref:userguide:commandreplay:about.adoc[Command Replay] extension.


Implementations of xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber] can use the `Command#getMemento()` method to obtain a XML equivalent of that xref:refguide:applib:index/services/command/Command.adoc[Command], reified using the xref:refguide:schema:cmd.adoc[cmd.xsd] schema.
Expand Down
Expand Up @@ -20,13 +20,13 @@ The integration SPIs allow the framework to automate the exchange of data betwee

|xref:refguide:applib:index/services/command/CommandExecutorService.adoc[CommandExecutorService]
|Service used to execute commands.
One use case is to replay commands from a primary onto a secondary (see xref:userguide:command-replay:about.adoc[Command Replay] ; another is in support of async commands (using
One use case is to replay commands from a primary onto a secondary (see xref:userguide:commandreplay:about.adoc[Command Replay] ; another is in support of async commands (using
xref:refguide:applib:index/services/wrapper/WrapperFactory.adoc[WrapperFactory] ).


|xref:refguide:applib:index/services/publishing/spi/CommandSubscriber.adoc[CommandSubscriber]
|SPI to allow commands to be processed on completion.
The xref:userguide:command-log:about.adoc[Command Log] extension implements the SPI in order to persists commands for audit or replay.
The xref:userguide:commandlog:about.adoc[Command Log] extension implements the SPI in order to persists commands for audit or replay.


|xref:refguide:applib:index/services/publishing/spi/EntityChangesSubscriber.adoc[EntityChangesSubscriber]
Expand Down
Expand Up @@ -26,7 +26,7 @@ TIP: see also the xref:security:ROOT:about.adoc[Security Guide].
|xref:refguide:applib:index/services/session/SessionLoggingService.adoc[SessionLoggingService]
|Records each login and logout by end-users.

* xref:security:session-log:about.adoc[Session Log +
* xref:security:sessionlog:about.adoc[Session Log +
(Security Guide)]
|xref:refguide:applib:index/services/userreg/UserRegistrationService.adoc[UserRegistrationService]
Expand Down
Expand Up @@ -13,7 +13,7 @@ The release includes support for a new (additional) link:https://cwiki.apache.or
On the flip side, support for contributed actions from domain services has been removed; use xref:refguide:applib-classes:mixins.adoc[Mixins]instead.

This release also has a reworking/simplification of the command service and background commands.
This includes new extension modules to persist commands (xref:userguide:command-log:about.adoc[Command Log] and xref:userguide:command-replay:about.adoc[Command Replay], to assist regression testing.
This includes new extension modules to persist commands (xref:userguide:commandlog:about.adoc[Command Log] and xref:userguide:commandreplay:about.adoc[Command Replay], to assist regression testing.

Also in this release, the xref:incubator:kroviz:about.adoc[Kroviz client] has been brought into the incubator.
This is a single-page app that runs within the browser to provide a UI similar to that of the xref:vw:ROOT:about.adoc[Web UI (Wicket viewer)], but interacting with the domain application exclusively through the REST API provided by the xref:vro:ROOT:about.adoc[REST API (Restful Objects viewer)].
Expand Down
Expand Up @@ -290,7 +290,7 @@ No code changes were made to close these tickets:


* link:https://issues.apache.org/jira/browse/ISIS-2555[ISIS-2555] - [WON'T FIX] EntityChanges (as consumed by EntityChangesSubscriber) should associate with transaction, not interaction?
* link:https://issues.apache.org/jira/browse/ISIS-2514[ISIS-2514] - [DUPLICATE] add JPA support command-log extension
* link:https://issues.apache.org/jira/browse/ISIS-2514[ISIS-2514] - [DUPLICATE] add JPA support commandlog extension
* link:https://issues.apache.org/jira/browse/ISIS-2603[ISIS-2603] - [WON'T FIX] Simplify layout styles (that are available for download when prototyping)
* link:https://issues.apache.org/jira/browse/ISIS-2574[ISIS-2574] - [WON'T FIX] Swagger: Harmonize dependencies of metamodel and vaadin viewer

Expand Down
@@ -1,6 +1,6 @@
include::userguide:excel:partial$module-nav.adoc[]
include::userguide:command-log:partial$module-nav.adoc[]
include::userguide:command-replay:partial$module-nav.adoc[]
include::userguide:commandlog:partial$module-nav.adoc[]
include::userguide:commandreplay:partial$module-nav.adoc[]
include::userguide:flyway:partial$module-nav.adoc[]
include::userguide:quartz:partial$module-nav.adoc[]

Expand Up @@ -72,7 +72,7 @@ Whenever an object is rendered in the UI, it is filtered with respect to the use
That is, if a user is not authorized to either view or perhaps modify an object, then this is applied transparently by the framework.
The xref:security:ROOT:about.adoc[SecMan extension] provides a rich user/role/permissions subdomain to use out of the box; but you can integrate with a different security mechanism if you have one already.

Another example of interceptors are the xref:userguide:command-log:about.adoc[Command Log] and xref:security:audit-trail:about.adoc[Auditer] modules.
Another example of interceptors are the xref:userguide:commandlog:about.adoc[Command Log] and xref:security:audittrail:about.adoc[Auditer] modules.
The _Command Log_ module captures every user interaction that modifies the state of the system (the "cause" of a change) while the _Auditer_ module captures every change to every object (the "effect" of a change).
Again, this is all transparent to the user.

Expand Down
4 changes: 2 additions & 2 deletions antora/playbooks/site-extensions.yml
Expand Up @@ -41,10 +41,10 @@ content:
start_path: extensions/applib/excel/adoc # extensions
branches: HEAD
- url: .
start_path: extensions/core/command-log/adoc # extensions
start_path: extensions/core/commandlog/adoc # extensions
branches: HEAD
- url: .
start_path: extensions/core/command-replay/adoc # extensions
start_path: extensions/core/commandreplay/adoc # extensions
branches: HEAD
- url: .
start_path: extensions/core/flyway/adoc # userguide
Expand Down
4 changes: 2 additions & 2 deletions antora/playbooks/site-security.yml
Expand Up @@ -40,13 +40,13 @@ content:

# extensions
- url: .
start_path: extensions/security/audit-trail/adoc # security
start_path: extensions/security/audittrail/adoc # security
branches: HEAD
- url: .
start_path: extensions/security/secman/adoc # security
branches: HEAD
- url: .
start_path: extensions/security/session-log/adoc # security
start_path: extensions/security/sessionlog/adoc # security
branches: HEAD
- url: .
start_path: extensions/security/shiro-realm-ldap/adoc # security
Expand Down
8 changes: 4 additions & 4 deletions antora/playbooks/site.yml
Expand Up @@ -112,10 +112,10 @@ content:
start_path: extensions/applib/excel/adoc # extensions
branches: HEAD
- url: .
start_path: extensions/core/command-log/adoc # extensions
start_path: extensions/core/commandlog/adoc # extensions
branches: HEAD
- url: .
start_path: extensions/core/command-replay/adoc # extensions
start_path: extensions/core/commandreplay/adoc # extensions
branches: HEAD
- url: .
start_path: extensions/core/flyway/adoc # userguide
Expand All @@ -125,13 +125,13 @@ content:
branches: HEAD

- url: .
start_path: extensions/security/audit-trail/adoc # security
start_path: extensions/security/audittrail/adoc # security
branches: HEAD
- url: .
start_path: extensions/security/secman/adoc # security
branches: HEAD
- url: .
start_path: extensions/security/session-log/adoc # security
start_path: extensions/security/sessionlog/adoc # security
branches: HEAD
- url: .
start_path: extensions/security/shiro-realm-ldap/adoc # security
Expand Down
Expand Up @@ -46,7 +46,7 @@
import org.apache.isis.applib.services.layout.LayoutServiceMenu;
import org.apache.isis.applib.services.metamodel.MetaModelServiceMenu;
import org.apache.isis.applib.services.queryresultscache.QueryResultsCache;
import org.apache.isis.applib.services.session.SessionLoggingServiceLogging;
import org.apache.isis.applib.services.session.SessionLogServiceLogging;
import org.apache.isis.applib.services.sitemap.SitemapServiceMenu;
import org.apache.isis.applib.services.sudo.SudoService;
import org.apache.isis.applib.services.user.ImpersonateMenu;
Expand Down Expand Up @@ -95,7 +95,7 @@
CommandDtoProcessorServiceIdentity.class,
ContentMappingServiceForCommandDto.class,
ContentMappingServiceForCommandsDto.class,
SessionLoggingServiceLogging.class,
SessionLogServiceLogging.class,
SudoService.class,
UserService.class,
UserMemento.UiSubscriber.class,
Expand Down

0 comments on commit 9febe64

Please sign in to comment.