510 likes | 1.02k Views
SharePoint 2010 Development Platform Overview. Name Title Corporation. Agenda. What’s New in SharePoint 2010 for developers New Developer Tools for SharePoint 2010 SharePoint 2010 Integration with PowerShell Claims based identity. What’s New in SharePoint 2010 for developers.
E N D
SharePoint 2010 Development Platform Overview NameTitle Corporation
Agenda • What’s New in SharePoint 2010 for developers • New Developer Tools for SharePoint 2010 • SharePoint 2010 Integration with PowerShell • Claims based identity
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 Clients Microsoft Office SharePoint Server 2007 (MOSS) MS Word Clients Windows SharePoint Services 3.0 (WSS v3) MS Outlook Clients .NET Framework 3.0 Internet Information Services 6.0 or 7.0 Windows Server 2003 or 2008 (32-bit or x64)
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 Microsoft SharePoint Server 2010 MS Word Clients Microsoft SharePoint Foundation 2010 MS Outlook Clients .NET Framework and ASP.NET 3.5 SP1 Internet Information Services 7.0 Windows Server 2008 (x64 only)for Production Environments Windows 7 or Vista (x64 only) for Development Environments only
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
Microsoft SharePoint 2010The business collaboration platform for the Enterprise and the Web • Connect and Empower People • Cut Costs with a Unified Infrastructure • Rapidly Respond to Business Needs Sites Composites Communities Insights Content Search
Major Shifts in SharePoint UI • Server ribbon • In-place editing Popup dialog AJAX refresh
SharePoint 2010 UI demo
SharePoint Application Landscape Business Collaboration Applications Portal for LOB Application Data Single WebPart Solutions SharePoint Core .NET | ASP.NET Customized SharePoint Server 2010 Workloads
SharePoint Terminology Review FarmSPFarm Site Collections Site collection SPSite Root Site Site SPWeb Sub sites Web ApplicationsSPWebApplication Lists Document Library - SPDocumentLibrary List - SPList Field 1 Field 2 Field 3 Field 1 Field 2 Field 3 Item 1 Item 2 Item 3 Item 4 Item -SPListItem File 1 File 2 File 3 File 4 File – SPFile Folder - SPFolder
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)
SharePoint 2010 Developer Dashboard • Developer dashboard can be also enabled using stsadm or PowerShell
SharePoint List ImprovementsCollaborative 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
XSLT Views for ListsView 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
Overview of Data Technologies REST APIs Strongly-typed lists ClientOM Weakly-typed lists Client-side Data Platform Farm Site List Data External Lists ServerOM Server-side Weakly-typed lists LINQ Strongly-typed lists New in 2010 Improved
LINQ to SharePointLanguage 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 • fromoindata.Orderswhereo.Customer.City.Name == "London“selecto;
Client Object ModelRuns on Remote Machine • Simple API to Add, Retrieve, Updateand Manage Data in SharePoint • Commands batched for Performance SharePoint Data Consistent Efficient Client Application .NET CLR Silverlight CLR JavaScript
REST APIs WCF Data Services REST Protocols Atom, JSON feeds SharePoint list data Integration with growing set of Microsoft REST Technologies
Business Connectivity ServicesBrings LOB Data Into SharePoint • SharePoint List with External Data • Read / Write • SharePoint Foundation • Based on the SharePoint 2007 Business Data Catalog Office Apps Client Runtime Offline Operations Cache Design Tools SharePoint Visual Studio 2010 Enterprise Search Development Platform Business Intelligence Enterprise content mgmt Collaboration social SharePoint Designer 2010 ECT Store Runtime Security Solution Packaging Out of the box UI .NET LOB WCF DB Web 2.0 Web Service
SharePoint Events ImprovementsReacting 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
Workflow ImprovementsPopular 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
SharePoint Service ApplicationsNew 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 Client App Consumer Web Part Consumer Web Part WFE SERVER Service Proxy WCF Contract APP SERVER Service Logic SQL SERVER Config Content Custom
Extensible UI Controls • Client Side actions in Ribbon added through Custom Actions • Context Sensitive Ribbon The Ribbon Status Bar Notification Area
Dialog Framework • Keep the user in context • Operations without unnecessary post packs Dialog Framework
Silverlight 3 and SharePoint 2010New 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
Upgrade and PackagingWSP 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
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
How do I develop my customizations? New Developer Tools for SharePoint 2010
Visual Studio 2010Developer 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 Team Foundation Server Integration Web Part Designer 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 SharePoint Business Connectivity Services support Project Types
SharePoint Designer 2010No 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
What does scripting platform improvements mean for developers? SharePoint 2010 Integration with PowerShell
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 customPowerShell snap-ins to streamline development and deployment • Performance benefits for batch operations
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
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 Cmdlets
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
PowerShell in practice and how to create custom cmdlets… demo
What does claims based identity mean for developers Claims based Identity
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
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
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
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
Summary • What’s New in SharePoint 2010 for developers • New Developer Tools for SharePoint 2010 • SharePoint 2010 Integration with PowerShell • Claims based identity