Kategorien
Navigationslinks überspringen
MS SQL Server
SharePoint
Sonstiges

SharePoint 2010 Lokalisierung - Trick 1
Eine Lokalisierung kann wie schon in der vorherigen Version über Resource-Dateien im "{SharePointRoot}\Resources\" Ordner realisiert werden.
 
Im neuen Visual Studio 2010 fügt man dazu einfach einen Mapped Folder in die Solution ein und anschließend die entsprechenden Resource-Dateien.
Damit das ganze auch in der SharePoint Solution(*.wsp) mit eingepackt werden kann, muss die Build Action auf Content umgestellt werden. Dadurch landen die .resx Dateien in der SharePoint Solution und werden mit installiert.
 
Für detaillierte Informationen über das Einbinden ist der folgende Beitrag von John W Powell zu empfehlen: 
 
 
Wenn man nun aber im Code selbst auf diese Resourcen zugreifen möchte, gibt es ein Problem. Da die Build Action auf Content gestellt ist, um vom Package-Automatismus erkannt zu werden, wird die Resource nicht in die DLL mit eingebunden und es kommt zu einer Fehlermeldung während der Benutzung der Controls o.ä.
 
Eine Quick & Dirty Lösung ist folgende:
Die .csproj Datei öffnen und folgendes XML(grün) in die ItemGroup der Resource-Dateien hinzufügen.

  <ItemGroup>
    <Content Include="Resources\MyResource.de-DE.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>MyResource.de-DE.Designer.cs</LastGenOutput>
    </Content>
    <Content Include="Resources\MyResource.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>MyResource.Designer.cs</LastGenOutput>
    </Content>
    <EmbeddedResource Include="Resources\MyResource.de-DE.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>MyResource.de-DE.Designer.cs</LastGenOutput>
    </EmbeddedResource>
    <EmbeddedResource Include="Resources\MyResource.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>MyResource.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>

Die Änderung speichern und das Projekt in Visual Studio neu laden. Jetzt kann deployed werden. Die .resx Dateien landen wie geplant in der .wsp Datei und werden in die DLL eingebunden.
 
Eine andere Lösung wäre der Einsatz vom WSPBuilder für Sharepoint 2010.
Probleme bei der Installation von SharePoint Server 2010 – Public Beta

Nachdem die erste offizielle Beta von SharePoint 2010 erschienen ist, haben wir diese natürlich auch gleich installiert und getestet. Als Testumgebung haben wir Windows Server 2008 R2 mit SQL Server 2008 verwendet. Der Konfigurationsassistent hat sich dann allerdings geweigert weiter zu arbeiten. Er meinte, es müsste mindestens SP 1 für den SQL Server installiert sein. Das fand ich doch recht hilfreich.

Und wie das Leben so spielt, sind wir erst einmal auch auf die Nase gefallen, weil es ein paar sehr unschöne Probleme gab. Das erste zeigte sich unmittelbar bei der Installation. Der Installationsassistent brach ab, als er die Beispieldaten erstellen wollte und brachte die äußerst schlüssige Mitteilung: „Unrecognized attribute allow Insecure Transport“. Ein Blick in das Log und eine Suche in Google Bing hat dann ergeben, dass dies ein Bug in der WCF ist, welcher mit dem .NET 3.5 SP1 gekommen ist. Der Fix für diesen Bug ist hier verfügbar:
Windows Server R2, Windows Server 2008
Nebenbei, die Beispieldaten wurden trotzdem erstellt.

Danach tauchte noch das Problem auf, dass die Profildaten aus dem Active Directory nicht gelesen werden konnten. Dies lag an den Rechten, die das Konto benötigt, welches die Daten lesen soll. Das Active Directory muss folgendermaßen eingerichtet werden. Ich gehe davon aus, dass für den Profilimport ein dediziertes Konto verwendet wird, als Beispiel soll Beispiel\sp_AdImport dienen.

1.    Öffnen Active Directory Nutzer und Computer
2.    Rechtsklick auf die Domain und „Objektverwaltung zuweisen…“ auswählen
3.    Klick auf “Weiter”
4.    Klick auf “Hinzufügen”
5.    Das Konto auswählen für den Import wählen, z.B. Beispiel\sp_AdImport
6.    Klick auf “Ok“
7.    Klick auf “Weiter”
8.    „Benutzerdefinierte Tasks zum Zuweisen erstellen” auswählen
9.    Klick auf “Weiter”
10.  Auswählen von „Diesem Ordner, bestehenden Objekten in diesem Ordner…“
11.  Klick auf “Weiter”
12.  Bei „Berechtigungen“ „Verzeichnisänderungen replizieren“ auswählen              
13.  Klick auf “Weiter”
14.  Klick auf “Fertigstellen”
Natürlich muss dann noch in SharePoint der Profilimport mit dem entsprechenden Konto konfiguriert werden.

Hier noch einmal die Produktschlüssel, welche zum installieren der Beta verwendet werden können. Ich hatte einige Probleme, diese auf der Downloadseite zu finden:
PKXTJ-DCM9D-6MM3V-G86P8-MJ8CY
BV7VC-RMR6B-26P6Y-BTQDG-DX2KQ

Vierter und letzter Tag

