Download - Sitecore Item Web API & Mobile SDK

Transcript
Page 1: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Sitecore Item Web API&

Mobile SDK

11 september 2013Martijn van der Put

Page 2: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Inhoud• Sitecore Item Web Api

• Sitecore Mobile SDK

• Demo ParTech Blog Reader App

Page 3: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Wat is de Sitecore Item Web API• HTTP request

• Bewerken van content dmv item path, ID of query

• Response in JSON formaat

Page 4: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Installatie / configuratie• Sitecore 6.5 update 5 of hoger

• Web API Package– Sitecore.ItemWebApi.dll– Sitecore.ItemWebApi.config

Page 5: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Site definitie uitbreiden in sitedefinitions.config

http://partech.local/-/item/v1/sitecore/shell%2Fsitecore%2Fcontent%2Fcorporate%2Fhome%2Fblog%2F2013%2F04%2Fsitecore%207%20in%2Ddepth%20indexing%20mechanics?scope=s&…

Installatie / configuratie (2)

Page 6: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Sitecore.ItemWebApi.config

• Definitie van een nieuw veld in de Security Editor

• Default zijn de lees rechten “denied”

Installatie / configuratie (3)

Page 7: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Query string parameters• http://<host_name>/-/item/v1/?<query string params>

– sc_itemid= – sc_itemversion=– sc_database=– language=– fields=– extractblob=1– payload=– scope=– query=– page= / pagezise=

Page 8: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Mogelijke item bewerkingen• Ophalen van items (HTTP Get)

– Op basis van item IDhttp://<host_name>/-/item/v1/?sc_itemid={A60ACD61-A6DB-4182-8329-C957982CEC74}

– Query:http://<host_name>/-/item/v1/?query=/sitecore/content/*

– item path:http://<host_name>/-/item/v1/sitecore/content/home

Page 9: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Mogelijke item bewerkingen (2)

JSON result

Page 10: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Aanmaken nieuwe items

• HTTP Post• Querystring parameters:– template– name

OF– BranchID

http://<host_name>/-/item/v1/sitecore/Content/Home? name=MyItem&template=Sample/Sample Item&sc_database=master

Mogelijke item bewerkingen (3)

Page 11: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Items bewerken

• HTTP Put

• HTTP Request header:Content-Type=application/x-www-formurlencoded

• Url aanmaken nieuwe items uitbreiden– <fieldName1>=<fieldValue1>&<fieldName2>=<fieldValue2>&<fieldNameN>=<fieldValueN>

– <fieldID1>=<fieldValue1>&<fieldID2>=<fieldValue2>&<fieldIDN>=<fieldValueN>

Mogelijke item bewerkingen (4)

Page 12: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Item verwijderen

• HTTP Delete

• Heeft invloed op alle items in de scope

• Response toont aantal verwijderde items + ID

Mogelijke item bewerkingen (5)

Page 13: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Media items aanmaken

• HTTP Post

• HTTP Request headerContent-Type=multipart/form-data

• Scope wordt niet gebruikt

• Context item is parent

Mogelijke item bewerkingen (6)

Page 14: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Special requests• GetRenderingHtml

- sc_database- renderingId- sc_itemId

• http://<host_name>/<webapi_hook>/<special_request_hook>/<action_name>[?<optional_parameters>]

• http://<host_name>/-/item/v1/-/actions/GetRenderingHtml?sc_database=master&language=en&renderingId={493B3A83-0FA7-4484-8FC9-4680991CF743}&sc_itemid={110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}&a=1&b=2&c=3

Page 15: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Uitbreidbaarheid• Item Web Api functies gebruiken pipelines• Pipelines zijn uit te breiden of toe te voegen

Page 16: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Wanneer te gebruiken• Vanuit andere applicaties content tonen of

bewerken

• Mobile Apps -> directe aanroep -> via Sitecore Mobile SDK

Page 17: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Item Web API vs Sitecore Visual ServiceItem Web Api Visual Service

overlap

HTTP request SOAP

Uitbreidbaarheid door pipelines override of eigen pipelines toevoegen

Uitbreidbaarheid door nieuwe webservice* of huidige service overriden

Uitgebreidere authorisatie mogelijk Standaard Sitecore authorisatie

Sitecore query Item ID

Page 18: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Sitecore Mobile SDK

Page 19: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Wat is de Mobile SDK• Framework iOS based applicaties

• Server: Item Web Api

• Client: SitecoreMobileSDK.framework met Objective-C Api

Page 20: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Benodigdheden• Sitecore 6.5 (update-5) of later

• Sitecore Item Web Api

• Sitecore Mobile SDK framework bundle

• OS X met Xcode software

Page 21: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Installatie / Configuratie• Item Web Api

• Framework bundle toevoegen

• Linken van extra Frameworks

• Linken van extra libraries

Page 22: Sitecore Item Web API & Mobile SDK

www.partechit.nl

4 soorten apps• Embedded Browser

– “inframen” mobiele website variant

• Item Web Api– Native objective-C code icm Sitecore Mobile SDK Framework

• Hybrid– Combinatie embedded browser en Native objective-C

• Custom approach– met eigen Objective-C Api

Page 23: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Communicatie SDK <> Item Web API

Page 24: Sitecore Item Web API & Mobile SDK

www.partechit.nl

ParTech Blog Reader app

Page 25: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Datacontroller

Page 26: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation• Ophalen van een lijst met blogItems (titel, datum, introductie, tekst, auteur)

• SCApiContext

Page 27: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation (2)

• SCAsyncOp block

request

callback

Page 28: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation (3)

• SCItem object

Page 29: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation (4)

• Veld uitlezen uit target-item

Page 30: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation (5)

• Result object vullen

Page 31: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation (6)

• Item aanmaken

Page 32: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Code explanation (7)

• Item aanmaken en bewerken

Page 33: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Caching en Request merging• Hergebruik van items indien in de cache

• Sitecore query altijd gelezen uit backend

• SCItemsReaderRequestIgnoreCache flag

• Mergen van requests: aantal calls verminderd

Page 34: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Andere mogelijkheden Mobile SDK• Ophalen van paged items• Verwijderen van items• Uploaden van Media Files• Html ophalen van Renderings• Analytics integratie

Page 35: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Korte demo

Page 36: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Nuttige resources• iOS Developer Library

http://developer.apple.com

• Sitecore GitHubhttps://github.com/Sitecore/sitecore-ios-sdk

• Alexander DodatkoDeveloper Sitecore Mobile Team

Page 37: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Conclusie

Page 38: Sitecore Item Web API & Mobile SDK

www.partechit.nl

Mail: [email protected]

Twitter: @Martijnvdput