From 0388519daf5553d1ce2e97680abd594cef0be717 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Sat, 31 Jan 2015 15:57:28 +0000 Subject: [PATCH 1/4] RM-1851 (Audit: the "Role" for "Declare as version record" is not displayed) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@95095 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../messages/audit-service.properties | 3 +- .../rm-audit-context.xml | 5 ++ .../dm/RecordableVersionConfigAction.java | 4 +- .../RecordableVersionPolicyAuditEvent.java | 58 +++++++++++++++++++ 4 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties index 62c4177481..7604e39f3b 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/audit-service.properties @@ -13,4 +13,5 @@ rm.audit.audit-stop=Audit Stop rm.audit.audit-clear=Audit Clear rm.audit.audit-view=Audit View rm.audit.trail-file-fail=Can't generate audit report. -rm.audit.audit-report=Audit Report \ No newline at end of file +rm.audit.audit-report=Audit Report +recordable-version-config=Auto-Declare Options \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml index 32530d7d69..8978b39c73 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml @@ -85,4 +85,9 @@ + + + + + diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java index 9acea4eb60..b9ce07b602 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/RecordableVersionConfigAction.java @@ -27,9 +27,9 @@ import static org.apache.commons.logging.LogFactory.getLog; import java.util.List; -import org.alfresco.module.org_alfresco_module_rm.action.AuditableActionExecuterAbstractBase; import org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionPolicy; import org.alfresco.repo.action.ParameterDefinitionImpl; +import org.alfresco.repo.action.executer.ActionExecuterAbstractBase; import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.ParameterDefinition; import org.alfresco.service.cmr.dictionary.DictionaryService; @@ -46,7 +46,7 @@ import org.apache.commons.logging.Log; * @author Tuna Aksoy * @since 2.3 */ -public class RecordableVersionConfigAction extends AuditableActionExecuterAbstractBase +public class RecordableVersionConfigAction extends ActionExecuterAbstractBase { /** Logger */ private static Log LOGGER = getLog(RecordableVersionConfigAction.class); diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java new file mode 100644 index 0000000000..bcad9a0997 --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/RecordableVersionPolicyAuditEvent.java @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2005-2014 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ +package org.alfresco.module.org_alfresco_module_rm.audit.event; + +import static org.alfresco.module.org_alfresco_module_rm.version.RecordableVersionModel.PROP_RECORDABLE_VERSION_POLICY; + +import java.io.Serializable; +import java.util.Map; + +import org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy; +import org.alfresco.repo.policy.annotation.Behaviour; +import org.alfresco.repo.policy.annotation.BehaviourBean; +import org.alfresco.repo.policy.annotation.BehaviourKind; +import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.service.namespace.QName; + +/** + * Audits recordable version policy property updates + * + * @author Tuna Aksoy + * @since 2.3 + */ +@BehaviourBean +public class RecordableVersionPolicyAuditEvent extends AuditEvent implements OnUpdatePropertiesPolicy +{ + /** + * @see org.alfresco.repo.node.NodeServicePolicies.OnUpdatePropertiesPolicy#onUpdateProperties(org.alfresco.service.cmr.repository.NodeRef, java.util.Map, java.util.Map) + */ + @Override + @Behaviour + ( + kind = BehaviourKind.CLASS, + type = "cm:cmobject" + ) + public void onUpdateProperties(NodeRef nodeRef, Map before, Map after) + { + if (before.get(PROP_RECORDABLE_VERSION_POLICY) != after.get(PROP_RECORDABLE_VERSION_POLICY)) + { + recordsManagementAuditService.auditEvent(nodeRef, getName(), before, after, true, true); + } + } +} From 65698b90cca7a81f211ee0dc088e59dd07b12db3 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Sat, 31 Jan 2015 21:57:02 +0000 Subject: [PATCH 2/4] RM-1878 (Audit: Create person event displays a wrong text and link) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@95684 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../audit/RecordsManagementAuditServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java index 661dce3edc..d5d8c09311 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java @@ -1410,11 +1410,12 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean json.put("fullName", entry.getFullName() == null ? "": entry.getFullName()); json.put("nodeRef", entry.getNodeRef() == null ? "": entry.getNodeRef()); - if (entry.getEvent().equals("createPerson") && entry.getNodeRef() != null) + if (entry.getEvent().equals("Create Person") && entry.getNodeRef() != null) { NodeRef nodeRef = entry.getNodeRef(); String userName = (String)nodeService.getProperty(nodeRef, ContentModel.PROP_USERNAME); json.put("nodeName", userName == null ? "": userName); + json.put("createPerson", true); } else { From 9b9ae58b05ac4de80474d4fbdbc08bfa196a2f2e Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Sat, 31 Jan 2015 22:34:19 +0000 Subject: [PATCH 3/4] RM-1879 (Audit: Delete object event displays wrong path for different browser languages other than English) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@95688 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../audit/RecordsManagementAuditServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java index d5d8c09311..a43346e9d4 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java @@ -1410,6 +1410,7 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean json.put("fullName", entry.getFullName() == null ? "": entry.getFullName()); json.put("nodeRef", entry.getNodeRef() == null ? "": entry.getNodeRef()); + // TODO: Find another way for checking the event if (entry.getEvent().equals("Create Person") && entry.getNodeRef() != null) { NodeRef nodeRef = entry.getNodeRef(); @@ -1417,6 +1418,10 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean json.put("nodeName", userName == null ? "": userName); json.put("createPerson", true); } + if (entry.getEvent().equals("Delete RM Object")) + { + json.put("deleteObject", true); + } else { json.put("nodeName", entry.getNodeName() == null ? "": entry.getNodeName()); From b1a6035e4e55f1b57c75046df7af975d4fc7d576 Mon Sep 17 00:00:00 2001 From: Tuna Aksoy Date: Sat, 31 Jan 2015 23:16:56 +0000 Subject: [PATCH 4/4] RM-1879 (Audit: Delete object event displays wrong path for different browser languages other than English) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.3@95689 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../audit/RecordsManagementAuditServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java index a43346e9d4..f7fdc6a452 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceImpl.java @@ -1418,15 +1418,17 @@ public class RecordsManagementAuditServiceImpl extends AbstractLifecycleBean json.put("nodeName", userName == null ? "": userName); json.put("createPerson", true); } - if (entry.getEvent().equals("Delete RM Object")) - { - json.put("deleteObject", true); - } else { json.put("nodeName", entry.getNodeName() == null ? "": entry.getNodeName()); } + // TODO: Find another way for checking the event + if (entry.getEvent().equals("Delete RM Object")) + { + json.put("deleteObject", true); + } + json.put("nodeType", entry.getNodeType() == null ? "": entry.getNodeType()); json.put("event", entry.getEvent() == null ? "": getAuditEventLabel(entry.getEvent())); json.put("identifier", entry.getIdentifier() == null ? "": entry.getIdentifier());