fowa miami 2009 - y!os
TRANSCRIPT
![Page 1: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/1.jpg)
Scaling OpenJonathan LeBlanc – Technology Evangelist
Yahoo! Developer Network – Partner Integrations
Slides: http://www.slideshare.net/jleblanc/fowa-miami
![Page 2: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/2.jpg)
2
YAP Applications What’s a YAP Application?
![Page 3: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/3.jpg)
3
![Page 4: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/4.jpg)
4
![Page 5: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/5.jpg)
5
![Page 6: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/6.jpg)
6
![Page 7: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/7.jpg)
7
![Page 8: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/8.jpg)
8
![Page 9: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/9.jpg)
9
YAP Applications How do I get started?
![Page 10: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/10.jpg)
10
• Runs on YAP
• Supports 2- & 3- legged OAuth
• Supports OpenSocial 0.8
JavaScript APIs
Open Applications
![Page 11: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/11.jpg)
11
Open Application - Views
Small View
Large View
![Page 12: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/12.jpg)
12
Open Application – Small View
![Page 13: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/13.jpg)
13
Open Application – Large View
![Page 14: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/14.jpg)
14
http://developer.yahoo.com/dashboard
![Page 15: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/15.jpg)
15
http://developer.yahoo.com/dashboard
![Page 16: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/16.jpg)
16
![Page 17: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/17.jpg)
17
![Page 18: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/18.jpg)
18
![Page 19: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/19.jpg)
19
• Runs off platform
• Supports 2- & 3-legged OAuth
• Does not contain views
• Requires users to authenticate
session
OAuth Applications
![Page 20: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/20.jpg)
20
http://developer.yahoo.com/dashboard
![Page 21: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/21.jpg)
21
http://developer.yahoo.com/dashboard
![Page 22: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/22.jpg)
22
![Page 23: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/23.jpg)
23
![Page 24: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/24.jpg)
24
![Page 25: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/25.jpg)
25
![Page 26: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/26.jpg)
26
![Page 27: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/27.jpg)
27
YAP Code Dive What can you do with YAP?
![Page 28: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/28.jpg)
28
YAP Code Dive PHP SDK
![Page 29: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/29.jpg)
29
Used For:
- Public user data and open APIs
PHP SDK – 2-Legged OAuth Initialization
![Page 30: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/30.jpg)
30
Used For:
- Private data access
PHP SDK – 3-Legged OAuth Initialization
![Page 31: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/31.jpg)
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
![Page 32: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/32.jpg)
32
PHP SDK – Create a User Update
![Page 33: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/33.jpg)
33
PHP SDK – Set the Status of a User
![Page 34: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/34.jpg)
34
YAP Code Dive Yahoo! Markup Language (YML)
![Page 35: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/35.jpg)
35
YML Tags (Large View)
yml:ayml:adyml:audioyml:formyml:friend-selectoryml:if-envyml:messageyml:nameyml:profile-picyml:pronounyml:shareyml:swfyml:user-badge
YML Lite Tags (Small View)
yml:ayml:audioyml:formyml:if-envyml:nameyml:profile-picyml:pronounyml:user-badge
YML – Available Tags
![Page 36: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/36.jpg)
36
YML:A Tab Sample - Controller
![Page 37: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/37.jpg)
37
YML:A Tab Sample – Tab Construction
![Page 38: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/38.jpg)
38
YML:A Tab Sample - Product
![Page 39: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/39.jpg)
39
YML:A Small View Update Sample
![Page 40: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/40.jpg)
40
YML:A Small View Update Sample
![Page 41: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/41.jpg)
41
YAP Code Dive Yahoo! Query Language (YQL)
![Page 42: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/42.jpg)
42
YQL – Running a Query
![Page 43: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/43.jpg)
43
YAP Code Dive Caja
![Page 44: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/44.jpg)
44
Caja – JavaScript Before Cajoling
![Page 45: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/45.jpg)
45
Caja – JavaScript After Cajoling
![Page 46: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/46.jpg)
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
![Page 47: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/47.jpg)
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/)
![Page 48: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/48.jpg)
48
Caja Practical – Running an AJAX Request
![Page 49: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/49.jpg)
49
Caja Practical – Working with JSON
![Page 50: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/50.jpg)
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>
![Page 51: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/51.jpg)
51
Caja Practical – Assigning Click Handlers
Step 1 – Assign click handler after innerHTML is set
![Page 52: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/52.jpg)
52
Caja Practical – Assigning Click Handlers
Step 2 – Define your callback function
![Page 53: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/53.jpg)
53
YAP Code Dive Common Questions
![Page 54: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/54.jpg)
54
• I have an existing OpenSocial application. How do I get started?
• I have an existing Facebook application. How do I get started?
• How do I authenticate OAuth using JavaScript?
• What is a Java Module Envelope error and how do I fix it?
• Plans for other SDKs besides PHP and AS3?
• How do users find my application?
Common Questions – Q & A
![Page 55: FOWA Miami 2009 - Y!OS](https://reader034.vdocuments.us/reader034/viewer/2022042615/55a9485a1a28ab8c3e8b4813/html5/thumbnails/55.jpg)
55
Thank You Questions?