63 lines
2.9 KiB
Markdown
63 lines
2.9 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,
|
|
- Popup zum Anbinden vorhandener Datumsfelder ohne PowerShell,
|
|
- 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.1.5.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. `/SitePages/PortalSettings.aspx` mit geleertem Browsercache laden.
|
|
5. **ExpiryIndicator anbinden** auswaehlen und Web-URL, Listentitel und internen Namen des vorhandenen
|
|
Datumsfeldes eingeben. Optional werden Classic ScriptLink und Ribbon-Befehl mitregistriert.
|
|
|
|
Das PowerShell-Skript bleibt fuer automatisierte Rollouts und Massenbereitstellungen erhalten, ist fuer eine
|
|
manuelle Bindung ueber PortalSettings aber nicht mehr erforderlich.
|
|
|
|
Der ExpiryIndicator-Tab erscheint erst, wenn mindestens eine Bindung registriert ist, ein zentraler Standard
|
|
existiert oder der Solution-Descriptor im Root Web vorhanden ist.
|
|
|
|
Zum Anbinden werden mindestens die Berechtigungen **Listen verwalten** und zum Registrieren der optionalen
|
|
Classic-Webaktion **Web verwalten** benoetigt. Die ExpiryIndicator-App muss zuvor im Root Web installiert sein.
|