Scaling Open Jonathan LeBlanc – Sr. Software Engineer / Tech Evangelist Yahoo! Developer Network – Partner Integrations Fe...
<ul><li>YAP Applications   What’s a YAP Application?  </li></ul>
 
 
 
 
 
 
<ul><li>YAP Applications   How do I get started?  </li></ul>
<ul><li>Runs on YAP </li></ul><ul><li>Supports 2- & 3- legged OAuth </li></ul><ul><li>Supports OpenSocial 0.8 JavaScript A...
Open Application - Views Small View Large View
Open Application – Small View
Open Application – Large View
<ul><li>http://developer.yahoo.com/dashboard </li></ul>
<ul><li>http://developer.yahoo.com/dashboard </li></ul>
 
 
 
<ul><li>Runs off platform </li></ul><ul><li>Supports 2- & 3-legged OAuth </li></ul><ul><li>Does not contain views </li></u...
<ul><li>http://developer.yahoo.com/dashboard </li></ul>
<ul><li>http://developer.yahoo.com/dashboard </li></ul>
 
 
 
 
 
<ul><li>YAP Code Dive   What can you do with YAP?  </li></ul>
<ul><li>YAP Code Dive   PHP SDK  </li></ul>
Used For: - Public user data and open APIs PHP SDK – 2-Legged OAuth Initialization
<ul><li>Used For: </li></ul><ul><li>Private data access </li></ul>PHP SDK – 3-Legged OAuth Initialization
3-Legged OAuth getSessionedUser (session) getOwner  (session) getUser  (session) query  (session) getPresence  (user) setP...
PHP SDK – Create a User Update
PHP SDK – Set the Status of a User
<ul><li>YAP Code Dive   Yahoo! Markup Language (YML)  </li></ul>
YML Tags (Large View) yml:a yml:ad yml:audio yml:form yml:friend-selector yml:if-env yml:message yml:name yml:profile-pic ...
YML:A Tab Sample - Controller
YML:A Tab Sample – Tab Construction
YML:A Tab Sample - Product
YML:A Small View Update Sample
YML:A Small View Update Sample
<ul><li>YAP Code Dive   Yahoo! Query Language (YQL)  </li></ul>
YQL – Running a Query
<ul><li>YAP Code Dive   Caja  </li></ul>
Caja – JavaScript Before Cajoling
Caja – JavaScript After Cajoling
Caja - IFrame Security Concerns <ul><li>IFrame Concerns </li></ul><ul><li>Drive-by downloads </li></ul><ul><li>Phishing at...
Caja – Best Practices <ul><li>Use OpenSocial JavaScript standards </li></ul><ul><li>Use W3C standards </li></ul><ul><li>Us...
Caja Practical – Running an AJAX Request
Caja Practical – Working with JSON
Caja Practical – Assigning Click Handlers <ul><li>Caja client side sanitizer strips JavaScript when inserted in DOM follow...
Caja Practical – Assigning Click Handlers Step 1 – Assign click handler after innerHTML is set
Caja Practical – Assigning Click Handlers Step 2 – Define your callback function
<ul><li>YAP Code Dive   Common Questions  </li></ul>
<ul><li>I have an existing OpenSocial application.  How do I get started? </li></ul><ul><li>I have an existing Facebook ap...
<ul><li>Thank You   Questions?  </li></ul>
Upcoming SlideShare
Loading in …5
×

Future of Web Apps - Miami, FL - February 2009

1,453 views
1,123 views

Published on

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

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

