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:

MatchPoint goes SharePoint 2010

Gerade bin ich beim itsystems Kundenanlass in ZH. Für die Nicht-Schweizer unter euch: ihr Produkt MatchPoint hat eine grosse Lücke im Bereich Metadaten-Verwaltung in SharePoint 2007 geschlossen – sie hatten die Lösung, die Microsoft vergessen hatte.

Jetzt wurde SharePoint 2010 vorgestellt und es wurde ein grosser Aufwand betrieben um Metadaten zukünftig besser verwalten zu können. Da stellt sich natürlich die Frage: wofür brauchen wir noch MatchPoint? Für itsystems ist diese Frage Match-entscheidend. Für uns aber eine gute Gelegenheit, die Grenzen von SharePoint 2010 schon vorab kennenzulernen ;o)

Was SharePoint 2010 kann:

  • Auto-tagging: basierend auf der Location eines Dokumentes wird automatisch ein Default Schlagwort zu einem Dokument hinzugefügt
  • Hierarchische Metadaten: Metadaten können zukünftig verschachtelt werden
  • Zentrale Verwaltung und Vererbung: Es gibt einen Term Store, der zentral administriert werden kann um die Taxonomien eines Unternehmens zu verwalten
  • Office Integration: In jedem Office Client können die SharePoint Metadaten inkl. Hierarchie optimal genutzt werden
  • Content Aggregation: basierend auf den Metadaten kann SharePoint farmweit Daten aggregieren.

Wo braucht man noch MatchPoint?

  • Auto-tagging: MatchPoint kann contextbezogen (anhand der Inhalts-Struktur), zustandsbezogen (im Prozess) und inhaltsbezogen (basierend auf Dokumentinhalten) Metadaten hinzufügen.
  • Security basierend auf Tags: wer darf welches Metadatum sehen – und damit verknüpft auch ein entsprechend reduziertes Suchergebnis.
  • Change Management: Trotz viel guten Ansätzen – auch SharePoint 2010 kopiert weiterhin die Tags wortwörtlich in den Content. Updates im Metadatenmodell werden auf bestehenden Items nicht nachgeführt. MatchPoint ist idbasiert und kann professionelles Change Management anbieten.
  • Site Definition Wizard: Erstellung von wiederverwendbaren Site Definitions inkl. Metadaten und Content Types ohne Programmieraufwand nur durch Konfiguration
  • Search-Driven Ansatz: Aggregation von Content durch einen angereicherten SharePoint Index aber trotzdem noch voll in SharePoint integriert.
  • Schnittstellen und Daten-Integration: die Integration von Businessdaten aus Drittsystemen wird stark vereinfacht.

Allgemein lässt sich sagen:
MatchPoint hat weiterhin eine klare Berechtigung im SharePoint 2010 Umfeld. Microsoft hat mal wieder nur das Nötigste implementiert und da können Zusatztools weiterhin punkten. Aber für itsystems wird die Argumentation deutlich schwieriger.

Itsystems wird bei MatchPoint einigen Aufwand betreiben müssen um bis zum Launch von 2010 Mitte nächsten Jahres eine klare Antwort liefern zu können. Ob hier die Strategierichtung Rapid Application Framework und Building Blocks reichen, wird man sehen. Wir begrüssen auf jeden Fall das Committment, die neuen SharePoint Metadaten als Basistechnologie zu verwenden.
Wir drücken auf jeden Fall die Daumen und hoffen, dass diese gute Werkzeug auch in die nächsten Generation weiter so erfolgreich sein wird.

Nachtrag: Patrick hat mir noch einen Update geschickt, den ich euch natürlich nicht vorenthalten will. Hier geht es zum Nachtrag.

Sharepoint 2007 mit einer Google Search Appliance crawlen

Auf den folgenden Zeilen werde ich zeigen, wie man in nur 15 Minuten eine Sharepoint Site mit einer Google Search Appliance crawlen und indexieren kann. Aber beginnen wir erst mit der Art und Weise, wie dies funktioniert.

In meinem Artikel auf contentmanager.de hatte ich jüngst den Funktionsumfang einer Google Search Appliance umrissen – und da kam natürlich auch das Connector Framework zur Sprache. Das Connector Framework bieten einem die Möglichkeit, Inhalte von Enterprise Content Management Systemen (ECMS) mit in den Index einer Google Search Appliance aufzunehmen. Bei den von Google angebotenen Connectoren ist unter anderem auch Sharepoint vertreten (neben EMC Documentum, Open Text Livelink und IBM Filenet).

Wir haben es uns natürlich nicht nehmen lassen, den Sharepoint Connector etwas genauer anzuschauen. Wir wollten herausfinden, ob eine Google Search Appliance vielleicht sogar eine valable Alternative zu Microsofts Enterprise Search ist.

Zuerst aber: Wie funktioniert das Connector Framework?

Der Alltag einer Umgebung mit Connector Framework spielt sich immer zwischen drei Parteien ab: der Google Search Appliance, dem zu indexierenden ECMS und einem sogenannten Connector Manager. Der Connector Manager ist eine in einen Servlet Container (z.B. Apache Tomcat) deployte Java-Anwendung und stellt das Bindeglied zwischen der Search Appliance und in unserem Falle Sharepoint dar.

i-73ff9ea1f558e53c7c159d757156cb74-gsa_connector.gif

Der Sharepoint Connector liest die in der Sharepoint Site vorhandenen Seiten-URLs aus und stellt diese mit einem sogenannten Metadata-and-URL Feed der Google Search Appliance zur Verfügung. Diese crawlt dann die Sharepoint Site und nimmt die so aufgefundenen Seiten in den Index mit auf.

Sobald nun ein Benutzer eine Suche absetzt, wird diese aufgrund der im Index vorhandenen Daten beantwortet. Klickt der User auf ein Resultat, wird er auf die Sharepoint Site weitergeleitet und hat sich dort auf gewohnte Art und Weise anzumelden.

Selbstverständlich bleibt die Sicherheit beim Suchen nicht auf der Strecke – die Google Search Appliance markiert standardmässig die in der Sharepoint Site aufgefundenen Seiten als “private” und fordert den Benutzer beim Absenden einer Suchanfrage auf, sich zu authentifizieren. Die Suchresultate sind also bereits auf die für den User zugelassenen Treffer beschränkt. Alternativ können die gecrawlten Inhalte als “public” markiert werden – mit der Folge, dass die Benutzer, um Treffer zu erhalten, sich nicht authentifizieren müssen.

Nachfolgend nun eine Anleitung in 5 Schritten, wie Sie mit einer Google Search Appliance in 15 Minuten mit der Indexierung einer Sharepoint Site starten können.

Schritt 1, Installation des Connector Managers

Die Installation des Connector Managers muss auf einer Maschine erfolgen, die sowohl Zugriff auf die Google Search Appliance, als auch die zu erschliessende Datenquelle hat. Der Vorgang (inklusive Deployment der Anwendung in den mitgelieferten Tomcat) verläuft schnell und ohne Probleme, die vorzunehmende initiale Konfiguration ist minimal.

i-fb511bff872bdc7f76b090bff6db9b5d-step1.gif

Schritt 2, Konfiguration URL Patterns

Da der Sharepoint Connector keinen Content- (mit Inhalten), sondern lediglich einen URL- und Metadaten-Feed liefert, müssen die entsprechenden Start- und Folge-URLs in der Konfiguration der Google Search Appliance hinterlegt sein. Denn die Google Search Appliance versucht anhand der URL-Liste dann selbst die Seiten zu crawlen – und verwendet dabei den selben Mechanismus wie beim Crawling einer normalen Webseite.

Als ersten Schritt in der Anpassung der Konfiguration müssen darum die Crawl Patterns ergänzt werden. Ebenfalls müssen die zu exkludierenden Muster teilweise auskommentiert oder ergänzt werden, da die Google Search Appliance allen entdeckten URLs folgt und dadurch Probleme verursachen könnte.

i-babb10c10442a4f632c51cfbfb57ca35-step2.gif

Schritt 3, Konfiguration des Connectors

Jetzt wird die eigentliche Connector-Konfiguration in Angriff genommen. Dazu wird als erstes der Connector Manager auf dem externen Server konfiguriert. Der Manager selbst ist noch nicht die eigentliche Connector-Instanz, sondern stellt lediglich die Umgebung für den Connector zur Verfügung. Ein Connector Manager kann für mehrere Connectors verwendet werden.

i-76fafc98bd26278ae18339c6ff9e1257-step4.gif

Danach wird die eigentliche Connector-Instanz konfiguriert. Hat man einen Connector Manager ausgewählt, wird definiert, um welchen Typ von Connector es sich handelt. Anschließend wird das Connector-abhängige Konfigurationsformular geladen.

i-771e940822523b1a98320e1e61656715-step4_2.gif

Schritt 4, Credentials für Crawling (nicht für Benutzer)

Damit die Google Search Appliance die ihr mittels dem Feed übermittelten URLs indexieren kann, müssen Ihr entsprechende Credentials zum Crawling von Sharepoint mitgegeben werden.

i-895f97fdac5017f55b7eb125f9388d96-step3.gif

Sobald alle diese Konfigurationsschritte durchgeführt worden sind und die Google Search Appliance den ersten Feed erhalten hat, beginnt sie mit der Indexierung.

Schritt 5, Erfolgskontrolle

Über eine eigene Ansicht im Admin Interface der Google Search Appliance kann das Eingehen von Feeds nachvollzogen werden. Die im Index enthaltenen Daten lassen sich wie gewohnt über “Status and Reports” einsehen.

Die Indexierung von aktualisierten und neuen Inhalten geschieht äusserst rasch – und die Daten sind schnell via Suchmaske erreichbar.

Fazit

Die Installation und Konfiguration für das Crawling des Sharepoint Webs verlief zügig und problemlos, die Daten waren schnell im Index der Google Search Appliance vorhanden. Nicht überprüft haben wir die Relevanz der aufgefundenen Treffer, verglichen mit Microsofts Enterprise Search. Wir wollen an dieser Stelle denn auch nicht eine Empfehlung pro/contra möglicher Suchmaschinen abgeben, sondern lediglich bemerken, dass mit der Google Search Appliance eine taugliche und leistungsfähige Option zum Durchsuchen von Sharepoint Webs zur Verfügung steht.

Bei Interesse oder spezifischen Fragen einfach Kontakt aufnehmen, oder unten kommentieren.

Übrigens, Namics ist bereits seit 2005 zertifizierte Google Enterprise Professional Partnerin und in der Schweiz damit bislang alleine. Und natürlich machen wir
Google Search Appliance Projekte auch in Deutschland :)

logo_gep.gif

Custom List Form WebPart erscheint nicht (Lösung)

Hatte vor kurzem gerade ein seltsames Problem. Vielleicht erspare ich mit diesem Artikel jemandem die Suche nach der Ursache.
Beim Erstellen einer eigenen Eingabemaske für eine SharePoint Liste wollte das „Custom List Form“ nicht auf der Seite erscheinen. Der Vollständigkeit halber nochmals den Ablauf:

  • Die Seite mit dem SharePoint Designer 2007 öffnen
  • Zur Liste navigieren, „NewForm.aspx“ öffnen und mittels File > Save As… unter einem neuen Namen speichern
  • Löschen des „List Form Web Part“
    • Einfügen der neuen Eingabemaske mittels Insert > SharePoint Controls > Custom List Form
  • Auf dem erscheinenden Popup die Liste mit den gewünschten Einstellungen selektieren und mit OK bestätigen  Nun erscheint der „Data Form Web Part“ auf der Seite
    (hier passierte bei mir nichts, keine Fehlermeldung und auch kein Control erschien auf der Seite)
  • In dieser Ansicht kann die Eingabemaske den eigenen Wünschen angepasst werden.
    (Felder die Ausgefüllt werden müssen nicht entfernen. Sonst kann der Benutzer das Form nicht speichern ;-)
  • Speichern

