Anleitung und Hinweise zur Benutzung des Silverlight 2.0...

16
Anleitung und Hinweise zur Benutzung des Silverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale UI-Komponenten auf einer Sharepoint Seite. Wie man ASP.NET Controls dort in eigen entwickelten Web Parts verwenden kann ist schon an vielen Stellen beschrieben. Aber es kommt natürlich auch die Idee auf in Web Parts neue Technologien wie Ajax und eben auch Silverlight 2.0 zu verwenden. Wie das geht und wie man den Sharepoint Server 2007 konfigurieren muss damit man Ajax und Silverlight verwenden kann ist in diesem Dokument beschrieben. Technische Voraussetzungen Windows Server 2003 oder Windows Server 2008 .NET Framework 3.5 SP1 Windows Sharepoint Services 3.0 SP1 optional Sharepoint Server 2007 Visual Studio 2008 (Standard, …) Silverlight Tools für Visual Studio 2008 Visual Studio Extension for Windows Sharepoint Services 1.2

Transcript of Anleitung und Hinweise zur Benutzung des Silverlight 2.0...

Page 1: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Anleitung und Hinweise zur Benutzung des Silverlight 2.0 Sharepoint Web Parts

Einführung Web Parts sind die zentrale UI-Komponenten auf einer Sharepoint Seite. Wie man ASP.NET Controls dort in eigen entwickelten Web Parts verwenden kann ist schon an vielen Stellen beschrieben. Aber es kommt natürlich auch die Idee auf in Web Parts neue Technologien wie Ajax und eben auch Silverlight 2.0 zu verwenden. Wie das geht und wie man den Sharepoint Server 2007 konfigurieren muss damit man Ajax und Silverlight verwenden kann ist in diesem Dokument beschrieben.

Technische Voraussetzungen

Windows Server 2003 oder Windows Server 2008

.NET Framework 3.5 SP1

Windows Sharepoint Services 3.0 SP1 optional Sharepoint Server 2007

Visual Studio 2008 (Standard, …)

Silverlight Tools für Visual Studio 2008

Visual Studio Extension for Windows Sharepoint Services 1.2

Page 2: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Anpassen der web.config damit der Sharepoint Server Ajax und Silverlight unterstützt.

1. Zuerst eine neue „sectionGroup“ im Bereich <configuration><configSections> anlegen

<sectionGroup name="system.web.extensions"

type="System.Web.Configuration.SystemWebExtensionsSectionGroup,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35">

<sectionGroup name="scripting"

type="System.Web.Configuration.ScriptingSectionGroup,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35">

<section name="scriptResourceHandler"

type="System.Web.Configuration.ScriptingScriptResourceHandlerSection,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35" requirePermission="false"

allowDefinition="MachineToApplication"/>

<sectionGroup name="webServices"

type="System.Web.Configuration.ScriptingWebServicesSectionGroup,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35">

<section name="jsonSerialization"

type="System.Web.Configuration.ScriptingJsonSerializationSection,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35" requirePermission="false"

allowDefinition="Everywhere" />

<section name="profileService"

type="System.Web.Configuration.ScriptingProfileServiceSection,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35" requirePermission="false"

allowDefinition="MachineToApplication" />

<section name="authenticationService"

type="System.Web.Configuration.ScriptingAuthenticationServiceSection,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35" requirePermission="false"

allowDefinition="MachineToApplication" />

<section name="roleService"

type="System.Web.Configuration.ScriptingRoleServiceSection,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35" requirePermission="false"

allowDefinition="MachineToApplication" />

</sectionGroup>

</sectionGroup>

</sectionGroup>

Page 3: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

2. Dann müssen neuere http Handler für ASMX und AXD Requests registiert werden. Diese werden unter <system.web><httpHandlers> eingetragen.

<remove verb="*" path="*.asmx"/>

<add verb="*" path="*.asmx" validate="false"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

<add verb="*" path="*_AppService.axd" validate="false"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

<add verb="GET,HEAD" path="ScriptResource.axd"