No Downloads
Views
Total views
1,453
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
50
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • Future of Web Apps - Miami, FL - February 2009

    1. Scaling Open Jonathan LeBlanc – Sr. Software Engineer / Tech Evangelist Yahoo! Developer Network – Partner Integrations February 23, 2009
    2. <ul><li>YAP Applications What’s a YAP Application? </li></ul>
    3.  
    4.  
    5.  
    6.  
    7.  
    8.  
    9. <ul><li>YAP Applications How do I get started? </li></ul>
    10. <ul><li>Runs on YAP </li></ul><ul><li>Supports 2- & 3- legged OAuth </li></ul><ul><li>Supports OpenSocial 0.8 JavaScript APIs </li></ul>Open Applications
    11. Open Application - Views Small View Large View
    12. Open Application – Small View
    13. Open Application – Large View
    14. <ul><li>http://developer.yahoo.com/dashboard </li></ul>
    15. <ul><li>http://developer.yahoo.com/dashboard </li></ul>
    16.  
    17.  
    18.  
    19. <ul><li>Runs off platform </li></ul><ul><li>Supports 2- & 3-legged OAuth </li></ul><ul><li>Does not contain views </li></ul><ul><li>Requires users to authenticate session </li></ul>OAuth Applications
    20. <ul><li>http://developer.yahoo.com/dashboard </li></ul>
    21. <ul><li>http://developer.yahoo.com/dashboard </li></ul>
    22.  
    23.  
    24.  
    25.  
    26.  
    27. <ul><li>YAP Code Dive What can you do with YAP? </li></ul>
    28. <ul><li>YAP Code Dive PHP SDK </li></ul>
    29. Used For: - Public user data and open APIs PHP SDK – 2-Legged OAuth Initialization
    30. <ul><li>Used For: </li></ul><ul><li>Private data access </li></ul>PHP SDK – 3-Legged OAuth Initialization
    31. 3-Legged OAuth getSessionedUser (session) getOwner (session) getUser (session) query (session) getPresence (user) setPresence (user) listUpdates (user) listConnectionUpdates (user) insertUpdate (user) deleteUpdate (user) loadProfile (user) getConnections (user) getContacts (user) setSmallView (user) 2-Legged OAuth setSmallView (application) query (application) PHP SDK – Available Methods
    32. PHP SDK – Create a User Update
    33. PHP SDK – Set the Status of a User
    34. <ul><li>YAP Code Dive Yahoo! Markup Language (YML) </li></ul>
    35. YML Tags (Large 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 Lite Tags (Small View) yml:a yml:audio yml:form yml:if-env yml:name yml:profile-pic yml:pronoun yml:user-badge YML – Available Tags
    36. YML:A Tab Sample - Controller
    37. YML:A Tab Sample – Tab Construction
    38. YML:A Tab Sample - Product
    39. YML:A Small View Update Sample
    40. YML:A Small View Update Sample
    41. <ul><li>YAP Code Dive Yahoo! Query Language (YQL) </li></ul>
    42. YQL – Running a Query
    43. <ul><li>YAP Code Dive Caja </li></ul>
    44. Caja – JavaScript Before Cajoling
    45. Caja – JavaScript After Cajoling
    46. Caja - IFrame Security Concerns <ul><li>IFrame Concerns </li></ul><ul><li>Drive-by downloads </li></ul><ul><li>Phishing attacks </li></ul><ul><li>No real content restrictions </li></ul><ul><li>Caja Implementation </li></ul><ul><li>Blacklist all / Whitelist some model </li></ul>
    47. Caja – Best Practices <ul><li>Use OpenSocial JavaScript standards </li></ul><ul><li>Use W3C standards </li></ul><ul><li>Use YML wherever possible </li></ul><ul><li>Unit test all JavaScript </li></ul><ul><li>Read the documentation (http://developer.yahoo.com/yos) </li></ul><ul><li>Participate in the forums (http://developer.yahoo.net/forum/) </li></ul>
    48. Caja Practical – Running an AJAX Request
    49. Caja Practical – Working with JSON
    50. Caja Practical – Assigning Click Handlers <ul><li>Caja client side sanitizer strips JavaScript when inserted in DOM following AJAX requests </li></ul><ul><li>How do I assign click handlers then? </li></ul><ul><li>Given: DOM Node with an ID </li></ul><ul><li><div id=‘myClickDiv’>Click Me!</div> </li></ul>
    51. Caja Practical – Assigning Click Handlers Step 1 – Assign click handler after innerHTML is set
    52. Caja Practical – Assigning Click Handlers Step 2 – Define your callback function
    53. <ul><li>YAP Code Dive Common Questions </li></ul>
    54. <ul><li>I have an existing OpenSocial application. How do I get started? </li></ul><ul><li>I have an existing Facebook application. How do I get started? </li></ul><ul><li>How do I authenticate OAuth using JavaScript? </li></ul><ul><li>What is a Java Module Envelope error and how do I fix it? </li></ul><ul><li>Plans for other SDKs besides PHP and AS3? </li></ul><ul><li>How do users find my application? </li></ul>Common Questions – Q & A
    55. <ul><li>Thank You Questions? </li></ul>

    ×