Überblick
Administration in dForge umfasst:
- Anwender — wer auf die Plattform zugreifen kann
- Rollen — was sie tun können
- Ordner — welche Daten sie sehen können
- Module — welche Anwendungen installiert sind
- Einstellungen — Konfiguration auf Modul-Ebene
Anwenderverwaltung
Navigieren Sie zu Administration > Anwender, um Anwender zu verwalten.
Anwender einladen
- Klicken Sie auf + Neu, um einen Anwender anzulegen
- Geben Sie E-Mail, Name und initiale Rollen ein
- Der Anwender erhält eine Einladung, um sein Passwort einzurichten
Rollen zuweisen
Jeder Anwender kann eine oder mehrere Rollen haben. Rollen werden von Modulen definiert und sind namespaced — ein CRM-Modul liefert vielleicht crm.manager, crm.sales_rep, crm.viewer; ein HR-Modul hr.manager, hr.viewer. Es gibt keine generischen plattformweiten Rollen.
Rollen sind additiv — Berechtigungen aus mehreren Rollen werden vereint, niemals widerrufen. Ein Anwender mit crm.sales_rep + fin.viewer hat vollen CRM-Zugriff plus Lese-Zugriff auf Finanzen. Die effektiven Rechte werden als Vereinigung aller Rechte der zugewiesenen Rollen berechnet, nie als Schnittmenge.
Ordnergebundene Rollenzuweisungen
Eine Rollenzuweisung kann auf einen bestimmten Ordner beschränkt werden. Das ist der primäre Weg, einem Anwender unterschiedliche Berechtigungen in verschiedenen Teilen der Organisation zu geben.
folder_id = NULL— die Rolle gilt global (überall, wo der Anwender hingeht)folder_id = <uuid>— die Rolle gilt nur innerhalb dieses Ordners (und seiner Kinder, wenn Vererbung aktiviert ist)
Beispiel: Ein Anwender kann global hr.manager sein, aber innerhalb des Ordners HR/Geschäftsleitung nur hr.viewer, sodass er alle außer dem Geschäftsleitungs-Team verwalten kann.
Direkte Anwenderrechte (Overrides)
Zusätzlich zu rollenbasierten Rechten können Admins Rechte für einen einzelnen Anwender auf einem bestimmten Sicherheitsobjekt über user_rights gewähren oder überschreiben. Sparsam verwenden — für einmalige Ausnahmen, bei denen das Anlegen einer neuen Rolle nicht gerechtfertigt ist.
Rollensystem
Entitätsrechte
Rollen gewähren Rechte auf Entitäten:
| Recht | Code | Bedeutung |
|---|---|---|
| Select | S | Datensätze ansehen/abfragen |
| Insert | I | Neue Datensätze anlegen |
| Update | U | Bestehende Datensätze bearbeiten |
| Delete | D | Datensätze entfernen |
| Clone | C | Datensätze duplizieren |
Aktions- & Berichts-Rechte
| Recht | Code | Bedeutung |
|---|---|---|
| Execute | E | Eine Aktion oder einen Bericht ausführen |
Ordner-Zugriff
| Recht | Code | Bedeutung |
|---|---|---|
| Access | E | Einen Ordner betreten und in ihm arbeiten |
Ordnersystem
Ordner sind dynamische gefilterte Ansichten, keine physischen Container. Ein Datensatz „lebt“ nicht in einem Ordner — er erscheint im Ordner, wenn er zu dessen Filter passt, und kann in vielen Ordnern gleichzeitig auftauchen.
Wie Ordner funktionieren
- Zeilenfilter — jeder Ordner definiert einen Filter, der bestimmt, welche Datensätze in ihm sichtbar sind. Der Filter wird auf jede Abfrage angewendet, die innerhalb des Ordners gemacht wird.
- Entitätsansicht — jeder Ordner bindet Entitäten an eine bestimmte Entitätsansicht, die steuert, welche Spalten der Anwender sehen kann. Verschiedene Ordner können unterschiedliche Spalten derselben Tabelle zeigen.
- Rollenzuweisungen — Rollen können auf Ordner-Ebene zugewiesen werden, sodass dieselbe Rolle in verschiedenen Ordnern unterschiedliche Berechtigungen hat.
- Einstellungs-Overrides — Modul-Einstellungen können pro Ordner überschrieben werden und vererben sich den Baum hinunter.
- Hierarchie — Ordner sind hierarchisch. Kinder erben Sicherheit und Einstellungen vom Eltern-Ordner, sofern sie nicht explizit isoliert sind.
Komponierbare Sicherheit
Effektiver Zugriff in dForge ist die Schnittmenge dreier unabhängiger Dimensionen:
Zugriff = Ordner (Zeilen) × Entitätsansicht (Spalten) × Rolle (Operationen)
- Ordner entscheidet, welche Zeilen Sie sehen können (Sicherheit auf Zeilenebene per Filter)
- Entitätsansicht entscheidet, welche Spalten Sie sehen können (Sicherheit auf Spaltenebene)
- Rolle entscheidet, was Sie mit dem tun können, was Sie sehen (S, I, U, D, C, E)
Beispiel
Ein Produktkatalog, der von zwei Abteilungen genutzt wird:
- Lager-Ordner —
entity_view = storekeeper_viewzeigtname,sku,quantity,location. Hier zugewiesene Rollen gewährenS, Uauf die Produkt-Entität. - Buchhaltungs-Ordner —
entity_view = accountant_viewzeigtname,sku,price,cost,margin. Hier zugewiesene Rollen gewährenS, Unur auf Preis und Kosten.
Dieselbe Produkttabelle, zwei völlig unterschiedliche Erfahrungen. Keine Datenduplikation.
Ausgegraute Ordner
Wenn ein Anwender Zugriff auf einen Unterordner hat, aber nicht auf dessen Eltern-Ordner, wird der Eltern-Ordner im Baum als nicht auswählbar (ausgegraut) angezeigt. Sie können zu dem Unterordner navigieren, der ihnen gehört, ohne jemals Eltern-Daten zu sehen.
Modulverwaltung
Module installieren
- Gehen Sie zum Modul-Installer
- Durchstöbern Sie verfügbare Module
- Klicken Sie auf Installieren — dForge legt Tabellen, Ansichten, Menüs, Rollen und Initialdaten an
- Zugewiesene Anwender können das neue Modul sofort nutzen
Modul-Abhängigkeiten
Manche Module hängen von anderen ab:
- Pricing benötigt WMS (verwendet Produkt- und Kategorie-Entitäten)
- CRM-Finance-Brücke benötigt sowohl CRM als auch Finance
- Integrations-Brücken fügen modulübergreifende Funktionen hinzu, ohne Kernmodule zu verändern
Module deinstallieren
Deinstallieren markiert das Modul als gelöscht (setzt es auf inaktiv) und bewahrt die Daten für die referentielle Integrität. Die Menüs und Ansichten des Moduls werden ausgeblendet, aber die Daten bleiben für Audit und Berichte zugänglich.
Modul-Einstellungen
Module können konfigurierbare Einstellungen definieren. Greifen Sie über Einstellungen für jedes installierte Modul darauf zu.
Einstellungen sind ordnergebunden — Werte vererben sich durch den Ordnerbaum. Eine auf Unternehmensebene definierte Einstellung gilt für alle Unterordner, sofern sie nicht auf einer spezifischeren Ebene überschrieben wird. Die Auflösung läuft den Baum hinauf, bis sie einen Wert findet, und fällt dann auf den Modul-Default zurück. Wenn nirgendwo ein Wert gesetzt ist, ist der Wert NULL.
Beispiele:
- Rechnungs-Nummernpräfix pro Geschäftseinheit
- Standardwährung pro Region
- Genehmigungsschwellen pro Abteilung
Einstellungen können in Formeln mit $[SettingName] referenziert werden:
[amount] <= $[ApprovalThreshold] -- canExecute auf einer Genehmigungs-Aktion
[department_id] = $[DepartmentId] -- Filter für Sicherheit auf Zeilenebene
$[DefaultWarehouseId] -- Standardwert für neue Datensätze
So kann sich dasselbe Modul an unterschiedliche Organisationsstrukturen anpassen, ohne dass Code geändert wird — Admins konfigurieren einfach die Werte pro Ordner.