Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

Version 1 Nächste Version anzeigen »

Benachrichtigung bei Änderung an Personendaten

Ziel war es, bei einer Änderung von Angaben an einer Person sofort per Trigger eine Nachricht zu erhalten. In Echtzeit ist das aktuell (V1.19) mit i-doit nicht möglich. Mit den Benachrichtigungen gibt es aber die Möglichkeit, zeitgesteuert eine entsprechende Mail zu versenden. Dieses Verfahren wird im Folgenden beschrieben. Dabei wurde die i-doit Version 1.18.2 verwendet.

1. Erstellung eines Berichtes

Änderungen an einem Objekt werden im Logbuch gespeichert. Also ist der erste Anlaufpunkt die Anzeige der Logbuchdaten am Objekt:

Leider kommt man hier nicht weit, da die Beschreibung des Logs SQL Anweisungen enthält. Das Datum kann auch nur statisch vergeben werden. Da ein Logeintrag zudem als Timestamp (Datum+Zeit) vorliegt, kommt man mit dem Datumsfilter nicht weit. Hier stehen nur die Operatoren Gleich (=) oder Ungleich (!=) zur Verfügung.

Neben der Berichterstellung über den Konfigurator kann man auch SQL basierte Berichte erstellten. Dazu muss man sich mit dem Datenmodell vertraut machen. Wichtig ist, dass es ein Feld mit dem Titel „__id__“ gibt, welches die Objekt-Id des Objekts (Person) ausgibt. Da es in der Logbuchtabelle selbst keine Referenz dafür gibt, muss der Objektbezug über den Objekttitel hergestellt werden:

select o2.isys_obj__id as '__id__'
, o2.isys_obj__id as Objid
, isys_logbook__isys_logbook_level__id as LogLevel
, isys_logbook__date as Datum
, isys_logbook__obj_name_static as Person
, isys_logbook__event_static as LogEvent
from idoit_data.isys_logbook l
left outer join idoit_data.isys_obj o2 on
  o2.isys_obj__title = l.isys_logbook__obj_name_static and
  o2.isys_obj__isys_obj_type__id = 53
where l.isys_logbook__obj_type_static = 'LC__CONTACT__TREE__PERSON'
and l.isys_logbook__date >= current_date-1
order by l.isys_logbook__obj_name_static

Diese Abfrage gibt auch physisch gelöschte Objekte (Personen) aus. Auf Grund der fehlenden Objektreferenz werden diese Daten aber später im Bericht nicht angezeigt.

2. Benachrichtigung erstellen

Voraussetzung ist, dass in den Systemeinstellungen der Verwaltung der SMTP Host und bei den Mandanteneinstellungen die i-doit Adresse (URL) eingetragen ist.

Unter Extras -> CMDB -> Benachrichtigungen gibt es zahlreiche Vorlagen. Für unseren Fall verwenden wir die Reportbasierte Benachrichtigung.

Vorlage

Hier erstellen wir als erstes eine neue Vorlage:

Ich nutze dazu den Text der vorhandenen Vorlage und passe ihn etwas an. Lässt man die Attribute leer, werden in der Ergebnisliste automatisch der Objekttitel und die SYSID ausgegeben. Ich ändere das in Objekttitel (Bezeichnung – Allgemein) und Zustand. Der Zustand gibt an, ob das Objekt normal, archiviert oder gelöscht ist. Physisch gelöscht Objekte sind nicht mehr als solche vorhanden und werden im Bericht nicht berücksichtigt (im Report ist die Ausgabe möglich).

  • Keine Stichwörter