SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Event Receiver List Item Permissions

Geprüfte Antwort Dieser Beitrag hat 3 Antworten

Ohne Rang
282 Beiträge
MStel erstellt 14 Juli 2015 10:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich möchte einen Event Receiver welcher auf Item-Added reagiert auf eine SP Liste installieren.
Dieser soll auf gewisse IF Abfragen die Berechtigungen für Listen Items auf Elementebene setzen.

Da ich die Lösung auf ein anderes System importiere und bei wiederverwendbaren Workflows zuviele ID's erneuert werden müssen habe ich mich diesmal für einen Eventreceiver entschieden.
Hat jemand eine Vorlage für etwas derartiges? Habe noch nie Mit Event Receivern gearbeitet und blicke daher schwer durch.

LG

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 Juli 2015 10:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der EventReceiver selbst muß in Form von kompiliertem Code, also einer Assembly (*.dll) auf das Zielsystem. Du mußt also einen Weg finden, diese Assembly zu transportieren und das geht am Einfachsten in Form einer SharePoint Solution (*.wsp). Die wird von Visual Studio bei einem SharePoint Projekt automatisch erstellt.

Dann mußt Du den EventReceiver an die Liste/Bibliothek binden. Das geht in der Solution per XML oder Code. Und es geht auch "von außen" per Code wie z.B. PowerShell.

An das neue Element kommst Du im EventReceiver ItemAdded per properties.ListItem. An dessen Berechtigungen über die RoleAssignments-Eigenschaft. Berechtigungen sind SPRoleAssignement und Berechtigungsstufen SPRoleDefinition-Objekte.

Ich hoffe, das gibt Dir genug Stoff für eigene Recherchen - genauer habe ich es nicht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
282 Beiträge
MStel Als Antwort am 14 Juli 2015 11:33
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das ist doch mal ein Wort!
Einfach in Visual Studio erstellt und schon landet es in meinem Lösungskatalog, Item Added kann man ja schon vorkonfigurieren.
Das einzige was ich nicht direkt auf anhieb verstanden habe, was meinst du mit an die Liste/Bibliothek binden bzw. an welcher Stelle genau wird dies vorgenommen?
Habe gesehen dass das Feature in den Features und Lösungen bereits aktiviert ist, aber keine Stelle an der ein Listenname/ID angegeben ist.

MFG

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 Juli 2015 11:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

SharePoint muß ja irgendwoher wissen, daß bei bestimmten Ereignissen externer Code ausgeführt werden soll und deshalb muß ein EventReceiver an eine Liste gebunden werden.

Das geht wie gesagt über eine elements.xml und ein Feature. Schaue mal in Deinem Projekt nach der Datei. Sie wird ein <Receivers> Element enthalten.

Man kann es aber auch per Code machen, indem man dem SPList-Objekt eine SPEventReceiverDefinition hinzufügt.

Viele Grüße
Andi
af @ evocom de
Blog