Torsten Brendgen c1f1d02d9c Add Expiry Indicator functionality with configuration and command set
- Implemented ExpiryItemService to manage expiry date logic for list items.
- Created ExpiryModels to define types and structures for expiry configurations and rules.
- Added RestError utility for handling API response errors.
- Developed ExpiryIndicatorFieldCustomizer to display expiry information in list views.
- Introduced ExpiryIndicatorCommandSet for extending expiry dates and managing settings.
- Added settings dialog for configuring expiry settings.
- Implemented localization support for English and German languages.
- Added TypeScript configuration files for project setup.
- Included TSLint configuration for code quality enforcement.
2026-07-16 21:55:30 +02:00

ExpiryIndicator

SPFx-1.4.1-Solution für moderne Listen und Dokumentbibliotheken in SharePoint Server Subscription Edition.

Funktionen

  • Farbliche Anzeige einer vorhandenen, frei wählbaren Ablaufdatumsspalte.
  • Fallback-Berechnung aus einem konfigurierbaren Erstellungsfeld und defaultLifetime.
  • Priorisierte Regeln mit eigener Laufzeit und eigenen Farbschwellen anhand vorhandener Feldwerte.
  • Command-Bar-Befehl zum Verlängern eines oder mehrerer Elemente um ein Kalenderjahr.
  • Pro Liste/Bibliothek gespeicherte Konfiguration.

Die Solution provisioniert ausdrücklich keine fachliche Ablaufdatumsspalte und keinen Content Type.

Regelauswertung

rules werden von oben nach unten geprüft. Für jede Regel gilt:

  1. Das konfigurierte interne Feld muss in der Liste/Bibliothek existieren.
  2. Erst dann wird sein Wert geprüft.
  3. Die erste Regel mit passendem columnValue bestimmt lifeTime und columnRule.
  4. Wenn keine Regel passt oder keines der Regelfelder vorhanden ist, gilt der gesamte default-Block.

Beispiel:

{
  "baseField": "Created",
  "expiryField": "ExpiryDate",
  "default": {
    "lifeTime": { "value": 2, "unit": "years" },
    "columnRule": [
      {
        "daysUntilExpiry": 0,
        "operator": "lessOrEqual",
        "backgroundColor": "#a4262c",
        "textColor": "#ffffff",
        "label": "Abgelaufen"
      }
    ]
  },
  "rules": [
    {
      "columnName": "DataPrivacy",
      "columnValue": "PersDat1",
      "lifeTime": { "value": 1, "unit": "years" },
      "columnRule": [
        {
          "daysUntilExpiry": 30,
          "operator": "lessOrEqual",
          "backgroundColor": "#ffaa44",
          "textColor": "#000000",
          "label": "Läuft bald ab"
        }
      ]
    }
  ]
}

Build

SPFx 1.4.1 verwendet die Legacy-Toolchain. Unterstützt wird Node.js 6 oder 8; empfohlen wird für reproduzierbare Builds Node.js 8.17.0.

npm install
npm run package

Das Paket wird als sharepoint/solution/expiry-indicator.sppkg erzeugt.

Installation

  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 über Expiry-Einstellungen interne Feldnamen, Standardlaufzeit, Policies und Farben konfigurieren.
  4. Den Field Customizer mit der vorhandenen Ablaufdatumsspalte verbinden:
.\scripts\Enable-ExpiryIndicator.ps1 `
  -SiteUrl 'https://sharepoint/sites/fachbereich' `
  -ListTitle 'Dokumente' `
  -ExpiryFieldInternalName 'CustomerExpiryDate'

Das Skript ist in einer SharePoint Management Shell beziehungsweise auf einem Rechner mit den passenden SharePoint-CSOM-Assemblies und Zugriff auf die Site auszuführen.

Deaktivierung

.\scripts\Disable-ExpiryIndicator.ps1 `
  -SiteUrl 'https://sharepoint/sites/fachbereich' `
  -ListTitle 'Dokumente' `
  -ExpiryFieldInternalName 'CustomerExpiryDate'

Das Skript entfernt ausschließlich die Field-Customizer-Verknüpfung. Die Spalte und alle fachlichen Daten bleiben erhalten. Die Command-Set-Registrierung wird durch das Entfernen der App aus der Site beseitigt.

Description
No description provided
Readme 1.4 MiB
v.2.0.0 Latest
2026-07-19 21:59:48 +00:00
Languages
TypeScript 61.5%
JavaScript 27.6%
PowerShell 10.6%
SCSS 0.3%