SlideShare une entreprise Scribd logo
1  sur  48
Developing With Data Technologies Chakkaradeep Chandran http://www.chakkaradeep.com @chakkaradeep
Session Objectives and Takeaway Session Objectives: Explain SharePoint Data Technologies Present the new List Platform Capabilities Demonstrate how to interact with SharePoint data using: LINQ to SharePoint Client Object Model .NET CLR Silverlight CLR JavaScript CLR RESTful Data Service Interface Takeaway: Building applications using the various SharePoint 2020 Data Technologies
SharePoint 2010 for Developers Visual Studio 2010 Install on Windows 7 SharePoint Designer 2010 Developer Dashboard Developer Productivity Business Connectivity Services  LINQ, REST and Data Improvements Client Object Model Silverlight Web Part ECMAScript Object Model (JavaScript,JSCript) Rich Platform Services Team Foundation Server Sandboxed Solutions WSP Solution Upgrade SharePoint Online Flexible Deployment
Overview of Data Technologies REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
List Data Improvements in SharePoint 2010
Lists and Lookups Lookup Lookup Projects Employees Clients m 1 m 1 Lookups form relationships between lists One-to-many Many-to-many
List Relationships Enforce Data Integrity One-to-many relationships can be used to: Trigger cascade delete Restrict delete Relationship behaviors (delete/restrict) are not supported on multi-value lookups
List Validation Validation Formula can be specified on List and Columns =[Column1]-[Column2] =AND([Column1]>[Column2], [Column1]<[Column3]) =PRODUCT([Column1],[Column2],2) =DATEDIF([Column1], [Column2],"d") =CONCATENATE([Column2], ",", [Column1])
Large Lists Set a limit for how many rows of data can be retrieved for a list or library at any one time: List View Threshold List View Threshold for Auditors and Administrators List View Lookup Threshold Daily Time Window for Large Queries If enabled on the Web Application, developer can turn off throttling using: SPQuery.RequestThrottleOverride SPSiteDataQuery.RequestThrottleOverride
List View Threshold
List Data Model Lookup to Multiple Columns List Relationships Related Items UI List Validation
Summary : List Data Improvements REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
Server Object Model
Building Server Applications .aspx.cs Server OM SharePoint data SharePoint data Classes & Objects SharePoint Site
Server Object Model Example Code Using Microsoft.SharePoint; List<Announcement> announcements = new List<Announcement>();  SPSitesite = SPContext.GetContext(HttpContext.Current).Site;  using (SPWebcurWeb = site.OpenWeb())  {  SPListlstAnnouncements =  curWeb.Lists[new Guid(LibraryName)];    //rest of the code  }
LINQ to SharePoint (SPLinq)
LINQ to SharePoint Entity based programming Strong Types and Intellisense Translates LINQ queries to CAML queries Supports List Joins and Projections Join lists on lookup field between them Join multiple lists (A->B->C) Project any field from joined list in a query without              changes in list schema Can be used in Web Parts Event Receivers Sandboxed Code
LINQ to SharePoint Basics spmetal.exe SPLinq.cs SPLinq.vb spmetal/web:http://dataetch/code:SPLinq.cs SharePoint Site http://datatech SPLinqDataContext SPLinqDataContext dc = new SPLinqDataContext (“http://datatech”); var q=dc.Employees.Where(emp=>emp.DueDate < DateTime.Now.AddMonths(6)); from o in data.Orderswhere o.Customer.City.Name == “San Francisco“select o;
SPMetal Options
LINQ to SharePoint
SPMetal – Default Code Generation Rules spmetal.exe SPLinqDataContext Project Projects Class Property GetProjects
SPMetal Parameters XML File SPMetal does not require a parameters XML file To include or exclude a different set of lists and columns from the default <?xmlversion="1.0" encoding="utf-8"?> <WebAccessModifier="Internal" xmlns="http://schemas.microsoft.com/SharePoint/2009/spmetal"> <ContentTypeName="Contact" Class="Contact">    <ColumnName="ContId" Member="ContactId" />    <ColumnName="ContactName" Member="ContactName1" />    <ColumnName="Category" Member="Cat" Type="String"/>    <ExcludeColumnName="HomeTelephone" /> </ContentType> <ExcludeContentTypeName="Order"/> <ListName=”Team Members” Type=”TeamMember”>     <ContentTypeName=”Item” Class=”TeamMember” /> </List> </Web>
LINQ to SharePoint: Parameters XML File
Summary : LINQ to SharePoint REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
Client ObjectModel
Building Client Applications – MOSS 2007 {code} Web Services {SharePoint  data} SharePoint Site SharePoint API {SharePoint data}
Client Object Model – SharePoint 2010 {code} {SharePoint data} Client Object Model {SharePoint data} SharePoint Site
Client Object Model Example Code class ClientOM {  using Microsoft.SharePoint.Client; 	static void Main()  {  ClientContextclientContext= 		new ClientContext("http://datatech");  		Web oWebsite = clientContext.Web;			 clientContext.Load(oWebsite);  clientContext.ExecuteQuery(); Console.WriteLine(oWebsite.Title);  }  }
Client OM
Client Object Model – How It Works WCF Service (Client.svc) JavaScript Application Server OM JSON Response JavaScript OM SharePoint Site XML Request Proxy XML Request Proxy JSON Response Managed OM Managed Code Application (.NET)
Client Object Model – How It Works Client Application Server Sequence of commands: command 1; command 2; command 3; context.ExecuteQuery(); client.svc Execute commands in the batch: command 1; command 2; command 3; Send results back XML JSON Process results
ClientContextclientContext= new ClientContext("http://sptechcon"); List list= clientContext.Web.Lists.GetByTitle(“Workshops"); CamlQuerycamlQuery = new CamlQuery(); camlQuery.ViewXml= "<View/>"; ListItemCollectionlistItems= list.GetItems(camlQuery); clientContext.Load(list); clientContext.Load(listItems); clientContext.ExecuteQuery(); foreach(ListItemlistItem in listItems)    Console.WriteLine("Id: {0} Title: {1}", listItem.Id,listItem["Title"]); Client Object Model – Object Identity
Client Object Model – The Pattern Create a Client Connection Create the Query Execute the Query ClientContextclientContext = new ClientContext("http://datatech"); clientContext.ExecuteQuery(); List list = clientContext.Web.Lists.GetByTitle(“Projects"); clientContext.Load(list);
Client Object Model – Trimming the Results Title Property Web SharePoint Site Lists Collection Title Property Id Property
.NET CLR Client Object Model Requires two assemblies: Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime Develop solutions remotely
.NET Client OM Using CAML Query Object Identity Trimming The Results Creating and Populating a List Updating Client Objects Deleting Client Objects Asynchronous Pattern
Silverlight CLR Client Object Model Requires two assemblies: Microsoft.SharePoint.Client.Silverlight Microsoft.SharePoint.Client.Silverlight.Runtime Develop solutions remotely
Silverlight Client OM
JavaScript Client Object Model Minified .js files for the ECMAScript (JavaScript, JScript) object model: SP.js SP.Core.js SP.Ribbon.js SP.Runtime.js Browser Support for ECMA Script: Microsoft Internet Explorer 7  and greater Firefox 3.5 and greater Safari 4.0 and greater Develop solutions remotely
JavaScript Client OM
Summary : Client Object Model REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
RESTful Data ServiceInterface
RESTful Data Service Interface REST-style list data web service http://<site>/_vti_bin/ListData.svc Work with data via REST SharePoint List Data Powered by ADO.NET Data Services ADO.NET Data Services v1.5 CTP2 Entity based programming Strong Types LINQ Queries Integration with Visual Studio
REST API QueryString Parameters $filter={simple predicate} $expand={Entity} $orderby={property} $skip=n $top=n $metadata Full List - http://bit.ly/RESTfulAPI
Makes Development Easy!
Accessing List Data via REST APIs
Summary REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
Thank You chaks@intergen.co.nz http://www.chakkaradeep.com/category/SharePoint-2010.aspx http://twitter.com/chakkaradeep

Contenu connexe

Tendances

Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidKris Wagner
 
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
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIRob Windsor
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSanjay Patel
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchRob Windsor
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewRob Windsor
 
Summer '16 Realease notes
Summer '16 Realease notesSummer '16 Realease notes
Summer '16 Realease notesaggopal1011
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelG. Scott Singleton
 
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013NCCOMMS
 
SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...
SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...
SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...Sébastien Levert
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)Kashif Imran
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePointBenCox35
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...BlueMetalInc
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Vincent Biret
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkJenkins NS
 

Tendances (20)

Hooking SharePoint APIs with Android
Hooking SharePoint APIs with AndroidHooking SharePoint APIs with Android
Hooking SharePoint APIs with Android
 
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
 
Sharepoint Online
Sharepoint OnlineSharepoint Online
Sharepoint Online
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 
Introduction to Google Apps Platform
Introduction to Google Apps PlatformIntroduction to Google Apps Platform
Introduction to Google Apps Platform
 
Introduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST APIIntroduction to the SharePoint Client Object Model and REST API
Introduction to the SharePoint Client Object Model and REST API
 
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted AppsSharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
SharePoint 2013 “App Model” Developing and Deploying Provider Hosted Apps
 
Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
Integrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio LightswitchIntegrating SharePoint 2010 and Visual Studio Lightswitch
Integrating SharePoint 2010 and Visual Studio Lightswitch
 
SharePoint 2010 Application Development Overview
SharePoint 2010 Application Development OverviewSharePoint 2010 Application Development Overview
SharePoint 2010 Application Development Overview
 
Summer '16 Realease notes
Summer '16 Realease notesSummer '16 Realease notes
Summer '16 Realease notes
 
SharePoint 2010 Client Object Model
SharePoint 2010 Client Object ModelSharePoint 2010 Client Object Model
SharePoint 2010 Client Object Model
 
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
SPCA2013 - Developing Provider-Hosted Apps for SharePoint 2013
 
SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...
SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...
SPS Utah - Everything your need to know about the Microsoft Graph as a ShareP...
 
SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)SharePoint Client Object Model (CSOM)
SharePoint Client Object Model (CSOM)
 
Android SharePoint
Android SharePointAndroid SharePoint
Android SharePoint
 
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
Apps 101 - Moving to the SharePoint 2013 App Model - Presented 7/27/13 at Sha...
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
 
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint FrameworkharePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
harePoint Framework Webinar Series: Consume Graph APIs in SharePoint Framework
 

En vedette

Corporate finance
Corporate financeCorporate finance
Corporate financeEkrem Tufan
 
enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...
enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...
enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...enerWE
 
Hvordan kan vi best forberede oss på kriser?
Hvordan kan vi best forberede oss på kriser?Hvordan kan vi best forberede oss på kriser?
Hvordan kan vi best forberede oss på kriser?Apeland
 
Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016
Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016
Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016Ståle Grut
 
Functional training for running touring assurances
Functional training for running touring assurancesFunctional training for running touring assurances
Functional training for running touring assurancesDavid Verstraeten
 
Perioperative Management of the patient with hematologic disorders
Perioperative Management of the patient with hematologic disordersPerioperative Management of the patient with hematologic disorders
Perioperative Management of the patient with hematologic disordersAndres Cardona
 
Branding Pessoal e Media Sociais
Branding Pessoal e Media SociaisBranding Pessoal e Media Sociais
Branding Pessoal e Media SociaisAndreia Martins
 
Pearl in asia - Presentation for KBC
Pearl in asia - Presentation for KBC Pearl in asia - Presentation for KBC
Pearl in asia - Presentation for KBC Bart Minsaer
 
Steel Ball Skew Rolling Mill Machine
Steel Ball Skew Rolling Mill MachineSteel Ball Skew Rolling Mill Machine
Steel Ball Skew Rolling Mill MachineCHE WENDA
 
Technical and tactical individual
Technical and tactical individualTechnical and tactical individual
Technical and tactical individualJoan Mauri Richarte
 
Krizat ekonomike intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...
Krizat ekonomike   intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...Krizat ekonomike   intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...
Krizat ekonomike intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...Menaxherat
 

En vedette (17)

Corporate finance
Corporate financeCorporate finance
Corporate finance
 
SCD1015P_015
SCD1015P_015SCD1015P_015
SCD1015P_015
 
Wolverine.v2.305.1988
Wolverine.v2.305.1988Wolverine.v2.305.1988
Wolverine.v2.305.1988
 
Mishelle cabezas
Mishelle cabezasMishelle cabezas
Mishelle cabezas
 
enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...
enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...
enerWE Communication Conference 2016 - Hvordan har Eni jobbet strategisk og o...
 
Hvordan kan vi best forberede oss på kriser?
Hvordan kan vi best forberede oss på kriser?Hvordan kan vi best forberede oss på kriser?
Hvordan kan vi best forberede oss på kriser?
 
Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016
Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016
Snapchat som nyhetskanal - Nordiske Mediedager Ung 2016
 
Functional training for running touring assurances
Functional training for running touring assurancesFunctional training for running touring assurances
Functional training for running touring assurances
 
G
GG
G
 
9. Banco de Desarrollo
9. Banco de Desarrollo9. Banco de Desarrollo
9. Banco de Desarrollo
 
Perioperative Management of the patient with hematologic disorders
Perioperative Management of the patient with hematologic disordersPerioperative Management of the patient with hematologic disorders
Perioperative Management of the patient with hematologic disorders
 
Branding Pessoal e Media Sociais
Branding Pessoal e Media SociaisBranding Pessoal e Media Sociais
Branding Pessoal e Media Sociais
 
Pearl in asia - Presentation for KBC
Pearl in asia - Presentation for KBC Pearl in asia - Presentation for KBC
Pearl in asia - Presentation for KBC
 
Volcano Eruption
Volcano EruptionVolcano Eruption
Volcano Eruption
 
Steel Ball Skew Rolling Mill Machine
Steel Ball Skew Rolling Mill MachineSteel Ball Skew Rolling Mill Machine
Steel Ball Skew Rolling Mill Machine
 
Technical and tactical individual
Technical and tactical individualTechnical and tactical individual
Technical and tactical individual
 
Krizat ekonomike intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...
Krizat ekonomike   intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...Krizat ekonomike   intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...
Krizat ekonomike intervenimi ne sektorin bankar ligj.11 myrvete badivuku-pa...
 

Similaire à Developing With Data Technologies

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
 
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 DeveloperInnoTech
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
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
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Servicesukdpe
 
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
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 
Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Quang Nguyễn Bá
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Modelmaddinapudi
 
Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Charlin Agramonte
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesPeter Gfader
 
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
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012daniel plocker
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기lanslote
 
Time for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web ServicesTime for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web Servicesukdpe
 

Similaire à Developing With Data Technologies (20)

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...
 
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
 
Ajax
AjaxAjax
Ajax
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
PPT
PPTPPT
PPT
 
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
 
ADO.NET Data Services
ADO.NET Data ServicesADO.NET Data Services
ADO.NET Data Services
 
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
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 
Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010Programming SharePoint 2010 with Visual Studio 2010
Programming SharePoint 2010 with Visual Studio 2010
 
Wss Object Model
Wss Object ModelWss Object Model
Wss Object Model
 
Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 
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
 
Atlas Php
Atlas PhpAtlas Php
Atlas Php
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012Client Object Model - SharePoint Extreme 2012
Client Object Model - SharePoint Extreme 2012
 
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
[SharePoint Korea Conference 2013 / 강율구] Sharepoint 스마트하게 개발하기
 
Time for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web ServicesTime for a REST - .NET Framework v3.5 & RESTful Web Services
Time for a REST - .NET Framework v3.5 & RESTful Web Services
 

Plus de Chakkaradeep Chandran

SharePoint Conference 2019: What's new and what's next -Transforming business...
SharePoint Conference 2019: What's new and what's next -Transforming business...SharePoint Conference 2019: What's new and what's next -Transforming business...
SharePoint Conference 2019: What's new and what's next -Transforming business...Chakkaradeep Chandran
 
Build client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointBuild client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointChakkaradeep Chandran
 
Getting started with Office 365 APIs
Getting started with Office 365 APIsGetting started with Office 365 APIs
Getting started with Office 365 APIsChakkaradeep Chandran
 
Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365Chakkaradeep Chandran
 
Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)Chakkaradeep Chandran
 
Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Chakkaradeep Chandran
 
