Nintex Workflow: Entfernen von Berech­ti­gungen von Listen/Bibliotheken und Webseiten

Ausgangs­basis

Um Berech­ti­gungen von Listen/Bibliotheken oder Webseite inner­halb eines Nintex Workflows zu entfernen, sind mehrere Schritte notwendig, da keine Standar­dac­tions von Nintex dazu mitge­lie­fert werden.

Das Vorgehen zum Entfernen von Gruppen aus einer Liste wird exempla­risch beschrieben.

Hin und wieder werden angepasste Berech­ti­gungen auf Listen/Bibliotheken und Webseiten benötigt. Von Haus aus liefert Nintex dazu keine passende Action mit.

Um es trotzdem zu ermög­li­chen, benötigt man den Permissions.asmx-WebSer­vice sowie die Nintex-Actions Call web service, Query XML und ForEach.

Im folgenden Beispiel werden alle Share­Point Gruppen von einer Liste entfernt. (Berech­ti­gungen aus einer Webseite zu entfernen ist annähernd identisch).

Übersicht kompletter Workflow:

Konfi­gu­ra­tion erste Call web service Action:

Diese Action liest die aktuellen Berech­ti­gungen der Liste aus.

Dabei sind folgende Parameter zu erfassen:

Url Hier muss die Url zum Permis­sions-WebSer­vice einge­tragen werden. Diese lautet <WebUrl>/_vti_bin/Permissions.asmx — <WebUrl> ist die Nintex Eigen­schaft
Web method GetPer­mis­sionCollec­tion
objec­t­Name (string) Name der Liste von der die Berech­ti­gungen abgerufen werden sollen
objec­t­Type (string) List (falls Websei­ten­be­rech­ti­gungen angepasst werden sollen: Web)
Store result in Variable (Typ: Multi­Line) in der die WebSer­vice-Antwort gespei­chert werden soll

Konfi­gu­ra­tion Query XML Action:

Diese Action verar­beitet die XML-Antwort des WebSer­vice, so dass eine Collec­tion entsteht in der alle Share­Point-Gruppen enthalten sind. Dies wird zum entfernen der Gruppen in den folgenden Actions benötigt.

Dabei sind folgende Parameter zu erfassen:

XML Source XML
XML Variable aus der ersten Call web service Action
XPath /defaultNS:GetPermissionCollection/defaultNS:Permissions/defaultNS:Permission/@GroupName
Store reuslt in Variable (Typ: Collec­tion)

Konfi­gu­ra­tion ForEach Action:

Diese Action sorgt dafür, das jede Share­Point-Gruppe bearbeitet wird.

Dabei sind folgende Parameter zu erfassen:

Target collec­tion Die Store result in Variable aus der vorhe­rigen Query XML Action
Store result in (Neue) Variable (Typ: Textzeile)

Konfi­gu­ra­tion zweite Call web Service Action:

Diese Action entfernt immer genau eine Berechtigung/Gruppe aus der Liste.

Dabei sind folgende Parameter zu erfassen:

URL Url zum Permissions.asmx-WebService
Web method RemovePer­mis­sion
objec­t­Name (string) Name der Liste
objec­t­Type (string) List (falls Webseiten-Berech­ti­gungen entfernt werden sollen: Web)
permis­sio­nI­den­ti­fier (string) Variable aus der ForEach-Action (enthält die aktuell zu entfer­nende Gruppe)
permis­si­onType (string) group (in diesem Fall, da Gruppen entfernt werden sollen. Auch möglich: user)

 

Stephan Dalke

Solution Archi­tect

Keine Kommentare

Tut uns sehr leid, das Kommentarformular ist zur Zeit geschlossen.