- Implemented the PortalSettings Web Part with a new manifest and TypeScript file. - Created SCSS styles for the Web Part, defining various UI elements and responsive design. - Added localization support for English and German languages. - Developed tests for Provider Registry and static assets validation. - Included PowerShell script for project validation.
81 lines
3.2 KiB
Markdown
81 lines
3.2 KiB
Markdown
# PortalSettings V3 – Umsetzungsstand
|
||
|
||
Stand: 21.07.2026
|
||
Branch: `dev-3.0`
|
||
Zielversion: 3.0.0
|
||
|
||
## Architektur
|
||
|
||
- [x] Branch `dev-3.0` angelegt.
|
||
- [x] Monolithische ASPX-Seite entfernt.
|
||
- [x] Leeren Application Customizer entfernt.
|
||
- [x] V3 als SPFx-WebPart aufgebaut.
|
||
- [x] Provider-Vertrag, Registry und versionierte Schemas eingeführt.
|
||
- [x] Provider-Erkennung von UI und Speicherlogik getrennt.
|
||
- [x] Keine dynamische Ausführung fremder Provider-Scripts.
|
||
- [x] Unbekannte Properties bleiben beim Speichern erhalten.
|
||
|
||
## Dynamische Oberfläche
|
||
|
||
- [x] Sections mit Titel, Beschreibung und Layout.
|
||
- [x] Überschriften, Text, Hinweise, Divider und Gruppen.
|
||
- [x] Text-, Zahlen-, Boolean- und Auswahlfelder.
|
||
- [x] Choice Cards für visuelle Modusauswahl.
|
||
- [x] String-Listen- und JSON-Editoren.
|
||
- [x] Termset-Picker.
|
||
- [x] Bindungsinventar.
|
||
- [x] Property-Zusammenfassung und einklappbare JSON-Vorschau.
|
||
- [x] Bedingte Sichtbarkeit über `visibleWhen`.
|
||
- [x] Responsive 12-Spalten-Darstellung.
|
||
- [x] SharePoint-Themeslots statt fester Portal-Farben.
|
||
- [x] Tastaturfokus, Forced Colors und Reduced Motion berücksichtigt.
|
||
|
||
## Provider
|
||
|
||
- [x] MegaMenu vollständig auf Provider-Schema umgestellt.
|
||
- [x] Termset, Modus, Cache, Cache-Version und Debug abgedeckt.
|
||
- [x] CustomBranding vollständig auf Schema 2 abgebildet.
|
||
- [x] Branding-Sicherheitsprüfung vor dem Speichern.
|
||
- [x] ExpiryIndicator-Site-Collection-Standard abgebildet.
|
||
- [x] Expiry-Bindungsinventar dargestellt.
|
||
- [x] Web-, Listen- und Datumsfeld-Picker umgesetzt.
|
||
- [x] Neue Field-Customizer-Bindung aus dem WebPart möglich.
|
||
- [x] Lokale Expiry-Ausnahme bearbeiten.
|
||
- [x] Bindung auf Site-Standard-Vererbung stellen.
|
||
- [x] Legacy- und verschachtelte AND-/OR-Regeln validieren.
|
||
|
||
## Build und Bereinigung
|
||
|
||
- [x] Versionen auf 3.0.0 angehoben.
|
||
- [x] Node-Engine auf SPFx-1.4.1-Buildumgebung begrenzt.
|
||
- [x] Alte Feature-, Upgrade-, Copy- und Azure-Assets entfernt.
|
||
- [x] Altes Gulp-Copy-Task entfernt.
|
||
- [x] Serve-Konfiguration auf WebPart Workbench umgestellt.
|
||
- [x] Tests laufen vor der Paketierung.
|
||
- [x] PnP-Provisionierungsskript für eine moderne V3-Seite ergänzt.
|
||
- [x] README vollständig neu erstellt.
|
||
|
||
## Automatisierte Prüfungen
|
||
|
||
- [x] Provider-Registry und alle drei Provider geprüft.
|
||
- [x] Normalisierung und Erhalt unbekannter Properties geprüft.
|
||
- [x] Legacy-Branding-Migration geprüft.
|
||
- [x] Branding-XSS-Negativfälle geprüft.
|
||
- [x] Expiry-Regel-Negativfälle geprüft.
|
||
- [x] Objektpfade, Deep Clone und schemaerhaltendes Merge geprüft.
|
||
- [x] Paket-, Manifest- und Bundle-Struktur geprüft.
|
||
- [x] Verbot von `innerHTML` statisch geprüft.
|
||
- [x] SharePoint-Themeslots statisch geprüft.
|
||
|
||
## Zielserver-Abnahme
|
||
|
||
- [ ] Ship-Paket mit Node.js 8.17.0 erstellen.
|
||
- [ ] App im Root Web aktualisieren.
|
||
- [ ] Moderne `PortalSettingsV3.aspx` provisionieren.
|
||
- [ ] MegaMenu-Termsets laden und speichern.
|
||
- [ ] CustomBranding laden und schemaerhaltend speichern.
|
||
- [ ] ExpiryIndicator-Standard speichern.
|
||
- [ ] Expiry-Bindung hinzufügen, lokal konfigurieren und wieder auf Vererbung stellen.
|
||
- [ ] Bedienung mit Tastatur, 200-Prozent-Zoom und Windows-Hochkontrast prüfen.
|
||
- [ ] Alte V2-Seite nach erfolgreicher Parallelabnahme archivieren oder entfernen.
|