In ModuleStudio gibt es für jede Entität eine Einstellung namens ownerPermission
. Dieser Schalter legt fest, ob Benutzer in der Lage sein sollen, (lediglich) ihre eigenen Daten zu verwalten und zu bearbeiten. Diese Option kann in vielen Anwendungsfällen nützlich sein: in einem Magazin, das Beiträge von mehreren Autoren veröffentlicht, soll beispielsweise jeder Nutzer neue Beiträge einreichen, aber auch nur seine eigenen Beiträge bearbeiten können. Oder vielleicht möchte man in einem Urlaubsportal den Nutzern die Möglichkeit bieten, eigene Reiseangebote einzustellen und diese auch zu verändern. Natürlich soll aber die Veränderung fremder Angebote nur für Moderatoren und Administratoren erlaubt sein.
Während der letzten Monate ist diese Funktionalität nach und nach um weitere Details erweitert worden, zum Beispiel in Bezug auf die Relationen zwischen mehreren Entitäten mit ownerPermission
. Wenn etwa jedes Reiseangebot mehrere Tarife haben kann, so steht einem Nutzer beim Anlegen oder Bearbeiten eines Tarifes auch nur die eigenen Reiseangebote zur Auswahl. Oder in einer Kundenverwaltung kann jeder Benutzer seine eigenen Kunden, Ansprechpartner und Adressen anlegen, wobei beim Bearbeiten von Adressen und Ansprechpartnern nur die eigenen Kunden zugeordnet werden können.
Nun gibt es wieder eine neue Ergänzung: für jede Entität mit ownerPermission
wird jetzt eine Konfigurationseinstellung generiert, mit der sich der sogenannte private mode aktivieren lässt. Dieser erweitert die Eigner-basierte Filterung auch auf Lesezugriffe: auch bei der reinen Ansicht und den Zugriff auf Datensätze werden nur noch eigene Daten zugelassen. Im privaten Modus sieht also jeder Nutzer auch lediglich seine eigenen Daten. Ein mögliches Beispiel hierfür ist, dass jeder Benutzer ein Kunde ist und seine eigene Adresse und Zahlungsdaten verwaltet, aber natürlich keine Daten anderer Kunden sehen darf. Weitere Beispiel sind Job-Bewerbungen, andere Arten von Bewerbungen, Stimmzettel für Wahlen, Informationen über Gesundheit und Finanzen, Kaufhistorien, usw.