Vous êtes sur la page 1sur 51

Advanced Developer Training

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint 2010 Development
Platform Overview

Name
Title
Corporation
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Agenda
What’s New in SharePoint 2010 for
developers
New Developer Tools for SharePoint 2010
SharePoint 2010 Integration with
PowerShell
Claims based identity

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
WHAT’S NEW IN SHAREPOINT
2010 FOR DEVELOPERS

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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
Browser
Browser Clients
Clients Microsoft
Microsoft Office
Office SharePoint
SharePoint Server
Server 2007
2007 (MOSS)
(MOSS)
MS
MS Word
Word Clients
Clients
Windows
Windows SharePoint
SharePoint Services
Services 3.0
3.0 (WSS
(WSS v3)
v3)
MS
MS Outlook
Outlook Clients
Clients
.NET
.NET Framework
Framework 3.0
3.0

Internet
Internet Information
Information Services
Services 6.0
6.0 or
or 7.0
7.0

Windows
Windows Server
Server 2003
2003 or
or 2008
2008 (32-bit
(32-bit or
or x64)
x64)

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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
Browser Clients
Browser Clients Microsoft
Microsoft SharePoint
SharePoint Server
Server 2010
2010
MS
MS Word
Word Clients
Clients
Microsoft
Microsoft SharePoint
SharePoint Foundation
Foundation 2010
2010
MS
MS Outlook
Outlook Clients
Clients
.NET
.NET Framework
Framework and
and ASP.NET
ASP.NET 3.5
3.5 SP1
SP1

Internet
Internet Information
Information Services
Services 7.0
7.0

Windows
Windows Server
Server 2008
2008 (x64
(x64 only)
only) for
for Production
Production Environments
Environments
Windows 7 or Vista (x64 only)
Windows 7 or Vista (x64 only) for Development Environments only
for Development Environments only

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 locally
SharePoint Foundation or SharePoint Server
Visual Studio 2010
Additional software as required in the
project
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Microsoft SharePoint 2010
The business collaboration platform for the Enterprise and the Web

Sites

Connect and Empower People


Composites Communities
Cut Costs with a Unified Infrastructure

Rapidly Respond to Business Needs


Insights Content

Search

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint 2010 Team Site

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Major Shifts in SharePoint UI
Server ribbon

In-place editing

Popup dialog

AJAX refresh

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint 2010 UI

demo
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint Application Landscape
Business
Collaboration
Applications

Portal for LOB SharePoint Single


Application Core WebPart
Data .NET | ASP.NET Solutions

Customized
SharePoint
Server 2010
Workloads

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint Terminology Review
Farm
SPFarm
Site Collections
Site collection
Root Site SPSite

Site
SPWeb

Sub sites
Web Applications
SPWebApplication
Lists

List - SPList Document Library - SPDocumentLibrary


Field 1 Field 2 Field 3 Field 1 Field 2 Field 3
Item 1 File 1
Item - Item 2 File – SPFile
File 2
SPListItem Item 3 Folder - SPFolder
File 3
Item 4 File 4

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Remember This Code from WSS v3?

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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)

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint 2010 Developer Dashboard

Developer
dashboard can
be also enabled
using stsadm or
PowerShell

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint 2010 OM &
Development Dashboard

demo
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint Development Platform

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 Columns
List Index Auto-Creation
Scalability and Performance
List Query Throttling
And we keep from SharePoint 2007
Self Service List Creation
Out of the Box List User Interface
Built in Authorization Forms
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 default


SharePoint Lists
External Lists
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Overview of Data Technologies
REST APIs Strongly-typed lists

Client-side Client OM Weakly-typed lists

Data Platform
Farm Site List Data External Lists

Server-side Server OM Weakly-typed lists

LINQ Strongly-typed lists

New in 2010
Improved

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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;
©2010 Microsoft . All rights reserved. RTM Content - Published May 2010
Corporation
Client Object Model
Runs on Remote Machine
Simple API to Add, Retrieve, Update
and Manage Data in SharePoint
Commands batched for Performance

SharePoint Data

Consistent Efficient

Client Application

.NET CLR Silverlight CLR JavaScript

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
REST APIs WCF Data Services REST
Protocols Atom, JSON
feeds

SharePoint
Integration with growing list data
set of Microsoft REST
Technologies
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 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 Catalog

Office Apps

Client
Client Offline
Offline
Runtime
Runtime Operations
Operations Cache
Cache

Design
Design Tools
Tools SharePoint
Visual
Visual Studio
Studio Development
Development Business
Business Enterprise
Enterprise Collaboration
Collaboration Enterprise
Enterprise
2010
2010 Platform Intelligence content
Platform Intelligence content mgmt
mgmt social
social Search
Search
SharePoint
SharePoint ECT
ECT Solution
Solution Out
Out of
of the
the
Designer Runtime
Runtime Security
Security
Designer 2010
2010 Store
Store Packaging
Packaging box
box UI
UI

.NET LOB
WCF DB
Web Service Web 2.0
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 Pages
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 Runs
Site Workflows
Reusable Declarative Workflows
List Workflow Event Receivers
Pluggable Workflow Services
Performance and Scale
Fully Customizable OOB Workflow
Approval Designer
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint Service Applications
New Service App Architecture
Upgrade to Shared Browser
Browser Client
Client App
App
Service Provider from
SharePoint 2007 Consumer
Consumer Consumer
Consumer

SERVER
Web
Web Part
Part Web
Web Part
Part

WFE
More Flexible Services Service
Service Proxy
Proxy
Model
Builds on WCF WCF
WCF Contract

SERVER
Contract
Knowledge

APP
Service
Service Logic
Management
Logic

Extensible Administration
Roles

SERVER
SQL
User Interface and
Config
Config Content
Content Custom
Custom
PowerShell
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Extensible UI Controls
Client Side actions in Ribbon added through
Custom Actions
Context Sensitive Ribbon
The Ribbon

Status Bar
Notification Area

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Dialog Framework
Keep the user in context
Operations without unnecessary post packs

Dialog
Dialog Framework
Framework

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 Model
Call SharePoint API’s
REST APIs
Simplifies List data access
Support for remotely hosted Silverlight applications

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 machine

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 stream

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
How do I develop my customizations?

NEW DEVELOPER TOOLS FOR


SHAREPOINT 2010

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Visual Studio 2010
Developer Tools for SharePoint
Develop, Deploy and Debug
Web Part, BCS and Workflow designers
Package and Deploy SharePoint projects
Generate WSP for Production Deployment
View SharePoint site in Server Explorer Web
Web Part
Part Designer
Designer

Team Foundation Server Integration


Broad SharePoint Support
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 Project
Project Types
Types
SharePoint Business Connectivity Services
support
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 Designer
Page Editor
SharePoint 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 project

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
SharePoint Designer 2010

demo
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
What does scripting platform improvements mean for developers?

SHAREPOINT 2010 INTEGRATION


WITH POWERSHELL

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 deployment
Performance benefits for batch operations

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Getting Started with PowerShell
(1) Execute a
Cmdlet

(2) Filter results


using where clause

(3) Add formatting


instructions

(4) Redirect output to new


text file

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
The SharePoint Powershell Snapin
Explicitly load SharePoint PowerShell snap-in from
console or script
Begin using
SharePoint
Cmdlets

Implicitly load snap-in by using link in Windows


Start menu

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 deprecated

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
PowerShell in practice and
how to create custom
cmdlets…

demo
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
What does claims based identity mean for developers

CLAIMS BASED IDENTITY

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 organizations
ACLs configured with DLs, Audiences and Orgs
PeoplePicker controls understands claims

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 SPUser
Authorization of SPUser just like it is in SharePoint 2007

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 Server

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
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 class

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
Summary
What’s New in SharePoint 2010 for
developers
New Developer Tools for SharePoint 2010
SharePoint 2010 Integration with
PowerShell
Claims based identity

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010
© 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.

©2010 Microsoft Corporation. All rights reserved. RTM Content - Published May 2010

Vous aimerez peut-être aussi