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 😉