SlideShare a Scribd company logo
1 of 19
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 2010 - Developer look at the Client Object Model

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 2010 - Developer look at the Client Object Model (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 Applications on AWS
Serverless Applications on AWSServerless Applications on AWS
Serverless Applications on AWS
 
Serverless Apps on AWS
Serverless Apps on AWS Serverless Apps on AWS
Serverless Apps 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

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

2010 - Developer look at the Client Object Model

  • 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