Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > agorum core administrieren (agorum core admin tools)


agorum core audit tool

In welcher Version enthalten?

agorum core open
agorum core pro

Das agorum core audit tool enthält alle Änderungen an Objekten, um nachzuvollziehen, wann und von wem welche Objekte angelegt (create), geändert (update) und gelöscht (delete) wurden. Dazu verwendet das agorum core audit tool die Audittabelle in der Datenbank.

Die Daten können Sie in der Oberfläche von agorum core in einer grafischen Tabelle einsehen.

Das agorum core audit tool über ACL berechtigen


Das agorum core audit tool können nur Administratoren öffnen, die Sie separat über die ACL ACL_agorum core audit support tool berechtigt haben.

So finden Sie die ACL:

  1. Öffnen Sie links in der Seitenleiste Administration und dann ACLs/Rechte.
  2. Öffnen Sie den Pfad:
    acaudit
  3. Fügen Sie Mitglieder zur ACL ACL_agorum core audit support tool hinzu (siehe Berechtigungen in der Administration verwalten).

Das agorum core audit tool öffnen


Als Administrator mit entsprechender Berechtigung öffnen Sie das agorum core audit tool folgendermaßen:

  1. Öffnen Sie links in der Seitenleiste Audit-Tool.

    Ergebnis: Die Oberfläche des agorum core audit tools öffnet sich.
Übersicht: Audit Tool
  1. Suchkriterien
    Grenzen die Suche nach erstellten, geänderten oder gelöschten Objekten ein. Mit  über den Suchkriterien oder der Enter-Taste sucht das System nach den entsprechenden Einträgen.

    Schaltflächen in diesem Abschnitt

    • Klicken Sie auf  oder verwenden Sie die Enter-Taste, um nach den entsprechenden Einträgen zu suchen.
    • Klicken Sie auf , um alle Einträge in den Suchkriterien zu löschen.
    • Klicken Sie auf   oder , um durch gesuchte Einträge zu navigieren.
  2. Suchergebnis
    Enthält alle Informationen zu einem Eintrag, der zur Suche passt, in diversen Spalten. Klicken Sie einen Eintrag an, öffnen sich rechts die Details.
  3. Details
    Zeigen Ihnen weitere Informationen zu einem Eintrag an, u. a. weitere Felder und Attribute direkt aus der Datenbank. Klicken Sie rechts in den Details eine Information an, etwa die Aktion update, übernimmt das System die Aktion update nach links in die Suchkriterien. Das Suchergebnis zeigt sofort alle Einträge zur Aktion update an und verwirft alle zuvor getätigten Eingaben in den Suchkriterien.

    Schaltflächen in diesem Abschnitt

    • Klicken Sie auf Werte bei Suche kombinieren, um mehrere Informationen links in die Suchkriterien zu überführen.
    • Klicken Sie auf Details anzeigen, um zu dem markierten Objekt / Eintrag die Suche zu öffnen.
    • Klicken Sie im Feld Referenzobjekt UUID auf  oder  , um alle Einträge zu suchen, zu denen das Objekt eine linksseitige oder rechtsseitige Beziehung hat (siehe Beziehung). Die Symbole tauchen auch in den Feldern Linksseitiges Objekt (UUID) und Rechtsseitiges Objekt (UUID) auf, wenn Sie einen Eintrag im Suchergebnis markieren, der über Beziehungen verfügt.

Felder


Folgende Felder existieren innerhalb der Suchkriterien, im Suchergebnis als Spalte oder in den Details:

Feld Beschreibung
Datum (von) Grenzt den Zeitraum ein.
Datum (bis)
Objektname Definiert den Namen des betroffenen Objekts. 
  • Bei vorhandenen Beziehungen (Relationen) stellt das System den Objektnamen folgendermaßen dar:
    • ClassName (links)
    • ClassName (rechts)

Woran Sie ein Objekt erkennen und welche Unterschiede es zu Beziehungen (Relationen) gibt, siehe Unterschied Objekt vs. Beziehung (Relation).

