Open Source Dokumentenmanagement
Dokumentation

Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht

Navigation: Dokumentationen agorum core > Konfigurationen zu E-Mails > agorum core mail archive


agorum core mail archive konfigurieren

Hinweis: Diese Dokumentation bezieht sich auf die aktuellste Version des Plug-ins. Aktualisieren Sie das hier beschriebene Plugin, um die Dokumentation verwenden zu können.

Voraussetzungen


Sie müssen Voraussetzungen erfüllen, um das Plugin konfigurieren und verwenden zu können.

So funktioniert das Plugin


Das System:

Die Ordnerstruktur des Plug-ins


Nach der Installation sehen Sie im agorum core explorer unter Dateien den neuen Ordner agorum core mail archive mit den Ordnern:

Nach Installation: Neuer Ordner agorum core mail archive mit weiteren Ordnern

Der Ordner „Mail-Archiv“

In diesem Ordner landen alle E-Mails, die der Ordner Mail-Eingang eingelesen hat.


Ordnerstruktur mit Beispiel

An letzter Stelle befindet sich die E-Mail-Adresse des Benutzers, der in agorum core angelegt ist. Unterhalb dieses Ordners mit der E-Mail-Adresse befinden sich weitere Unterordner. Diese Unterordner sind nach Jahr und Monat sortiert.


Ordnerstruktur mit Beispiel


Der Ordner „Nicht zugeordnet“

Im Ordner Mail-Archiv befindet sich der Ordner Nicht zugeordnet. In diesem Ordner legt das System E-Mails ab, wenn es die dort enthaltene E-Mail-Adresse keinem Benutzer in agorum core zuordnen kann. Der Ordner Nicht zugeordnet enthält wiederum weitere Unterordner, sortiert nach Jahr, Monat und Tag.


Ordnerstruktur mit Beispiel

Auch hier befinden sich im letzten Ordner die E-Mails, die das System nicht zuordnen konnte. Der Ordner 03 steht im Beispiel für den Tag, hier also der 03.12.2019.

Hinweis: Sie können mithilfe einer Konfiguration eine abweichende, alternative Ablagestruktur verwenden.

Der Ordner „Mail-Eingang“

Unterhalb dieses Ordners sehen Sie einen weiteren Eintrag namens Mail-Eingang - Journaling.

Das Journaling konfigurieren


Sie müssen das Journaling auf den Mail-Eingang setzen, damit das System E-Mails einlesen kann.

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie den Pfad:
    Dateien/agorum core mail archiv/Mail-Eingang
  3. Klicken Sie den Ordner Mail-Eingang mit der rechten Maustaste an.
  4. Wählen Sie im Kontextmenü Neu > Adapter > E-Mail-Adapter.
  5. Geben Sie Ihre Daten zum Posteingangsserver an.
  6. Testen Sie unten die Verbindung zum Server.
  7. Speichern Sie die Konfiguration.

Beispiel für den MS Exchange Server

Im MS Exchange Server können Sie ein Journaling-Postfach einrichten. In diesem sammeln sich alle ein- und ausgehenden E-Mails aller Benutzer.

Tragen Sie dieses Postfach in die Daten zum Posteingangsserver im E-Mail-Adapter ein (Handlungsschritt 5).

Beispiel für mehrere Postfächer

Sie benötigen weitere E-Mail-Adapter, sofern Sie mehrere Server oder IMAP-Postfächer im Mailarchiv ablegen möchten.

Ordner berechtigen


Bei der Installation erstellt das System Benutzergruppen und ACLs, mit denen Sie die Ordner Mail-Archiv und Mail-Eingang berechtigen können.

Ordner durch Benutzergruppen berechtigen

  1. Öffnen Sie links in der Seitenleiste Administration und dann Gruppen.
  2. Öffnen Sie den Pfad:
    agorum core mail archive

    Ergebnis: Sie sehen alle Benutzergruppen zum agorum core mail archive.
Benutzergruppe Beschreibung
GRP_agorum core mail archive_Mail-Eingang_all Benutzergruppe / Berechtigung für den Ordner Mail-Eingang

Lassen Sie die Benutzergruppe GRP_agorum core mail archive_Mail-Eingang_all unberührt, sehen nur Administratoren den Ordner Mail-Eingang.
GRP_agorum core mail archive_Nicht zugeordnet_read Benutzergruppe / Berechtigung auf den Ordner Nicht zugeordnet
GRP_agorum core mail archive_read Benutzergruppe / Berechtigung auf den Ordner Mail-Archiv

Beispiel
Die E-Mail-Adresse rechnung@agorum.com ist Benutzer A zugeordnet. Alle Benutzer aus der Verwaltung sollen diese E-Mail-Adresse ebenfalls einsehen können.