Jetzt ist es schon wieder vorbei. Diese vier Tage waren sehr anstrengend, aber es hat sich wirklich gelohnt. Jede Menge neue Infos, neue Kontakte, neue Sichtweisen. Ich freue mich auf  kommende SharePoint 2010 Trainings und Projekte! Da es heute nur bis zum  Mittag ging, gibt es auch weniger Sessions.

 

Upgrading your Website to SharePoint 2010

 

Die gute Nachricht zuerst: ein Upgrade zu 2010 wird weit weniger schmerzhaft sein, als seinerzeit ein Upgrade zu 2007. Aber ganz ohne Blessuren wird es wohl doch nicht abgehen. Zuerst sollte man natürlich schauen, ob sämtlicher Code auch unter 2010 läuft. Vorher ist an ein Upgrade eh nicht zu denken. Weiter sollte man den PreUpgrade Checker laufen lassen, welcher ein neues Kommando für stsadm ist und mit den ServicePack 2 für SharePoint 2007 gekommen ist. Nach dem Update sollte die Oberfläche weitgehend unverändert sein, lediglich das Websitemenü sieht anders aus. Die Umstellung auf das neue Design muss von Hand erfolgen. Um die Ribbonbar in eine existierende Masterpage einzufügen, muss nur ein JavaScript eingebunden und ein Control registriert werden. Seitenlayouts sollten ohne Probleme übernommen werden.

 

Übrigens war dies die erste Session, wo etwas nicht wie geplant funktionierte. Was eigentlich verwunderlich ist, da die Präsentationen ja alle auf einer noch frühen Beta gehalten wurden. Probleme hat auch weniger SharePoint gemacht, als der SharePoint Designer. Ach ja,  hatte ich eigentlich schon erwähnt, dass es jetzt auch sitebasierende Workflows gibt? Außerdem kann der Content Query Webpart jetzt viel einfacher angepasst werden, es können viel mehr Felder angezeigt werden.

 

Managing and Sharing Digital Assets in SharePoint 2010

 

Auf diese Session habe ich mich auch sehr gefreut. Digitale Inhalte gewinnen immer stärker an Bedeutung, im Jahr 2013 werden laut der Gartner Group 25% der relevanten Inhalte in Video, Ton, Bild oder Mischformen vorliegen.

 

Die Verwaltung von Mediendaten in 2007 war ja nicht unbedingt ideal. In 2010 gibt es dafür jetzt einen eigenen Typ von Bibliotheken, die Asset Libary. Diese verhält sich erst einmal wie eine normale Dokumentbibliothek, bietet aber zusätzlich noch Dienste zum verwalten von Mediendateien an. Praktisch ist, dass EXIF Daten aus Bildern mit indiziert werden und man danach suchen kann. Die Bilder können dabei per Drag & Drop importiert werden.

 

Weiter kann man Videos per Silverligt direkt aus dem Browser abspielen. Darüber hinaus wird auch ein Support für Podcasts geboten.

 

Building Service Applications for SharePoint Server 2010

 

Die Share Service Provider (SSP) waren eine große Verbesserung in 2007, aber sie sind sehr unflexibel und auch nicht erweiterbar. Service Applications sind das neue Servicemodell. Sie erlauben Services à la Carte, bei 2007 hieß es ja alles oder nichts. Außerdem sind sie jetzt unter anderem in der Foundation verfügbar. Dazu gibt es auch gleich ein paar neue Begriffe:

 

-        Service
Ist ein Programm, welches auf dem Server verfügbar ist.

-        Service Machine Instance
Ist die aktuelle Instanz einen Services.

-        Service Application
Ist eine Konfiguration des Servers in der Farm.

-        Service Applications Proxy
Ist eine Referenz zu der Service Application.

-        Service Costumer
Ist ein Programm, welches die Service Logik benutzt. Dies kann ein  Webpart oder auch ein PowerShell-Programm sein.

 

Verwaltet werden kann das ganze per PowerShell und natürlich auch per Browser. Es wird somit eine einfache, sehr flexible Lösung möglich.

 

Zum Schluß:

 

Wer mal die Office Web Apps live erlauben möchte, der hat jetzt schon Gelegenheit dazu. Und so funktioniert das ganze:

 

-        Wenn nicht vorhanden, Spracheinstellungen des Browsers auf Englisch (En-US) stellen.

-        Sich bei http://skydrive.live.com anmelden

-        Ein Excel 2007 Dokument hochladen.

-        Dem Programm zum Testen der Office Web Apps beitreten und den Bedingungen zustimmen. Der Link befindet sich im oberen Drittel, wenn man in einer Bibliothek steht.

-        Auf das Excel-Dokument klicken und sich freuen :)

 

Was jetzt noch bleibt, ist auf unsern SharePoint Tag 2010 hinzuweisen. Am 04.12.2009 präsentieren wir SharePoint 2010 in Dresden und freuen uns auf rege Diskussionen und Anregungen. Hier gibt es dazu mehr Infos.

 

Und jetzt, jetzt geht es zur Fremont Street.

SharePoint 2010 - Entwicklersicht Tag 3

Ich war im Vortrag zu Visio Services für Entwickler, welcher nicht wirklich überzeugend in der Entwicklung war.

Die Visio-Dateien liegen im SharePoint und können direkt im Browser angezeigt werden. Dies ist über Silverlight meist als Fullscreen dargestellt. Der Visio WebPart kann manuell oder über einen Timer aktualisiert werden. Somit könnte man ein Visio Diagramm für Manager erstellen, welches an eine Datenquelle gebunden ist und KPI ähnlich die Daten bildlich darstellt. Über einen Timer wird dann das Diagramm aller 1 Minute aktualisiert und der Manager hat sein Dashboard mit aktuell aggregierten Daten :-)

 

Vision Mash-up API für Visio

 

Die API ist leider nur in JavaScript verfügbar und kann für Benutzerinteraktionen mit dem Visio Diagramm genutzt werden. Die API stellt ein VwaControl bereit, womit man dann an bestimmte Events wie MouseEnter & MouseLeave kommt. Es ist damit möglich die geklickten Shapes im Visio zu bekommen und dann Daten über eine WebPart Verbindung weiterzugeben. Dieser andere WebPart kann dann zum Beispiel detaillierte Information zum geklickten Gegenstand über AJAX nachladen.

Im Grunde werden sehr viele Datenquellen out-of-the-box unterstützt. Benötigt man aber eine ganz eigene, zum Beispiel das auslesen einer XML Datei, dann ist es möglich einen Visio Data Provider in C# zu schreiben und diesen über eine WSP in der Zentral Administration zu installieren.

 

REST und LINQ in SharePoint

 

Benutzt man den REST Service in SharePoint, so kann man recht einfach und ressourcensparend SharePoint Listdaten abfragen. Es ist auch möglich Excel Spreadsheets oder direkt Bilder aus Excel über REST zu holen.

Die URL Syntax:

Site/_vti_bin/ListData.svc/{Entity}[({identifier})]/[{Property}]

Hat man nun 2 Listen mit den Namen „Projekte“ und „Kunde“ so kann man über REST dies folgendermaßen realisieren.

Site/_vit_bin/ListData.svc/Projekte?$expand=Kunde$top=10

Diese Url holt also alle Projekte mit ihren entsprechenden Kunden und beschränkt das auf maximal 10 Rows.

 

Social Applications in SharePoint

 

SharePoint hat nun ein paar schöne Sachen in der MySite. Um programmatisch mit den Daten eines Users arbeiten zu können, gibt es 2 Webservices und 1 Feed. Social computing erreicht SharePoint ja durch seine Tags, die man an alle Elemente hängen kann, und auch die Kommentarmöglichkeit zu diesen Tags.

UserProfileService.asmx 

·        Die Profile Eigenschaften holen und bearbeiten

·         Den gemeinsamen Manager in Betrachtung mit einem anderen Kollegen holen

·         Gemeinsame Kollegen holen

·         Gemeinsame Daten holen, z.B. die Dokumente des Teams, in dem ich arbeite, anzeigen lassen

·        Vieles mehr…

SocialDataService.asmx

·        Tags von einem Element über die URL holen -> GetTagTermsOnUrl

·        Kommentare und Tags können über diesen Service gemanaged werden

·         Vieles mehr…

Der Aktivitäts RSS Feed

 

Über eine Instanz von der Klasse SPServiceContext kann man den ActivityManager erstellen. Dieser wiederum liefert die Aktivitäten zu einem Benutzer zurück.

Verbindet man diese Daten zu einer aggregierten Sicht, dann kann man damit echt tolle Übersichtsseiten für sich selber kreieren. Doch da gibt es noch etwas.

 

Benutzerprofiländerungen

 

Bei der Standardkonfiguration werden die Profiländerungen 15 Tage lang gespeichert. Dies ist in der ZA anpassbar. Nimmt man ein UserProfileChangeToken, dann kann man die UserProfileChangeQuery damit befüllen und erhält alle Änderungen der letzten 15 Tage.

 

Es gab noch weitere Vorträge zu Applikationen in SharePoint mit Linq to SharePoint und REST und Entwicklung mit Silverlight 3. Ich werde morgen wieder von den Sessions berichten und nach der Messe ein schönes Beispiel für den Silverlight Einsatz in eigenen Fieldtypes schreiben. In einer Session wurde ein eigener FieldType geschrieben, welcher ein Silverlight Control in sich geladen hat. Dieses Silverlight Control konnte dann Videos aus SharePoint Listen laden. Im DisplayModus sah man nur das Video und im Edit Modus die Videoauswahl mit Vorschau. Gebunden war das Feld dann an eine Seite.

SharePoint 2010 - Entwicklersicht Tag 2

Am heutigen Tag besuchte ich die Session „Advanced WebPart Development“. Die Änderungen bezüglich WebPart Entwicklung sind folgende:

 

-          Mehr Funktionen für die ASP.NET WebParts

-          Versionierung der WebParts entsprechend der Seite

-          AJAX Connection zwischen WebParts

-          Client Object Modell

-          Client Object Modell

-          Sandboxed Solutions

Im Visual Studio gibt es ja jetzt den sogenannten Visual WebPart, der im Prinzip nur ein UserControl (.ascx) erstellt, welches vom WebPart reingeladen wird. Leider ist dies bei einer Sandboxed Solution nicht möglich, da UserControls ja gewöhnlich im File System liegen. Daher gibt es die Möglichkeit das UserControl vorzukompilieren und in die Assembly einzubinden.