Benutzername Definiert den Benutzernamen
Aktion Definiert die Aktion, die das System durchgeführt hat.
Klassenname Definiert den Klassennamen des Objekts, das betroffen ist ( FileObject, MailObject, FolderObject, …).
Referenzobjekt ID Definiert das eigentliche agorum core-Objekt (ID), auf das sich die Aktion bezieht.
Referenzobjekt UUID Definiert das eigentliche agorum core-Objekte (UUID), auf das sich die Aktion bezieht.
Linksseitiges Objekt (UUID) Definiert bei einer Relation das linksseitige Objekt (UUID).

Welche Unterschiede es zwischen Beziehungen (Relationen) und Objekten gibt, siehe Unterschied Objekt vs. Beziehung (Relation).
Rechtsseitiges Objekt (UUID) Definiert bei einer Relation das rechtsseitige Objekt (UUID).

Welche Unterschiede es zwischen Beziehungen (Relationen) und Objekten gibt, siehe Unterschied Objekt vs. Beziehung (Relation).
Benutzer-UUID Definiert die UUID des Benutzers, der die Aktion vorgenommen hat.
isHead (letzte Änderung eines Objektes) True
Der markierte Audit-Eintrag stellt die letzte Änderung des betroffenen Objekts dar.

False
Der markierte Audit-Eintrag stellt NICHT die letzte Änderung des betroffenen Objekts dar, d. h. es existiert noch ein Eintrag / eine Aktion, die aktueller ist und eventuell nachfolgend ausgeführt wurde.
isCommitHead (letzte Transaktion, in dem das Objekt geändert wurde) True
Der markierte Audit-Eintrag stellt den letzten Eintrag innerhalb eines Commits (Datenbanktransaktion) dar.

False
Der markierte Audit-Eintrag stellt NICHT den letzten Eintrag innerhalb eines Commits (Datenbanktransaktion) dar, d. h. es existiert noch ein Eintrag / eine Aktion innerhalb eines Commits, die aktueller ist und eventuell nachfolgend ausgeführt wurde.
Aktionszeitpunkt Definiert den Zeitpunkt der Aktion (Zeitstempel).
Audit-ID Definiert eine interne, eindeutige ID des jeweiligen Audit-Eintrags (aufsteigend).
Commit-ID: Definiert die ID eines commits (Datenbanktransaktion).
  • Das System stellt alle Änderungen dar, die es in derselben Transaktion durchgeführt hat. 
  • Diese Informationen gibt einen Überblick, welche Objekte angelegt, geändert und gelöscht wurden.
  • Werden mehrere Objekte in einer Transaktion manipuliert, besitzen alle Operationen dieselbe Commit-ID.
Info (nur in den Details) Definiert, von wo oder durch welches Protokoll die Aktion durchgeführt wurde (etwa ApiSession = Weboberfläche).

Wird im Regelfall nur intern für Entwickler von agorum core benötigt.
Attribute (nur in den Details) Enthält diverse Standard-Attribute aus der Datenbank, die gesetzt / geändert wurden.
Max. Anzahl Einträge (nur in den Suchkriterien) Definiert, wie viele Einträge das System pro Suche maximal findet (Standard: 100):
Timeout in Sekunden (nur in den Suchkriterien) Definiert einen Time-out für die Suche in Sekunden (Standard: 10).

Benötigt das System für die Suche länger als die angegebenen Sekunden, bricht es die Suche komplett ab und zeigt eine Fehlermeldung an. Im Suchergebnis tauchen keine Einträge auf.

Achtung: Beeinträchtigung der Systemleistung bei Benutzung der PostgreSQL-Datenbank. Das Feld Timeout in Sekunden hat für die PostgreSQL-Datenbank keine Relevanz. Die PostgreSQL-Datenbank sucht in diesem Falle die eingestellte maximale Anzahl an Einträgen. Eine hohe Anzahl an zu suchenden Einträgen kann die Systemleistung erheblich beeinträchtigen, sodass andere Benutzer das System eventuell nicht mehr optimal verwenden können. Stellen Sie keine hohen Werte im Feld Max. Anzahl Einträge ein oder belassen Sie die Einträge im Standard.

Unterschied zwischen Objekt und Beziehung


Die Tabelle stellt 2 Typen von Informationen dar:

Objekt

Ein Objekt erkennen Sie in der Oberfläche anhand folgender Merkmale:

Objekte können sein:

Objekte teilen sich wiederum in Klassen ein und erscheinen in der Oberfläche in der Spalte Klassenname. Folgende Klassennamen kommen am häufigsten vor:

