SlideShare a Scribd company logo
1 of 19
Download to read offline
Melbourne
October 2010
Developer look at the
Client Object Model
Chris O’Connor
Senior Consultant
OBS
www.sharepointroot.com
@grumpywookie
Hashtag : #spsmelbourne
Sponsors
Melbourne
October 2010
Agenda
SharePoint API – from Client Applications
• Windows Client (WinForm)
• JavaScript (ASCX)
• Silverlight
Code examples + demo
Questions & Answers
Melbourne
October 2010
Remote Calls to SharePoint
History – what we had for SharePoint 2007
Web Services
eg. http://server/_vti_bin/Lists.asmx
New – for SharePoint 2010
Client Object Model
Cut-down version of SharePoint API
Can still use Web Services (and JSON too)
Overview
Melbourne
October 2010
Client Object Model
Three (!) versions of Client Object Model
Wrappers for the SharePoint API (DLLs)
Development + coding using :
.NET CLR – C# and VB.NET
Silverlight
JavaScript (ECMAScript)
SharePoint 2010
Melbourne
October 2010
Client Object Model
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
Melbourne
October 2010
Client Object Model
Syntax
Melbourne
October 2010
Client.svc
Server
OM
Content
database
JavaScript OM
Proxy
Managed OM
Proxy
.NET CLR / Silverlight
JavaScript Code
XML Request
XML Request
JSON Response
JSON Response
Browser
Managed Client
SharePoint Server
Melbourne
October 2010
Client Object Model
Visual Studio 2010
SharePoint 2010
Example : News / Announcements
Add to News List (ListItems)
Retrieve & display items from the News List
Demo
Melbourne
October 2010
Client Object Model
Windows Application (C#)
Add references
Microsoft.SharePoint.Client
Microsoft.SharePoint.Client.Runtime
Need to deploy these DLL’s with the app
DEMO…>
.NET CLR
Melbourne
October 2010
Client Object Model
Other Uses :
Could do the same in a console app
Or VSTO Add-in for Outlook
Notes :
Will run in security context of ‘user’
Sandboxed solutions
Can do asynchronous call+delegate
.NET CLR
Melbourne
October 2010
Client Object Model
Create ASCX
Include JavaScript code in mark-up
No code behind, or DLL (class)
ASCX will then be hosted in Master Page
DEMO…>
JavaScript
Melbourne
October 2010
Client Object Model
Other Uses :
Include jQuery
Timer + animation – then call ‘next item’
Notes :
<SharePoint:ScriptLink Name="SP.js" runat="server"
OnDemand="true" Localizable="false" />
Optionally : SP.debug.js
JavaScript
Melbourne
October 2010
Client Object Model
Limitations of JavaScript
Can only be from SharePoint
Not another site/URL – XSS
Can’t use from a different SP Site either
Light weight
Sandboxed – code if not able to deploy DLL
JavaScript
Melbourne
October 2010
Client Object Model
Runs within Silverlight (browser)
Design surface – Canvas, Brush, StackPanel, etc
C# code for SharePoint API
Add DLLs from TEMPLATELAYOUTSClientBin
Microsoft.SharePoint.Client.Silverlight
Microsoft.SharePoint.Client.Silverlight.Runtime
DEMO…>
Silverlight
Melbourne
October 2010
Client Object Model
Other Uses :
Highly customised & fluid user interfaces
The sky is the limit
Notes :
Easy with XAP in Document Library
Can be tricky with managing UI thread, etc
Requires Silverlight on client PC (browser plug-in)
Silverlight
Melbourne
October 2010
Client Object Model
Wrap-up – quick look at Client Object Model
THREE different versions :
.NET CLR
JavaScript (ECMAScript)
Silverlight
Familiar developer experience (C#)
SharePoint 2010
Melbourne
October 2010
Question and
Answer
Question and Answer Time
Client Object Model
Melbourne
October 2010
Related ContentContent + Contact
Slides + demo code (soon !)
http://www.sharepointroot.com
Twitter : @grumpywookie
Email : chris@grumpywookie.com
** GIVEAWAY : MSDN Subscription (!!)
Melbourne
October 2010
Thanks For Listening!
Be sure to submit your feedback
if you want to be in the draw to
win the Xbox 360 and other prizes!
Sponsors

More Related Content

What's hot

Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2Derek Gusoff
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.netSanket Jagare
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 Fabio Franzini
 
REPORT ON ASP.NET
REPORT ON ASP.NETREPORT ON ASP.NET
REPORT ON ASP.NETLOKESH
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...SPTechCon
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...Fabio Franzini
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slideFabio Franzini
 
Spca2014 js link and display templates hatch
Spca2014 js link and display templates hatchSpca2014 js link and display templates hatch
Spca2014 js link and display templates hatchNCCOMMS
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingBill Wolff
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netPankaj Kushwaha
 
Développement cross-plateforme sans compromis avec Xamarin
Développement cross-plateforme sans compromis avec XamarinDéveloppement cross-plateforme sans compromis avec Xamarin
Développement cross-plateforme sans compromis avec XamarinMicrosoft
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netshan km
 
STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010Shakir Majeed Khan
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationVan Staub, MBA
 
Angular JS, steal the idea
Angular JS, steal the ideaAngular JS, steal the idea
Angular JS, steal the ideaScott Lee
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationabhishek singh
 

What's hot (20)

Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2
 
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien - Modern SharePoint development: techniques for moving code off...
Chris O'Brien - Modern SharePoint development: techniques for moving code off...
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
 
tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365 tTecniche di sviluppo mobile per share point 2013 e office 365
tTecniche di sviluppo mobile per share point 2013 e office 365
 
REPORT ON ASP.NET
REPORT ON ASP.NETREPORT ON ASP.NET
REPORT ON ASP.NET
 
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
The Magic Revealed: Four Real-World Examples of Using the Client Object Model...
 
WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...WebNet Conference 2012 - Designing complex applications using html5 and knock...
WebNet Conference 2012 - Designing complex applications using html5 and knock...
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
 
Spca2014 js link and display templates hatch
Spca2014 js link and display templates hatchSpca2014 js link and display templates hatch
Spca2014 js link and display templates hatch
 
SharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side RenderingSharePoint 2013 Client Side Rendering
SharePoint 2013 Client Side Rendering
 
Industrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.netIndustrial training seminar ppt on asp.net
Industrial training seminar ppt on asp.net
 
Développement cross-plateforme sans compromis avec Xamarin
Développement cross-plateforme sans compromis avec XamarinDéveloppement cross-plateforme sans compromis avec Xamarin
Développement cross-plateforme sans compromis avec Xamarin
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme Customization
 
Angular JS, steal the idea
Angular JS, steal the ideaAngular JS, steal the idea
Angular JS, steal the idea
 
Apps for SharePoint
Apps for SharePointApps for SharePoint
Apps for SharePoint
 
Asp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentationAsp.net and .Net Framework ppt presentation
Asp.net and .Net Framework ppt presentation
 

Viewers also liked

C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTERC++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTERgroversimrans
 
EET Specifikace projektu final_v22
EET Specifikace projektu final_v22EET Specifikace projektu final_v22
EET Specifikace projektu final_v22Not Andrej Babiš
 
whiteWfd in vietnam
whiteWfd in vietnamwhiteWfd in vietnam
whiteWfd in vietnamGlen Cho
 
Escala gencatmanualcast
Escala gencatmanualcastEscala gencatmanualcast
Escala gencatmanualcastJoão Cabral
 
Open Source CRM Systeme im Vergleich - echolot digital worx
Open Source CRM Systeme im Vergleich - echolot digital worxOpen Source CRM Systeme im Vergleich - echolot digital worx
Open Source CRM Systeme im Vergleich - echolot digital worxdigital worx
 
Catálego VC Farma
Catálego VC FarmaCatálego VC Farma
Catálego VC FarmaVCS Farma
 
Nuevos caudales cinta de riego aqua-traxx
Nuevos caudales cinta de riego aqua-traxxNuevos caudales cinta de riego aqua-traxx
Nuevos caudales cinta de riego aqua-traxxRisIberia
 
edding main catalogue 2011
edding main catalogue 2011edding main catalogue 2011
edding main catalogue 2011edding
 
Ficha técnica de Sector Financiero - BBVA Banco Continental.
Ficha técnica de Sector Financiero - BBVA Banco Continental.Ficha técnica de Sector Financiero - BBVA Banco Continental.
Ficha técnica de Sector Financiero - BBVA Banco Continental.Grupo Coril
 
AIESEC SISU NatCo report
AIESEC SISU NatCo reportAIESEC SISU NatCo report
AIESEC SISU NatCo reportGinny Tse
 
Case Study: Učíme uživatele předplatnému - Radim Krejčí, Patria Online
Case Study: Učíme uživatele předplatnému - Radim Krejčí, Patria OnlineCase Study: Učíme uživatele předplatnému - Radim Krejčí, Patria Online
Case Study: Učíme uživatele předplatnému - Radim Krejčí, Patria OnlineTUESDAY Business Network
 

Viewers also liked (20)

C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTERC++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
 
Biciplan Monterrey - diagnóstico-biciplan
Biciplan Monterrey -  diagnóstico-biciplanBiciplan Monterrey -  diagnóstico-biciplan
Biciplan Monterrey - diagnóstico-biciplan
 
Cambios psicobiológicos en la adolescencia
Cambios psicobiológicos en la adolescenciaCambios psicobiológicos en la adolescencia
Cambios psicobiológicos en la adolescencia
 
EET Specifikace projektu final_v22
EET Specifikace projektu final_v22EET Specifikace projektu final_v22
EET Specifikace projektu final_v22
 
whiteWfd in vietnam
whiteWfd in vietnamwhiteWfd in vietnam
whiteWfd in vietnam
 
Bondia Lleida 10112011
Bondia Lleida 10112011Bondia Lleida 10112011
Bondia Lleida 10112011
 
Hipertension
HipertensionHipertension
Hipertension
 
OCSJX-14 Fortifier Version 2
OCSJX-14 Fortifier Version 2OCSJX-14 Fortifier Version 2
OCSJX-14 Fortifier Version 2
 
Escala gencatmanualcast
Escala gencatmanualcastEscala gencatmanualcast
Escala gencatmanualcast
 
Open Source CRM Systeme im Vergleich - echolot digital worx
Open Source CRM Systeme im Vergleich - echolot digital worxOpen Source CRM Systeme im Vergleich - echolot digital worx
Open Source CRM Systeme im Vergleich - echolot digital worx
 
Analab
AnalabAnalab
Analab
 
Rutas de Cantabria: Sendero de Labra
Rutas de Cantabria: Sendero de LabraRutas de Cantabria: Sendero de Labra
Rutas de Cantabria: Sendero de Labra
 
Catálego VC Farma
Catálego VC FarmaCatálego VC Farma
Catálego VC Farma
 
Nuevos caudales cinta de riego aqua-traxx
Nuevos caudales cinta de riego aqua-traxxNuevos caudales cinta de riego aqua-traxx
Nuevos caudales cinta de riego aqua-traxx
 
El verdadero amor
El verdadero amorEl verdadero amor
El verdadero amor
 
edding main catalogue 2011
edding main catalogue 2011edding main catalogue 2011
edding main catalogue 2011
 
Ficha técnica de Sector Financiero - BBVA Banco Continental.
Ficha técnica de Sector Financiero - BBVA Banco Continental.Ficha técnica de Sector Financiero - BBVA Banco Continental.
Ficha técnica de Sector Financiero - BBVA Banco Continental.
 
Español
Español Español
Español
 
AIESEC SISU NatCo report
AIESEC SISU NatCo reportAIESEC SISU NatCo report
AIESEC SISU NatCo report
 
Case Study: Učíme uživatele předplatnému - Radim Krejčí, Patria Online
Case Study: Učíme uživatele předplatnému - Radim Krejčí, Patria OnlineCase Study: Učíme uživatele předplatnému - Radim Krejčí, Patria Online
Case Study: Učíme uživatele předplatnému - Radim Krejčí, Patria Online
 

Similar to Developer look at the Client Object Model in SharePoint 2010

4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio AnguloLuis Du Solier
 
Session 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterSession 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterMithun T. Dhar
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patternsukdpe
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for DevsMicrosoftFeed
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Ben Robb
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development Chris O'Connor
 
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...Mahmoud Hamed Mahmoud
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorTimothy McAliley
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012NCCOMMS
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Kashif Imran
 
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformIvan Sanders
 
Taking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices ConferenceTaking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices ConferenceGus Fraser
 
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVPSharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVPAyman El-Hattab
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012daniel plocker
 
Serverless Applications on AWS
Serverless Applications on AWSServerless Applications on AWS
Serverless Applications on AWSDean Bryen
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSPC Adriatics
 

Similar to Developer look at the Client Object Model in SharePoint 2010 (20)

4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo
 
Session 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarterSession 7 - Integrating share point with silverlight firestarter
Session 7 - Integrating share point with silverlight firestarter
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
What’s New for Devs
What’s New for DevsWhat’s New for Devs
What’s New for Devs
 
Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010Introduction to the Client OM in SharePoint 2010
Introduction to the Client OM in SharePoint 2010
 
2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development 2013 - Back to the Future with Client/Server Development
2013 - Back to the Future with Client/Server Development
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
Exam 70-488 Developing Microsoft SharePoint Server 2013 Core Solutions Learni...
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and Blazor
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
 
Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365Develop iOS and Android apps with SharePoint/Office 365
Develop iOS and Android apps with SharePoint/Office 365
 
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer PlatformSoCalCodeCamp SharePoint Server 2010 a Developer Platform
SoCalCodeCamp SharePoint Server 2010 a Developer Platform
 
Taking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices ConferenceTaking SharePoint 2010 Offline - European Best Practices Conference
Taking SharePoint 2010 Offline - European Best Practices Conference
 
SP2010 Developer Tools
SP2010 Developer ToolsSP2010 Developer Tools
SP2010 Developer Tools
 
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVPSharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
SharePoint 2010 as a Development Platform, Ayman El-Hattab MVP
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
 
Serverless Apps on AWS
Serverless Apps on AWS Serverless Apps on AWS
Serverless Apps on AWS
 
Serverless Applications on AWS
Serverless Applications on AWSServerless Applications on AWS
Serverless Applications on AWS
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 

More from Chris O'Connor

Developing Mobile Apps with Office365
Developing Mobile Apps with Office365Developing Mobile Apps with Office365
Developing Mobile Apps with Office365Chris O'Connor
 
2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)Chris O'Connor
 
2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)Chris O'Connor
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQueryChris O'Connor
 
