Und hier ist er \o/ !
Teil 2 zu den Userprofil Settings – Die Newsfeed Einstellungen
Einem Benutzer ein Profil zu erstellen und diverse Attribute zuzuweisen, ist ja nun mittlerweile kein Problem mehr. Aber wie genau verhält es sich mit den Userprofil Newsfeed Einstellungen?
Wenn das Profil erstellt wird, sind hier zunächst standardmäßig sehr viele der Kontollboxen angehakt.
Nach dem Erstellen sind die default SharePoint Userprofil Newsfeed Einstellungen wie folgt:
Diese Einstellungen sind aber sicherlich nicht in allen Szenarien wünschenswert.
Natürlich kann dies auch jeder Benutzer selbständig anpassen. Aber auch hier ist dies vermutlich nicht immer jedem zumutbar.
Ein Beispiel wäre etwa ein Geschäftsführer oder andere hierarchisch höher gestellte Persönlichkeiten. Selbstverständlich müssen diese auch im Unternehmen präsent sein und über ein Profil verfügen.
Aber jedes Mal eine Email zu bekommen, wenn ein Name von eben diesen erwähnt wird, ist an dieser Stelle sicher unangebracht.
Denn je nach Unternehmensgröße artet das vermutlich schnell zu einer Spam Flut aus.
Wie setzt man also programmatisch die Sharepoint Userprofil Newsfeed Einstellungen für gewünschte Benutzer?
Grundsätzlich teilen sich die Newsfeed Einstellungen in drei Bereiche:
- Email Benachrichtigungen
- Personen, denen ich folge
- Freigegebene Aktivitäten
Welche im Profil auch über drei Felder angesprochen werden:
- SPS-EmailOptin
- SPS-PrivacyPeople
- SPS-PrivacyActivity
Und hier beginnt auch schon der tricky Part. Nämlich die Zuweisung der Korrekten Werte, in eben diese Felder, um bestimmte Kästchen anzuwählen und andere nicht. Denn dies Passiert über Binärcode 0/1, über welchen einzelne Feldwerte angesteuert werden.
Nun muss man aber nicht in Schweiß ausbrechen und sich mit Nullen und Einsen beschäftigen. Es gibt Gottseidank einfache Umrechnungsmöglichkeiten.
Zur Erklärung der Hintergrundinformationen. Im ersten Block gibt es 6 Checkboxen, also 6 Bits im Binärcode, welche 0 oder 1 sein können.
Dies ergibt theoretisch folgendes Muster: 000000 für alles aktiv oder 111111 für alles deaktiviert – fast. Denn das erste Bit wird nicht verwendet, also sind es 7 Stellen mit 000000(0).Sowas muss man sich aber eigentlich nicht merken oder auch nicht unbedingt wissen, denn es geht viel einfacher. 😉
Da die Werte intern binär verwertet werden, aber es in SharePoint kein Binärfeld gibt, wird das ganze umgerechnet als Integer-Zahl abgespeichert.
So funktioniert die Umrechnung für E-Mail Benachrichtigungen
Man beginnt beim zweiten Bit – also 2 und nicht 1 – für die 6 Stellen der Checkboxen:
2 aktiv Jemand hat begonnen, mir zu folgen
4 aktiv Vorschläge für Personen und Stichwörter
8 deaktiviert Jemand hat mich erwähnt
16 aktiv Jemand hat auf eine Unterhaltung geantwortet, die ich gestartet habe
32 aktiv Jemand hat auf eine Unterhaltung geantw., auf die ich geantwortet habe.
64 deaktiviert Es gibt eine Antwort zu meinem Communitydiskussionsbeitrag
Aufsummiert ist 0 hierbei alles aktiv und 126 alles deaktiviert.
[Binärwert, rechts nach links gelesen: 100111(0)]
Für unseren Beispiel Fall wird dem SPS-EmailOptin Feld der Wert 72 (8+64) zugewiesen, um diese Optionen abzuschalten.
$newProfile["SPS-EmailOptin"].Value = 72;
Das Setzen von Personen, denen ich folge
Der zweite Block ist hier etwas simpler, da es sich um einen einfachen Boolean Wert handelt.
$newProfile["SPS-PrivacyPeople"].Value = $true
So werden Freigegebene Aktivitäten umgerechnet
Und der letzte Block der Newsfeed Einstellungen ist analog zum ersten wieder als Binärwert zu betrachten. Diesmal aber inklusive dem ersten Bit und 12-stellig. Außerdem mit den Bits gesetzt, welche aktiv sein sollen!
Warum dies von Microsoft hier gegensätzlich gewählt wurde, steht wohl wie vieles in den Sternen…
Nach unten entspricht der Binärwert, rechts nach links gelesen: 111100000001
1 aktiv Einer Person folgen
2 deaktiviert Einem Dokument oder einer Website folgen
4 deaktiviert Einer Kategorie folgen
8 deaktiviert Kategorisieren eines Elements
16 deaktiviert Geburtstagsfeier
32 deaktiviert Positionsänderung
64 deaktiviert Jahrestag im Unternehmen
128 deaktiviert „Fragen“ wird aktualisiert.
256 aktiv Auf einer Pinnwand bereitstellen
512 aktiv Etwas als gut befinden oder bewerten
1024 aktiv Neuer Blogbeitrag
2048 aktiv Teilnahme in Communitys
Also ergibt sich der Wert, 3841
[Binärwert, rechts nach links gelesen: 111100000001]
$newProfile["SPS-PrivacyActivity"].Value = 3841 //Anpassungen Speichern $newProfile.Commit()
Das Ergebnis der Newsfeed Einstellungen
Uuuuund, nach dem Setzen der Werte, die Newsfeed Einstellungen neu betrachtet:
Wie zu erkennen ist, sind die Felder in den Sharepoint Userprofil Newsfeed Einstellungen wie gewünscht vorausgewählt.
Was will man mehr? 🙂
Seeya, next time around 😉