Klassenname Beschreibung
ATTRIBUTEXMLOBJECT Interne Ablage der Metadaten in einer XML-Struktur
FILEOBJECT Datei, Dokument
FOLDEROBJECT Ordner
MAILDOCUMENTOBJECT Anhang einer E-Mail
MAILOBJECT E-Mail
    AMAILMAIL E-Mail aus dem E-Mail-Adapter
    AMAILFOLDER Ordner in einer adaptierten Mailbox
    AMAILMOUNTPOINT Adaptierte Mailbox (E-Mail-Adapter)

Beziehung (Relation)

Mit Beziehungen können Sie einen ganzen Lebenszyklus eines Dokuments von der Ablage bis zum Löschvorgang nachvollziehen, d. h. wo / wie kam es ins System, wohin wurde es verschoben und wo wurde es gelöscht.

Eine Beziehung (Relation) erkennen Sie in der Oberfläche anhand folgender Merkmale:

Im Suchergebnis in der Spalte Objektname ist ein Name mit folgendem Aufbau eingetragen:

Aufbau
<Klassenname linksseitiges Objekt>,<Klassenname rechtsseitiges Objekt>

Beispiel
FOLDEROBJECT,FILEOBJECT
Beispiel einer Beziehung

In dieser Abbildung ist eine Beziehung zwischen dem Ordner statistics (Linksseitiges Objekt mit dem Objektnamen FOLDEROBJECT) und der Datei 1604391080966-settings.json (Rechtsseitiges Objekt mit dem Objektnamen FILEOBJECT) vorhanden.

Die angegebene JSON-Datei befindet sich im Ordner statistics, folglich besteht eine Beziehung zwischen Datei und Ordner. Das Linksseitige Objekt ist also immer das Objekt, bei dem die Beziehung startet. Das Rechtsseitige Objekt ist immer das Objekt, zu dem das Linksseitige Objekt eine Beziehung aufbaut.

Hinweis: Sollten Objekte wie Dateien gelöscht worden sein, taucht statt dem Objektnamen die UUID des gelöschten Objekts auf.

Darstellung gelöschter Objekte (hier: Spalte Rechtsseitiges Objekt)


Beispiel zu linksseitigen und rechtsseitigen Beziehungen

Folgende Ordner sind vorhanden:

Ein Blick auf Ordner 1.1 verrät, dass Ordner 1 oberhalb / links von Ordner 1.1 steht. D. h. der Ordner 1 ist das linksseitige Objekt aus Sicht des Ordners 1.1, während der Ordner 1.1.1 unterhalb / rechts von Ordner 1.1 steht. Aus Sicht des Ordners 1.1 handelt es sich hierbei also um das rechtsseitige Objekt.


Durch linksseitige und rechtsseitige Beziehungen navigieren

Das folgende Beispiel verdeutlicht das Vorgehen, wie die Navigation durch linksseitige und rechtsseitige Beziehungen funktioniert. Als Ausgangslage und Beispiel dient die Datei Willkomen.pdf, die unter dem Pfad /agorum/roi/Files/Demo liegt.

Sie möchten nun herausfinden, unter welchem Pfad die Datei Willkommen.pdf liegt. Die Datei selbst hat etwa die UUID bb2d5340-51d0-11ec-aa23-080027d70ff8.

  1. Tragen Sie die UUID in das Feld Referenzobjekt UUID ein.
  2. Führen Sie die Suche aus.

    Ergebnis: Alle Änderungen des Objekts erscheinen im Suchergebnis.
  3. Markieren Sie den ersten Eintrag in der Tabelle (= letzte Änderung des Objekts).
  4. Klicken Sie rechts bei den Details beim Feld Referenzobjekt UUID und der angezeigten UUID auf  .

    Ergebnis: Sie erhalten in der Tabelle die Verknüpfung nach links angezeigt, d. h. wo das Objekt selbst in der Relation das rechte Objekt ist.

    Tipps:

    • Klicken Sie auf den Pfeil nach rechts, um sich in Richtung des root-Ordners nach links zu bewegen.
    • Klicken Sie auf den Pfeil nach links, um sich vom Ordner aus gesehen nach rechts zu bewegen.

  5. Klicken Sie im Suchergebnis auf den Eintrag, der als Klassennamen FOLDERPATHRELATIONOBJECT aufweist.

    Ergebnis: Rechts in den Details ist jetzt Rechtsseitiges Objekt bzw. Linksseitiges Objekt ausgefüllt.
  6. Klicken Sie

    a) entweder weiter auf den rechten Pfeil bei Linksseitiges Objekt, um weiter in Richtung des root-Ordners zu navigieren
    b) oder direkt auf die UUID des linksseitigen Objekts, um sich dieses anzeigen zu lassen.


