UpStream Advanced Permissions – Ein tiefer Einblick
Die UpStream Advanced Permissions-Erweiterung bietet Benutzern die Möglichkeit, maßgeschneiderte Berechtigungen in ihren WordPress-Projekten zu definieren. Die Anpassung von Berechtigungen ist entscheidend, um sicherzustellen, dass Benutzer nur auf die Projektbestandteile zugreifen können, die für sie relevant sind. In diesem Artikel erfahren Sie, wie Sie UpStream Advanced Permissions effizient nutzen, um eine maßgeschneiderte Benutzererfahrung zu schaffen.
Einleitung zu Advanced Permissions
Nach der Installation des UpStream Advanced Permissions-Add-ons ist der erste Schritt, zu Ihrem WordPress-Dashboard zu gehen und die Optionen für UpStream Advanced Permissions auszuwählen. Hier können Sie die erweiterten Berechtigungen aktivieren und ein XML-Dokument erstellen, das die spezifischen Berechtigungen für Ihre Benutzer definiert. Standardmäßig sind die erweiterten Berechtigungen deaktiviert; Sie müssen diese also aktivieren, um Ihre benutzerdefinierten Berechtigungen zu nutzen.
Aufbau des UpStream Advanced Permissions XML
Das XML-Dokument, das für die Definition der Berechtigungen erforderlich ist, folgt einer bestimmten Struktur. Um die verschiedenen Benutzer und ihre jeweiligen Berechtigungen klar zu definieren, müssen die Benutzerdaten in einem <permissions>
-Tag formatiert werden.
Hier sind die grundlegenden Elemente, die in diesem XML-Dokument verwendet werden:
Top-Level-Tags
Jedes XML-Dokument für UpStream-Berechtigungen muss mit einem <permissions>
-Tag beginnen. Innerhalb dieses Tags definieren Sie die Benutzer und deren Berechtigungen:
- Benutzerrollen: Berechtigungen können durch den Benutzerrollen-Slug gesetzt werden. Um den Slug für eine Rolle zu finden, nutzen Sie das Mitglieder-Plugin in Ihrem WordPress-Dashboard.
- Individuelle Benutzer: Wenn Sie die Berechtigungen für einen bestimmten Benutzer festlegen möchten, können Sie dies anhand des Benutzernamens oder der Benutzer-ID tun.
Beispiel:
xml
<user type="role" name="client">
<allow>
<object type="project" actions="view"/>
</allow>
</user>
Objekt- und Feldtags
Unter den <allow>
-Tags können Sie Objekttags definieren, die die Elemente beschreiben, für die Berechtigungen festgelegt werden. Dies kann für Projekte, Aufgaben, Dateien usw. geschehen.
Valide Aktionstypen sind view
, edit
, delete
und create
. Zudem können Sie Bedingungen wie assigned-to
, created-by
oder project-id
angeben, um die Berechtigungen weiter zu verfeinern.
Feldtags
Feldtags ermöglichen die Festlegung von Berechtigungen auf Feldebene innerhalb eines Objekts. Standardmäßig sind alle Felder eines Objekts sichtbar und bearbeitbar, es sei denn, ein spezifisches <field>
-Tag schränkt dies ein.
Beispiel:
xml
<project>
<field name="title" actions="edit"/>
</project>
Einstellen von Benutzern ohne Login
Eine nützliche Funktion der Advanced Permissions ist die Möglichkeit, Projekte für nicht eingeloggte Benutzer sichtbar zu machen. Dies wird durch die Verwendung des user type="anonymous"
-Tags erreicht. Auf diese Weise können Sie bestimmte Projekte öffentlich zugänglich machen, obwohl sie nicht bearbeitet werden können.
Beispielcode für öffentlich einsehbare Projekte:
xml
<user type="anonymous">
<allow>
<object type="project" actions="view">
<predicate>
<id>7</id>
</predicate>
</object>
</allow>
</user>
Beispiele für die XML-Struktur
Um die Nutzung von UpStream Advanced Permissions zu verdeutlichen, hier einige gängige Beispiele für XML-Berechnungen:
Beispiel 1: Standard-Berechtigungen für Client-Benutzer
Um die Standardberechtigungen für Client-Benutzer zu reproduzieren, könnte das folgende XML verwendet werden:
xml
<permissions>
<user type="role" name="client">
<allow>
<object type="project" actions="view"/>
<object type="task" actions="view"/>
</allow>
</user>
</permissions>
Beispiel 2: Eingeschränkte Berechtigungen für Client-Benutzer
Sie möchten möglicherweise, dass Client-Benutzer nur Projekte sehen und Kommentare hinzufügen können, ohne andere Bearbeitungen vorzunehmen:
xml
<permissions>
<user type="role" name="client">
<allow>
<object type="project" actions="view, comment"/>
</allow>
</user>
</permissions>
Beispiel 3: Benutzer mit Erstellungs- und Bearbeitungsrechten
Ein Benutzer namens „sam“ kann auf ein Projekt, das ihm zugewiesen ist, zugreifen und Komponenten bearbeiten:
xml
<permissions>
<user type="username" name="sam">
<allow>
<object type="project" actions="view, create, edit"/>
</allow>
</user>
</permissions>
Beispiel 4: Ein Benutzer, der nur eigene Projekte bearbeiten kann
Im folgenden Aufbau kann ein Benutzer Projekte bearbeiten, die er selbst erstellt hat:
xml
<permissions>
<user type="role" name="upstream_user">
<allow>
<object type="project" actions="edit" predicate="created-by"/>
</allow>
</user>
</permissions>
Wichtige Anmerkungen zu den Berechtigungen
Es gibt einige wichtige Punkte, die Sie bei der Verwendung von UpStream Advanced Permissions beachten sollten:
- Die Rollen „UpStream Manager“ und „Administrator“ haben immer Zugriff auf alle Bereiche des Projekts, unabhängig von den festgelegten Berechtigungen im XML-Dokument.
- Die Berechtigungen „view“ werden automatisch zugewiesen, wenn „create“, „edit“, oder „delete“ für ein Objekt festgelegt werden.
- Für das Hochladen von Dateien ist es notwendig, zusätzlich zur Advanced Permissions-Erweiterung die „upload_files“-Berechtigung in WordPress zu aktivieren.
Verfügbare Feldnamen
Um die Berechtigungen auf Feldebene feiner einzustellen, sind hier die verfügbaren Feldnamen für die verschiedenen Objekte:
Projektfeldnamen
title
: Der Name des Projektsdescription
: Die Beschreibung des Projektsstatus
: Der Status des Projektsprogress
: Der Fortschritt des Projektsstart
: Das Startdatum des Projektsend
: Das Enddatum des Projektsclient
: Der Kunde, dem das Projekt zugeordnet ist
Meilenstein Feldnamen
milestone
: Der Titel des Meilensteinsassigned_to
: Wer dem Meilenstein zugeordnet iststart_date
: Das Startdatum
Aufgabenfeldnamen
title
: Der Titel der Aufgabestatus
: Der Aufgabenstatusprogress
: Der Fortschritt der Aufgabe
Bug-Feldnamen
title
: Der Titel des Bugsseverity
: Die Schwere des Bugsstatus
: Der Status des Bugs
Dateifeldnamen
title
: Der Titel der Dateicreated_by
: Wer die Datei hochgeladen hatassigned_to
: Wer die Datei zugewiesen ist
Fazit
UpStream Advanced Permissions bietet Ihnen die Flexibilität und Kontrolle, die Sie benötigen, um Ihre Projekte in WordPress optimal zu verwalten. Durch die Erstellung maßgeschneiderter XML-Dokumente können Sie komplexe Berechtigungen einfach konfigurieren und anpassen, sodass jeder Benutzer nur die Informationen und Funktionen sieht, die für seine Rolle relevant sind. Ob Sie Berechtigungen für einzelne Benutzer oder gesamte Benutzergruppen festlegen möchten, die Advanced Permissions helfen Ihnen dabei, die Sicherheit und Effizienz Ihres Workflows zu maximieren.
Bewertungen
Es gibt noch keine Bewertungen.