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.