Beziehungsarten

Verschiedene Beziehungsarten existieren, um Objekte miteinander in Beziehung zu setzen.

Beziehung Beschreibung
FOLDERPATHRELATION Definiert die Relation (Beziehung) für die Darstellung der Objekte als Fileserver. 
  • Es wird von folgenden Protokollen verwendet:
    • SMB
    • WebDav
    • FTP
    • IMAP
    • CMIS
    • Weboberfläche
Eine Beziehung geht immer von einem FolderObject (einem Ordner) aus und verknüpft diesen Ordner mit einem anderen Objekt, etwa einem Ordner, einem Dokument, einer E-Mail, einer Adresse.
D4WADDRESSFOLDERRELATION Definiert eine interne Beziehung in einer Adresse.
D4WAPPCALENDARFOLDERRELATION Definiert eine interne Beziehung in einem Kalendereintrag.
AMAILFOLDERPATHRELATION Definiert eine Beziehung zwischen einem AMailMail und einem AMailFolder (aus dem Mailadapter).

Die folgenden Beziehungen verbinden Objekte zu einem bestimmten Kontext. Diese Beziehungen sind im Regelfall für die Entwickler von agorum core wichtig. Hier können Sie nachvollziehen, ob Objekte richtig verbunden sind.

Beziehung Beschreibung
GROUPMEMBERRELATIONOBJECT Definiert eine interne Beziehung bei Benutzergruppen.
CHANGEHISTORYRELATIONOBJECT Definiert eine interne Beziehung bei Historien.
FOLDERDELETERELATIONOBJECT Dient für den Serverpapierkorb, sodass dieser das gelöschte Objekt wieder am richtigen Ort herstellen kann.
ATTACHMENTSRELATIONOBJECT Definiert ein Objekt, das zu einem anderen Objekt in Beziehung steht (Verknüpfung).
ANYOBJECTRELATIONOBJECT Definiert ein intern verwendetes Beziehungsobjekt, das ein Entwickler wählen kann.
ALLOCATIONRELATIONOBJECT Definiert ein internes Beziehungsobjekt.
    ATTRIBUTERELATIONOBJECT Verknüpft ein Objekt mit einem AttributeXmlObject (Metadaten an einem Objekt).
    MAILBODYRELATIONOBJECT Verknüpft den Mailbody mit der E-Mail.
    MAILATTACHMENTSRELATIONOBJECT Verknüpft einen E-Mail-Anhang mit einer E-Mail.
    MAILMSGRELATIONOBJECT Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    LINKRELATIONOBJECT Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    FILERELATIONOBJECT Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    MEDIARELATIONOBJECT Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    NOTERELATIONOBJECT Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    D4WADDRESSEMAILRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    D4WADDRESSPHONERELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    D4WADDRESSCONTAINERRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    D4WADDRESSNOTERELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    D4WADDRESSDATARELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    D4WADDRESSLINKRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    D4WANSWERRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    DOCUMENTTEXTRELATIONOBJECT Definiert ein internes Beziehungsobjekt und verbindet ein Objekt mit einem DocumentTextObject.
    D4WADDRESSIMAGERELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
    NOTERECIPIENTRELATIONOBJECT Definiert ein internes Beziehungsobjekt für eine Adresse.
    WORKFLOWRELATION Definiert ein internes Beziehungsobjekt für den agorum core workflow 1.0, wird in neuen Systemen nicht mehr verwendet.
    PREVIEWIMAGERELATION Definiert ein internes Beziehungsobjekt und verbindet ein Objekt mit einem PreviewImage.
    PREVIEWOVERLAYRELATION Definiert ein internes Beziehungsobjekt.
    AGORUMCORESYNCSETTINGSRELATION Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    AGORUMCORESYNCSETFOLDRELATION Definiert ein internes Beziehungsobjekt (historisch), wird in neuen Systemen nicht mehr verwendet.
    AGORUMCOREBACKENDSETRELATION Definiert ein internes Beziehungsobjekt. Verbindet ein Objekt mit einem Storage.
