CQ / AEM最后修改了10个页面的用户列表

时间:2014-09-23 18:31:05

标签: java cq5 aem

我在页面属性中看到cq:lastModified,它给了我最近修改页面的用户。有没有办法获得修改页面的最新10位用户的列表? AEM是否存储了这类信息?

谢谢!

3 个答案:

答案 0 :(得分:1)

当在CQ页面上时,如果您打开Sidekick中的信息标签,您可以查看审核日志 - 这将显示您在页面上的修改操作,包括页面激活,例如:

enter image description here

我认为默认存储15个条目(我不确定该编号是否可编辑)。

或者,您可以在$CQ_HOME/crx-quickstart/logs/history.log下查看历史记录日志 - 这将显示各个节点上的查看/编辑/删除条目(例如,您可以看到组件已被编辑而不仅仅是一个页面) 。

它可以根据其他CQ日志按日期或大小旋转,&将显示:

  1. 时间戳
  2. 动作
  3. 节点
  4. 节点类型
  5. 例如:

    28.07.2014 15:59:05 VIEW admin [/content/dam/geometrixx/travel/train_platform_boarding.jpg] [dam:Asset,mix:versionable]
    

答案 1 :(得分:0)

没有OOTB方法可以做到这一点。

但是你可以尝试实现它:

1)使用自定义流程步骤创建自定义工作流程。

在此工作流程过程中,将cq:lastModifiedBy属性值复制到新的自定义属性(让我们调用lastModifiedUsers,这将是一个数组)

2)现在创建一个启动器,该启动器在针对cq:PageContent节点类型进行修改后运行。使用此启动器触发在步骤1中创建的工作流程。

现在每次修改此页面时,启动器都会触发工作流,该工作流将cq:lastModifiedBy属性值复制到此自定义属性,该属性是一个数组,并将其保存在path-path / jcr:content节点中。

答案 2 :(得分:0)

使用com.day.cq.audit包中的AuditLog接口,您可以使用AuditLog对象调用getLatestEvents(String []类别,String path,int max),此处将max指定为10。 您将收到一组AuditLogEntry对象,您可以从此数组中获取所有用户ID。