Montag, 2. März 2009

Gruppen in Quicklaunch-Navigation eintragen

Einer der Unterschiede von programmatisch angelegten Benutzergruppen zu denen, die über die Oberfläche erzeugt wurden, ist der, dass letztere in der Quicklaunch-Navigation angezeigt werden, erstere aber nicht.

Witzigerweise stehen diese Gruppen auch nicht per Default zur Verfügung, wenn man in "All People" versucht, einen Benutzer gleich einer Gruppe hinzuzufügen.

Abhilfe schafft hier das Property "vti_associategroups" vom Rootweb, dem man semikolonsepariert die IDs der Benutzergruppen zuweisen muss:


List quickLaunchGroupIDs = new List();
...
// create a new spGroup here and add its ID to the list
quickLaunchGroupIDs.Add(spGroup.ID.ToString());

rootWeb.AllProperties["vti_associategroups"] = string.Join(";", quickLaunchGroupIDs.ToArray());

rootWeb.Update();