Microsoft hat hierfür einen schönen Artikel geschrieben: http://msdn.microsoft.com/en-us/aa479318.aspx

Zurzeit ist es nicht möglich das UserControl als eingebettete Resource in die Assembly zu legen und diese dann zu laden, wenn man sich in der Sandboxed Solution bewegt.

WIKI Seiten

WebParts können nun direkt in Wiki Content gelegt werden :-) Dafür sind keine WebPart-Zonen nötig. Microsoft löst das, indem im PageLayout der Wiki-Seite eine versteckte WebPart-Zone, mit dem Namen „wpz“, definiert wird. Löscht (lediglich entfernen) man einen WebPart aus dieser Seite, dann steht im Sourcecode leider noch der Div-Container als Platzhalter für den WebPart. Somit sollte man bei Javascript Client OM mit den ID’s aufpassen.

AJAX Nutzung

Ajax ist im SharePoint 2010 komplett im System integriert. Die clientseitigen Verbindungen zwischen WebParts werden also direkt über die AJAX API von Microsoft realisiert. Contributern ist es nicht mehr erlaubt Javascript in vollem Umfang zu Nutzen, weil in AJAX Verbindungen und die WebPart-Eigenschaften als Cross-site Scripting genutzt werden könnten. Die  WebPart-Eigenschaften werden dem Contributer nicht mehr angezeigt!

Aus diesem Grund gibt es nun 2 neue Attribute:

RequiredDesignerPermissionAttribute: Bestimmt, ob eine Eigenschaft nur dann angezeigt und bearbeitet werden darf, wenn der aktuelle Nutzer in der Designerrolle ist.

 

SafeAgainstScript: Bestimmt, ob die Eigenschaft als „Sicher“ markiert wird und somit vom Contributer nutzbar ist. Dieses Attribut hat nur dann Wirkung, wenn die oben genannte Eigenschaft auf „false“ steht.

SharePoint 2010 Applikationen mit dem Client Object Modell

 

Das Client OM ist für .NET CLR, Silverlight und Javascript verfügbar. In SharePoint gibt es viele Stellen in denen jetzt mit DataContext’s gearbeitet wird. Die Client API hält dafür die ClientContext Klasse bereit.

ClientContext context = new ClientContext(string siteurl);

Web site = context.Web;

// Seite laden

context.Load(site);

contex.ExecuteQuery();

// Objecte ändern

site.Title = “Seiten Titel gehackt ;)”

site.Update();

// Änderungen hochspielen

context.ExecuteQuery();

 

Für JavaScript und Silverlight gibt es an Stelle der ExecuteQuery(synchron), die Methode ExecuteQueryAsync(delegate ErfolgreichCallback, delegate FehlgeschlagenCallback).

Syntax im JavaScript

_spBodyOnLoadFunctionNames.push(„Initialize“);

var glSite;

var glContext;

 

function Initialize

{

                glContext = SP.ClientContext.get_current();

                // Context.Load, Context.ExecuteQueryAsync ausführen

               

}

 

In den Sessions gab es noch einige weitere Geschichten, wie zum Beispiel Best Practices für die Entwicklung, die sich allerdings nicht von den SharePoint 2007 Best Practices unterschieden haben.

 

Der dritte Tag

Die Party gestern Abend war ganz nett, allerdings sind Halbschuhe aus Leder für eine Strandparty denkbar ungeeignet ;)

 

Using Enterprise Content Types and managed Taxonomies in SharePoint 2010

Taxonomien und Inhaltstypen sind beide Konzepte, denen mein großes Interesse gilt. Gleichzeitig sind sie die Grundpfeiler einer erfolgreichen SharePoint Einführung. Logisch, dass ich diese Session besuchen musste. Los ging es mit dem neuen Publishing Contenttyps. Dabei gibt es eine Webanwendung, in welcher die Inhaltstypen erstellt und gepflegt werden. Dies ist der Hub für andere Webanwendungen, welche sich zum Hub verbinden können. Damit wird es möglich, für Inhaltstypen einen zentralen, einfach zu wartenden Speicher zu haben. Publiziert werden dabei der Typ des Inhaltstyps, seine Spalten und die Bindungen zu den verbundenen Workflows. Die Workflows selber werden nicht publiziert!

Um eine zentrale Taxonomie zu gewährleisten, gibt es jetzt einen zentralen Provider, in welchem ich Terminologien sowie deren Synonyme und anderssprachigen Entsprechungen verwalten kann. In einer gezeigten Demo wurde Inhalt mit Tags aus dem Taxonomie Store versehen und anschließend die Sprache von Englisch in Japanisch geändert. Die Metadaten wurden komplett in Japanisch angezeigt. Hoffen wir mal, das alles stimmte, prüfen konnte ich es nicht. Nebenbei, der Sprecher war wirklich gut. So eine Session hätte ich gerne öfters :)

 

Customizing Enterprise Wikis in SharePoint 2010

Wikis in SharePoint 2007 erfreuten sich nicht unbedingt einer großen Begeisterung. Dies lag auch, aber nicht nur, an der nicht unbedingt intuitiven Bedienung. Was nicht heißen soll, dass das Wiki schlecht ist!

