Neuigkeitenbeiträge in SharePoint „boosten“

von Roland Rickborn
Neuigkeitenbeiträge in SharePoint „boosten“

Einführung

In diesem Blogpost stelle ich eine Möglichkeit vor, Neuigkeitenbeiträge in SharePoint Online zu „boosten“, sie also in einem News-Feed oder in einem Nachrichten Webpart an erster Stelle zu platzieren.

Überblick der Problematik der neuen Boost-Funktion

Im September 2021 hat Microsoft das Boost News Feature [1][2] zur Verfügung gestellt. Zuerst war meine Freude darüber sehr groß. Denn der Titel Boost SharePoint news from organization news sites läßt darauf schließen, dass sich das Boosten auf SharePoint bezieht. Wie sich bei der weiteren Lektüre des Support-Artikels herausstellte, bezieht sich das „Verstärken“ zur Zeit aber nur auf Viva Connections („When you boost a SharePoint news post, this news will display the Viva Connections Feed and the Top news card on the Viva Connections Dashboard.“). Das Boosting eines Neuigkeitenbeitrags in SharePoint ist “Coming soon”.

Problemstellung beim Boosten

Allerdings ist es so, dass das Intranet unseres Kunden bisher nur aus SharePoint Online Websites besteht. Viva Connections hat der Kunde noch nicht eingeführt. Die Startseite dieses Intranets wird durch eine Vielzahl an News-Quellen befüllt, z.B. News von HR, von der IT, vom Business, lokale Beiträge und natürlich firmenweite News. Die globale Kommunikationsabteilung möchte in der Lage sein, jederzeit die eigenen firmenweiten News zu boosten, sie also an der ersten bzw. obersten Stelle zu platzieren. Diese Anforderung bezieht sich nicht nur auf die Startseite (und alle ihre Übersetzungen), sondern auch auf den SharePoint News Feed und ggf. andere Seiten, auf denen News aus unterschiedlichen Quellen ausgespielt werden.


Durch diese Anforderung fällt die Möglichkeit weg, die Sortierreihenfolge des Nachrichten Webparts manuell zu ändern. Dies würde auf der Startseite bei entsprechendem Aufwand funktionieren, würde aber z.B. nicht den News-Feed beeinflussen.

Lösungsansatz zum „Boosten“

Durch die o.g. Anforderung war klar, dass sich die Lösung nicht auf eine bestimmte Seite oder Website beschränken darf, sondern dass sich die Lösung auf den zu boostenden Neuigkeitenbeitrag beziehen muss. Ich habe also untersucht, wie die Sortierreihenfolge in Nachrichten Webparts und im SharePoint News-Feed zustande kommt. Es hat sich folgendes herausgestellt:

  • Die Sortierreihenfolge des Nachrichten Webparts wird bestimmt durch den Wert der Spalte FirstPublishedDate in den Metadaten des Neuigkeitenbeitrags.
  • Und die Reihenfolge des News-Feeds wird festgelegt durch den Wert der Spalte Created in den Metadaten des Neuigkeitenbeitrags.

Beide genannten Spalten sind in der Regel für Benutzer schreibgeschützt, so dass eine einfache und schnelle Änderung der Spalten durch einen Benutzer in SharePoint nicht möglich ist. Ich habe mich stattdessen auf einen Power Automate Flow konzentriert. Mit dem nachfolgend vorgestellten Flow wird ein neues Veröffentlichungsdatum als JSON Array definiert und damit dann ein bestimmter Neuigkeitenbeitrag aktualisiert:

Ausschnitt des Power Automate Flow mit den beiden relevanten Schritten

In diesem Beispiel wird das neue Veröffentlichungsdatum 27. April 2022, 23:59 Uhr definiert. Danach werden damit die Spalten Created und FirstPublishedDate des Neuigkeitenbeitrags mit der ID 3 überschrieben.

Beispiel: Alte News boosten

