Dynamische Channels

<< Klicken um Inhaltsverzeichnis aufzurufen >>

Navigation:  Channels >

Dynamische Channels

Dynamische Channels sind eine der höchsten Stufen der dynamischen Echtzeit Informationsverteilung und ein effizientes Werkzeug für proaktive Service Operations. Wird ein Dynamischer Channel an eine Empfängergruppe gesendet, so wird ein vordefiniertes Script mit der Nachricht auf dem Client ausgeführt. Mit diesen Scripten kann der Infoclient jede beliebige Information aus dem Computersystem auslesen. Basierend auf den gewünschten Konditionen im Script kann die Darstellung der Nachricht angepasst werden oder Responses zum Infoserver gesendet werden.

 

Die Verwendung von Clienteigenschaften als Basis für Empfängergruppen kann in Gruppen basierend auf Infoclientvalues angewendet werden. Hier werden die InfoclientValues vom Infoclient mit anderen Computer-spezifischen Verbindungsdaten übermittelt. Obwohl die InfoclientValues einen dynamischen Inhalt besitzen, ist die Ausführung statisch. Deshalb sind die Daten nicht unbedingt während der gesamten Ausführungszeit gültig.

 

Dynamische Channels gehen einen Schritt weiter und reagieren auf laufende Änderungen in der Clientumgebung. Jeder Dynamische Infoclientvalue kann mit einem Dynamischen Channel verknüpft werden. Auf diese Weise stehen Ihnen flexible und unmittelbare Informationskanäle zur Verfügung. So können Sie innerhalb sehr kurzer Zeit mit gezielten Sofortnachrichten auf aktuelle Ereignisse reagieren.

 

Abfrage Methoden in Dynamischen Channels

 

Im Allgemeinen wird jede Abfrage auf dem Client über ein Script ausgeführt, das zuvor im Dynamischen Channel angelegt wurde. Im Script gibt es zwei Möglichkeiten, um eine Abfrage zu erstellen.

 

1. Abfrage bestehender InfoclientValues

 

Wenn Sie bereits (Dynamische) Infoclientvalues (z. B. für dynamische Gruppen) erstellt haben, dann können Sie diese einem Dynamischen Channel zuweisen. Verwenden Sie hierfür den Namen des Dynamischen Infoclientvalue und tragen Sie den gewünschten Wert in die Scriptfilter-Funktion InfoclientValue(Name) ein. Der Rückgabewert von dieser Funktion ist vom Typ String. Ein Boolescher-Wert (true/false) gibt String-Werte als '1' oder '0' zurück.

 


program DynamicChannel;
var
MyValue: String;
Res: Boolean;
begin
// Hole den Wert des gewuenschten lokalen InfoclientValue
MyValue := InfoClientValue('MeinClientWert');
// Ueberpruefe, ob der lokale Wert mit dem gewuenschten Wert uebereinstimmt
Res := MyValue = 'Der gewuenschte Wert';
// Wenn die Ueberpruefung uebereinstimmt, dann starte die Anzeige der Info
If Res = true then
StartInfo;
end.

 

2. Live Abfrage

 

Bei einer Live-Abfrage werden die System- / Umgebungseigenschaften mit einem Scriptfilter abgefragt, indem die Funktion DICV(type,value) verwendet wird. Der Rückgabewert dieser Funktion ist immer vom Typ String. Ein Boolescher-Wert (true/false) gibt String-Werte als '1' oder '0' zurück. In dieser Funktion können alle Typen für Dynamische Infoclientvalues verwendet werden.

 


program DynamicChannel;
var
MyType,MyValue,MyResult: String;
Res: Boolean;
begin
// Definiere den Typ der Clienteigenschaft als String
MyType := 'diFileExists';
// Definiere den lokalen Wert zur Ueberpruefung als String
MyValue := 'C:\Program Files\Cordaware\Infoband\Infoclient.exe';
// fuehre die Abfrage aus und gib das Ergebnis als String zurueck
MyResult := DICV(MyType,MyValue);
// vergleiche das lokale Resultat mit dem gewuenschten Resultat
Res := MyResult = '1';
// Wenn die Ueberpruefung OK ist, dann zeige die Info an.
If Res = true then
StartInfo;
end.

 

Anzeigemöglichkeiten mit einem Dynamischen Channel

 

Für unterschiedliche Anzeigemöglichkeiten eines Nachrichtentextes stehen hierfür die Prozeduren StartInfo, RestartInfo und StopInfo zur Verfügung. Bei StartInfo erscheint die Nachricht nur einmal, während RestartInfo hingegen die Nachricht mehrmals innerhalb der Aktivzeit der Info anzeigt. StopInfo stoppt hingegen die Darstellung der Nachricht.

 

Als Indikatoren für aktuelle / zuvor angezeigte Nachrichten stehen die booleschen (true/ false) Variablen InfoRuns, InfoRan, IsAllClear und RefInfoRan zur Verfügung. InfoRuns

gibt true zurück, wenn die Nachricht gerade angezeigt wird und InfoRan gibt true zurück, wenn die Nachricht angezeigt wurde und die Info auf dem Client noch aktiv ist. IsAllClear

