1 / 46

USC Yahoo! BOSS, YAP and YQL Overview

Overview of three Yahoo! Technologies. Build your Own Search Service (BOSS), Yahoo! Query Language (YQL) and the Yahoo! Application Platform (YAP) for the University of South Carolina

jcleblanc
Télécharger la présentation

USC Yahoo! BOSS, YAP and YQL Overview

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. Yahoo! Open Technologies Jonathan LeBlanc – Technology Evangelist Yahoo! Developer Network – Partner Integrations Blog: www.nakedtechnologist.com Twitter: jcleblanc

  2. Build Your Own Search Service ( BOSS ) 2

  3. How Do I Use It? Development and Stuff 3

  4. BOSS – Requesting Data http://boss.yahooapis.com/ysearch/{service}/v1/ {query}?appid={yourBOSSappid}&[params] Params • start • count • lang • region • format • callback • sites 4

  5. What Can I Build With This Thing? BOSS Examples in Practice 5

  6. New Presentation Models 6

  7. Client / Browser Integrations 7

  8. New Ranking Models 8

  9. Vertical/niche search products 9

  10. Yahoo! Application Platform ( YAP ) 10

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

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

  13. Open Application - Views Large View Small View 13

  14. 14

  15. 15

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

  17. 17

  18. Y!OS Components How does it work?

  19. Y!OS Components – Open Authentication (OAuth) • 2-legged & 3-legged OAuth • Consumer / Shared Secret keys • Similar to proprietary BBAuth, but open standard • http://developer.yahoo.com/oauth/ 19

  20. Y!OS Components – Yahoo Markup Language (YML) • Allows secured access to private data • Whitelisted components • Will begin integrating into OSML • http://developer.yahoo.com/yap/yml 20

  21. Y!OS Components – Social APIs • Social Directory (read) • Contacts (read) • User Status (read / write) • Updates (read / write) • http://developer.yahoo.com/social 21

  22. Y!OS Components – Caja • HTML / CSS / JavaScript securer • Enforces standards • Includes JSLint (http://www.jslint.com) • One of the first to integrate Caja • http://code.google.com/p/google-caja • http://developer.yahoo.com/yap/guide/caja- support.html 22

  23. 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 23

  24. Y!OS Components – SDKs PHP SDK Currently Available Open and OAuth Applications ActionScript 3 SDK Currently Available Open Applications 24

  25. Yahoo! Query Language (YQL) SELECT * FROM Internet 25

  26. 26

  27. SELECT * FROM Internet 27

  28. 28

  29. 29

  30. YQL – Query Structure SELECT myColumn, myTitle FROM myTable(0, 50) WHERE myColumn = 'value' AND myTitle = 'title‘ LIMIT 3 OFFSET 10 | sort(field='myColumn') | reverse() 30

  31. YQL – Available Tables YQL Command: SHOW tables (79 Standard / 222 with community) <table>atom</table> <table>csv</table> <table>feed</table> <table>flickr.photos.exif</table> <table>flickr.photos.info</table> <table>flickr.photos.interestingness</table> <table>flickr.photos.recent</table> <table>flickr.photos.search</table> <table>flickr.photos.sizes</table> <table>flickr.places</table> <table>flickr.places.info</table> <table>geo.places</table> <table>geo.places.ancestors</table> <table>geo.places.belongtos</table> <table>geo.places.children</table> <table>geo.places.neighbors</table> <table>geo.places.parent</table> <table>geo.places.siblings</table> <table>geo.placetypes</table> <table>gnip.activity</table> <table>html</table> <table>json</table> <table>local.search</table> <table>microformats</table> <table>music.artist.id</table> <table>music.artist.popular</table> <table>music.artist.search</table> <table>music.artist.similar</table> <table>music.release.artist</table> <table>music.release.id</table> <table>music.release.popular</table> <table>music.release.search</table> <table>music.track.id</table> <table>music.track.popular</table> <table>music.track.search</table> <table>music.video.category</table> <table>music.video.id</table> <table>music.video.popular</table> <table>music.video.search</table> <table>music.video.similar</table> <table>mybloglog.community.find</table> <table>mybloglog.member</table> <table>mybloglog.member.contacts</table> <table>mybloglog.member.newwithcontacts</table> <table>mybloglog.member.newwithme</table> <table>mybloglog.members.find</table> <table>mybloglog.stats.find</table> <table>rss</table> <table>search.images</table> <table>search.news</table> <table>search.siteexplorer.inlinks</table> <table>search.siteexplorer.pages</table> <table>search.spelling</table> <table>search.suggest</table> <table>search.termextract</table> <table>search.web</table> <table>social.connections</table> <table>social.contacts</table> <table>social.presence</table> <table>social.profile</table> <table>social.updates</table> <table>upcoming.category</table> <table>upcoming.country</table> <table>upcoming.events</table> <table>upcoming.events.bestinplace</table> <table>upcoming.groups</table> <table>upcoming.metro</table> <table>upcoming.state</table> <table>upcoming.user</table> <table>upcoming.venue</table> <table>uritemplate</table> <table>weather.forecast</table> <table>xml</table> <table>yahoo.identity</table> <table>yap.setsmallview</table> <table>yql.admin.blockedips</table> <table>yql.admin.blockedscripts</table> 31

  32. YQL – Table Contents YQL Command: DESC social.connections 32

  33. YQL - Running a Query http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params • q=[QUERY] • format=[xml / json] • callback=[function name] • diagnostics=[true / false] 33

  34. YQL – Output Types 34

  35. YQL Open Data Tables Structure the internet 35

  36. YQL – Open Data Tables 36

  37. YQL – Using an Open Data Table USE ‘{TABLE URL}’ as digg; SELECT * FROM digg WHERE topic=‘apple’; 37

  38. YQL Execute Augment the Internet 38

  39. 39

  40. 40

  41. End Result What’s this data going to do for me? 41

  42. 42

  43. 43

  44. 44

  45. Getting Started BOSS Main Page http://developer.yahoo.com/boss Y!OS Main Page http://developer.yahoo.com/yos YQL Console http://developer.yahoo.com/yql/console Developer Forums http://developer.yahoo.com/forums 45

  46. Thank You Questions? 46

More Related