My talk at EEUK 2013 in which I introduce Open API.
Ben CrokerLead Developer, VenveoAdd-On Developer, PutYourLightsOn@ben_pyloexpressionengine’smissingapi
View Slide
Your First Day AsThe EE Pro
Task 1News Dept.
Build a simple,mobile-friendly,publishing systemfor news articles““
safecrackerform
?
ChallengesCreate new categoriesUpdate existing categories
Task 2Sales Dept.
Build a task listsystem withcommenting““
entrycategory
status
status title
status titledelete
status titledeletecreate
ChallengesUpdate statuses and titles inlineDelete entriesCreate new entries on-the-fly
Task 3Mobile App Dept.
Build an endpointthat can be queried forrecently publishednews articles““
Mobile AppCMSReturn articles inJSON formatRequest new articlessince last check
ChallengesRequest published entriesbased on specific timeSpeed and performanceOutput entries in JSON format
RealisationExpressionEngine’s CRUD Functionalityis locked in the Control PanelThe only way OUT is with TemplatesThe only way IN is with Safecracker
ExpressionEngineAPI LibrariesEE2 Native LibrariesEllis Lab
ExpressionEngine API’sUsed mainly for Creating, Updatingand DeletingLimited RetrievalInconsistent SyntaxAvailable in Back-end only
Channel DataLibraryJustin KimbrellObjective HTML
Channel Data LibraryRetrieval of Content(Channels, Entries, Categories, ...)Abstracted MethodsConsistent SyntaxAvailable in Back-end only
EE Data APIChris ImrieMoresoda
EE Data APICodeIgniter AppVery Basic Retrieval ofChannels and EntriesAvailable on Front-end
Entry APIRein de VriesReinos.nl
Entry APICRUD Capability on Entriesand CategoriesREST, XML-RPC and SOAPCommercial Add-onAvailable on Front-end
ConclusionExpressionEngineis missing a way of retrieving andmodifying content from outside theControl Panel
IntroducingOpen API
Open APICRUD CapabilityFree and Open SourceProper API DocsAvailable on Front-end
Open API CapabilitiesMember AuthenticationC(reate) R(ead) U(pdate) D(elete):Channels, Channel Entries,Categories, Category Groups,Members,...
Open API ArchitectureHTTP GET & POST RequestsJSON ResponsesAuthenticated SessionsLanguage Independent(PHP, JavaScript, CURL, AJAX,...)
Open APIOpen API LibChannel DataLibraryRead Create/Update/DeleteFront-End Request JSON ResponseEE API Lib
Open API Docsh p://docs.eeopenapi.apiary.io
Demos
ExpressionEngineas a PlatformRequires a paradigm shiin the level of freedom and controlwe have over our content
Open APIh ps://github.com/putyourlightson/open-apih p://docs.eeopenapi.apiary.ioBen Croker@ben_pylo