client side programming with sharepoint 2010 - sharepoin saturday vietnam
DESCRIPTION
Presented by Pham Van Trung, this topic introduces the solutions to work with SharePoint 2010 from Client side, including:- SP Client Object Model - SP Silverlight Client Object Model - SP ECMAScript Client Object Model - SP WebServices ; WCF; REST; RPC - Silverlight + JQuery + SP WebServices (http://spservices.codeplex.com/)SharePoint Saturday Vietnam was sponsored by Officience. Visit http://www.officience.com/TRANSCRIPT
![Page 1: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/1.jpg)
Client side programming with SharePoint 2010
Trung Van PHAM
![Page 2: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/2.jpg)
Client side scenarios Story in SharePoint 2007 SharePoint 2010 Client Object Models
Overview of the Client Object Models .NET Client Object Model Silverlight Client Object Model ECMAScript Client Object Model ADO.NET Data Services
JQuery, SP WebServices and Silverlight
Agenda
![Page 3: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/3.jpg)
Scenarios Web Browsers Microsoft Office Applications Custom Applications
Commonly interaction with SharePoint Display SharePoint data Manipulating with SharePoint data
Client side scenarios
![Page 4: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/4.jpg)
Story in SharePoint 2007
SharePoint Server
SharePoint Content DB
SharePointObject Model
Applications
Web UIs
Web Services,
RPC
Web Browsers
ApplicationsCustom Services
![Page 5: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/5.jpg)
Client Object Model provides complete API instead of more services
Provides an abstraction layer to return results as recognizable SharePoint objects
Consistent developer experience across platforms (.NET, ECMAScript, Silverlight)
Overview of the Client Object Models
![Page 6: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/6.jpg)
SharePoint 2010 Client Object Models
SharePoint
Server
SharePoint Content DB
SharePointObject Model
Applications
Client.svc
Client Apps
Client OMs
![Page 7: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/7.jpg)
How does Client OM work?
SharePoint Server
Client Application
Client.svc
Execute:• Command 1• Command 2• Command n
Send result back
Build sequence commands:
• Command 1• Command 2• Command n
Execute Commands
Process result
XML
JSON
![Page 8: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/8.jpg)
Site Collections and Sites Lists, List Items, Views, and List Schemas Files and Folders Web, List, and List Item Property Bags Web Parts Security Content Types Site Templates and Site Collection Operations
Supported Areas
![Page 9: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/9.jpg)
Consistency
Server (Microsoft.SharePoint)
.NET Managed(Microsoft.SharePoint.Client)
Silverlight(Microsoft.SharePoint.Client.Silverlight)
ECMAScript(SP.js)
SPContext ClientContext ClientContext ClientContext
SPSite Site Site Site
SPWeb Web Web Web
SPList List List List
SPListItem ListItem ListItem ListItem
SPField Field Field Field
![Page 10: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/10.jpg)
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI
Files Microsoft.SharePoint.Client.dll (282KB) Microsoft.SharePoint.Client.Runtime.dll (146
KB) Compare to SharePoint Server OM
Microsoft.SharePoint.dll (16.2 MB)
.NET Client Object Model
![Page 11: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/11.jpg)
DEMO 1Getting Started
.NET Client Object Model (cont)
![Page 12: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/12.jpg)
Think about efficiency All the properties are loaded in DEMO1 Specify the properties you need:
ctx.Load(web, w=>w.Title);ctx.Load(list,l=>l.Title, l=>l.ItemCoun);ctx.ExecuteQuery();
.NET Client Object Model (cont)
![Page 13: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/13.jpg)
DEMO 2Specifying properties to load
.NET Client Object Model (cont)
![Page 14: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/14.jpg)
Loading List Items List Items are always loaded using a CAML
Query[[Code]] - tbd
.NET Client Object Model (cont)
![Page 15: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/15.jpg)
DEMO 3Loading List Items
.NET Client Object Model (cont)
![Page 16: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/16.jpg)
DEMO 4Creating and Updating List Items
.NET Client Object Model (cont)
![Page 17: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/17.jpg)
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS\ClientBin
Files: Microsoft.SharePoint.Client.Silverlight.dll
(266K) Microsoft.SharePoint.Client.Silverlight.Runtime.
dll (142K)
Silverlight Client Object Model
![Page 18: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/18.jpg)
[[tbd]] Code
Silverlight Client Object Model (cont)
![Page 19: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/19.jpg)
DEMO 5Creating the Silverlight Web Part
Silverlight Client Object Model (cont)
![Page 20: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/20.jpg)
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS
Files: SP.js (381 KB) Debug version: SP.debug (561 KB)
ECMAScript Object Model
![Page 21: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/21.jpg)
[[tbd]] Code
ECMAScript Object Model (cont)
![Page 22: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/22.jpg)
DEMO 6ECMAScript Object Model
ECMAScript Object Model (cont)
![Page 23: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/23.jpg)
LINQ to SP not implemented in Silverlight ListData.svc provides RESTful access
ADO.NET Data Services
ListData.svcLoads ADO.NET Data Services handler assembly
![Page 24: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/24.jpg)
DEMO 7REST demo
ADO.NET Data Services (c0nt)
![Page 25: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/25.jpg)
SPServices: JQuery Library for SharePoint Web Services Site Url: http://spservices.codeplex.com/
SPServices
![Page 26: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/26.jpg)
DEMO 8JQuery, SPServices and Silverlight
SPServices (cont)
![Page 27: Client side programming with SharePoint 2010 - SharePoin Saturday Vietnam](https://reader035.vdocuments.site/reader035/viewer/2022062704/5561e7a1d8b42af10c8b4eda/html5/thumbnails/27.jpg)
Q & A ?THANK YOU!
Summary