SharePoint 2010 spricht Silverlight (Teil 4)
Kommentare

Imports Microsoft.SharePoint.Client

Partial Public Class MainPage
Inherits UserControl

Public Sub New()
InitializeComponent()
End Sub

Dim SharePointWeb As Web
Private Sub Page_Loaded(ByVal sender As

Imports Microsoft.SharePoint.Client

Partial Public Class MainPage
Inherits UserControl

Public Sub New()
InitializeComponent()
End Sub

Dim SharePointWeb As Web
Private Sub Page_Loaded(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs) Handles Me.Loaded
Dim clcontext As ClientContext = New ClientContext(ApplicationContext.Current.Url)
SharePointWeb = clcontext.Web
Dim Listen As ListCollection = SharePointWeb.Lists
lstSPLists.Items.Clear()
clcontext.Load(Listen)
clcontext.ExecuteQueryAsync(New ClientRequestSucceededEventHandler(AddressOf onQuerySucceeded), Nothing)
End Sub

Private Sub onQuerySucceeded(ByVal sender As Object, ByVal args As ClientRequestSucceededEventArgs)
Me.Dispatcher.BeginInvoke(New Action(AddressOf LoadLists))
End Sub

Private Sub LoadLists()
Dim n As Integer
For n = 0 To SharePointWeb.Lists.Count - 1
  lstSPLists.Items.Add(SharePointWeb.Lists(n).Title)
Next
End Sub
Dim iListCreationInfo As ListItemCreationInformation
Dim spList As Microsoft.SharePoint.Client.List

Private Sub lstSPListen_MouseLeftButtonUp(ByVal sender As Object, ByVal e As System.Windows.Input.MouseButtonEventArgs) Handles lstSPLists.MouseLeftButtonUp
Dim clcontext As New ClientContext(ApplicationContext.Current.Url)
spList = clcontext.Web.Lists.GetByTitle(lstSPLists.SelectedItem)
spList = clcontext.Web.Lists.GetByTitle(lstSPLists.SelectedItem)
clcontext.Load(spList)
clcontext.ExecuteQueryAsync(New ClientRequestSucceededEventHandler(AddressOf onQuerySucceededEintr), Nothing)
End Sub

Private Sub onQuerySucceededEintr(ByVal sender As Object, ByVal args As ClientRequestSucceededEventArgs)
Me.Dispatcher.BeginInvoke(New Action(AddressOf showListenInfos))
End Sub

Private Sub showListenInfos()
txtListName.Text = spList.Title
txtListDescription.Text = spList.Description
End Sub
End Class  

Nach dem Eintippen des Quellcodes wird mit dem Menübefehl ERSTELLEN | SILVERLIGHTSPLISTEN erstellen die Anwendung in eine XAP-Datei verpackt. Diese ist im Ordner BinRelease zu finden. In SharePoint wird nur die XAP-Datei z. B. in eine Dokumentbibliothek hochgeladen. Nach dem Hochladen wird mit Rechtsklick auf den Eintrag in der Dokumentbibliothek der Kontextmenüpunkt VERKNÜPFUNG KOPIEREN ausgewählt, um den Link zur Applikationsdatei in die Zwischenablage zu kopieren. Auf der Teamseite wird der Cursor dorthin platziert, wo ein neues Webpart eingefügt werden soll. Über das Ribbon-Register Seite und die Schaltfläche BEARBEITEN erreicht man EINFÜGEN in den Bearbeitungstools. Per Klick auf Webpart werden die verfügbaren Webparts kategorisiert aufgelistet. Das Silverlight Webpart befindet sich in der Kategorie MEDIEN UND INHALT. Nach dessen Auswahl und HINZUFÜGEN wird ein Dialogfeld zur Angabe des Links zum XAP-Paket eingeblendet. Hier muss lediglich der in der Zwischenablage befindliche Link eingefügt und mit OK bestätigt werden. Das kann jeder gestandene SharePoint-Information-Worker (Abb. 3). Wer wissen möchte, was sich in der XAP-Datei befindet, benennt deren Extension einfach in ZIP um und öffnet das Paket.

Die Silverlight-Anwendung in Aktion
Die Silverlight-Anwendung in Aktion
Fazit und Ausblick

Für Cliententwicklungen ist der Namensraum des SharePoint Client Object Models ein purer Segen, wenn man sich an die umständliche Einbindung von Web Services in Visual-Studio-Projekte erinnert oder an die Arbeit am Server, um Silverlight überhaupt in ein SharePoint Webpart einbinden zu können. Und wirklich spannend wird die Palette der Lösungsangebote, die für gehostete SharePoints wie SharePoint Online entwickelt werden. Zusammen mit den neu eingeführten Sandboxed Solutions als Sicherheitsaspekt entfalten sich gigantische Perspektiven für die Entwicklerszene, die trotzdem als Instanz die Verantwortung für die Sicherheit der neuen SharePoint-Anwendungskultur übernimmt. Die in den Augen des Anwenders komfortabelste, funktionellste, zweckdienlichste, intuitivste, performanteste und letztlich schönste Applikation wird gewinnen. Ein Laie wird nicht mehr unbedingt erkennen, dass SharePoint als Motor unter der Haube schlummert.

Dirk Grasekamp ist freier Entwickler, selbständiger IT-Berater und Buchautor. Er programmiert in enger Kooperation mit der MindBusiness GmbH in Alzenau unter anderem Lösungen für das Projektmanagement im SharePoint-Umfeld und gehört dem Team der MindBusiness-SharePoint-Berater an (http://sharepoint-berater.de). Sie erreichen ihn unter d.grasekamp@proaktion.net.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -