Files
PortalSettings/README.md
Torsten Brendgen 5eedbe6ed5 Add SharePoint element manifests for PortalSettings pages
- Created elements-v1.1.xml, elements-v2.xml, and elements.xml to define the PortalSettingsPage modules for different versions.
- Added upgrade actions for v1.1 and v2 to apply the respective element manifests.
- Ensured that the PortalSettings.aspx file is included in the SitePages library with appropriate settings.
2026-07-18 20:41:57 +02:00

56 lines
2.5 KiB
Markdown

# PortalSettings
PortalSettings wird einmal im Root Web einer Site Collection installiert. Die Seite erkennt registrierte
Einstellungsanbieter automatisch und zeigt nur Tabs fuer tatsaechlich vorhandene Solutions.
Aktuell verwaltet sie:
- Custom Branding
- Mega Menu
- ExpiryIndicator
## ExpiryIndicator 2.1
- Site-Collection-Standard im Property Bag des Root Webs,
- Inventar aller durch das Aktivierungsskript registrierten Bindungen in Root Web und Subwebs,
- Vererbung des zentralen Standards durch alle Bindungen,
- weiterhin moegliche lokale Ausnahmen in `ClientSideComponentProperties` des gebundenen Feldes,
- keine zusaetzliche Konfigurationsliste,
- Unterstuetzung alter Einzelregeln und verschachtelter V2-Regeln mit `and`/`or`,
- Validierung und Formatierung der vollstaendigen JSON-Konfiguration vor dem Speichern.
Die Prioritaet lautet: lokale Feldausnahme, Subweb-Override, Site-Collection-Standard, eingebauter Standard.
PortalSettings bleibt fuer den Betrieb des ExpiryIndicators optional.
## Erkennung
- Custom Branding und Mega Menu werden anhand ihrer aktiven, markierten Application-Customizer-UserCustomAction erkannt.
- ExpiryIndicator registriert einen Solution-Descriptor und sein Bindungsinventar im Property Bag des Root Webs.
Neue eigene Solutions werden zentral im Provider-Register in `PortalSettings.aspx` hinterlegt. Ein Provider
definiert Kennung, Anzeigename, Component-ID, Panel und Erkennungsart. So bleibt PortalSettings die gemeinsame
Admin-Oberflaeche, ohne dass nicht installierte Solutions leere Tabs erzeugen.
## Build
Die Solution verwendet die SPFx-1.4.1-Toolchain und wird reproduzierbar mit Node.js 8.17.0 gebaut:
```powershell
npm install
npm run package
```
Das Paket liegt danach unter `sharepoint/solution/portal-settings.sppkg`.
## Installation und Upgrade
1. `portal-settings.sppkg` im App Catalog durch Version `2.0.0.0` ersetzen.
2. PortalSettings im Root Web der Site Collection installieren beziehungsweise aktualisieren.
3. `expiry-indicator.sppkg` durch Version `2.1.0.0` ersetzen und die App aktualisieren.
4. `Enable-ExpiryIndicator.ps1` fuer jede verwendete Liste oder Bibliothek erneut ausfuehren. Dadurch werden
Descriptor und Bindungsinventar idempotent registriert; vorhandene lokale Konfigurationen bleiben erhalten.
5. `/SitePages/PortalSettings.aspx` mit geleertem Browsercache laden.
Der ExpiryIndicator-Tab erscheint erst, wenn mindestens eine Bindung registriert ist, ein zentraler Standard
existiert oder der Solution-Descriptor im Root Web vorhanden ist.