Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
EEUK 2013: ExpressionEngine's Missing API
Search
Ben Croker
May 17, 2013
Technology
0
4.3k
EEUK 2013: ExpressionEngine's Missing API
My talk at EEUK 2013 in which I introduce Open API.
Ben Croker
May 17, 2013
Tweet
Share
More Decks by Ben Croker
See All by Ben Croker
The Art Of Plugin Development
putyourlightson
0
920
GeeUp 2014: CMS+
putyourlightson
0
250
Craft CMS Summit 2014: Element Types & Plugin Development
putyourlightson
3
470
EECI 2012: With Great Power Comes Great Responsibility
putyourlightson
5
850
Other Decks in Technology
See All in Technology
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
1
160
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
770
Performance Insights 廃止から Database Insights 利用へ/transition-from-performance-insights-to-database-insights
emiki
0
270
コンテキストエンジニアリング入門〜AI Coding Agent作りで学ぶ文脈設計〜
kworkdev
PRO
1
1.1k
今この時代に技術とどう向き合うべきか
gree_tech
PRO
0
950
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
Railsの話をしよう
yahonda
0
120
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
160
incident_commander_demaecan__1_.pdf
demaecan
0
130
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
240
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
290
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Navigating Team Friction
lara
190
15k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
How STYLIGHT went responsive
nonsquared
100
5.8k
How to Ace a Technical Interview
jacobian
280
24k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
20
1.2k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
BBQ
matthewcrist
89
9.8k
Designing for Performance
lara
610
69k
Practical Orchestrator
shlominoach
190
11k
Transcript
Ben Croker Lead Developer, Venveo Add-On Developer, PutYourLightsOn @ben_pylo expressionengine’s
missing api
None
None
None
None
None
None
None
Your First Day As The EE Pro
Task 1 News Dept.
Build a simple, mobile-friendly, publishing system for news articles “
“
None
safecracker form
None
?
Challenges Create new categories Update existing categories
Task 2 Sales Dept.
Build a task list system with commenting “ “
None
entry category
status
status title
status title delete
status title delete create
Challenges Update statuses and titles inline Delete entries Create new
entries on-the-fly
Task 3 Mobile App Dept.
Build an endpoint that can be queried for recently published
news articles “ “
Mobile App CMS Return articles in JSON format Request new
articles since last check
Challenges Request published entries based on specific time Speed and
performance Output entries in JSON format
Realisation ExpressionEngine’s CRUD Functionality is locked in the Control Panel
The only way OUT is with Templates The only way IN is with Safecracker
ExpressionEngine API Libraries EE2 Native Libraries Ellis Lab
ExpressionEngine API’s Used mainly for Creating, Updating and Deleting Limited
Retrieval Inconsistent Syntax Available in Back-end only
Channel Data Library Justin Kimbrell Objective HTML
Channel Data Library Retrieval of Content (Channels, Entries, Categories, ...)
Abstracted Methods Consistent Syntax Available in Back-end only
EE Data API Chris Imrie Moresoda
EE Data API CodeIgniter App Very Basic Retrieval of Channels
and Entries Available on Front-end
Entry API Rein de Vries Reinos.nl
Entry API CRUD Capability on Entries and Categories REST, XML-RPC
and SOAP Commercial Add-on Available on Front-end
Conclusion ExpressionEngine is missing a way of retrieving and modifying
content from outside the Control Panel
Introducing Open API
Open API CRUD Capability Free and Open Source Proper API
Docs Available on Front-end
Open API Capabilities Member Authentication C(reate) R(ead) U(pdate) D(elete): Channels,
Channel Entries, Categories, Category Groups, Members, ...
Open API Architecture HTTP GET & POST Requests JSON Responses
Authenticated Sessions Language Independent (PHP, JavaScript, CURL, AJAX,...)
Open API Open API Lib Channel Data Library Read Create/Update/Delete
Front-End Request JSON Response EE API Lib
Open API Docs h p://docs.eeopenapi.apiary.io
Demos
ExpressionEngine as a Platform Requires a paradigm shi in the
level of freedom and control we have over our content
Open API h ps://github.com/putyourlightson/open-api h p://docs.eeopenapi.apiary.io Ben Croker @ben_pylo