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
840
GeeUp 2014: CMS+
putyourlightson
0
220
Craft CMS Summit 2014: Element Types & Plugin Development
putyourlightson
3
440
EECI 2012: With Great Power Comes Great Responsibility
putyourlightson
5
820
Other Decks in Technology
See All in Technology
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
400
これからクラウドエンジニアになるために本当に必要なスキル 5選
hiyanger
1
440
Dapr For Java Developers SouJava 25
salaboy
1
120
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
3
820
製造業の会計システムをDDDで開発した話
caddi_eng
3
800
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
4
730
Javaの新しめの機能を知ったかぶれるようになる話 #kanjava
irof
3
4.7k
30代エンジニアが考える、エンジニア生存戦略~~セキュリティを添えて~~
masakiokuda
4
1.9k
RubyKaigi 2025でプロポーザルが初めて採択されるまでにやったこと
yuuu
1
270
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
blue_goheimochi
0
120
LINE API Deep Dive Q1 2025: Unlocking New Possibilities
linedevth
1
140
17年のQA経験が導いたスクラムマスターへの道 / 17 Years in QA to Scrum Master
toma_sm
0
180
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Unsuck your backbone
ammeep
669
57k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
460
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
690
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
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