Zum Inhalt springen

SharePoint-Benachrichtigung für neue Bibliothekseinträge

Unsere SharePoint-App erkennt neue Bibliothekseinträge, signalisiert offene Aufgaben per Badge und verschlankt REST-Abfragen im fünfminütigen Rhythmus.

Im vorigen Beitrag zu unserer Dokumentenverwaltung-Applikation Suchfunktionalität für SharePoint Dokumentenverwaltung Applikation haben wir euch einen Einblick in unsere Lösung für die einfache Verwaltung von SharePoint-Bibliotheken gegeben. In diesem Beitrag stellen wir ein spezielles Feature vor: eine automatisierte Benachrichtigung, die neue Einträge in einer SharePoint-Bibliothek sofort sichtbar macht.

Benachrichtigung für neue Einträge in SharePoint-Bibliotheken

In unserer Dokumentenverwaltungs-App listen wir alle Einträge der angebundenen SharePoint-Bibliotheken auf. Eine davon bündelt die offenen Aufgaben für einzelne Benutzer. Damit niemand neue Aufgaben übersieht, zeigt ein rotes Badge direkt im Interface die Anzahl der offenen Tasks an. So erkennt der Benutzer auf den ersten Blick, welche Aufgaben noch auf Bearbeitung warten.

Benachrichtigung für neue Einträge einer SharePoint Bibliothek

Automatische Aktualisierung der Benachrichtigung

Bei Änderungen der offenen Aufgaben aktualisieren wir die Benachrichtigung automatisch in einem vordefinierten Intervall. Kommt etwa eine neue Aufgabe hinzu oder schließt der Benutzer eine Aufgabe ab, wird das Badge ohne manuellen Refresh aktualisiert. Dafür verwenden wir die JavaScript-Methode setInterval, die den Abruf alle 300.000 Millisekunden (fünf Minuten) ausführt.

JavaScript-Intervall für Badge-Updates

private loadOpenTasksCount() {
  // First call without delay
  this.executeLoadOpenTasksCountCommand();

  // Check open tasks every five minutes
  this.interval = setInterval(this.executeLoadOpenTasksCountCommand, 300000);
}

Abfrage der Einträge der Liste

Für die Benachrichtigung führen wir eine REST-Abfrage auf SharePoint aus. Um die Performance hochzuhalten, selektieren wir nur die Feld-ID, filtern auf den angemeldeten Benutzer sowie den Aufgabenstatus und geben anschließend die Anzahl der Treffer an das Badge zurück.

REST-Abfrage mit Filterkriterien

public static getOpenTasksCount(): Promise<number> {
  const service: SPRestService = SPServiceProvider.GetCurrentSPService();
  const selectQuery = 'Id';
  const filterQuery = `AssignedToId eq ${AppContext.currentUser.id} and Status eq 'In Progress'`;

  return service
    .getListItemsByFilter(AppContext.taskList, selectQuery, filterQuery)
    .then(items => (items && items.value ? items.value.length : 0));
}

Service-Aufruf der SharePoint-Bibliothek

public getListItemsByFilter(list: IList, selectQuery?: string, filterQuery?: string) {
  const restAPI = `${this.context.pageContext.web.absoluteUrl}/_api/web/Lists(guid'${list.Id}')/items?${
    selectQuery !== null && selectQuery !== undefined ? `$select=${selectQuery}` : ''
  }${
    filterQuery !== null && filterQuery !== undefined ? `&$filter=${filterQuery}` : ''
  }`;

  return this.context.spHttpClient
    .get(restAPI, SPHttpClient.configurations.v1)
    .then(response => response.json());
}

Fazit

Die Kombination aus visueller Benachrichtigung und effizienter REST-Abfrage stellt sicher, dass Benutzer neue Aufgaben sofort sehen und trotzdem eine performante SharePoint-Erfahrung behalten. So bleibt die Steuerung der offenen Aufgaben transparent und reaktionsschnell.

Ähnliche Beiträge

SPFx 1.24: Wir testen heute, was unseren Kunden morgen
EventBooking direkt in Microsoft 365 Copilot: originale Produktkarten mit bestätigter Anmeldung rechts und Rückfrage zum gebuchten Workshop links

SPFx 1.24: Wir testen heute, was unseren Kunden morgen hilft

Wir erproben SPFx 1.24 schon in der Preview mit unseren Produkten. EventBooking in Copilot zeigt erste vielversprechende Ergebnisse – und liefert Erfahrungen für kommende Kundenlösungen.

Weiterlesen
Provisioning im Großformat: PnP-Templates, Throttling

Provisioning im Großformat: PnP-Templates, Throttling und Race Conditions bei tausenden Bibliotheken

PnP-Provisioning für hunderte Sites und tausende Bibliotheken: 429-Throttling, Idempotenz und ETag-Lösung für Race Conditions.

Weiterlesen
Website-Relaunch: WordPress zu Astro Migration mit
Website-Relaunch: WordPress zu Astro Migration mit Custom Tools

Website-Relaunch: WordPress zu Astro Migration mit Custom Tools

Wie wir erfolgreich von WordPress zu Astro migriert haben: Custom Migration-Tools, GitHub Integration, Azure Hosting und Content-as-Code Workflow. Praxiserprobte Lösung für moderne Websites.

Weiterlesen

Fragen zu diesem Thema?

Wir unterstützen Sie gerne bei der Umsetzung in Ihrer Umgebung.