feat: Implement SharePoint People Picker for selecting starting person and update version to 1.0.3

This commit is contained in:
Torsten Brendgen
2026-08-24 14:28:01 +02:00
parent 4e5dafabfc
commit a686f8c055
13 changed files with 299 additions and 48 deletions
+4 -6
View File
@@ -5,6 +5,7 @@ SPFx-1.4.1-WebPart für SharePoint Server Subscription Edition. Es erstellt aus
## Funktionen
- aktueller Benutzer oder konfigurierter Manager als Startpunkt
- Startperson über einen SharePoint-People-Picker direkt im WebPart auswählen
- rekursives Laden aller darunterliegenden Ebenen über `DirectReports`
- konfigurierbare maximale Tiefe und Personenzahl
- standardmäßig vollständig aufgeklappter Baum
@@ -20,19 +21,16 @@ Das WebPart verwendet direkt:
```text
/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)
/_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser
```
Es benötigt keine Microsoft-Graph-Berechtigungen und keine zusätzliche SharePoint-Liste. Die User Profile Service Application muss eingerichtet sein. Benutzerprofile und insbesondere die Profilproperty `Manager` müssen aus dem Active Directory importiert werden, damit SharePoint `DirectReports` korrekt bereitstellt.
## Startperson
Im Property Pane kann als **Startperson / Manager** angegeben werden:
Im Bearbeitungsmodus der modernen Seite wird direkt oberhalb des Organigramms ein People Picker angezeigt. Dort kann die Startperson per Name oder E-Mail-Adresse gesucht werden. Das WebPart akzeptiert nur einen von SharePoint aufgelösten Benutzer und prüft bei der Auswahl zusätzlich, ob dessen Profil über den User Profile Service gelesen werden kann. Gespeichert werden der kanonische Login und der Accountname als Fallback.
- Claims-Login, beispielsweise `i:0#.w|CONTOSO\max.mustermann`
- klassischer Login, beispielsweise `CONTOSO\max.mustermann`
- je nach Profilkonfiguration ein UPN wie `max.mustermann@contoso.local`
Bleibt das Feld leer, verwendet das WebPart den angemeldeten Benutzer.
Wird die Auswahl entfernt, verwendet das WebPart wieder den angemeldeten Benutzer. Im Anzeigemodus ist der People Picker nicht sichtbar.
## Build-Umgebung