1 / 55

FOWA Miami 2009 - Y!OS

Future of web applications conference on Scaling Open. Yahoo! Application Platform (YAP) and technology deep dive.

jcleblanc
Download Presentation

FOWA Miami 2009 - Y!OS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Slides: http://www.slideshare.net/jleblanc/fowa-miami Scaling Open Jonathan LeBlanc – Technology Evangelist Yahoo! Developer Network – Partner Integrations

  2. YAP Applications What’s a YAP Application? 2

  3. 3

  4. 4

  5. 5

  6. 6

  7. 7

  8. 8

  9. YAP Applications How do I get started? 9

  10. Open Applications • Runs on YAP • Supports 2- & 3- legged OAuth • Supports OpenSocial 0.8 JavaScript APIs 10

  11. Open Application - Views Large View Small View 11

  12. Open Application – Small View 12

  13. Open Application – Large View 13

  14. http://developer.yahoo.com/dashboard 14

  15. http://developer.yahoo.com/dashboard 15

  16. 16

  17. 17

  18. 18

  19. OAuth Applications • Runs off platform • Supports 2- & 3-legged OAuth • Does not contain views • Requires users to authenticate session 19

  20. http://developer.yahoo.com/dashboard 20

  21. http://developer.yahoo.com/dashboard 21

  22. 22

  23. 23

  24. 24

  25. 25

  26. 26

  27. YAP Code Dive What can you do with YAP? 27

  28. YAP Code Dive PHP SDK 28

  29. PHP SDK – 2-Legged OAuth Initialization Used For: - Public user data and open APIs 29

  30. PHP SDK – 3-Legged OAuth Initialization Used For: - Private data access 30

  31. PHP SDK – Available Methods 3-Legged OAuth 2-Legged OAuth getSessionedUser getOwner getUser query getPresence setPresence listUpdates listConnectionUpdates insertUpdate deleteUpdate loadProfile getConnections getContacts setSmallView (session) (session) (session) (session) (user) (user) (user) (user) (user) (user) (user) (user) (user) (user) setSmallView query (application) (application) 31

  32. PHP SDK – Create a User Update 32

  33. PHP SDK – Set the Status of a User 33

  34. YAP Code Dive Yahoo! Markup Language (YML) 34

  35. YML – Available Tags YML Tags (Large View) YML Lite Tags (Small View) yml:a yml:ad yml:audio yml:form yml:friend-selector yml:if-env yml:message yml:name yml:profile-pic yml:pronoun yml:share yml:swf yml:user-badge yml:a yml:audio yml:form yml:if-env yml:name yml:profile-pic yml:pronoun yml:user-badge 35

  36. YML:A Tab Sample - Controller 36

  37. YML:A Tab Sample – Tab Construction 37

  38. YML:A Tab Sample - Product 38

  39. YML:A Small View Update Sample 39

  40. YML:A Small View Update Sample 40

  41. YAP Code Dive Yahoo! Query Language (YQL) 41

  42. YQL – Running a Query 42

  43. YAP Code Dive Caja 43

  44. Caja – JavaScript Before Cajoling 44

  45. Caja – JavaScript After Cajoling 45

  46. Caja - IFrame Security Concerns IFrame Concerns • Drive-by downloads • No real content restrictions • Other known exploits Caja Implementation • Blacklist all / Whitelist some model • Secure OpenSocial container 46

  47. Caja – Best Practices • Use OpenSocial JavaScript standards • Use W3C standards • Use YML wherever possible • Unit test all JavaScript • Read the documentation (http://developer.yahoo.com/yos) • Participate in the forums (http://developer.yahoo.net/forum/) 47

  48. Caja Practical – Running an AJAX Request 48

  49. Caja Practical – Working with JSON 49

  50. Caja Practical – Assigning Click Handlers • Caja client side sanitizer strips JavaScript when inserted in DOM following AJAX requests • How do I assign click handlers then? Given: DOM Node with an ID <div id=‘myClickDiv’>Click Me!</div> 50

More Related