Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Joomla REST API

13,285 views

Published on

Slides of my Joomla REST API presentation

Published in: Technology
  • how do i do for log in?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Joomla REST API

  1. 1. Joomla REST API CTO, Techjoomla Director, Tekdi Web Solutions @coolbung | @techjoomla www.techjoomla.com
  2. 2. My Joomla! connection● 5-star personality on the Joomla Forum● Started using Joomla since Mambo days● Using Joomla since 1.0● Webservices working group co-ordinator
  3. 3. Did you check-in ?
  4. 4. How did it happen ? You buy a ticket! Scan Extract QR Code Ticket ID Validate Send Ticket ID Welcome Email Show Message
  5. 5. REST What ?● Representational State Transfer● A web page is a human readable representation● A webservice is a machine readable representation● REST piggybacks on HTTP● Hidden workhorse to integrate with external applications
  6. 6. Human Readable – Web Page Machine Readable – Web Service https://twitter.com/search/realtime?q=jd13in https://search.twitter.com/search.json?q=jd13in&result_type=all
  7. 7. REST APIs What is a REST API?● Machine readable data● A way to interact with data over HTTP POST = Create GET = Read PUT = Update DELETE = Delete
  8. 8. Why do I need REST APIs ?My JAVA app My Joomla! website INSERT INTO jos_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)
  9. 9. What do I do then ?index.php?option=com_api&app=users&resource=createuser&format=raw[POST]name = Ashwin Dateusername = coolbung@gmail.comemail = coolbung@gmail.compassword = supersecretkey = 4358a6fc7470713c79f31b163558a2639b3036ed
  10. 10. Cool! What else can I do ?
  11. 11. Tell me more.. who else uses it ?
  12. 12. Who else ?● News apps – Look at http://infochangeindia.org/ic/● Reportoise – Sales Reports● Zoo Image browser● Snappcloud
  13. 13. Did anyone say Enterprise ? A fortune 500 semiconductor company, for a HTML5 based Desktop app.● Managing a repository of 100,000 micro products● Product approval workflow
  14. 14. Mobile LMS Using Joomla Another upcoming app from Techjoomla.. Already in use by Enterprise in Healthcare, Marketing & more !● Take a course on iPad● Go through a few lessons● Go meet your girlfriend● Come back and start the course on your PC● Fortunately the iPad spoke REST● Uploaded your progress to the Web LMS● You can resume where you left off
  15. 15. Content Synchronization● Subordinate creates articles in Joomla on staging server● Manager saves and views article on staging server● Manager then pushes an approved article over to production● The staging & production site speak REST
  16. 16. Preventive MaintenanceNew machine provisioning API Agent Maintenanceannouncements
  17. 17. Preventive Maintenance● Electronic monitoring of machines - like a drill● Vital stats like temperature, vibrations monitored● Deviations send alerts to engineers & management● Causes discussed on private forum and conclusion archived for future reference
  18. 18. Current Drawbacks● Need to write plugins● Small amount of code rewrite● Components not using Joomla MVC may need a lot of plugin code
  19. 19. Whats Available● Jomsocial● Joomla Articles & Categories● Some of AEC
  20. 20. Few Ideas● view.json.php● restcontroller.php● format=json
  21. 21. Next Steps● Discussion on integrating Framework on Framework (FOF) into Joomla core● FOF gives access to RESTful json data● Build on top of it to implement all of POST/GET/PUT/DELETE and various HTTP codes● Re-use existing models to fetch data objects
  22. 22. Please join in!● Webservices working group http://docs.joomla.org/Web_Services_Working_Gro● 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=#!for
  23. 23. Thank YouAshwin DateTwitter : @coolbung / @techjoomlaEmail : ashwin@techjoomla.comhttp://www.slideshare.net/coolbung

×