SlideShare a Scribd company logo
1 of 19
Client Object Model Overview of the Client Object Model
Why Client Object Model? More SharePoint Web services is a major request 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)
Supported Areas 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
Equivalent Objects Member names mostly the same from server to client (e. g., SPWeb.QuickLaunchEnabled = Web.QuickLaunchEnabled)
Using the Client Object Model ECMAScriptControlsand Logic Browser Client.svc Server OM JSON Response ECMAScript OM XML Request Proxy XML Request Contentdatabase Proxy JSON Response Managed OM Managed Client Managed Controls and Logic SharePoint Server
Client Object Model .NET Client Object Model
.NET Client OM
.NET Client OM demo
Client Object Model Sliverlight Client Object Model
Silverlight Client OM Silverlight Development Enabled by Client OM Can use Silverlight in separate ASPX page or in Web Part Can utilize Client OM in Silverlight to create SharePoint apps
Creating Silverlight Web Parts A Web Part can be a host for Silverlight SharePoint ships with Silverlight web part The web part can contain custom properties that are sent to Silverlight via the InitParameters property The XAP file can be deployed to LAYOUTS and loaded at run time The Silverlight application can then make use of the Client OM.
Silverlight Client OM
Silverlight Web Part demo
Client Object Model ECMAScript Client Object Model
ECMAScriptClient OM ECMAScript Client OM is easily added to a SharePoint ASPX page - reference: _layouts/sp.js Add this using <SharePoint:ScriptLink> All libraries crunched for performance Use un-crunched *.debug.js by adding  <SharePoint:ScriptLink … ScriptMode=“Debug” /> Method signatures can be different Different data value types
ECMAScript Client OM
ECMAScript Client OM demo
Client Object Model ADO.NET Data Services
ADO.NET Data Services LINQ to SP not implemented in Silverlight ListData.svc provides RESTful access ListData.svc Loads ADO.NET Data Services handler assembly Microsoft.SharePoint.ListDataService.dll Implements IDataServiceProvider interface. Microsoft.SharePoint.Linq.dll Implements Linq to SharePoint provider

More Related Content

What's hot

Fast search for share point
Fast search for share pointFast search for share point
Fast search for share point
LiquidHub
 
2012 12-08 #SPSUK SharePoint 2010 SQL 2012
2012 12-08 #SPSUK SharePoint 2010 SQL 20122012 12-08 #SPSUK SharePoint 2010 SQL 2012
2012 12-08 #SPSUK SharePoint 2010 SQL 2012
Gus Fraser
 
MEEC Baltimore SharePoint 2010 presentation
MEEC Baltimore SharePoint 2010 presentationMEEC Baltimore SharePoint 2010 presentation
MEEC Baltimore SharePoint 2010 presentation
Daniel Cohen-Dumani
 
SharePoint Saturday DC, From SharePoint Foundation to SharePoint Server
SharePoint Saturday DC, From SharePoint Foundation to SharePoint ServerSharePoint Saturday DC, From SharePoint Foundation to SharePoint Server
SharePoint Saturday DC, From SharePoint Foundation to SharePoint Server
Daniel Cohen-Dumani
 

What's hot (20)

Share point 2010 Fundamentals
Share point 2010 FundamentalsShare point 2010 Fundamentals
Share point 2010 Fundamentals
 
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
Rapidly building data-driven modern Office 365 Cloud Business add-ins with Li...
 
Share Point Presentation Introduction To Sharepoint
Share Point Presentation    Introduction To SharepointShare Point Presentation    Introduction To Sharepoint
Share Point Presentation Introduction To Sharepoint
 
Fast search for share point
Fast search for share pointFast search for share point
Fast search for share point
 
Cygnet Infotech's SharePoint 2013 Capabilities
Cygnet Infotech's SharePoint 2013 CapabilitiesCygnet Infotech's SharePoint 2013 Capabilities
Cygnet Infotech's SharePoint 2013 Capabilities
 
Sharepoint 2010 overview - what it is and what it can do
Sharepoint 2010 overview - what it is and what it can doSharepoint 2010 overview - what it is and what it can do
Sharepoint 2010 overview - what it is and what it can do
 
