10 Februar 2009

FAST Search for SharePoint angekündigt

An der FASTforward’09 hat Microsoft heute zwei neue Search Produkte angekündigt:

  • Bei FAST Search for SharePoint handelt es sich um ein High-End Search Server, welcher die Enterprise Search Funktionen von FAST ESP in SharePoint verfügbar machen wird. FAST Search for SharePoint wird Teil von SharePoint 14 sein!
  • Mit FAST Search for Internet Business können grosse Internet Sites um “search-driven experiences” erweitert werden. Eine erste Beta hiervon soll in der zweiten Jahreshälfte erscheinen.

In der Zwischenzeit steht, wie Michael Gannotti schreibt, den Firmen mit SharePoint Enterprise CALs und Software Assurance eine um 80% verbiligte Lizenz von FAST ESP zur Verfügung (keine CAL, $25k pro Server). Zusammen mit den ESP Web Parts kann man mit relativ wenig Geld eine High End Enterprise Search Lösung auf SharePoint und FAST ESP aufbauen.

29 Januar 2009

SharePoint Dispose Checker Tool verfügbar

Die SharePoint Objekte SPSite und SPWeb müssen, je nach dem wie sie erstellt wurden, wieder freigegeben werden. Geschieht dies nicht, läuft der Speicher (und das SharePoint Log) voll. Vieles wurde bereits darüber geschrieben, auch im MSDN. Nun stellt Microsoft ein Tool zur Verfügung, welche den Code prüft und nicht “disposte” Objekte meldet.

Nach dem die Ankündigung im November des letzten Jahres auf grosses Echo gestossen ist, wurde es ruhig um SPDisposeCheck. Heute habe ich nun bei Waldek Mastykarz gelesen, dass das Tool erschienen ist und von der MSDN Code Gallery unter http://code.msdn.microsoft.com/SPDisposeCheck heruntergeladen werden kann.

SPDisposeCheck überprüft Assemblies nach nicht freigegeben SharePoint Objekten (d.h. vor allem SPSite und SPWeb). Ich konnte es natürlich nicht lassen, dass Command Line Tool gegen einige meiner SharePoint Assemblies laufen zu lassen. Viel hat SPDisposeCheck nicht gefunden. Die angezeigten Fehler waren alles False Postives – davor wird im Log aber auch gewarnt und diese könnte man mit einer Declaration ([SPDisposeCheckIgnore … ]) auch ignorieren.

02 Dezember 2008

SharePoint + jQuery

jQuery ist ein Open Source AJAX Framework, welches auf einem schmalen Footprint basiert und eine grosse Community dahintersteht, welche viele Plug-Ins bereitstellt. jQuery kann man schnell und einfach mittels JavaScript das HTML Dokument traversieren. Für SharePoint (und ASP.NET) Entwickler ist jQuery spannend, weil Microsoft jQuery offiziell unterstützt und z.B. IntelliSense Support in Visual Studio 2010 einbauen wird.

Jan Tielens hat auf seinem Blog ein nettes Beispiel den Einsatz von jQuery als Ersatz für die TopNavigation unter SharePoint.

Heute hat er nun in seinem Blog weitere Anweisungen gepostet und dazu den Code auf CodePlex zur Verfügung gestellt. Seine Lösung teilt sich in zwei Solutions auf:

  • jQuery for SharePoint 2007 fügt mittels eines DelegateControl einen Link im Seitenheader auf das jQuery Framework hinzu. Sehr elegant gelöst und auch für eigene Projekte geeignet.
  • Im WSP DockNavigationSetup wird das jDock Plug In mitgeliefert sowie DelegateControls und Assembly, welche die Navigation verändern.

Macht dies nicht Lust auf mehr? Sobald ich Zeit habe, werde ich mit jQuery herumexperimentiert und meine Erfahrungen hier posten.

25 November 2008

SharePointReviews.com: Unhängige Reviews von SharePoint Erweiterungen

Mit SharePointReviews.com gibt es endlich ein Produkt Verzeichnis, welches die vielen SharePoint Erweiterungen auflistet und kurz beschreibt. Neben Webparts findet man in diesem Verzeichnis auch Tools für die Administration und Migration sowie z.B. Offline Clients.

