= Benutzerhandbuch: OpenKONSEQUENZ Modul - Bereitschaftsplanung (Addendum Zyklische Reportgenerierung)
:Author: Tobias Stummer, Dr. Christopher Keim

:icons:

:source-highlighter: highlightjs
:highlightjs-theme: solarized_dark

:lang: de

:encoding: utf-8

:imagesdir: ./images
:iconsdir: ./images/icons

:toc: preamble
:toc-title: Inhaltsverzeichnis
:chapter-label: Kapitel
:toclevels: 4
:toc-placement!:
:sectanchors:
:numbered:
:table-caption: Tabelle
:figure-caption: Abbildung

<<<


== Übersicht

Die Erweiterung _Zyklische Reportgenerierung_ zu dem OpenKONSEQUENZ Modul _Bereitschaftsplanung_ umfasst eine
Automatisierung der bereits im Modul bestehenden Funktionalität zur Reporterzeugung. Im Folgenden wird eine
kurze Übersicht über die Erweiterung gegeben.


=== Rollen

Die Konfiguration der Automatisierung kann nur von Nutzern mit Adminstrator-Rechten durchgeführt werden.
Alle anderen Nutzer ohne die Administrator-Rolle wird dieser Bereich verwährt.


=== Automatisierter Prozess

Die Automatisierung der Reportgenerierung findet auf Grund einer vom Administrator durchgeführten Konfiguration statt.

Für jeden Eintrag in der Konfigurationstabelle legt der Administrator einen Wochentag sowie eine Uhrzeit fest, an dem
die Erzeugung eines Reports jeweils automatisch gestartet wird. Diese Uhrzeit ist grundsätzlich in dem Modul nur in
jeweils 5-Minuten-Schritten frei wählbar. Weitere Konfigurationsparameter umfassen alle Einstellungsmöglichkeit zur
Erzeugung eines Reports, die auch bereits im Bereich _Abfrage und Reports_ zur Reporterzeugung vorhanden sind, wobei
die Gültigkeit des Reports relativ zum Auslösezeitpunkt angegeben wird.

Nach der Erzeugung eines Reports wird die erstellte Datei jeweils an eine freikonfigurierbare Empfängerliste via Email
geschickt sowie an einem festen Dateiablageort unter einem der ebenfalls konfigurierbaren Dateinamen abgelegt.

Grundsätzlich ausgenommen von der zyklischen Reportgenerierung sind persönliche Reports, die eine spezifische
Nutzerkennung erfordern.

<<<


== Nutzeroberfläche

Die Nutzeroberfläche für die zyklische Reportgenerierung ist zweigeteilt in eine
<<Übersicht der Konfiguration, Übersicht>> und ein <<Konfigurationsformular>> zur Erstellung, Bearbeitung und Löschung
von Konfigurationseinträgen.

=== Übersicht der Konfiguration

Die Übersichtsseite der Konfiguration kann durch den Administrator jederzeit über einen Eintrag im Navigationsmenü in
der Kopfleiste der Benutzeroberfläche betreten werden.

.Übersicht der Konfiguration
image::cyclic-reports/overview.png[]

Die Nutzeroberfläche zeigt in einer Tabelle alle bestehenden Konfigurationseinträge, die in der Anwendung
hinterlegt sind. Die Tabelle kann wie im restlichen Modul über den Tabellenkopf neu sortiert und gefiltert werden.
Durch Anklicken einer Tabellenzeile können Einzelheiten für den gewählten Konfigurationseintrag über das
<<Konfigurationsformular>> aufgerufen und verändert werden.

Ein neuer Eintrag kann über die Schaltfläche _Neuer Eintrag_ angelegt werden. Hier öffnet sich ebenfalls das
Konfigurationsformular, wobei die meisten Eingabefelder erst noch befüllt werden müssen.

.Tabellenaufbau Übersichtsseite
[options="header", cols="1,2"]
|===
| Bezeichner       | Beschreibung
| Name             | Benutzerdefinierter Name für den Konfigurationseintrag.
| Planart          | Planart der automatisch erzeugten Reports.
| Liste            | Liste der automatisch erzeugten Reports.
| Auslösezeitpunkt | Zyklischer Auslösezeitpunkt der automatisch erzeugten Reports.
|===


=== Konfigurationsformular

Das Konfigurationsformular für einen bestehenden oder einen neuen Eintrag kann vom Administrator über die
<<Übersicht der Konfiguration, Übersicht>> aufgerufen werden.

.Konfigurationsformular
image::cyclic-reports/form.png[]

Wie im restlichen Modul kann die Konfiguration über einzelne Kontrollelemente des Formulas wie Textfelder,
Selektionsmenüs und Schaltflächen abgeändert werden.
Nach dem Ausfüllen aller Pflichtfelder kann der Administrator über die Schaltfläche _Speichern_ die neuen Werte
in der Anwendung hinterlegen. Ein bereits bestehender Eintrag kann über die Schaltfläche _Löschen_ auch wieder
gelöscht werden. Die Schaltfläche _Zurück_ führt den Administrator zurück zu der Übersichtsseite.

Die folgende Tabelle umfasst alle möglichen Eingabefelder des Formulars.

.Aufbau des Konfigurationsformulars
[options="header", cols="1,2"]
|===
| Bezeichner         | Beschreibung
| Name               | Benutzerdefinierter Name für den Konfigurationseintrag.
| Planart            | Planart der automatisch erzeugten Reports.
| Liste              | Liste der automatisch erzeugten Reports.
| Ebene              | Ebene der automatisch erzeugten Reports.
| Format             | Dateiformat der automatisch erzeugten Reports.
| Empfänger          | Emailempfänger der automatisch erzeugten Emails.
| Betreff            | Emailbetreff der automatisch erzeugten Emails.
| Emailtext          | Emailtext der automatisch erzeugten Emails.
| Dateiname          | Dateiname der automatisch erzeugten Reports.
| Auslösezeitpunkt   | Zyklischer Auslösezeitpunkt der automatisch erzeugten Reports.
| Gültigkeit von/bis | Gültigkeit der automatisch erzeugten Reports relativ zum Auslösezeitpunkt.
|===

In den Eingabefeldern für den Betreff, den Emailtext und den Dateinamen können Platzhalter gesetzt werden, die
automatisch von der Anwendung zum jeweiligen Auslösezeitpunkt ersetzt werden.
Alle möglichen Platzhalter werden in der folgenden Tabelle aufgelistet.

.Platzhalter dynamischer Werte
[options="header", cols="1,2,3"]
|===
| Platzhalter | Beschreibung  | Beispiel (Auslösezeitpunkt 24.12.2020, 18:00)
| {Date}      | Datum         | 20201224
| {Time}      | Uhrzeit       | 1800
| {Week}      | Kalenderwoche | 52
|===

Zur Prüfung werden in einer Informationsbox die Platzhalter exemplarisch für den nächsten Auslösezeitpunkt
gemäß den bestehenden Eingaben ersetzt.