Introduction wss-3-and-moss-2007-12324
Introduction wss-3-and-moss-2007-12324Introduction wss-3-and-moss-2007-12324
Introduction wss-3-and-moss-2007-12324
 
2012 12-08 #SPSUK SharePoint 2010 SQL 2012
2012 12-08 #SPSUK SharePoint 2010 SQL 20122012 12-08 #SPSUK SharePoint 2010 SQL 2012
2012 12-08 #SPSUK SharePoint 2010 SQL 2012
 
V3 overview
V3 overviewV3 overview
V3 overview
 
Beginners SharePoint introduction
Beginners SharePoint introductionBeginners SharePoint introduction
Beginners SharePoint introduction
 
WCM & Public Facing Websites on SharePoint Online / Office 365
WCM & Public Facing Websites on SharePoint Online / Office 365WCM & Public Facing Websites on SharePoint Online / Office 365
WCM & Public Facing Websites on SharePoint Online / Office 365
 
Introduction to SharePoint 2013 by Michael Blumenthal
Introduction to SharePoint 2013 by Michael BlumenthalIntroduction to SharePoint 2013 by Michael Blumenthal
Introduction to SharePoint 2013 by Michael Blumenthal
 
Jordan Remix - SharePoint 2010
Jordan Remix - SharePoint 2010Jordan Remix - SharePoint 2010
Jordan Remix - SharePoint 2010
 
Meec 2010 SharePoint 2010
Meec 2010 SharePoint 2010Meec 2010 SharePoint 2010
Meec 2010 SharePoint 2010
 
The future of Productivity - SharePoint 2010
The future of Productivity - SharePoint 2010The future of Productivity - SharePoint 2010
The future of Productivity - SharePoint 2010
 
MEEC Baltimore SharePoint 2010 presentation
MEEC Baltimore SharePoint 2010 presentationMEEC Baltimore SharePoint 2010 presentation
MEEC Baltimore SharePoint 2010 presentation
 
1 introduction
1   introduction1   introduction
1 introduction
 
SharePoint Saturday DC, From SharePoint Foundation to SharePoint Server
SharePoint Saturday DC, From SharePoint Foundation to SharePoint ServerSharePoint Saturday DC, From SharePoint Foundation to SharePoint Server
SharePoint Saturday DC, From SharePoint Foundation to SharePoint Server
 
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
 
SharePoint 2016 - nextgenportal
SharePoint 2016 - nextgenportalSharePoint 2016 - nextgenportal
SharePoint 2016 - nextgenportal
 

Viewers also liked

Managed metadata in_share_point_2010
Managed metadata in_share_point_2010Managed metadata in_share_point_2010
Managed metadata in_share_point_2010
G. Scott Singleton
 
05.SharePointCSOM
05.SharePointCSOM05.SharePointCSOM
05.SharePointCSOM
EaswariSP
 
STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
Shakir Majeed Khan
 
SharePoint 2010 Client-side Object Model
SharePoint 2010 Client-side Object ModelSharePoint 2010 Client-side Object Model
SharePoint 2010 Client-side Object Model
Phil Wicklund
 

Viewers also liked (16)

Introduction to the SharePoint Client Object Model
Introduction to the SharePoint Client Object ModelIntroduction to the SharePoint Client Object Model
Introduction to the SharePoint Client Object Model
 
Managed metadata in_share_point_2010
Managed metadata in_share_point_2010Managed metadata in_share_point_2010
Managed metadata in_share_point_2010
 
Building your first app for share point 2013
Building your first app for share point 2013Building your first app for share point 2013
Building your first app for share point 2013
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
05.SharePointCSOM
05.SharePointCSOM05.SharePointCSOM
05.SharePointCSOM
 
STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
 
SharePoint 2013 APIs
SharePoint 2013 APIsSharePoint 2013 APIs
SharePoint 2013 APIs
 
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
 
Share point 2013 - Javascript Object Model
Share point 2013 - Javascript Object ModelShare point 2013 - Javascript Object Model
Share point 2013 - Javascript Object Model
 
SharePoint 2013 APIs demystified
SharePoint 2013 APIs demystifiedSharePoint 2013 APIs demystified
SharePoint 2013 APIs demystified
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object Model
 
