Name Title Corporation Agenda Whats New in SharePoint 2010 for developers New Developer Tools for SharePoint 2010 SharePoint 2010 Integration with PowerShell Claims based identity Whats New in SharePoint ID: 157468
Download Presentation The PPT/PDF document "SharePoint 2010 Development Platform Ove..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
SharePoint 2010 Development Platform Overview
Name
Title
CorporationSlide3
Agenda
What’s New in SharePoint
2010 for developers
New
Developer Tools for SharePoint 2010
SharePoint 2010 Integration with
PowerShell
Claims based identitySlide4
What’s New in SharePoint
2010 for developersSlide5
SharePoint 2007
Windows SharePoint Services (WSS v3)
Site and Workspace Provisioning Engine
Out-of-the-box Collaboration Services
Microsoft Office SharePoint Server (MOSS)
User Profiles, Search, Workflows, WCM
BDC, Excel Services, Forms Services, ECM
Windows SharePoint Services 3.0 (WSS v3)
Browser Clients
MS Word Clients
MS Outlook Clients
Microsoft Office SharePoint Server 2007 (MOSS)
Windows Server 2003 or 2008 (32-bit or x64)
Internet Information Services 6.0 or 7.0
.NET Framework 3.0Slide6
SharePoint Server 2010 and related technologies
An evolved version of MOSS and WSS v3
Microsoft SharePoint Server
2010 (SPS)
Microsoft SharePoint Foundation 2010
(SPF)
Development can now be done on client OS
Significant enhancement for many development
teams
Microsoft SharePoint Foundation 2010
Browser Clients
MS Word Clients
MS Outlook Clients
Microsoft SharePoint Server 2010
Windows Server 2008 (x64 only)
for Production Environments
Windows 7
or
Vista (x64 only)
for Development Environments only
Internet Information Services 7.0
.NET Framework and ASP.NET 3.5 SP1Slide7
Development environment
Requires x64 operating system
Windows Server 2008
Windows Server 2008R2
Windows
7
(only for development)
Windows Vista SP2
(only for development)SharePoint 2010 must be installed locallySharePoint Foundation or SharePoint ServerVisual Studio 2010Additional software as required in the projectSlide8
Microsoft SharePoint 2010
The
business collaboration platform
for the Enterprise and the Web
Connect and Empower People
Cut Costs with a Unified Infrastructure
Rapidly Respond to Business Needs
Communities
Search
Sites
Composites
Content
InsightsSlide9
SharePoint 2010 Team SiteSlide10
Major Shifts in SharePoint UI
Server ribbon
In-place editing
Popup dialog
AJAX refreshSlide11
SharePoint 2010 UI
demoSlide12
SharePoint Application Landscape
SharePoint Core
.NET | ASP.NET
Customized SharePoint Server 2010
Workloads
Portal for LOB Application
Data
Single
WebPart
Solutions
Business Collaboration ApplicationsSlide13
SharePoint Terminology Review
Farm
SPFarm
Web Applications
SPWebApplication
Site Collections
Site collection
SPSite
Site
SPWeb
Root Site
Sub sites
Field 1 Field 2 Field 3
Item 1
Item 2
Item 3
Item 4
Item -
SPListItem
List -
SPList
Field 1 Field 2 Field 3
File 1
File 2
File 3
File 4
File –
SPFile
Folder -
SPFolder
Document Library -
SPDocumentLibrary
ListsSlide14
Remember This Code from WSS v3?Slide15
Debugging SharePoint 2010 Code
Make sure that your start VS 2010 as Admin
Required for attaching VS 2010 debugger to IIS Worker Process (W3WP.EXE)Slide16
SharePoint 2010 Developer Dashboard
Developer dashboard can be also enabled using stsadm or PowerShellSlide17
SharePoint 2010 OM & Development Dashboard
d
emoSlide18
SharePoint Development PlatformSlide19
SharePoint List Improvements
Collaborative Data Store
Relationships with Cascade or Block
Transacted Cascading Deletion
Restriction of Deletion
Validation with Excel Like Formula
Formula-based Validation
Ensure Uniqueness
Lookup to Multiple ColumnsList Index Auto-CreationScalability and PerformanceList Query ThrottlingAnd we keep from SharePoint 2007Self Service List Creation
Out of the Box List User InterfaceBuilt in Authorization FormsSlide20
XSLT Views for Lists
View Design in UI and SPD
Replaces CAML for Views
CAML Still Used for Queries
Better Performance
Easier edit in SPD
Ribbon UX: sort/filter/group, conditional formatting,…
Simpler Coding Experience
Standard language, shared default XSLT
XSLT-based views are now defaultSharePoint ListsExternal ListsSlide21
Overview of Data Technologies
LINQ
Farm
Site
List Data
External Lists
Data Platform
Client-side
Server-side
Strongly-typed lists
Weakly-typed lists
Strongly-typed lists
Weakly-typed lists
Server
OM
Client
OM
REST APIs
New in 2010
ImprovedSlide22
LINQ to SharePoint
Language Integrated Query
Entity based programming
Strong Types and
Intellisense
Supports List Joins and Projections
Join lists on lookup field between them
Join multiple lists (A->B->C)
Project any field from joined list in a query without changes in list schema
Example
from
o in
data.Orders
where
o.Customer.City.Name ==
"London“
select
o
;Slide23
Client Object Model
Runs on Remote Machine
Simple API to Add, Retrieve, Update
and Manage Data in SharePoint
Commands batched for Performance
.NET CLR
Silverlight CLR
JavaScript
Client Application
Consistent
Efficient
SharePoint DataSlide24
REST APIs
Integration with growing set of Microsoft REST Technologies
SharePoint list
data
WCF
Data Services REST Protocols Atom, JSON feedsSlide25
Office Apps
Client Runtime
Offline Operations
Cache
Development
Platform
Business Intelligence
Enterprise content mgmt
Collaboration social
Enterprise
Search
ECT Store
Runtime
Security
Solution Packaging
Out of the box UI
Web 2.0
DB
WCF
Web Service
.NET LOB
SharePoint
Design Tools
SharePoint Designer 2010
Visual Studio 2010
Business Connectivity
Services
Brings LOB Data Into SharePoint
SharePoint List with External Data
Read / Write
SharePoint Foundation
Based on the SharePoint 2007 Business Data CatalogSlide26
SharePoint Events Improvements
Reacting to Server Events
Events Project Templates in Visual Studio 2010
After-Synchronous Events
Simpler Event Behavior
Site-scoped events
Web creation events
List creation events
More User Interface Control
Custom Error PagesSlide27
Workflow Improvements
Popular and Successful Base in 2007
Visual Studio 2010 Initiation and Association Forms
New Workflow Design Surface in SPD
Import SPD Workflows into Visual Studio
Build SPD Actions in Visual Studio
Visio 2010 Workflow Design
Browser Based Visualization
High Privilege Workflows
Control Where Service RunsSite WorkflowsReusable Declarative Workflows
List Workflow Event ReceiversPluggable Workflow ServicesPerformance and ScaleFully Customizable OOB Workflow
Approval DesignerSlide28
SharePoint Service Applications
New Service App Architecture
Upgrade to Shared Service Provider from SharePoint 2007
More Flexible Services Model
Builds on WCF Knowledge
Management
Extensible Administration Roles
User Interface and
PowerShell
Browser
Consumer
Web Part
WFE SERVER
Consumer
Web Part
Service Proxy
WCF Contract
Service Logic
APP
SERVER
SQL
SERVER
Client App
Content
Config
CustomSlide29
Extensible UI Controls
Client Side actions in Ribbon added through Custom Actions
Context Sensitive Ribbon
Status Bar
Notification Area
The RibbonSlide30
Dialog Framework
Keep the user in context
Operations without unnecessary post packs
Dialog FrameworkSlide31
Silverlight 3 and SharePoint 2010
New UI Option
Media Player Web Part
Organization Browser
List and Site Creation
Office Web Applications
Silverlight Web Part
Simple way to upload
Silverlight CLR compatible
Client Object ModelCall SharePoint API’s
REST APIsSimplifies List data accessSupport for remotely hosted Silverlight applicationsSlide32
Upgrade and Packaging
WSP as the SharePoint Installer
SPF Solution Package (WSP)
Visual Upgrade from version to version
SharePoint UI Save To Template
Better-defined Upgrade Semantics
Declarative upgrade mappings
Upgrade callouts for features
WSPs as unified developer format
Works in both site collections and on machineSlide33
Instrumentation
and monitoring
improvements for developers
Out-of-the-box APIs for logging to trace and event logs
Supports custom categories to be exposed from diagnostic logging UI
Out-of-the-box APIs for code monitoring
Capability to write messages for the developer dashboard streamSlide34
New Developer Tools for SharePoint 2010
How do I develop my customizations?Slide35
Visual Studio 2010
Developer Tools for SharePoint
Support for SharePoint Sandboxed Solutions
Import WSP from SharePoint Designer
including Workflow
Build Workflow Steps for SharePoint Designer
Extensibility for Development of Additional
SharePoint Artifacts
SharePoint Business Connectivity Services support
Web Part, BCS and Workflow designers
Package and Deploy SharePoint projects
Generate WSP for Production Deployment
View SharePoint site in Server Explorer
Team Foundation Server Integration
Broad SharePoint Support
Develop, Deploy and Debug
Web Part Designer
Project TypesSlide36
SharePoint Designer 2010
No code tool for SharePoint
Free for creating and editing SharePoint artifacts
New Tools
BDC Entities
List Schema
Custom Actions
Task / Approval Designer
Improved Tools Workflow DesignerPage EditorSharePoint Designer work can be upgraded to Visual Studio 2010“Save site as template” in SharePoint Site Settings creates WSP
WSP imports into Visual Studio 2010 as new projectSlide37
SharePoint Designer 2010
demoSlide38
SharePoint 2010 Integration with PowerShell
What does scripting platform improvements mean for developers?Slide39
What is Windows PowerShell?
An interactive
command-line
and
task-based
scripting technology.
Allows
IT professionals and developers to accelerate automation
of tasks. A single mindset for management of many different systems (e.g.: AD, Exchange, Windows)Extensible framework that can be embedded inside other applications
You can develop your own custom PowerShell snap-ins to streamline development and deploymentPerformance benefits for batch operationsSlide40
Getting Started with PowerShell
(4) Redirect output to new text file
(2) Filter results using where clause
(1) Execute a Cmdlet
(3) Add formatting instructionsSlide41
The SharePoint Powershell Snapin
Explicitly load SharePoint PowerShell snap-in from console or script
Implicitly load snap-in by using link in Windows Start menu
Begin using SharePoint CmdletsSlide42
Creating a Custom Powershell Snap-in
PowerShell was created with extensibility in mind
SharePoint developers can create custom snap-ins
STSADM extensions are now considered deprecatedSlide43
PowerShell in practice and how to create custom cmdlets
…
demoSlide44
Claims based Identity
What does claims based identity mean for developersSlide45
SharePoint 2010 Security
SharePoint 2010 radically changes authentication
SPF moves to claim-based security model
SharePoint 2007 style now considered legacy mode
Why?
It decouples SPF from authentication provider
Supports multiple authentication providers for one URL
Identity can be passed without Kerberos delegation
It enables federation between organizationsACLs configured with DLs, Audiences and OrgsPeoplePicker controls understands claimsSlide46
Claims in SharePoint 2010
Two important scenarios
Incoming claims
Outgoing claims
How do incoming claims work?
Identity token created by external identity STS
SharePoint STS creates claim-based identity
SharePoint STS based on Claims Provider
Incoming claim identity is mapped to SPUserAuthorization of SPUser just like it is in SharePoint 2007Slide47
Development Opportunities
Same as in SharePoint 2007
Write code that creates groups
Write code that assigns permissions
New to SharePoint 2010
Create a custom claims-provider
Create an identity transformation service with Geneva ServerSlide48
Developing and deploying claims providers
Claims providers have two roles
Augmentation – Add additional claims into user token
Picking -
provides listing, resolve, search and friendly display of claims functionality in the people
picker
Custom provider is implemented by inheriting
SPClaimsProvider
Deployment done by creating feature and feature receiver that derives from SPClaimsProviderFeatureReceiver classSlide49
Summary
What’s New in SharePoint 2010 for developers
New Developer Tools for SharePoint 2010
SharePoint 2010 Integration with PowerShell
Claims based identitySlide50Slide51
©
2010 Microsoft
Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.