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.

MatchPoint (Teil 1): Entwicklung komplexer SharePoint-Lösungen

Mit diesem Blog-Post beginnen wir eine Serie zum Thema Entwicklung von komplexen SharePoint-Lösungen. Es stellt sich zuerst die Frage: ab wann ist eine SharePoint-Lösung komplex? Nun, leider ist man schneller in diesem Bereich als allgemein angenommen, denn das Produkt selbst ist aufgrund seines Funktionsumfangs und den vielen möglichen Wegen, wie eine Lösung aufgebaut werden kann, komplex genug.

SharePoint sollte als Framework betrachtet werden (es ist keine fixfertig Anwendung wie Microsoft Word das installiert wird und dann ist gut). Es ist ein Baukasten, der viele verschiedene Elemente und Funktionen enthält, mit denen ein Benutzer “arbeiten” kann. Die Stärke liegt darin, wenn kleinere Teams/Arbeitsgruppen sich komplett selbst organisieren und es zur Zusammenarbeit anwenden. Sobald dies in etwas grösserem Zusammenhang betrachtet werden muss, besteht oft der Drang, dass eine gewisse Vereinheitlichung, Steuerung und auch übergreifende Funktionalitäten anzubieten.

Und hier beginnt die eigentliche Komplexität: das alles muss gut und sauber geplant und konzipiert werden. Und leider sind dank der Hochglanz-Broschüren des Produktes oft die Erwartungshaltungen wesentlich höher, als was dann mit Standardmitteln effektiv möglich ist. Ich habe als Berater schon sehr oft den Satz gehört “ich erwarte aber von einem Produkt wie SharePoint, dass es das einfach standardmässig kann”. Und hier lässt sich meist mit “ja, das geht…. ABER….” antworten.

Es bleibt die Frage, mit welchen Mitteln baue ich denn überhaupt eine richtig gute SharePoint-Lösung? Diese soll exzellente Personalisierungsmöglichkeiten bieten, hoch dynamisch sein und natürlich völlig unterschiedliche Fragestellungen auf einmal lösen. Folgende Möglichkeiten stehen zur Verfügung:

  • Fokus auf Out-of-the-Box-Mitteln: ja, eine SharePoint-Lösung kann rein auf Basis von OOB-Mitteln realisiert werden. Das kann aber nur dann funktionieren, wenn Sie das Produkt und seine Funktionen so akzeptieren, wie es ist und Ihre Anforderungen sich am Produkt ausrichten. Und dies ist so in der Realität nicht anzutreffen, denn die Funktionen mögen für eine Firma wie Microsoft passen — aber ticken alle Firmen weltweit genau gleich wie Microsoft? Hier ist oft entsprechendes Frustpotential vorherzusehen (auf längere sichtweise)
  • Zusätzliche Eigenentwicklungen: SharePoint ist ein Framework und bietet somit eine weitere klare Stärke: das Teil kann praktisch unendlich mit allen sich erdenklichen Funktionalitäten erweitert werden. Hier steht im Prinzip die gesamte Funktionsfülle von Visual Studio und dem .NET-Framework zur Verfügung. Nachteil dieser Variante sind die hohen Kosten, erhöhte Projektrisiken, höhere Wartungsaufwände, komplexeres Change Management, Upgrade-Fähigkeiten etc.
  • Einsatz von Add-Ons: der Markt für Add-Ons/Erweiterungen zu SharePoint ist massiv am Wachsen. Dies zeigt, dass SharePoint nur Basis-Instrumente anbietet, aber nicht einfach alles damit gelöst werden kann. Betrachten wir die verschiedenen Kategorien von Add-Ons:
    • Ersatz von Standardfunktionen: diese Kategorie von Add-Ons zielt darauf ab, ganze Funktionen SharePoint mit mächtigeren Instrumenten zu ersetzen. Beispiel hierfür sind Workflow-Lösungen, Search-Lösungen, Analytics-Lösungen etc.
    • Erweiterungen mit neuen Funktionen: dies sind oft spezifische WebParts oder ganze Lösungen, die komplett neue Funktionen für SharePoint bereitstellen. Dies sollte jeweils genauer betrachtet werden, bevor ein individuelles WebPart entwickelt wird. Auf der Website “Codeplex” findet sich eine Vielzahl von Open-Source-WebParts und Funktionen, die dies untermauern.
    • Funktionale-Frameworks: diese gehen weit über einzelne WebParts etc. hinaus. Diese umfassen eine Vielzahl von Funktionen / Möglichkeiten die sich ideal vernetzen und sich mit den Standardfunktionen von SharePoint kombinieren lassen. Ein solches Framework ist MatchPoint.

In unserer Serie wollen wir uns auf das SharePoint-Framework MatchPoint fokussieren und aufzeigen, welche Stärken und Vorteile es bei der Entwicklung komplexer Lösungen bringt.

Die Serie besteht aus den folgenden Artikeln:

Stolperfalle: WebParts auf Wiki-Seiten von SharePoint 2010

Team Sites von SharePoint 2010 haben eine neue Startseite erhalten: diese ist Wiki basiert und ermöglicht so ein einfaches und individuelles anpassen. Diese Startseite wurde als Feature einer Team Site integriert und lässt sich demzufolge einfach über den Feature-Mechanismus deaktivieren (womit dann der Funktionsumfang einer Team Site identisch einer Team Site der Vorgängerversion übereinstimmt).

Auf den Wiki-Seiten lassen sich neu auch direkt WebParts integrieren. Das lässt einem sehr schnell sehr viel Spielraum und es nicht mehr notwendig sich für alle möglichen Varianten Seitentypen auszudenken, die über die notwendigen WebPart-Zonen verfügen. In den Vorgängerversionen von SharePoint konnten WebParts nur in diesen vorgesehenen Zonen platziert werden. Als Endanwender gewinnt man also mehr Flexiblität und im normalen Kollaborationsgebrauch sind wohl weniger individuelle Entwicklungsarbeiten notwendig, da eben die Einschränkung der Zonen in den Wiki-Seiten entfällt.

Vorsicht vor unsichtbaren WebParts
Im Gebrauch dieser neuen Möglichkeiten ist mir nun aber ein Stolperstein aufgefallen, über den über kurz oder lang sicherlich jeder Anwender einmal fallen wird: unsichtbare WebParts. Es gibt einzelnen WebParts, die keine visuelle Darstellung im normalen Modus haben oder wenn sie nicht konfiguriert sind, keine Informationen anzeigen.

Ein Beispiel hierzu: Filter-WebParts. Es gibt in SharePoint verschiedene Filter-WebParts um bestimmte Inhalte auf einer Seite bequem Filter zu können. Diese Filter-WebParts sind sehr mächtig und ermöglichen eine schnelle und einfache Konfiguration solcher Filterungsmöglichkeiten. Standardmässig sind die Filter-WebParts beim Hinzufügen nicht konfiguriert und gleichzeitig so definiert, dass sie im normalen Modus nichts anzeigen. Nur im Edit-Modus sind sie als WebParts zu erkennen und können somit über die WebPart-Eigenschaften konfiguriert werden.

Das Problem beginnt jetzt aber erst: wenn ich eine Wiki-Seite bearbeite, dann bearbeite ich das Element aus einer Seitenbibliothek und nicht die effektive “Team Seite”. Die Filter-WebParts erkennen diesen Edit-Modus nicht und zeigen aus diesem Grund beim Bearbeiten der Wiki-Seite genau dasselbe an, wie wenn ich nichts bearbeite: nämlich nichts. Ich sehe das WebPart, das ich gerade auf die Seite eingefügt habe nicht. Es ist aber existent. Ein Ausschalten des Features “Wiki-Startseite” beweist dies: wenn ich die Seite dann editiere, sehe ich das WebPart und kann es auch konfigurieren…. Da haben wohl einige Microsoft-Entwickler nicht zu Ende gedacht – fragt sich, wie so etwas eine Beta-Phase überstehen konnte.

1634-FilterUnsichtbar.JPG-thumb-500x379-1629.jpg

Ein Trick hilft: nach dem Einfügen des Filter-WebParts edititieren Sie zuerst ein anderes WebPart auf derselben Seite (z.B. das Listen-WebPart, das Sie filtern wollen). Das setzt die gesamte Site in den höher gelagerten Edit-Modus und plötzlich erscheint das Filter-WebPart wie aus dem Nichts. Nun können Sie auch dieses WebPart über den normalen Weg konfigurieren. Wenn Sie das WebPart einmal konfiguriert haben, dann ist dieses ab sofort auch im einfachen Edit-Modus der Wiki-Seite direkt ansprechbar. Ein etwas kurioser Weg, aber er hilft :-)

