Das SharePoint Feed Aggregator WebPart ermöglicht die Zusammenfassung von mehreren Datenkanäle zu einen Datenkanal. Die Daten des so neu erstellten Datenkanals werden als RSS-Feed bereitgestellt. Alle Eingangskanäle müssen zunächst in einer speziellen SharePoint Liste eingetragen werden. Als Eingangsdatenquellen (=Datenkanäle) werden derzeit unterstützt:
Die spezielle SharePoint Konfigurationsliste muss manuell in der Webseitensammlung erstellt werden. Die benötigte Listenvorlage steht als (*.stp) Datei zur Verfügung. Die Liste besitzt folgende Spalten:
Nicht alle Spalten sind für alle Datenkanäle relevant. Eine genauere Erläuterung folgt in den nachfolgenden Abschnitten.
Handelt es sich bei den RSS-Feed um ein gültiges RSS-Format, müssen lediglich die Spalten Titel und Url in der Liste angegeben werden.
Optional dienen die zusätzlichen Spalten - die auf Pattern enden - dazu, um bestimmte Inhalte des Feed anderweitig extrahieren zu können. Hierbei werden reguläre Ausdrücke sowie vom Standard abweichende Knotennamen unterstützt.
Beispiel:
Ein RSS Format konformer Feed enthält den Titel innerhalb des XML-Knotens "title". Verwendet nun der gewünschte Eingangsfeed "titel" statt "title" (engl.), kann dies über die Spalte "TitlePattern" korrigiert ausgelesen werden. Dazu muss in der Spalte folgender Eintrag vorgenommen werden:
node: titel
Müssen die Werte aus anderen textlichen Inhalten extrahiert werden, kann hierfür ein regulärer Ausdruck in der entsprechenden Pattern-Spalte hinterlegt werden. Reguläre Ausdrücke werden über regex: eingeleitet.
Um Twitter Nachrichten einzubinden, müssen die Spalten Titel und Twitter in der Liste angegeben werden. In der Spalte Twitter ist der Name des Twitter Account zu hinterlegen. Um die Twitter Nachrichten abrufen zu können, müssen die dazu notwendigen Zugriffsdaten innerhalb der web.config hinterlegt werden. Da mehrere Twitter Accounts verwendet werden können, gilt folgende Regel für die Konfigurationsschlüssel:
[TWITTERACCOUNTNAME][TWITTERCFGKEY]
Für den Zugriff sind dann insgesamt pro Twitter Account die folgenden 4 Schlüssel zu hinterlegen:
Die oberen Konfigurationseinträge müssen auch in der OWSTIMER.EXE.CONFIG, die bei einer Standard SharePoint Installation im Verzeichnis C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN liegt, eingetragen werden. Dies ist notwendig, da der SharePoint Zeitgeberdienst (owstimer) nicht auf die web.config zugreifen kann. Damit der Dienst die neuen Konfigurationswerte berücksichtigt, muss der Dienst neu gestartet werden. Dazu können die beiden folgenden Kommandos verwendet werden:
Im Standard wird aus einer Twitter Nachricht ein RSS Feed wie folgt abgebildet:
Titel = Text aus Nachricht bis zur ersten URL Adresse
Content = Text der Nachricht
Sollen spezielle Inhalte für diese Felder verwendet werden, können hierzu entsprechende Regex-Pattern in den Spalten TitlePattern und ContentPattern hinterlegt werden.
Hinweise für die Einrichtung eines Twitter Accounts sind unter Anlage eines Twitter Accounts zu finden.
Um Facebook Nachrichten einzubinden, müssen die Spalten Titel, FacebookAccount und URL in der Liste angegeben werden. Die Spalte Titel kann einen frei wählbaren Text enthalten. In der Spalte URL muss die Adresse der Facebook Seite - z. B. https://www.facebook.com/[FB-NAME] - eingetragen werden. In der Spalte FacebookAccount ist die ID des FB-Account zu hinterlegen. Um die ID zu ermitteln kann die folgende Seite verwendet werden:
http://findmyfacebookid.com
Auf der Seite muss dann in das Feld "Enter your personal Facebook profile URL" die Facebook-URL eingetragen werden. Anschließend kann über "Lookup numeric ID..." die ID abgerufen werden. Einige Facebook URLs enthalten auch bereits die ID, wie zum Beispiel die folgende URL: https://www.facebook.com/pages/[FB-NAME]/528109353902041
HinweisDerzeit werden nur öffentliche - also anonym erreichbare - Facebook Seiten unterstützt, daher kann das Feld FacebookAccessToken leer bleiben.
Im Standard wird aus einer Facebook Nachricht ein RSS Feed wie folgt abgebildet:
Titel = Text der Nachricht
Content = Text der Nachricht
Link = Link innerhalb der Nachricht
Sollen spezielle Inhalte für diese Felder verwendet werden, können hierzu entsprechende Regex-Pattern in den Spalten TitlePattern, ContentPattern und LinkPattern hinterlegt werden.
Über die beiden Spalten IncludeFilterPattern und ExcludeFilterPattern kann der Inhalt des neuen Feeds gesteuert werden. Sollen nur Inhalte mit einen bestimmten Inhalt bzw. Schlüsselwort aufgenommen werden, kann dies über die Spalte IncludeFilterPattern mithilfe eines regulären Ausdrucks gesteuert werden. Der Ausschluss von Inhalten erfolgt analog über einen regulären Ausdruck in der Spalte ExcludeFilterPattern.
Vor der Verwendung des "Feed und News Aggregator" WebPart muss dieses wie gewohnt einer Seite hinzugefügt werden. Das WebPart befindet sich in der Gruppe "WCAG". Wurde das WebPart erfolgreich auf eine Seite platziert, müssen - neben den Standard WebPart Eigenschaften - die Feed relevanten Einstellungen vorgenommen werden. All diese Einstellungen befinden sich, wie es auch in der unteren Abbildung zu sehen ist, im Bereich "Feed".
Die verschiedenen Eingabefelder haben folgende Funktion:
Titel: RSS Titel des neuen Feeds
Beschreibung: RSS Feed Beschreibung
Autor: Erscheint im entsprechenden RSS Feed Feld
Kategorie: Erscheint im entsprechenden RSS Feed Feld
Feed Name: über diesen Namen wird der Feed über die URL adressiert
Im Bereich Liste auswählen, muss die gewünschte Konfigurationsliste ausgewählt werden, die alle notwendigen Informationen über die Datenkanäle enthält. Da in der Regel mehrere Eingangskanäle zusammengefasst werden sollen, muss eine Ansicht ausgewählt werden. Die Ansicht muss so konfiguriert werden, das diese nur die gewünschten Listeneinträge zurückgibt.
Ein konfigurierter Feed kann dann über die folgende Adresse abgerufen werden:
[SITE URL][PATH][PAGE]?rss=[Feed Name]
Beispiel:
http://www.domain.ch/DE/category/Feed-Aggregator.aspx?rss=summary
Die Feeds werden über einen Hintergrundprozess von SharePoint zeitgesteuert erstellt. Wie dieser Dienst einzurichten ist, kann im unteren Abschnitt "Generierung der Feeds" nachgelesen werden. Soll ein Feed direkt erstellt werden, kann dies über den QueryString Parameter "refreshFeed=1" erzwungen werden. Der vollständige Aufruf lautet wie folgt:
[SITE URL][PATH][PAGE]?rss=[Feed Name]&refreshFeed=1
Die Erstellung der Feeds wird über einen SharePoint Dienst im Hintergrund gesteuert. Der Dienst muss dazu zunächst installiert werden. Dazu steht das SharePoint Lösungspaket "Seven49.SharePoint.PreGenerateAggregatedFeeds.wsp" bereit. Hierbei handelt es sich um ein Feature für die SharePoint Zentraladministration. Nach der Installation und der Aktivierung des Features "Seven49: Prepare aggregated Feeds" steht in der Zentraladministration in der Gruppe "seven49 Services" ein neuer Link namens "Generate Feed Service" bereit (siehe auch untere Abbildung). Über diesen Link kann nun der Ausführungsplan des Dienstes eingestellt werden.
Die untere Abbildung zeigt die Konfigurationsoberfläche. An dieser Stelle wird zunächst festgelegt, wie oft der Dienst aufgerufen werden soll. Die Einstellung muss für eine Web-Anwendung (Web-Application) vorgenommen werden. Daher muss zunächst aus der oberen Auswahlliste die gewünschte Web-Anwendung ausgewählt werden. Um den Dienst zu aktivieren, muss zwingend das Kontrollkästchen "Enable service" aktiviert werden. Um den Dienst später zu pausieren, reicht es aus das Kontrollkästchen zu deaktivieren. Wie oft tatsächlich ein Feed dann neu generiert wird, kann über eine Konfigurationsliste (s. u. Abschnitt) definiert werden.
Im Wurzelverzeichnis des SharePoint Portals wird automatisch eine Liste namens "Feed News Aggregator Information" erstellt. Diese Liste wird entweder während der Bearbeitung eines "Feed Aggregator WebParts" auf einer Seite oder durch die explizite Generierung des Feeds - wie es im Abschnitt "Verwendung des WebParts" beschrieben wurde - erstellt bzw. um Einträge erweitert. Diese Liste wird von dem SharePoint Feed Erstellungsdienst (siehe oberen Abschnitt) verwendet, um alle Feed Aggregator WebPart Instanzen im Portal finden und abfragen zu können. Die Liste enthält die folgenden Spalten:
Alle Spalten, die mit (SYSTEM) markiert wurden, dürfen nicht bearbeitet oder verändert werden. Änderungen an den Werten oder an den Spalten führen dazu, dass der Dienst nicht mehr fehlerfrei ausgeführt werden kann. Die Spalte "Duration" zeigt an, wie lange die letzte Feed-Generierung gedauert hat. Über die Spalte RefreshPeriod kann eine Zeitspanne in Minuten angegeben werden, wie oft der Feed neu erstellt werden muss. Hierbei ist zu beachten, dass der Dienst in ähnlichen Perioden ausgeführt werden muss. Wird kein Wert für "RefreshPeriod" vergeben, wird der betroffene Feed jede 30 Minuten neu erstellt. Die Spalte "NextRefresh" zeigt an, für wann die nächste Aktualisierung des Feeds ansteht.