Die Lösung zu dem Problem ist einfach, aber nicht gerade Offensichtlich. Man muss die Seite mit einer URL öffnen welche in der Central Administration als „Alternate Access Mappings“ eingetragen ist. Direkt mit der IP auf den Server funktioniert also ziemlich sicher nicht. Auch der vollständige Pfad zum Rechner geht nur falls er eingetragen ist.

Von Notes zu MOSS

Integration und Überführung einer Lotus Notes-Infrastruktur in eine Microsoft-Architektur
Bernd Vellguth, Microsoft / Hendrik Juelich, Microsoft / Mathias Kämmer, Microsoft

Der Vortrag zeigte die verschiedenen Möglichkeiten auf, wie mit Notes Anwendungen in Bezug auf MOSS umgegangen werden kann. Dabei war nicht die Migration von Lotus Notes Lösungen der Fokus der Session, sondern die Koexistenz der beiden Systeme und die Integration in SharePoint.
Die erste Variante war das Anzeigen von webbasierten Notesanwendungen über I-Frame in SharePoint. Hier liegt der Stolperstein in der SSO-Problematik.
Sehr nett war das Feature, dass die Microsoft Communicatior Presence in der Notesanwendung ebenfalls integriert wurde.

Viel spannender war dann die Integration in SharePoint, so dass Aktionen ausgeführt werden können, aber die Daten und Businesslogik weiterhin in Lotus Notes Datenbanken liegen. Hierfür müssen “lediglich” entsprechende XML-Feeds und Webservices von Notes zur Verfügung gestellt werden, gegen diese dann SharePoint seine Abfragen starten kann. Die Webservices ermöglichen auch das updaten von Datensätzen innerhalb von Notes, der Benutzer arbeitet aber nur in der SharePointoberfläche.

Um Mails von Notes in SharePoint zu integrieren bietet Microsoft die pol-DB (Notes Datenbank), an welche Notes Mails/Dokumente gesendet werden können. Diese Konvertiert die Mails/Dokumente inkl. Struktur, Bilder und Anhänge zu einem Worddokument und sendet dieses an eine SharePointbibliothek.
Mit weiteren Programmieraufwand könnten auch die Attachements noch aus dem Word gelöst werden. Dies ist eine sehr komfortable Möglichkeit für Unternehmen, welche ihre Mails und andere Dokumente noch in Notes speichern, aber webbasiert in ihrer SharePointanwendung abrufen wollen.
i-f37444e9c8c88c1eee8b0b3f5a31a471-notes2sharepoint-thumb.jpg

Der letzte Teil war noch die Präsentation der MOSS Suche, wie diese auch Notes Inhalte indexieren und durchsuchbar machen kann. Dazu ist die Installation des API Toolkit nötig. Für weiter Informationen dazu auf dem Microsoft Enterprise Search Blog. Auch die Berechtigungsstrukturen können so von Notes berücksichtigt werden.

Alles in allem war es ein sehr spannender Vortrag, welcher aufgezeigt hat, dass eine Koexistenz nicht unmöglich sein muss. Aber es ist klar, dass dies nicht in einem Tag realisiert werden kann. Ob sich die Investition sich wirklich lohnt, muss für jeden Fall individuell untersucht werden? Zudem sollte sich überlegt werden, ob eine Koexistenz wirklich unumgänglich ist oder ob nicht eines der beiden Systeme alle Anforderungen abdecken kann.

Seite 1 von 212