Hier die Wiki-Seite im Edit-Modus (WebPart Documents wird bearbeitet):

1635-FilterSichtbar.JPG-thumb-500x401-1630.jpg

Und hier dann die Wiki-Seite im normalen Modus, nachdem dann endlich das Filter-WebPart konfiguriert werden konnte:

1637-FilterSichtbar2.JPG-thumb-500x431-1631.jpg

Office Web Apps – Revolution ?

Am 12.5.2010 wird offiziell Office 2010 (14) gelauncht. Dies nehme ich doch gleich zum Anlass, eine der neuen Funktionen oder Applikation, Die Office Web Apps mal unter die Lupe zu nehmen.

Was sind den die Office Web Apps ?
Einfach gesagt: Das Office im Web Browser.
Klingt gut. Ist es das auch ? Brauche ich noch den Office “Fat” Client ? Träume ich als IT-Verantwortlicher jetzt davon, keine Office Paketierung und Verteilung mehr machen zu müssen ? Kostet das überhaupt was ?

Fragen, die ich versuche zu beantworten. Aber erst einmal der Reihe nach.
Wie komme ich den zu den Office Web Apps ? Das hängt ein wenig davon ab, in welchem Umfeld ich mich bewege.
Als Privat- Person werde ich die Office Web Apps auf Windows Live (SkyDrive) und auf Facebook (Facebook Docs) finden.
Als Mitarbeiter werde ich die Office Web Apps dann finden, wenn mein Unternehmen SharePoint 2010 einsetzt und die Web Apps darauf auch zur Verfügung stellt.

Im Falle einer SharePoint Implementation sieht die Architektur ungefähr so aus:

1626-Neues Bild.jpg

Als Privat-Anwender kann ich mit Microsoft Office Web Apps in Windows Live kostenlos Dokumente erstellen, bearbeiten, speichern und freigeben. Sie können direkt im Browser über die Office-Benutzeroberfläche auf Dokumente zugreifen. Das bedeutet, dass Sie Dokumente virtuell an einer beliebigen Stelle auf Ihrem Computer oder Smartphone speichern und für andere online freigeben und gemeinsam bearbeiten können.
So sieht Powerpoint im “Slide” Modus aus auf Facebook Docs:

1627-Make your own jabba.jpg

Mit Office Web Apps erweitern Sie Ihren Browser (Internet Explorer, Safari, Firefox) um die Funktionen von Microsoft Word, Excel, PowerPoint und OneNote. Wenn Sie Office Web Apps verwenden, können Sie in der vertrauten Umgebung von Microsoft Office arbeiten und neue Dokumente bearbeiten und erstellen.
Office Web Apps gibt es für Word, Excel, PowerPoint und OneNote

Das Look and Feel von Office Web Apps erinnert in der Tat stark an Office 2010, nur dass eben weniger Menü-Reiter am oberen Bildschirmrand von Office Web Apps zur Auswahl stehen und die gesamte Office-Anwendung im Browser läuft. Mehrere User können zeitgleich ein Dokument in Office Web Apps bearbeiten, rechts unten zeigt die Statuszeile die Zahl und – bei Mouse-over – die Namen der bearbeitenden Personen an. Änderungen an einem Dokument werden in Echtzeit wiedergegeben. Die Dokumente lassen offline auf dem PC oder auf dem Server von Microsoft abspeichern.
Office Web Apps auf Basis von SharePoint 2010 kann auch von Smartphones aus genutzt werden. Als Handy-Browser werden laut Microsoft der Internet Explorer Mobile von Windows Mobile 5 bis 6.5 und Apple Safari 4 (iPhone 3G und iPhone 3GS) unterstützt. Außerdem ist Office Web Apps kompatibel zum Blackberry OS ab Version 4 und zu Symbian-Smartphones mit S60-Oberfläche sowie zu Opera Mobile ab Version 8.65.
Word Web App:

1628-Word Web App.png