Ordner durch ACLs berechtigen

  1. Öffnen Sie links in der Seitenleiste Administration und dann ACLs/Rechte.
  2. Öffnen Sie den Pfad:
    agorum core mail archive

    Ergebnis: Sie sehen alle ACLs zum agorum core mail archive.
ACL Beschreibung
ACL_agorum core mail archive Berechtigung auf das gesamte Plugin agorum core mail archive
ACL_agorum core mail archive_Mail-Eingang Berechtigung auf den Ordner Mail-Eingang
ACL_agorum core mail archive_Nicht zugeordnet Berechtigung auf den Ordner Nicht zugeordnet

Hinweise:

  • Anwenderspezifische ACLs stellen spezielle ACLs dar, die Sie an dieser Stelle nicht sehen.

  • Stattdessen können Sie diese ACLs nur über die Benutzergruppen bearbeiten und anpassen.

  • Diese besonderen ACLs können Sie anhand der angehängten UUID erkennen.

Anwenderspezifisches ACL mit UUID

Das Plugin über die MetaDB optional konfigurieren


Sie können das agorum core mail archive optional in der MetaDB konfigurieren, um es an Ihre Bedürfnisse anzupassen.

  1. Öffnen Sie links in der Seitenleiste Administration und dann MetaDB.
  2. Öffnen Sie den Pfad:
    MAIN_MODULE_MANAGEMENT/customers
  3. Legen Sie über  dieses Property-Bundle an:

    Name
    acmailarchive
  4. Legen Sie unterhalb dieses Pfads alle unten aufgeführten Property-Entrys über  an.

    Hinweis: Geben Sie bei allen Property-Entrys den Datentyp Zeichenkette (String) an.

Property-Entrys

Property-Entry Beschreibung
basePath Definiert den Pfad, den das System als Basis für das agorum core mail archive verwendet.

Das System legt alle E-Mails unterhalb dieses Pfads ab.

Standard
/agorum/roi/Files/agorum core mail archive/Mail-Archiv
expirationYears Definiert die Jahre für die Vorhaltung der E-Mails.

Das System löscht E-Mails nach Ablauf der angegebenen Jahreszahl automatisch.

Standard
11
systemFlags Definiert die Systemflags für E-Mails vor unlauterem Zugriff.

Standard
28 (Systemflag USER_RESISTANT)

Hinweis: Starten Sie den Worker QueryScript: agorum core mail archive neu, sofern Sie eines der Property-Entrys in der MetaDB geändert oder angelegt haben. Klicken Sie dazu im Worker auf die Schaltfläche Reset worker.

Den Query-Worker „MailArchive“ optional konfigurieren


Der Query-Worker MailArchive prüft den verknüpften Posteingang in bestimmten Abständen regelmäßig auf E-Mails und verschiebt diese gleichzeitig in den Ordner Mail-Archiv. Sie können mit einer Konfiguration beeinflussen, wie viele E-Mails der Query-Worker gleichzeitig ins Archiv verschieben soll.

So konfigurieren Sie den Query-Worker MailArchive:

  1. Öffnen Sie links in der Seitenleiste Weitere Apps und dann support tool.
  2. Wählen Sie links im Menü Workers > Actions > QueryScript : agorum core mail archive.
  3. Stellen Sie unter Concurrency die Anzahl an Threads ein, mit denen das System E-Mails in das Archiv verschiebt.

    • Der Standard lautet 1.
    • Mit 0 deaktivieren Sie den Worker.
    • Mit Werten größer als 1 verteilen Sie die Arbeit des Workers auf mehrere Threads.

    Achtung: Beeinträchtigung der Systemleistung durch Werte größer als 1. Prozesse und das gesamte System arbeiten langsamer, wenn Sie höhere Werte als 1 konfigurieren. Verändern Sie den Wert 1 nur für kurze Zeit.

  4. Klicken Sie auf Update worker script.

    Ergebnis: Das System aktiviert die Konfiguration.

Eine alternative Ablagestruktur mit dem targetPathHandler definieren


Sie können eine alternative Ablagestruktur innerhalb des Mailarchivs definieren, sofern Sie die Ablagestruktur im Standard nicht verwenden möchten.

Sie steuern dieses Verhalten mit dem targetPathHandler.

Hinweis: Das System ruft den targetPathHandler nur auf, sofern es eine der E-Mail-Adressen aus der E-Mail auch einem Benutzer in agorum core zuordnen kann.

