- 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.
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
ClientSideComponentPropertiesdes 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:
npm install
npm run package
Das Paket liegt danach unter sharepoint/solution/portal-settings.sppkg.
Installation und Upgrade
portal-settings.sppkgim App Catalog durch Version2.0.0.0ersetzen.- PortalSettings im Root Web der Site Collection installieren beziehungsweise aktualisieren.
expiry-indicator.sppkgdurch Version2.1.0.0ersetzen und die App aktualisieren.Enable-ExpiryIndicator.ps1fuer jede verwendete Liste oder Bibliothek erneut ausfuehren. Dadurch werden Descriptor und Bindungsinventar idempotent registriert; vorhandene lokale Konfigurationen bleiben erhalten./SitePages/PortalSettings.aspxmit 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.