Gelistet werden neben Bezahl Software (welche direkt gekauft werden kann) auch Open Source Erweiterungen. Alles versenden mit Ratings und Kommentaren. Toll Sache!

Unit Testing mit Microsoft SharePoint

Wer SharePoint Anwendungen entwickelt und dabei viel auf SharePoint Objekte zugreift, um Daten im SharePoint zu lesen oder zu verändert, hat seine liebe Mühe, Unit Tests zu erstellen. Typemock hat mit dem Typemock Isolator For SharePoint ein Produkt auf den Markt gebracht, dass es erlaubt die Zugriffe auf SharePoint Objekte zu kapseln. Im Unit Test werden SPSite, SPWeb, SPListItem, etc. von Typemock erstellt und verwaltet. Dies führt dazu, dass die Unit Tests ohne SharePoint ausgeführt werden können. Z.B. auf dem Team Foundation Server.

Das Schreiben der Unit Tests und das Kapseln der SharePoint Objekte wird aber sicherlich zu Beginn nicht ganz einfach von der Hand gehen. Die Frage ist auch, ob Typemock mit all den kniffligen Issues des SharePoints zu Recht kommt.

Hier noch der Text, um eventuell noch eine gratis Lizenz zu ergattern:

Typemock are offering their new product for unit testing SharePoint called Isolator For SharePoint, for a special introduction price. it is the only tool that allows you to unit test SharePoint without a SharePoint server. To learn more click here.

The first 50 bloggers who blog this text in their blog and tell us about it, will get a Full Isolator license, Free. for rules and info click here.

10 November 2008

Visual Studio 2010 mit SharePoint Support

Heute hat uns Jason Zander (General Manager für Visual Studio) hier an der TechEd EMEA in Barcelona in seiner Keynote einige Funktionen von Visual Studio 2010 gezeigt. Sehr spannend finde ich die neuen Funktionen für das Software Testing. Für SharePoint Entwickler sind folgende News viel interessanter:

Mit VS 2010 soll das Entwickeln von SharePoint Anwendungen vergleichbar einfach werden wie das Arbeiten an Client Applikationen oder ASP.NET Web Anwendungen. Die Highlights:

  • In einem Server Explorer sind Sites, Lists und weitere SharePoint Items direkt im Visual Studio sichtbar. Ähnlich wie wir es vom SQL Server Explorer kennen.
  • Neue Templates für das Erstellen von WSP, Web Parts, Listen Templates, etc. Neue Solution können z.B. durch den Import eines bestehenden WSP erstellt werden.
  • Das Web Part Template erstellt automatisch ein UserControl (ASCX), eine .CS Datei, welches dieses ASCX lädt sowie eine Webpart Definition Datei.
  • Event Handlers können mit einem Wizard erstellt werden.
  • ASP.NET Forms für Workflows können mit einem WYSIWYG Editor bearbeitet werden. Dabei wird die Master Page vom SharePoint geladen.
  • Weiter erwähnt aber nicht konkret gezeigt oder vertieft wurde Linq to SharePoint und die Möglichkeit, den Code lokal auf der Workstation auszuführen.

Da können wir uns ja auf etwas freuen!

30 Oktober 2008

SharePoint Custom Site Definition Battle

Joel Oleson hat in seinem Blog einen Krieg losgetreten: den SharePoint Custom Site Definition Battle. Die Reaktionen hat er u.a. hier zusammengefasst. Er sieht berechtigte Risiken in der Upgradefähigkeit von Site Definitions und wollte deren Verwendung unter Bann stellen. Die Reaktionen waren heftig. Doch hat sich ein konstruktiver Dialog ergeben, welcher ich hier kurz wiedergeben möchte.

Alternativen

Auf die Alternativen zu Site Definitions möchte ich nur kurz eingehen, da es im SharePoint kein anderes Konstrukt gibt, mit einem Klick eine Site ab einer bestimmten Vorlage zu erstellen.

So decken z.B. Site Templates (STP Dateien) nur ca. 80% der Funktionen ab. Die restlichen 20% müssten entweder geklickt oder programmiert werden. Weder das eine noch das andere lässt aber das Herz des SharePoint Architekten höher schlagen. Wenn ab

Funktionalität