type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions,

Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"

validate="false"/>

3. Im Bereich <httpModules> ein neues Module hinzufügen

<add name="ScriptModule" type="System.Web.Handlers.ScriptModule,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

4. In der Sektion <compilation><assemblies> folgende Assemblies eintragen

<add assembly="System.Core, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=B77A5C561934E089"/>

<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0,

Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=B77A5C561934E089"/>

5. Im Bereich <pages> folgende Controls registrieren

<controls>

<add tagPrefix="asp" namespace="System.Web.UI"

assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

<add tagPrefix="asp" namespace="System.Web.UI.WebControls"

assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

</controls>

Page 4: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

6. Hinter dem schließenden </system.web> den kompletten Bereich <system.webServer> hinzufügen

<system.webServer>

<validation validateIntegratedModeConfiguration="false"/>

<modules>

<remove name="ScriptModule" />

<add name="ScriptModule" preCondition="managedHandler"

type="System.Web.Handlers.ScriptModule, System.Web.Extensions,

Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

</modules>

<handlers>

<remove name="WebServiceHandlerFactory-Integrated"/>

<remove name="ScriptHandlerFactory" />

<remove name="ScriptHandlerFactoryAppServices" />

<remove name="ScriptResource" />

<add name="ScriptHandlerFactory" verb="*" path="*.asmx"

preCondition="integratedMode"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

<add name="ScriptHandlerFactoryAppServices" verb="*"

path="*_AppService.axd" preCondition="integratedMode"

type="System.Web.Script.Services.ScriptHandlerFactory,

System.Web.Extensions, Version=3.5.0.0, Culture=neutral,

PublicKeyToken=31BF3856AD364E35"/>

<add name="ScriptResource" preCondition="integratedMode"

verb="GET,HEAD" path="ScriptResource.axd"

type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions,

Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

</handlers>

</system.webServer>

7. Bei den Einträgen im Bereich <runtime><assemblyBinding> folgende Bindings hinzufügen

<dependentAssembly>

<assemblyIdentity name="System.Web.Extensions"

publicKeyToken="31bf3856ad364e35"/>

<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>

</dependentAssembly>

<dependentAssembly>

<assemblyIdentity name="System.Web.Extensions.Design"

publicKeyToken="31bf3856ad364e35"/>

<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>

</dependentAssembly>

Page 5: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

8. Die Silverlight DLL muss auch noch zu der Liste der <SafeControls> hinzugefügt werden und die die DLL (System.Web.Silverlight.dll) auch in das Bin Verzeichnis kopiert werden

<SafeControl Assembly="System.Web.Silverlight, Version=2.0.30825.0,

Culture=neutral, PublicKeyToken= 31bf3856ad364e35"

Namespace="System.Web" TypeName="*" Safe="True" />

9. Dann noch die Silverlight DLL (System.Web.Silverlight.dll) auch in das Bin Verzeichnis kopieren Wenn die Silverlight Tools für Visual Studio 2008 installiert sind findet man die DLL unter:

C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Libraries\Server

Das Bin Verzeichnis liegt bei einer Standard Installation von WSS bzw. MOSS 2007 unter:

C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin

10. Mime Type Eintrag für *.xap im Internet Information Server überprüfen und gegeben falls hinzufügen.

a. Windows Server 2003 Dazu unter den Administrativen Tools den „Internet Information Services (IIS) Manager“ starten. Im Manager dann die Server Instanz anklicken:

Abbildung 1: Internet Information Services (IIS) Manager

Mit der rechten Maustaste anklicken und Properties auswählen. Im folgenden Dialog dann auf den Button „MIME Types“ klicken.

Page 6: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Abbildung 2: IIS Konfigurations-Dialog

Wenn in der Liste der Typ *.xap bereits registriert ist muss nichts Weiteres unternommen werden. Wenn jedoch noch kein .xap Mime Type registriert ist mit klcik auf New den Mime Type „application/x-silverlight-2“ wie in der linken Box angezeigt registrieren.

Abbildung 3: MIME Type Registrierung

Page 7: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

b. Windows Server 2008 Dazu unter den Administrativen Tools den „Internet Information Services (IIS) Manager“ starten. Im Manager dann die Server Instanz anklicken:

Abbildung 4: Konfiguration IIS 7

Dann auf das Symbol MIME Types doppelklicken. Wenn der MIME Type .xap noch nicht eingetragen ist, über „Add“ unter dem Actions-Bereich links oben. Den Mime Type „application/x-silverlight-2“ hinzufügen.

Page 8: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Abbildung 5: MIME Type .xap registrieren

11. Damit auch alle Änderungen wirksam werden startet man den Internet Information Server am Besten noch mal neu. Das kann man über den IIS Manager tun, oder aber in der Kommandozeile „iisreset“ aufrufen.

Page 9: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Installation des Silverlight Web Parts

1. Die beiden Zip Files „SilverlightWebPart.zip“ und „MyMediaPlayer.zip“ herunterladen.

2. SilverlightWebPart.zip entpacken

3. Das Projekt SilverlightWebPart öffnen. Im Menüpunkt Build->Rebuild all anklicken.

Man kann das Web Part jetzt direkt aus Visual Studio heraus deployen oder manuell. a. Automatische Installation (Visual Studio)

Im Build Menü auf Build -> Deploy SilverlightWebPart klicken. Dann baut Visual Studio automatisch eine Solution (*.wsp) installiert diese und aktiviert auch gleich das darin enthaltene Feature. Ein kleiner Nachteil dieser Methode ist, dass Visual Studio auch den Application Pool neu startet, was bedeutet, dass der erste Zugriff dann auf den Sharepoint Server etwas länger dauert.

b. Manuelle Installation Die Dateien SilverlightWebPart.dll und SilverlightWebPart.pdb in das bin Verzeichnis des Sharepoint Servers kopieren der Pfad ist bei Standard Installation:

C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin

Dann in der web.config, die befindet sich im Verzeichnis: „C:\Inetpub\wwwroot\wss\VirtualDirectories\80“,

die DLL als Safe Control registrieren:

<SafeControls>

.

.

.

<SafeControl Assembly="SilverlightWebPart, Version=1.0.0.0,

Culture=neutral, PublicKeyToken=9f4da00116c38ec5"

Namespace="Moss2007.Silverlight" TypeName="SilverlightWebPart"

Safe="True" />

</SafeControls>

4. Auf der Sharepoint Site rechts oben bei Site Actions den Punkt „Site Settings“

anklicken. 5. Dann den Link ganz rechts „Go to top level site settings” anklicken.

6. Unter der Rurik “Galleries” den Link “WebParts” anklicken.

7. Hier in der Toolbar links oben auf „New“ klicken

Page 10: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

8. In der Liste das neue WebPart selektieren und dann den Button „Populate Gallery“ klicken.:

Abbildung 6: New Part Admin Seite in Sharepoint

9. Jetzt auf die Seite navigieren zu der das Silverlight Web Part hinzu gefügt werden soll.

10. Auf der Seite dann unter den „Site Actions“ „Edit Page auswählen.

11. Dann bei einer der Web Part Zones auf klicken.

Page 11: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

12. In der Liste dann das Silverlight Web Part selektieren und den Add Button klicken

Abbildung 7: Add Web Part Dialog

Sollte das Web Part in der Liste nicht aufgeführt sein, dies kann bei manueller Installation vorkommen, einfach den IIS nochmal neu starten. Also z.B. iisreset aufrufen.

Page 12: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Installation der Silverlight Applikation (*.xap) und Konfiguration des Silverlight Web Parts

In der Zip Datei ist eine Silverlight Applikation enthalten. Dabei handelt es sich um einen Silverlight Media Player. Nach dem Entpacken der Dateien findet man im Client Bin Verzeichnis die Datei MyMediaPlayer.xap und ein Demo Filmchen Bear.wmv.

