20 Oktober 2009

SharePoint 2010 kriegt einen “middle-tier”

Der Shared Serivice Provider wird abgelöst und durch die Service Application Topologie ersetzt. Damit verfügt SharePoint 2010 über einen echten middle-tier. Eine Service Application stellt den Web Applikationen Daten oder Processing Ressourcen zur Verfügung. Out of the Box werden ca. 30 Service Applications mitgeliefert und installiert, z.B. Search, User Profiles, Managed Metadata, Business Connectiviy Services. Die Verwaltung erfolgt zentral über die Central Administration oder PowerShell.

Load Balancing

Eine Service Application ist ein logisches Konstrukt. Der physikalische Prozess, welcher auf dem Application Server läuft, nennt sich Service Instance. Mehrere Service Instances eines Service Application können auf verschiedenen Application Servers betrieben werden. Durch eingebaute Load Balancing und Health Checking Mechanismen entsteht eine redundante Infrastruktur.

Cross Farm

Service Applications können anderen SharePoint Farmen zur Verfügung gestellt werden. In grossen Unternehmen werden die Service Applications in einer zentralen SharePoint Farm verwaltet und von anderen, geographisch oder organisatorisch verteilten Farmen konsumiert.

Build your own Service Application

Microsoft stellt das API der Service Application zur Verfügung und bietet ISVs die Möglichkeit, eigene Service Applications zu erstellen. Microsoft selbst implementiert Erweiterungen wie die Office Web Applications, SQL PowerPivot oder den Project Server auch als Service Application. Für ISV und Developer bedeutet dies, dass SharePoint auch als Application Platform eingesetzt werden kann. Die Service Application Topologie ist in SharePoint Foundation angesiedelt – dem Nachfolger der Windows SharePoint Services – und daher (wohl) mit Windows Sever Lizenz nutzbar.

Verknüpfungen mit Web Applications

Für jede Web Applikation kann definiert werden, welche Service Applications sie konsumieren darf. Das Konzept ist sogar so ausgerichtet, dass eine Web Application auch mehrere Typen einer Service Application konsumieren kann. Zurzeit wird dies nur für die Taxonomie verwendet: innerhalb einer SharePoint Farm können mehrere Managed Metadata Service Applications konfiguriert werden (welche z.B. verschiedene Taxonomien abbilden). Die Web Applikation kann auf alle Managed Metadata Service Applications zugreifen und sämtliche Taxonomien nutzen.

SharePoint 2010 für Developer

Steve Ballmer hat heute die MS SharePoint Conference eröffnet. Über 7400 Teilnehmer können werden sich in 240 verschiedenen Sessions über SharePoint 2010 informieren.

Steve Ballmer hat an der Keynote die Beta für November 2009 sowie den RTM für das erste Halbjahr 2010 ankündigt. Jeff Teper und Tom Rizzo haben einen ersten Einblick in die neuen Funktionen ermöglicht. Uns ist es nun erlaubt, auch im Blog über SharePoint 2010 zu berichten – soweit es das Rahmenprogramm der Konferenz erlaubt.

Vorerst ein paar Features, welche das Leben der Developer erleichten soll:

  • Developers können SharePoint 2010 auf Windows Vista oder Windows 7 installieren. Das Arbeiten in virtuellen Maschinen gehört also der Vergangenheit an.
  • In Visual Studio 2010 stehen verschiedene Projekttemplates zur Verfügung, mit welchen direkt eine SharePoint Solution erstellt werden kann. Deploy und Debug werden mit F5 erfolgen. Das WSP kann vollständig in Visual Studio verwaltet werden. Kein Manifest.xml, Elements.xml oder 3rd Party Erweiterungen. Übrigens wurde heute auch Beta 2 von Visual Studio 2010 freigegeben.
  • Sogenannte Visual Web Parts können mit einem graphischen Editor erstellt werden. Es handelt sich dabei um nichts anderes als um ASP.NET User Controls; Visual Studio kümmert sich um die Paketierung sowie das Erstellen der Web Part Klasse mit dem LoadControl() Aufruf.
  • Ein Developer Dashboard kann optional in einer SharePoint Seite eingeblendet werden und zeigt wichtige Informationen über Performance (Datenbankaufrufe, Callstack, etc.) an.
  • LINQ for SharePoint erlaubt den Zugriff auf SharePoint Daten. Controls, welche Data Binding unterstützen, lassen sich so mit wenigen Klicks in ein Visual Web Part einfügen und mit SharePoint Listen verknüpfen.
  • Sämtlicher SharePoint Content steht als REST Web Service zur Verfügung. Zusätzlich gibt es ein Client Object Model, welches als .NET oder Silverlight Assembly sowie als JavaScript Bibliothek implementiert ist. Der Zugriff vom Client auf SharePoint Daten war noch nie so einfach.
  • Die maximale Anzahl von Listeneinträgen ist weitgehend aufgehoben (oder grosszügig vergrössert) worden.
  • Der Business Connectivity Serivces (BCS), Nachfolgeder des BDC, erlaubt den Zugriff auf SQL Tabellen, Web Services und .NET Types. Neu erfolgt der Zugriff nicht nur lesend; die Daten können auch zurückgeschrieben werden – hierzu mehr in einem späteren Blogpost.

