Beschreibung:

In diesem Artikel wird beschrieben, wie ein ePaper-Server mittels Modern Authentication an Office 365 angebunden werden kann, um Termine aus Office 365 auf den ePaper-Displays darzustellen.

Bitte beachten Sie, dass LANCOM Systems keinen Support beim Troubleshooting eines solchen Szenarios leisten kann, da eine Analyse der externen Systeme (Microsoft Azure und Office 365) nicht möglich ist.

Der ePaper-Server wurde im Januar 2024 abgekündigt (End of Sale). LANCOM Systems wird daher für Neuinstallationen des ePaper-Servers keinen Support mehr leisten. Für Bestandsinstallationen des ePaper-Servers wird LANCOM Systems noch bis einschließlich Januar 2026 Support leisten.


Voraussetzungen:


Vorgehensweise:

1. Vorbereitende Schritte in Microsoft Azure:

Der Zugang zu Office 365 wird im Hintergrund über Microsoft Azure realisiert. Daher ist bei Verwendung von Office 365 immer auch ein Zugang zu Microsoft Azure vorhanden. Damit der ePaper-Server an Office 365 angebunden werden kann, müssen in Microsoft Azure einige Einstellungen vorgenommen werden.

1.1 Rufen Sie den folgenden Link auf, um sich bei Microsoft Azure anzumelden.

https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

1.2 Wählen Sie das Administrator-Konto von Office 365 aus und melden sich an. 

1.3 Klicken Sie bei App-Registrierungen auf Neue Registrierung, um eine Anwendung mit Azure zu verbinden.

1.4 Passen Sie die folgenden Parameter an und klicken auf Registrieren:

1.5 Kopieren Sie in der Übersicht die Anwendungs-ID und speichern diese zur späteren Verwendung in einer Text-Datei ab.

1.6 Wechseln Sie in den Reiter Zertifikate & Geheimnisse und klicken auf Neuer geheimer Clientschlüssel, um einen Schlüssel für die Kommunikation mit Office 365 zu generieren.

1.7 Passen Sie die folgenden Parameter an und klicken auf Hinzufügen:

Nach Ablauf der Gültigkeit muss ein neuer Schlüssel erstellt werden und dieser in den Python-Skripten hinterlegt werden (siehe Schritt 2.2 und 2.3).

1.8 Kopieren Sie den geheimen Schlüssel (Wert) und speichern diesen zur späteren Verwendung in einer Textdatei ab. 

Der geheime Schlüssel muss zwingend zu diesem Zeitpunkt kopiert werden, da dies zu einem späteren Zeitpunkt nicht mehr möglich ist. In diesem Fall muss der Schlüssel gelöscht und ein neuer erstellt werden.

1.9 Wechseln Sie in den Reiter API-Berechtigungen und klicken auf Berechtigung hinzufügen.

1.10 Klicken Sie auf Microsoft Graph.

1.11 Wählen Sie Delegierte Berechtigungen aus.

1.12 Wählen Sie die folgenden Berechtigungen aus und klicken anschließend auf Berechtigungen hinzufügen:

1.13 Die Berechtigungen sehen anschließend wie folgt aus.

1.14 Die vorbereitenden Schritte in Microsoft Azure sind damit abgeschlossen.



2. Anpassung der mitgelieferten Skript-Dateien:

Damit die Anbindung funktioniert, müssen in den Python-Skripten noch die Login-Daten und in der Konfigurations-Datei noch einige Informationen zum ePaper Server hinterlegt werden. Weiterhin muss das ePaper-Template in das Installationsverzeichnis des ePaper-Servers kopiert werden, sofern noch kein eigenes Template verwendet wird.

Laden Sie sich dazu die im Anhang befindliche Datei ePaper-Office 365-Skripte.zip herunter und entpacken diese.


2.1 Kopieren des ePaper-Templates in das Installationsverzeichnis des ePaper-Servers:

Sollten Sie bereits ein angepasstes Template verwenden, so überspringen Sie diesen Schritt.

Kopieren Sie das ePaper-Template lcsconference_landscape.xsl und fügen dieses im Installationsverzeichnis des ePaper-Servers (Standard: C:\Program Files (x86)\LANCOM\WePD-Server) in den Ordner data → template ein.


2.2 Anpassung der Datei "O365_Auth.py":

Bearbeiten Sie die Datei O365_Auth.py in einem Texteditor und tragen bei credentials die in Schritt 1.5 kopierte Anwendungs-ID (Client) und den in Schritt 1.8 kopierten Geheimen Schlüssel (Wert) ein. 

Die Logindaten müssen jeweils in Hochkommata eingetragen werden, wie auf dem Screenshot ersichtlich.


2.3 Anpassung der Datei "O365_Update_v3.py" bzw. "O365_Update_24h_v3.py":

Bearbeiten Sie die Datei O365_Update_v3.py oder O365_Update_24h_v3.py in einem Texteditor und passen folgende Parameter an:

