09 November 2009

Fehler: Invalid look-up value

Folgender Fehler trat gestern beim hinzufügen einer Datei in eine SharePoint Dokumentenbibliothek auf:

Invalid look-up value
A look-up field contains invalid data. Please check the value and try again.

at Microsoft.SharePoint.Library.SPRequestInternalClass.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)
at Microsoft.SharePoint.Library.SPRequest.PutFile(String bstrUrl, String bstrWebRelativeUrl, Object varFile, PutFileOpt PutFileOpt, String bstrCreatedBy, String bstrModifiedBy, Int32 iCreatedByID, Int32 iModifiedByID, Object varTimeCreated, Object varTimeLastModified, Object varProperties, String bstrCheckinComment, UInt32& pdwVirusCheckStatus, String& pVirusCheckMessage)

Die Datei wurde von einem Template, welches mit dem passenden ContentType verknüpft ist, kopiert:

SPFile template = Site.RootWeb.GetFile(documentTemplateUrl);SPFile file = List.RootFolder.Files.Add(leafName, template.OpenBinary(), false);

Nach und nach stellte sich die Ursache des Problems heraus: die Vorlage, welche mit dem Content Type verknüpft war, beinhaltete noch (unsichtbare) Referenzen auf Felder einer früheren Version dieses Content Types.


image

Mit Prepare-> Inspect Document konnten diese einfach gefunden und entfernt werden. Et voila: das Kopieren klappte ohne Probleme…

image image

Der Fehler ist auch reproduzierbar beim Hochladen eines so präparierten Dokumentes in eine SharePoint Dokumnetenbibliothek, welche mit dem entsprechenden Content Type verknüpft ist.

06 November 2009

Das SharePoint 2010 ABC für Developer

Diese Woche durfte ich am SharePoint 2010 Ignite Developer Training in Amsterdam teilnehmen. Wouter van Vugt, Todd Carter und Vesa Juvonen haben uns einen tiefen Einblick in SharePoint 2010 vermittelt.

Für euch habe ich das SharePoint 2010 ABC für Developer zusammengestellt:

A wie Application Lifecycle Management

Für das Application Lifecycle Management (ALM) stellt SharePoint 2010 neue Möglichkeiten zur Verfügung. Die Versionsnummer von Features wird beachtet und in den Featuredefinitionen können UpgradeActions definiert werden. Neben dem Hinzufügen von neuen Site Columns zu Content Types, kann auch C# Code ausgeführt werden. Dies geschieht über einen neuen EventReceiver (FeatureUpgrading).

B wie Business Connectivity Services

Die Business Connectivity Services (BCS) lösen den Business Data Catalog (BDC) ab und erlauben das Einbinden von externen Daten. Sei es eine SQL Datenbank, ein Web Services oder gar ein .NET Type. BCS Daten stehen als External Content Type zur Verfügung und können in einer sogenannten External List wie eine normale SharePoint Daten bearbeitet werden. Neu können die Daten auch geschrieben werden.

C wie Client Object Model

Mit dem Client Object Model kann man aus .NET, Silverlight oder JavaScript Anwendungen auf SharePoint Daten zugreifen. Grundsätzlich steht alles unterhalb der Site Collection zur Verfügung. Das Client OM ist aber vor allem für den Zugriff auf Listen interessant. Die Zeiten von lists.asmx sind gezählt.

D wie Designer

Der SharePoint Designer 2010 wird nun auch für Developer interessant. Der Workflow Designer hat massive Verbesserungen erfahren. Zum Erstellen von BCS ist der SharePoint Designer das Tool der Wahl. Das Beste: Customizations lassen sich als WSP exportieren und können in Visual Studio 2010 weiterverarbeitet werden.

E wie EventReceiver

Mit den neuen EventReceivern für Listen (ListAdding/ed) und Sites (WebAdding/Provisioned) sowie Post-Synchronous Events wird das EventReceiver Modell komplettiert. Die Post-Synchronous Events erlauben es dem Developer nach dem Ausführen einer Operation durch SharePoint, aber bevor dem Benutzer das UI wieder angezeigt wird, einzugreifen. Damit können Bilder nach dem Upload skaliert und Properties nach dem Erstellen abgefüllt werden.

F wie FAST

Von der Integration der FAST Search Engine profitiert auch der Developer. Über die Mächtigkeit der FAST Search Engine wurde in diesem Blog bereits einiges geschrieben. Programmatisch kann über dasselbe API auf den Suchindex zugegriffen werden. Als Goodie kann man über das Object Model gezielt Content in den Index pushen und auf diese Weise real-time Search-based Applikationen realisieren (z.B. eine Tasklist über die gesamte Farm).

G wie graphische Anpassungen

Graphische Anpassungen lassen sich mit SharePoint 2010 viel einfacher umsetzen. Themes sind in 5 Minuten erstellt (siehe unter ‘T’). Die Masterpages wird out-of-the-box mit sauberen HTML Code ausgeliefert. Die Content Placeholders sind aber dieselben – d.h. die Migration wird nicht sehr aufwändig.

H wie Hub

Mit dem Content Type Hub können Content Types über die gesamte Farm verteilt werden. Früher waren hier Features und Code notwendig. Der Content Type Hub ist in den Managed Metadata Services integriert.

I wie InfoPath

Die List Forms (NewItem, ViewItem, EditItem) können in SharePoint 2010 mit InfoPath 2010 angepasst werden. Das Customizing erfolgt über den SharePoint Designer.

J wie JavaScript

Viele Funktionen (SP.*.js) stehen dem JavaScript Entwickler zur Verfügung. Dabei stehen auch die Debug Dateien zur Verfügung. Ein Lazy Loading Mechanismus ist integriert und kann auch für die eigenen JavaScript Dateien eingesetzt werden.

K wie Kompilieren

Der bestehende Code muss – solange er im IIS läuft – nicht neu kompiliert werden. Über ein BindingRedirects werden die Object Model Calls auf die neuen SharePoint 14.0.0.0 DLLs geleitet. Nur jene Bits, welche von OWSTimer.exe ausgeführt werden (EventReceiver, Timer Jobs, Workflows) müssen gegen die neuen DLLs kompiliert werden.

L wie Listen

Bei den Listen wurden unter SharePoint 2010 einige entscheidende Verbesserungen realisiert. Neu können sie bis zu 50 Millionen Items enthalten. Dafür kann nun bei der Abfrage festgelegt werden, wie viele Items aus der Datenbank gelesen werden. Relationships lassen sich mit Cascade Delete oder Block Delete realisieren.

M wie Mehrsprachigkeit

Gerade für uns Schweizer sind die Neuerungen bei der Mehrsprachigkeit sehr spannend. Auf einer SharePoint 2010 Site kann die Sprache der Menus, der Navigation und der anderen Seitenelemente über das Menu umgestellt werden. Man muss nur die entsprechenden Language Packs installieren. Ob man auch die Namen der selbst erstellten Columns übersetzen kann, gilt es zu prüfen.

N wie Networking

Mit der MySite von SharePoint 2010 stehen viele Social Network Funktionen zur Verfügung. Persönliche Tags, I like it und Wall Posts werden auf der MySite angezeigt. Mittels einer Silverlight Applikation wird da Organigramm dargestellt.

O wie Online

SharePoint Online wird aufgewertet. Bald können wir unsere Webparts als Sandboxed Solutions auf SharePoint Online deployen. Dabei handelt es sich um WSP, welche in einem separaten Prozess ausgeführt werden. Natürlich darf der Code nicht beliebige Operationen ausführen - der Zugriff auf das SharePoint Object Model ist aber gewährleistet. Sandboxed Solutions können vom Site Collection Admin in die neue Solution Gallery hochgeladen und aktiviert werden.

P wie PowerShell

Die PowerShell Cmdlets für SharePoint 2010 sind sehr mächtig und vereinfachen viele IT Pro Tasks. Über PowerShell kann auch direkt auf das SharePoint Object Model zugegriffen werden.

Q wie Query

Queries lassen sich unter SharePoint 2010 mit LINQ absetzen. Dabei wird das EntityModel ab einer bestehenden Site generiert (mit dem Utility SPMETAL) und das Visual Studio Projekt hinzugefügt. Die LINQ Abfragen können auch über Relationships erfolgen.

R wie REST

Ein REST-based Zugriff auf SharePoint 2010 Listen stellt die Daten für Drittsysteme zur Verfügung. Die Abfrage der Daten erfolgt über das URL (z.B. /_vti_bin/ListData.svc/Listname). Zurück kommt wahlweise ATOM XML, JSON oder sogar ein Bild.

S wie SharePoint 2010

SharePoint 2010 rocks!

T wie Themes

Themes lassen sich über das Web UI zusammenklicken. Ebenfalls elegant ist der Import einer thmx Datei. Eine solche Datei exportieren die Office 2007 Applikationen auf Grund der Styles.

U wie User Interface

Das neue UI mit dem Ribbon und den Popup Dialogen ist für den Benutzer intuitiver (da er nicht immer wegnavigiert wird und sich die Befehle alle im Ribbon befinden) und kann vom Developer sehr flexibel erweitert werden.

V wie Visual Studio

Mit den Visual Studio 2010 Templates wird der Traum vom Deploy per F5-Taste endlich wahr. Mainfest.xml, DDF, SafeControls, etc. gehört der Vergangenheit an. Zirka 20 Projekt Templates stehen für die verschiedenen SharePoint Erweiterungen zur Verfügung. Wo nötig können man die XML Dateien aber immer noch selbst bearbeiten werden.

W wie Wiki

Team Sites sind nun auch Wiki Sites. Der Benutzer kann überall Inhalte, Links (nur "[[" eingeben und schon erscheint ein Popup zur Auswahl von Pages, Listen und Subsites) sowie Webparts einfügen. Nur um ein Bild einzufügen, braucht es kein ImageWebPart mehr.

X wie XHTML

SharePoint 2010 rendert Well-Formed XHTML 1.0. Was anderswo selbstverständlich war, mussten wir uns hart erkämpfen. Ebenfalls wird die Accessibilitynorm WCAG 2.0 AA erfüllt.

Y wie hmm… Joker

Z wie Zugriff

Neu kann der Zugriff auf SharePoint 2010 mittels Claims erfolgen. Dies ermöglich tolle Möglichkeiten um Benutzer mit Live ID Accounts, Federated Active Directory Accounts oder anderen Providern zu authentisieren.

02 November 2009

How to set a Correlation Token Property on a Custom Activity


I like to break up my sharepoint workflows into several custom activities, especially when there are many repetitive tasks involved. But I've always struggeld with one thing: when I needed to send an email from such an activity, I had to pass the correlation token of the onWorkflowActivated activity manually in the constructor of my workflow to my custom activity, which assigned it in turn to the SendEmail activity. As one doesn't get workflow validation using this approach, it makes for an easy to oversee failure if in a hurry. And additionally, the compiler produces a warning that the correlation token of you SendEmail Activity may be uninitialized.

After a little digging around with Reflector.NET, I finally found out that one can declare a Type Converter of the type CorrelationTokenTypeConverter on the correlation token property of the custom activity. As this type converter is an internal class, the type property of the attribute has to be set by its full qualified class name.

[DefaultValue((string)null),
TypeConverter("System.Workflow.Activities.CorrelationTokenTypeConverter, System.Workflow.Activities, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
public CorrelationToken WorkflowCorrelationToken
{
get { return (CorrelationToken)base.GetValue(WorkflowCorrelationTokenProperty); }
set
{
base.SetValue(WorkflowCorrelationTokenProperty, value);
sendEmail.CorrelationToken = value;
}
}

(The code snippets above assumes assumes that a “CorrelationToken” dependency property is registered for the custom activity class.)

Now that we can set the correlation token using the designer, we are also able to use a validator class on the custom activity, so the compiler will throw an error if the correlation token is not set. Doing this is quite easy, just add the ActivityValidator attriubte to the activity class definition and implement an activityvalidator class which validates that the correlation token property of the custom activity is set.

[ActivityValidator(typeof(MyActivityValidator))]
public partial class MyActivity : SequenceActivity
{

private class MyActivityValidator : ActivityValidator
{
/// <summary>
/// Verifies that the MyActivity activity is valid.
/// </summary>
/// <param name="manager">The <see cref="T:System.Workflow.ComponentModel.Compiler.ValidationManager"/> associated with validation.</param>
/// <param name="obj">The <see cref="T:System.Workflow.ComponentModel.Activity"/> to be validated.</param>
/// <returns>
/// A <see cref="T:System.Workflow.ComponentModel.Compiler.ValidationErrorCollection"/> object containing any errors or warnings that occurred during validation.
/// </returns>
public override ValidationErrorCollection Validate(ValidationManager manager, object obj)
{
ValidationErrorCollection errors = new ValidationErrorCollection();
MyActivity activity = obj as MyActivity;
if (activity == null)
{
throw new InvalidOperationException();
}
if (activity.Parent != null)
{
if (activity.WorkflowCorrelationToken == null)
{
Hashtable hashtable = activity.GetValue(WorkflowMarkupSerializer.ClrNamespacesProperty) as Hashtable;
if ((hashtable == null) (hashtable["WorkflowCorrelationToken"] == null))
{
errors.Add(ValidationError.GetNotSetValidationError("WorkflowCorrelationToken"));
}
}
}
errors.AddRange(base.Validate(manager, obj));
return errors;
}
}
// SNIP: MyActivity code...
}

26 Oktober 2009

Echo über SharePoint 2010

Während der SharePoint Conference wurde natürlich heftig gebloggt. Die wichtigsten Posts habe ich hier zusammen aufgelistet.

Jeff Teper beschreibt SharePoint 2010 in einem Satz, 8 Kategorien und 40 Funktionen auf dem SharePoint Team Blog. Der eigentliche “Ur-Post” über SharePoint 2010.

Im Microsoft SharePoint Developer Documentation Blog ist die bereits vorhandene Dokumentation über SharePoint 2010 auf MSDN verlinkt. Auch das SPD Team hat die wichtigsten Neuigkeiten in Bezug auf SharePoint Designer in einem Blog Post zusammengefasst.

Andrew Connell, Lieblings-MVP des Autors, schreibt über die Neuerungen und Verbesserungen im WCM Bereich in Part1, Part2 und Part3. Joel Oleson hat seine Top 10 Features zusammengestellt.

Auch die Jungs von namics bzw. 1eEurope haben fleissig aus Las Vegas berichtet.

Last but not least der Link für die Registrierung für Beta 2 von SharePoint 2010.

24 Oktober 2009

SharePoint 2010 – ein Fazit

Die SharePoint Conference ist zu Ende. Ein guter Zeitpunkt also für ein kurzes Resumé.

Nach vier Tagen mit insgesamt 240 Sessions liesse sich zu all den Neuerungen, den damit verbundenen Möglichkeiten und dem daraus resultierenden Nutzen mindestens ein Buch schreiben. Doch Steve Ballmer, Microsoft’s CEO, hat SharePoint 2010 wie folgt zusammengefasst:

SharePoint ist die Business Collaboration Plattform für Unternehmen und hat, stark vereinfacht die drei folgenden, nutzenstiftenden Vorteile:

  • SharePoint verbindet Mitarbeiter in Ihrem Unternehmen und hilft ihnen dabei, produktiv zu sein.
  • SharePoint reduziert Ihre Betriebskosten durch eine zentrale und einheitliche Infrastruktur.
  • Und SharePoint ermöglicht es, mit der Version 2010 mehr denn jemals zuvor, auf Anforderungen und Bedürfnisse des Business rasch treffende Antworten zu liefern.

image

Dieser treffenden Beschreibung wurde in den Sessions der vergangenen Tage ganz konkret Form verliehen:

  • Administration, Entwicklung und Anpassung von SharePoint an Geschäftsanforderungen sind einfacher und schneller geworden.
  • Die Komplettheit der Plattform hinsichtlich der adressierten Themen ist äussert umfassend. So ist Microsoft mit Enterprise Search heute bereits im Leading Quadranten, mit ECM und Collaboration mit grossen Schritten auf dem Weg dahin.
  • Natürlich gibt es immer noch Themen, wo spezialisierte und fokussierte Produkte weitergehen. Doch im Zusammenspiel ist SharePoint unschlagbar. Dies ist inbesondere deshalb von Bedeutung, als dass viele Themen immer stärker zusammenwachsen und nicht mehr isoliert betrachtet werden können.

Unter dem Strich werden viele der bereits seit längerem proklamierten Marketing-Statements und Versprechungen mit der neuen Version endlich Realiät. Einiges wurde in den Blogposts der vergangenen Tage breits beschreiben und ausgeführt, vieles werden wir in den kommenden Monaten und Jahren erfolgreich in den Geschäftsalltag transformieren können.

Eine interessante und herausfordernde Aufgabe, für die mit der Version 2010 von Office und SharePoint eine ausgereifte und bereits tausendfach eingesetzte Plattform zur Verfügung steht. Bisher werden von den weltweit rund 100 Millionen verkauften 2007er Lizenzen nur ein Bruchteil wirklich eingesetzt. Zeit also, den brachliegenden Nutzen freizusetzen.

Und so kann als abschliessendes Fazit gesagt werden: die gemachten Aussagen treffen vollumfänglich zu. Den Nachweis werden wir erbringen können.

22 Oktober 2009

WCM mit SharePoint 2010

Die Neuerungen im Bereich WCM bleiben bescheiden – das Konzept wurde nicht grundlegend überarbeitet. In meinen Augen war dies auch nicht notwendig. SharePoint 2010 wird zur echten WCM Plattform.

Standards

SharePoint 2010 setzt auf Standards. Dank XHTML sowie WCAG 2.0 AA kann eine behindertengerechte Website viel einfacher realisiert werden. Natürlich lassen sich somit die graphischen Anpassungen auch viel einfacher umsetzen. Ein weiterer Vorteil ist der Crossbrowser Support – auch für die Author- und Adminseiten.

Master Page / Page Layout

Master Pages und Page Layouts stehen uns auch weiterhin zur Verfügung. Out-of-the-Box werden heute Master Pages mitgeliefert, auf welche man auch für WCM Projekte aufbauen kann.

Content Authoring

Das Erfassen des Contents wurde massiv verbessert. Alle Funktionen werden über Ribbon angeboten. Ein Live Preview zeigt die Änderungen der Formatierungen sofort an. Auch Copy & Paste aus Office Applikationen funktioniert (besser).

Auch der Einfügen von Bildern ab der lokalen Festplatte geht einfacher von der Hand. Auch Silverlight Movies lassen sich einfach einbinden. Übrigens lassen sich Streaming Medien nun auch auf dem Frontendserver zwischenspeichern, was den Datenbankserver entlasten.

Das Approval erfolgt weiterhin via Workflow. Dieser kann nun aber viel einfach erweitern und customized werden – ob mit Visio, SharePoint Designer oder Visual Studio.

Variations

Das Konzept der Variations wurde nicht verändert. Dafür wurde hinter den Kulissen einiges an der Stabilität und den Tools gearbeitet. Bereits mit SP2 wurde eine STSADM Erweiterung lanciert, um die Variations zu fixen. In SharePoint 2010 wird die Releationships Liste überarbeitet und es gibt noch ein neues Tool für Fixes.

Content Query Web Part

Das CQWP (isolutions´ favorite) lebt weiter und wurde ausgebaut. Out-of-the-Box kann es bedeutend bequemer eingesetzt werden. Dank den Verbesserungen beim Zugriff auf Listen (inkl. der Möglichkeit, sehr grosse Listen anzulegen), erwarten uns da auch keine Performanceprobleme.

Content Deployment

Auch das Sorgenkind von MOSS 2007 RTM – das Content Deployment – hat sich in der Zwischenzeit gemausert. Viele Fixes wurden mit Service Packs und Cumulative Updates bereits ausgeliefert. In SharePoint 2010 kommt zusätzlich noch die Möglichkeit eines echten Datenbank Snapshots hinzu.

21 Oktober 2009

ECM für die Masse mit SharePoint 2010

imageWow! Microsoft bringt mit SharePoint 2010 eine gewaltige Flut an neuen Funktionen rund um das Verwalten von Inhalten! Einerseits sind gewisse Grundlagen (oder alte Designfehler) korrigiert worden, andererseits sind powervolle neue Tools dabei, welche SharePoint im ECM Quadranten von Gartner bestimmt massiv nach oben rechts verschiebt. Microsoft geht endlich auch direkt auf die Frage SharePoint vs. Fileserver ein, respektive zeigt sogar eine sehr konsistente und durchdachte Lösung einer Koexistenz von beidem auf – “Manage the Unmanaged”

 Metadata Management
SharePoint 2010 bietet zwei Wege den Inhalt mit Metadaten zu versehen. Durch Taxonomien, welche zentral für die gesamte Farm gesteuert und verwaltet werden können, steht den Inhaltsverantwortlichen eine hierarchische Struktur mit Begriffen zur Verfügung die den Inhalten zugewiesen werden können. Natürlich ist die Taxonomie durchgängig auch in den Office Clients  vorhanden. Die Taxonomie kann z.B. auch zum schnellen und einfachen Filtern von Inhalten in einer Dokumentenbibliothek verwendet werden. Das Metadaten Management von SharePoint 2010 ist wirklich sehr mächtig, Mehrsprachigkeit und Synonyme sind nebst vielen anderen Neuerungen zwei wichtige Konzepte die out-of-the-Box unterstütz sind.

Der zweite Weg ist die Folksonomie. Darunter ist das nicht verwaltete und dezentralisierte „taggen“ von Informationen gemeint, was jeder User für sich persönlich anwenden kann. Auf der MySite sieht er dann seine persönliche Tagcloud.

In diesem Zusammenhang ist noch zu erwähnen, dass Contenttypen nicht mehr nur innerhalb einer Site Collection zur Verfügung stehen, sondern über die ganze Farm zentral verwaltet werden können.

Unique Document IDs
Das bekannte Problem, dass beim umbenennen, verschieben resp. reorganisieren von Inhalten die Referenzen und Links auf die Inhalte nicht mehr gültig sind, ist damit endgültig gelöst. Die neue Dokumenten ID wird beim hinzufügen von Dokumenten automatisch vom SharePoint vergeben. Wie sich die ID zusammensetzt, kann definiert werden. Ist das Dokument einmal auf dem SharePoint abgelegt, kann es immer für den gleichen Link wieder aufgerufen werden.

Documents Sets
Bei der Arbeit mit Dokumenten ist immer wieder der Wunsch da, gewisse Dokumente zu einem Set mit gleichen Metadaten, Version, Workflows, etc. zusammenzufassen, dies ist nun mit Document Sets möglich. Dank diesem Konstrukt wird es endlich möglich nicht nur einzelne Dokumente zu behandeln sondern ganze Dossiers.

Advanced Routing
Mit dem Content Organizer in SharePoint 2010 kann mittels Regeln der Endbenutzer beim Abspeichern der Informationen unterstützt werden. Das Szenario könnte sein, dass der Endbenutzer die Datei immer in die gleiche Bibliothek abspeichert. Anhand des Content Typs und der Metadaten verschiebt nun der Content Organizer das Item an richtigen Ort gemäss den zutreffenden Regeln.

Dieser Content Organizer hilft auch, veraltete und nicht mehr benutzte Daten zu identifizieren und allenfalls in ein anderes Repository zu verschieben oder durch den Inhaltsverantworlichen überprüfen zu lassen.

In-Place Records Management
Recordsmanagement Funktionen sind nicht mehr wie bis anhin an bestimmte Site Templates gebunden sondern können überall wo es gewünscht ist eingesetzt werden. An einem Icon erkennt man, welche Dateien als Record markiert sind und somit nicht mehr geändert werden können. Ob ein Record am aktuellen Speicherort bleibt oder z.B. nach einer bestimmten Zeit in ein entsprechendes Repository verschoben wird, kann definiert werden.

Fileserver Integration
Microsoft hat tatsächlich eine Integration zwischen SharePoint und dem Fileserver (Windows Server 2008 RE 2) zu Stande gebracht die sehr vielversprechend demonstriert wurde. Über den File Server Ressource Manager können die existierenden Files auf dem Fileserver anhand von frei definierbaren Regeln klassifiziert werden. Für die Klassifizierung übernimmt der Fileserver die existierenden Content Typen und Metadaten vom SharePoint 2010. Nach der Klassifizierung können die Files dem Content Organizer vom SharePoint übergeben werden und dieser speichert die Files gemäss den definierten Verteilerregeln. Damit der Endbenutzer von dieser Migration nichts merkt, verbleibt auf dem Fileserver ein Shortcut auf das File, welches neu im SharePoint liegt. Eröffnet dies nicht ganz neue Möglichkeiten in Zukunft DMS Lösungen einzuführen?

Das von mir gesehene hinterliess bei einen sehr guten Eindruck. Falls die vorgestellten Konzepte wirklich funktionieren bietet SharePoint 2010 ein unglaublich flexibles und vielseitiges ECM Tool, welches bei richtigem Einsatz einen enormen Mehrwert für die Endbenutzer mit sich bringt.

Upgrade auf SharePoint 2010

Bereits heute sind erste Informationen betreffend dem Upgrade auf SharePoint 2010 verfügbar. Nachfolgend möchte ich auf die möglichen Migrationsszenarien, die Anforderungen, die Risiken sowie die Vorbereitungen, welche bereits heute angegangen werden können, eingehen. Wir werden ein standardisiertes Vorgehen definieren, um Risiko und Kosten zu minimieren und unseren Kunden einen schnellen Wechsel auf SharePoint 2010 zu ermöglichen. Mehr dazu, wenn es konkreter wird, in diesem Blog.

Microsoft hat bedeutend mehr in den Upgrade auf SharePoint 2010 investiert als in jenen auf SharePoint 2007. Der Upgrade läuft stabiler, kann besser überwacht werden und nach Problemen wieder fortgeführt werden.

Migrierte Sites werden zuerst in einem Visual Upgrade Modus angezeigt. Die alten CSS und Master Files werden angewendet, wodurch der User das alte UI sieht. Über die Site Settings kann testweise auf das neue UI mit den Ribbons umgeschaltet werden. Läuft alles glatt, kann das UI definitiv geändert werden. Diese Umstellung kann zentral erfolgen (vom Administrator) aber durch den Site Owner erfolgen.

Anforderungen

SharePoint 2010 braucht für alle Rollen (Web Frontend, Application aber auch SQL Server) 64bit Plattformen. Als Betriebssystem muss Windows Server 2008 SP2 oder R2 installiert sein. Die Version des Datenbankservers muss mindestens SQL Server 2005 SP2 oder 2008 SP1 CU2 sein.

Upgradeszenarien

Microsoft bietet nur zwei Upgradeszenarien an:

  • Ein In-Place Upgrade migriert eine SharePoint Farm von MOSS 2007 SP2 nach SharePoint 2010. Während des Upgrades ist die Farm nicht verfügbar. In diesem Szenario muss aber die bestehende Farm die oben erwähnten Anforderungen erfüllen.
  • Das bessere Upgradeszenario ist in meinen Augen der Database Attach Upgrade. Dabei wird eine zweite Farm, inkl. SQL Server, mit SharePoint 2010 bereitgestellt, auf welche dann die Content Datenbanken sowie die Profile Datenbank kopiert und angehängt werden. Beim Hinzufügen der Datenbanken wird das Upgrade durchgeführt.

Vorbereitungen der Content Datenbanken

Grundlage für ein erfolgreiches Upgrade ist eine “saubere” und schlanke SharePoint 2007 Installation. Damit kann bereits heute begonnen werden.

  • Nicht verwendete Site Collections oder Sites löschen sowie Dokumentversionen einschränken: durch die kleinere Datenmenge läuft der Upgrade schneller durch.
  • Fehlerfreie Templates, Features und Web Parts. Deployt via WSP: Damit können die Customizations auf SharePoint 2010 installiert werden.
  • Wurden Out-of-the-Box Site Definitions verändert, können diese Sites nicht migriert werden. Es bleibt nichts anderes übrig als den Content in neue Sites zu migrieren.
  • Eventuell korrupte Datenbanken reparieren: Ansonsten tauchen die Probleme beim Upgrade auf.
  • Und wer die grösste Sünde (Änderungen an der Content Datenbanken vorgenommen hat) begannen hat, muss diese Rückgängig machen. 

Mit Service Pack 2 und dem Oct 2009 CU von SharePoint 2007 wurde ein Pre-Upgrade-Checker mitgeliefert (stsadm Befehl). Das Tool liefert viele wichtige Informationen über die SharePoint Farm in einem Report. Weiter prüft es sämtliche Sites auf fehlende Site und List Definitions, Features und Assemblies. Auch Orphan Data (d.h. nicht mehr verknüpfte Sites, Lists, etc.) werden aufgespürt.

InfoPath Formulare können neu auch mit einem STSADM Befehl (exportIPFSAdminObjects) als WSP extrahiert werden und so auf die neue Farm gezügelt werden.

Customizations

Ist die Farm wie oben beschrieben stabilisiert worden, liegen die grössten Risiken bei den Customizations. Normale Web Parts und Workflows werden ohne Recompile lauffähig sein. Das Objektmodell ist mehrheitlich kompatible.

Wurden Customizations mit dem SharePoint Designer vorgenommen (customized files), gehen diese beim Switch auf das neue UI verloren. Bei Customizations, welche über WSP eingespielt wurden, stehen die neuen UI Funktionen logischer nicht zur Verfügung. In beiden Fällen gilt es vor dem Upgrade der Live Umgebung abzuklären, wie mit diesen Customizations weiter verfahren werden soll.

Fazit

Der Upgrade Prozess wurde in meinen massiv verbessert. Der SharePoint Admin hat viel die bessere Kontrolle. Bei den Customizations stellt sich die Frage, ob die Funktion mit SharePoint 2010 nicht out-of-the-box gelöst wird oder ob diese unter SharePoint 2010 weiterbestehen soll. Im zweiten Fall empfiehlt es sich, frühzeitig Tests durchzuführen. Bereits mit Beta 2 (ab November) kann der Upgrade getestet werden.

SharePoint 2010 Composites

Auf dem neuen SharePoint Donut erscheint der Begriff Composites, welcher für mich bis jetzt nicht auf Anhieb selbstsprechend war – bis heute! Microsoft will mit SharePoint 2010 noch schneller und besser auf die sich kontinuierlich ändernden Anforderungen im Geschäftsalltag eingehen und ein Werkzeugkasten bereitstellen um schnell dynamische Geschäftsapplikationen umzusetzen. SharePoint als Plattform soll es den Endbenutzern ermöglichen selber kollaborative “no Code” Applikationen mit den out-of-the-box Komponenten zu erstellen.

Die Demos sahen sehr vielversprechend aus, sah man doch massive Neuerungen in den Bereichen

  • User Interface
  • SharePoint Designer 2010
  • Access Services
  • Visio Services
  • BCS (Business Connectivity Services)

Die Philosophie von MS geht ganz klar in die Richtung, dass solche Applikationen nicht nur durch technisch orientierte Mitarbeiter erstellt werden, sondern durch Business Consultants.

Damit aber die Kontrolle über die SharePoint Farm nicht entgleitet, bietet SharePoint 2010 neue Tools um Regeln zu definieren. Neu sind auch “Sandboxed Solutions” möglich, was das Risiko, dass bei einer Fehlmanipulation oder fehlerhaftem Code die ganze Farm abliegt, verkleinert.

SharePoint Conference – Day 1 & 2

Der zweite Tag ist durch und ich bin es auch. Kühlschrankartige Temperaturen, endlose Teppichböden, Kunstlicht und seit zwei Tagen keinen Schritt an der frische Luft haben ihre Spuren hinterlassen – zum Glück findet heute Abend die Pool Party am Mandalay Beach statt, da werden die Batterien wieder geladen…

Nun aber zu den wichtigsten bisher rausgeschälten Neuerungen von SharePoint und Office 2010: es sind deren viele! Darum an dieser Stelle eine ausgewählte Essenz:

Services – und wie sie uns dienen werden…

SharePoint 2010 wartet mit einer ganzen Serie von neuen Office Client Services auf. Die bereits bekannten Excel Servcies haben mit den Word, PowerPoint, Visio und Access Services massiven Zuwachs bekommen. Diese Services ermöglichen die webbasierte Darstellung und (limitierte) Bearbeitung der entsprechenden Dokumente, eine Client-Installation ist also nicht mehr in jedem Fall zwingend notwendig. Die Beareitung ist allerdings limitiert auf eine beschränkte Menge der in den Client-Versionen zur Verfügung stehenden Möglichkeiten, reicht für den täglichen Einsatz wohl trotzdem relativ weit.
Es dürfte künfitg also durchaus Szenarien geben, wo die Installation der Office Suite für gewisse Benutzer oder Geräte nicht mehr notwendig sein wird, wodurch sich Lizenzkosten optimieren und einsparen lassen Des weitern wird all den Amazonas-Internet-Café-Besuchern beim Betreten des als Internet-Café deklarierten Raums ein entspanntes Lächeln über das Gesicht huschen. Das ist doch echte Freiheit!

Aus all den Services sind mir zwei besonders aufgefallen: Visio und Access Services.
Visio Services ermöglichen, einfacher als je zuvor, die Visualisierung von Visio Zeichnungen angereichert mit Live-Daten. Ob Produktionsprozesse, Sales-Team Performance oder Produktabsatz pro Region, solche eher trockenen Auswertungen lassen sich sehr rasch und einfach visuell ansprechend aufbereitet darstellen.
Die Access Services bieten vor allem für Unternehmen, die viele Access Datenbanken in Betrieb haben, eine erfolgsversprechende Zukunft. Access Datenbanken können damit in SharePoint überführt werden und erhalten so eine gesicherte Existenz, fernab der chaotischen und SLA losen Zustände. Auf jeden Fall ein ganz heisses Thema!

Zusammengefasst bieten Office und SharePoint 2010 mit den neu verfügbaren Servcies grossen Mehrwert für eine breite Benutzerbasis und werden auch eine direkte Betriebskostenreduktion ermöglichen.

Co-Authoring – echte Zusammenarbeit wird endlich möglich…

Lange haben wir darauf gewartet! Und genausolange auch darunter gelitten, dass es nicht möglich war: das gleichzeitige Bearbeiten ein und desselben Dokuments, genannt Co-Authoring.

Wer kennt das Szenario nicht. Es soll beispielsweise eine Offerte erstellt werden, an deren Inhalt verschiedene Personen arbeiten. Nun erstellt jeder für sich, optimalerweise noch lokal auf seinem Gerät, ein Arbeitsdokument, wo er seine Inhalte erfasst. Zu einem gewissen Zeitpunkt werden die Dokumente schliesslich in ein einziges Dokument – die Offerte – zusammengeführt. Eine mühsame, aufwändige und fehleranfällige Arbeit, die schon manche Nacht als Tribut gefordert hat.

Dies hat nun ein Ende. Co-Authoring steht in Word, Excel und PowerPoint 2010 zur Verfügung und funktioniert so einfach, dass man zuerst gar nicht realisiert, was wirklich geschieht. Öffnet ein Benutzer ein Dokument, das bereits durch einen anderen Benutzer bearbeitet wird, dann wird automatisch der Co-Authoring Modus aktiviert. In der Statuszeile sieht man dann, wie viele und welche Benutzer zur Zeit das Dokument bearbeiten und kann mit diesen auch gleich mittels EMail oder Instant Messaging in Kontakt treten. Die Beareitung selbst erfolgt auf Absatzbasis und das Dokument wird jeweils beim Speichern mit den neuesten verfügbaren Änderungen der anderen Benutzer aktualisiert. Klingt einfach – ist es auch!

Co-Authoring wird unsere künftige Zusammenarbeit in Dokumenten daramatisch vereinfachen. Für Excel wird Co-Authoring sogar mit den Excel Services webbasiert möglich sein, erfordert also nicht einmal einen installierten Client. Der Amazonas-Internet-Café-Besucher lässt freudig grüssen…

Document-Sets und Enterprise Ready ECM

Auch im Bereich ECM hat sich mit SharePoint 2010 einiges getan. Zusammengefasst darf mit ruhigem Gewissen gesagt werden, dass SharePoint in dieser Domäne endlich erwachsen geworden ist.

Eine Vielzahl von Neuerungen, unter anderem in den Bereichen Metadatenverwaltung, Taxonomie, Compliance, Records Management und Dokument-Handling (Pascal wird dazu wohl noch mehr berichten) machen SharePoint 2010 erstmals ohne Ergänzung mit Drittprodukten zu einer Enterprise Ready ECM Lösung.

Eine sehr interessante Funktion sei an dieser Stelle herausgegriffen: Document Sets. Diese ermöglichen es, Dokumente in einer Art Dossier zusammenzufassen und das Dossier als eigene Entität zu handhaben. So kann das Document-Set als ganzes beispielsweise im Rahmen eines Geschäftsprozesses freigegeben oder archiviert werden. Das Document-Set bzw. Dossier selbst hat dabei auch definierbare Metadaten und kann dem Benutzer erweiterte, Kontext-abhängige Informationen zur Verfügung stellen.
Dies eröffnet ganz neue Möglichkeiten in der Verwendung von SharePoint, ohne dass dazu aufwändige und inkonsistente Erweiterungen vorgenommen oder Drittprodukte installiert werden müssen.