oh crud -- enhance the sitecore item web api to fit your needs
DESCRIPTION
Mike Reynolds Product Technical Lead MedTouch. Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/1.jpg)
Sitecore Users 2013
Virtual Summit
Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs
Sharing Inspiring Connecting
Mike ReynoldsProduct Technical LeadMedTouch
![Page 2: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/2.jpg)
Sitecore Users 2013
Virtual Summit
Sitecore Item Web API- Create, Read, Update and Delete (CRUD)
- Defined by HTTP request methods- Create => POST- Read => GET- Update => PUT- Delete => DELETE (really? :P)
Sharing Inspiring Connecting
![Page 3: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/3.jpg)
Sitecore Users 2013
Virtual Summit
Sitecore Item Web API- Touch multiple items in “scope”
- Parent => p- Self => s- Children => c- can request all three -- sweet!
- Uses JSON in responses by default- Customizable through pipelines
Sharing Inspiring Connecting
![Page 4: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/4.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiRequest>- Main pipeline to handle requests -- I knew that! ;)- Determines if user has permission to make request- Gets items- Ascertains scope- Executes action- Serializes and returns response (JSON by default)
Sharing Inspiring Connecting
![Page 5: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/5.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiRequest>- ResolveAction processor
- Executes action- Creates media library items- Cannot set media library item fields
Sharing Inspiring Connecting
![Page 6: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/6.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiRequest>- But I want to set media library item fields!
- Create a custom ResolveAction processor
Sharing Inspiring Connecting
![Page 7: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/7.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiRequest>Let’s see one
Sharing Inspiring Connecting
![Page 8: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/8.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiRequest>- But I don't want to use JSON!
- Then change the Serializer already!
Sharing Inspiring Connecting
![Page 9: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/9.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiRequest>Let’s see such a thing
Sharing Inspiring Connecting
![Page 10: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/10.jpg)
Sitecore Users 2013
Virtual Summit
<preprocessRequest>- Has one lonely processor :(- Does some URL rewriting magic- Creates the default Serializer instance
Sharing Inspiring Connecting
![Page 11: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/11.jpg)
Sitecore Users 2013
Virtual Summit
<preprocessRequest>
Sharing Inspiring Connecting
![Page 12: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/12.jpg)
Sitecore Users 2013
Virtual Summit
<preprocessRequest>- Didn’t we already talk about the Serializer?
- an alternative way to change it- custom PreprocessRequestProcessor
Sharing Inspiring Connecting
![Page 13: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/13.jpg)
Sitecore Users 2013
Virtual Summit
<preprocessRequest>
Let’s see an example
Sharing Inspiring Connecting
![Page 14: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/14.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiGetProperties>- Consists of one processor
- Provides information about an item- e.g. ID, Language, Template, Hair Color, Blood Type, etc.
Sharing Inspiring Connecting
![Page 15: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/15.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiGetProperties>
Sharing Inspiring Connecting
![Page 16: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/16.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiGetProperties>- But I want to know more about an item! :D
- Add a custom GetPropertiesProcessor!
Sharing Inspiring Connecting
![Page 17: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/17.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiGetProperties>Let’s see an example
Sharing Inspiring Connecting
![Page 18: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/18.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiDelete>- Composed of one processor- Ignores RecycleBinActive setting in Web.config
- Permanently deletes all items in scope! O_O
Sharing Inspiring Connecting
![Page 19: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/19.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiDelete>- How can we recycle items instead?
- Recycle items using a DeleteProcessor
Sharing Inspiring Connecting
![Page 20: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/20.jpg)
Sitecore Users 2013
Virtual Summit
<itemWebApiDelete>
Show me the code!
Sharing Inspiring Connecting
![Page 21: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/21.jpg)
Sitecore Users 2013
Virtual Summit
What About Publishing?- Does not exist “out of the box” - Fill the gap using a custom pipeline
- custom <itemWebApiPatch> pipeline- Publish => PATCH - Let’s see it!
Sharing Inspiring Connecting
![Page 22: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/22.jpg)
Sitecore Users 2013
Virtual Summit
Go Check It Out!Download it (SDN): http://bit.ly/19E9AzADeveloper's Guide: http://bit.ly/GQIaugSitecoreJunkie.com: http://bit.ly/19DoIY0Kern's Console Application: http://bit.ly/16UqOZx
Sharing Inspiring Connecting
![Page 23: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/23.jpg)
Sitecore Users 2013
Virtual Summit
Get In Touch!Email: [email protected]: @mike_i_reynoldsBlog: http://sitecorejunkie.com
Sharing Inspiring Connecting
![Page 24: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/24.jpg)
Sitecore Users 2013
Virtual Summit
Questions?
Sharing Inspiring Connecting
![Page 25: Oh CRUD -- Enhance the Sitecore Item Web API to Fit Your Needs](https://reader036.vdocuments.site/reader036/viewer/2022081507/56815e53550346895dcccd93/html5/thumbnails/25.jpg)
Sitecore Users 2013
Virtual Summit
Thank You!
Fin
Sharing Inspiring Connecting