Es wird entweder das Skript O365_Update_v3.py oder O365_Update_24h_v3.py verwendet:

  • O365_Update_v3.py zeigt immer auch den nächsten Termin an, auch wenn dieser erst am nächsten Tag stattfindet.
  • O365_Update_24h_v3.py zeigt immer nur Termine vom gleichen Tag an.

Die Logindaten sowie die Zeitzone müssen jeweils in Hochkommata eingetragen werden, wie auf dem Screenshot ersichtlich.


2.4 Anpassung der Datei "config.json":

2.4.1 Bearbeiten Sie die Datei config.json und passen die folgenden Parameter an:

Die Parameter müssen jeweils in hochgestellten Anführungszeichen eingetragen werden, wie auf dem Screenshot ersichtlich.

2.4.2 Bei Verwendung mehrerer ePaper-Displays muss im Abschnitt displays für jedes Display der markierte Bereich kopiert und darunter eingefügt werden. Der Abschnitt eines ePaper-Displays muss jeweils durch ein Komma von dem Abschnitt des nächsten Displays getrennt werden. Die Parameter der weiteren Displays müssen wie in Schrtt 2.4.1 beschrieben angepasst werden.

2.4.3 Für zwei ePaper-Displays sieht der Abschnitt displays anschließend wie folgt aus.



3. Abschließende Schritte in der Windows Power-Shell auf dem System mit dem ePaper-Server: 

Öffnen Sie den Ordner, in dem sich die Python-Skripte befinden, öffnen bei gedrückter <Shift-Taste> das Kontextmenü per Rechtsklick und wählen PowerShell-Fenster hier öffnen aus.

Alternativ können Sie eine Powershell-Instanz direkt starten und in das Verzeichnis mit den Skripten navigieren.


3.1 Installation der Python Module für Office 365: 

3.1.1 Geben Sie den folgenden Befehl ein: pip install o365

3.1.2 Geben Sie anschließend den Befehl pip install tzdata ein, um die Zeitzonen-Datenbank der IANA anzubinden.


3.2 Installation des ExchangeOnlineManagement-Moduls:

3.2.1 Geben Sie den folgenden Befehl ein: Install-Module ExchangeOnlineManagement

3.2.2 Bestätigen Sie die Abfrage Möchten Sie den NuGet-Anbieter jetzt durch PowerShellGet installieren und importieren lassen? mit J (Ja).

3.2.3 Bestätigen Sie die Abfrage Möchten Sie die Module von 'PSGallery' wirklich installieren? mit J (Ja).


3.3 Import des ExchangeOnlineManagement-Moduls:

Geben Sie den folgenden Befehl ein: Import-Module ExchangeOnlineManagement


3.4 Registrierung des Office 365 Administrator-Kontos am ExchangeOnline-Modul:

3.4.1 Geben Sie den Befehl für die Registrierung in dem folgenden Format ein: Connect-ExchangeOnline -UserPrincipalName <admin@ihre-domain.de>

Tragen Sie als <admin@ihre-domain.de> die E-Mail Adresse des in Schritt 1.2 verwendeten Office 365 Administrator-Kontos ein.

3.4.2 Loggen Sie sich in dem Popup-Fenster des Web-Browsers im Administrator-Konto ein.

Das Popup-Fenster wird nur korrekt angezeigt, wenn der verwendete Web-Browser JavaScript unterstützt.


3.5 Anzeige des Organisators und des Betreffs auf den ePaper-Displays ermöglichen:

Geben Sie für die Registrierung den Befehl in dem folgenden Format ein: Set-CalendarProcessing -Identity <testraum@ihre-domain.de> -DeleteSubject $False -AddOrganizerToSubject $False

Tragen Sie als <testraum@ihre-domain.de> die E-Mail Adresse des Raumpostfachs ein.


3.6 Generierung eines Tokens zur Authentifizierung des Postfachstellvertreters:

3.6.1 Geben Sie den folgenden Befehl ein: python O365_Auth.py 

3.6.2 Kopieren Sie den Link unter Visit the following url to give consent: und geben diesen in einem Web-Browser ein.

3.6.3 Loggen Sie sich mit dem Account für den Postfachstellvertreter ein.

3.6.4 Kopieren Sie nach dem Login den Link aus dem Web-Browser.

3.6.5 Fügen Sie den kopierten Link in der PowerShell ein. Die erfolgreiche Authentifizierung wird mit der Meldung Authenticated! quittiert.


3.8 Starten des ePaper-Update-Skriptes:

Geben Sie einen der folgenden Befehle ein (siehe auch Schritt 2.3): python O365_Update_v3.py .\config.json -i 3 -u required oder python O365_Update_24h_v3.py .\config.json -i 3 -u required

Der Parameter -i steht für das Update-Intervall in Minuten. Der ePaper-Server sucht in diesem Beispiel also alle 3 Minuten nach Updates. Ein Update wird aber nur auf die ePaper-Displays ausgerollt, wenn es auch eine Änderung gibt.

Für den dauerhaften Betrieb des Update-Skriptes kann die Windows Aufgabenplanung verwendet werden.