gibt true zurück, wenn die Info als eine Entwarnungs-Info zu einer vorherigen Info gesendet wird. RefInfoRan gibt nur dann true zurück, wenn die aktuelle Nachricht eine Entwarnungs- Info ist und nur wenn die Info eine Referenz zur Entwarnungs-Info besitzt und einen Dynamischen Channel beinhaltet, in dem die Prozeduren StartInfo oder RestartInfo eingetragen wurden.

 

Es ist auch möglich den originalen Nachrichtentext zu überschreiben. Der neue Text wird in die Funktion SetInfoText('Mein neuer Text') eingetragen. Weitere Informationen zu diesen Optionen, finden Sie in den Beispielen für Dynamische Channels.

 

Responsemöglichkeiten mit einem Dynamischen Channel

 

Um einen Response von einem Dynamischen Channel an den Infoserver zu versenden, steht die Funktion SendResponse(Wert,Spaltenname) zur Verfügung. Sofern Sie mehrere Responses versenden möchten (z. B. mit unterschiedlichen Spaltennamen), können Sie entweder mehrmals die Funktion SendResponse(Wert,Spaltenname) aufrufen oder eine TStringList mit einem Schlüssel-Wert Paar Text erstellen und diesen einmal als Wert in der Funktion zu senden. Wenn Sie keinen Spaltennamen für einen Response eintragen möchten, dann tragen Sie einfach einen leeren String als Spaltenname ein.

Es ist unzulässig den Eintrag Spaltenname im Funktionsaufruf wegzulassen, da dies einen Fehler verursacht. Weitere Informationen zum Versenden eines Response in einem Dynamischen Channel, finden Sie in den Beispielen.

 

Erstellen und Konfigurieren

Um einen Dynamischen Channel zu erstellen, öffnen Sie die App Channels und rufen Sie über das Channels_+ die Maske zum erstellen eines neuen Channels auf.

 

Channels_neuer_Channel

 

Tragen Sie in dieser Maske einen Namen und eine Beschreibung (optional) ein und wählen Sie anschließend den Typ des Channels aus (Statisch oder Dynamisch)

 

Channels_TypDynamisch

 


Beide Typen Statisch und Dynamisch können für einen Dynamischen Channel verwendet werden. Der Unterschied besteht darin, dass ein Statischer Channel nur einmal ausgeführt wird. Ein Channel mit dem Typ Dynamisch wird während der gesamten Aktivzeit auf dem Client mehrmals ausgeführt.

 

Nachdem ein Name und der Typ des Dynamischen Channels eingestellt wurde, ist es noch notwendig ein Script für die Konditionen und Funktionen einzufügen.

 

Wenn Sie einen neuen Channel erstellen haben Sie die Möglichkeit Beispiel Scripte auszuwählen. Hierfür stehen Ihnen diverse Scripte im Scripteditor zur Verfügung.

 

Channels_Scriptbeispiele

 

Zum Beispiel können Sie ein Script auswählen, welches die Infoclients benachrichtigt wenn auf dem System der Prozess "notepad.exe" aktiv ist.

 

Channels_Script_Notepad

 

Beispiel:

 

Angenommen, Sie wollen alle Benutzer adressieren, welche eine bestimmte Datei auf ihrem Computer installiert haben. In diesem Beispiel möchten wir nun herausfinden, ob die Debug Logdatei des Infoclients existiert und das Ergebnis soll anschließend als Laufband angezeigt werden.

 

Der dynamische InfoclientValue Typ für diese Abfrage lautet diFileExists.

 

Der abgefragte Wert dieser Eigenschaft ist der Pfad der Datei, z. B.: "C:\Program Files\Cordaware\bestinformed\InfoclientDebug.log".

 

Sie können hierfür folgendes Script verwenden:

 


program ChannelScript;
var
BRes: Boolean;
SRes: String;
SType: String;
SValue: String;
begin
// Setze den Typ
SType := 'diFileExists';
// Wert setzen
SValue := 'C:\Program Files\Cordaware\bestinformed\InfoclientDebug.log';
// Hole das Ergebnis
SRes := DICV(SType,SValue);
// Wenn die Datei gefunden wurde, dann ist der Rueckgabe Wert '1'
if SRes = '1' then
begin
// Setze neuen InfoText
SetInfoText('Die Datei ' + SValue + ' wurde auf ihrem System gefunden');
// Starte die Info
StartInfo;
end;
end.

 

Ist die Kondition if SRes = '1' then... gesetzt, dann können Sie einstellen welche Aktion in Abhängigkeit von dem Ergebnis der Abfrage ausgeführt wird. Hierfür wir die Funtkion SetInfoText('Die Datei' + SValue + 'wurde auf Ihrem System gefunden') verwendet.

Jeder beliebige Text kann als Argument in SetInfoText() verwendet werden.

Wenn sie die Funktion SetInfoText nicht verwenden möchten, so wird der Infotext dargestellt, welcher zuvor im Infoeditor eigegeben wurde.