Report Scheduler App

Grundsätzliche Funktionsweise des Reportschedulers

Über den Reportscheduler können vorab unter einem freien Namen gespeicherte Reportfilter ausgewählt und regelmäßig automatisch ausgeführt werden.
Dies ermöglicht eine schnelle Einplanung eines bereits gespeicherten Reportfilters, ohne dass die Filterparameter auf jedem Report-Scheduler Eintrag erneut ausgewählt werden müssen. Da sich die Parameter für jeden Report unterscheiden können, ist dies die einfachste Lösung einen Bericht vorzufiltern und diesen ausführen zu lassen.

Die zur Verfügung stehenden Reportfilter werden über einen technischen Benutzer mit benutzerübergreifenden Rechten ermittelt. Der Zugriff auf diese Daten erfolgt per REST API und benötigt daher eine sichere 2-Faktor Authentifizierung (OAuth2).

Der Ausführungsintervall lässt sich frei einstellen, ebenso das Ziel für den fertigen Bericht. Hier stehen FTP/SFTP, Verzeichnis auf dem Webserver und ein Versand per Email über die systemweit konfigurierten SMTP Emailkonten zur Verfügung.

Einrichtung und Konfiguration

Für die grundsätzliche Einrichtung des Report-Schedulers sind ein paar Konfigurationen nötig:

  • Technischer iAGENT Benutzer mit umfassender Berechtigung und dem Häkchen „Agent“
  • OAuth2 Eintrag für Freigabe mit 2-Faktor Authentifizierung
  • Konfiguration auf der Report-Scheduler App

 

iAGENT Benutzer anlegen

Es wird ein Benutzer benötigt, der das Recht hat, gespeicherte Reportvorlagen aller Benutzer sehen zu können. Die automatisch entstandenen Rechte der gespeicherten Reports müssten entweder einer seiner Systemgruppen zugeordnet werden, oder, wenn es die eigenen Sicherheitsrichtlinien gestatten, dem Benutzer die Administratorengruppe zugeordnet werden. Dann hat dieser Benutzer automatisch das Recht, neu gespeicherte Reportfilter zu sehen.

Dieser Benutzer wird benötigt, um auf der Report-Scheduler Maske die verfügbaren, gespeicherten Reports anzuzeigen. Taucht ein gespeicherter (geteilter) Reportfilter hier nicht auf, so hat der Benutzer höchstwahrscheinlich nicht das Recht, diesen gespeicherten Reportfilter sehen zu dürfen.

Die Zugriffsdaten für diesen Benutzer bitte merken, sie werden später in der Konfiguration auf der Report-Scheduler App benötigt.

OAuth 2 Eintrag anlegen

Damit die Zweifaktor-Authentifizierung über die App auf sensible iAGENT Daten funktioniert, muss eine Client-ID und ein Secret eingerichtet werden. Dies geschieht über die entsprechende Supervisor Oberfläche im Menü „Administration->System->OAuth2 applications“.

Hier bitte einen freien Namen sowie eine freie Client-ID eintragen. Das Secret wird automatisch und zufällig generiert, kann aber durch die Schaltfläche „New Secret“ erneuert werden. Nun den Eintrag speichern. Nach dem Speichern die Client-ID und das Secret für später kopieren (Secret vorher über die Schaltfläche „Show Secret“ anzeigen lassen).

URL ist nicht notwendig und kann freigelassen werden.

Konfiguration der Report-Scheduler App

Über den Supervisor Menüpunkt „Administration->System->Apps“ die Report-Scheduler App hochladen, sofern noch nicht geschehen (siehe https://apps.novomind.com) und dessen Konfigurationsoberfläche über einen Klick auf den Eintrag in der App Liste des Supervisors öffnen.

REST API AUTHENTICATION

Hier werden nun folgende Daten eingegeben:

OAuth Client-ID: Die Client-ID aus den oben konfigurierten OAuth2 applications

OAuth Client Secret: Das generierte Secret aus den oben konfigurierten OAuth2 applications

OAuth Token Endpoint: https://<URL-zum-iAGENT-Server>/iMail/api/rest/token  (z.B. https://iagent-demo.novomind.com/iMail/api/rest/token)

Username: Benutzername des angelegten, technischen iAGENT Benutzers (siehe oben)

Passwort: Passwort des angelegten, technischen iAGENT Benutzers (siehe oben)

REST API ENDPOINTS

Get Reports Endpoint: https://<URL-zum-iAGENT-Server>/iMail/api/rest/prefilledreports

Trigger Report Endpoint: https://<URL-zum-iAGENT-Server>/iMail/api/rest/prefilledreports/{}/execute  (die leeren geschweiften Klammern sollen so sein, das ist der Platzhalter für den ausgewählten Report!)

EMAIL CONFIGURATION

Hier wird der Email-Server, der Benutzername des Mail Accounts sowie der Port (Standard SMTP ist 25) eingetragen.

Die Absenderadresse und die Adresse, an die Fehlerhafte Ausführungen gemeldet werden, können hier ebenfalls eingetragen werden.

Wichtig zu prüfen ist, ob das angegebene Benutzerkonto des Mail Accounts über die angegebene Absenderadresse Mails verschicken darf – dies ist nur zu beachten, wenn sich die Email-Adressen des angegebenen Mail Accounts und der Absenderadresse unterscheiden.

ACHTUNG:

Erst beim Anlegen eines Report-Scheduler Eintrags zur automatischen Ausführung des Reports wird geprüft, ob die SMTP Konfiguration valide ist und funktioniert! Ist dies nicht der Fall, so wird eine Fehlermeldung angezeigt:

FTP und SFTP CONFIGURATION

Zugangsdaten sind entsprechend in die Felder einzutragen.

Reports einplanen

Jetzt ist die Konfiguration abgeschlossen und Reports können wie folgt eingeplant werden.

Reportfilter erstellen

Über das Supervisor Hauptmenü wird der gewünschte Report geöffnet. Beispiel:
„Reports->Mail->Abgeschlossen“

Nun werden die gewünschten Filter für den Zeitraum, die Kategorien etc. so eingestellt, wie sie im Report angewendet werden sollen.

Datumsauswahl:

Zu beachten ist, dass der gewünschte Zeitraum dynamisch ausgewählt werden sollte. In der Kalenderauswahl auf einem Datumsfilter gibt es daher die relativen Zeitangaben wie „letzter Monat“ oder „dieses Jahr“. Diese relativen Zeitangaben werden so gespeichert, dass sie bei jeder zukünftigen Reportausführung neu ermittelt werden. Fest eingegebene Datumsfilter hingegen werden nicht verändert, wodurch die eingeplanten Reports jedes Mal dieselben Daten liefern könnten.

Nach der Auswahl aller relevanten Filterkriterien muss der Report zum Testen einmalig ausgeführt werden. Ist das Ergebnis wie gewünscht, so kann der eingestellte Filter über die Schaltfläche „Speichern“ abgespeichert werden.

Beim Speichern erscheint ein Dialog, auf dem man einen freien Namen vergeben und die mitzuspeichernden Filterkriterien an- und abwählen kann. Die Empfehlung hier ist, alle Häkchen gesetzt zu lassen.

Nun haben wir einen Reportfilter erstellt, den wir auf der Report-Scheduler App auswählen können.

Reportausführung einplanen

Über das Supervisor-Hauptmenü „Apps->REPORT SCHEDULER“ kann nun die App zur Einplanung der Reports geöffnet werden.

Die Schaltfläche „Neu“ erlaubt das Erstellen eines neuen Eintrags. Auf dem Dialog kann nun über eine Dropdownliste „Report-Name“ der vorab erstellte Reportfilter ausgewählt werden.

Der resultierende Dateiname der jeweiligen Reportausführung kann im darunterliegenden Feld konfiguriert und durch dynamische Platzhalter ergänzt werden: {report_name}, {report_id}, {yyyy}, {MM}, {dd}, {HH} oder {mm}

Weiter können die Ausgabesprache des Reports, sowie das Dateiformat XLSX oder CSV eingestellt werden.

Die so erzeugte Reportdatei kann dann über die nächsten Felder entweder per Email verschickt, auf einem Verzeichnispfad des Webservers abgelegt oder per FTP/SFTP hochgeladen werden.

Über SCHEDULE kann der Ausführungsintervall eingestellt werden.

Soll der Report beispielsweise Montags und Mittwochs erstellt werden, so ist folgende Eingabe erforderlich: