08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Joomla REST API - JoomlaDay Bangkok 2014
1. CTO, Techjoomla
Webservices working group leader
@coolbung | @techjoomla
www.techjoomla.com
JoomlaDay Bangkok, 2014
2. Techjoomla
Joomla Extensions
Invitex, Social Ads, Jgive, Jbolo
Custom Projects & Consultation
In house experts. World class service!
Using Joomla in Innovative ways
Lighting control management using Raspberry Pi, Warehouse Management System
JoomlaDay Bangkok, 2014
3. Apptitude
Mobile Apps (Apptitude)
JoomlaDay 2013 ;)
Junite – CMS inside an App
Reportoise – Smartphone reporting
Easysocial
Jgive
Easyblog
Akeeba Tickets
Custom apps and consultation
Hybrid, native and a whole lot more
JoomlaDay Bangkok, 2014
7. Come Again ?
API
JoomlaDay Bangkok, 2014
MOBILE
WEB
8. What's REST afterall ?
JoomlaDay Bangkok, 2014
● A style of writing APIs over HTTP
● Uses HTTP verbs -
GET = Read
POST = Create
PUT = Update
DELETE = DELETE
9. URLs are resources
● GET /users gets a list of all users
GET /users/coolbung gets details of user coolbung
JoomlaDay Bangkok, 2014
● POST /users creates a new user
● PUT /users/coolbung updates the user coolbung
● DELETE /users/coolbung deletes the user
10. What's this got to do with Joomla ?
JoomlaDay Bangkok, 2014
http://www.flickr.com/photos/san_drino/1454922072/
11. My JAVA app My Joomla! website
INSERT INTO jd14bkk_users (name,
username, email, password,
block)
VALUES ('James Bond',
'agent@007.com', 'agent@007.com
', MD5(007), 0)
INSERT INTO
jos_user_usergroup_map
VALUES(62, 8)
JoomlaDay Bangkok, 2014
12. What do I do then ?
/index.php?option=com_api&app=users&resource=user&format=raw
[POST]
name = Ashwin Date
username = coolbung@gmail.com
email = coolbung@gmail.com
password= supersecret
key = 4358a6fc7470713c79f31b163558a2639b3036ed
JoomlaDay Bangkok, 2014
13. What do I do then ?
/index.php?option=com_api&app=users&resource=user&format=raw
/users
[POST]
name = Ashwin Date
username = coolbung@gmail.com
email = coolbung@gmail.com
password= supersecret
key = 4358a6fc7470713c79f31b163558a2639b3036ed
JoomlaDay Bangkok, 2014
14. What do I do then ?
/index.php?option=com_api&app=users&resource=user&format=raw
/users
/v1/users
[POST]
name = Ashwin Date
username = coolbung@gmail.com
email = coolbung@gmail.com
password= supersecret
key = 4358a6fc7470713c79f31b163558a2639b3036ed
JoomlaDay Bangkok, 2014
15. JoomlaDay Bangkok, 2014
Brilliant!
So Joomla supports REST API ?
http://www.flickr.com/photos/djwtwo/8331524425/
16. Yes! In fact several ways :)
JoomlaDay Bangkok, 2014
● Techjoomla com_api
● redCORE
● view.json.php / format=json
● XML-RPC (very early, present in Joomla 1.5)
● Techjoomla REST API (very early later replaced by com_api)
20. Mashups
JoomlaDay Bangkok, 2014
● Pure HTML5 interface
● Uses API for all backend tasks
● Uses local storage for temporary store
● Heavy work done by APIs
21. Enterprise ?
● Desktop app for a fortune 500 company to manage over 100,000 products
● Being used by our LMS Shika to allow candidates to start lessons on desktop and – continue on their phone & tablet
● Managing smart lighting (watch out for a detailed talk tomorrow!)
JoomlaDay Bangkok, 2014
23. Current Drawbacks
● Uses Joomla routing so not easy to have
custom SEF URLs for resources
● Components in MVC format should not
need a plugin
JoomlaDay Bangkok, 2014
25. Proposed New Architecture
● RESTful infrastructure embedded in
Joomla! framework
● Support for Oauth 2
JoomlaDay Bangkok, 2014
26. Please join in!
● Webservices working group
http://docs.joomla.org/Web_Services_Working_Group
● Code on github
https://github.com/techjoomla/com_api-plugins
https://github.com/techjoomla/com_api
● Joomla! General Development Google Group
https://groups.google.com/forum/?fromgroups=#!forum/JoomlaDay Bangkok, 2014
27. Thank You
Ashwin Date
Twitter : @coolbung / @techjoomla
Email : ashwin@techjoomla.com
http://www.slideshare.net/coolbung
JoomlaDay Bangkok, 2014