Skip to content

Commit

Permalink
added 2010 breeze demo, added content on rest batching, updated breez…
Browse files Browse the repository at this point in the history
…e 2013 demo
  • Loading branch information
andrewconnell committed Apr 1, 2015
1 parent cd90213 commit a6d9710
Show file tree
Hide file tree
Showing 49 changed files with 875 additions and 35,010 deletions.
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,21 @@
BreezeJS Makes Client-Side SharePoint 2013 REST Development a... BREEZE!
========================================================================
> *View the presentation here [andrewconnell.github.io / pres-sp15rest-breeze](http://andrewconnell.github.io/pres-sp15rest-breeze)*
>
>*Why do [I use GitHub for developer presentations & benefits to you](http://www.andrewconnell.com/blog/using-github-for-developer-presentations)?*

Abstract
--------
> SharePoint 2013 gives developers two options for accessing their data remotely using either the client side object model (CSOM) or OData… also known as REST. Both provide different methods for getting data and have their own advantages as well as disadvantages. For those of us who prefer the REST option, we know there are a few challenges in that we have a lot of plumbing we need to write. In this session you’ll learn how the free and open source library Breeze turns working with the SharePoint REST API a breeze! Breeze brings validation, entity checks, batching, change tracking, and client-side caching to the client... think an ORM like Entity Framework in JavaScript! In this session youll learn how to set it up, how to configure it, how to write different types of queries and then how to even use some really slick data validation capabilities in the browser!
> SharePoint, both in on-premises & SharePoint Online in Office 365, offer a REST API for developers to create server side and client side solutions. In this session we'll dive deep into the world of REST and see what's involved in creating client-side, JavaScript based solutions as well as server-side managed code solutions. After exploring all the nuts and bolts to become a REST ninja, we will then look at the free and open source library BreezeJS that simplifies a lot of the plumbing work for you. In this session you'll learn how to set it up, how to configure it, how to write different types of queries and then how to even use some really slick data validation capabilities in the browser!
Speaker Bio - Andrew Connell
----------------------------
Andrew Connell is an independent consultant that enjoys development, writing & teaching. He is an ten-time recipient of Microsoft’s Most Valuable Professional (MVP) award & has contributed to numerous books articles and projects over the years. You can learn from Andrew as when he teaches hands-on courses through [www.CriticalPathTraining.com](http://www.CriticalPathTraining.com) or through one of the many on-demand classes he has published though [www.Pluralsight.com](http://www.Pluralsight.com). Andrew has spoken at conferences and community events in the North America, Europe & Australia & is a co-host of the popular podcast the [Microsoft Cloud Show](http://www.MicrosoftCloudShow.com).

Andrew Connell is an independent consultant that enjoys development, writing, teaching and is an eleven-time recipient of Microsoft's Most Valuable Professional (MVP) award. He focused on web related technologies including Microsoft's Azure & Office 365 platforms, the .NET Framework, Angular, JavaScript, Node.js... if it's cutting edge web you'll find Andrew there!
Andrew teaches these topics through his numerous videos and courses through [Critical Path Training](http://www.CriticalPathTraining.com) and [Pluralsight](http://www.pluralsight.com/author/andrew-connell). You can check out what he’s currently up to, what's on his mind or where he's speaking on his [blog](http://www.andrewconnell.com), by following him on Twitter [@andrewconnell](http://www.twitter.com/andrewconnell) or subscribe to his cloud-related podcast, the [Microsoft Cloud Show](http://www.microsoftcloudshow.com).

- blog: [www.andrewconnell.com](http://www.andrewconnell.com)
- twitter: [@andrewconnell](http://www.twitter.com/andrewconnell)
- github: [github.com / andrewconnell](http://github.com/andrewconnell)
- learn more about me on my blog: [www.andrewconnell.com / about](http://www.andrewconnell.com/About)



Meta
----
- **Audience:** Developer
Expand Down
49 changes: 49 additions & 0 deletions batch.request.heavy.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
POST https://aconn-fe6c88f31b8e0b.sharepoint.com/sites/dev/SpRestBatchSample/_api/$batch HTTP/1.1
Host: aconn-fe6c88f31b8e0b.sharepoint.com
Connection: keep-alive
Content-Length: 1903
Accept: */*
Origin: https://aconn-fe6c88f31b8e0b.sharepoint.com
X-Requested-With: XMLHttpRequest
X-RequestDigest: 0x3F168AD947C57DCB851D5EFF0F7A9D8CFBB1DF3D1F574BC7D0AF2C7E38DF5AF28C9F311B1ADB8447D965F037657B4DF572C1F9DD139D9E6AE3A565B659134FA5,30 Nov 2014 12:55:26 -0000
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36
Content-Type: multipart/mixed; boundary="batch_45473b4e-5ce5-409d-dd5a-3d60082df906"
Referer: https://aconn-fe6c88f31b8e0b.sharepoint.com/sites/dev/SpRestBatchSample/Pages/Default.aspx?SPHostUrl=https%3A%2F%2Faconn%2Esharepoint%2Ecom%2Fsites%2Fdev&SPLanguage=en%2DUS&SPClientTag=0&SPProductNumber=16%2E0%2E3431%2E1218&SPAppWebUrl=https%3A%2F%2Faconn%2Dfe6c88f31b8e0b%2Esharepoint%2Ecom%2Fsites%2Fdev%2FSpRestBatchSample
Accept-Encoding: gzip,deflate
Accept-Language: en-US,en;q=0.8
Cookie: WSS_FullScreenMode=false; rtFa=tuVED+yNm9wcX/FhwoP4LWBIKTDdkU57FJQFUXDB1HxxIOrPF9UmWGJK8MVlRWuyRhJtagkeIb0pEXuAse2dC1/5o/af/PZO9gWU4QGu7hkePjAytr5+owuHuWBwX7kpkGglQn541INJB4Z1g1xKJGuDvtyA8XIJLv0m/ZrhQQbhc6/jz3LsriZs9Amy+fV3iDSHgdBLZ+Y89khmU2G+qwVcZQqJvBC0Yp0pJrYbj58QY5KldnzEBUwo6GTMruGkdQxFgPWHt/G4EKCeilSyHfvg8V2HK6TAKFo7K9zWwCopntObFEpy45Eumke/RVDFSyd5BlI/KhhEFszw9dCzqR/EIWHQAV0uBxcWsKlou7LaHo/tSN03W3vFwb1rIFiZIAAAAA==; FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+RmFsc2UsMGguZnxtZW1iZXJzaGlwfDEwMDM3ZmZlODBjYjNkNjJAbGl2ZS5jb20sMCMuZnxtZW1iZXJzaGlwfG1lQGFuZHJld2Nvbm5lbGwuY29tLDEzMDYyMjU3NjYxMjkxNTAwNCxGYWxzZSxrL3IxRXN3WG1RMk1rYmY0eFhQWXZoUVZ0clBnTWcwZVo0NTh4aDErd3RwbFk5L1RIYXFObUtuaW1BZThDMzh0b3hLNmdSSU5ZTDU2UzBhUDFyM3FRVU4xTStpeXg2TS9ma2daU1licnEzcDFQRGRCOGZVazFheVpXUkxlRk1iSk12ZnhzUEFaUjlrYjcyS1JBRWQ4emtLdk5WR21ScFllOUpmbE40eVhzamJmR1k4cDNqZ3VKK2ltaVBUWXhDQzJZbzEzMGg2bDU4cjZ3ZGdJZ2JqTk9iYk44R3VDNkNNNExLNEg0RUNNQnpNQmFsQnF3anhxa0RKcGlYZ1Q4VjRKQkozWDlPbUVMekpRQ1RSM0NwTkVrNnF2eDZHUW1XR0UvMFZ0bVErN1hZNlFMUVFmanRiVlV1K1FqdW90L3ZNZFJqR0NEZzE0WHlNaDdIWFNnRVJvbnc9PSxodHRwczovL2Fjb25uLWZlNmM4OGYzMWI4ZTBiLnNoYXJlcG9pbnQuY29tL3NpdGVzL2Rldi9TcFJlc3RCYXRjaFNhbXBsZS9QYWdlcy9EZWZhdWx0LmFzcHg/U1BIb3N0VXJsPWh0dHBzOi8vYWNvbm4uc2hhcmVwb2ludC5jb20vc2l0ZXMvZGV2JmFtcDtTUExhbmd1YWdlPWVuLVVTJmFtcDtTUENsaWVudFRhZz0wJmFtcDtTUFByb2R1Y3ROdW1iZXI9MTYuMC4zNDMxLjEyMTgmYW1wO1NQQXBwV2ViVXJsPWh0dHBzOi8vYWNvbm4tZmU2Yzg4ZjMxYjhlMGIuc2hhcmVwb2ludC5jb20vc2l0ZXMvZGV2L1NwUmVzdEJhdGNoU2FtcGxlPC9TUD4=

--batch_45473b4e-5ce5-409d-dd5a-3d60082df906
Content-Type: multipart/mixed; boundary="changeset_f9c96a07-641a-4897-90ed-d285d2dbfc2e"
Host: aconn-fe6c88f31b8e0b.sharepoint.com
Content-Length: 1271
Content-Transfer-Encoding: binary

--changeset_f9c96a07-641a-4897-90ed-d285d2dbfc2e
Content-Type: application/http
Content-Transfer-Encoding: binary

POST https://aconn-fe6c88f31b8e0b.sharepoint.com/sites/dev/SpRestBatchSample/_api/web/lists/getbytitle('Drivers')/items HTTP/1.1
Content-Type: application/json;odata=verbose

{"__metadata":{"type":"SP.Data.DriversListItem"},"Title":"Fernando Alonso","Team":"Ferrari"}

--changeset_f9c96a07-641a-4897-90ed-d285d2dbfc2e
Content-Type: application/http
Content-Transfer-Encoding: binary

POST https://aconn-fe6c88f31b8e0b.sharepoint.com/sites/dev/SpRestBatchSample/_api/web/lists/getbytitle('Drivers')/items HTTP/1.1
Content-Type: application/json;odata=verbose

{"__metadata":{"type":"SP.Data.DriversListItem"},"Title":"Filipe Massa","Team":"Ferrari"}

--changeset_f9c96a07-641a-4897-90ed-d285d2dbfc2e--

--batch_45473b4e-5ce5-409d-dd5a-3d60082df906
Content-Type: application/http
Content-Transfer-Encoding: binary

GET https://aconn-fe6c88f31b8e0b.sharepoint.com/sites/dev/SpRestBatchSample/_api/web/lists/getbytitle('Drivers')/items?$orderby=Title HTTP/1.1
Accept: application/json;odata=verbose

--batch_45473b4e-5ce5-409d-dd5a-3d60082df906--
41 changes: 41 additions & 0 deletions batch.request.lite.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
POST https://../_api/$batch HTTP/1.1
Host: tenant.sharepoint.com
Accept: */*
Origin: https://tenant.sharepoint.com
X-RequestDigest: 0x3F168[...]
Content-Type: multipart/mixed; boundary="batch_[GUID-1]"

--batch_[GUID-1]
Content-Type: multipart/mixed; boundary="changeset_[GUID-2]"
Host: tenant.sharepoint.com
Content-Length: 1271
Content-Transfer-Encoding: binary

--changeset_[GUID-2]
Content-Type: application/http
Content-Transfer-Encoding: binary

POST https://../_api/web/lists/getbytitle('Drivers')/items HTTP/1.1
Content-Type: application/json;odata=verbose

{"__metadata":{"type":"SP.Data.DriversListItem"},"Title":"Fernando Alonso","Team":"McLaren"}

--changeset_[GUID-2]
Content-Type: application/http
Content-Transfer-Encoding: binary

POST https://../_api/web/lists/getbytitle('Drivers')/items HTTP/1.1
Content-Type: application/json;odata=verbose

{"__metadata":{"type":"SP.Data.DriversListItem"},"Title":"Filipe Massa","Team":"Williams"}

--changeset_[GUID-2]--

--batch_[GUID-1]
Content-Type: application/http
Content-Transfer-Encoding: binary

GET https://../_api/web/lists/getbytitle('Drivers')/items?$orderby=Title HTTP/1.1
Accept: application/json;odata=verbose

--batch_[GUID-1]--
Loading

0 comments on commit a6d9710

Please sign in to comment.