- 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.
52 lines
1.8 KiB
Markdown
52 lines
1.8 KiB
Markdown
# 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:
|
|
|
|
```text
|
|
/_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
|
|
|
|
```powershell
|
|
npm install
|
|
npm test
|
|
gulp clean
|
|
gulp bundle --ship
|
|
gulp package-solution --ship
|
|
```
|
|
|
|
Das Paket wird unter `sharepoint/solution/organization-chart-webpart.sppkg` erzeugt.
|