Aus der nachfolgenden Liste lässt sich entnehmen, dass es in unserem Beispiel zu Beginn 4 Neuigkeitenbeiträge gibt. Der älteste Neuigkeitenbeitrag hat den Namen Neuigkeitenbeitrag-vom-25.04.2022-(Nr.-1).aspx und wurde am 25.04.2022 um 8 Uhr erstellt.

Liste alle Websiteseiten mit allen relevanten Spalten vor dem Boosten

Werden diese vier Neuigkeitenbeiträge in einem Nachrichten Webpart angezeigt, sieht dies so aus:

Nachrichten Webpart mit vier Nachrichten vor dem Boosten

Unser Neuigkeitenbeitrag erscheint richtigerweise als letzter Beitrag im Nachrichten Webpart bzw. als unterster Beitrag im SharePoint News-Feed:

News-Feed mit vier News-Beiträgen vor dem Boosten

Jetzt wird der zuvor gezeigte Power Automate Flow (der um einige Schritte erweitert wurde) ausgeführt und damit das Veröffentlichungsdatum des Beitrags manipuliert. Nach Abschluss des Flows muss man ein paar Minuten warten, bis die Änderung neu indiziert wurde. Danach stellt sich dem Anwender diese Betrachtung des Nachrichten Webparts dar:

Nachrichten Webpart mit vier Nachrichten nach dem Boosten

Wie man sehen kann, wird unser Neuigkeitenbeitrag jetzt an erster und prominentester Stelle des Webparts angezeigt. Der News-Feed hat sich in gleicher Weise verändert, unser Beitrag erscheint jetzt an oberster Stelle:

News-Feed mit vier News-Beiträgen nach dem Boosten

Hinweis

Ich empfehle nach Möglichkeit das Erstveröffentlichungsdatum im Nachrichten Webpart nicht anzuzeigen, siehe entsprechende Option in den Webpart Einstellungen:

Erstveröffentlichungsanzeige optional

Im News-Feed lässt sich so eine Einstellung leider nicht vornehmen.

Flow zum Boosten von Neuigkeitenbeiträgen

Der Vollständigkeit halber beschreibe ich hier den kompletten Flow zum Boosten von Neuigkeitenbeiträgen in SharePoint Online. Das Vorgehen funktioniert auch bei Nachrichtenlinks!

Normalerweise kennt ein Benutzer nicht die ID einer Nachricht. Um es den Benutzern also einfacher zu machen, habe ich meinen Flow so ergänzt, dass die URL der Nachricht angegeben werden kann. Der Flow ermittelt dann die zugehörige ID.

Ich habe einen Sofortigen Cloud-Flow verwendet. Zuerst initialisiere und lege ich die beiden Eingangsvariablen NewsPostUrl und NewPublishDate fest. Die erstere Variable definiert welche Nachricht geboostet werden soll. Die letztere Variable bestimmt, bis wann die Nachricht geboostet wird. Zuerst wird dann im Schritt Verfassen FullPath der FullPath der Nachricht extrahiert. Die folgende Variable NewsPostId wird nur initialisiert und dient der späteren Verwendung. In Schritt 5 (Verfassen SiteURL) wird die Websiteadresse aus der NewsPostUrl extrahiert. Die Websiteadresse wird im nachfolgenden Schritt zum Abrufen der Dateieigenschaften benötigt. Danach werden die erhaltenen JSON-Daten analysiert, so dass anschließend alle erhaltenen Datensätze durchlaufen werden können.

Im For-Each-Loop wird der Rückgabewert {Fullpath} mit dem zuvor extrahierten Wert FullPath verglichen. Falls beide Werte übereinstimmen, haben wir die gesuchte Nachricht gefunden und legen den Wert der Variablen NewsPostId mit dem Rückgabewert ID fest.