D4WADDRESSPERSONRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
D4WADDRESSUSERRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
D4WADDRESSMAILINGLISTRELATION Definiert ein internes Beziehungsobjekt für eine Adresse.
FIRSTASSOCIATEDRELATIONOBJECT Definiert ein internes Beziehungsobjekt für eine ACL (historisch), wird in neueren Systemen nicht mehr verwendet.
GENERICATTARELATIONOBJECT Definiert ein internes Beziehungsobjekt, wird vom Entwickler unterschiedlich eingesetzt.
GENERICRELATIONOBJECT Definiert ein internes Beziehungsobjekt, wird vom Entwickler unterschiedlich eingesetzt.
ATTRIBUTELOOKUPRELATIONOBJECT Definiert ein internes Beziehungsobjekt.
WORKFLOWACTATTARELATION Definiert ein internes Beziehungsobjekt für den agorum core workflow 1.0, wird in neuen Systemen nicht mehr verwendet.
PROXYRELATION Definiert ein internes Beziehungsobjekt.

Anwendungsbeispiele


Dieser Abschnitt beschreibt, welche Probleme Sie im täglichen Betrieb mit dem agorum core support tool abfangen und wie Sie diese bearbeiten können.

Beispiel 1: Datei erhält falsche Dateiendung

Ein Benutzer meldet, dass eine Datei immer eine falsche Dateiendung erhält, obwohl er sie richtig hochgeladen / geändert hat.

So gehen Sie vor, um nachzuvollziehen, wie die falsche Dateiendung zustande kommt:

  1. Kopieren Sie die UUID der Datei im Detailfenster.
  2. Fügen Sie die UUID in das Feld Referenzobjekt UUID in den Suchkriterien ein und starten Sie die Suche.

    Ergebnis: Sie erhalten zu diesem Objekt alle Änderungen angezeigt, die durchgeführt wurden. Eine Namensänderung erkennen Sie anhand der Spalte  Objektnamen.
  3. Klicken Sie den Eintrag an, um rechts die Details einzusehen.

    Ergebnis:
    • Anhand des Felds Benutzername erkennen Sie, welcher Benutzer die Änderung durchgeführt hat.
    • Anhand des Felds Info erkennen Sie, über welches Protokoll die Änderung stattgefunden hat.
  4. Klicken Sie auf die Commit-ID, um zu sehen, welche Aktionen für diese Datenbanktransaktion stattgefunden haben, falls Ihnen die Information aus dem Feld Info nicht reicht.

Beispiel 2: Verzeichnis aus Ordner verschwunden

Ein Benutzer meldet, dass ein Verzeichnis aus einem Ordner verschwunden ist. Das kann passieren, wenn Ordner oder Dokumente aus Versehen mit der Maus verschoben wurden, indem sie auf eine Stelle klicken, die Maustaste unbewusst halten und gleichzeitig die Maus bewegen. In diesem Falle ist nichts im Serverpapierkorb zu finden, weil das Verzeichnis nur verschoben wurde.

So gehen Sie vor, um nachzuvollziehen, wo das verschobene Verzeichnis zu finden ist:

  1. Kopieren Sie die UUID des Ordners, aus dem der Ordner verschwunden ist.
  2. Fügen Sie die UUID in das Feld Referenzobjekt UUID ein und starten Sie die Suche.
  3. Wählen Sie im Feld Klassenname den Eintrag FOLDERPATHRELATIONOBJECT.
  4. Wählen Sie im Feld Aktion den Eintrag Delete, da ein Verschwinden eines Objekts immer die Aktion delete der Beziehung auslöst.
  5. Führen Sie die Suche erneut aus. 

    Sollten zu viele Treffer erscheinen, schränken Sie das Datum ein oder geben Sie Folgendes in das Feld Objektname ein:
    FOLDEROBJECT,FOLDEROBJECT
    
    Dadurch geht das System nur noch auf gelöschte Ordner-zu-Ordner-Beziehungen ein.

    Ergebnis: Alle gelöschten FolderPathRelationObjects erscheinen.
  6. Suchen Sie im Suchergebnis in der Spalte Rechtsseitiges Objekt nach dem vermissten Namen.
  7. Klicken Sie auf die gelöschte Beziehung im Suchergebnis.

    Ergebnis: In den Details unter Rechtsseitiges Objekt (UUID) sehen Sie die UUID des verschobenen Objekts.
  8. Kopieren Sie diese und fügen Sie sie in den Filter Alles in die Suche ein.

    Ergebnis: In der Suche sehen Sie, wohin der Ordner verschoben wurde.

    Über die Suchoption Suche: Hinzugefügt von / am in der Administration fügen Sie als Administrator von Benutzern verschobene Ordner wieder ein.