Das neue Enterprise Wiki ist ein Bestandteil des SharePoint Servers. Dies auch deshalb, weil es auf der Publishing Infrastruktur aufsetzt, welche im SharePoint Server vorhanden ist. Ob es auch in der Foundation vorhanden sein wird, ist mir nicht bekannt, ich glaube es aber eher nicht.

Das Wiki kann alle Vorteile nutzen, die das Publishing bietet und es kann mit dem SharePoint Designer angepasst werden. Gut, das ging auch schon vorher, aber es war alles nicht lustig.

Es ist jetzt ein echtes InPage Editing möglich, Bilder können sofort  hochgeladen werden. Wenn ein Link zu einer anderen Wikiseite eingefügt werden soll, genügt die Eingabe von zwei geschweiften Klammern [[ und es erscheint ein kleines Fenster, in welchem alle schon vorhandenen Artikel angezeigt werden. Praktisch. Die Kategorien des Wikis werden über Metadaten realisiert. Alles in allem machte das Wiki einen recht ausgereiften Eindruck. Übrigens war das Thema des Wikis Bier, also ein Cervezapedia :)

 

Building an enterprise knowledge management solution on SharePoint 2010

Wissensmanagement ist ein weites Feld, dementsprechend gespannt war ich auf die Session. Die Herausforderung beim  Wissensmanagement mit SharePoint liegt vor allem darin, dass viele Benutzer mit unterschiedlichen Sichtweisen an den gleichen Daten arbeiten. So werden die gleichen Dokumente u.a. von mehreren Teams bearbeitet, welche alle eine ganz andere Intention haben. Gleichzeitig muss die Teilnahme am Wissensprozess einfach und schnell sein. Tagging und Kommentare müssen einfach zu erfassen und auffindbar sein. Mit diesen Metainformationen findet SharePoint die gewünschten Objekte wieder. Über den Content Query Webpart ist es auch möglich, sich verwandte Elemente anzeigen zu lassen. Über Richtlinien können Ablaufdaten u.a. für einzelne Informationen verwaltet werden.

So schön die ganzen neuen Möglichkeiten sind, Microsoft spricht vom Wissensmanagement 2.0, die sorgfältige Planung eines solchen Projektes bleibt niemandem erspart. Metadaten sind der Schlüssel zum Erfolg. Ohne diese nützt auch die beste Software nichts.

 

Solving Information Chaos: Advanced Content Processing with FAST Search for SharePoint

FAST ist ein Produkt, welches Microsoft erworben hat, um die SharePoint Suche zu verbessern. Für die, die FAST kennen, war nichts wirklich Neues dabei. Aber faszinierend ist es doch immer wieder zu sehen, was alles geht. So unterstützt FAST, nur mal als Beispiel, Dokumentenvektoren, welche automatisch verwandte Dokumente finden. Oder es gibt Sprachnormalisierung. Dabei wird, z.B. wenn ich nach Car suche, auch automatisch nach Auto gesucht. FAST übersetzt quasi den Begriff im Hintergrund und führt eine Suche durch. Was mir auch sehr gefallen hat, war die Integration in SharePoint. Und die Verwaltung der gecrawlten Metadaten wurde verbessert. Das ist doch mal schön zu sehen :) Man könnte hier noch viel schreiben, dass würde allerdings den Rahmen sprengen; ich verweise an dieser Stelle auf die Webseite von Fast.

 

SQL Server Best Practices for SharePoint Deployments