Zu SharePoint 2003/WSS v2-Zeiten standen uns bis auf Site Definitions keine anderen Möglichkeiten zur Verfügung Vorlagen für Listen, Sites, etc. abzulegen. Mit SharePoint 200//WSS v3 basieren die Site Defintions auf Features, welche das Gros der Customizations beinhalten.

Wenn Customizations (Listen Vorlagen, Listen, Content Types, etc.) in Features ausgelagert und diese an eine Custom Site Defintion gestampelt werden, spricht nichts gegen Custom Site Definitions. Falsch wäre es aber heute Site Definition auf die "alte Art" zu erstellen und alles ins ONET.XML zu packen.

Um die eigenen Features aber mit einer Site Definitions zu verbinden (Stampling), kommen wir nicht darum herum eigene Site Definitions zu erstellen.

Upgradefähigkeit

Wurde eine Site ab einer Site Definition erstellt, bleibt sie auf immer mit dieser verbunden. Da gibt es keinen Weg heraus. Niemand weiss, wie das Upgrade von SharePoint 2007 auf SharePoint v.Next in Bezug auf die Site Definitions aussehen wird. Man munkelt, dass SharePoint v.Next keine Site Definitions mehr unterstützen wird. Trotzdem wird uns Microsoft einen Weg zur Verfügung stellen, wenigstens jene Sites zu migrieren, welche ab OOB Site Definitions erstellt wurden.

Sind die eigenen Site Definitions nun bis auf die ID identisch mit den OOB Site Definitions, sollte ein Upgrade uns nicht vor grosse Probleme stellen. Dadurch, dass wir aber eine eigene ID haben, können wir unsere Features mit unserer Site Definitions verbinden.

Quintessenz

  1. Erstelle eine Custom Site Definitions, wenn es notwendig ist. Auch wenn es nur darum geht, eine Site Definition mit einer eigene ID in der Hand zu halten, auf welche die Features gestapelt werden.
  2. Wenn du eine Custom Site Definition erstellst, beschränk dich auf das Minimum und bleib nahe bei den OOB Site Definitions. Alles was mittels Features gelöst werden kann, soll mittels Feautres gelöst werden.

Euer Kommentar ist herzlich willkommen. David Schneider

27 Oktober 2008

Azure übernimmt die Weltherrschaft

Heute hat Ray Ozzie an der Keynode der PDC das neuste Pferd im Microsoft Stall vorgestellt: Die Azure Services Platform bzw. das darauf basierende Produkt Windows Azure. Beim früher als Red Dog bekannten Projekt handelt es sich um die Cloud-basierte Service Platform, welche von Microsoft betrieben wird und neben dem "Betriebssystem" Diente für Management, Datenspeicherung, Authentication, etc. zur Verfügung stellt.  Der Vorteil von Azure liegt im Cloud Computing: hohe Verfügbarkeit, Skalierbarkeit und Flexibilität vereinfachen den Betrieb und das Deployment massiv.

Man muss sich nicht mehr um Server, Speicher, Backup oder Performance Sorgen machen. Man stellt die Applikation in die Wolke und kann sofort loslegen. Ob nun ein Benutzer oder die halbe Welt auf die Applikation zugreift, merkt man erst, wenn die Rechnung Ende Monat ins Haus geflattert kommt.

Spannend wird die Geschichte, wenn wir uns die Komponenten von Azure anschauen:

The Cloud Computing and Services Platform Diagram

Windows Azure ist das "Internet Betriebssystem" und erlaubt das Ausführen von beliebigen Code. In der aktuellen Phase handelt es sich dabei um .NET Code, welcher mit entsprechenden Visual Studio Templates / Tools erstellt wird.

Die Live Services standen bereits davor zur Verfügung und bieten die Möglichkeit zum Speichern und Austauschen von z.B. Photos, Videos und Silverlight Applikationen.

Bei den .NET Services handelt es sich um eine Cloud-basierte Implementation von einigen .NET Framework Komponenten wie z.B. Workflow und Access Control.

Die SQL Services übernehmen die Speicherung von strukturierten und unstrukturierten Daten. Abfragen und die Suche erfolgen über Web Services (REST). Ebenfalls wird das Reporting integriert.

Mittels SharePoint und Dynamics CRM Services lassen sich Business und Collaboration Daten speichern und abrufen. Ebenfalls können hierfür eigene Erweiterungen codiert werden.