Practical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture PlanningPractical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture PlanningChakkaradeep Chandran
 
Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Chakkaradeep Chandran
 
Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers Chakkaradeep Chandran
 
Building Solutions With Business Connectivity Services
Building Solutions With Business Connectivity ServicesBuilding Solutions With Business Connectivity Services
Building Solutions With Business Connectivity ServicesChakkaradeep Chandran
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint DevelopmentChakkaradeep Chandran
 
Visual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointVisual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointChakkaradeep Chandran
 

Plus de Chakkaradeep Chandran (14)

SharePoint Conference 2019: What's new and what's next -Transforming business...
SharePoint Conference 2019: What's new and what's next -Transforming business...SharePoint Conference 2019: What's new and what's next -Transforming business...
SharePoint Conference 2019: What's new and what's next -Transforming business...
 
Build client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePointBuild client-side web parts for Microsoft SharePoint
Build client-side web parts for Microsoft SharePoint
 
Getting started with Office 365 APIs
Getting started with Office 365 APIsGetting started with Office 365 APIs
Getting started with Office 365 APIs
 
Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365Deep Dive Mobile Development with Office 365
Deep Dive Mobile Development with Office 365
 
Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)Business connectivity solutions runtime and object model deep dive (part 2)
Business connectivity solutions runtime and object model deep dive (part 2)
 
Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...Building business applications using business connectivity services using sha...
Building business applications using business connectivity services using sha...
 
Practical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture PlanningPractical SharePoint 2010 Architecture Planning
Practical SharePoint 2010 Architecture Planning
 
Building Custom BCS .NET Connectors
Building Custom BCS .NET ConnectorsBuilding Custom BCS .NET Connectors
Building Custom BCS .NET Connectors
 
Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online Building custom solutions for SharePoint 2010 Online
Building custom solutions for SharePoint 2010 Online
 
Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers Business Connectivity Services (BCS) for Developers
Business Connectivity Services (BCS) for Developers
 
Building Solutions With Business Connectivity Services
Building Solutions With Business Connectivity ServicesBuilding Solutions With Business Connectivity Services
Building Solutions With Business Connectivity Services
 
Getting Started with SharePoint Development
Getting Started with SharePoint DevelopmentGetting Started with SharePoint Development
Getting Started with SharePoint Development
 
Visual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share PointVisual Studio2010 Tools For Share Point
Visual Studio2010 Tools For Share Point
 
SharePoint And WCM
SharePoint And WCMSharePoint And WCM
SharePoint And WCM
 

Dernier

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Dernier (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Developing With Data Technologies

  • 1. Developing With Data Technologies Chakkaradeep Chandran http://www.chakkaradeep.com @chakkaradeep
  • 2. Session Objectives and Takeaway Session Objectives: Explain SharePoint Data Technologies Present the new List Platform Capabilities Demonstrate how to interact with SharePoint data using: LINQ to SharePoint Client Object Model .NET CLR Silverlight CLR JavaScript CLR RESTful Data Service Interface Takeaway: Building applications using the various SharePoint 2020 Data Technologies
  • 3. SharePoint 2010 for Developers Visual Studio 2010 Install on Windows 7 SharePoint Designer 2010 Developer Dashboard Developer Productivity Business Connectivity Services LINQ, REST and Data Improvements Client Object Model Silverlight Web Part ECMAScript Object Model (JavaScript,JSCript) Rich Platform Services Team Foundation Server Sandboxed Solutions WSP Solution Upgrade SharePoint Online Flexible Deployment
  • 4. Overview of Data Technologies REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
  • 5. List Data Improvements in SharePoint 2010
  • 6. Lists and Lookups Lookup Lookup Projects Employees Clients m 1 m 1 Lookups form relationships between lists One-to-many Many-to-many
  • 7. List Relationships Enforce Data Integrity One-to-many relationships can be used to: Trigger cascade delete Restrict delete Relationship behaviors (delete/restrict) are not supported on multi-value lookups
  • 8. List Validation Validation Formula can be specified on List and Columns =[Column1]-[Column2] =AND([Column1]>[Column2], [Column1]<[Column3]) =PRODUCT([Column1],[Column2],2) =DATEDIF([Column1], [Column2],"d") =CONCATENATE([Column2], ",", [Column1])
  • 9. Large Lists Set a limit for how many rows of data can be retrieved for a list or library at any one time: List View Threshold List View Threshold for Auditors and Administrators List View Lookup Threshold Daily Time Window for Large Queries If enabled on the Web Application, developer can turn off throttling using: SPQuery.RequestThrottleOverride SPSiteDataQuery.RequestThrottleOverride
  • 11. List Data Model Lookup to Multiple Columns List Relationships Related Items UI List Validation
  • 12. Summary : List Data Improvements REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
  • 14. Building Server Applications .aspx.cs Server OM SharePoint data SharePoint data Classes & Objects SharePoint Site
  • 15. Server Object Model Example Code Using Microsoft.SharePoint; List<Announcement> announcements = new List<Announcement>(); SPSitesite = SPContext.GetContext(HttpContext.Current).Site; using (SPWebcurWeb = site.OpenWeb()) { SPListlstAnnouncements = curWeb.Lists[new Guid(LibraryName)];   //rest of the code }
  • 16. LINQ to SharePoint (SPLinq)
  • 17. LINQ to SharePoint Entity based programming Strong Types and Intellisense Translates LINQ queries to CAML queries Supports List Joins and Projections Join lists on lookup field between them Join multiple lists (A->B->C) Project any field from joined list in a query without changes in list schema Can be used in Web Parts Event Receivers Sandboxed Code
  • 18. LINQ to SharePoint Basics spmetal.exe SPLinq.cs SPLinq.vb spmetal/web:http://dataetch/code:SPLinq.cs SharePoint Site http://datatech SPLinqDataContext SPLinqDataContext dc = new SPLinqDataContext (“http://datatech”); var q=dc.Employees.Where(emp=>emp.DueDate < DateTime.Now.AddMonths(6)); from o in data.Orderswhere o.Customer.City.Name == “San Francisco“select o;
  • 21. SPMetal – Default Code Generation Rules spmetal.exe SPLinqDataContext Project Projects Class Property GetProjects
  • 22. SPMetal Parameters XML File SPMetal does not require a parameters XML file To include or exclude a different set of lists and columns from the default <?xmlversion="1.0" encoding="utf-8"?> <WebAccessModifier="Internal" xmlns="http://schemas.microsoft.com/SharePoint/2009/spmetal"> <ContentTypeName="Contact" Class="Contact"> <ColumnName="ContId" Member="ContactId" /> <ColumnName="ContactName" Member="ContactName1" /> <ColumnName="Category" Member="Cat" Type="String"/> <ExcludeColumnName="HomeTelephone" /> </ContentType> <ExcludeContentTypeName="Order"/> <ListName=”Team Members” Type=”TeamMember”> <ContentTypeName=”Item” Class=”TeamMember” /> </List> </Web>
  • 23. LINQ to SharePoint: Parameters XML File
  • 24. Summary : LINQ to SharePoint REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
  • 26. Building Client Applications – MOSS 2007 {code} Web Services {SharePoint data} SharePoint Site SharePoint API {SharePoint data}
  • 27. Client Object Model – SharePoint 2010 {code} {SharePoint data} Client Object Model {SharePoint data} SharePoint Site
  • 28. Client Object Model Example Code class ClientOM { using Microsoft.SharePoint.Client; static void Main() { ClientContextclientContext= new ClientContext("http://datatech"); Web oWebsite = clientContext.Web; clientContext.Load(oWebsite); clientContext.ExecuteQuery(); Console.WriteLine(oWebsite.Title); } }
  • 30. Client Object Model – How It Works WCF Service (Client.svc) JavaScript Application Server OM JSON Response JavaScript OM SharePoint Site XML Request Proxy XML Request Proxy JSON Response Managed OM Managed Code Application (.NET)
  • 31. Client Object Model – How It Works Client Application Server Sequence of commands: command 1; command 2; command 3; context.ExecuteQuery(); client.svc Execute commands in the batch: command 1; command 2; command 3; Send results back XML JSON Process results
  • 32. ClientContextclientContext= new ClientContext("http://sptechcon"); List list= clientContext.Web.Lists.GetByTitle(“Workshops"); CamlQuerycamlQuery = new CamlQuery(); camlQuery.ViewXml= "<View/>"; ListItemCollectionlistItems= list.GetItems(camlQuery); clientContext.Load(list); clientContext.Load(listItems); clientContext.ExecuteQuery(); foreach(ListItemlistItem in listItems)    Console.WriteLine("Id: {0} Title: {1}", listItem.Id,listItem["Title"]); Client Object Model – Object Identity
  • 33. Client Object Model – The Pattern Create a Client Connection Create the Query Execute the Query ClientContextclientContext = new ClientContext("http://datatech"); clientContext.ExecuteQuery(); List list = clientContext.Web.Lists.GetByTitle(“Projects"); clientContext.Load(list);
  • 34. Client Object Model – Trimming the Results Title Property Web SharePoint Site Lists Collection Title Property Id Property
  • 35. .NET CLR Client Object Model Requires two assemblies: Microsoft.SharePoint.Client Microsoft.SharePoint.Client.Runtime Develop solutions remotely
  • 36. .NET Client OM Using CAML Query Object Identity Trimming The Results Creating and Populating a List Updating Client Objects Deleting Client Objects Asynchronous Pattern
  • 37. Silverlight CLR Client Object Model Requires two assemblies: Microsoft.SharePoint.Client.Silverlight Microsoft.SharePoint.Client.Silverlight.Runtime Develop solutions remotely
  • 39. JavaScript Client Object Model Minified .js files for the ECMAScript (JavaScript, JScript) object model: SP.js SP.Core.js SP.Ribbon.js SP.Runtime.js Browser Support for ECMA Script: Microsoft Internet Explorer 7 and greater Firefox 3.5 and greater Safari 4.0 and greater Develop solutions remotely
  • 41. Summary : Client Object Model REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
  • 43. RESTful Data Service Interface REST-style list data web service http://<site>/_vti_bin/ListData.svc Work with data via REST SharePoint List Data Powered by ADO.NET Data Services ADO.NET Data Services v1.5 CTP2 Entity based programming Strong Types LINQ Queries Integration with Visual Studio
  • 44. REST API QueryString Parameters $filter={simple predicate} $expand={Entity} $orderby={property} $skip=n $top=n $metadata Full List - http://bit.ly/RESTfulAPI
  • 46. Accessing List Data via REST APIs
  • 47. Summary REST APIs Client OM Client Side Data Platform Server Side Farm Site List Data External Lists LINQ (spmetal.exe) ServerOM
  • 48. Thank You chaks@intergen.co.nz http://www.chakkaradeep.com/category/SharePoint-2010.aspx http://twitter.com/chakkaradeep

Notes de l'éditeur

  1. Here is an overall view of the SharePoint data technologies platform. Developers can make use of these technologies to build SharePoint applications. SharePoint 2010 introduces more additions to the already available SharePoint 2007 technologies.Explain the client side and server side framework:Client OMREST APIsSPLINQ
  2. Microsoft SharePoint Foundation offers a highly structured server-side object model that makes it easy to access objects that represent the various aspects of a SharePoint Web site. From higher-level objects, you can drill down through the object hierarchy to obtain the object that contains the members you need to use in your code.
  3. Sample custom application: You may want to create custom .aspx pages and Web applications and store them in a location that is accessible from all Web sites in your Microsoft SharePoint Foundation 2010 deploymentDeveloper writes code (.aspx.cs) using the Server OMServer OM interacts with the SharePoint site, retrieves the data from the SharePoint siteThe .aspx page displays the SharePoint data