Y!OS Overview and Deep Code Dive
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Y!OS Overview and Deep Code Dive

on

  • 4,864 views

Overview of the Yahoo! Open Strategy and a deep technical code dive into the components.

Overview of the Yahoo! Open Strategy and a deep technical code dive into the components.

Statistics

Views

Total Views
4,864
Views on SlideShare
4,690
Embed Views
174

Actions

Likes
2
Downloads
110
Comments
0

12 Embeds 174

http://developer.yahoo.net 98
http://www.nakedtechnologist.com 49
http://developer.yahoo.com 11
http://myslides.thinkphp.ro 4
http://searchlogger.net 4
http://generalyear.corp.yahoo.com 2
http://stage.programmableweb.com 1
http://alpha.spoonfeedr.com 1
http://www.hanrss.com 1
http://www.slideshare.net 1
http://static.slideshare.net 1
http://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Y!OS Overview and Deep Code Dive Presentation Transcript

  • 1. Yahoo! Open Strategy Y!OS December 20, 2008 Jonathan LeBlanc – YDN
  • 2. Y!OS Goals
  • 3. Establish a Social Dimension – Profiles http://profiles.yahoo.com
  • 4. Establish a Social Dimension – Small View http://my.yahoo.com
  • 5. Opening Yahoo – Application platform (YAP) http://developer.yahoo.com/dashboard
  • 6. Opening Yahoo – Application Gallery http://apps.yahoo.com/myapps
  • 7.
    • YAP Components How does it work?
  • 8. YAP Components – Open Authentication (OAuth)
    • 2-legged & 3-legged OAuth
    • Consumer / Shared Secret keys
    • Similar to BBAuth, but open standard
  • 9. YAP Components – Yahoo! Markup Language (YML) http://developer.yahoo.com/yap/yml
    • Allows secured access to private data
    • Can use ‘me’ and ‘viewer’ keywords
    • Small view uses YML lite
    • Will begin integrating into OSML
  • 10. YAP Components – Social APIs http://developer.yahoo.com/social/
    • Social Directory (read)
    • Contacts (read)
    • User Status (read / write)
    • Updates (read / write)
  • 11. YAP Components – Caja http://code.google.com/p/google-caja
    • HTML / CSS / JavaScript securer
    • Enforces standards
    • Includes JSLint
    • YAP is the first major platform to fully integrate this technology (and keep it running)
  • 12. YAP Components – Software Development Kits (SDKs) http://developer.yahoo.com/social/sdk PHP SDK Currently Available Open and OAuth Applications ActionScript 3 SDK Currently Available Open Applications Java SDK in Development Open and OAuth Applications
  • 13. YAP Components – Yahoo! Query Language (YQL) http://developer.yahoo.com/yql
    • SQL-like syntax
    • Private / Public Data
    • Use of certain YDN API’s
    • Captures external data feeds
  • 14.
    • YAP Applications How do They Work?
  • 15. YAP Applications – Open Applications
    • Runs on platform
    • Can use 2 & 3 legged OAuth
    • Contain small and large views
    • Small view uses YIV & iframe to secure
    • Large view uses Caja to secure
    • Supports OpenSocial 0.8
  • 16. YAP Applications – Open Applications Creating an Open Application – Step 1
  • 17. YAP Applications – Open Applications Creating an Open Application – Step 2
  • 18. YAP Applications – Open Applications Creating an Open Application – Step 3
  • 19. YAP Applications – Open Applications Creating an Open Application – Step 4
  • 20. YAP Applications – Open Applications External Access Prohibited
  • 21. YAP Applications – OAuth Applications
    • Runs off platform
    • Uses 2 & 3 legged OAuth
    • Does not contain views
    • Requires Users to Authenticate Session
  • 22. YAP Applications – OAuth Applications Creating an OAuth Application – Step 1
  • 23. YAP Applications – OAuth Applications Creating an OAuth Application – Step 2
  • 24. YAP Applications – OAuth Applications Creating an OAuth Application – Step 3
  • 25. YAP Applications – OAuth Applications Creating an OAuth Application – Step 4
  • 26. YAP Applications – OAuth Applications Creating an OAuth Application – Step 5
  • 27. YAP Applications – OAuth Applications Creating an OAuth Application – Step 6
  • 28.
    • Y!OS Resources How Do I Get Started?
  • 29. Y!OS Resources - Documentation
    • Y!OS Main Overview - http:// developer.yahoo.com/yos
    • YAP Main Overview - http://developer.yahoo.com/yap
    • YQL Docs - http://developer.yahoo.com/yql
    • YML Docs - http://developer.yahoo.com/yap/yml
    • Caja - http://code.google.com/p/google-caja/
    • Caja Support - http://developer.yahoo.com/yap/guide/caja-support.html
    • Slide Deck (Overview) - http://www.slideshare.net/jleblanc/yos-presentation-presentation
    • Slide Deck (Deep Dive) - http://www.slideshare.net/jleblanc/sdk-presentation-presentation/
  • 30. Y!OS Resources – Tools and Galleries
    • YAP Dashboard - http://developer.yahoo.com/dashboard
    • YQL Console - http://developer.yahoo.com/yql/console
    • JSLint - http://www.jslint.com
    • Application Gallery - http:// apps.yahoo.com/myapps
    • YDN Forum - http://developer.yahoo.com/forum
    • PHP SDK - http://developer.yahoo.com/social/sdk/
    • AS3 SDK - http://developer.yahoo.com/flash/yos/
  • 31. Y!OS Deep Dive December 20, 2008 Jonathan LeBlanc – YDN
  • 32.
    • Y!OS Code Overview Yahoo! Markup Language (YML)
  • 33. YML – Available Tags YML Tags yml:a   yml:audio   yml:form   yml:friend-selector yml:if-env   yml:image   yml:message yml:name   yml:profile-pic   yml:pronoun yml:share  yml:swf  yml:user-badge yml:visible-to-friends yml:visible-to-owner yml:visible-to-user    YML Lite Tags yml:a   yml:audio   yml:form   yml:if-env   yml:image   yml:name   yml:profile-pic   yml:pronoun   yml:user-badge  
  • 34. YML – Syntax Rules
    • YML tags are namespaced with yml:. However, since YML documents are not actually XML, no formal namespace declaration is required.
    • All attributes must be enclosed in double quotes. To specify double quotes within an attribute value, enter the " character reference.
    • If the data type of an attribute is boolean, allowed values are "true" and "false", which must be enclosed in double quotes.
    • Singleton tags (that is, tags with no closing tags) must end with /> .
    • White space and indentations are passed through, but ignored in the interpretation phase.
    • YML tags accept and produce characters in UTF-8 only.
  • 35. YML – Sample YML Use Tab Controller
  • 36. YML – Sample YML Use Tab Construction
  • 37. YML – Sample YML Use Tab Styles
  • 38.
    • Y!OS Code Overview PHP SDK
  • 39. PHP SDK – 2-Legged OAuth Initialization Used For: Applications which only require access to public user data and open APIs
  • 40. PHP SDK – 3-Legged OAuth Initialization
    • Used For:
    • Applications requiring private data access
  • 41. PHP SDK – User Data Manipulation
  • 42. PHP SDK – Create an Update for a User
  • 43. PHP SDK – Set the Status (Presence) of a User
  • 44.
    • Y!OS Code Overview Yahoo! Query Language
  • 45. YQL – Console Location: http://developer.yahoo.com/yql/console
  • 46. YQL – Query Structure Projection - SELECT what FROM table - SELECT * FROM social.connections Local and Remote Filtering - SELECT what FROM table WHERE filter - SELECT * FROM social.profile WHERE guid = me Sub-selects - Joining Data - SELECT what FROM table WHERE fieldvalue IN (SELECT ...) - SELECT * FROM social.profile WHERE guid IN (SELECT guid FROM social.connections WHERE owner_guid=me) Local Paging Control - SELECT what FROM table WHERE filter LIMIT 10 OFFSET 50 - SELECT * FROM web.search WHERE query="madonna" LIMIT 3 OFFSET 10 Remove Table Size Control - SELECT what FROM table(0,500) WHERE condition - SELECT * FROM web.search(0,10) WHERE query="madonna" AND result.XXX = something
  • 47. YQL – Available Tables YQL Command: SHOW tables
  • 48. YQL – Table Contents YQL Command: DESC social.connections
  • 49. YQL – Running a Query
  • 50. YQL – Output Types
  • 51.
    • Y!OS Code Overview Caja
  • 52. Caja & JavaScript – Before Cajoling
  • 53. Caja & JavaScript – After Cajoling
  • 54. Caja & JavaScript – What doesn’t work?
    • eval()
    • new Function()
    • Strings as event handlers (node.onclick = '...';)
    • Names ending with double / triple underscores
    • with function (with (obj) { ... })
    • Implicit global variables (specify var variable)
    • Calling a method as a function
    • document.write
    • window.event
    • .onclick
    • OpenSocial gadgets.io.makeRequest return JS
  • 55. Caja & HTML – What doesn’t work?
    • name attributes with gadgets.io.makeRequest
    • Custom attributes
    • Custom tags
    • Unclosed tags
    • <embed>
    • <iframe>
    • <link rel=‘…
    • javascript:void(0)
    • Radio buttons in IE
    • Relative url’s
  • 56. Caja & CSS – What doesn’t work?
    • * hacks
    • _ hacks
    • IE conditionals
    • Insert-after clear fix
    • expression()
    • @import
    • Background images in IE
  • 57.
    • Y!OS Code Overview Common Issues
  • 58. Common platform issues and questions
    • I attempt to authenticate my 2-legged / 3-legged session and receive a “null object error”
    • How do I authenticate OAuth using JavaScript?
    • I have an existing OpenSocial application. How do I get started?
    • I have an existing Facebook application. How do I get started?
    • None of my styles are displaying, what’s happening?
    • Why PHP / AS3 for the first SDK?
    • setSmallView is not working? What’s going on?
  • 59. Questions?
    • Thank you!