- 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
4.2 KiB
Organization Chart
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
- vollständig sichtbarer Baum ohne separate Auf-/Zuklapp-Schalter
- Profilbild, Anzeigename, Position, Abteilung und optional Kontaktdaten
- Teams-ähnliche Personenkarten mit Text links und Profilbild rechts
- aufklappbare Personendetails direkt in der Karte
- konfigurierbare Kartenfarben und wahlweise abgerundete Ecken
- Verlinkung auf die SharePoint-Profilseite
- kurzzeitiger In-Memory-Profilcache zur Reduzierung wiederholter REST-Aufrufe
- responsive Baumdarstellung mit automatisch kompakteren Karten bei breiten Organisationsebenen
- gerade Verbindungslinien zwischen den Hierarchieebenen
- schattenlose Karten im Teams-Stil
Datenquelle und Voraussetzungen
Das WebPart verwendet direkt:
/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)
/_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser
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
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 eindeutig aufgelösten Benutzer. Gespeichert werden der kanonische Login und der Accountname als Fallback.
Wird die Auswahl entfernt, verwendet das WebPart wieder den angemeldeten Benutzer. Im Anzeigemodus ist der People Picker nicht sichtbar.
Build-Umgebung
- Node.js 8.17.0
- npm 6.13.4
- SharePoint Framework 1.4.1
npm install
npm test
gulp clean
gulp bundle --ship
gulp package-solution --ship
Das Paket wird unter sharepoint/solution/organization-chart-webpart.sppkg erzeugt.