SharePoint 2010 Client-side Object Model
SharePoint 2010 Client-side Object ModelSharePoint 2010 Client-side Object Model
SharePoint 2010 Client-side Object Model
 
OneNote 2013 - Top features deepdive
OneNote 2013 - Top features deepdiveOneNote 2013 - Top features deepdive
OneNote 2013 - Top features deepdive
 
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday HoustonCSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
CSOM (Client Side Object Model). Explained @ SharePoint Saturday Houston
 

Similar to 4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo

SharePoint 2007 Presentation
SharePoint 2007 PresentationSharePoint 2007 Presentation
SharePoint 2007 Presentation
Ajay Jain
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
Iblesoft
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
Liam Cleary [MVP]
 
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
SharePoint Saturday NY
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
daniel plocker
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Model
maddinapudi
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
Igor Moochnick
 
Asp.Net Ajax Component Development
Asp.Net Ajax Component DevelopmentAsp.Net Ajax Component Development
Asp.Net Ajax Component Development
Chui-Wen Chiu
 

Similar to 4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo (20)

SharePoint 2007 Presentation
SharePoint 2007 PresentationSharePoint 2007 Presentation
SharePoint 2007 Presentation
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 
Asp.net architecture
Asp.net architectureAsp.net architecture
Asp.net architecture
 
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 2: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
Rest API and Client OM for Developer
Rest API and Client OM for DeveloperRest API and Client OM for Developer
Rest API and Client OM for Developer
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...SharePoint Saturday The Conference DC - How the client object model saved the...
SharePoint Saturday The Conference DC - How the client object model saved the...
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
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
 
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
Lyudmila Zharova: Developing Solutions for SharePoint 2010 Using the Client O...
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
 
Web Development Competency Building
Web Development Competency Building Web Development Competency Building
Web Development Competency Building
 
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
 
ACTIVE SERVER PAGES BY SAIKIRAN PANJALA
ACTIVE SERVER PAGES BY SAIKIRAN PANJALAACTIVE SERVER PAGES BY SAIKIRAN PANJALA
ACTIVE SERVER PAGES BY SAIKIRAN PANJALA
 
Asp.net
Asp.netAsp.net
Asp.net
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Model
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Asp.Net Ajax Component Development
Asp.Net Ajax Component DevelopmentAsp.Net Ajax Component Development
Asp.Net Ajax Component Development
 
Atlas Php
Atlas PhpAtlas Php
Atlas Php
 

More from Luis Du Solier

More from Luis Du Solier (8)

6 - Migracion a SharePoint 2010, por Ricardo Muñoz y Hector Insua
6 - Migracion a SharePoint 2010, por Ricardo Muñoz y Hector Insua6 - Migracion a SharePoint 2010, por Ricardo Muñoz y Hector Insua
6 - Migracion a SharePoint 2010, por Ricardo Muñoz y Hector Insua
 
5 - SharePoint 2010 y Windows 2008 R2, por Hector Insua y Ruben Colomo
5 - SharePoint 2010 y Windows 2008 R2, por Hector Insua y Ruben Colomo5 - SharePoint 2010 y Windows 2008 R2, por Hector Insua y Ruben Colomo
5 - SharePoint 2010 y Windows 2008 R2, por Hector Insua y Ruben Colomo
 
3 - OBA y SharePoint 2010, por Ricardo Loo
3 - OBA y SharePoint 2010, por Ricardo Loo3 - OBA y SharePoint 2010, por Ricardo Loo
3 - OBA y SharePoint 2010, por Ricardo Loo
 
2 - SharePoint 2010 y Project Server 2010, por Javier D Labra
2 - SharePoint 2010 y Project Server 2010, por Javier D Labra2 - SharePoint 2010 y Project Server 2010, por Javier D Labra
2 - SharePoint 2010 y Project Server 2010, por Javier D Labra
 
1 - Desarrollo en SharePoint con Visual Studio 2010, por Misael Monterroca
1 - Desarrollo en SharePoint con Visual Studio 2010, por Misael Monterroca1 - Desarrollo en SharePoint con Visual Studio 2010, por Misael Monterroca
1 - Desarrollo en SharePoint con Visual Studio 2010, por Misael Monterroca
 
Silverlighty And SharePoint2007
Silverlighty And SharePoint2007Silverlighty And SharePoint2007
Silverlighty And SharePoint2007
 
Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007Desarrollo De Web Parts En Share Point2007
Desarrollo De Web Parts En Share Point2007
 
Introduccion a MOSS 2007
Introduccion a MOSS 2007Introduccion a MOSS 2007
Introduccion a MOSS 2007
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
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
 

4 - Silverlight y SharePoint, por Rodrigo Diaz y Mauricio Angulo

  • 1. Client Object Model Overview of the Client Object Model
  • 2. Why Client Object Model? More SharePoint Web services is a major request 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)
  • 3. Supported Areas 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
  • 4. Equivalent Objects Member names mostly the same from server to client (e. g., SPWeb.QuickLaunchEnabled = Web.QuickLaunchEnabled)
  • 5. Using the Client Object Model ECMAScriptControlsand Logic Browser Client.svc Server OM JSON Response ECMAScript OM XML Request Proxy XML Request Contentdatabase Proxy JSON Response Managed OM Managed Client Managed Controls and Logic SharePoint Server
  • 6. Client Object Model .NET Client Object Model
  • 9. Client Object Model Sliverlight Client Object Model
  • 10. Silverlight Client OM Silverlight Development Enabled by Client OM Can use Silverlight in separate ASPX page or in Web Part Can utilize Client OM in Silverlight to create SharePoint apps
  • 11. Creating Silverlight Web Parts A Web Part can be a host for Silverlight SharePoint ships with Silverlight web part The web part can contain custom properties that are sent to Silverlight via the InitParameters property The XAP file can be deployed to LAYOUTS and loaded at run time The Silverlight application can then make use of the Client OM.
  • 14. Client Object Model ECMAScript Client Object Model
  • 15. ECMAScriptClient OM ECMAScript Client OM is easily added to a SharePoint ASPX page - reference: _layouts/sp.js Add this using <SharePoint:ScriptLink> All libraries crunched for performance Use un-crunched *.debug.js by adding <SharePoint:ScriptLink … ScriptMode=“Debug” /> Method signatures can be different Different data value types
  • 18. Client Object Model ADO.NET Data Services
  • 19. ADO.NET Data Services LINQ to SP not implemented in Silverlight ListData.svc provides RESTful access ListData.svc Loads ADO.NET Data Services handler assembly Microsoft.SharePoint.ListDataService.dll Implements IDataServiceProvider interface. Microsoft.SharePoint.Linq.dll Implements Linq to SharePoint provider