Alles sehr spannend. Gerade die SharePoint Services! Ich denke, dieses Announcement ist wegweisend und zeigt in die richtige Richtung! Schauen wir einmal, ob es an den TechEd mehr Informationen über Azure gibt. In der Zwischenzeit kann man bereits das SDK herunterladen und sich auf die CTP Waiting List eintragen können.

20 Oktober 2008

SharePoint v.Next

Um die nächste Version von SharePoint (SharePoint V14 / SharePoint 2009) ranken sich viele Gerüchte. Eine schöne Zusammenstellung habe ich bei Edin gefunden. Ich habe sie für euch übersetzt und weitere Features angefügt.

Feature

Beschreibung

Wahrscheinlichkeit

Quellen

64-bit only

SharePoint v14 / 2009 wird nur als 64bit Anwendung verfügbar sein.

Bestätigt

TechNet

Master Data Management

Eine Metadaten Verwaltung (Projekt "Bluedog") wird als Teil von SharePoint 14 ausgeliefert und bietet die Möglichkeit, die Entitäten unternehmesweit zu vereinheitlichen.

Sehr wahrscheinlich

Microsoft MDM Roadmap
Wikipedia
Microsoft MDM

CMIS support

Content Management Interoperability Services will allow SharePoint to communicate with other ECMs via web services.

Sehr wahrscheinlich

Microsoft

SQL-like Lists

Bill Gates will den Funktionsumfang von SharePoint Listen mit der Flexibilität und Performance von SQL Tables verbinden. Ob aber SharePoint Listen in Zukunft als SQL Tabellen abgelegt werden und uns die volle SQL Syntax offen steht, ist aber noch gar nicht sicher.

Wahrscheinlich

Bill Gates

Groove Integration

Bei installiertem Groove Client, stehen mehr Optionen für die Datensynchronisation zur Verfügung.

Wahrscheinlich

Ray Ozzie

ODF and PDF support

3rd Party IFilter um PDF und ODF Dokumente zu indexieren, wird nicht mehr notwenidg sein.

Wahrscheinlich

Microsoft

FAST search integration

Die FAST-basierte Suchengine wird die Microsoft Search Engine ablösen. Sicher ist, dass Microsoft immer mehr Know How von FAST in SharePoint einfliessen lässt.

Wahrscheinlich

CMS Watch

Site DefinitionsSite Definitions werden nicht mehr unterstützt.GerüchtGerüchte haben meistens keine Quelle...
Bi-direction BDCDie Möglichkeit, Daten via BDC in Legacy Applikationen zu aktualisieren (Update, Insert). Gerücht
Mehr Social NetworkingDas Knowledge Network soll in die nächste SharePoint Version integriert werden. Dies wurde uns jedenfalls versprochen, als der Technology Preview von "Knowledge Network" aufgegeben wurde.GerüchtMSDN Blog
AJAX und SilverlightDas UI und die Webparts werden mehr AJAX und Silverlight 2.0 einsetzen.Gerücht

07 Juli 2008

Language filter with Faceted Search

SharePoint Search extracts the language of a document during the crawl and use this information for the calculation of the relevancy while generating search results.

This behavior cause problems in multilingual enterprises. SharePoint search returns mainly documents in the user language (respectively the browser language).

Based on a post from Patrick Tisseghem about a hidden managed property which contains the language of a document. This managed property is called "DetectedLanguage". As Patrick mentioned, the language is stored as an integer value (9 = English, 7 = German, etc.). It could be used on your SharePoint out of the box (give it a try and search for "somekeyword deletectedlanguage:9").

But the real power of this managed property is developed in conjunction with Faceted Search. This open source SharePoint extensions allows you to use SharePoint meta data (or Managed Properties) as facets to refine your search. Go to the CodePlex project page and have a look at there web casts for more information.

You can extend Faceted Search to use your own managed properies as facets. In this way, you also can use the "detectedlanguage" property. Just paste to following XML snipped in the property "Select columns for Facets" in the "Search Facets" Web Part. With this, you will be able to restrict your search results based on the lanuage of a document.

As a side effect, you will see, that SharePoint (or the underlining IFilter) does lots of errors while detecting the language of a document.

Here is the XML snipped for the Faceted Search Web Part configuration: