microsoft academic program die macht der webparts bernd malter student technology conference 2005
TRANSCRIPT
Microsoft Academic Program
Die Macht der WebParts Bernd Malter
Student Technology Conference 2005
Microsoft Academic
Program
Student Technology Conference 2005
Die Macht der WebParts
• Bernd Malter• Principal Consultant / Software Developer• Avanade• [email protected]
Microsoft Academic
Program
Student Technology Conference 2005Agenda
• Der SharePoint Portal Server 2003• Die SPS 2003 Architektur• WebParts und WebControls• Fallbeispiele und Demos
Microsoft Academic
Program
Student Technology Conference 2005Worum geht es?
• Dieser Vortrag dreht sich um die WebPart-Entwicklung für den SharePoint Portal Server 2003
• Einige Beispiele sollen sollen den Einstieg in die Programmierung erleichtern
Microsoft Academic
Program
Student Technology Conference 2005Worum geht es nicht?
• Keine Einführung in das SPS Objektmodell
• Keine Einführung in die Web Services des SPS
• Keine Einführung in ASP.NET
Microsoft Academic
Program
Student Technology Conference 2005Voraussetzungen
• Grundlegendes Verständnis des .NET Frameworks
• Grundlagen C# oder VB.NET• Hilfreich sind Grundlagen im Bereich
ASP.NET Controls• Interesse an Portallösungen
Microsoft Academic
Program
Student Technology Conference 2005Szenario
• Erstellt werden soll eine Benuzterstatistik
• Eine Hitliste und momentane Benutzer sollen auf einer Seite angezeigt werden
Microsoft Academic
Program
Student Technology Conference 2005Lösungsentwurf
• Tracking der Seitenaufrufe mittels eines HTTP-Modules und Schreiben der Daten in eine DB
• Lesen der DB-Daten über WebParts
Microsoft Academic
Program
Student Technology Conference 2005Weitere Demos
• Lebenszyklus eines WebParts• WebParts Propertys• Verbundene WebParts
Microsoft Academic
Program
Student Technology Conference 2005Der SharePoint Portal Server
• Vorstellung des SPS 2003– Basisfunktionen– Einfügen von WebParts
Microsoft Academic
Program
Student Technology Conference 2005WSS & Sharepoint Portal Server
Übergreifende Sites
Teams
SharePoint Portal Server
WindowsSharePoint
Services
UnternehmensportalUnternehmensportalDas “Einstiegsportal”
Microsoft Academic
Program
Student Technology Conference 2005Windows SharePoint Services
• Workspaces• Check-In / Check Out• Versionierung• Benachrichtungen• Realtime-Kommunikation• Office Integration• Benutzungsstatistiken• Backup / Restore einzelner Sites• Site-Inaktiv-Benachrichtigung für den
Admin• u.v.a.m
Microsoft Academic
Program
Student Technology Conference 2005SharePoint Portal Server
• zentrale Administration vieler Sites• Verwaltung von Servern und Server-
Farmen• hohe Skalierbarkeit• übergreifende Volltext- und
Metadaten-Suche• EAI mit Single Sign On
Microsoft Academic
Program
Student Technology Conference 2005Einrichten eines Portals
• Portal wird auf einem virtuellen Server des IIS eingerichtet
• Einrichtung geht mit wenigen „Klicks“– Name, virtueller Server & Admin-Konto
aussuchen– Sharepoint installiert die Services,
Datenbanken etc.
Microsoft Academic
Program
Student Technology Conference 2005Einrichten einer Site
• Eine Site wird innerhalb eines bestehenden Portals eingerichtet
• Es gibt verschiedene Site-Vorlagen– Team-Site, Blank-Site, Decision Meeting
Worspace, Social Meeting Workspace…
• die Site-Einrichtung ebenfalls eine „5-Klick-Angelegenheit“– Name, Besitzer, URL, Region, Abteilung,..
Microsoft Academic
Program
Student Technology Conference 2005Benutzerverwaltung
• Rollen werden in SQL Server verwaltet
• Rollen stellen einen Aufsatz zu Betriebssystemberechtigungen dar
Microsoft Academic
Program
Student Technology Conference 2005Rechte und Rollen von Sites I
• Reader– Kann Listen einsehen
• Contributor– Kann Inhalte beitragen
Microsoft Academic
Program
Student Technology Conference 2005Rechte und Rollen von Sites II
• Reader– Kann Listen einsehen
• Contributor– Kann Inhalte beitragen
Microsoft Academic
Program
Student Technology Conference 2005Weitere Aktionen
• Bibliotheken anlegen• Listen anlegen• Diskussionsboards anlegen• Umfragen anlegen• Etc.
Microsoft Academic
Program
Student Technology Conference 2005Ein tieferer Blick
• Ein Einblick in die Architektur• SPS 2003 besteht aus Datenbanken, DLLs,
ASPX-Seiten und XML und js-Dateien– Datenbanken nie direkt „anpacken“, auch
wenn es Spaß macht (und manches beschleunigt)
– XML-, js- und ASPX-Dateien eignen sich zum „Customizen“ (Vorsicht bzgl. des Supports)
– XML=CAML (schön kompliziert und fehleranfällig)
Microsoft Academic
Program
Student Technology Conference 2005Ein SPS- aber doch ganz anders I
Microsoft Academic
Program
Student Technology Conference 2005Ein SPS- aber doch ganz anders II
Microsoft Academic
Program
Student Technology Conference 2005SPS 2003 Architektur
• Verwaltete Objekte– Inhalt, Profile, Dienste
& Config DB Zugriff
• Job Server– Windows Taks– startet Profil Import– startet Indexierung– startet Zielgruppen-
Berechnung
• Index Gatherer– Scannt Inhaltsquellen &
erstellt Index Kataloge– Verteilt Volltext-Kataloge an
alle Search Server
• Search Server– Dedizierte Search Server
IIS
ASP.NET Handler
ISAPI Filter
Config
Statische SeitenFP RPCWebDAV
.aspx.asmx
HTTPRequests
ASP.NET
Content
WSSUnmanagedCode
Direct Safe
ISAPI Ext
ADO.NET
Service
Profile
Search
Index
Microsoft Academic
Program
Student Technology Conference 2005SPS und Unmanaged Code
IIS
ASP.NET Handler
Filter
Config
Statische SeitenFrontPage RPCDAV
.aspx.asmx
HTTPRequests
ASP.NET
Content
SharePointUnmanagedCode
Direct Safe
ISAPI Ext
ADO.NET
ProfileService
• SPS 2003 ist nicht nur .net.• Unmanged Code für
– FrontPage server extensions
– DAV– View rendering– Static document gets– Database I/O
Microsoft Academic
Program
Student Technology Conference 2005WebParts
• Und nun vom SPS zu den WebParts
Microsoft Academic
Program
Student Technology Conference 2005Das Framework
ASP.NET Page
Zon
e 2
Zone 1
Zon
e 3
WebPart
Framework
ContentDB
ASP.NET PageWeb ControlsoderWeb Parts
ConfigDB
USERID & URL
Microsoft Academic
Program
Student Technology Conference 2005WebParts in einer Site
• WebParts sind die Informationscontainer in einer Site
• WebParts befinden sich in “Zones”
Microsoft Academic
Program
Student Technology Conference 2005WebParts
• Wiederverwendbare Bausteine für Portale– bestehen aus GUI & Programmierung
• Webparts können vom Administrator einer Site ohne Programmierung eingefügt werden– „drag-and-drop“ & „plug-and-play“
• WebPart Pages dienen als WP-Container• WebParts können miteinander
kommunizieren
Microsoft Academic
Program
Student Technology Conference 2005Vordefinierte Web Parts - Beispiele
• Content Editor– Einfache, statische HTML-Inhalte
• Page Viewer– Ermöglicht Einbindung von Web-Seiten
• Exchange Integration– Kontakte, Kalender, Posteingang,..
• Discussion– Diskussions-Board
• etc.
Microsoft Academic
Program
Student Technology Conference 2005FrontPage- die Vorteile
• einfaches Tool zum Anpassen von SharePoint-Seiten
• schnelles Ändern des Designs• Darstellung von Web Services ohne Code zu
schreiben (DataView Web Part)• Einstellen von Web Part-Zonen-Eigenschaften• Editieren des HTML-Codes
Microsoft Academic
Program
Student Technology Conference 2005FrontPage- die Nachteile
• Wird eine Site mit FrontPage bearbeitet, wird sie immer aus der DB gelesen. Änderungen der Templates im Dateisystem werden ignoriert.
• Performance-Verluste durch DB-Zugriffe• Empfehlung: FrontPage für Demo-Systeme,
nicht für die Produktion
Microsoft Academic
Program
Student Technology Conference 2005.Net-Entwicklung I
• mit Templates für Visual Studio.Net können eigene Web Parts entwickelt werden– Web Part = ASP.Net Custom Controls
• WebPart Framework– Objektmodell für eigene Entwicklungen
Microsoft Academic
Program
Student Technology Conference 2005.Net-Entwicklung II
• Sharepoint Server & Services Object Model für die Lösung spezieller Aufgabenstellungen
• XML Web Services für den Zugriff auf Remote-Server
Microsoft Academic
Program
Student Technology Conference 2005Das Objektmodell- eine Grundlage
– SPGlobalAdmin • Zuständig für die globale Administration
– SPVirtualServer • Repräsentiert einen virtuellen Server
– SPSite • Repräsentiert eine Site Collection (keine einzelne Site, der
Name irritiert)– SPWeb
• Repräsentiert eine einzelne Site– SPList
• Repräsentiert eine Liste, z.B. eine Document Library– SPListItem
• Eintrag in einer Liste– SPField
• Attribute eines Listeneintrages (Metadaten eines Dokuments)
Microsoft Academic
Program
Student Technology Conference 2005Hello World WebPart
• WebPart Templates für Visual Studio .NET sollten installiert sein
• “WebPart library” Projekt öffnen• Ein einfaches “Hello world”
public class SayHello : Microsoft.SharePoint.WebPartPages.WebPart{protected override void RenderWebPart(HtmlTextWriter output)
{output.Write(SPEncode.HtmlEncode(“Hello World!));}
}
Microsoft Academic
Program
Student Technology Conference 2005WebParts und Web Controls
System.Web.UI.Control
Custom Control
System.Object
Microsoft.SharePoint.WebPartPages.WebPartSystem.Web.UI.WebControls.WebControl
Web Part
WebParts sind User Controls
Microsoft Academic
Program
Student Technology Conference 2005WebPart Manuellles Deployment
Deployment über DWP-Datei– Strong name – key in
assemblyinfo.cs. (optional)– Version– DLL befindet sich im Bin-Folder von
wwwroot.– Safe controls in web.config eintragen– DWP-Datei erstellen und importieren
Microsoft Academic
Program
Student Technology Conference 2005Deployment – .dwp file
• Aufbau einer DWP-Datei<WebPart xmlns="http://schemas.microsoft.com/WebPart/v2"> <Assembly>AssemblyName(ohne .dll Extension), Version=VersionNumber, Culture=Culture, PublicKeyToken=PublicKeyToken</Assembly> <TypeName>WebPartNamespace.WebPartClassName</TypeName> <Title>DefaultWebPartTitle</Title> <Description>WebPartDescription</Description></WebPart>
• PublicKeyToken über sn ermittelnsn.exe -T c:\inetpub\wwwroot\bin\MyWebPart.dll
Microsoft Academic
Program
Student Technology Conference 2005Deployment -- Strong Name und
Version
• Schlüssel über sn erstellen– sn.exe - k c:\keypair.snk (sn.exe in
Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\ )
• Schlüssel-Datei in AssemblyInfo.cs– [assembly: AssemblyKeyFile("c:\\
keypair.snk")] – [assembly:
AssemblyVersion("1.0.0.0")]
Microsoft Academic
Program
Student Technology Conference 2005Deployment – Bin-Verzeichnis und
Safe Controls
• Im Projekt: Output Properties verweisen auf drive:\inetpub\wwwroot\bin. Die Alternative ist der GAC (drive: \Windows\Assembly)
• In web.config ein Safe Control eintragen<SafeControl Assembly=“MyWebPart, Version=1.0.0.0, Culture=neutral, PublicKeyToken=bcdf8981322ffaa“ Namespace=“MyWebPart“ TypeName="*"/>
Microsoft Academic
Program
Student Technology Conference 2005Deployment – stsadm.exe I
• Stsadm unter drive:\Program Files\Common Files\Microsoft Shared\web server extensions\60\BIN
• Kopiere WebPart Assembly in das Bin Directory
Microsoft Academic
Program
Student Technology Conference 2005Deployment – stsadm.exe II
• Kopiere die .dwp-Datei in das WPCatalog Verzeichnis (drive:\\inetput\wwwroot\wpcatalog)
• Alle WebPart Resourcen werden in ein Subdirectory kopiert
• SafeControl in web.config eintragen• Cab-Datei wird in die
Konfigurationsdatenbank kopiert
Microsoft Academic
Program
Student Technology Conference 2005Deployment – stsadm.exe III
• WebPart Cab-Datei enthält:– die Assembly– .dwp file– Alle Resourcen (z.B. Bilder)– Manifest
• Stsadm.exe –o addwppack –filename path_to_webpart.cab (local_drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\bin)
Microsoft Academic
Program
Student Technology Conference 2005Deployment – WPPackager Tool
• wppackager Tool zum Erstellen einer MSI-Datei
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnspts/html/sharepoint_deployingwebparts_msi.asp
Microsoft Academic
Program
Student Technology Conference 2005Code Security – Permissions I
• ASP.Net hat Permissions wie IsolatedStorageFilePermission, MessageQueuePermission, OdbcPermission
Microsoft Academic
Program
Student Technology Conference 2005Code Security – Permissions II
• Sharepoint fügt 2 Permissions hinzu – SharePoint Permission – Rechte, um
z.B. das Objektmodell der WSS anzusprechen
– WebPart Permission – Rechte, um WebParts Resourcen anzusprechen
Microsoft Academic
Program
Student Technology Conference 2005Code Security – Trust Levels I
• ASP.NET definiert die Trust levels full, high, medium, low, minimal
• SharePoint fügt 2 Level hinzu:– WSS_Minimal– WSS_Medium
Microsoft Academic
Program
Student Technology Conference 2005Code Security – Trust Levels
• Die neuen Level sind definiert in wss_minimaltrust.config und wss_mediumtrust.config unterlocal_drive:\Program Files\Common Files\Microsoft Shared\web server extensions\60\config
Microsoft Academic
Program
Student Technology Conference 2005Code Security – Default
• Windows SharePoint Services setzen den Trust Level standardmäßig auf WSS_Minimal
• Trust Level wird in der web.config unter drive:\\inetpub\wwwroot definiert:<trust level="WSS_Minimal" originUrl="" />
Microsoft Academic
Program
Student Technology Conference 2005Bin Deployment und Custom
Policy File
• 3 Wege, um Assemblies die korrekten Permissions zu geben:– Trust Level auf Full setzen: <trust
level="WSS_Minimal" originUrl="" />(“Schmutzig”, aber schnell gemacht)
– Assembly in das GAC kopieren•Empfehlung: custom policy verwenden
(Elegant, aber zeitintensiv, weil fehleranfällig)
Microsoft Academic
Program
Student Technology Conference 2005Web Parts - References
• http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/CreateABasicWP.asp
• http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/CreateWPCustomProperties.asp
• http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcodeaccesspermissions.asp
Microsoft Academic
Program
Student Technology Conference 2005
Mehr Informationen
• http://www.microsoft.com/sharepoint/downloads/components/detail.asp?a=431
• http://www.gotdotnet.com• http://www.sharepointcustomization.co
m/resources/webparts.htm• http://www.microsoft.com/technet/
prodtechnol/sppt/reskit/c3461881x.mspx