Notification IDO

Aus infra-struktur AdminWiki 2.10
Version vom 26. November 2018, 13:41 Uhr von Karsten (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen

Für Anbindungen im Schnittstellenumfeld ist es durchaus hilfreich, das ein externer Konsument eine Notification bekommt, wenn in einem Datensatz (IDO) auf speichern oder gelöscht geklickt wird, sendet die infra-struktur einen Curl post an eine beliebige URL, der Komsument kann dort die get Parameter auswerten und in irgendeiner Form frei verwerten.

Achtung!!!!!
Mit der Umstellung auf das neue IDO-Modul greift die Funktion nicht mehr auf dem herkömmlichen Weg. Stattdessen nutzen sie hier das neue Benachrichtigungs-Modul.
Stellen sie hierfür die folgende Option ein.
Eingangskanal:
IDO(Einfach) -> IDO gespeichert (alle Optionen auf beliebig)

Ausgangskanal:
IDO Benachrichtigung
Als URL stellen sie die gleiche URL ein wie sie die bisher verwendet haben. Die Übergabe der Parameter ist identisch zum klassischen Notification-IDO.


Der Aufruf wird in der .htaccess definiert:

SetEnv IDO_NOTIFICATION_URL http://IP-Adresse/notify.php

Diese notify.php nimmt die POST Variablen entgegen, die GET Parameter lauten:

<?php
echo "IDO: ".$_GET['idoID']." INSTANCE: ".$_GET['idoInstanceId']." User: ".$_GET['userId'];
?>

Wenn also in einem Datensatz die Stammdaten gespeichert oder gelöscht werden, wenn ein Ansprechpartner gespeichert oder gelöscht wird, wird die IDO_NOTIFICATION_URL aufgerufen und man bekommt die Instanz ID und die Datensatz ID genannt. Nun kann man selber alle weiteren Schritte, z.B. hole den DS, initiiert werden. Was konkret geändert wurde, ist dem Notifier nicht bekannt, einen gelöschen Datensatz, bzw. Ansprechpartner erkennt man daran, das ein leeres Ergebnis kommt.

Wichtig: Für Onlineversionen der infra-struktur muss NETZkultur den .htaccess Parameter setzen. Bei HTTPS muss sichergestellt werden, dass es sich um ein offiziell zertifiziertes Zertifikat und nicht um ein eigensigniertes handelt, weil diese ja erst anerkannt werden müssten und das kann man nicht automatisieren.