执行日志

这个执行日志扩展提供了执行认购人持续存在的执行s使用JPA/月蚀链接JDO/DataNucleus公司对象存储。

一个用例是将审计跟踪扩展。这个命令日志模块记录最终用户进行的操作调用或属性编辑,而审计跟踪将结果状态更改记录到域对象。使用交互ID拥有者的相互作用.

有时命令日志扩展也配置有或替代此扩展;请参阅笔记下面进行比较和对比。

安装程序

依赖管理

为添加条目执行日志模块自己的BOM:

pom.xml(pom.xml)
<依赖性管理><依赖项><依赖性>org.apache.causeway.extensions<artifactId>堤道延伸执行日志<scope>导入<type>pom</type><版本>3.0.0</依赖性></依赖项></dependencyManagement>

依赖项/导入

在应用程序的webapp模块中,添加以下依赖项:

pom.xml(pom.xml)
<依赖项><依赖性>org.apache.causeway.extensions<artifactId>堤道延伸-执行日志-个人信息-XXX(1)</依赖性></依赖项>
1 或者:

在您的应用程序中应用描述文件,导入执行日志模块。要使用的确切模块取决于使用的持久性机制:

应用清单.java
@配置@导入({。。。堤道模块ExtExecutionLogPersistenceXxx.class,(1)。。。})公共类AppManifest{}
1 或者:

如果使用一键破解,您还需要导入固定装置模块;SecMan使用fixture脚本为其实体设定种子。

配置属性

添加执行日志实体到配置文件:

应用程序.yml
堤道:坚持不懈:架构:自动创建模式:堤道ExtExecutionLog

这个扩展目前还没有定义自己的任何配置属性。

配置完成后,扩展提供了许多菜单操作。你可以使用菜单栏.layout.xml按你认为合适的方式安排。为了开始,以下片段将所有操作添加到“Activity”二级菜单:

菜单栏.layout.xml
<mb:次要>。。。<mb:菜单>活动。。。<mb:节>执行日志<mb:serviceAction id=“findMostRecent”objectType=“caseway.ext.executionLog.ExecutionLogMenu”/><mb:serviceAction id=“findExecutions”objectType=“caseway.ext.executionLog.ExecutionLogMenu”/><mb:serviceAction id=“findAll”objectType=“caseway.ext.executionLog.ExecutionLogMenu”/></mb:节>。。。</mb:menu></mb:次要>

SecMan安全角色

如果一键破解然后必须授予访问菜单操作的权限。

这可以通过授予堤道外部执行日志角色和权限种子夹具脚本(参见其角色_姓名常数)。

用户界面

该扩展提供了许多菜单操作和贡献。

菜单操作如中所列菜单栏布局.xml,如上所示。它们允许管理员查询持久化命令。通常,对这些操作的访问会受到限制,请参阅安全角色以上。

扩展还提供了这些mixin:

笔记

概念上命令代表意图执行操作或编辑属性(在更改之前),而交互执行表示实际执行本身(“在”更改之后)。

这个命令订阅服务器SPI和执行认购人SPI允许订阅其中一个。从审计的角度来看,他们的行为非常相似:

  • 即使命令表示意图要调用某个操作,其命令订阅服务器只有在操作/属性编辑完成后,才会调用SPI。

  • 这个执行认购人操作完成后立即调用。在大多数交互中,交互中只调用一个操作,因此这两个订阅者将以非常相似的有效负载几乎同时被调用。

然而,可能存在一些细微的差异:

  • 这个包装厂服务允许通过用户界面“好像”调用操作。因此,一个动作可以执行另一个动作,从而创建嵌套的执行调用图。

    这个执行认购人每次执行完成后都会调用,因此将被多次调用。

  • 相比之下命令订阅服务器对于顶级(最外层)操作,只调用一次。