- 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.
56 lines
2.5 KiB
Markdown
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.
|