Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:tim:rules_matrix

Rules Matrix

Die Rules Matrix dient zur Auswertungen von Business Rules. Es ist möglich verschiedenen Matrizen mit individuellen Spalten zu erstellen. Die Matrix wird anschließend mit Zeilen befüllt. Diese können dann per MatrixHandler ausgewertet werden. Die Zeile mit der besten Trefferquote wird als Ergebnis verwendet (es muss keine genaue Übereinstimmung geben).


Erstellen einer Matrix

Eine Matrix wird im Administrationsclient erstellt. Damit der entsprechende Reiter sichtbar ist, muss der aktuelle Benutzer die Rolle rulesadministrator besitzen.

matrix_reiter.jpg

Über den Punkt „Matrix hinzufügen“ lassen sich beliebig viele Matrizen anlegen. Bei Klicken öffnet sich ein neues Popup in welchem die Matrix in ihrem Aufbau definiert wird. Als erstes muss ein Name für die Matrix vergeben werden, welcher in diesem Beispiel einfach „Entscheidung“ ist. Ebenfalls muss angegeben werden welche Gruppe die Besitzer dieser Matrix ist. Allen Usern innerhalb dieser Gruppe ist es erlaubt, die Matrix zu sehen und zu bearbeiten. Es werden nur Gruppen angezeigt, in denen sich der Ersteller der Matrix aktuell befindet.

new_matrix.jpg


Spalten definieren

Im nächsten Schritt müssen eine beliebige Anzahl an Spalten angelegt werden. Jeder Spalte muss ein Name und ein Spaltentyp gegeben werden. Ein Spaltentyp definiert hierbei die Art des Inhalts. Normale Spaltentypen werden ausgelesen, wohingegen „Result“ Typen als Ergebnis Spalten dienen und nicht für die Auswertung verwendet werden. Hierbei wird zwischen verschiedenen Typen unterschieden:

SpaltentypBeschreibung
STRING Normale Zeichenkette. Hier kann Freitext eingeben werden.
RESULT_STRING Ergebnisspalte / Normale Zeichenkette. Hier kann Freitext eingeben werden.
LONG Hier können ganze Zahlen eingegeben werden.
RESULT_LONG Ergebnisspalte / Hier können ganze Zahlen eingegeben werden.
FLOAT Hier werden Gleitkommazahlen eingetragen.
RESULT_FLOAT Ergebnisspalte / Hier werden Gleitkommazahlen eingetragen.
BOOLEAN Hier werden wahr oder falsch Werte eingetragen.
RESULT_BOOLEAN Ergebnisspalte / Hier werden wahr oder falsch Werte eingetragen.
IDENTITY Hier können Systembenutzer die im System angelegt sind ausgewählt werden.
RESULT_IDENTITY Ergebnisspalte / Hier können Systembenutzer die im System angelegt sind ausgewählt werden.

In folgendem Beispiel werden 3 Spalten angelegt die durchsucht werden sollen und hierbei von unterschiedlichem Spaltentyp sind. Es wurde ebenfalls eine Ergebnisspalte angelegt, in welcher ein Benutzer als Ergebnis ausgegeben wird.

columns_new.jpg

Nach einem Klick auf Speicher ist die Matrix angelegt und kann nun mit Werten befüllt werden.


Befüllen der Matrix

Das nachfolgende Bild zeigt eine bereits befüllte Matrix. Hier ist es möglich die komplette Matrix zu entfernen, zu bearbeiten, neue Zeilen hinzuzufügen und Spalten wieder zu löschen.

matrix_overview.jpg

ElementBeschreibung
1 Über diesen Button lässt sich die gesamte Matrix wieder entfernen.
2 Hier wird die Matrix mit allen eingegebenen Zeilen angezeigt.
3 Über diesen Button lässt sich die Matrix bearbeiten. Jedoch ist es nicht möglich den Spaltentyp der bereits bestehenden Spalten zu verändern. Sie können jedoch gelöscht, bzw. neu hinzugefügt werden.
4 Über diesen Button lassen sich ganze Zeilen wieder entfernen.
5 Hier lassen sich neue Spalten hinzufügen.

Möchte man nun eine neue Zeile hinzufügen, so wird ein Popup angezeigt. In diesem werden je nach Spaltentyp verschiedene Felder angezeigt. Bei String z.B. ein einfaches Eingabefeld. Bei Identity wird eine Liste aller angelegten Benutzer dargestellt. Bei Boolean wird eine Liste mit wahr oder falsch angezeigt.

Wird bei einem Feld ein Sternchen „*“ ausgewählt, so gilt dies als Wildcard und ein beliebiger Wert wird bei der Auswertung angenommen.

Benutzen der Matrix per Actionhandler

Die Benutzung der Matrix per Handler wird hier MatrixHandler beschrieben.

Auswertungsalgorithmus

Grundsätzlich werden alle Zeilen der Matrix einzeln bewertet.

Wenn in einer Spalte eine genaue Übereinstimmung gefunden wird, gibt es 3 Punkte. Für einen Teiltreffer in der Zeichenkette (z.B. steht AR in der Regel, aber es steht AR-01 im Formular/in der Variable) gibt es 2 Punkte und für die Wildcard * gibt es 1 Punkt.

Die Zeile mit der größten Punktzahl liefert das Ergebnis. Haben mehrere Zeilen die selbe Punktzahl, liefert die oberste Zeile das Ergebnis.

Auswertungsbeispiele

Als Grundlage dieser Auswertungen setzen wir die befüllte Beispielstabelle von oben mit 3 Suchwerten und einer Ergebnisspalte. Die folgende Tabelle zeigt die Ergebnisse für einige fiktive Auswertungen anhand der oben beschriebenen Regeln:

Suchwert 1Suchwert 2Suchwert 3Ergebnis
Freisingtrue20Group_1
Freisingtrue89wiki
Freisingtrue*wiki, Group_1
Freisingfalse20Group_1
Freisingfalse8267Group_1
Freisingfalse8wiki
Münchentrue213Prozess Manager
Timbuktufalse89Prozess Manager
Münchentrue8wiki
Münchentrue *Prozess Manager, wiki
**89wiki, Prozess Manager


software/tim/rules_matrix.txt · Zuletzt geändert: 2021/07/01 09:52 (Externe Bearbeitung)