Nun gut, darüber kann man eigentlich wenig schreiben, da sich SharePoint 2007 und 2010 dahingehend wenig unterscheiden. Neu war nichts, aber es war mal eine schöne Auflistung. Und, wie ich fand, gut präsentiert. Auch wenn der Raum dermaßen kalt war, ich dachte, ich sitze im Kühlhaus :(

Zweiter Tag, mehr Sessions und 80er Jahre Party am Abend.
What’s New in Business Connectivity Services (Evolution of BDC!)
Wer meinen gestrigen Beitrag gelesen hat, der weiß auch, warum ich in diese Session gehe. Die Integration externer Daten in SharePoint ist ein äußerst interessantes Thema und natürlich möchte ich wissen, was da in 2010 auf uns zukommt.  Das Beste zuerst:  Die Business Connectivity Services oder abgekürzt BCS stehen auch in der SharePoint Foundation zur Verfügung. Die Windows SharePoint Services gibt es ja nicht mehr (dem Namen nach), sie wurden umbenannt in SharePoint Foundation. Das bedeutet, auch in der kostenfreien Version kann man jetzt sehr einfach externe Daten integrieren! Dazu erstellt man im SharePoint Designer einen sogenannten externen Inhaltstyp, welcher sich mit einer Datenquelle verbindet. Dieser Inhaltstyp besteht intern aus einem XML File und enthält alle Definitionen, welche benötigt werden, um eine Datenquelle abzurufen und auch zu schreiben! Das heißt, man kann in SharePoint Daten ändern, welche in einer externen Datenquelle liegen. Der neue Inhaltstyp wird einem ebenfalls neuen Typ von Liste, Externe Liste genannt, zugeordnet. Damit können die Daten in SharePoint bearbeitet werden, wie alle anderen Daten auch.
 
Growing SharePoint from small libraries to large scale repositories and massive archives
In der zweiten Session ging es um die Verwaltung sehr großer Dokumentmengen. Und sehr groß heißt sehr groß. Man spricht dabei von hundert Millionen Dokumenten, welche sich auch in einer Bibliothek befinden können. Die Frage ist nun, wie lässt sich eine solche Datenmenge einfach und schnell strukturieren und vor allem auch durchsuchen?  Benutzt wird dafür der Metadata Datastore. Darunter ist eine hierarchische Struktur zu verstehen, in welcher die benötigten Metadaten gespeichert werden. Dieser Datastore ist unabhängig von der Webanwendung, er kann sogar in mehreren Farmen gleichzeitig verwendet werden. Eine ausgezeichnete Möglichkeit, Daten miteinander zu verbinden, unabhängig, in welcher Bibliothek sie liegen. Damit werden auch virtuelle Ordner möglich. SharePoint kann dem Bearbeiter eines Dokumentes auch Vorschläge unterbreiten, welche Schlagworte verwendet werden sollen. Ach, und bevor ich es vergesse, eine Möglichkeit, um Dokumente zu bewerten, gibt es jetzt auch. Das hatten viele Kunden in der Vorgängerversion vermisst.
 
Introduction to Excel and Excel Services 2010, and the Top 10 New Features you Must Know!
Als nächstes hatte ich mir die Neuigkeiten in Excel und Excel Services vorgenommen. Da ist ja schon einiges aus den Sneak Peeks bekannt, so zum Beispiel die Sparklines und Slicer. Überrascht waren viele von den neuen Suchfunktionen, mit welchen man aus einem Diagramm heraus eine Pivottabelle filtern kann. Genau, das Diagramm filtert die Tabelle. Interessant war auch die Integration von REST. Damit wird es möglich, einzelne Bestandteile eines Arbeitsblattes an anderen Stellen zu verwenden. Dabei wird ein Objekt, z.B. eine Grafik, eindeutig mit einer URL identifiziert und kann damit in anderen SharePoint Seiten oder anderen Office Anwendungen verwendet werden.
 
Multi-user authoring with Office 2010 and the Office Web apps
Auf diese Session hatte ich mich am meisten gefreut und wurde auch nicht enttäuscht. Mit SharePoint 2010 wird es nun möglich, dass mehrere Benutzer gleichzeitig an einem Dokument arbeiten. Dabei ist es unerheblich, ob das Dokument in den Office Web Apps oder im Office Client geöffnet und bearbeitet wird. Bei OneNote werden die Änderungen auch sofort repliziert, ohne dass der Benutzer eingreifen muss. Bei Word, Excel und PowerPoint hingegen muss der Benutzer erst das Dokument speichern, um die Änderungen zu sehen. Wenn ein Benutzer A einen Absatz editiert, wird dieser Absatz bei allen anderen Benutzern gesperrt, bis der Benutzer gespeichert und damit die Änderungen sichtbar gemacht hat. Die Änderungen kann der Benutzer granular annehmen, ablehnen oder auch nur einzelne Teile davon übernehmen. Irgendwie habe ich den Verdacht, das wird die Arbeit im Team stark verändern ;)
 
Building Applications with InfoPath and SharePoint Designer 2010
Hier wurden die Neuigkeiten von InfoPath 2010 vorgestellt. Es hat jetzt ebenfalls die neue Ribbon Oberfläche, was die Arbeit wirklich erleichtert. Der Eindruck, den ich aber auch bei meinen bisherigen Tests hatte, hat sich hier bestätigt: So viel ist leider nicht passiert :( Es gibt zwar neue Controls, z.B. ein PeoplePicker und ein Picturebutton, aber spektakulär ist es nicht. Als Anwendung wurde eine interne Beschaffung gezeigt. Nicht schlecht, aber das habe ich auch schon besser gesehen ;)
 
Und jetzt freue ich mich auf die 80er Jahre Party.
SharePoint 2010 - Entwicklersicht Tag 1

Hallo mein Name ist Cedric Oettel , Lead Developer bei der datafino GmbH. Diese Woche werde ich über die Neuerungen bei der Programmierung von SharePoint 2010 Anwendungen berichten.

Was ist neu?

BDS, SharePoint Foundation, Packaging und Solution Designers, Sandboxed Solutions, Linq to SharePoint, Client Object Model, External ContentTypes und External Lists, Developer Dashboard, XSLT Views für Listen, REST API, Silverlight 3 Integration, Visio in SharePoint

Visual Studio Tools

Die Visual Studio Tools für SharePoint sind im neuen Visual Studio 2010 voll integriert. Durch diese Tools werden grundlegende  Schritte in der SharePoint Entwicklung erleichtert.

·        WebPart, BDS und Workflow Designer

·         Package und Deploy Designer

·         Vorlagen für SharePoint Projekte und Elemente (Inhaltstypen, List Definition,…)

·        Initiation und Association Form Generierung im Workflow Designer

·         Bildpicker welcher auch auf dem SharePoint Server schaut

·         Und ein paar Sachen mehr…

 