2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbonChris O'Connor
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQueryChris O'Connor
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010Chris O'Connor
 
2015 - PowerShell, C# and JavaScript for Office 365
2015 - PowerShell, C# and JavaScript for Office 3652015 - PowerShell, C# and JavaScript for Office 365
2015 - PowerShell, C# and JavaScript for Office 365Chris O'Connor
 
2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)Chris O'Connor
 
2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePointChris O'Connor
 

More from Chris O'Connor (10)

Developing Mobile Apps with Office365
Developing Mobile Apps with Office365Developing Mobile Apps with Office365
Developing Mobile Apps with Office365
 
2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)2011 - From Zero to productivity (Tech Ed 2011)
2011 - From Zero to productivity (Tech Ed 2011)
 
2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)2011 - jQuery + SharePoint (TechEd)
2011 - jQuery + SharePoint (TechEd)
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
 
2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon2011 - Adding bells & whistles to the ribbon
2011 - Adding bells & whistles to the ribbon
 
2011 - SharePoint + jQuery
2011 - SharePoint + jQuery2011 - SharePoint + jQuery
2011 - SharePoint + jQuery
 
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 20102012 - HTML5, CSS3 and jQuery with SharePoint 2010
2012 - HTML5, CSS3 and jQuery with SharePoint 2010
 
