IT Service Management basierend auf SharePoint 2013 mit Nintex und MatchPoint

Reporting

Gestern fand im Papiersaal in Zürich die Release Party von MatchPoint Snow statt. Beim neuesten Wurf des Software Herrstellers Colygon handelt es sich um eine unternehmensweite Collaboration Plattform basierend auf SharePoint 2013. Es wird als „Facebook für Unternehmen“ angepriesen. Im Gegensatz … Weiterlesen

News Teaser-Workflow und Aggregation mit Nintex und MatchPoint

Eine immer wieder von Kunden gewünschte Funktionalität im Rahmen eines Intranet-Projektes ist die Darstellung von News auf der Startseite. Auf SharePoint basierend sollen die Meldungen aus einer bestehenden News Website angezogen und zentral verwaltet werden können. Im folgenden Beispiel wurde dies mit Nintex Workflow und mit MatchPoint umgesetzt.

Die Anforderungen

Auf der Startseite sollen als Teaser ausgewählte Top News aus den verschiedenen Bereichen angezogen und dargestellt werden. Die News befinden sich in einer eigenen SiteCollection, wo die Meldungen erstellt und abgelegt werden.
Auf der Startseite sollen drei News Elemente platziert sein:

  • Ein Artikel Prominent mit grossem Bild zuoberst
  • Eine kleine Anzahl weiterer Newsteaser darunter
  • Zusätzlich aufklappbar weitere (ältere) Newsteaser

Alle Meldungen, die als Teaser auf der Startseite ersichtlich sein sollen, durchlaufen einen Workflow und können dadurch zentral verwaltet und freigegeben werden.

Die Umsetzung – Genehmigungs Workflow

Für die Newsmeldung wird in der entsprechenden SiteCollection eine News Seite erstellt, mit Inhalt befüllt und veröffentlicht. Diese Meldung ist damit in der News-Applikation ersichtlich und zugänglich. Soll nun die News ebenfalls auf der Startseite des Intranets dargestellt werden, so kann man über einen Button im Ribbon die Veröffentlichung auf der Startseite beantragen.

Durch diesen Vorgang wird ein Eintrag in einer Liste erstellt, auf welcher mit Nintex ein Workflow entwickelt wurde, welcher den Genehmigungs-Prozess abwickelt und somit die zentrale Verwaltung der Top News sicherstellt. Über das Startdatum kann der Zeitpunkt der Veröffentlichung auf der Startseite beeinflusst werden.

Die Verwaltungsstelle erhält eine E-Mail mit den Informationen zur News-Meldung. Sie hat nun die Möglichkeit, die News abzulehnen und nicht auf der Startseite anzeigen zu lassen, oder die Meldung als Top News zu genehmigen, entweder gepinnt und prominent zuoberst auf der Startseite ersichtlich, oder als normale Top News in der Liste unterhalb der gepinnten Nachricht. Durch den Nintex Workflow wird der erstellte Listeneintrag verändert und als Top News markiert.

WebParts – gepinnte News

Auf der Startseite wurden insgesamt vier Webparts mit MatchPoint erstellt. Für die gepinnte Top News wurde ein Composite Webpart verwendet, welches über einen ExpressionDataProvider den markierten Eintrag aus der Top News Liste anzieht und mit Hilfe des PatternTransformers darstellt.
Expression Code:

In der abgebildeten Methode wird die gepinnte Top News per CAML Query aus der Liste ausgelesen und mittels der URL mit Hilfe der MatchPoint API geladen und zurückgegeben.
Im PatternTransformer des MatchPoint Composite WebParts wird mit HTML das, aus der GetPinnedTopNews() Methode erhaltene, ListItem auf der Startseite dargestellt.

PatternTransformer – RowTemplate Code:

Aggregations WebParts

Da die Performance gerade auf der Startseite des Intranets sehr entscheidend ist, sollte für die Aggregation der neuen weiteren Meldungen jeweils nur einen Aufruf pro Meldung abgesetzt werden. Dies wird durch ein verstecktes MatchPoint Composite WebPart erreicht, welches ebenfalls mit einem ExpressionDataProvider und CAML-Query die Seiten aggregiert und lädt, jedoch nicht darstellt.
Expression Code:

Auszug aus dem DeveloperDashboard:

Weitere News WebParts

Anschliessend kann in den weiteren WebParts ebenfalls per ExpressionDataProvider über die ConnectionData auf die Daten des „Aggregations“-WebParts zugegriffen werden. Dadurch ist pro Meldung nur noch ein Zugriff notwendig und sowohl das Caching wie auch die Sortierung kann zentral gelöst werden.

Expression für die ersten vier News:
ConnectionData.NewsList.Count() > 3 ? ConnectionData.NewsList.ToList().GetRange(0, 4) : ConnectionData.NewsList.ToList().GetRange(0, ConnectionData.NewsList.Count())

Expression für die weiteren fünf Beiträge:
ConnectionData.NewsList.Count() > 4 ? ConnectionData.NewsList.ToList().GetRange(4, ConnectionData.NewsList.Count()-4) : null

Das „Aggregations“-WebPart wird per jQuery ausgeblendet, damit dieses für den Benutzer nicht sichtbar ist. Das Aufklappen des WebParts mit den fünf weiteren News wurde ebenfalls per jQuery gelöst.

Fazit

Mit Hilfe von Nintex, MatchPoint und einigen Tricks können dem Kundenwunsch entsprechende News Teaser in SharePoint gebaut werden, welche sowohl performant wie auch einfach zu verwalten sind. Dank des Workflows kann auch ein komplexer Genehmigungsprozess abgebildet und integriert werden.