2017-12-27 4 views
1

CMIS ChangeLog

Ich bin mit dem ChangeLog Merkmale des CMIS Standard, um zu verfolgen, was auf meinem Alfresco Server ändert.So erkennen Sie Umbenennungen über CMIS ChangeLog in Alfresco?

Zum Beispiel, wenn ich newfile.txt das ChangeLog Token (Wert von <cmis:latestChangeLogToken>) ändert sich von 1713 bis 1735

Problem

erstellen Wenn ich newfile.txt umbenennen, um myfile.txt, das ChangeLog Token nicht ändert.

Frage

Gibt es eine Möglichkeit, das ChangeLog Token zu machen Alfresco stoßen, wenn ein Umbenennungs passiert?

Hier ist meine aktuelle tomcat/shared/classes/alfresco-global.properties:

audit.enabled=true 
audit.alfresco-access.enabled=true 
audit.alfresco-access.sub-actions.enabled=true 
audit.cmischangelog.enabled=true 
audit.cmischangelog.sub-actions.enabled=true 
+2

Umbenennen ist keine Bewegung/Ablage sogar. Es ist ein Immobilien-Update. –

Antwort

2

Um dies zu erreichen, müssen Sie Alfresco Audit Konfigurationsdatei ändern, die zur Erzeugung von CMIS ChangeLog Ereignisse verantwortlich ist. Diese Datei ist alfresco-audit-cmis.xml und kann innerhalb der alfresco-repository-5.2.g.jar (Versionsnummer kann variieren) gefunden werden, die sich innerhalb alfresco.warWEB-INF/lib Ordner befindet.

Sie haben eine PathMap und eine AuditPath zu dieser Datei hinzufügen, wie unten beschrieben:

<PathMap source="/alfresco-api/post/FileFolderService/rename" 
    target="/CMISChangeLog/UPDATED" /> 

... in <PathMappings> und

<AuditPath key="fileFolderRef"> 
    <RecordValue key="value" dataExtractor="simpleValue" /> 
</AuditPath> 

... im <AuditPath key="args"> von <AuditPath key="UPDATED"> .

Am Ende dieser Antwort habe ich die ganze modifizierte alfresco-audit-cmis.xml für Alfresco Community 5.2.0 201707 als ein Beispiel eingefügt, bitte beachten Sie, dass Ihre Basis-Datei abweichen kann, so dass die Änderungen an Ihrem Alfresco eigenen alfresco-audit-cmis.xml anwenden.

Um diese Datei zu implementieren, so dass es von Alfresco verwendet wird tatsächlich, folgen Sie bitte den Anweisungen unter: https://stackoverflow.com/a/48221347/226958

Beispiel:

<?xml version="1.0" encoding="UTF-8"?> 

<Audit xmlns="http://www.alfresco.org/repo/audit/model/3.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.alfresco.org/repo/audit/model/3.2 alfresco-audit-3.2.xsd"> 

    <DataExtractors> 
     <DataExtractor name="simpleValue" registeredName="auditModel.extractor.simpleValue"/> 
     <DataExtractor name="nullValue" registeredName="auditModel.extractor.nullValue"/> 
     <DataExtractor name="changeLog" registeredName="CMISChangeLogDataExtractor"/> 
    </DataExtractors> 

    <PathMappings> 
     <PathMap source="/CMISChangeLog" target="/CMISChangeLog" /> 
     <PathMap source="/alfresco-api/post/FileFolderService/create" target="/CMISChangeLog/CREATED" /> 
     <PathMap source="/alfresco-api/post/NodeService/createNode" target="/CMISChangeLog/CREATED" /> 
     <PathMap source="/alfresco-api/post/NodeService/setProperties" target="/CMISChangeLog/UPDATED" /> 
     <PathMap source="/alfresco-api/post/NodeService/addProperties" target="/CMISChangeLog/UPDATED" /> 
     <PathMap source="/alfresco-api/post/NodeService/setProperty" target="/CMISChangeLog/UPDATED" /> 
     <PathMap source="/alfresco-api/post/NodeService/removeProperty" target="/CMISChangeLog/UPDATED" /> 
     <PathMap source="/alfresco-node/beforeDeleteNode" target="/CMISChangeLog/DELETED" /> 
     <PathMap source="/alfresco-api/post/PermissionService/setPermission" target="/CMISChangeLog/SECURITY" /> 
     <PathMap source="/alfresco-api/post/PermissionService/setInheritParentPermissions" target="/CMISChangeLog/SECURITY" /> 
     <PathMap source="/alfresco-api/post/PermissionService/clearPermission" target="/CMISChangeLog/SECURITY" /> 
     <PathMap source="/alfresco-api/post/PermissionService/deletePermission" target="/CMISChangeLog/SECURITY" /> 
     <PathMap source="/alfresco-api/post/NodeService/moveNode" target="/CMISChangeLog/UPDATED" /> 
     <PathMap source="/alfresco-api/post/FileFolderService/moveFrom" target="/CMISChangeLog/UPDATED" /> 
     <PathMap source="/alfresco-api/post/FileFolderService/rename" target="/CMISChangeLog/UPDATED" /> 
    </PathMappings> 

    <Application name="CMISChangeLog" key="CMISChangeLog"> 
     <AuditPath key="CREATED"> 
      <AuditPath key="result"> 
       <RecordValue key="value" dataExtractor="changeLog" /> 
      </AuditPath> 
      <AuditPath key="error"> 
       <RecordValue key="value" dataExtractor="nullValue" /> 
      </AuditPath> 
     </AuditPath> 

     <AuditPath key="UPDATED"> 
      <AuditPath key="args"> 
       <AuditPath key="nodeRef"> 
        <RecordValue key="value" dataExtractor="changeLog" /> 
       </AuditPath> 
       <AuditPath key="nodeToMoveRef"> 
        <RecordValue key="value" dataExtractor="changeLog" /> 
       </AuditPath> 
       <AuditPath key="sourceNodeRef"> 
        <RecordValue key="value" dataExtractor="changeLog" /> 
       </AuditPath> 
       <AuditPath key="fileFolderRef"> 
        <RecordValue key="value" dataExtractor="simpleValue" /> 
       </AuditPath> 
      </AuditPath> 
      <AuditPath key="error"> 
       <RecordValue key="value" dataExtractor="nullValue" /> 
      </AuditPath> 
     </AuditPath> 

     <AuditPath key="DELETED"> 
      <AuditPath key="node"> 
       <RecordValue key="value" dataExtractor="changeLog" /> 
      </AuditPath> 
     </AuditPath> 

     <AuditPath key="SECURITY"> 
      <AuditPath key="args"> 
       <AuditPath key="nodeRef"> 
        <RecordValue key="value" dataExtractor="changeLog" /> 
       </AuditPath> 
      </AuditPath> 
      <AuditPath key="error"> 
       <RecordValue key="value" dataExtractor="nullValue" /> 
      </AuditPath> 
     </AuditPath>   
    </Application> 

</Audit> 

Diese „Lösung“ ist sehr unbequem und möglicherweise nicht Wenn Sie eine bessere Methode kennen, schreiben Sie bitte eine neue Antwort, vielen Dank! :-)

Verwandte Themen