Editor's Notes

  1. Throughout each SharePoint release, Microsoft receives more and more requests for new Web ServicesInstead of continuously building new Web services (and replacing existing ASMX services with WCF services), they now provide a client object modelThe client object model provides an abstraction layer so process off the SharePoint server can interact with SharePoint using a consistent API that is very closely matched to the familiar server API
  2. The Client Object Model contains a lot of overlap coverage with the full SharePoint API
  3. Similar to programming against server objects in the server context, the new client-side object models use a ClientContext object as the &quot;center of gravity&quot; for all operations. The process of obtaining and working with sites and data begins by retrieving a context object.Show the various resources and their locationsServer – Microsoft.SharePoint – [..]14ISAPI .NET – Microsoft.SharePoint.Client – [..]14ISAPISilverlight – Microsoft.SharePoint.Client.Silverlight – [..]14LAYOUTSClientBinECMAScript– SP.js - [..]LAYOUTS
  4. This diagram displays how the transport mechanism worksManage client OM = .NET / SilverlightAll communication goes through the client.svc WCF serviceMicrosoft implemented the client OM by decorating the core SharePoint OM with attributes if it was “client aware”[ClientCallableType(Name=“Web”,[…]),[…]]public class SPWeb {}Then a code gen tool generates the client OM assemblies and JavaScriptThis ensures that there’s fidelity between all the client OM’s and the server equiv
  5. There are two new methods: context.Load(object, paramsLinqExpression) &amp; context.LoadQuery.Load will “fill out” objects in the context in the same way that RetrieveItems/Retrieve did.  Common operations:clientContext.Load(clientContext.Web); // will retrieve all of the scalar properties for the web (e.g., .Title or .Description, but not .Lists). clientContext.Load(clientContext.Web.Lists); // will retrieve all lists, and their scalar properties for the web. LoadQuerylets a developer use a LINQ query to get custom objects back from SharePoint.  These objects are not “filled” into the context (e.g., if you do a query to get all lists of the context web, subsequent requests to clientcontext.Web.Lists still returns 0); they are separate from the ClientContext and it is up to the developer to use, and manage the lifetime of, those objects as they see fit.It’s important to know that when considering the Linq-based query syntax, there are a few concepts you should consider.  Linq generally has two query syntaxes:Linq &quot;Pretty Query&quot; syntax.  This is the Linq everyone knows and loves and uses SQL-like, typesafe clauses.Linq &quot;Lambda&quot; syntax.  This is a less-friendly, but at least consistent and more powerful, way to request data using Linq.  Although a lot of scenarios may start with the &quot;Pretty Query&quot; syntax, in many cases Lambda syntax must be used for more advanced scenarios.
  6. By default, the managed client object models authenticate users by using their Windows credentials (DefaultCredentials). Optionally, you can change the authentication mode on the ClientContext object and specify using Forms authentication instead. A user must then supply a user name and password through properties on ClientContext. Behind the scenes, Windows SharePoint Services “14” calls the Authentication Web service, obtains the correct cookie, and then makes the necessary object model calls. To run managed client code against a Forms authentication server, you must change to Forms authentication. This requirement does not apply to the JavaScript object model.The managed client object models provide a ClientAuthenticationMode enumeration whose values are Anonymous, Default, andFormsAuthentication. To specify Forms authentication, use code similar to the following:clientContext.AuthenticationMode = ClientAuthenticationMode.FormsAuthentication;In addition to setting the authentication mode, you must specify the user name and password information, such as follows:FormsAuthenticationLoginInfoformsAuthInfo = new FormsAuthenticationLoginInfo(&quot;MyUser&quot;, &quot;MyPassword&quot;);clientContext.FormsAuthenticationLoginInfo = formsAuthInfo; Note: Currently, the account name and password in formsAuthInfo are sent in clear text, so you must use HTTPS protocol instead of HTTP.
  7. Here we explain the basics of creating a Silverlight web part and how to create a feature that deploys the XAP file and web part. We also explain how the XAP file is loaded at run time and how web part properties may be passed to the Silverlight application.For Silverlight client installations, Microsoft SharePoint Foundation deploys Microsoft.SharePoint.Client.Silverlight.dll and Microsoft.SharePoint.Client.Silverlight.Runtime.dll into a special &quot;Scripts only&quot; folder of the /_layouts virtual directory named clientbin. This folder is designed to be a standard place for hosting assemblies that are used in Silverlight.
  8. Compressed and crunched .js files for the ECMAScriptobject model, named SP.js, SP.Core.js, and SP.Runtime.js, are installed in the /_layouts directory. Microsoft SharePoint Foundation also includes uncrunched, debug versions of the .js files named SP.debug.js, SP.Core.debug.js, and SP.Runtime.debug.js. You can toggle which .js file is used in Microsoft SharePoint Foundation by setting ScriptMode=&quot;Debug&quot; in web.config. If you add &lt;SharePoint:ScriptLinkrunat=”server” Name=”sp.js” Localizable=”false” LoadAfterUI=”true” /&gt; to the page, the Microsoft.SharePoint.WebControls.ScriptLink server control registers all dependencies.You should be aware of the following important differences between the ECMAScriptand managed client object models.The method signature may be different, as with the ClientContext constructorThe two object models use different data value types. The ECMAScriptobject model does not have equivalents for all the data value types in the .NET Framework managed object model. ECMAScriptregards StringCollection as string[]. On the other hand, ECMAScripthas some values that the .NET Framework does not have, such as NaN, or negative and positive infinity.The ECMAScript object model requires that you include security validation on the page through a FormDigest control; for example, &lt;SharePoint:FormDigest id=&quot;MyFormDigest&quot; runat=&quot;server&quot;/&gt;.
  9. Can run LINQ queries against lists because the client object model does not support LINQ queries against lists.You can use LINQ in the client OM to return object (e.g., list title is not null), but you can’t return items with the client OM (e.g., all tasks whose due date is past)That’s why we need ADO.NET data services and that’s why we’re discussing it here