Beispiel 3: Direkte Zuordnung zu einer Benutzergruppe überprüfen

Wenn Sie sich unsicher sind, ob ein Benutzer Zugriff auf eine Gruppe hat, oder wenn Sie etwa nachvollziehen wollen, warum ein Benutzer Workflow-Aufgaben über eine Gruppenzugehörigkeit erhält, können Sie die direkte Zugehörigkeit zu einer Gruppe überprüfen. Sie können über das Audit-Tool insbesondere auch nachträglich überprüfen, wann und in welchem Zusammenhang ein Benutzer Zugriff bekommen/verloren hat.

  1. Kopieren Sie die UUID der Gruppe, deren direkte Mitglieder Sie nachvollziehen wollen.
  2. Fügen Sie die UUID in das Feld Linksseitiges Objekt (UUID) ein.
  3. Wählen Sie im Feld Klassenname den Eintrag GROUPMEMBERRELATIONOBJECT.
  4. Führen Sie die Suche aus.

    Ergebnis: Sie sehen eine Liste aller Mitglieder, die der Benutzergruppe direkt zugeordnet sind. Das können andere Gruppen oder Benutzer sein.

     

    Direkte Mitglieder einer Benutzergruppe

Auf ähnliche Weise können Sie auch für ein Benutzerkonto überprüfen, welchen Gruppen es direkt zugeordnet ist:

  1. Kopieren Sie die UUID des Benutzers, dessen direkte Gruppenzugehörigkeit Sie überprüfen möchten.
  2. Fügen Sie die UUID in das Feld Rechtsseitiges Objekt (UUID) ein.
  3. Wählen Sie im Feld Klassenname den Eintrag GROUPMEMBERRELATIONOBJECT.
  4. Führen Sie die Suche aus.

    Ergebnis: Sie sehen eine Liste aller Gruppen, denen der Benutzer direkt zugeordnet ist.

     

    Direkte Zuordnung eines Benutzers zu Gruppen

Registerkarte „Audit“ im Detailfenster


Im Detailfenster können Sie in der Registerkarte Audit einige Informationen zum markierten Objekt erfahren, ohne das agorum core audit tool verwenden zu müssen.

Registerkarte Audit im Detailfenster

Hintergrundinformationen zur Audittabelle


agorum core schreibt Informationen zu allen Aktionen in die Audittabelle. Über die Audittabelle und die Anzeige im agorum core audit tool können alle Änderungen an Objekten in agorum core nachvollzogen werden.

Hinweis: Die Einträge in der Audittabelle werden nie nachträglich geändert. Wenn eine neue Aktion auf einem Objekt, etwa einem Dokument, durchgeführt wird, wird jeweils ein neuer Eintrag in der Tabelle erzeugt. 

Ab Version 11.8 wird agorum core mit einer neuen Audittabelle agorumcoreaudit_v2 ausgeliefert. Diese Tabelle hat weniger Indexe als die alte Audittabelle, benötigt weniger Platz als die alte Audittabelle und belastet daher das System weniger.

Bei der Migration der Daten von der alten in die neue Audittabelle werden die Einträge aus den Tabellen agorumcoreaudit und internalobject in die neue Audittabelle überführt. Es wird nur noch noch eine Tabelle benötigt. Die neue Audittabelle enthält zudem weniger Indexe als die alte Audittabelle.

Struktur der Audittabelle

Die Audittabelle agorumcoreaudit_v2 enthält folgende Spalten:

Spalte Beschreibung
ID ID des Audit-Eintrags
COMMITID ID des Commits (Datenbanktransaktion).

