我在页面属性中看到cq:lastModified,它给了我最近修改页面的用户。有没有办法获得修改页面的最新10位用户的列表? AEM是否存储了这类信息?
谢谢!
答案 0 :(得分:1)
当在CQ页面上时,如果您打开Sidekick中的信息标签,您可以查看审核日志 - 这将显示您在页面上的修改操作,包括页面激活,例如:
我认为默认存储15个条目(我不确定该编号是否可编辑)。
或者,您可以在$CQ_HOME/crx-quickstart/logs/history.log
下查看历史记录日志 - 这将显示各个节点上的查看/编辑/删除条目(例如,您可以看到组件已被编辑而不仅仅是一个页面) 。
它可以根据其他CQ日志按日期或大小旋转,&将显示:
例如:
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。