Rollen - benutzerspezifische Sichten auf ein Datenblatt

Einsatzzweck für Rollen

Die Informationen, die ein Benutzer auf einem Datenblatt sieht, werden vom aktuellen Layout des Datenblatts bestimmt. Der Modellierer kann unterschiedliche Layouts mit einer unterschiedlichen Menge an sichtbaren Feldern erstellen, zwischen denen Benutzer mit Admin-Rechten wechseln können: Jeder Wechsel wirkt sich jedoch immer auf die Sicht aller Benutzer auf ein Datenblatt aus. Möchten wir erreichen, dass unterschiedliche Benutzer / Benutzergruppen auch unterschiedliche Felder zur selben Zeit sehen können, so können wir hierfür das Rollenkonzept verwenden. Ein Benutzer nimmt dabei eine bestimmte "Rolle" (z. B. die des Einkaufs) ein und sieht das Datenblatt deshalb mit einem speziell für diese Rolle erstellten Layout.

Wie bekommt ein Benutzer eine Rolle zugewiesen?

Die Zuweisung von Benutzerrollen ist eine typische Aufgabe für das Rechtemanagement einer Anwendung. Da die Ermittlung von Rechten auf einem Element bei REWOO Scope indirekt über das Beziehungsnetzwerk eines Benutzers gesteuert wird, werden über denselben Mechanismus auch die jeweiligen Benutzer-Rollen automatisch ermittelt. Bekommt beispielsweise ein Benutzer über eine Beziehung vom Typ "Einkauf2Bestellung" ein Lese-Recht auf eine Bestellung, so wird davon ausgegangen, dass er diese aus der Sicht des Einkäufers betrachtet. Kommt er darüber hinaus noch über andere Beziehungspfade zum betreffenden Element, so bekommt er weitere Rollen zugewiesen, aus denen er bei der Betrachtung des Datenblatts frei wählen kann.

Modellierungsbeispiel

Anlegen unterschiedlicher Layouts

Im Designer müssen zunächst die unterschiedlichen Layouts für die verschiedenen Rollen, sowie eine Standardansicht für alle anderen Benutzer, definiert werden.

In unserem Beispiel soll eine Bestellung mit den unterschiedlichen Rollen "Einkauf" und "Produktion" betrachtet werden. Hierfür werden die folgenden Layouts innerhalb des Aspekttyps "Bestellung" definiert:

  1. das Layout "Produktion", welches neben einigen Standardfeldern (hier: der Name des Artikels und das Bestelldatum) ein Feld für die Bestellmenge vorsieht
  2. das Layout "Einkauf", welches zusätzlich einen ConnectionButton aufweist, mit dem der jeweilige Lieferant ausgewählt werden kann
  3. ein Standardlayout, für alle Benutzer, die weder die Rolle des Bestellers noch die des Einkäufers einnehmen
Definition Layouts
Anlegen der Rollendefinitionen

Anschließend müssen die unterschiedlichen Rollen definiert werden. Hierzu wird im Registerreiter "Rollen" im Datenblattdesigner zunächst ein sogenanntes Rollen-Set angelegt, welches dann die eigentlichen Rollen beherbergt. Ein Typ kann beliebig viele unterschiedliche Rollensets aufweisen, wobei ein Element immer nur ein Rollenset zu einem Zeitpunkt verwenden kann. Nach dem Anlegen des Rollensets müssen für die neuen Rollen jeweils ein zuvor angelegtes Layout mit einem oder mehreren Beziehungstypen in Verbindung gebracht werden. Die Zuordnung wird dann noch mit einem Namen versehen, der dem Benutzer später anzeigt, unter welcher "Rolle" er gerade das Datenblatt betrachtet.

Das Beispiel definiert ein Rollen-Set namens "Rollen-Set Bestellwesen". Innerhalb dieser Struktur werden die beiden Rollen "Rolle Einkauf" und "Rolle Produktion" erstellt. Jede neue Rolle weist einem (im vorherigen Schritt angelegten) Layout einen entsprechenden Beziehungstypen zu. Das Anlegen der Rollen-Sets erfolgt über die "Plus"-Schaltflächen oben. Zugehörige Rollen können anschließend über den "Erstellen"-Button an unteren Rand erstellt werden.

Definition der Rollen
Anschalten der rollenbasierten Layouts am Element

Um rollenbasierte Layouts für ein Element zu aktivieren, muss die entsprechende Option im "Layout ändern..."-Dialog gesetzt sein. Hier wird auch das zu verwendende Rollen-Set ausgewählt. Der Benutzer muss Admin-Rechte auf dem Element besitzen, um diese Änderung durchzuführen. Der folgende Screenshot zeigt dies für das Element "Schrauben M5" in unserem Beispiel:

Rollenbasierte Layouts aktivieren
Zuweisen der Rollen

Damit die rollenbasierten Layouts für die jeweiligen Benutzer angezeigt werden, müssen diese das Element über eine Beziehung vom entsprechenden Typ erreichen. Im Beispiel wurden hierzu je eine Beziehung vom Typ "Einkauf2Bestellung" (für Frau Schmidt vom Einkauf) und eine Beziehung vom Typ "Produktion2Bestellung" erstellt (für Herrn Müller aus der Produktion). Der Dialog zur Anzeige der beteiligten Benutzer gibt auch Aufschluss darüber, welcher Benutzer mit welcher Rolle das Datenblatt angezeigt bekommt.

Anzeige der Benutzer und ihrer Rollen
Anzeige des Datenblatts

Öffnet nun ein entsprechender Benutzer Scope, sieht er das Element gemäß seiner durch das Beziehungsnetz ermittelten Rolle. In unserem Fall sieht Frau Schmidt also das Datenblatt mit dem ConnectionButton, Herr Müller hingegen bekommt den Button nicht angezeigt. Wenn ein Benutzer mehrere Rollen einnehmen kann, sieht er ein Auswahlmenü in der Elementleiste, mit dem er zwischen den Rollen wechseln kann.

Auswahl einer Rolle