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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ben Croker
May 17, 2013
Technology
4.4k
0
Share
EEUK 2013: ExpressionEngine's Missing API
My talk at EEUK 2013 in which I introduce Open API.
Ben Croker
May 17, 2013
More Decks by Ben Croker
See All by Ben Croker
The Art Of Plugin Development
putyourlightson
0
1k
GeeUp 2014: CMS+
putyourlightson
0
280
Craft CMS Summit 2014: Element Types & Plugin Development
putyourlightson
3
500
EECI 2012: With Great Power Comes Great Responsibility
putyourlightson
5
880
Other Decks in Technology
See All in Technology
サイボウズ、プラットフォームエンジニアリング始めるってよ ― プラットフォームチームの事業貢献と組織アラインメントの強化
ueokande
0
120
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
100k
10サービス以上のメール到達率改善を地道に継続的に進めている話 / Continue to improve email delivery rates across multiple services
yamaguchitk333
6
1.9k
分断された OT と IT を繋ぐ架け橋 -Kubernetes が切り拓く 産業用組み込み製品の現在地 -
yudaiono
1
120
インプロセスQAのための要因から捉えるプロジェクトリスクマネジメントnano #1 開発リソース効率状態への対処 #jasstnano
barus_qa
0
140
なぜ、私がCommunity Builderに?〜活動期間1か月半でも選出されたワケ〜
yama3133
0
140
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
230
React Compiler導入から21ヶ月、いま始めるならこうやる
astatsuya
2
180
可視化から活用へ — Mesh化・Segmentation・アライメントの研究動向
gpuunite_official
0
220
freeeで運用しているAIQAについて
qatonchan
1
630
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
230
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Evolving SEO for Evolving Search Engines
ryanjones
0
190
Skip the Path - Find Your Career Trail
mkilby
1
120
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Paper Plane (Part 1)
katiecoart
PRO
0
7.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
220
Rails Girls Zürich Keynote
gr2m
96
14k
Fireside Chat
paigeccino
42
3.9k
The SEO identity crisis: Don't let AI make you average
varn
0
460
The World Runs on Bad Software
bkeepers
PRO
72
12k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.6k
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