feat: update organization chart web part to support SharePoint list as data source

- Bump version to 1.2.0 for organization-chart-webpart
- Add new interfaces and types for SharePoint list configuration
- Implement OrganizationChartListDataService to handle SharePoint list data retrieval
- Update web part properties to include data source selection and list configuration
- Modify rendering logic to accommodate both user profiles and SharePoint list data sources
- Enhance property pane with new fields for list configuration
- Update localization files for new property labels and messages
- Add validation checks for list configuration in the web part
This commit is contained in:
Torsten Brendgen
2026-08-27 00:14:22 +02:00
parent 783d4f929c
commit c19d38f851
12 changed files with 688 additions and 25 deletions
+27 -2
View File
@@ -1,10 +1,12 @@
# Organization Chart
SPFx-1.4.1-WebPart für SharePoint Server Subscription Edition. Es erstellt aus dem SharePoint User Profile Service ein Organigramm, das ab einer frei konfigurierbaren Startperson rekursiv nach unten aufgebaut wird.
SPFx-1.4.1-WebPart für SharePoint Server Subscription Edition. Es erstellt aus dem User Profile Service oder einer frei zugeordneten SharePoint-Liste ein Organigramm, das ab einer konfigurierbaren Startperson rekursiv nach unten aufgebaut wird.
## Funktionen
- aktueller Benutzer oder konfigurierter Manager als Startpunkt
- wählbare Datenquelle: User Profile Service oder SharePoint-Liste
- konfigurierbarer WebPart-Titel
- Startperson über einen SharePoint-People-Picker direkt im WebPart auswählen
- rekursives Laden aller darunterliegenden Ebenen über `DirectReports`
- konfigurierbare maximale Tiefe und Personenzahl
@@ -28,7 +30,30 @@ Das WebPart verwendet direkt:
/_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.
Es benötigt keine Microsoft-Graph-Berechtigungen. Bei Verwendung des User Profile Service muss die Service Application eingerichtet sein. Benutzerprofile und insbesondere die Profilproperty `Manager` müssen aus dem Active Directory importiert werden, damit SharePoint `DirectReports` korrekt bereitstellt.
Alternativ kann im Property Pane eine SharePoint-Liste gewählt werden. Erforderlich sind Spalten für einen eindeutigen Schlüssel, den zugehörigen Manager-Schlüssel und den Anzeigenamen. Position, Abteilung, E-Mail, Standort, Telefon, Bild-URL und Profil-URL sind optional. Schlüssel- und Manager-Spalten können Textspalten oder einzelne Personenfelder sein. Die Startperson wird aus den vorhandenen Listeneinträgen gewählt; ohne Auswahl wird ein Eintrag ohne bekannten Manager automatisch als Wurzel verwendet.
Eine mögliche Listenstruktur mit Textspalten ist:
| Spalte | Beispiel | Zuordnung |
|---|---|---|
| `AccountName` | `CONTOSO\max.mustermann` | eindeutiger Schlüssel |
| `ManagerAccount` | `CONTOSO\erika.musterfrau` | Manager-Schlüssel |
| `Title` | `Max Mustermann` | Anzeigename |
| `JobTitle` | `Teamleiter` | Position, optional |
| `Department` | `IT` | Abteilung, optional |
Alternativ können für Schlüssel und Manager zwei einzelne Personenfelder verwendet werden. Entscheidend ist, dass der aus der Manager-Spalte gelesene Wert mit dem Schlüssel des übergeordneten Listeneintrags übereinstimmt.
### Verwendung mit dem Inhaltstyp-Katalog
Die Listenfelder koennen ueber den Inhaltstyp-Katalog verteilt werden. Fuer den eindeutigen Personenschluessel
und die Manager-Beziehung sollten Textspalten oder einzelne Personenfelder verwendet werden. Ein Lookup auf
eine konkrete Mitarbeiterliste ist dafuer nicht geeignet, weil ein Lookup die Listen-ID der jeweiligen
Websitesammlung enthaelt. Lookup-Spalten werden deshalb in der Spaltenzuordnung des WebParts nicht angeboten.
Empfehlenswert sind ein unveraenderlicher Mitarbeiter-/Accountschluessel als Text oder zwei Personenfelder
mit identischer Login-Darstellung.
## Startperson