380 likes | 670 Views
Sitecore Item Web API & Mobile SDK. 11 september 2013 Martijn van der Put. Inhoud. Sitecore Item Web Api Sitecore Mobile SDK Demo ParTech Blog Reader App. Wat is de Sitecore Item Web API. HTTP request Bewerken van content dmv item path, ID of query Response in JSON formaat.
E N D
Sitecore Item Web API&Mobile SDK 11 september 2013 Martijn van der Put
Inhoud • Sitecore Item Web Api • Sitecore Mobile SDK • Demo ParTech Blog Reader App
Wat is de Sitecore Item Web API • HTTP request • Bewerken van content dmv item path, ID of query • Response in JSON formaat
Installatie / configuratie • Sitecore 6.5 update 5 of hoger • Web API Package • Sitecore.ItemWebApi.dll • Sitecore.ItemWebApi.config
Installatie / configuratie (2) Site definitieuitbreiden 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&…
Sitecore.ItemWebApi.config Installatie / configuratie (3) • Definitie van eennieuw veld in de Security Editor • Default zijn de lees rechten “denied”
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=
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
Mogelijke item bewerkingen (2) JSON result
Aanmakennieuwe items Mogelijke item bewerkingen (3) • HTTP Post • Querystring parameters: • template • nameOF • BranchID http://<host_name>/-/item/v1/sitecore/Content/Home? name=MyItem&template=Sample/Sample Item&sc_database=master
Items bewerken Mogelijke item bewerkingen (4) • HTTP Put • HTTP Request header:Content-Type=application/x-www-formurlencoded • Urlaanmakennieuwe items uitbreiden • <fieldName1>=<fieldValue1>&<fieldName2>=<fieldValue2>&<fieldNameN>=<fieldValueN> • <fieldID1>=<fieldValue1>&<fieldID2>=<fieldValue2>&<fieldIDN>=<fieldValueN>
Item verwijderen Mogelijke item bewerkingen (5) • HTTP Delete • Heeftinvloed op alle items in de scope • Response toontaantalverwijderde items + ID
Media items aanmaken Mogelijke item bewerkingen (6) • HTTP Post • HTTP Request headerContent-Type=multipart/form-data • Scope wordtnietgebruikt • Context item is parent
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
Uitbreidbaarheid • Item Web Apifunctiesgebruiken pipelines • Pipelines zijnuittebreiden of toe tevoegen
Wanneertegebruiken • Vanuitandereapplicaties content tonen of bewerken • Mobile Apps -> directeaanroep-> via Sitecore Mobile SDK
Wat is de Mobile SDK • Framework iOS based applicaties • Server: Item Web Api • Client: SitecoreMobileSDK.framework met Objective-C Api
Benodigdheden • Sitecore 6.5 (update-5) of later • Sitecore Item Web Api • Sitecore Mobile SDK framework bundle • OS X met Xcode software
Installatie / Configuratie • Item Web Api • Framework bundle toevoegen • Linken van extra Frameworks • Linken van extra libraries
4soorten 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
Code explanation • Ophalen van eenlijst met blogItems (titel, datum, introductie, tekst, auteur) • SCApiContext
Code explanation (2) • SCAsyncOp block request callback
Code explanation (3) • SCItem object
Code explanation (4) • Veld uitlezenuit target-item
Code explanation (5) • Result object vullen
Code explanation (6) • Item aanmaken
Code explanation (7) • Item aanmaken en bewerken
Caching en Request merging • Hergebruik van items indien in de cache • Sitecore query altijdgelezenuit backend • SCItemsReaderRequestIgnoreCache flag • Mergen van requests: aantal calls verminderd
Anderemogelijkheden Mobile SDK • Ophalen van paged items • Verwijderen van items • Uploaden van Media Files • Html ophalen van Renderings • Analytics integratie
Nuttige resources • iOS Developer Libraryhttp://developer.apple.com • Sitecore GitHubhttps://github.com/Sitecore/sitecore-ios-sdk • Alexander DodatkoDeveloper Sitecore Mobile Team
Mail: martijn@partechit.nl Twitter: @Martijnvdput