11 Oktober 2009

SharePoint Conference 2009: wir sind dabei

Header

Letzten Freitag erreichte uns die Meldung, dass die SharePoint Conference “sold out” ist. Neben über 7000 anderen SharePoint Experten aus aller Welt, werden vom 19. – 22. Oktober auch drei Personen von isolutions in Las Vegas mit dabei sein.

An der SharePoint Conference 2009 wird SharePoint 2010 offiziell angekündigt. Gelüftet wird der Vorgang wohl an der Keynote, welche Steve Ballmer himself halten wird.

Wir werden während der Konferenz laufend im isolutions SharePoint Blog bloggen. 

Pascal Grossniklaus Pascal Grossniklaus wird sich die neuen Features von SharePoint 2010 in den Bereichen Search und Enterprise Content Management anschauen.
Benjamin Regez Benjamin Regez wird SharePoint 2010 nach Funktionen durchleuchten, welchen bei unseren Kunden einen echten Mehrwert bieten.

David Schneider

Ich, David Schneider, bin der Techniker in der Runde und werde versuchen, einen ersten Blick hinter die Kulissen von SharePoint 2010 zu werfen und aufzeigen, was uns SharePoint Developer und IT Professionals erwartet.

05 Oktober 2009

SharePoint Seitenelemente verstecken

imageUnter http://www.sharepointcanvas.com/ kann ein CSS generiert werden, welches – angewendet auf eine SharePoint Site – gewünschte Seitenelemente versteckt. Mit wenigen Klicks kann man z.B. folgende Elemente verstecken:

  • Logo oder Titel
  • Suchbereich
  • Left- oder Globalnavigation
  • View All Site Content
  • Recycle Bin

Das generierte CSS kann mittels Content Editor Web Part oder über einen Custom Master eingebunden werden.

02 Oktober 2009

Fix Variations Editor

Variations sind ein tolles Konzept um mehrsprachige SharePoint Websites (WCM Sites) zu realisieren. Variations vereinfachen den Publikationsprozess und stellen die Relation zwischen den einzelnen Seiten in den verschiedenen Sprachen (Variation Labels) sicher. Die Relation zwischen den einzelnen Seiten wir in einer hidden List im Site Collection Root abgelegt.

Teilweise werden diese Einträge bei Änderungen an den Seiten z.B. umbenennen einer Seite nicht korrekt aktualisiert und es entstehen Inkonsistenzen zwischen den einzelnen Sprachvariationen der Seiten.

Auf dem Markt gibt es verschiedene Tools um solche Probleme zu lösen, doch heute habe ich meinen Favoriten entdeckt. Das Tool nennt sich Variations Editor und kann bei der SharePoint User Group gratis heruntergeladen werden. Das Tool zeigt nach einem Scan alle Fehler innerhalb einer Site Collection an und ermöglicht auf eine einfache Art die Korrektur der Fehler.

Download Variations Editor

01 Oktober 2009

ISA & SharePoint: Logindialog in Office verhindern

Wird eine SharePoint Site über einen ISA im Internet / Extranet zugänglich gemacht und die Benutzer sich über das ISA Form einloggen, fragen die Office Applikationen (Word, Excel, etc.) beim Öffnen eines Dokuments nochmals nach Username und Passwort. Wenn die Authentisierung auf dem ISA mit einem One-Time-Password (OTP) erfolgt, kann die Office Integration gar nicht verwendet werden.

Der ISA bietet nun aber die Möglichkeit, die Logininformationen in einem persistenten Cookie zu speichern, welches auch die Office Anwendung “verwenden” kann. Hier zu muss in der Firewall Policy folgende Änderung vorgenommen werden:

  1. Entsprechende ISA Publishing Rule wählen.
  2. Eigenschaften des Listener anzeigen.
  3. Im Tab “Forms” auf “Advanced” klicken.
  4. Im Dropdown “Use Persistent Cookie” den Wert “Only on private computers” oder “On all computers” auswählen.
  5. Speichern und Konfiguration anwenden.

image

Nach einem Login über das ISA Form kann die Office Integration ohne weitere Abfrage nach Username und Passwort erfolgen.

Vorsicht: das Cookie wird im Browser Cookie Speicher abgelegt. Auch wenn der Browser neu gestartet wird, bleibt man eingeloggt. Nur ein explizites “Sign Out” wird das Cookie gelöscht. Kritisch, wenn der SharePoint von öffentlichen Computern benutzt wird.

Zugriff auf SharePoint mit Windows 7

Windows 7 ist toll. Im Feierabendbier habe ich aber immer wieder klagen gehört, dass der Zugriff aus Office 2007 (Word, Excel) auf SharePoint Document Libraries langsamer sei als unter Vista. Auch Zugriffe über die Explorer View seien langsam.

Die (trivial) Lösung habe ich hier gefunden: Im Internet Explorer muss die automatische Erkennung des Proxy Servers ausgeschaltet werden. Unter Tools –> Internet Options –> Connections –> LAN Settings muss die Option Automatically Detect Settings deaktiviert werden. In einem Netzwerk mit Proxy Server muss diese Option natürlich nicht deaktiviert werden – hier sollte das Performanceproblem aber auch nicht auftreten.

