Beispiele für die Anwendung von einfachen Filtern:
Konfigurieren einer Aktion, die einen Befehl ausführt, wenn ein Gerät die Filteranforderungen erfüllt. Beispiel: Erstellen eines Ordners, der nur Drucker mit einer Seitenzahl von mehr als 10.000 Seiten enthält. Wenn die Seitenzahl eines überwachten Druckers 10.000 übersteigt, wird der Drucker zu diesem Ordner hinzugefügt.
Überwachen ausschließlich von Druckern mit installiertem Flash-Speichergerät. Beispiel: Wenn ein Ordner nur Drucker mit installiertem Flash-Speichergerät enthält und das Flash-Speichergerät eines überwachten Druckers ausgebaut wird, wird dieser Drucker aus diesem Ordner entfernt. Wenn der Drucker die Filteranforderungen nicht erfüllt, wird der Ordner automatisch vom Filter aktualisiert.
Mit der Option "mit Verzögerung" lässt sich die Ausführung einer Aktion für einen angegebenen Zeitraum nach dem Hinzufügen oder Entfernen eines Geräts zum/vom Ordner verzögern.
Wählen Sie den Filter "Trigger on Active", wenn eine Aktion nur dann einen Befehl ausführen soll, wenn eine Bedingung den Status "Active" annimmt. Beispiel: Wenn das Ereignis "Papierfach fehlt" überwacht wird und es wird ein Fach aus einem überwachten Drucker entfernt, erstellt der Drucker ein Ereignis "Papierfach fehlt" mit dem Status "Active". Der Status "Active" erfüllt die Filterbedingung und die angegebene Aktion wird ausgeführt. Wenn das Papierfach ausgetauscht wird, erstellt der Drucker ein weiteres Ereignis "Papierfach fehlt" mit dem Status "Clear". Der Status "Clear" erfüllt die Filterbedingung nicht und die angegebene Aktion wird nicht ausgeführt.
Wählen Sie den Filter “Bei 'Aktiv' oder 'Löschen' auslösen" aus, um eine Aktion einzurichten, die immer dann ausgeführt wird, wenn eine Bedingung den Status "Aktiv" oder "Löschen" aufweist. Mithilfe dieses Filters können Sie z. B. ein Protokoll über alle Papierstaus in Druckern führen, um festzustellen, wie lang es im Durchschnitt dauert, um einen Stau zu beheben. Sobald ein Papierstau auftritt, wird vom Drucker ein Ereignis mit dem Status "Aktiv" erzeugt. Dadurch wird die Bedingung des Filters erfüllt und die Aktion wird ausgeführt. Sobald ein Papierstau behoben ist, wird vom Drucker ein anderes Ereignis mit dem Status "Löschen" erzeugt. Dadurch wird ebenfalls die Bedingung des Filters erfüllt und die Aktion wird ausgeführt. Die Protokolldatei enthält nun zwei Zeilen: eine mit dem Zeitpunkt, zu dem der Papierstau auftrat, und die andere mit dem Zeitpunkt, zu dem er behoben wurde.
Benutzerdefinierte Filter dienen zur Definition, wie eine Aktion ausgeführt werden soll. Es kann eine Skriptdatei übertragen oder eine neue Skriptdatei erstellt werden. MarkVision Messenger verfügt über eine sehr einfache Skriptsprache zur Definition von Filtern. Es folgt eine vollständige Liste von Anweisungen und Bedingungen, die für benutzerdefinierte Filter zur Verfügung stehen:
(Bedingung)
(Bedingung)
(Bedingung)
{ Anweisungsliste }
(Bedingung_1...Bedingung_n)
(Bedingung_1...Bedingung_n)
(Schlüssel, Wert)
(Schlüssel, Wert)
Das folgende Beispiel ist die Skriptdarstellung des integrierten Filters "Trigger on Active":
IfThen (EventDataIs("state", "ACTIVE"))
DistributeDurch die Bedingung wird vom Ereignis der Ereigniswert abgefragt: Schlüsselwort state. Dieses Schlüsselwort kann in Befehlszeilen und E-Mail-Nachrichten eingefügt werden. Die -Anweisung führt die nächste Anweisung aus, wenn die Bedingung erfüllt ist. Eine -Bedingung ist erfüllt, wenn der Wert des Schlüsselworts (state) mit dem vorgegebenen Wert (ACTIVE) übereinstimmt. Die nächste Anweisung bewirkt die Ausführung des Befehls.
Im folgenden Skriptbeispiel ist die Aktion "Trigger on Active" um 30 Sekunden verzögert:
{
WaitUntil (TimeIsAfter(30))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}Die geschweiften Klammern ({}) dienen zur Gruppierung von Anweisungen in Listen. Im vorherigen Beispiel waren diese Klammern nicht erforderlich, weil die Anweisung und die nachfolgenden Anweisungen als eine einzige Anweisung betrachtet worden waren.
Die Anweisung bewirkt das Anhalten der Skriptausführung, bis die Bedingung erfüllt ist. Die Bedingung wird erst auf ihre Erfüllung geprüft, wenn die angegebene Anzahl von Sekunden vergangen ist. Wenn das Ereignis nach 30 Sekunden noch aktiv ist, wird der Befehl durch die Anweisung ausgeführt.
Die folgende Skriptdarstellung des integrierten Filters "Trigger on Either Active or Clear" gilt für folgende Situation: Für Fach 3 ist das Ereignis "Papierfach fehlt" ausgewählt, der Befehl wird mit 20 Minuten Verspätung ausgeführt und der Befehl wird alle 20 Minuten wiederholt, wenn die Bedingung weiterhin im Status "Active" verbleibt.
While (And(EventDataIs("state", "ACTIVE"), EventDataIs("location", "Tray 3")))
{
WaitUntil(TimeIsAfter(1200))
IfThen(EventDataIs("state", "ACTIVE"))
Distribute
}In diesem Beispiel wurde für die Erstellung einer zusammengesetzten Bedingung verwendet. Die While-Schleife wird nur abgearbeitet bzw. wiederholt, wenn das Ereignis für Fach 3 aktiv ist. Der Code innerhalb der Schleife ist mit Ausnahme der Bedingung , die hier auf 1200 Sekunden (20 Minuten) eingestellt ist, derselbe wie beim Filter "Trigger on Active".