Your SlideShare is downloading. ×
0
Drupal + iPhone = AWESOME<br />Silicon Valley Code Camp<br />October 2009<br />Eneko Alonso<br />ealonso@level-studios.com...
Eneko Alonso<br />I am a Software Engineer and UI Developer, currently working at Level Studios<br />ealonso@level-studios...
DRUPAL<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Drupal: what is it?<br />Content Management System<br />Community (user management, roles, permissions)<br />Base for grea...
iPhone<br />Eneko Alonso<br />ealonso@level-studios.com<br />
iPhone: whatis it?<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Drupal + iPhoneWhy?<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Drupal+iPhone: why?<br />Let your users access your site on the go<br />But also, great for administration<br />Eneko Alon...
Setup: what do we need?<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Drupal: what we need<br />Drupal site:<br />[X]AMP Server (PHP, Apache, MYSQL)<br />Drupal distribution (6.14 in this demo...
iPhone: what we need<br />XCode with iPhone SDK (3.0 on this demo)<br />TouchJSON library<br />http://developer.apple.com/...
iPhone: what we don’t need<br />iPhone Developer License*<br />* Needed only to put your app in your iPhone for testing.<b...
Setup<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Create a user account on the site:<br />http://[server_ip]/user/register<br />Write a new story:<br />http://[server_ip]/n...
Drupal Setup<br />Create DB: CREATE DATABASE drupal_iphone_demo;<br />Download drupal: wget http://drupal.org/…<br />Insta...
iPhone Setup<br />Create new Project<br />Add JSON library to project (TouchJSON)<br />Add a button to the view<br />Add a...
API Calls<br />Eneko Alonso<br />ealonso@level-studios.com<br />
system.connect<br />Initiates user session<br />Server returns valid sessionId for login<br />Eneko Alonso<br />ealonso@le...
user.login<br />Logs user into Drupal<br />Same user permissions as on the site<br />Eneko Alonso<br />ealonso@level-studi...
node.get<br />Retrieves a full node from the server<br />Eneko Alonso<br />ealonso@level-studios.com<br />
node.save<br />Saves changes or creates a new node<br />Eneko Alonso<br />ealonso@level-studios.com<br />
views.get<br />Collection of nodes (great for table views)<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Creating custom services<br />Eneko Alonso<br />ealonso@level-studios.com<br />
myservice.hello<br />Let’s create a ‘Hello world’ service<br />Eneko Alonso<br />ealonso@level-studios.com<br />
Upcoming SlideShare
Loading in...5
×

SVCC Drupal+iPhone

1,603

Published on

Presentation on Drupal+iPhone given at Silicon Valley Code Camp 2009 by Eneko Alonso.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,603
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "SVCC Drupal+iPhone"

  1. 1. Drupal + iPhone = AWESOME<br />Silicon Valley Code Camp<br />October 2009<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  2. 2. Eneko Alonso<br />I am a Software Engineer and UI Developer, currently working at Level Studios<br />ealonso@level-studios.com<br />www.level-studios.com<br />www.enekoalonso.com<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  3. 3. DRUPAL<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  4. 4. Drupal: what is it?<br />Content Management System<br />Community (user management, roles, permissions)<br />Base for great web applications<br />Check out www.drupal.org<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  5. 5. iPhone<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  6. 6. iPhone: whatis it?<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  7. 7. Drupal + iPhoneWhy?<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  8. 8. Drupal+iPhone: why?<br />Let your users access your site on the go<br />But also, great for administration<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  9. 9. Setup: what do we need?<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  10. 10. Drupal: what we need<br />Drupal site:<br />[X]AMP Server (PHP, Apache, MYSQL)<br />Drupal distribution (6.14 in this demo)<br />JSON API:<br />Services Module<br />JSON Server Module<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  11. 11. iPhone: what we need<br />XCode with iPhone SDK (3.0 on this demo)<br />TouchJSON library<br />http://developer.apple.com/iphone/<br />http://code.google.com/p/touchcode/wiki/TouchJSON<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  12. 12. iPhone: what we don’t need<br />iPhone Developer License*<br />* Needed only to put your app in your iPhone for testing.<br />http://developer.apple.com/iphone/<br />http://code.google.com/p/touchcode/wiki/TouchJSON<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  13. 13. Setup<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  14. 14. Create a user account on the site:<br />http://[server_ip]/user/register<br />Write a new story:<br />http://[server_ip]/node/add/story<br />On XCode 3.1, create a new iPhone project<br />Demo Setup<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  15. 15. Drupal Setup<br />Create DB: CREATE DATABASE drupal_iphone_demo;<br />Download drupal: wget http://drupal.org/…<br />Install drupal(browse to your server url)<br />Install and enable modules (Services)<br />Configure user permissions<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  16. 16. iPhone Setup<br />Create new Project<br />Add JSON library to project (TouchJSON)<br />Add a button to the view<br />Add a method for system.connect<br />Execute server request and show data on console<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  17. 17. API Calls<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  18. 18. system.connect<br />Initiates user session<br />Server returns valid sessionId for login<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  19. 19. user.login<br />Logs user into Drupal<br />Same user permissions as on the site<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  20. 20. node.get<br />Retrieves a full node from the server<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  21. 21. node.save<br />Saves changes or creates a new node<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  22. 22. views.get<br />Collection of nodes (great for table views)<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  23. 23. Creating custom services<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  24. 24. myservice.hello<br />Let’s create a ‘Hello world’ service<br />Eneko Alonso<br />ealonso@level-studios.com<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×