Damit kann aus Word auch unter Windows 7 schnell auf SharePoint Document Libraries zugegriffen werden.

07 September 2009

Workflowtasks mit automatischen Erinnerungen

Beispiel Workflow
SharePoint Workflows bieten relativ einfach die Möglichkeit, an verschiedenen Personen Tasks zuzuweisen, welche diese dann abarbeiten. In der Theorie mag sich das zwar gut anhören, in der Praxis werden diese Tasks einfach ignoriert und der Workflow kommt zum Stillstand ("Nööö, ich hab' nie einen Task zugewiesen gekriegt? Ach das E-Mail? Das hab' ich gelöscht…).
Eine Lösung dazu ist simpel: In periodischen Abständen wird dem Benutzer automatisch ein Reminder gesendet. Hört sich auch noch einfach an, gell? Links der Workflow ohne Erinnerungen:


Ein einfacher Approval Workflow also. Wir nehmen mal einfach so an, dass der Genehmigungstask ein Custom Form besitzt, wo der Benutzer zwei Buttons «Genehmigen» und «Ablehnen» hat. Im onApprovalTaskChanged.Invoked Event wird abgefragt, welcher Button geklickt wurde und doSomething führt die entsprechende Aktion aus.


Workflow mit automatischen ErinnerungenFalls wir einen Timeout einbauen möchten, müssen wir auf ein zweites Event warten die Delay Activity um anschliessend den Reminder zu senden. Glücklicherweise gibt's in der Windows Workflow Foundation die Listen Activity, welche es ermöglicht, auf mehrere Events gleichzeitig zu warten. Diese Activity blockiert den Workflow bis einer der angegebenen Events eintritt.
Dort packen wir in einen Ast die OnTaskChanged Activity und in den Anderen eine Delay Activity und eine SendEmail Activity. Da der Reminder nicht nur einmal gesendet werden soll, gibt's noch eine while Schlaufe drumherum.


Vergesst nicht, die Correlation Tokens richtig zusetzten: Es gibt zwei Tokens, eines für die onWorkflowActivated und sendReminder Activities und ein Anderes für die createApprovalTask und onApprovalTaskChanged Activities.

Gut zu wissen: Die Delay Activity wird vom SharePoint Timer Service abgearbeitet. Um sicherzugehen, dass das korrekte Assembly geladen wurde, muss also nach einem Deployment in den GAC auch der Server SPTimerV3 neu gestartet werden. Um zu Debuggen, muss der Prozess OWSTimer.exe attached werden.

01 September 2009

IRM SharePoint integriert

Mittels Information Rights Management (IRM) wird der Zugriff auf Dokumente nicht über Berechtigungen sondern über Verschlüsselung sichergestellt. Nur wer den entsprechenden Schlüssel hat, kann das Dokument öffnen. Microsoft hat mit dem Right Management Server (RMS) eine IRM Lösung, welche sich perfekt in Office integriert.

image

Jeder Benutzer kann sehr einfach den Zugriff auf sein Dokument nur für bestimmte Gruppen freigeben. Dabei kann über die sogenannte Policy eingeschränkt werden, wer die Datei nur lesen und wer sie auch verändern darf. Weiter kann auch definiert werden, ob der Inhalt ausgedruckt, in die Zwischenablage kopiert oder unter einem anderen Dateinamen abgespeichert wird. Die Datei wird verschlüsselt abgelegt.

Etwas anders verhält sich die SharePoint Integration des RMS Servers. Dabei legt der SharePoint die Datei in Klartext in der Datenbank ab und liefert sie nur verschlüsselt aus. Die Policy wird dabei aus den SharePoint Berechtigungen generiert. Damit kann z.B. sichergestellt werden, dass Benutzer, welche nur Leserechte haben, die Datei weder verändern noch ausdrucken oder abspeichern können.

image

Alles in allem eine sehr gelungene Lösung. Leider kann man die IRM Settings nur auf einzelne Document Libraries und nicht auf einen Content Type anwenden.

Hier finden sich weitere Information zum Setup von RMS und zur Verbindung zu SharePoint.

21 Juni 2009

SharePoint Search Offline / Migration of Database Server

After migration of all SharePoint Databases to a new Server SharePoint Search isn't working anymore. If you access the Search Setting Page of your SSP it gives you the following Error:

The search service is currently offline. Visit the Services on Server page in SharePoint Central Administration to verify whether the service is enabled. This might also be because an indexer move is in progress.

All my Search Services (WSS Search / MOSS Search) were started successfully, but I still got the error.

I tried the following with no success:

  • Deleted and rebuilt SSP
  • Disconnected / reconnected the Server from the Farm
  • Repaired SharePoint Installation
  • Checked launch Component Permissions on OSearch COM Component
  • Rebuilt whole Farm

The only thing that solved the Problem was the Upgrade to SP 2. Before I had SP1 and Infrastructure Updates installed. Don't waste your time - just upgrade!