- Added configuration files: config.json, copy-assets.json, package-solution.json, serve.json, write-manifests.json. - Created gulpfile.js for build process. - Implemented core logic in OrganizationChartCore.ts for account normalization and profile handling. - Developed data service in OrganizationChartDataService.ts to fetch organization data from SharePoint User Profile Service. - Defined types for user profiles and organization nodes in OrganizationChartTypes.ts. - Created web part manifest for OrganizationChartWebPart. - Built the main web part component with rendering logic and property pane configuration in OrganizationChartWebPart.ts. - Developed React components for displaying the organization chart. - Implemented styling for the organization chart in OrganizationChart.module.scss. - Added localization support with English and German strings. - Created unit tests for core functionalities in OrganizationChartCore.test.ts. - Set up TypeScript and TSLint configurations for the project.
1.8 KiB
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.
Funktionen
- aktueller Benutzer oder konfigurierter Manager als Startpunkt
- rekursives Laden aller darunterliegenden Ebenen über
DirectReports - konfigurierbare maximale Tiefe und Personenzahl
- standardmäßig vollständig aufgeklappter Baum
- einzelne Zweige können auf- und zugeklappt werden
- Profilbild, Anzeigename, Position, Abteilung und optional Kontaktdaten
- Verlinkung auf die SharePoint-Profilseite
- kurzzeitiger In-Memory-Profilcache zur Reduzierung wiederholter REST-Aufrufe
- responsive Baumdarstellung mit SharePoint-Themefarben
Datenquelle und Voraussetzungen
Das WebPart verwendet direkt:
/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)
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:
- 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.
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.