Danach wird das neue Veröffentlichungsdatum als JSON Array definiert und die Änderung in die Website geschrieben, wobei wir beim API-Aufruf die zuvor ermittelte ID aus der Variablen NewsPostId verwenden. Nach solchen POST-Requests baue ich gerne eine kurze Verzögerung ein (hier 5 Sekunden), um sicherzustellen, dass der nächste Schritt problemlos ausgeführt werden kann. In diesem letzten Schritt wird die geänderte Nachricht erneut veröffentlicht.

Vollständiger Power Automate Flow

Nachtrag

Beim Kunden habe ich nachträglich noch kleine Änderungen am vorgestellten Flow vorgenommen, die hier nicht im Screenshot enthalten sind. So wird der Flow mittlerweile über eine Power App ausgelöst. In der Power App wird also nach der URL des News-Artikels gefragt, der geboostet werden soll. Im Flow habe ich diese beiden Schritte eingebaut:

  • URL aus der Variablen NewsPostUrl decodieren, bevor sie mit FullPath verglichen wird (z.B. wegen "%20" != " ")
  • Ggf. vorhandene URL-Parameter bei der URL aus der Variablen NewsPostUrl abtrennen (z.B. wegen "test.aspx?stay=true" != "test.aspx")

Fazit zum vorgeschlagenen Flow, um News zu Boosten

Die vorgeschlagene Lösung hat Vor- und Nachteile! Zu den Vorteilen gehört sicher, dass sich die Änderung auf die Metadaten der Nachricht bezieht. Dadurch wirkt sich die Änderung überall dort aus, wo Nachrichten ausgespielt werden (alle Nachrichten Webparts, News-Feed, etc). Die Lösung kommt der original Boost-Funktion dadurch sehr nahe. Außerdem lässt sich die Lösung leicht in eine Power App integrieren, die dann als „Boost-Tool“ den Einstellern zur Verfügung gestellt werden kann. Auf diese Weise können die Einsteller selbstständig Nachrichten bei Bedarf boosten.

Als Nachteil sehe ich das Problem, dass man das neue Veröffentlichungsdatum bis maximal zum aktuellen Zeitpunkt setzen sollte. Theoretisch lässt sich auch ein in der Zukunft liegendes Veröffentlichungsdatum setzen. Allerdings würde das dazu führen, dass Anwender eine Nachricht sehen, deren Veröffentlichungsdatum noch nicht erreicht ist. Das wird bei Endanwender sicherlich für Verunsicherung sorgen und die Frage aufwerfen, ob die Nachricht unter Umständen fälschlich veröffentlicht wurde. Geht man also maximal bis zum aktuellen Zeitpunkt als Veröffentlichungsdatum, so muss man den „Boost“-Vorgang wiederholen, falls zwischenzeitlich weitere Nachrichten veröffentlicht werden sollen.

Abgesehen von diesem Nachteil stellt der Vorschlag eine robuste Lösung für die eingangs formulierte Anforderung dar, Nachrichten im SharePoint Intranet boosten zu können. Die Lösung funktioniert mit Neuigkeitenbeiträgen und Nachrichtenlinks und sie funktioniert in Nachrichten Webparts, im SharePoint News-Feed und in Viva Connections.

Zurück

© 2006-2024 exensio GmbH
Einstellungen gespeichert

Datenschutzeinstellungen

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell, während andere uns helfen, diese Website und Ihre Erfahrung zu verbessern.

Sie können Ihre Einwilligung jederzeit ändern oder widerrufen, indem Sie auf den Link in der Datenschutzerklärung klicken.

Zu den gesetzlichen Rechenschaftspflichten gehört die Einwilligung (Opt-In) zu protokollieren und archivieren. Aus diesem Grund wird Ihre Opt-In Entscheidung in eine LOG-Datei geschrieben. In dieser Datei werden folgende Daten gespeichert:

 

  • IP-Adresse des Besuchers
  • Vom Besucher gewählte Datenschutzeinstellung (Privacy Level)
  • Datum und Zeit des Speicherns
  • Domain
You are using an outdated browser. The website may not be displayed correctly. Close