Es gibt also sehr viele schöne Features die jetzt im Visual Studio 2010 für die SharePoint Entwicklung integriert sind. Fast alles ist jetzt so organisiert, dass man keine XML Dateien mehr bearbeiten muss, sondern sich über Wizards und UI die Features und die Solution „zusammen klickt“.

Hat man eine Solution(.wsp Datei) fertig, kann man via F5 spielend einfach Debuggen. Visual Studio packt die Solution, installiert sie in SharePoint, aktiviert Features und ähnliches und hängt den Debugger an. Dies geht rasend schnell und man muss nicht mehr 10 manuelle Schritte durchführen.

Wenn man WebParts entwickelt, hatte man ja oft das Problem, dass man die alten WebPart Dateien in der Site löschen musste. Visual Studio erledigt dies voll automatisch! Es gibt noch einige andere coole und zeitsparende Features für die SharePoint Entwicklung in Visual Studio 2010.

Ein paar Erläuterungen

SharePoint Foundation: Ist der Kern von SharePoint, also bekannt als WSS.

BDS (Business Data Services): Ist die Weiterentwicklung vom Business Data Cataloge und ist in der SharePoint Foundation enthalten.

Linq to SharePoint: Ist ein Linq Provider für SharePoint indem Joins zwischen SharePoint Listen möglich sind.

External ContentTypes and External Lists: Mit den Business Data Connectivity Services kann man im Visual Studio Data Entities erstellen, die dann im SharePoint als „externe Inhaltstypen“ installiert werden. Diese können dann ausgewählt werden, wenn man eine „External List“ erstellt und sie repräsentieren dann die Datenquelle (zum Beispiel eine Datenbanktabelle). Das wichtige hier ist, dass man read & write hat! Das heißt, man kann selber die SharePoint-Update-, Neu- und Löschen-Funktionen steuern. Lässt man also eine Implementierung von Löschen weg im DataEntity, so wird der Löschen Button im Ribbon ausgegraut, wenn man sich in der Listenansicht befindet.

XSLT Views für Listen: Listenansichten werden nun über XSLT generiert und lösen somit die CAML Views von WSS 3.0 ab. Sie sind schneller und einfach im SharePoint Designer zu erstellen.

Silverlight Integration: SharePoint liefert nun einen WebPart mit, in dem man Silverlightanwendungen laden lassen kann. Des Weiteren gibt es einen Media Player WebPart, welcher Videos aus Bibliotheken streamt! Sehr feine Sache :-)

Es gibt noch viele, viele Sachen, die man jetzt auflisten könnte, aber ich werde mir nur einzelne Themen heraussuchen und Beiträge dazu schreiben.

Das erste Thema werden „Sandboxed Solutions“ sein:

Was ist eine Sandboxed Solution?

Eine Solution die als „Sandboxed“ markiert ist unterscheidet sich absolut nicht von einer normalen Farm Solution. Lediglich in der Assembly.cs steht ein Eintrag extra drin.

SharePoint wird die Sandboxed Solution nicht wie gewohnt in der Zentraladministration installieren, sondern dies geschieht jetzt SiteCollection weit. Die WSP Datei wird also in die Datenbank geschrieben und über eigene Worker Prozesse gemountet.

Was bringt das für die Entwicklung?

Sandboxed Solutions laufen, wie der Name schon sagt,  in einer begrenzten Sandkastenspielgrube. Daher gibt es nur einen bestimmten Teil von Microsoft.SharePoint der in der Sandbox funktioniert. Über Code Access Security Policies wird die Funktionalität eingeschränkt.

Sandboxed Solutions sind als Solutions die eingeschränkt in Zeit, Ressourcen und Funktionalität sind. Sie können von IT Professionals überwacht und geblockt werden und bieten somit eine Art der Entwicklung die das SharePoint System auf dem sie laufen nicht beeinträchtigen kann.

Was kann überwacht werden?

Über die Zentraladministration hat man die Möglichkeit fehlerhafte oder stark ressourcen-ziehende Solutions zu blocken. Man kann Quota Vorlagen erstellen, welche die minimale und maximale Auslastung beschreiben.

Was passiert, wenn eine Solution fehlerhaft ist?

Wenn ein WebPart länger als 30 Sekunden lädt, wird der Worker Prozess zerstört und eine Fehlermeldung auf der Seite dargestellt, welche einen Timeout erklärt.

Überschreitet die Anwendung die Resourcengrenzen oder werden SharePoint Methoden aufgerufen, die in diesem Kontext nicht erlaubt sind, passiert das gleiche mit entsprechenden Fehlermeldungen auf der Seite.

Was kann programmiert werden?

ProxyOperations sind eine Möglichkeit spezifische Daten im Full-Trust zu bekommen.

Durch SolutionValidator kann man alle Solutions, die hinzugefügt werden, auf eigene Logik überprüfen. Zum Beispiel durchläuft man einfach die SolutionFiles und checkt ob ein böser Code drin steht. Oder man prüft ob diese Solution vom eigenen Entwicklerteam kommt, indem Signaturen verglichen werden.

Schlusswort

Nach der Konferenz werde ich einen Artikel mit Fallbeispiel zum Thema „Sandboxed Solutions „ hier in den Blog stellen. Ich hoffe ich konnte eine kurze Übersicht zum Thema Entwicklung in SharePoint 2010 zeigen und bin schon auf die nächsten Themen gespannt.

