Füge Application Customizer für ExpiryIndicator hinzu; aktualisiere Versionsnummern auf 1.0.10 in package.json, package-solution.json, ExpiryIndicatorFieldCustomizer.manifest.json und ExpiryIndicatorCommandSet.manifest.json; verbessere die Konfiguration und Benutzeroberfläche in README.md und ToDo.md.

This commit is contained in:
Torsten Brendgen
2026-07-17 21:59:34 +02:00
parent 76a0fcd898
commit b2337e9548
17 changed files with 280 additions and 176 deletions

View File

@@ -58,7 +58,7 @@ Beispiel der intern gespeicherten Gesamtstruktur (nicht vollständig in eines de
}
```
## Konfiguration über "Expiry-Einstellungen"
## Konfiguration über den Application Customizer
### Voraussetzungen
@@ -67,9 +67,18 @@ Beispiel der intern gespeicherten Gesamtstruktur (nicht vollständig in eines de
3. Der angemeldete Benutzer benötigt die SharePoint-Berechtigung `Listen verwalten`.
4. Das konfigurierte Ablaufdatumsfeld muss bereits vorhanden sein. Die Solution legt dieses Feld nicht an.
Nach der Installation erscheint in modernen Listen und Dokumentbibliotheken der Befehl
**Expiry-Einstellungen** in der Befehlsleiste. Falls der Befehl nicht sichtbar ist, zunächst prüfen, ob
die App in der Site installiert und die Berechtigung `Listen verwalten` vorhanden ist.
Der Einstellungsdialog wird ohne dauerhaftes Element in der Befehlsleiste durch den Application Customizer
bereitgestellt. Dazu an die URL einer modernen Listen- oder Bibliotheksansicht den Parameter
`expiryIndicatorSettings=1` anhängen:
```text
/Shared Documents/Forms/AllItems.aspx?expiryIndicatorSettings=1
```
Sind bereits andere Query-Parameter vorhanden, wird der Parameter mit `&expiryIndicatorSettings=1` ergänzt.
Nach dem Speichern wird der Parameter entfernt und die Ansicht mit der neuen Konfiguration geladen. Ohne den
Parameter bleibt der Application Customizer unsichtbar. Nur Benutzer mit `Listen verwalten` können den Dialog
öffnen und speichern.
### Interne Feldnamen ermitteln
@@ -208,8 +217,16 @@ Die Regeln werden von oben nach unten geprüft. Dabei gilt:
3. Die erste passende Regel liefert Laufzeit und Farbregeln.
4. Existiert das Feld nicht oder passt kein Wert, werden Standardlaufzeit und Standard-Farbregeln verwendet.
Nach **Speichern** wird die Konfiguration pro Liste beziehungsweise Bibliothek in der ausgeblendeten Liste
`_ExpiryIndicatorConfiguration` der aktuellen Site gespeichert. Anschließend die Ansicht neu laden.
Nach **Speichern** wird die Konfiguration als JSON direkt in `ClientSideComponentProperties` des mit dem
ExpiryIndicator gebundenen lokalen Listenfeldes gespeichert. Damit verwendet die App denselben
Konfigurationsmechanismus wie andere SPFx-Extensions und benötigt keine zusätzliche Konfigurationsliste.
PortalSettings kann optional dieselben Component Properties verwalten, ist aber keine Voraussetzung für den
Betrieb des ExpiryIndicators.
Bei einem Upgrade wird eine vorhandene Konfiguration aus der früheren ausgeblendeten Liste
`_ExpiryIndicatorConfiguration` weiterhin gelesen, solange noch keine Component Properties gespeichert wurden.
Beim nächsten Speichern wird sie in das gebundene Feld übernommen. Die alte Liste wird aus Sicherheitsgründen
nicht automatisch gelöscht.
### Anzeige aktivieren
@@ -223,8 +240,9 @@ an der Ablaufdatumsspalte registriert:
-ExpiryFieldInternalName 'CustomerExpiryDate'
```
Der Wert von `ExpiryFieldInternalName` muss mit **Internes Ablaufdatumsfeld** in den Einstellungen
übereinstimmen. Das Command Set wird durch die Installation der App registriert. Danach die Listenansicht
Der Field Customizer und seine Component Properties werden am mit `ExpiryFieldInternalName` angegebenen lokalen
Listenfeld registriert. Der interne Name wird anschließend aus dieser Bindung ermittelt und im Einstellungsdialog
nur lesbar angezeigt. Das Command Set wird durch die Installation der App registriert. Danach die Listenansicht
neu laden.
### Ablaufdatum um ein Jahr verlängern
@@ -252,7 +270,7 @@ Das Paket wird als `sharepoint/solution/expiry-indicator.sppkg` erzeugt.
1. `expiry-indicator.sppkg` in den App Catalog der On-Premises-Farm laden.
2. Die App in der gewünschten Site installieren.
3. Eine moderne Liste/Bibliothek öffnen und wie im Abschnitt
**Konfiguration über "Expiry-Einstellungen"** beschrieben konfigurieren.
**Konfiguration über den Application Customizer** beschrieben konfigurieren.
4. Den Field Customizer mit der vorhandenen Ablaufdatumsspalte verbinden:
```powershell