Menü der Dokumentation

Wie konfiguriere ich eine externe Regelprüfung mit d.ecs script?

In kundenspezifischen Einzelfällen kann es vorkommen, dass zusätzlich zu den Standardregeln von d.ecs content crawler Regeln benötigt werden, um ein Objekt zu prüfen und für das Weiterverarbeiten zu markieren. In diesem Fall können Sie d.ecs script verwenden. In d.ecs script können Sie für Ihren Anwendungsfall eigene Skripte erstellen.

Der Ablauf einer externen Regelprüfung sieht wie folgt aus:

  1. d.ecs content crawler erstellt bereits Jobs und ermittelt Objekte. d.ecs content crawler überträgt die Jobs und Objekte an d.ecs script.

  2. d.ecs script führt das Skript aus, das im Regelwerk von d.ecs content crawler angegeben ist. In dem Skript muss als Ergebnis eine Rückmeldung darüber erfolgen, ob das entsprechende Objekt verarbeitet werden soll.

  3. Wenn eine Rückmeldung erfolgt, wird der entsprechende Job markiert und mit dem nächsten Durchlauf weiterverarbeitet oder die Verarbeitung wird abgebrochen.

Im Folgenden finden Sie weitere wichtige Informationen zum Aufbau der HTTP-Aufrufe und der zu übermittelnden Daten für die externe Regelprüfung mit d.ecs script.

Folgendes Objekt wird von d.ecs content crawler im JSON-Format an d.ecs script übermittelt und kann in einem Skript zur Regelprüfung verwendet werden:

{
    "GroupwareItemIdentifier" : null,
    "JobId" : null,
    "Status" : 0,
    "StatusMessage" : null
}
  • GroupwareItemIdentifier: Die ID des Objekts, das an d.ecs script übermittelt wird. Die Regelprüfung muss das Objekt ermitteln und bereitstellen. Die IDs für HCL Domino-Objekte und Microsoft Exchange-Objekte sind unterschiedlich.

  • JobId: Die ID des Jobs, der an d.ecs script übermittelt wird.

  • Status: Der Status, der mithilfe der weiteren Verarbeitung das Objekt bestimmt. Sie müssen den Status im Skript festlegen. Folgende Werte sind möglich:

    • 1 Continue: Dieser Wert gibt an, dass die Weiterverarbeitung des Jobs durch d.ecs content crawler erfolgen kann.

    • 2 Abort: Dieser Wert gibt an, dass die Weiterverarbeitung des Jobs durch d.ecs content crawler abgebrochen werden soll und dass das Objekt zurückgesetzt werden soll.

    • 3 Error: Dieser Wert gibt an, dass ein Fehler im Skript aufgetreten ist.

    • 4 Deleted: Dieser Wert gibt an, dass das Objekt im Skript gelöscht wurde. Der Job wird ebenfalls direkt gelöscht.

  • StatusMessage: Eine optionale Meldung, die in der Jobs-Übersicht von d.ecs content crawler anzeigt wird. Sie können die Meldung im Skript festlegen, um nähere Informationen zum Status mitzuteilen.

GroupwareItemIdentifier (HCL Domino)

{
    "type": "DOMINO",
    "server": "dominoserver/domain",
    "database": "mail/mailuser.nsf",
    "replicaId": "C1257CB700273AAF",
    "noteId": "39CA",
    "universalId": "84A717A82EDD701DC12580ED0051F49D",
    "attachmentIdentifier": null
}
  • type: Legt fest, ob ein Objekt einem HCL Domino-System oder einem Microsoft Exchange-System angehört.

  • server: Der Name des HCL Domino Servers, auf dem sich die Datenbank und das Objekt befinden. Verwenden Sie die übliche Kurzschreibweise <Server>/<Domäne>.

  • database: Der Pfadname und Dateiname der Datenbank, in der das Objekt enthalten ist. Die Angaben sind immer relativ zum Data-Verzeichnis des HCL Domino Servers.

  • replicaId: Die Replikat-ID der Datenbank.

  • noteId: Die Note-ID des Objekts innerhalb der Datenbank.

  • universalId: Die Universal-ID des Objekts innerhalb der Datenbank.

  • attachmentIdentifier: Wenn Sie diesen Eintrag füllen, wird mit diesem Eintrag ein Attachment innerhalb eines Objekts identifiziert. Da dieser Eintrag in d.ecs content crawler nicht angewendet wird, ist der Wert immer null.

GroupwareItemIdentifier (Microsoft Exchange)

{
    "type": "EXCHANGE",
    "exchangeStoreType": 0,
    "mailbox": "ttes@so.training",
    "parentFolderId": null,
    "entryId": "AAMkADQyMzc0YTZmLWIyM2QtNDFkOC04MDJhLWRmZDUxMTAxMDMyZQBGAAAAAAAZMnZybIySRbt8MxDtMGQbBwCUhE5mmOtWRbVwYoiZpwRcAAAAZwNIAAAhPwfg1f9rTqKq29vpQTqcAAATGKY5AAA=",
    "attachmentId": -1,
    "entryIdFormat": 1,
    "isDeletedElement": false
}
  • type: Legt fest, ob ein Objekt einem HCL Domino-System oder einem Microsoft Exchange-System angehört.

  • exchangeStoreType: Der Typ des Postfachs. Beim Wert 0 handelt es sich um das primäre Postfach des Benutzers. Beim Wert 1 handelt es sich um das Archiv-Postfach des Benutzers. Beim Wert 2 handelt es sich um den öffentlichen Ordner.

  • mailbox: Das Postfach, in dem das Objekt enthalten ist. Das Format ist die SMTP-Adresse.

  • parentFolderId: Die ID des Ordners, in dem das Objekt enthalten ist.

  • entryId: Die ID des Objektes innerhalb des Postfachs.

  • attachmentId: Wenn Sie diesen Eintrag füllen, wird mit diesem Eintrag ein Attachment innerhalb eines Objekts identifiziert. Da dieser Eintrag in d.ecs content crawler nicht angewendet wird, ist der Wert immer -1.

  • entryIdFormat: Das Format der Eintrags-ID. Beim Wert 0 handelt es sich um das MAPI-Format. Beim Wert 1 handelt es sich um das EWS-Format. Mithilfe der Exchange-Webdienste können Eintrags-IDs im MAPI-Format in das EWS-Format umgewandelt werden.

  • isDeletedElement: Gibt an, ob das Objekt im Ordner Recoverable Items enthalten ist. Standardmäßig ist das irrelevant.

Beispielskript (alle Objekte verarbeiten)

param([string]$scriptDto)
 
$dto = $scriptDto | ConvertFrom-Json
 
$dto.Status = 1
 
$Obj = @{ }
 
$Obj.ReturnCode = 0
$Obj.ScriptDto = $dto | ConvertTo-Json
 
return $ResultObj = (New-Object PSObject -Property $Obj)

Wenn ein Objekt durch eine externe Regel nicht verarbeitet wird, muss das Objekt ein entsprechendes Flag erhalten und in einen Ordner verschoben werden, der nicht überwacht wird. Bei der nächsten Verarbeitung durch d.ecs content crawler wird dieses Objekt nicht erneut verarbeitet.

In Microsoft Exchange müssen Sie die benannte Eigenschaft DXJOB (Typ: PT_UNICODE) mit dem Wert SCP füllen.

In HCL Domino müssen Sie das Feld D3IMPORT (Typ: Text) mit dem Wert SCP füllen.