WSS “v3” for DevelopersWSS “v3” for Developers
Jan TielensBlog: http://weblogs.asp.net/janEmail: [email protected] Architect & TrainerU2U, Brussels
AgendaAgenda
WSS v2 versus WSS v3 ArchitectureWSS v3 Storage EnhancementsWSS v3 Customization EnhancementsWhat’s New for Developers in WSS v3
WSS v3 ArchitectureWSS v3 Architecture
Software RequirementsWindows Server 2003 .NET Framework 2.0IIS 6.0 (worker process isolation mode)Windows Workflow Foundation (WF)SQL Server 2000 (SP3) or SQL Server 2005
Better ASP.NET 2.0 citizen than WSS v2No more ISAPI filterWSS extensions now based on HttpModules and HttpHandlers
WSS v2 versus WSS v3WSS v2 versus WSS v3WSS v2
IIS
WSS v2 ISAPI Filter
ASP.NETHandler
ASP.NET
WSS ISAPIExtension
WSSUnmanaged
Code
Config Content
Request
.aspx
.asmx
Excluded Paths Included Paths
WSS v3
IIS
ASP.NETHTTP Modules
Config
Content
Request
ASP.NETHTTP Handlers
WSS HTTP Modules
WSS HTTP Handlers
What are the benefits?What are the benefits?
Inline now with ASP.NET 2.0 best practices for extensibilityVirtual path provider allows for clean access to the SharePoint pages stored in the databaseNew Web Part infrastructureBranding and customization based on ASP.NET 2.0 Master Pages and Provider Model
Forms-based authenticationNavigation controls
WSS v3 Storage WSS v3 Storage General Platform EnhancementsGeneral Platform Enhancements
Top RequestsRecycle BinSecurity TrimmingItem and Document Level SecurityForced Check-OutMobile Support
WSS v3 StorageWSS v3 StorageList and Document List and Document
EnhancementsEnhancementsNew Field Types
Multi-value lookups, append-only, person
Column Indexing and Cross-Site QueriesVersioning
Major and minor versionsVersion pruningVersioning in lists
RSS Feed SupportOff-line support in Outlook ’12’
WSS v3 StorageWSS v3 StorageExtensibility EnhancementsExtensibility Enhancements
Shared ColumnsContent Types
List and libraries can now store more than one type of item or documentEvery type can have its own metadata, workflow, event handlers and policies
Field Types are extensible now
Windows WorkFlow Windows WorkFlow FoundationFoundation
Single workflow technology for WindowsExtensible framework & toolsetBase for Microsoft products and customer solutionsTransform workflow from niche to mainstream paradigmExposed to developers via WinFX
Workflow BasicsWorkflow BasicsCustom Workflow consists out of one or more activities
Activity LibrariesWF Base Activity LibraryO12 Activity LibraryCustom Libraries
Activity is a classEvents/PropertiesMethods called by WF Runtime engine
WF created using Visual Studio.NET
Deployed as .NET assembly
WSS v3 and WFWSS v3 and WF
WSS supports workflows on items and documentsWorkflows associated with list, document library or content typeWorkflow started and completed by user actions
Workflows are managed using WSS task listsWorkflow-related task lists use standard WSS task list schemaWorkflow activities create and update task items as required
Workflows are tracked through history tablesAllows users to see workflow progress
Creating Custom WorkflowsCreating Custom WorkflowsSharePoint Designer
for corporate Web designers
ActivitiesRe-use OOB/deployed activities
FormsAutogenerated Forms-ASPX
Deployment Workflow authored live against serverRuntime compilation
Development ModelWizard-based workflow designer
Visual Studio Workflow Designerfor professional developers
ActivitiesRe-use OOB/deployed activitiesCan author new activities
Forms Designed Forms-InfoPath-ASPX
DeploymentSolutions package generatedBox administrator installable
Development ModelVisual workflow designer
WSS v3 Master PagesWSS v3 Master Pages
Master Pages are a primary feature in ASP.NET 2.0Provides effective template solution for pages within siteContent page reuses chrome from master pageContent page fill in placeholders defined in master page
WSS v3 embraces ASP.NET master pagesWSS sites such as Team Site built using a standard master pageQuick and easy to change look and feel of entire siteEditing master page can be done with SharePoint Site Designer
How do master pages work in WSS?Each site page in WSS site “points” to a master pageEach WSS site has a Master Page Gallery (MPG)
WSS v3 Features FrameworkWSS v3 Features Framework
Innovation to enhance modular provisioningGroup logical elements into scenario-driven “features”Features can be add to and reused across site definitionsNew features can be activated in existing site to add functionalityFeatures scoped at web, site, web application, farm
Web Parts in WSS v3Web Parts in WSS v3
WSS V2 RuntimeWSS V2 Runtime
WSS Web PartsWSS Web Parts
WSS V3 RuntimeWSS V3 RuntimeASP.NET 2.0 RuntimeASP.NET 2.0 Runtime
ASP Web PartsASP Web PartsASP Web PartsASP Web Parts
Hybrid Web PartsHybrid Web Parts
WSS Web PartsWSS Web Parts
WSS Web PartsWSS Web Parts
ASP.NET 2.0 Web Parts ASP.NET 2.0 Web Parts in WSS v3in WSS v3
Web Parts derive from WebPart base classAll Web Part inherit common functionally
using System;using System.Web.UI;using System.Web.UI.WebControls.WebParts;
namespace LitwareWebParts {
public class HelloWorldWebPart : WebPart { protected override void OnPreRender(EventArgs e) { this.Title = "Litware Project Revenue"; }
protected override void RenderContents(HtmlTextWriter writer) { writer.Write("Hello, world"); } }}
WSS v3 Event HandlersWSS v3 Event HandlersEvents architecture significantly improved
Events supported for lists, document libraries and content typesEvents supported for changes to list schema as well as itemsEvents supported at site collection and site levelEvents supported for incoming email messagesSupport for synchronous events and asynchronous eventsSynchronous events occur before the fact and are cancel-able
How do you get events to workCreate custom class inheriting a WSS receiver class e.g. SPItemEventReceiver or SPWebEventRecieverCompile class into assembly DLL and install in GACAdd event configuration by installing and activating a feature
SummarySummaryWSS v3 as a solutions framework
Particularly suited for building scalable Web-enabled applicationsWSS "V3" provides out-of-box collaboration solutionsWSS "V3" provides platform for Office servers technology
Operating System Services
Database Search Workflow
ASP.NET (Web Parts, Personalization, Master Pages, Provider Model for navigation, security, etc.)
WSS "V3" Core Workspace Services
StorageRepositoryMetadataVersioningBackup
SecurityRights/RolesPluggable AuthPer ItemRights Trimming
MgmtAdmin UXDelegationProvisioningMonitoring
TopologyConfig MgmtFarm ServicesFeature PolicyExtranet
Site ModelRenderingTemplatesNavigationVisual Blueprint
APIsFields/Forms OM and SOAPEventsDeployment
Collaboration
ECM Portal Search BPM BI Project
Office 12 Solutions Built On WSS V3
My weblog: http://weblogs.asp.net/jan Sign up for Beta2: http://www.microsoft.com/office/preview/default.mspx