Werden mehrere Objekte in einer Transaktion manipuliert, besitzen alle Operationen dieselbe COMMITID.

REFERENCEOBJECT agorum core-Objekt (ID) an, auf das sich der Eintrag bezieht (das verändert wurde).
OBJECTUUID UUID des agorum core-Objekts an, auf das sich der Eintrag bezieht (das verändert wurde).
ACTIONDATE Zeitpunkt der Aktion (Zeitstempel).
USERUUID UUID des Benutzers, der die Aktion vorgenommen hat.
OBJECTCLASSNAME Klassenname des Objekts, das betroffen ist (FILEOBJECT, MAILOBJECT, FOLDEROBJECT, …).
OBJECTNAME Name des betroffenen Objekts zum Zeitpunkt der Aktion.
ACTION Aktion, die das System durchgeführt hat (1 create, 2 update, 3 delete).
LEFTOBJECTUUID Gibt bei einer Relation das linksseitige Objekt (UUID) an. Für die Unterschiede zwischen Beziehungen (Relationen) und Objekten siehe Unterschied Objekt vs. Beziehung (Relation).
RIGHTOBJECTUUID Gibt bei einer Relation das rechtsseitige Objekt (UUID) an. Für die Unterschiede zwischen Beziehungen (Relationen) und Objekten siehe Unterschied Objekt vs. Beziehung (Relation).
INFO Definiert, von wo oder durch welches Protokoll die Aktion durchgeführt wurde (etwa ApiSession = Weboberfläche).
ATTRIBUTES Enthält diverse Standard-Attribute aus der Datenbank, die gesetzt / geändert wurden.

Umstieg von der alten auf die neue Audittabelle

Sie können von der bisher verwendeten auf die neue Tabelle umsteigen, wenn Sie eine Version ab 11.8 installiert haben.

Hinweis: Auch wenn die Verwendung der neuen Audittabelle platzsparend ist, müssen Sie während der Migration von der alten auf die neue Audittabelle kurzfristig mit einem höheren Platzbedarf rechnen. Wie viel Platz benötigt wird, können Sie abschätzen, indem Sie die Größe der Datei agorumcoreaudit.ibd im data-Verzeichnis prüfen.

Gehen Sie dazu wie folgt vor:

  1. Bei der Installation/Update von Version 11.8 wird die neue Audittabelle angelegt.
  2. Öffnen Sie das Skript für die Umstellung von der alten auf die neue Audittabelle:
    /Eigene Dateien‎/Administration‎/customers‎/acaudit‎/js‎/tools‎/switch-to-audit-version-2.js
  3. Klicken Sie auf die Schaltfläche Run.

    Ergebnis: Die neue Audittabelle wird aktiviert. Ab jetzt werden Audit-Einträge in die neue Audittabelle geschrieben. Die Einträge aus der alten Audittabelle werden schrittweise im Hintergrund in die neue Audittabelle überführt. Sie können den Fortschritt über die Anzeige der Hintergrundaktivitäten ( > Zeige Hintergrundaktivitäten) verfolgen. Der Prozess wird auch fortgesetzt, wenn agorum core neu gestartet wird. Wenn alle Einträge in die neue Tabelle überführt worden sind, bleibt die alte Audittabelle leer bestehen.
  4. Bei Verwendung einer MariaDB-Datenbank (oder einer MySQL-Datenbank) sind die Einträge zwar nach Ausführen des Skripts nicht mehr in der alten Tabelle vorhanden. Die Datenbank wird aber erst kleiner, wenn die Tabellen wie folgt optimiert werden. Das funktioniert nur, wenn die Datenbank als innodb_file_per_table konfiguriert wurde. Beenden Sie agorum core, bevor Sie die folgenden Aufrufe im mariadb- oder mysql-Kommandozeilen-Client verwenden.
    optimize table agorumcoreaudit;
    optimize table internalobject;
    

Inhalt der Audittabelle auslagern

Sie können theoretisch alte Einträge aus der neuen Audittabelle agorumcoreaudit_v2 in eine andere Datenbank auslagern, etwa um Platz zu sparen. Berücksichtigen Sie bei der Entscheidung, ob dies sinnvoll ist, aber unbedingt folgende Hinweise: