////
 *******************************************************************************
 * Copyright (c) 2019 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *******************************************************************************
////

= Benutzerhandbuch: openKONSEQUENZ Störungsinformationstool

<<<


* Version: 1.0.1
* Datum: 08.10.2020
* Status: Final

<<<

:Author: Dr. Michel Alessandrini
:Email: michel.alessandrini@pta.de

:Date: 2020-10-08
:Revision: 1.0.1

:icons:

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

:lang: de
:encoding: utf-8

:imagesdir: ../img
:iconsdir: ../img/icons

:toc:

:toclevels: 3
:toc-title: Inhaltsverzeichnis

:toc-placement:
:sectanchors:
:numbered:

:sectnumlevels: 5

toc::[]

<<<

== Sinn und Zweck des Moduls Störungsinformationstool

Das Modul Störungsinformationstool ist ein User-Modul der openKONSEQUENZ.

Mit diesem Modul hat ein Netzbetreiber jederzeit alle Störungsmeldungen
inklusive der aktuellen Status im Überblick.

Dabei wird jede Störungsmeldung durch einen
vordefinierten Prozess von der manuellen Erfassung oder dem automatischen Import
über die Veröffentlichung bis zur Beseitigung der Störung unterstützt.
Die Zuständigkeiten im Prozess sind durch verschiedene Benutzerrollen klar
geregelt.

<<<

== Übersicht

[[uebersicht-benutzerrollen]]
=== Benutzerrollen
Zur Bearbeitung von Störungsmeldungen sind verschiedene Benutzerrollen
definiert, deren Aufgaben (Berechtigungen) in den folgenden Unterabschnitten
aufgelistet sind:

==== Erfasser
* <<uebersicht-aller-stoer,Darf alle Störungsmeldungen sehen>>
* <<stoerungsmeldung-erstellen,Darf Störungsmeldungen anlegen>>
* <<stoerung-ansicht-bearbeitung,Darf Störungsmeldungen im internen Bearbeitungsstatus "neu" und "geplant" bearbeiten>>
* <<stoerung-ansicht-bearbeitung,Darf Störungsmeldungen im internen Bearbeitungsstatus "qualifiziert" bearbeiten>>
* <<statuswechsel-allgemein,Darf den Wechsel des internen Bearbeitungsstatus von "neu" nach "angelegt" durchführen>>
* <<statuswechsel-allgemein,Darf den Wechsel des internen Bearbeitungsstatus von "geplant" nach "angelegt" durchführen>>
* <<stoerungsmeldung-loeschen,Darf Störungsmeldungen im Status "neu" und "geplant" löschen>>

==== Qualifizierer
* <<uebersicht-aller-stoer,Darf alle Störungsmeldungen sehen>>
* <<stoerung-ansicht-bearbeitung,Darf Störungsmeldungen im internen Bearbeitungsstatus "angelegt" und "aktualisiert" bearbeiten>>
* <<stoerung-ansicht-bearbeitung,Darf Störungsmeldungen im internen Bearbeitungsstatus "qualifiziert" bearbeiten>>
* <<allg-funktionen-uebersicht-aller-sm-verdichten,Darf Störungsmeldungen verdichten>>
* <<statuswechsel-allgemein,Darf den Wechsel des internen Bearbeitungsstatus von "angelegt" nach "qualifiziert" durchführen>>
* <<statuswechsel-allgemein,Darf den Wechsel des internen Bearbeitungsstatus von "qualifiziert" nach "aktualisiert" durchführen>>
* <<statuswechsel-allgemein,Darf den Wechsel des internen Bearbeitungsstatus von "aktualisiert" nach "qualifiziert" durchführen>>
* <<statuswechsel-allgemein,Darf Störungsmeldungen abschließen (Wechsel des internen Bearbeitungsstatus auf "beendet")>>
* <<statuswechsel-stornieren,Darf Störungsmeldungen stornieren (Wechsel des internen Bearbeitungsstatus auf "storniert")>>

==== Veröffentlicher
* <<uebersicht-aller-stoer,Darf alle Störungsmeldungen sehen>>
* <<stoerung-ansicht-bearbeitung,Darf Störungsmeldungen im internen Bearbeitungsstatus "qualifiziert" bearbeiten>>
* <<allg-funktionen-uebersicht-aller-sm-verdichten,Darf Störungsmeldungen verdichten>>
* <<statuswechsel-veroffentlichung,Darf Störungsmeldungen veröffentlichen (Veröffentlichungsstatus ändern)>>
* <<uebersicht-verteilergruppen,Darf Verteilergruppen anlegen, bearbeiten und entfernen>>
* <<mailvorlage-bearbeiten,Darf Email-Vorlagen bearbeiten>>

==== Gast
* <<uebersicht-aller-stoer,Darf alle Störungsmeldungen sehen>>


==== Administrator
* Darf alles
* Darf zusätzlich Konfigurationen vornehmen
(Details sind in technischer Dokumentation beschrieben)

=== Status

[[uebersicht-bearbeitungsstatus-intern]]
==== Bearbeitungsstatus (intern)
Zur Bearbeitung von Störungsmeldungen sind folgende (internen) Bearbeitungsstatus
definiert:

===== Neu
* Die Störungsmeldung befindet sich in der manuellen Erst-Erfassung.
* Die Störungsmeldung enthält u.U. noch nicht alle erforderlichen Informationen.

===== Geplant
* Die Störungsmeldung ist automatisch über eine Schnittstelle erzeugt worden.
* Der Störungsbeginn liegt in der Zukunft (geplante Maßnahme).
* Eine manuelle Bearbeitung der Störungsmeldung ist notwendig.

===== Angelegt
* Der Erfassungsvorgang ist vollständig abgeschlossen.
* Die Störungsmeldung enthält alle erforderlichen Informationen.

===== Qualifiziert
* Die Störungsmeldung ist im Vier-Augen-Prinzip geprüft.
* Die Störungsmeldung ist ggf. um weitere Informationen ergänzt.
* Die Störungsmeldung ist ggf. verdichtet.

===== Aktualisiert
* Die Störungsmeldung wurde nachträglich bearbeitet/verändert.

.Hinweis:
* Die Störungsmeldung befand sich zum Zeitpunkt der Bearbeitung im Status "qualifiziert".

===== Abgeschlossen
* Die Störung ist behoben.
* Die Störungsmeldung ist nur noch im Lesemodus verfügbar.

===== Storniert
* Die Störungsmeldung ist storniert.
* Die Störungsmeldung ist nur noch im Lesemodus verfügbar.


[[uebersicht-veroeffentlichungsstatus]]
==== Veröffentlichungsstatus
Für die Veröffentlichung von Störungsmeldungen sind folgende Veröffentlichungsstatus
definiert:

===== Nicht gesetzt
* Initialer Status einer (manuell oder automatisch) neu-angelegten Störungsmeldung

===== Nicht öffentlich
* Die Störungsmeldung ist nicht für die Öffentlichkeit sichtbar.

.Hinweis:
* Die Störungsmeldung war zu keinem Zeitpunkt für die Öffentlichkeit sichtbar.

===== Öffentlich
* Die Störungsmeldung ist für die Öffentlichkeit sichtbar.
* Die Veröffentlichung erfolgt über ausgewählte Kanäle
* Die Störungsmeldung kann nicht mehr verdichtet werden.

===== Zurückgezogen
* Die Störungsmeldung ist nicht mehr für die Öffentlichkeit sichtbar.

.Hinweis:
* Die Störungsmeldung war eine gewisse Zeit für die Öffentlichkeit sichtbar.


[[uebersicht-bearbeitungsstatus-extern]]
==== Bearbeitungsstatus (extern)
Der externe Bearbeitungsstatus ist nur bei veröffentlichten Störungsmeldungen
(d.h. Veröffentlichungsstatus = öffentlich) relevant.

Der externe Bearbeitungsstatus leitet sich vom internen Bearbeitungsstatus
in Kombination mit den Werten aus Störungsbeginn und -ende ab. Konkret bedeutet das
für die einzelnen Statuszustände einer Störungsmeldung folgendes:

===== Geplant
* Status (intern) = "qualifiziert"
* Störungsbeginn = noch nicht erreicht (liegt in der Zukunft)

===== In Bearbeitung
* Status (intern) = "qualifiziert"
* Störungsbeginn = ist erreicht (liegt in der Vergangenheit)

===== Beendet
* Status (intern) = "qualifiziert" oder “veröffentlicht”
* Störungsende = ist erreicht (liegt in der Vergangenheit)

oder

* Status (intern) = "storniert" oder “abgeschlossen”


=== Prozessablauf
Der gesamte Prozessablauf zur Bearbeitung einer Störung
ist im folgenden Prozessdiagramm dargestellt.

.Prozessübersicht
image::20200421_Status und Rollen_v7.png[]

<<<

== Benutzerdialoge
Die Anwendung ist für folgende Endgeräte optimiert:

* Desktop-PC
* Tablet

Es sind folgende Browser unterstützt:

* Google Chrome

Die Bildschirmauflösung bzw. die Fenstergröße des Browsers sollte folgende Werte nicht unterschreiten:

* 1.024 x 768 Pixel


[[uebersicht-aller-stoer]]
=== Übersicht der Störungsmeldungen

Die Übersichtsseite stellt standardmäßig alle Störungsmeldungen in einer Liste dar.
Bei Bedarf können die Störungsmeldungen aber auch in einer Kartenansicht angezeigt werden.

.Schaltfläche zum Umschalten zwischen Listen- und Kartenansicht
image::Liste-Karte.png[]

==== Listen-Ansicht
Das Modul startet immer in der Listenansicht:

.Übersicht aller Störungsmeldungen in der Listenansicht
image::Listenansicht.png[]

Es werden alle Störungsmeldungen angezeigt - mit Ausnahme von Störungsmeldungen,
die sich bereits vier Wochen oder länger im internen Bearbeitungsstatus
"abgeschlossen" oder "storniert" befinden.

Die Übersicht zeigt zu jeder Störungsmeldung folgende Informationen an.

TIP: Die Sichtbarkeit einzelner Spalten konfiguriert der Administrator. D.h. falls
einzelne Spalten in Ihrer Installation nicht sichtbar sein sollten, so hat der
Administrator diese ausgeblendet.

Die Bedeutung der Felder ist im Abschnitt <<stoerung-ansicht-bearbeitung>> beschrieben.

.Felder in der Listenansicht
[options="header"]
|=========================================================
|Feld
|Klassifikation
|Zuständigkeit
|Beschreibung
|Status (intern)
|Status (extern)
|Veröffentlichungsstatus
|Sparte
|Spannungsebene
|Druckstufe
|Störungsbeginn (gemeldet)
|Störungsende (geplant)
|Störungsende (wiederversorgt)
|Voraussichtlicher Grund
|Interne Bemerkungen
|Postleitzahl
|Ort (betroffene Orte)
|Ortsteil
|Straße (betroffene Straße)
|Hausnummer
|Radius in m
|Station(en)
|=========================================================

Jede Störungsmeldung kann abhängig von der Benutzerrolle und dem internen Bearbeitungsstatus
direkt aus der Liste angezeigt oder bearbeitet werden. In diesem Fällen öffnet
sich die <<stoerung-ansicht-bearbeitung, Detailansicht einer Störungsmeldung>>.

.Auge-Symbol zum Anzeigen einer Störungsmeldung
image::auge-symbol.png[]

.Stift-Symbol zum Bearbeiten einer Störungsmeldung
image::stift-symbol.png[]

Ferner können Störungsmeldungen, ebenfalls abhängig von der Benutzerrolle
und dem internen Bearbeitungsstatus,
auch <<statuswechsel-stornieren,storniert>> oder <<stoerungsmeldung-loeschen,gelöscht>> werden.

Vordefinierte Filter ermöglichen das schnelle Auffinden von Störungsmeldungen
in der Übersicht. Details dazu sind im Abschnitt
<<allg-funktionen-uebersicht-aller-sm-filter>> beschrieben.


Sollten mehrere Störungsmeldungen zu einer Störung gehören, so können diese
über die Funktion "Verdichten" zusammengeführt werden. Details dazu sind
im Abschnitt <<allg-funktionen-uebersicht-aller-sm-verdichten>> beschrieben.

[[kartenansicht]]
==== Karten-Ansicht
Die Karte startet i.d.R. mit der Anzeige des Versorgungsgebiets.

TIP: Die Konfiguration erfolgt durch den Administrator.

.Darstellung der Störungsmeldungen im entsprechenden Kartenausschnitt
image::kartenansicht.png[]

Einzelne Störungen sind jeweils mit einem Marker dargestellt:

.Kennzeichnung einer Störung
image::kartenansicht-pin.png[]

Die Details einer Störung werden angezeigt, sobald sich der Mauszeiger
über dem Marker befindet:

.Anzeige von Details in Karte
image::kartenansicht-mouseover.png[]

Bei einem Klick auf den Marker öffnet sich die Detailansicht der
zugehörigen Störungsmeldung, siehe Abschnitt <<stoerung-ansicht-bearbeitung>>.

Der angezeigte Kartenausschnitt kann mittels der Maus individuell
angepasst werden:

* Linke Maustaste und ziehen: Verschieben des Kartenausschnitts
* Drehen am Mausrad: Veränderung des Zoom-Faktors
* Doppelklick linke Maustaste: Hineinzoomen


[[stoerungsmeldung-erstellen]]
==== Anlegen einer Störungsmeldung
Ist ein Benutzer mit der Benutzerrolle "Erfasser" angemeldet,
so besteht die Möglichkeit über die Schaltfläche "Neue Störungsmeldung anlegen"
eine neue Störungsmeldung anzulegen.

.Schaltfläche zum Anlegen einer Störungsmeldung
image::stoerung-erstellen.png[]

Weitere Details zur Bearbeitung (oder Anlage) einer Störungsmeldung,
siehe Abschnitt <<stoerung-ansicht-bearbeitung>>


[[stoerungsmeldung-loeschen]]
==== Löschen einer Störungsmeldung
Ist ein Benutzer mit der Benutzerrolle "Erfasser" angemeldet,
so besteht die Möglichkeit über die Schaltfläche "Löschen"
eine Störungsmeldung zu löschen.

.Schaltfläche zum Löschen einer Störungsmeldung
image::stoerung-loeschen.png[]

Nach dem Klick auf das Löschen erscheint eine Rückfrage, ob die Störungsmeldung
wirklich gelöscht werden soll. Nach einem Klick auf "Ja" ist die
Störungsmeldung entfernt.

.Nachfrage beim Löschen einer Störungsmeldung
image::loeschen-nachfrage.png[]

WARNING: Beim Löschen werden alle Informationen einer Störungsmeldung
unwiederbringlich entfernt.

TIP: Das Löschen einer Störungsmeldung ist nur in den internen Bearbeitungsstatus
"neu", "angelegt" und "geplant" möglich.

Befindet sich die Störungsmeldung in einem anderen internen Bearbeitungsstatus,
so ist die Funktion <<statuswechsel-stornieren,Stornieren>> zu verwenden.


[[stoerung-ansicht-bearbeitung]]
=== Ansicht und Bearbeitung einer Störungsmeldung

Die Störungsmeldung teilt sich in mehrere Bereiche auf:

. Störungsinformation
. Störungsdetails
. Störungsort
. Veröffentlichung

==== Störungsinformation
Die allgemeinen Informationen zu einer Störungsmeldung befinden sich im oberen Teil der Detailansicht.

.Ansicht der Informationen zu einer Störungsmeldung
image::stoerung-uebersicht.png[]

Die Störungsinformation enthält folgende Attribute:

.Attribute einer Störungsmeldung (Teil: Störungsinformation)
[options="header"]
|=========================================================
|Attribut                  |Pflichtfeld(*) |Inhaltsart     |Beschreibung
|Klassifikation            |nein           |Auswahlfeld
a|
* Störung
* geplante Maßnahme

Der Administrator kann dieses Feld durch Konfiguration ausblenden.

|Sparte                    |ja             |Auswahlfeld
a|

* Strom
* Gas
* Wasser
* Fernwärme
* Telekommunikation
* Sekundärtechnik
* ohne Sparte

|Status (intern)           |-              |Automatisch     |siehe <<uebersicht-bearbeitungsstatus-intern>>
|Status (extern)           |-              |Automatisch     |siehe <<uebersicht-bearbeitungsstatus-extern>>
|Veröffentlichungsstatus   |-              |Automatisch     |siehe <<uebersicht-veroeffentlichungsstatus>>
|=========================================================

(*) Pflichtfeld um einen Statuswechsel durchführen zu können.


==== Störungsdetails
Die Details zu einer Störungsmeldung befinden sich im mittleren Teil der Detailansicht.

.Ansicht der Details zu einer Störungsmeldung
image::stoerung-detail.png[]

Die Störungsdetails enthalten folgende Attribute:

.Attribute einer Störungsmeldung (Teil: Störungsdetails)
[options="header"]
|=========================================================
|Attribut                       |Pflichtfeld(*) |Inhaltsart     |Beschreibung
|Zuständigkeit                  |nein            |Freitext
a|
Zuständiger Mitarbeiter, Bereich, etc.

Der Administrator kann dieses Feld durch Konfiguration ausblenden.

|Spannungsebene                 |ja              |Auswahlfeld
a|
Nur bei Sparte = Strom:

* Hochspannung
* Mittelspannung
* Niederspannung

|Druckstufe                     |nein            |Auswahlfeld
a|
Nur bei Sparte = Gas:

* Hochdruck
* Mitteldruck
* Niederdruck

|Störungsbeginn (gemeldet)      |ja              |Datum/Uhrzeit  |Startzeitpunkt der Störung
|Störungsende (wiederversorgt)  |nein            |Datum/Uhrzeit  |Behebungszeitpunkt der Störung
|Voraussichtlicher Grund        |ja              |Auswahlfeld
a|
Folgende Einträge werden immer und unabhängig von der Sparte angezeigt:

 * Defekt technische Anlage
 * Leitung beschädigt
 * Noch nicht bekannt
 * Überregionale Störung
 * Sonstiges

Zusätzlich bei Sparte = Strom:

 * Kabelfehler Mittelspannung
 * Kabelfehler Niederspannung

Zusätzlich bei Sparte = Wasser:

 * Wasserrohrbuch

Bei Sparte = ohne Sparte sind alle v.g. Einträge sichtbar.

|Beschreibung                   |nein            |Freitext
a|
Beschreibung der Störung

Der Administrator kann dieses Feld durch Konfiguration ausblenden.

|Interne Bemerkungen            |nein            |Freitext
a|
Zusätzliche Hinweise der Bearbeiter

Der Administrator kann dieses Feld durch Konfiguration ausblenden.

|=========================================================

(*) Pflichtfeld um einen Statuswechsel durchführen zu können.

==== Störungsort
Der Ort einer Störungsmeldung ist im unteren Teil der Detailansicht zu erfassen.
Das kann auf drei unterschiedliche Arten erfolgen, wobei jeweils nur eine Art Anwendung finden darf:

. Adresse
. Karte
. Stationsattribute (nur bei Sparte = Strom und Spannungsebene = Mittelspannung ODER Sparte = Telekommunikation)

Über die folgende Schaltfläche kann zwischen den Arten der Orterfassung gewechselt werden:

.Schaltfläche zur Auswahl der Ortserfassung
image::ortserfassung.png[]

WARNING: Beim Wechsel der Erfassungsart werden alle bisherigen Eingaben zum
Störungsort ohne Hinweis zurückgesetzt.


===== Adresse
Die Erfassung über die Adresse kommt immer dann zum Einsatz, wenn ein
entsprechender Anschluss vorhanden ist, der der Störung eindeutig zugeordnet werden kann.

.Ansicht der Ortserfassung über Adresse
image::ort-adresse.png[]

Zur Adresse gehören folgende Attribute:

.Attribute einer Störungsmeldung (Teil: Störungsort über Adresse)
[options="header"]
|=========================================================
|Attribut                   |Pflichtfeld(*) |Inhaltsart     |Beschreibung
|Ort (betroffene Orte)      |ja             |Auswahlfeld    |Auswahllisteneinträge abhängig von ausgewählter Sparte
|Ortsteil                   |ja             |Auswahlfeld    |Auswahllisteneinträge abhängig vom ausgewählten Ort
|Postleitzahl               |ja             |Auswahlfeld    |Auswahllisteneinträge abhängig vom ausgewählten Ortsteil
|Straße (betroffene Straße) |ja             |Auswahlfeld    |Auswahllisteneinträge abhängig vom ausgewählten Ortsteil
|Hausnummer                 |ja             |Auswahlfeld    |Auswahllisteneinträge abhängig von der ausgewählten Straße
|Radius in Meter            |ja             |Auswahlfeld
a|
Darstellung eines Kreises um den Störungsort mit dem ausgewählten Radius in Meter:

 * 0
 * 50
 * 100
 * 250
 * 500
 * 1.000
 * 1.500
 * 2.000

|Aktuelle Adresse           |nein             |Anzeigefeld    |Zeigt die importierte oder die aus den o.a.
Feldern ausgewählte Adresse an. Diese Feld ist in den internen Bearbeitungsstatus
"Beendet" und "Storniert" nicht sichtbar.

|=========================================================

(*) Pflichtfeld um einen Statuswechsel durchführen zu können.

Während der Erfassung des Ortes erscheint nach Eingabe des zweiten Buchstabens eine Liste von Orten.
Es dürfen ausschließlich in der Liste vorhandene Orte eingetragen werden.

TIP: Bei der Eingabe des Ortes werden nur gültige Orte und Postleitzahlen vorgeschlagen.
D.h. bei vorheriger Auswahl der Sparte Strom sind nur Orte und Postleitzahlen für Stromanschlüsse sichtbar.
Das Gleiche gilt auch für alle anderen Sparten.


===== Karte
Die Erfassung über die Karte kommt immer dann zum Einsatz, wenn Störungen keiner
Adresse zugeordnet werden können, z.B. weil die Störung auf einer Grünfläche zwischen
zwei Orten aufgetreten ist.

.Ansicht der Ortserfassung über Karte
image::ort-karte.png[]

Mit einem Mausklick auf die entsprechende Stelle auf der Karte wird eine Markierung
für den Störungsort gesetzt. Dies kann beliebig oft durchgeführt werden, bis der
Punkt genau getroffen wurde.

Die Darstellung des Störungsortes erfolgt mit dem gleichen Marker, wie in allen anderen
Kartendarstellung auch.

Zusätzlich besteht die Möglichkeit zur Erfassung weiterer Informationen zur Positionierung:

.Attribute einer Störungsmeldung (Teil: Störungsort über Karte)
[options="header"]
|=========================================================
|Attribut                   |Pflichtfeld(*)   |Inhaltsart  |Beschreibung
|Ort (betroffene Orte)      |nein             |Textfeld    |Bei Bedarf: Ortsangabe
|Ortsteil                   |nein             |Textfeld    |Bei Bedarf: Ortsteil
|Postleitzahl               |nein             |Textfeld    |Bei Bedarf: Postleitzahl
|Radius in Meter            |ja               |Auswahlfeld
a|
Darstellung eines Kreises um den Störungsort mit dem ausgewählten Radius in Meter:

 * 0
 * 50
 * 100
 * 250
 * 500
 * 1.000
 * 1.500
 * 2.000
|=========================================================

TIP: Die drei erstgenannten Attribute zur Ergänzung der Standortinformationen werden technisch
nicht gegen den ausgewählten Ort in der Karte geprüft.

===== Stationsattribute
TIP: Die Stationsattribute stehen nur zur Verfügung, wenn Sparte = Strom und
Spannungsebene = Mittelspannung ODER Sparte = Telekommunikation ausgewählt ist.

An dieser Stelle sind die relevanten Stationen zu erfassen.

.Ansicht der Ortserfassung über Stationsattribute
image::ort-station.png[]

Während der Erfassung der Station (Straßenname oder Stationsnummer) erscheint
nach Eingabe der zweiten Zahl bzw. des zweiten Buchstabens eine Liste mit Stationen.
Es können ausschließlich in der Liste vorhandene Stationen ausgewählt werden.

Nach Auswahl einer Station wird diese in der Karte dargestellt. Zusätzlich wird
das Gebiet mit den zugeordneten Hausanschlüssen in Form eines Polygons umrahmt.
Bei der Auswahl mehrerer Stationen werden die zugrundeliegenden Bereiche miteinander
vereint, sofern diese geographisch nebeneinander liegen.

TIP: Das Gebiet wird nur umrandet, wenn der/den ausgewählten Station(en) entsprechende
Hausanschlüsse zugeordnet sind.


[[veroeffentlichung]]
==== Veröffentlichung
Die Veröffentlichung steuert wer die Informationen zu einer Störungsmeldung
erhalten soll.

Über den Veröffentlichungskanal wird die Schnittstelle ausgewählt, über die
die Störungsinformationen veröffentlicht werden sollen. Es ist möglich
keinen, einen oder mehrere Kanäle auszuwählen. In der folgenden Abbildung sind
zwei Veröffentlichungskanäle angebunden, wobei grundsätzlich zwei Schnittstellen
zur Verfügung stehen:

. Mail
. Störungsauskunft.de

IMPORTANT: Die Sichtbarkeit der verschiedenen Kanäle wird durch den
Administrator eingestellt.

.Veröffentlichungskanäle und Verteilergruppen
image::veroeffentlichung.png[]

Nachdem der oder die Veröffentlichungskanäle aktiviert wurden, müssen nun eine
oder mehrere Verteilergruppen ausgewählt werden. Das erfolgt über das
Auswahlfeld in der Tabelle Verteilergruppen:

.Auswahl der Verteilergruppen
image::veroeffentlichung-auswahl.png[]

IMPORTANT: Die Verteilergruppen können individuell angepasst werden, siehe
<<uebersicht-verteilergruppen,Anpassung von Verteilergruppen>>.

Nachdem die Verteilgruppe im Auswahlfeld selektiert ist, muss die folgende
Schaltfläche zur Übernahme geklickt werden.

.Zuordnung einer Verteilergruppen
image::veroeffentlichung-Zuordnung.png[]

Anschließend erscheint die Verteilergruppe in der darunterliegenden Tabelle.
Dieser Vorgang wird so oft wiederholt, bis alle Verteilergruppen hinzugefügt
wurden.

TIP: Bei Auswahl des Veröffentlichungskanals "Mail" muss darauf geachtet werden,
die ausgewählte(n) Verteilergruppe(n) mindestens einen Kontakt mit einer
Mail-Adressen beinhaltet. Andernfalls könnten keine Benachrichtigungen versendet
werden.

Benachrichtigungen erfolgen ausschließlich bei Statuswechseln nach:

* Aktualisiert (interner Bearbeitungsstatus)
* Beendet (interner Bearbeitungsstatus)
* Öffentlich (Veröffentlichungsstatus)

Eine Verteilergruppe bezieht sich immer genau auf einen der zuvor genannten
Statuswechsel.

Um eine Verteilgruppe aus der Liste zu entfernen, muss lediglich das Löschen-Symbol
geklickt werden.

.Schaltfläche zum Entfernen einer Verteilergruppe aus der Liste
image::loeschen.png[]

Das kann zu jedem Zeitpunkt im Bearbeitungsprozess erfolgen.
Die entfernte Verteilgruppe erhält keine Information darüber, dass sie entfernt
wurde.

[[uebersicht-verteilergruppen]]
=== Übersicht der Verteilergruppen
In der Hauptmenüleiste ist das folgende Icon zur Bearbeitung der
Verteilergruppen sichtbar, sofern der angemeldete Benutzer die erforderlichen
Rechte dafür besitzt:

.Icon zum Aufruf der Funktion zur Bearbeitung der Verteilergruppen
image::verteilergruppen-symbol.png[]

Die Übersicht der Verteilergruppen unterteilt sich in drei Bereiche:

. Übersicht der Verteilergruppen (links oben)
. Anlegen und Editieren des Veröffentlichungstextes zur ausgewählten Verteilergruppe (rechts)
. Zugeordnete Kontakte zur ausgewählten Verteilergruppe (links unten)


.Übersicht der Verteilergruppen
image::verteilergruppen-uebersicht.png[]


[[bearbeiten-verteilergruppe]]
==== Ansicht und Bearbeitung einer Verteilergruppe
Zur Ansicht und Bearbeitung einer Verteilergruppe ist der entsprechende Eintrag
in der Tabelle Verteilergruppen durch einfaches Klicken auszuwählen. Anschließend
ist die Zeile farblich markiert und die zugehörigen Ansichten stellen die Inhalte
der Verteilergruppe dar, siehe vorherige Abbildung.

Zu einer Verteilergruppe gehören folgende Attribute:

.Attribute einer Verteilergruppe
[options="header"]
|=========================================================
|Attribut  |Pflichtfeld(*) |Inhaltsart     |Beschreibung
|Titel     |ja             |Text           |Bezeichnung der Verteilergruppe
|Vorlage   |ja             |Auswahlfeld
a|
Auswahl der Mailvorlage, die beim entsprechenden Statuswechsel verwendet wird:

* Veröffentlichen
* Aktualisieren
* Beenden

|Betreff   |ja             |Text           |Betreff der Mail-Nachricht
|Text      |nein           |Text           |Inhalt der Mail-Nachricht
|Kontakte  |nein           |Kontakt        |Zugeordnete Kontakte (aus Kontaktstammdaten-Modul)
|=========================================================

[[mailvorlage-bearbeiten]]
===== Anlegen und Editieren des Veröffentlichungstextes
Die Bearbeitung des Veröffentlichungstextes zu einer Verteilergruppe erfolgt in folgendem
Bereich.

.Bearbeitung des Veröffentlichungstextes einer Verteilergruppe
image::verteilergruppe-bearbeiten.png[]

In den Feldern Betreff und Text können sogenannte Platzhalter verwendet
werden. Diese werden beim Veröffentlichungsprozess durch die echten Inhalte der
Störungsmeldung ersetzt. Zwei Beispiele:

. Beispiel
** Platzhalter im Text: $Ort$
** Wird bei der Veröffentlichung durch den Wert "Ort" der entsprechenden Störungsmeldung
   ersetzt, z.B. Darmstadt
. Beispiel
** Platzhalter: $Druckstufe$
** Wird bei der Veröffentlichung durch den Wert "Druckstufe" der entsprechenden
   Störungsmeldung ersetzt, z.B. Hochdruck. (Das funktioniert allerdings nur,
   wenn bei der Störungsmeldung die Sparte "Gas" ausgewählt ist.)

Folgende Platzhalter sind definiert:

.Platzhalter für Feld "Text" bei Verteilergruppen
[options="header"]
|=========================================================
|Platzhalter                   |Hinweis
|$Beschreibung$                |
|$Druckstufe$                  |Nur bei Sparte = Gas (*)
|$Interne_Bemerkungen$         |
|$Ort$                         |
|$Postleitzahl$                |
|$Spannungsebene$              |Nur bei Sparte = Strom (*)
|$Station_Bezeichnung$         |Nur bei Sparte = Strom UND Spannungsebene = Mittelspannung (*)
|$Status_intern$               |
|$Störungsende_geplant$        |
|$Straße$                      |
|$Voraussichtlicher_Grund$     |
|$Direkter_Link_zur_Störung$   |URL zum direkten Aufruf der Störungsmeldung in diesem Modul
|$Hausnummer$                  |
|$Klassifikation$              |
|$Ortsteil$                    |
|$Radius$                      |Nur bei Erfassung des Störungsortes über "Adresse" (*)
|$Sparte$                      |
|$Status_extern$               |
|$Störungsbeginn_gemeldet$     |
|$Störungsende_wiederversorgt$ |
|$Veröffentlichungsstatus$     |
|$Zuständigkeit$               |
|=========================================================

(*) Sollten die Voraussetzungen nicht erfüllt sein, so findet keine Textersetzung
statt und der Platzhalter bleibt leer

Über die Schaltfläche "Speichern" werden die Änderungen übernommen.

===== Kontakte
In der Tabelle "Kontakte zur Verteilergruppe" sind alle Kontakte aufgelistet,
die zur ausgewählten Verteilergruppe zugeordnet sind.

.Zuordnung von Kontakten zu einer Verteilergruppe
image::verteilergruppe-kontakte.png[]

Zum Hinzufügen weiterer Kontakte muss der Name in das Eingabefeld eingegeben
werden. Nach der Eingabe von mindestens zwei Zeichen erscheint automatisch
eine Liste mit Vorschlägen. Hieraus kann der entsprechende Eintrag durch einfachen
Klick ausgewählt werden. Anschließend ist die Schaltfläche "Kontakt zuordnen"
für die Übernahme des Kontakts in die Liste zu betätigen. Eine extra Speichern-Funktion
existiert nicht.

.Auswahl von Kontakten zu einer Verteilergruppe
image::verteilergruppe-kontakte-auswahl.png[]

WARNING: Sollte der gesuchte Kontakt nicht vorhanden sein, so muss dieser über das
Modul Kontaktstammdaten erfasst werden. Ist dies erfolgt, so steht der Kontakt hier
zur Verfügung.

Das Entfernen eines Kontakts ist über das Löschen-Symbol in der entsprechenden Zeile
möglich.

.Entfernen eines Kontakts aus einer Verteilergruppe
image::loeschen.png[]

====== Einschränkung der Benachrichtigung auf Postleitzahlen-Ebene

Ein Kontakt, der einer Verteilergruppe zugeordnet ist, erhält standardmäßig alle
Benachrichtigungen, die auf dem ensprechenden Statuswechsel basieren.
Damit aber nicht jeder Kontakt alle Mitteilungen erhalten muss, besteht die Möglichkeit
den Versand von Nachrichten auf bestimmte Postleitzahlen zu beschränken.

In der folgenden Abbildung sind dem ausgewählten Kontakt zwei Postleitzahlen
zugeordnet:

.Zuordnung von Postleitzahlen zu Kontakten einer Verteilergruppe
image::verteilergruppe-kontakte-plz.png[]

D.h. der Kontakt erhält nur Benachrichtigungen der zugrundeliegenden Verteilergruppe,
wenn eine der zugeordneten Postleitzahlen in einer der folgenden Felder der Störungsmeldung
enthalten ist:

* Störungsort - Adresse - Postleitzahl
* Störungsort - Karte - Postleitzahl
* Störungsort - Stationsattribute - Station - zugeordneter Anschluss - Postleitzahl

Das Hinzufügen einer Postleitzahl erfolgt über die Erfassung im
entsprechenden Textfeld mit anschließender Übernahmne durch das "+"-Symbol.
Das Entfernen erfolgt über die Betätigung des Löschen-Symbols des entsprechenden
PLZ-Eintrags in der Tabelle.

.Hinzufügen einer Postleitzahl
image::plus-symbol.png[]

.Entfernen einer Postleitzahl
image::loeschen.png[]


====== Export von Kontakten
Das System erlaubt den Export von Kontakten einer Verteilergruppe in eine
Textdatei. Dazu muss die folgende Schaltfläche geklickt werden:

.Schaltfläche zum Export von Kontakten einer Verteilergruppe
image::export.png[]

Anschließend speichert der Browser die erzeugte Datei.

TIP: Das Verhalten beim Speichern sowie der Speicherort sind von den Einstellungen
des Browsers abhängig.

Die Datei ist entsprechend der Verteilergruppe benannt:

* "<Verteilergruppenname>.txt"

Der Dateiinhalt sieht folgendermaßen aus:

[source,csv]
----
  name;email;mobilenumber
  Freudenberg, Pauline;PaulineF@gmx.net;01526677884
  Buckley, Cornelius;sender@test.tester;
----


[[anlegen-verteilergruppe]]
==== Anlegen einer Verteilergruppe
Zur Anlage einer neuen Verteilergruppe ist die Schaltfläche "Neue Verteilergruppe anlegen"
zu betätigen.

.Schaltfläche zur Anlage einer neuen Verteilergruppe
image::verteilergruppe-anlegen.png[]

Anschließend erscheint eine leere Eingabemaske für die entsprechenden Felder:

.Erfassung Informationen zu einer neuen Verteilergruppe
image::verteilergruppe-anlegen-2.png[]

Es müssen zumindest die Pflichtfelder gefüllt werden, damit die neue Verteilergruppe
gespeichert werden kann.

Die weitere Erfassung erfolgt analog zur
<<bearbeiten-verteilergruppe,Bearbeitung von Verteilergruppen>>.


[[löschen-verteilergruppe]]
==== Löschen einer Verteilergruppe
Das Entfernen einer Verteilergruppe ist über das Löschen-Symbol in der
entsprechenden Zeile der Tabelle mit den Verteilergruppen möglich.

.Löschen einer Verteilergruppe
image::loeschen.png[]

Nach dem Klick auf das Löschen-Symbol erscheint eine Rückfrage, ob die Verteilergruppe wirklich gelöscht
werden soll. Nach einem Klick auf "Ja" ist die Verteilergruppe entfernt.

.Nachfrage beim Löschen einer Verteilergruppe
image::loeschen-nachfrage.png[]

<<<

== Weitere Funktionen


[[allg-funktionen-uebersicht-aller-sm]]
=== Zur: Übersicht der Störungsmeldungen

[[allg-funktionen-uebersicht-aller-sm-filter]]
==== Vordefinierte Filter
Die Listen-Ansicht stellt zwei vordefinierte Filter zur Verfügung:

===== Filter: qualifiziert/veröffentlicht
Mit Aktivierung des folgenden Schalters wird dieser Filter aktiviert.

.Schalter zur Aktivierung des Filters qualifiziert/veröffentlicht
image::filter-1.png[]

Anschließend erscheinen in der Haupttabelle ausschließlich
Störungsmeldungen, die mindestens eine der folgenden Bedingungen erfüllt:

* Interner Bearbeitungsstatus = qualifiziert
* Veröffentlichungsstatus = öffentlich

===== Filter: qualifiziert/veröffentlicht
Mit Aktivierung des folgenden Schalters wird dieser Filter aktiviert.

.Schalter zur Aktivierung des Filters angelegt/geplant/aktualisiert
image::filter-2.png[]

Anschließend erscheinen in der Haupttabelle ausschließlich
Störungsmeldungen, die mindestens eine der folgenden Bedingungen erfüllt:

* Interner Bearbeitungsstatus = angelegt
* Interner Bearbeitungsstatus = geplant
* Interner Bearbeitungsstatus = aktualisiert


[[allg-funktionen-uebersicht-aller-sm-verdichten]]
==== Verdichten von Störungsmeldungen
Sofern mehrere Störungsmeldungen auf dieselbe Störung zurückzuführen sind,
können diese über die Verdichten-Funktion zusammengeführt werden.

TIP: Es können nur Störungsmeldungen der gleichen Sparte verdichtet werden.

TIP: Störungsmeldungen mit dem Veröffentlichungsstatus "öffentlich" können nicht
mehr verdichtet werden.

Dazu ist in der Übersicht der Störungsmeldungen die Schaltfläche "Verdichtung"
zu betätigen.

.Übersicht der Störungsmeldungen
image::verdichten-1.png[]

Anschließend öffnet sich unter der Schaltfläche "Verdichtung" der Bereich
mit den ausgewählten bzw. verdichteten Störungsmeldungen.
Des Weiteren werden alle - noch nicht verdichteten - Störungsmeldungen
in der Listenansicht mit einem "+" angezeigt.

[[verdichten-2]]
.Auswahl von Störungsmeldungen zum Verdichten
image::verdichten-2.png[]

Nun sind die entsprechenden Störungsmeldungen über das "+"-Symbol auszuwählen.
Diese erscheinen dann unmittelbar in der obigen Tabelle mit den zu verdichtenden
Störungsmeldungen. Bereits Hinzugeführte können über das "-"-Symbol wieder
entfernt werden:

[[verdichten-3]]
.Selektierte Störungsmeldungen zum Verdichten
image::verdichten-3.png[]

Mit einem Klick auf die Schaltfläche "Ausgewählte Meldungen verdichten" wird
eine neue Störungsmeldung erzeugt (rot umrandet in folgender Abbildung). Die
blau hinterlegte Zahl zeigt die Anzahl der verdichteten Störungsmeldungen an:

.Neue erstellte Störungsmeldung (nach Verdichtung)
image::verdichten-4.png[]

Bei der Erstellung der neuen Störungsmeldungen werden initial die Grunddaten der
verdichteten Störungsmeldungen übernommen:

* Sparte
* Spannungsebene bzw. Druckstufe: Wenn bei allen verdichten Meldungen gleich, sonst leer
* Störungsbeginn (gemeldet): Das frühste Datum der verdichteten Meldungen
* Störungsende (geplant): Das späteste Datum der verdichteten Meldungen
* Stationen: Alle Stationen aus den verdichteten Meldungen, sofern vorhanden

Zudem wird der interne Bearbeitungsstatus auf "neu" gesetzt.

Alle Anpassungen und Aktualisierungen bzgl. dieser Störung sind fortan nur
noch an dieser neuen Störungsmeldung vorzunehmen.

TIP: Die verdichteten Meldungen werden nach Aktualisierung der übergeordneten
Störungsmeldung nicht synchronisiert. Die einzige Ausnahme ist, wenn der
interne Bearbeitungsstatus auf "beendet" wird. Dann werden auch die untergeordneten
Störungsmeldungen auf "beendet" gesetzt.

Nach der Verdichtung und Erzeugung der übergeordneten Störungsmeldung müssen die
Informationen zur Störung manuell ergänzt werden. Dies erfolgt genauso, wie die
Bearbeitung aller anderen Störungsmeldungen auch, siehe Abschnitt
<<stoerung-ansicht-bearbeitung>>.

Um die verdichteten Störungsmeldungen nachträglich anzupassen, nämlich

* Weitere Störungsmeldungen hinzufügen,
* Ausgewählte Störungsmeldungen entfernen,

ist ein Klick auf die blau hinterlegte Zahl notwendig. Anschließend öffnet sich
der Bereich mit den ausgewählten Störungsmeldungen. Hier können die einzelnen
Meldungen über die bekannten Symbole bearbeitet werden.

.Verdichtete Störungsmeldungen bearbeiten
image::verdichten-5.png[]

Nach einem Klick auf "Verdichtung bearbeiten" erscheint wieder die Ansicht
zum Hinzufügen und Entfernen von Störungsmeldungen, siehe Abbildung <<verdichten-3>>


=== Zur: Ansicht und Bearbeitung einer Störungsmeldung

==== Ansichts- und Bearbeitungsmodus
Je nach Benutzerrolle ist eine Störungsmeldung zur Ansicht oder zur Bearbeitung
geöffnet.

===== Ansichtsmodus
Im Ansichtsmodus können keine Daten verändert werden. Deshalb ist lediglich die Schaltfläche
Abbrechen sichtbar.

.Schaltfläche Abbrechen
image::abbrechen.png[]