2015 - PowerShell, C# and JavaScript for Office 365
2015 - PowerShell, C# and JavaScript for Office 3652015 - PowerShell, C# and JavaScript for Office 365
2015 - PowerShell, C# and JavaScript for Office 365
 
2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)2014 - The Future Of Forms (InfoPath)
2014 - The Future Of Forms (InfoPath)
 
2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint2014 - Integrating Yammer with SharePoint
2014 - Integrating Yammer with SharePoint
 

Recently uploaded

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Recently uploaded (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

Developer look at the Client Object Model in SharePoint 2010

  • 1. Melbourne October 2010 Developer look at the Client Object Model Chris O’Connor Senior Consultant OBS www.sharepointroot.com @grumpywookie Hashtag : #spsmelbourne Sponsors
  • 2. Melbourne October 2010 Agenda SharePoint API – from Client Applications • Windows Client (WinForm) • JavaScript (ASCX) • Silverlight Code examples + demo Questions & Answers
  • 3. Melbourne October 2010 Remote Calls to SharePoint History – what we had for SharePoint 2007 Web Services eg. http://server/_vti_bin/Lists.asmx New – for SharePoint 2010 Client Object Model Cut-down version of SharePoint API Can still use Web Services (and JSON too) Overview
  • 4. Melbourne October 2010 Client Object Model Three (!) versions of Client Object Model Wrappers for the SharePoint API (DLLs) Development + coding using : .NET CLR – C# and VB.NET Silverlight JavaScript (ECMAScript) SharePoint 2010
  • 5. Melbourne October 2010 Client Object Model 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
  • 7. Melbourne October 2010 Client.svc Server OM Content database JavaScript OM Proxy Managed OM Proxy .NET CLR / Silverlight JavaScript Code XML Request XML Request JSON Response JSON Response Browser Managed Client SharePoint Server
  • 8. Melbourne October 2010 Client Object Model Visual Studio 2010 SharePoint 2010 Example : News / Announcements Add to News List (ListItems) Retrieve & display items from the News List Demo
  • 9. Melbourne October 2010 Client Object Model Windows Application (C#) Add references Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime Need to deploy these DLL’s with the app DEMO…> .NET CLR
  • 10. Melbourne October 2010 Client Object Model Other Uses : Could do the same in a console app Or VSTO Add-in for Outlook Notes : Will run in security context of ‘user’ Sandboxed solutions Can do asynchronous call+delegate .NET CLR
  • 11. Melbourne October 2010 Client Object Model Create ASCX Include JavaScript code in mark-up No code behind, or DLL (class) ASCX will then be hosted in Master Page DEMO…> JavaScript
  • 12. Melbourne October 2010 Client Object Model Other Uses : Include jQuery Timer + animation – then call ‘next item’ Notes : <SharePoint:ScriptLink Name="SP.js" runat="server" OnDemand="true" Localizable="false" /> Optionally : SP.debug.js JavaScript
  • 13. Melbourne October 2010 Client Object Model Limitations of JavaScript Can only be from SharePoint Not another site/URL – XSS Can’t use from a different SP Site either Light weight Sandboxed – code if not able to deploy DLL JavaScript
  • 14. Melbourne October 2010 Client Object Model Runs within Silverlight (browser) Design surface – Canvas, Brush, StackPanel, etc C# code for SharePoint API Add DLLs from TEMPLATELAYOUTSClientBin Microsoft.SharePoint.Client.Silverlight Microsoft.SharePoint.Client.Silverlight.Runtime DEMO…> Silverlight
  • 15. Melbourne October 2010 Client Object Model Other Uses : Highly customised & fluid user interfaces The sky is the limit Notes : Easy with XAP in Document Library Can be tricky with managing UI thread, etc Requires Silverlight on client PC (browser plug-in) Silverlight
  • 16. Melbourne October 2010 Client Object Model Wrap-up – quick look at Client Object Model THREE different versions : .NET CLR JavaScript (ECMAScript) Silverlight Familiar developer experience (C#) SharePoint 2010
  • 17. Melbourne October 2010 Question and Answer Question and Answer Time Client Object Model
  • 18. Melbourne October 2010 Related ContentContent + Contact Slides + demo code (soon !) http://www.sharepointroot.com Twitter : @grumpywookie Email : chris@grumpywookie.com ** GIVEAWAY : MSDN Subscription (!!)
  • 19. Melbourne October 2010 Thanks For Listening! Be sure to submit your feedback if you want to be in the draw to win the Xbox 360 and other prizes! Sponsors

Editor's Notes

  1. SharePoint 2007 Web Services Some problems Lots of code XML + XSD pain Different to coding with the API SPSite, SPList, SPListItem, etc Limited functionality Performance The new way in SharePoint 2010 Client Object Model SharePoint API (DLLs) Cut-down version Akin to WPF<->Silverlight Runs on the client machine (eg. browser) But there’s more…
  2. Sandboxed Solutions
  3. Sandboxed Solutions
  4. Show the various resources and their locations Server – Microsoft.SharePoint – [..]\14\ISAPI .NET – Microsoft.SharePoint.Client – [..]\14\ISAPI Silverlight – Microsoft.SharePoint.Client.Silverlight – [..]\14\LAYOUTS\ClientBin ECMAScript – SP.js - [..]\LAYOUTS
  5. C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime //get server context - from URL ClientContext clientCtx = new ClientContext("http://spr:82"); //get web context - like SPWeb Web web = clientCtx.Web; clientCtx.Load(web); //have to exec query clientCtx.ExecuteQuery(); //get reference to list List list = web.Lists.GetByTitle("News"); //create a new list item ListItem listitem = list.AddItem(null); //add the meta data (properties) listitem["Title"] = textBox1.Text; listitem["Body"] = textBox2.Text; listitem["Expires"] = dateTimePicker1.Text; //update listitem listitem.Update(); //show message to user MessageBox.Show("Added News Item... ");
  6. Need to add tags within SP – eg. ASCX or Master Page <SharePoint:ScriptLink Name="SP.js" runat="server" OnDemand="true" Localizable="false" /> OnDemand Or – can use SP.Debug.js Limitations of JavaScript Can only be from SharePoint Not another site/URL – XSS Can’t use from a different SP Site either Light weight Sandboxed – code if not able to deploy code
  7. Add tags within SP – eg. ASCX or Master Page OnDemand SP.Debug.js