From 9fc23e4610592a435c3fa9aadddf1b4a63cbdb38 Mon Sep 17 00:00:00 2001 From: Torsten Brendgen Date: Sat, 18 Jul 2026 21:02:32 +0200 Subject: [PATCH] Add ExpiryIndicator binding functionality and UI enhancements - Introduced a new button in the portal settings to bind the ExpiryIndicator to existing date fields. - Added a modal dialog for binding configuration, including fields for web URL, list title, and internal field name. - Enhanced the ExpiryIndicator panel to include options for loading and saving site collection defaults. - Updated the JavaScript functions to handle binding logic and validation for the ExpiryIndicator. - Improved the user interface for better usability and clarity in the portal settings page. --- README.md | 15 +++++++++++---- config/package-solution.json | 4 ++-- package-lock.json | 2 +- package.json | 2 +- sharepoint/assets/PortalSettings.aspx | 14 ++++++++++++-- src/assets/PortalSettings.aspx | 14 ++++++++++++-- 6 files changed, 39 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index d784e00..b2fbbae 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ Aktuell verwaltet sie: - 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, @@ -44,12 +45,18 @@ 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. +1. `portal-settings.sppkg` im App Catalog durch Version `2.1.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. +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. diff --git a/config/package-solution.json b/config/package-solution.json index 57f71c8..f356fb5 100644 --- a/config/package-solution.json +++ b/config/package-solution.json @@ -3,7 +3,7 @@ "solution": { "name": "portal-settings-client-side-solution", "id": "1c98e32d-bb7b-43b7-9625-074d6e4ea286", - "version": "2.0.0.0", + "version": "2.1.0.0", "includeClientSideAssets": true, "skipFeatureDeployment": false, "features": [ @@ -11,7 +11,7 @@ "title": "Portal Settings", "description": "Provisioniert die zentrale Settings-Seite fuer aktive Portal-Erweiterungen.", "id": "57bd9daf-48f9-49e2-aebd-11b15a0b5e93", - "version": "2.0.0.0", + "version": "2.1.0.0", "assets": { "elementManifests": [ "elements-v2.xml" diff --git a/package-lock.json b/package-lock.json index dd9b441..a1b285a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "portal-settings", - "version": "2.0.0", + "version": "2.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 32b59fd..0cbba20 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "portal-settings", - "version": "2.0.0", + "version": "2.1.0", "private": true, "main": "lib/index.js", "engines": { diff --git a/sharepoint/assets/PortalSettings.aspx b/sharepoint/assets/PortalSettings.aspx index fec31ea..e51644d 100644 --- a/sharepoint/assets/PortalSettings.aspx +++ b/sharepoint/assets/PortalSettings.aspx @@ -8,14 +8,16 @@ -
Portal Settings

Zentrale Verwaltung fuer aktive Portal-Erweiterungen

Diese Seite erkennt installierte Einstellungsanbieter automatisch und zeigt nur deren Tabs. Konfigurationen werden in UserCustomActions, Feld-Properties oder im Property Bag des Root Webs gespeichert.

0
-
-
Keine
+
Portal Settings

Zentrale Verwaltung fuer aktive Portal-Erweiterungen

Diese Seite erkennt installierte Einstellungsanbieter automatisch und zeigt nur deren Tabs. Konfigurationen werden in UserCustomActions, Feld-Properties oder im Property Bag des Root Webs gespeichert.

0
-
-
Keine
- + +