===== Bearbeitungsmodus
Wird im Bearbeitungsmodus die Schaltfläche "Abbrechen" betätigt, nachdem Änderungen
vorgenommen wurden, erscheint eine zusätzliche Abfrage:

.Meldung bei geänderten Daten nach Klick auf Abbrechen
image::meldung-nach-abbrechen.png[]

Im Bearbeitungsmodus steht zusätzlich die Schaltfläche Speichern zur Verfügung,
sofern der Status nicht "qualifiziert", "storniert" oder "beendet" ist.

.Schaltfläche Speichern
image::speichern.png[]

Befindet sich die Störungsmeldung im Status "qualifiziert", dann ist die
Schaltfläche "Aktualisieren" sichtbar, die gleichzeitig einen entsprechenden
Statuswechsel durchführt.

.Schaltfläche zum Aktualisieren einer Störungsmeldung (im Status "qualifiziert")
image::aktualisieren.png[]

Um die Detailansicht einer Störungsmeldung zu verlassen, muss die folgende
Schaltfläche betätigt werden:

.Schaltfläche zum Schließen der Detail-Ansicht einer Störungsmeldung
image::schliessen.png[]


Des Weiteren existieren zusätzlich Schaltflächen, um den internen
Bearbeitungsstatus zu ändern. Details dazu befinden sich im
Abschnitt <<statuswechsel>>.


[[statuswechsel]]
==== Statuswechsel durchführen

[[statuswechsel-allgemein]]
===== Allgemeine Statuswechsel des internen Bearbeitungsstatus
Statuswechsel ist abhängig von der Benutzerrolle und dem aktuellen internen
Bearbeitungsstatus. Als Beispiel ist im Folgenden die Schaltfläche für den
Statuswechsel nach "angelegt" dargestellt. Die weiteren internen Bearbeitungsstatus
sind im Abschnitt <<uebersicht-bearbeitungsstatus-intern>> ersichtlich.

.Schaltfläche zum Wechsel des internen Bearbeitungsstatus auf "anlegen"
image::anlegen.png[]

[[statuswechsel-stornieren]]
===== Stornieren von Störungsmeldungen
Das Stornieren eines Störungsmeldung erfolgt ebenfalls in der Detailansicht
über die Schaltfläche "Stornieren".

.Schaltfläche zum Stornieren einer Störungsmeldung
image::stoerung-stornieren.png[]

Durch das Stornieren erhält die Störungsmeldung den internen Bearbeitungsstatus
"storniert". Gleichzeitig wird der Veröffentlichungsstatus auf "zurückgezogen"
gesetzt.


[[statuswechsel-ext-Status]]
===== Statuswechsel des externen Bearbeitungsstatus
Die Statuswechsel des externen Bearbeitungsstatus erfolgen automatisch gemäß
den Vorgaben aus Abschnitt <<uebersicht-bearbeitungsstatus-extern>>.


[[statuswechsel-veroffentlichung]]
===== Statuswechsel des Veröffentlichungsstatus
Der Statuswechsel des Veröffentlichungsstatus erfolgt durch den Veröffentlicher.
Befindet sich die zugrundeliegende Störungsmeldung im Status "qualifiziert",
so kann die Veröffentlichung über die folgende Schaltfläche vollzogen werden.

.Schaltfläche zum Veröffentlichen einer Störungsmeldung
image::veroeffentlichen-2.png[]

Wenn kein Veröffentlichungskanal ausgewählt ist, dann ist die Schaltfläche
nicht aktiv. In diesem Fall muss zunächst eine Veröffentlichungskanal aktiviert
werden.

.Inaktive Schaltfläche zum Veröffentlichen einer Störungsmeldung
image::veroeffentlichen.png[]

Für das Beenden der Veröffentlichung gibt es drei Möglichkeiten:

. <<veroeffentlichung,Deaktivierung der Veröffentlichungskanäle>>
. <<statuswechsel-allgemein,Störungsmeldung beenden>>
. <<statuswechsel-stornieren,Störungsmeldung stornieren>>



[[versionierung]]
==== Versionierung
Jede gespeicherte Änderung an einer Störungsmeldung wird in einer
neuen Version, unter Angabe des Bearbeiters und Datum/Uhrzeit, abgelegt.
Auswählbar sind die einzelnen Versionen in der Detailansicht einer Störungsmeldung:

.Anzeige der Version einer Störungsmeldung
image::versionierung-1.png[]

Standardmäßig ist die aktuellste Version ausgewählt. Je nach
Bearbeitungsstatus und Benutzerrolle kann die Störungsmeldung
bearbeitbar sein.

Zur Ansicht einer älteren Version muss lediglich die Versionsnummer
in der Auswahlliste angeklickt werden. Anschließend werden die
entsprechenden Einträge schreibgeschützt angezeigt:

.Anzeige einer älteren Version einer Störungsmeldung (schreibgeschützt)
image::versionierung-2.png[]


<<<

== Schnittstellen

=== Internet-Applikation
Die Bereitstellung der Informationen zu einer Störungsmeldung für die
Öffentlichkeit erfolgt in der separaten Internet-Applikation. D.h. sobald
eine Störungsmeldung den Veröffentlichungsstatus "Öffentlich" besitzt,
ist diese Meldung in der Internet-Applikation sichtbar.

Die Internet-Applikation besteht aus drei Komponenten, die i.d.R. in bestehende
Webseiten der Netzbetreiber integriert sind:

. Karte
. Liste
. PLZ-Suche

==== Karte
Die Kartendarstellung entspricht der <<kartenansicht>> der
Übersichtsseite. In dieser Ansicht sind allerdings nur Störungsmeldungen
mit dem Veröffentlichungsstatus "Öffentlich" sichtbar.

.Internet-Applikation Karte
image::internet-karte.png[]

TIP: Die initiale Darstellung, ob alle veröffentlichten oder
keine Störungsmeldung angezeigt wird, konfiguriert der Administrator.


Die Detailinformationen zu einer Störungsmeldung werden angezeigt,
wenn sich der Mauszeiger über der entsprechenden Störungsmeldung
in der Karte befindet.

.Internet-Applikation Karte Popup-Fenster zu einer Störungsmeldung
image::internetkomp-popup.png[]

TIP: Die sichtbaren Felder der Popup-Fensters konfiguriert der
Administrator.


==== Liste
In der Listenansicht sind ausschließlich Störungsmeldungen
mit dem Veröffentlichungsstatus "Öffentlich" dargestellt. Die Meldungen enthalten
lediglich solche Informationen, die für die Öffentlichkeit relevant sind.

.Internet-Applikation Liste
image::internet-liste.png[]

TIP: Die Sichtbarkeit einzelner Spalten konfiguriert der Administrator. D.h. falls
einzelne Spalten in Ihrer Installation nicht sichtbar sein sollten, so hat der
Administrator diese ausgeblendet.

Die Listenansicht enthält folgende Attribute.

.Felder in der Internet-Applikation Liste
[options="header"]
|=========================================================
|Sparte
|Beginn der Maßnahme
|Voraussichtliches Ende
|Voraussichtlicher Grund
|Beschreibung
|Postleitzahl
|Ort
|Ortsteil
|Straße
|Meldungsart
|=========================================================

Die Bedeutung der Felder ist im Abschnitt <<stoerung-ansicht-bearbeitung>> beschrieben.

TIP: Die initiale Darstellung, ob alle veröffentlichten oder
keine Störungsmeldung angezeigt wird, konfiguriert der Administrator.

Die Darstellung des Felds "Letzte Änderung" mit Datum und Uhrzeit in der Fußzeile
bezieht sich auf den Zeitpunkt der letzten Änderung der Störungsmeldungen.


==== PLZ-Suche
Über die PLZ-Suche können die beiden Ansichten - Karte und Liste - gefiltert werden.
Dazu muss lediglich die Postleitzahl in das Eingabefeld eingetragen und
anschließend mit Enter bestätigt werden.

.Internet-Applikation PLZ-Suche
image::internet-suche.png[]

Anschließend werden autonatisch die beiden Komponenten auf diese PLZ gefiltert.

.Internet-Applikation PLZ-Suche (Beispiel)
image::internet-suche-beispiel.png[]



=== Export von Störungsmeldungen (Veröffentlichung)
Die Veröffentlichung von Störungsmeldung erfolgt über verschiedene Kanäle,
die - technisch - auch als Export-Schnittstellen bezeichnet werden.

Die Zeitpunkte, wann die Informationen über die definierten Kanäle veröffentlicht
werden, ist bei allen Schnittstellen gleich und lassen sich in drei Phasen
einteilen:

. Initiale Veröffentlichung
. Aktualisierung
. Veröffentlichung beenden


TIP: Darüber hinaus kann die Veröffentlichung auch manuell initiiert werden,
indem der Schalter des entsprechenden Kanals einmal deaktiviert und anschließend
wieder aktiviert wird, siehe Abchnitt <<veroeffentlichung,Veröffentlichung>>.
Das kann beispielsweise notwendig sein, wenn sich die Kontakte eines Verteilers
zwischenzeitlich geändert haben.


==== Initiale Veröffentlichung
Die erstmalige Veröffentlichung einer Störungsmeldung erfolgt, wenn der Benutzer
durch Klick auf die Schaltfläche "Veröffentlichen" den Veröffentlichungsstatus
auf "öffentlich" setzt. Hierbei werden die, dem Kanal zugeordneten Inhalte,
übertragen.

==== Aktualisierung
Weitere Veröffentlichungsmeldungen folgen jeweils, wenn sich der interne Bearbeitungsstatus
wieder auf "qualifiziert" ändert. Das kommt vor, wenn eine Störungsmeldung nach
der letzten Veröffentlichungsmeldung aktualisiert wurde.

==== Veröffentlichung beenden
Die letzte Veröffentlichungsmeldung, die das Beenden der Veröffentlichung mitteilt,
erfolgt dann, wenn der Benutzer den Veröffentlichungsstatus auf "zurückgezogen"
ändert. Das kann durch den Benutzer manuell erfolgen oder wenn eine Störungsmeldung
in den internen Bearbeitungsstatus "storniert" oder "beendet" wechselt.

==== Ergänzende Hinweise
Weitere Informationen zu den einzelnen Schnittstellen sind im Folgenden aufgelistet:

[[Mail]]
===== Mail
Die Absender-Adresse der Mails wird durch den Administrator definiert.


[[stoerungsauskunft]]
===== Störungsauskunft.de
Die aktuell veröffentlichten Störungsmeldungen sind im Portal von
Störungsauskunft.de ersichtlich:

* https://störungsauskunft.de/


=== Import von Störungsmeldungen
Der automatische Import von Störungsmeldung kann grundsätzlich
über verschiedene Kanäle erfolgen, die - technisch - auch als
Import-Schnittstellen bezeichnet werden.

Die Zeitpunkte, wann die Informationen über die definierten Kanäle
importiert werden, konfiguriert der Administrator.

Die Bereitstellung der neu importierten Störungsmeldungen erfolgt
in der Übersicht der Störungsmeldungen. Neue Einträge besitzen
den internen Bearbeitungsstatus neu.

Folgende Import-Schnittstellen sind verfügbar:

. SARIS
. SAMO


<<<

== Benachrichtigungen und Erinnerungen

[[erinnerung]]
=== Erinnerungen
Über die Erinnerungsfunktion wird der Benutzer informiert, dass mindestens
eine nicht abgeschlossene Störungsmeldung das Datum für "Störungsende (geplant)"
erreicht hat. In diesem Fall wird das Glockensymbol in der Hauptmenüleiste rot
angezeigt.

.Erinnerung(en) vorhanden
image::glocke-rot.png[]

In allen anderen Fällen bleibt das Glockensymbol schwarz.

.Keine Erinnerung vorhanden
image::glocke-schwarz.png[]


[[meldungen-hinweise]]
=== Hinweise und Meldungen nach Benutzeraktionen
Nach Benutzeraktionen erscheinen in bestimmten Fällen Meldungen des Systems,
um den Benutzer:

* Handlungsanweisungen zu geben,
* über Fehler des Systems zu informieren.

==== Erfolg einer Aktion
Ist eine Benutzeraktion erfolgreich, so erscheint keine Meldung.

==== Handlungsanweisung
In einigen Situationen muss der Benutzer weitere Aktionen ausführen, damit die
Handlung erfolgreich abgeschlossen werden kann. Diese gelb hinterlegten Hinweise
erscheinen im folgenden Fall:

* Fehlenden Informationen (Pflichtfelder füllen)


.Hinweis Pflichtfelder
image::meldung-hinweis.png[]

Diese Meldungen bleiben für einige Sekunden sichtbar und verschwinden dann wieder
automatisch.

==== Fehlermeldungen
Wenn Aktionen aufgrund technischer Gegebenheiten nicht erfolgreich durchgeführt
werden können, erscheinen rot hinterlegte Fehlermeldungen. Das kann u.a. in
folgenden Situationen passieren:

* Speichern fehlgeschlagen
* Web Services nicht verfügbar

.Fehlermeldung
image::meldung-fehler.png[]

Diese Meldungen bleiben solange sichtbar bis sie durch den Benutzer durch einfaches
Anklicken geschlossen werden. In diesen Fällen ist der Administrator zu
informieren.

== An- und Abmeldung

=== Modul "Störungsinformationstool" aus Portal starten
Nach erfolgreicher Anmeldung am openKONSEQUENZ-Portal und mit entsprechender
Berechtigung für das Modul "Störungsinformationstool" ist die Kachel für das Modul
sichtbar. Mit einem Klick auf die Kachel startet das Modul "Störungsinformationstool"
in einem neuen Fenster bzw. in einem neuen Tab desselben Browserfensters (je nach
Browsereinstellung).

.Kachel zum Starten des Moduls "Störungsinformationstool"
image::oeffnen-modul.png[]

=== Abmelden
Die Schaltfläche zum Abmelden befindet sich hinter dem Benutzernamen.

.Abmelden vom openKONSEQUENZ-System
image::abmelden.png[]

CAUTION: Beim Klick auf "Abmelden" erfolgt nicht nur die Abmeldung vom Modul
Störungsinformationstool, sondern die Abmeldung vom Portal. D.h. alle parallel
geöffneten openKONSEQUENZ-Module (wie z.B. Betriebstagebuch, Geplante
Netzmaßnahme) werden automatisch mit abgemeldet.

Um die parallel geöffneten openKONSEQUENZ-Module nicht mit abzumelden, ist
lediglich das Browserfenster mit dem Modul Störungsinformationstool zu schließen.
