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.4k
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
980
GeeUp 2014: CMS+
putyourlightson
0
280
Craft CMS Summit 2014: Element Types & Plugin Development
putyourlightson
3
490
EECI 2012: With Great Power Comes Great Responsibility
putyourlightson
5
880
Other Decks in Technology
See All in Technology
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
210
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
700
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
Scrumは歪む — 組織設計の原理原則
dashi
0
180
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
3
980
AI時代の「本当の」ハイブリッドクラウド — エージェントが実現した、あの頃の夢
ebibibi
0
120
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
180
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
860
進化するBits AI SREと私と組織
nulabinc
PRO
0
180
DevOpsエージェントで実現する!! AWS Well-Architected(W-A) を実現するシステム設計 / 20260307 Masaki Okuda
shift_evolve
PRO
3
780
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
80
Designing Experiences People Love
moore
143
24k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
83
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
120
Context Engineering - Making Every Token Count
addyosmani
9
750
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
240
Paper Plane
katiecoart
PRO
0
48k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
110
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Faster Mobile Websites
deanohume
310
31k
Un-Boring Meetings
codingconduct
0
220
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
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