Mit Office Web Apps erhalten wir die Freiheit, überall zu arbeiten – egal, wo wir uns aufhalten. Bedingung ist, dass ich eine Internetverbindung habe, danach kann ich einfach auf Dokumente zugreifen, diese bearbeiten und freigeben und online auf Windows Live/SharePoint speichern, sodass Sie jederzeit mit Ihrem PC oder Smartphone darauf zugreifen können. Mit Office 2010 können Sie Ihre Dokumente direkt im Internet speichern und ebenso einfach öffnen.

Mit den Web Apps wird es erleichtert ein Dokument für andere freizugeben und es mit anderen zu bearbeiten, die einen Browser verwenden (Internet Explorer, Safari, Firefox). Das ist auch in Echtzeit mit Excel möglich. Die Versionskontrolle ist ganz einfach. Deshalb können Sie Ihr Dokument ohne Bedenken freigeben und bei Bedarf zu einer früheren Version zurückkehren.

Benötige ich jetzt die Client Version noch ?
Jein. Die Office Web Apps sind online “Geschwister” zu den sehr stark verbreiteten Desktop Applikationen. Die Office Desktop Applikation werden für die Office Web Apps nicht benötigt. Manches Anwendungs Szenario wird wohl beide Varianten beinhalten. Die Office Web Apps für schnelles, einfaches editieren und “sharen”, die Desktop Applikation für die volle Funktionalität und “komplexeres” Editieren

Brauche ich nun noch die Software Verteilung ?
Diese Frage lässt sich leider, wie die vorangegangene nicht einfach so beantworten. Ich denke, dass die Paketierung immernoch notwendig ist, jedoch wird es nicht mehr notwendig sein, jeden Arbeitsplatz mit der Vollversion zu bestücken. Ich gehen davon aus, dass in den meisten Anwendungszenarien und den darin benötigten Funktionen die Web Apps vollkommen ausreichen.

Und was kostet mich das ?
Für Privat Anwender sind die Office Web Apps gratis auf Windows Live verfügbar. Hier ist eine Windows Live ID erforderlich. Für die Benutzung von Docs auf Facebook ist ein Facebook Account notwendig
Für Business Kunden ist eine Volume License von Office 2010 notwendig. Darin enthalten sind die Lizenzen für die Office Web Apps.

Fazit:Die Office Web Apps sind eine wirklich tolle Sache. Der Funktionsumfang wird für die meisten Benutzer ausreichend sein. Von Revolution zu sprechen währe jedoch sicher übertrieben, jedoch eine Evolution von SharePoint / Office in die richtige Richtung ist es allemal.

SharePoint 2010. Schulung @ Microsoft. Namics

Am 4. und 5 März haben 18 Namics Mitarbeiter eine erste intensive Schulung zum neuen SharePoint 2010 Server direkt vor Ort bei Microsoft geniessen können. Damit stellt Namics sicher, dass die Mitarbeiter aus den SharePoint-Teams direkt aus erster Hand geschult und fit für die neue SharePoint-Version gemacht werden.

Thematisch wurden die folgenden Themen behandelt – sei es in Form von theoretischen Blöcken aber auch direkt mit Hands On Labs um das Thema individuell zu vertiefen.

-Introducing the Architectural Changes of SharePoint 2010
-SharePoint 2010 Developer Roadmap
-Visual Studio 2010 Tools for SharePoint 2010
-UI Enhancements
-Document Management
-Client Object Model
-Workflow
-Services Architecture
-Capacity and Performance Planning
-Accessing External Data (BCS)
-Enterprise Content Management
-Extending Search

Es zeigt sich, dass SharePoint 2010 noch mächtiger und umfassender wird und das die Themenbreite so gross ist, dass man sich in den einzelnen Themen noch klarer spezialisieren muss. Dies haben wir bei Namics bereits entsprechend aufgegleist, damit wir auf die künftigen Anforderungen im Rahmen der Projekte idealerweise aufgestellt sind.

An dieser Stelle herzlichen Dank an Microsoft für die exklusive Durchführung dieser Schulung für Namics!

Hier einige Impressionen und ja eines der “Diplome” :-)

1135-schulung1-thumb-250x333-1134.jpg
1138-schulung2-thumb-250x187-1137.jpg
1141-2010Workshop-thumb-250x343-1140.jpg
Page 1 of 3123