Tag Eins

Heute der erste „echte“ Eintrag von der Konferenz. Steve Ballmer eröffnete die Konferenz mit einem kleinen Bericht über seine Aktivitäten am Morgen und was diese mit SharePoint verbindet. Interessanter waren allerdings die Demos, welche während der Keynote Session gezeigt wurden. Am meisten beeindruckten mich die Business Connectivity Services, die Evolution des Business Data Catalogs von MOSS 2007.

In dieser Demo wurde in SharePoint eine Entität zu einer Datenbanktabelle erstellt, welche sich im SQL Server befand. Anschließend wurde im SharePoint Designer 2010 ein Inhaltstyp erstellt und mit der Entität verbunden. Wird dieser Inhaltstyp nun einer Liste hinzugefügt, stehen in der Liste alle Tabelleneinträge aus der Datenbank zur Verfügung. Diese Liste, und damit die Datenbanktabelle, wurde mit Outlook als Kontaktdaten synchronisiert. Im Folgenden änderte Herr Ballmer im Outlook(!) einen Eintrag und die Änderung wurde unmittelbar in der Datenbank und in SharePoint repliziert. Eine vollständig integrierte Lösung.

Anschließend habe ich drei Sessions besucht:
1.)
What‘s new for IT Pros
2.) Overview of Visio Services
3.)
Project Server 2010 Overview

Spannend war in der ersten Session eine Dokumentenbibliothek mit über 100.000.000 (in Worten hundert Millionen) Dokumenten, welche praktisch ohne Wartezeit durchsucht und gefiltert werden konnte. Dabei wurde auch die neue, metadatenbasierende Navigation benutzt. Versprochen wurde auch, dass das Upgrade von 2007 reibungslos funktioniert. Mit 2003 haben wir da ja ganz eigene Erfahrungen gesammelt ;)
Schön war zu sehen, dass es jetzt mit Bordmitteln möglich ist, ein Dokument aus einer Sicherung wiederherzustellen, wobei die Datenbank im Dateisystem liegt und nicht (!) im SQL Server gemountet sein muss.

In der zweiten Session wurden die neuen Visio Services gezeigt, mit denen es möglich ist, Visio Diagramme in SharePoint anzuzeigen. Diese Diagramme können mit einer Datenquelle verbunden werden und sich automatisch aktualisieren. In der gezeigten Demo war ein Diagramm, welches einen Bewerber-Workflow abbildete, mit einer SharePoint Liste verbunden und zeigte Grenzwerte an. Diese Grenzwerte definierten, ob der Workflow innerhalb der erwarteten Zeiträume blieb. Quasi ein KPI. Änderte man nun Daten in der Liste, wurde dies auch sofort im Diagramm angezeigt. Eine interessante Lösung, wofür mir sofort ein Dutzend Anwendungsbeispiele eingefallen sind.

Der Project Server 2010, welcher die bisher getrennten Produkte Portfolio Server und Project Server zusammenführt, war ja schon bekannt. Entsprechend erschlagen wurde man von der Vielzahl der Möglichkeiten. Der Project Client hat nun auch die neue Ribbon-Oberfläche, sodass die Bedienung nun mehr „Excel-Like“ wird.

Ach ja, meine Beiträge enthalten keine Bilder. Warum, eine Kamera habe ich ja mit. Aber das Kabel liegt noch im Büro :) Also werde ich die Bilder nachliefern…

Eine Reise, die ist lustig…

Hi, mein Name ist Nico Thiemer. Ich bin der Entwicklungsleiter von datafino und möchte diese Woche live von der SharePoint Konferenz aus Las Vegas berichten. Eigentlich wollte ich erst nach dem ersten Tag der Konferenz etwas veröffentlichen, aber die Reise war es wert, mal etwas näher beschrieben zu werden. Sie war ein schönes Beispiel für menschliches Versagen und zugleich Größe. Ursprünglich hatten wir einen Flug von Leipzig über Paris und New York nach Las Vegas gebucht. Etwa 14 Tage vor Abflug erreichte uns vom Reisebüro eine Email, dass wir nunmehr über Paris und Detroit nach Las Vegas fliegen. Der Flug von New York nach Las Vegas war gestrichen worden. Gut, dass sollte mir auch recht sein. Als wir dann auf den Flughafen in Leipzig standen und einchecken wollten, erfuhren wir, dass wir nicht auf den Flug nach Detroit gebucht waren, sowie dass der Flug von New York nach Las Vegas wirklich gestrichen war. Fast unnötig zu erwähnen, dass der Anrufbeantworter vom Reisebüro meinte, wir würden außerhalb der Geschäftszeiten anrufen. Schließlich hatte man uns ja nicht umgebucht. Die einzige Alternative welche blieb war, nach New York zu fliegen, um dort selbst zu sehen, wie wir weiter kommen. Gesagt, geflogen. In New York angekommen, hat sich dann ein Angestellter der Fluggesellschaft wirklich rührend um uns gekümmert. Aber einen Flug konnte er auch nicht aus dem Hut zaubern. Wir sind dann im Hotel Ramada JFK geblieben und am nächsten Morgen nach Las Vegas geflogen. Man muss eben alles mal mitgemacht haben :)

1 - 10 Weiter