Integration von Microsoft Exchange-Kalendern

Einleitung

Ab CM-Version 6.10 ist es möglich, eine Microsoft Exchange-Kalenderansicht in den Web Client zu integrieren.

Eine Liste der unterstützten Versionen von Exchange Server finden Sie in den ConSol CM Systemanforderungen.

Die Kalenderansicht kann an folgenden Stellen angeboten werden ...

Der Kalender wird in einem eigenen Bereich der Ticket- bzw. Kundenseite angezeigt.

Ein Bearbeiter, der mit der Kalenderansicht arbeitet, kann ...

Abbildung 300: ConSol CM Web Client - Ticket mit Kalenderbereich (Monatsansicht)

Abbildung 301: ConSol CM Web Client - Hinzufügen eines Termins im Kalender

Konfigurieren der Integration eines Microsoft Exchange-Kalenders

Grundlegende Konfiguration

Die Integration eines Microsoft Exchange-Servers, der die Kalenderdaten bereitstellen soll, basiert auf der Seitenanpassung. Eine detaillierte Einführung in dieses Thema finden Sie im Abschnitt Seitenanpassung. In diesem Kapitel wird nur die Konfiguration erklärt, die den Kalender betrifft.

Führen Sie folgende Schritte durch:

  1. Blenden Sie den Kalenderbereich ein (Beispiel für die Ticketseite):

    Melden Sie sich als Administrator an und öffnen Sie ein Ticket. Wählen Sie im Hauptmenü Seitenanpassung aktivieren. Da der Kalenderbereich noch nicht angezeigt wird, können Sie das Element, das Sie konfigurieren möchten, nicht markieren. Stattdessen können Sie es in der Baumstruktur der Seitenanpassung auswählen. Wählen Sie calendar/ticketEditPage/calendarSection und setzen Sie das Attribut state von hidden auf expanded. Alternativ können Sie collapsed verwenden. Damit ist der Kalenderbereich am Anfang eingeklappt und der Bearbeiter kann ihn manuell ausklappen. In beiden Fällen ist der Kalenderbereich im Ticket sichtbar. In der Kopfzeile wird Kein Kalender angezeigt. Die Konfiguration des Kalenders folgt in Schritt 2.

    Abbildung 302: ConSol CM Web Client - Einblenden des Kalenderbereichs im Ticket mit der Seitenanpassung

    Abbildung 303: ConSol CM Web Client - Definitionsbereich der Seitenanpassung für den Kalenderbereich des Tickets

  2. Konfigurieren Sie das Kalenderskript:

    Der Verbindung zum Kalender auf dem Microsoft Exchange-Server wird mithilfe eines Admin-Tool-Skripts implementiert. Das Skript muss im Skriptbereich des Admin Tools gespeichert werden, d.h. in der Navigationsgruppe System, Navigationselement Skripte und Templates, und muss vom Skripttyp Kalenderintegration sein. Der Name des Skripts muss in der Seitenanpassung als Wert für das Attribut calendarInitializationScript eingegeben werden (siehe Schritt 1). Das Admin-Tool-Skript wird zum Initialisieren der Kalenderquelle verwendet und muss eine Map zurückgeben, die alle Parameter enthält, mit denen die Quelle beschrieben wird. Wenn die zurückgegebene Map leer oder null ist, wird kein Kalender angezeigt. (Der Bereich ist leer und hat die Beschreibung Kein Kalender.)

    Das Skript muss wie im folgenden Beispiel gezeigt codiert werden:

    return [

    name: 'Exchange Source',

    'access.type': 'EXCHANGE',

    'access.url': 'https://exchange1.server.net/EWS/Exchange.asmx',

    'access.username': 'exchange-user',

    'access.password':'exchange-password',

    'access.domain': 'SSO',

    'access.impersonation':'somebody@sso.server.net',

    'access.version': '2013'

    ]

    Code-Beispiel 45: Beispiel für Kalenderintegrationsskript

    Im Skript können folgende Parameter verwendet werden: 

    1. name
      String. Der Name der Quelle. Noch hat diese Angabe keine Funktion. In zukünftigen CM-Versionen, wenn mehrere Quellen im Kalenderbereich verwendet werden können, dient sie der Identifizierung der Quelle auf der Benutzeroberfläche.
    2. color
      String. Hintergrundfarbe für Termineinträge. Format: HTML-Farbformat (z. B. red oder #D80000)
    3. editable
      Boolean. Gibt an, ob das Erstellen/Bearbeiten/Entfernen von Terminen aktiviert sein soll. Wenn dieser Wert nicht explizit gesetzt ist, wird der Wert aus der Seitenanpassung des Bereichs verwendet. Dieser ist standardmäßig auf false gesetzt. Hinweis: Termine können nur bearbeitet werden, wenn der aktuelle Benutzer Schreibrechte auf das Ticket hat, in dem der Kalenderbereich angezeigt wird.
    4. access.*
      Properties für den Zugriff auf den Kalender: Anmeldeinformationen, Verbindungsdetails, URLs ... usw.
      1. access.type
        String-Parameter. Mögliche Werte EXCHANGE (Microsoft Exchange Server), RANDOM (zu Testzwecken zufällig generierte Termine).

        Für access.type EXCHANGE:

        1. access.url
          URL. Die URL der .asmx-Datei (Active Server Method File) auf dem Exchange-Server. Diese Datei befindet sich normalerweise im Verzeichnis EWS (Exchange Web Services) und stellt den Exchange Access Web Service zur Verfügung.
        2. access.username
          String. Der Name des technischen Benutzers, mit dem der Zugriff / die Anmeldung beim Exchange-Server durchgeführt wird.
        3. access.password
          String. Das Passwort des technischen Benutzers, mit dem der Zugriff / die Anmeldung beim Exchange-Server durchgeführt wird.
        4. access.domain
          String. Die Windows-Domäne des Exchange-Servers. Der technische Benutzer (für access.username und access.password, siehe oben) muss ein Mitglied dieser Domäne sein.
        5. access.impersonation
          String. E-Mail-Konto eines Exchange-Kalenderbenutzers. Der Kalender auf der Ticketseite oder der Kundenseite basiert auf der Ansicht, die dieser Benutzer auf den Exchange-Kalender hat. So könnte somebody zum Beispiel das Exchange-Login des momentan angemeldeten ConSol CM-Bearbeiters sein. Wenn der Name des Bearbeiters in Exchange und ConSol CM identisch ist, können Sie über die Methode workflowApi.getCurrentEngineer().getName() oder engineerService.current.name den Namen des aktuellen Bearbeiters an Exchange weitergeben.

        Für access.type RANDOM:

        1. access.calendar
          Name der Kalenderdatei. Beim zufälligen Kalender werden die erzeugten Termine auf der Festplatte gespeichert. (Die Dateien werden automatisch entfernt, wenn der CM-Server angehalten wird.) Durch die Verwendung des gleichen Namens in der Konfiguration wird sichergestellt, dass der Benutzer den gleichen Satz an Terminen hat.)

      Zusätzliche Variablen im Skript:

      • Ticketkontext: ticket
      • Kontakt-/Kundenkontext: unit
  3. Aktivieren Sie den Editiermodus für den Kalender:
    Um den Bearbeitern vollen Zugriff zu ermöglichen (d. h. Erstellen und Editieren von Terminen), setzen Sie das Attribut editable auf true.

Grundprinzip des Zugriffs auf Kalender auf Exchange-Servern

Der konfigurierte Exchange-Server, genauer gesagt der in der URL angegebene Web Service, wird kontaktiert. Die Anmeldung auf dem Server erfolgt mit dem technischen Benutzer (access.username, access.password). Danach wird der Benutzer in die Person / den Benutzer geändert, der unter access.impersonation angegeben ist. Letzteres wird mithilfe der Funktion Impersonation (Identitätswechsel) des Exchange-Servers durchgeführt. Der Kalender des Benutzers, dessen Identität der technische Benutzer angenommen hat, wird im Ticket oder auf der Kundenseite angezeigt.

Die Funktion zum Wechseln der Identität kann nur von einem Konto verwendet werden, dem der Exchange-Administrator die Rolle ApplicationImpersonation erteilt hat. Stellen Sie beim Einrichten dieser Rolle sicher, dass alle Sicherheitsaspekte berücksichtigt werden!

Erweiterte Konfiguration: Seitenanpassungsparameter für die Integration von Microsoft Exchange-Kalendern

Kurze Hintergrundinformationen über die Integration von Microsoft Exchange-Kalendern

Die Integration (oder genauer gesagt, die Anzeige) von Microsoft Exchange-Kalendern in ConSol CM basiert auf dem jQuery-Plugin fullcalendar. Vollständige Details über diese API finden Sie auf der Blendarkatur-Website.

Seiten für die Konfiguration von calendarSection

Der Kalenderbereich kann auf drei Seiten konfiguriert werden:

calendarSection

Mit den folgenden Attributen können die Darstellung und das Verhalten des integrierten Exchange-Kalenders konfiguriert werden.

Attribute:

Definieren von Event-Handlern für Terminereignisse

Mithilfe des Seitenanpassungsattributs calendarEventHandlerScript können Sie Aktionen definieren, die angestoßen werden sollen, wenn ein bestimmtes Ereignis eingetreten ist. Die Ereignisse, die verwendet werden können, sind:

Zum Beispiel können Sie definieren, dass automatisch eine E-Mail an alle Kontakte des Tickets gesendet wird, wenn ein neuer Termin gemacht wird.

In einem calendarEventHandlerScript sind folgende Variablen verfügbar: