[BP-844] doc: cyclic report generation doc * added user documentation for cyclic report generation user interface * added architecture documentation parts for cyclic report generation * added description for new configuration parameters Signed-off-by: Tobias Stummer <stummer@develop-group.de>
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/images/ok_db_model_crg.png b/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/images/ok_db_model_crg.png new file mode 100644 index 0000000..258c621 --- /dev/null +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/images/ok_db_model_crg.png Binary files differ
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/01_introduction_and_goals.adoc b/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/01_introduction_and_goals.adoc index a696220..518257a 100644 --- a/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/01_introduction_and_goals.adoc +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/01_introduction_and_goals.adoc
@@ -31,6 +31,7 @@ |Role/Name|Contact|Expectations |Product Owner (represents the Distribution System Operators)|Oliver Frank, Heinrich Schubert|The software must fulfil their functional and nonfunctional Requirements. |Module Developer|Maximillian Ridder, Christoph Weber, Markus Wolf, Saverio Mancuso, Jan Gerste|All relevant business and technical information must be available for implementing the software. +|Cyclic Reports Developer| Tobias Stummer, Dr. Christopher Keim| All relevant business and technical information must be available for implementing the cyclic report generation feature. |External Reviewer (represents the AC/QC)|Thorsten Meyer|The software and the documentation is realized according the Quality and Architecture Handbook of openKONSEQUENZ. |External Reviewer (represents the Eclipse-Requirements)|Angelika Wittek|The software is licensed under the EPL 2.0. It must be validated that all requirements are fulfilled. |System Integrator|n.n.|A documentation for the integration of the module in the DSO specific environments must be available.
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/05_building_block_view.adoc b/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/05_building_block_view.adoc index af4790b..a074129 100644 --- a/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/05_building_block_view.adoc +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/arch/src/05_building_block_view.adoc
@@ -46,6 +46,14 @@ .database_tables image:../images/ok_db_model_002.png[ok_db_model_002.png,600,600,align="center"] +===== Cyclic Report Generation + +The cyclic report generation configuration is stored in the database. +Each cyclic report generation trigger configuration is stored as one entry in the *reportgenerationconfig* table. + +.database_tables_cyclic_report_generation +image::../images/ok_db_model_crg.png[width=150] + ==== Program Configuration ===== Frontend Configuration @@ -62,5 +70,5 @@ } ===== Backend Configuration -====== E-Mail Configuration -Not defined yet. \ No newline at end of file +For details of the backend configuration please see the *config* documentation. +
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/howto/config.adoc b/oKBereitschaftsplanungBackend/src/main/asciidoc/howto/config.adoc index c8155b4..f1e6051 100644 --- a/oKBereitschaftsplanungBackend/src/main/asciidoc/howto/config.adoc +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/howto/config.adoc
@@ -127,7 +127,7 @@ basePath:"https://localhost:8080/spbe/webapi" -== Difine application properties[[ApplicationProperties]] +== Define application properties[[ApplicationProperties]] After deplying the backend war file to the server, you will find the folder *spbe*. If you have to configure for example the auth&auth URL, then see the application.properties under @@ -145,5 +145,36 @@ * SQL-init-scripts * Mail * placeholder user ids - - + +=== Cyclic report generation + +[option="header", cols="1,1"] +|=== +| Key | Description +|report.cyclic.datePattern | yyyyMMdd - +{Date}+ replacement pattern +|report.cyclic.timePattern | HHmm - +{Time}+ replacement pattern +|report.cyclic.weekPattern | ww - +{Week}+ replacement pattern +|report.cyclic.zoneName | Europe/Berlin - time zone +|report.cyclic.locale | de - Locale +|report.cyclic.archiveReport | true - enable/disable archive +|report.cyclic.archivePath | /opt/openkdg/reports - archive folder path +|report.cyclic.sendReportMail | true - enable/disable send mail +|report.mail.propertiesPath | /opt/openkdg/mail-notification.properties - mail config +|report.cyclic.checkCron | 15 0/5 * * * ? - cron schedule for trigger lookups +|report.cyclic.slotDeltaMin | 5 - trigger time slot minutes (should match cron schedule trigger delta) +|=== + +== Cyclic report generation mail properties + +The file referenced by the report.mail.propertiesPath in the application properies should contain a set of mail connection properties. + +* mail.imap.user = username username of the mail account +* mail.imap.password = password password of the mail account +* mail.smtp.host = smtp.host.tld SMTP host address +* mail.smtp.auth = true enable authentication +* mail.smtp.from = standbyplanningreports@company.tld email address of the sender +* mail.smtp.port = 465 port +* mail.smtp.socketFactory.port = 465 +* mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory +* mail.smtp.socketFactory.fallback = false +
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/cyclic-reports.adoc b/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/cyclic-reports.adoc new file mode 100644 index 0000000..84f7352 --- /dev/null +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/cyclic-reports.adoc
@@ -0,0 +1,141 @@ += 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.
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/images/cyclic-reports/form.png b/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/images/cyclic-reports/form.png new file mode 100644 index 0000000..93671bd --- /dev/null +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/images/cyclic-reports/form.png Binary files differ
diff --git a/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/images/cyclic-reports/overview.png b/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/images/cyclic-reports/overview.png new file mode 100644 index 0000000..f6e5505 --- /dev/null +++ b/oKBereitschaftsplanungBackend/src/main/asciidoc/userdoc/images/cyclic-reports/overview.png Binary files differ