Die JavaScript-Datei und den MetaDB-Schlüssel anlegen

  1. Öffnen Sie links in der Seitenleiste Explorer.
  2. Öffnen Sie Ihr Konfigurationsprojekt:

    Eigene Dateien‎/Administration‎/customers‎/<Ihr Konfigurationsprojekt>
  3. Legen Sie im Ordner js eine neue JavaScript-Datei ohne Inhalt über das Kontextmenü an (Neu > JS-Dokument).
  4. Öffnen Sie links in der Seitenleiste Administration und dann MetaDB.
  5. Öffnen Sie den Pfad:
    MAIN_MODULE_MANAGEMENT/customers
  6. Legen Sie über  dieses Property-Bundle an:

    Name
    acmailarchive
  7. Legen Sie im Property-Bundle über  dieses Property-Entry an:

    Name
    targetPathHandler

    Datentyp
    Inhalt (Content)

    Wert (Content)
    <Pfad zur erstellten JavaScript-Datei>

     
     
    Einstellungen und Pfade in der MetaDB zum targetPathHandler
  8. Tragen Sie in Ihrer erstellten JavaScript-Datei aus Schritt 1 Ihr JavaScript ein (Beispiele für den Targetpath-Handler).
  9. Speichern Sie die Änderungen.
  10. Passen Sie die Dateien export.yml sowie project.yml Ihres Konfigurationsprojekts an.

Beispiele für den targetPathHandler


/* global address, email, targetPath, incoming, outgoing */
Information Beschreibung
address Definiert die E-Mail-Adresse, den das agorum core mail archive aktuell verarbeitet.
email Definiert das E-Mail-Objekt, den das agorum core mail archive aktuell verarbeitet.
targetPath Definiert den Zielpfad, den das agorum core mail archive üblicherweise verwendet.

Das System:
  • stellt diesen Parameter zur Verfügung, um dem Skript einen Startpunkt für den alternativen Pfad mitzuteilen
  • kann den Parameter unverändert an das Archiv zurückgeben, wenn Sie den targetPathHandler für andere Logiken verwenden
incoming true
Die E-Mail ist eine eingehende E-Mail (E-Mail-Adresse in der E-Mail ist der Empfänger).

false
Die E-Mail ist eine ausgehende E-Mail.
outgoing true
Die E-Mail ist eine ausgehende E-Mail.

false
Die E-Mail ist eine eingehende E-Mail (E-Mail-Adresse in der E-Mail ist der Empfänger).

targetPathHandler für eine alternative Ordnerstruktur

/* global address, email, targetPath, incoming, outgoing */

// This example will show you how to create an customized path structure within the mail archive
// The path structure will be settled under the base path of the mail archive which can also be modified via metadb setting
// "MAIN_MODULE_MANAGEMENT/customers/acmailarchive/basePath"
// This example builds the following path structure
// email address
// |- inbox
//   |- year of the mail receiving date
//     |- month of the mail receiving date
// |- outbox
//   |- year of the mail sending date
//     |- month of the mail sending date

// Requirements
// Template mechanism to process the folder structure year and month
let templates = require('common/templates');

// Constants
// Constants for the folder names so renaming of future path structure are quite easy
const INCOMING = 'incoming';
const OUTGOING = 'outgoing';

// Variables
// The custom path structure starts with the email address
let newTargetPath = address;

// Check if mail is incoming or outgoing and put the corresponding folders into the target path
if (incoming) {
  newTargetPath = newTargetPath + '/' + INCOMING + '/' + templates.fill('${emailDate:yyyy/MM}', { emailDate: email.lastModifyDate });
} else if (outgoing) {
  newTargetPath = newTargetPath + '/' + OUTGOING + '/' + templates.fill('${emailDate:yyyy/MM}', { emailDate: email.sentDate });
}

// Provide the new target path back to the mail archive so the mail archive can create the necessary folders and can file the email
newTargetPath;

targetPathHandler für eine alternative Logik im Umgang mit der übergebenen E-Mail

/* global address, email, targetPath, incoming, outgoing */

// This example will show you how to implement a custom logic in handling the currently processed email
// The email is linked into another area of the system to provide additional access to the email
// This can be a use case for example when there is a project file and the emails regarding the project should also be shown within the
// file

// Requirements
let objects = require('common/objects');
let transaction = require('common/transaction');
let templates = require('common/templates');

// Find the other area where do you want to provide access to the email
// Please change the path of the find statement to your needs before activating the target path handler
let target = objects.find('/agorum/roi/Files/test');

// Create own folder structure within the target path to fulfill the needs of the target
// Maybe the target does have a folder structure or expectes the mails in a specific path
// In this case the path does contain of the email address and the year and month of the sent date of the email
target = target.createPath(address).createPath(templates.fill('${emailDate:yyyy/MM}', { emailDate: email.sentDate }));

// Link the email into the target. The target might be created but not necessarily. When the folder structure already existent, then the
// existent structure is returned and used. Use the object library for adding the object. The object library does provide resolving name
// collisions!
objects.add(email, target);

// Provide the given base path because we don't want to have another path. The mail should be filed as the mail archive usually would file
// the mail. This script had the purpose to provide access to the email within another area of the system
targetPath;