1. Installation der Silverlight Applikation im ClientBin Verzeichnis

Hierzu einfach unter dem Verzeichnis:

C:\Inetpub\wwwroot\wss\VirtualDirectories\80

Ein neues Verzeichnis mit dem Namen ClientBin erzeugen und die beiden Dateien MyMediaPlayer.xap und bear.wmv dort hinein kopieren. Jetzt muss nur noch der die Silverlight Applikation im Silverlight Web Part mit relativem Pfad angegeben werden. Dazu am Web Part rechts oben auf edit klicken und im Kontextmenü „Modify Shared Web Part“ auswählen. Dann im rechten Bereich den Punkt Miscellaneous expandieren und bei XAP Url die Silverlight Applikation eintragen.

Abbildung 8: Konfiguration Silverlight Web Part

Page 13: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Dann auf Ok klicken. Jetzt sollte der Media Player im Web Part ablaufen:

Abbildung 9: Der Silverlight Media Player im Web Part

1. Installation der Silverlight Applikation in einer Document Library auf dem Sharepoint Server. Auf dem Sharepoint Server auf eine Document Library navigieren, oder eventuell auch eine neue Document Library anlegen. Dort dann über „Upload Document“ oder gleich mit „Upload multiple Documents“ die Dateien MyMediaPlayer.xap und bear.wmv in diese Document Library hochladen.

Abbildung 10: Upload in Document Library

Jetzt mit der rechten Maustaste auf den Link MyMediaPlayer klicken und dann im Context Menü auf “Copy Shortcut” klicken. Jetzt zurück auf die Seite navigieren, wo das Silverlight Web Part eingefügt wurde. Dann über Edit-> „Modify Shared WebPart“ die Web Part Konfiguration starten,. Den Punkt Miscellaneous expandieren und unter „XAP Url“ den kopierten Shortcut einfügen und dann auf Ok klicken:

Page 14: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Abbildung 11: Web Part Konfiguration

Danach ist der Silverlight Media Player im Web Part sichtbar.

Abbildung 12: Silverlight Media Player im Web Part

Page 15: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Mit diesem Web Part ist möglich jegliche Silverlight Applikation innerhalb des Silverlight Web Parts ablaufen zu lassen. Sogar das Deployment der Silverlight Applikationen innerhalb einer Document Library ist somit einfach möglich. Ich habe auch noch ein paar andere Tipps und Tricks rund um Sharepoint in einem Blog veröffentlicht, also einfach mal auch auf http://blogs.msdn.com/martinv vorbeischauen. Viele Grüße Martin Vollmer Microsoft Deutschland GmbH Developer Platform & Strategy Group

Page 16: Anleitung und Hinweise zur Benutzung des Silverlight 2.0 ...download.microsoft.com/.../SilverlightWebPart.pdfSilverlight 2.0 Sharepoint Web Parts Einführung Web Parts sind die zentrale

Links Die Silverlight Seite im Web: http://silverlight.net/ SharePoint Developer Centers: http://msdn.microsoft.com/sharepoint http://msdn2.microsoft.com/en-us/sharepoint/ SharePoint Product Center http://www.microsoft.com/sharepoint Windows SharePoint Services Web Parts Resource Center http://msdn.microsoft.com/en-us/sharepoint/bb851483.aspx The Sharepoint Introduction for .Net Developers http://www.microsoft.com/click/SharePointDeveloper/ Auf Codeplex ( www.codeplex.com )gibt e seine Menge Tools und Templates für Sharepoint. Einfach „Sharepoint“ in der Suche eingeben.

Sharepoint Blogger Sharepoint Team Blog http://blogs.msdn.com/sharepoint/ Jan Tielens http://weblogs.asp.net/jan/ Gute Infos zu WSS und Sharepoint unf auch ASP.NET Controls Autor des SmartPart Web Parts (Container für ASP.NET user controls, http://www.codeplex.com/smartpart ) Dan Winter http://blogs.msdn.com/dwinter/default.aspx Viele gute Tipps und Beispiele