Windows SharePoint Services “v3”: Using ASP.NET 2.0 Technology

Download Report

Transcript Windows SharePoint Services “v3”: Using ASP.NET 2.0 Technology

Windows SharePoint Services “v3”:
Using ASP.NET 2.0 Technology To
Extend Pages, Sites, And Server Farms
Mike Ammerlaan
OFF405
Program Manager
Microsoft Corporation
Office “12” : Server Investments
Better empowerment, TCO and developer productivity
Server-based
spreadsheets plus BI
portals built on SQL
Server Analysis Services
Server-based forms
and workflow with
smart client and
browser interfaces
Business
Intelligence
Business
Processes
Next generation e-mail,
project management,
workflow, blog and
wiki support
Collaboration
Windows
SharePoint
Services
Portal
Enhanced SharePoint
Portal aggregation and
personalization
Site Provisioning, Storage,
Security, Management, APIs
Content
Management
Search
Integrated document,
records and Web content
management
Great relevance
with rich people and
business data search
Unified ASP.NET 2.0
workspace foundation for
scalability and extensibility
WSS as Platform
Platform Pieces
Data Infrastructure
Page and Rendering Model
Object Model, Web Services, Events
Document Management, Workflow
Provisioning System
WSS Development Scenarios
Components
Data Infrastructure (Documents and Lists)
Branding and Customization
Site Solutions
Workflow and Business Processes
Pages and Providers
Agenda
ASP.NET Integration Goals and Benefits
Web Parts
Master Pages
Forms and Field Types
Authentication
ASP.NET Integration
Windows
SharePoint
Services
“Version 2”
Windows SharePoint Services
“v2”
ASP.NET 1.1
ASP.NET 2.0
Windows
SharePoint
Services
“Version 3”
Windows SharePoint Services “v3”
ASP.NET And SharePoint
Services
Goals
Build more directly on top of ASP.NET
Less “SharePointisms”
Let more ASP.NET functionality
Move core functionality to ASP.NET
ASP.NET Integration
Internet
Explorer
Windows
SharePoint
Services
“Version 2”
Windows
SharePoint
Services
“Version 3”
HTTP
SharePoint
IIS
Personalization
Office
ASPX Parser
FP RPC
SharePoint
ISAPI Filter
Front
Page
ASP.NET
SOAP
Window
Explorer
WebDav
Internet
Explorer
HTTP
Content DB
SharePoint
Page Handler
ASP.NET
ISAPI Filter
IIS
ASPX Parser
File System
ASPX Rendering
SharePoint
Content DB
ASP.NET
Office
FP RPC
File Provider
Page Filter
File System
Front
Page
SOAP
Personalization
ASPX Parser
Window
Explorer
WebDav
ASPX Rendering
Benefits Of Integration
Makes it easier for developers to build
on top
Enable developers to use ASP.NET services,
like HttpApplication or HttpModules
Provide WSS facilities as standardized
services [SiteMap]
Consume more ASP.NET interfaces
Membership, Role Providers
More consistency
ASP.NET Features Shine Through
Support for .ascx controls in pages
Resource support for _layouts pages, etc.
Compilation and safe code control
Customized pages can have code
Customized pages can be compiled for
performance
Building On IIS/ASP.NET
Web Applications
WSS now creates its own application
Does not “take over” the default app
No need for “exclusions”
Unified application domains
Centralized Web configuration
management object model
Agenda
ASP.NET Integration Goals and Benefits
Web Parts
Master Pages
Forms and Field Types
Authentication
Web Part Improvements
Web Parts are now in ASP.NET 2.0
ASP.NET 2.0 Web Parts supported
Full Compatibility for WSS “v2” Web Parts
WSS “v2” Web Part class rebased
on .NET 2.0 web parts
MyV2WebPart ->
Microsoft.SharePoint.WebPartPages.WebPart ->
Microsoft.Web.UI.WebControls.WebParts.WebPart
Improved user interface for Web Parts
Web Part Serialization
XmlSerialization vs. TypeConverters
.webpart files/.dwp files format support
Web parts based on WSS.WebPart can
serialize either way
ASP.NET 2.0 Web Parts
ASP.NET Web Part
Connections
Similar Connection Types
ICell -> IField, IList -> ITable
Automatic translation from WSS v2 types
ASP.NET 2.0 adds support:
custom connection interfaces
custom transformers
ASP.NET 2.0
Web Part Connections
Integration Limitations
Cannot use ASP.NET 2.0 Web Part Pages;
not directly compatible as-is
Pages must include SPWebPartZones and
SPWebPartManager
This is done to automatically handle compatibility
issues
No built-in support for treating .ASCX files
(user controls) as Web Parts
You can use .ASCXs in pages, though
Wrappers for .ASCXs can and will be created
Which Web Part Technology Should
You Use?
Pros to ASP.NET 2.0 Web Parts:
Usable in WSS and in non-WSS ASP.NET 2.0
applications
Pros to SharePoint Web Parts:
Client side scripting & connections
Web Part data caching
WorkItem infrastructure
Where possible, build on base ASP.NET
2.0 Web Part model
Until Version 3…
WSS v2 SP2 to be released by end of
month
Supports .NET 2.0 assemblies
Does not support ASP.NET 2.0 features
WSS Only: SPS 2003 does not support .NET
2.0
You’d need to create a WSS “v2” Web Part
wrapper for ASP.NET 2.0 Web Parts
Introducing “Son of SmartPart”
SmartPart version 2, a.k.a. “Son of SmartPart”
Community tool driven by Jan Tielens of U2U
Enables hosting ASP.NET 2.0 Web Parts and Web User Controls
in WSS “v2” Web Part Pages
(The original SmartPart allowed ASP.NET 1.1 user controls to be
contained in WSS/SPS Web Parts; it’s on www.gotdotnet.com)
Features include:
Connectable Web Parts / user controls
Properties support
Custom Tool Part support
For More Information:
Technology Preview on www.smartpart.info
Forthcoming Webcast
Agenda
ASP.NET Integration Goals and Benefits
Web Parts
Master Pages
Forms and Field Types
Authentication
Master Pages
Each page in WSS “points” to a master page
Each WSS site has a Master Page Gallery (MPG)
Site metadata indicates where WSS looks for a
master page
Content pages (e.g., default.aspx) default to the persite MPG
Form pages (e.g., allitems.aspx) default to the per-site
MPG
Application pages default to the _layouts directory
Office “12” servers will alter site metadata to point
to a common master page gallery
Master Page Tokens
One dynamic token:
~masterurl/default.master
Maps to Spweb.MasterUrl
Static Tokens
~sitecollection/default.master
~site/default.master
Master Pages
in SharePoint Sites
Agenda
ASP.NET Integration Goals and Benefits
Web Parts
Master Pages
Forms and Field Types
Authentication
Forms In SharePoint Services “v3”
Forms now built with ASP.NET controls
Control layout specified by ASP.NET templates
Specify form templates in XML or replace
out-of-box templates
Support creation of new field types which inherit
from a base WSS type
Also:
XSLT-based DataForms
SPDataSource
Use ASP.NET controls that work with data sources
Limitations
Views are still CAML-based
CAML?
“Collaboration Application Markup
Language”
XML dialect for SharePoint list data, views,
fields, queries, etc.
Extremely performant
Support for more commonly-used
alternatives being added with each major
release of WSS
ASP.NET Based Forms
Override out-of-box control templates
Form Control
Iterators
Field Controls
Specify form templates
By list type in schema.xml
By content type in feature.xml
Custom Field Types
Extend out-of-the-box field types
Field type XML definition (fldtypes*.xml) &
Base Class
Defines field properties
Example: “Min/Max” value for a number field
Auto generates field UI to collect these properties
Provide a value object
Provide validation
Extensible Field Rendering
Views
Must use CAML for view rendering
Field’s base type is the default
Share field display behavior with views
Forms
Share the CAML view rendering
Define a custom display form rendering
Forms And Field Types
Agenda
ASP.NET Integration Goals and Benefits
Web Parts
Master Pages
Forms and Field Types
Authentication
Authentication
Authentication
Identifies the end user
Identifies the user’s group membership
Windows
Basic, Digest, NTLM, Kerberos
ASP.NET (requires web.config edits)
Forms (locally hosted login form)
Web SSO (remotely hosted login form)
ADFS
Third-parties
Authentication By Smart Clients
A truly clever smart client could
Recognize a HTTP redirect request
Open a browser window for the login form
Submit the form content back to the server
But
It can’t confidently know that the redirect request is for a
logon form URL
Therefore
Users must first visit the site with a browser
Server must issue a (short-lived) persistent cookie
This affects all Office System client applications
Authentication And Zones
Zone = Virtual Server
E.g. intranet and extranet
One authentication provider per zone
Same content can support multiple
authentication providers
ACLs will have a mix of users from
different authentication systems
Recap
Better ASP.NET Integration
ASP.NET Web Parts work in WSS “v3”
Master page functionality & tokens
Form templates
Extensible field types
Forms authentication
Community Resources
At PDC
Sessions
OFF405 (Wed 11:00, Thu 14:15) Windows SharePoint Services: Using
ASP.NET 2.0 Technology to Extend Pages, Sites, and Server Farms
OFF308 (Wed 13:45) Windows SharePoint Services 'v3': Creating and
Defining Custom Templates, Sites, Features, and Solutions
OFF409 (Wed 15:15) Windows SharePoint Services: Advancements in
Document, Content, and Data Storage
OFF310 (Wed 17:00) Windows SharePoint Services: Developing
Collaboration and Tracking Applications
OFF313 (Thu 10:00) Web Content Management Application Development
and Engine Extensibility
OFF321 (Thu 17:15) Surfacing Your Application's Line-of-Business Data and
Actions within Enterprise Portals
Labs:
OFFHOL13 – What’s New in WSS “v3” Feature Walkthrough
OFFHOL14 – ASP.NET 2.0 Interoperability with WSS “v3” (Web Parts and
Master Pages)
Office Experts Lounge
After PDC
MSDN dev centers:
http://msdn.microsoft.com/office/
http://msdn.microsoft.com/sharepoint/
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.