the yahoo open stack

155
Diving into the Yahoo! Open Stack h3p://developer.yahoo.com/hacku/ Dus>n Whi3le – dus>n@yahoo‐inc.com

Upload: megan-eskey

Post on 10-May-2015

5.884 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: The Yahoo Open Stack

Diving into the Yahoo! Open Stack  

h3p://developer.yahoo.com/hacku/ Dus>n Whi3le – dus>n@yahoo‐inc.com

Page 2: The Yahoo Open Stack

DEVELOPER.YAHOO.COM EXAMPLES|TUTORIALS|CODESAMPLES

Page 3: The Yahoo Open Stack

YAHOO! IS POWERED BY OPEN SOURCE TECHNOLOGIES 

FREEBSD|LINUX|APACHE|PHP|MYSQL|BUGZILLA|HADOOP|SYMFONY

Page 4: The Yahoo Open Stack

YAHOO! EMBRACES OPEN STANDARDS W3C|MICROFORMATS|OAUTH|OPENID|OPENSOCIAL

Page 5: The Yahoo Open Stack

YAHOO! HIRES OPEN SOURCE DEVELOPERS RASMUSLERDORF|DOUGCROCKFORD|DOUGCUTTING|CHRISTIANHEILMANN

Page 6: The Yahoo Open Stack

YAHOO! GIVES BACK TO OPEN SOURCE YUI|BROWSERPLUS|DESIGNPATTERNS|R3|YSLOW+PERFORMANCERULES

Page 7: The Yahoo Open Stack

YAHOO! SHARES ITS DATA THROUGH OPEN APIS AND WEB SERVICES 

YQL|PIPES|BOSS|CONTACTS|UPDATES|MAIL|DELICIOUS|FLICKR|UPCOMING|HOTJOBS|MAPS|FIREEAGLE|GEOLOCATION|LOCAL|TRAFFIC|WEATHER|

MUSIC|ANSWERS|SHOPPING|FINANCE|TRAVEL

Page 8: The Yahoo Open Stack

YAHOO! ENGAGES COMMUNITIES WITH OPEN HACK EVENTS AROUND THE WORLD 

HackDays|HackU|TechTalks|YDNTheater

Page 9: The Yahoo Open Stack

WE ARE OPEN AT YAHOO! 

Page 10: The Yahoo Open Stack

PROGRESS. EVERYONE IS WORKING TOGETHER! 

Page 11: The Yahoo Open Stack

OPEN PLATFORMS + COLLABORATION OPENID|XRDS|OAUTH|PORTABLECONTACTS|OPENSOCIAL

Page 12: The Yahoo Open Stack
Page 13: The Yahoo Open Stack

The goals of Yahoo! Open Strategy 

Page 14: The Yahoo Open Stack

Y! OS – Establish a social dimension 

•  UnderlyingsocialplaOorm•  SocialAPIsw/OpenSocial

•  Unifiedprofilesystem

•  RichconnecTons•  UpdatesacrossYahoo!

•  Linkyourexternalaccounts

Page 15: The Yahoo Open Stack
Page 16: The Yahoo Open Stack
Page 17: The Yahoo Open Stack

Y! OS – Unified Open Profile 

Page 18: The Yahoo Open Stack

Y! OS – Unified Open Profile 

Page 19: The Yahoo Open Stack

Y! OS – Unified Open Profile 

Page 20: The Yahoo Open Stack
Page 21: The Yahoo Open Stack
Page 22: The Yahoo Open Stack
Page 23: The Yahoo Open Stack
Page 24: The Yahoo Open Stack

Y! OS – Open to 3rd‐par>es like never before 

•  Yahoo!DeveloperNetwork•  DeveloperTools(YUI,etc)

•  SocialAPIs•  Profiles•  ConnecTons•  Updates

•  DataAPIs•  OAuth

•  Yahoo!QueryLanguage•  Yahoo!ApplicaTonPlaOorm

•  OpenSocial

Page 25: The Yahoo Open Stack

h3p://developer.yahoo.com/yos/ 

Y! OS – The Open Stack 

Page 26: The Yahoo Open Stack
Page 27: The Yahoo Open Stack

Y! Developer Network 

Page 28: The Yahoo Open Stack

The Yahoo! Developer Network offers open source tools and open data APIs to make it easy for developers to build 

applica>ons and mashups. 

•  50+ APIs / Web Services –  Developer Dashboard –  Tutorials + Code Samples –  API Documenta>on 

•  Yahoo! User Interface libraries + ASTRA •  Design Pa3erns Library •  PHP / Python / Ruby Dev Centers •  Blogs / Theater / Events / Evangelism 

What is Yahoo! Developer Network? 

Page 29: The Yahoo Open Stack
Page 30: The Yahoo Open Stack
Page 31: The Yahoo Open Stack

•  JavaScriptFramework– UTliTes‐YAHOO,Dom,Event,AnimaTon,BrowserHistoryManager,ConnecTonManager,Cookie,DataSource,DragandDrop,Element,Get,ImageLoader,JSON,Resize,Selector,Loader

–  Controls/Widgets‐AutoComplete,Bu^on,Calendar,Charts,ColorPicker,DataTable,ImageCropper,RichTextEditor,Slider,Uploader

–  Container(Module,Overlay,Panel,ToolTp,Dialog),LayoutManager,Menu,TabView,TreeView

– Debug–Logger,Profiler,Test

Y! Developer Network – YUI JS 

Page 32: The Yahoo Open Stack

•  CSSFoundaTon– Reset‐NeutralizesbrowserCSSstyles– Base‐AppliesconsistentstylefoundaTon– Fonts‐FoundaTonfortypographyandfont‐sizing– Grids‐Thousandsofwireframelayouts

•  UserInterfaceDesignPa^ernsLibrary– ProvensoluTonstocommoninterfaces– h^p://developer.yahoo.com/ypa^erns/

– GradeBrowserSupport/ProgressiveEnhancement

Y! Developer Network – YUI CSS 

Page 33: The Yahoo Open Stack

•  Morethan275funcTonalexamples– h^p://developer.yahoo.com/yui/examples/

•  Yslow+PerformanceRules– h^p://developer.yahoo.com/performance

•  YUIBlog– h^p://yuiblog.com/

•  MailingList@Yahoo!Groups– h^p://tech.groups.yahoo.com/group/ydn‐javascript/

Y! Developer Network – Documenta>on 

Page 34: The Yahoo Open Stack

Y! Developer Network 

Page 35: The Yahoo Open Stack
Page 36: The Yahoo Open Stack
Page 37: The Yahoo Open Stack
Page 38: The Yahoo Open Stack
Page 39: The Yahoo Open Stack
Page 40: The Yahoo Open Stack
Page 41: The Yahoo Open Stack
Page 42: The Yahoo Open Stack

SearchMonkey + BOSS 

Page 43: The Yahoo Open Stack
Page 44: The Yahoo Open Stack
Page 45: The Yahoo Open Stack

A simple Blueprint Example 

Page 46: The Yahoo Open Stack
Page 47: The Yahoo Open Stack

Yahoo! Open Stack ‐ OAuth  

Page 48: The Yahoo Open Stack

Yahoo! Open Stack ‐ OAuth  • 2‐legged&3‐leggedOAuth• ConsumerKey/ConsumerSecret• SimilartoproprietaryBBAuth,butopenstandard

h3p://developer.yahoo.com/oauth/ 

Page 49: The Yahoo Open Stack
Page 50: The Yahoo Open Stack
Page 51: The Yahoo Open Stack

h3p://oauth.net/core/1.0 

Y! Open Stack – Doing the Dance  

Page 52: The Yahoo Open Stack
Page 53: The Yahoo Open Stack

Yahoo! Open Stack ‐ OpenID 

•  OpenIDmakesiteasyforyoutodeliverasimplifiedloginexperienceforyourusers

•  Yahoo!isanOpenID2.0provider–youcanuseyourYahoo!usernameonanopenidenabledsite

h3p://developer.yahoo.com/openid/ 

Page 54: The Yahoo Open Stack
Page 55: The Yahoo Open Stack
Page 56: The Yahoo Open Stack

Y! OS – Rewire Yahoo! 

•  UpdatesacrossYahoo!•  OpenAppsforMyYahoo

•  OpenAppsforMobile

Page 57: The Yahoo Open Stack

Y! Open Stack – Social APIs 

•  SocialDirectory(read)

•  Contacts(read)

•  UserStatus(read/write)

•  Updates(read/write)

•  h3p://developer.yahoo.com/social 

Page 58: The Yahoo Open Stack

A Query Language for the Web 

Page 59: The Yahoo Open Stack

•  ThousandsofWebServicesthatprovidevaluabledata

•  RequireDeveloperstoreaddocumentaTonandformURLs/queries.

•  Dataisisolated•  Needscombining,tweaking,shapingevenaleritgetstothedeveloper.

Y! Open Stack – YQL 

Page 60: The Yahoo Open Stack

•  SQL‐LikeLanguage– SynonymouswithDataaccess

– Familiartodevelopers– Expressiveenoughtogettherightdata.

•  SelfDescribing‐show,desctable•  Allowsyoutoquery,filterandjoindataacrossWebServices.

Y! Open Stack – YQL 

Page 61: The Yahoo Open Stack

61

YQLCommand:DESCsocial.connecTons

YQL – Table Contents 

Page 62: The Yahoo Open Stack

•  3 Verbs 

– show: lists the supported tables – desc: describes the structure of a table – select: fetches data Tables, Verbs, Filters 

YQL ‐ Verbs 

Page 63: The Yahoo Open Stack

YQL Statements ‐ Basics

SELECTwhatFROMcollecTon

WHEREfiltercondiTon

IN(sub‐select)

LIMITnOFFSETnshow:

Syntax 

Page 64: The Yahoo Open Stack

YQL Statements ‐ Collec>ons

•  FROMcollecTon•  Yahoo!WebServices

– SocialDir,Upcoming,MyblogLog,Y!Local,Search(BOSS)

•  ExternalDataSources– XML,Atom,RSS,JSON,CSV,HTML

Syntax ‐> Select ‐> Collec>on 

Page 65: The Yahoo Open Stack
Page 66: The Yahoo Open Stack
Page 67: The Yahoo Open Stack

•  TabledatacanbefilteredintheWHEREclauseeither– Remotelybythetabledatasource– LocallybytheYQLengine(dotnotaTon)

Syntax ‐> Select ‐> WHERE clause 

YQL Statements – Where

Page 68: The Yahoo Open Stack

YQL Statements ‐ Subselects

•  IN(SELECT...)–  Joinacrossdatasources– FieldIN(selectguidfrom...)– LikeSELECTbutcanreturnonlyNleaves

Syntax ‐> Select ‐> Sub‐Select 

Get the profile for all my connec1ons: 

select * from social.profile where guid in (select guid from social.connec?ons where owner_guid = me) 

Page 69: The Yahoo Open Stack
Page 70: The Yahoo Open Stack

•  ChangingtheTableSize– Yahoo!Tablesarelimitedtoasmallnumberbydefault(10)

–  IncreasesetsizeasparameterstoCollecTon

select * from local.search(100) where zip=‘94089’ and query=‘pizza’ 

Syntax ‐> Select ‐> Table Size 

select * from local.search where zip=‘94089’ and query=‘pizza’ 

YQL Statements – Table

Page 71: The Yahoo Open Stack

•  Filters: limi?ng condi?ons for the output data.  – Follows a where clause Tables, Verbs, Filters 

•  select * from social.contact where guid=me  

•  select * from flickr.photos.search where text=”Cat” 

YQL ‐ Filters 

Page 72: The Yahoo Open Stack

72

YQLCommand:SHOWtables

YQL – Available Tables 

Page 73: The Yahoo Open Stack

•  Delicious•  Dopplr•  Friendfeed•  Github•  NewYorkTimes•  Shopping

•  Twi^er•  Weather•  Wesabe•  Whitepages

•  Zillow•  ….

Availableongithub‐h^p://github.com/spullara/yql‐tables/

YQL ‐ Open Tables 

Page 74: The Yahoo Open Stack

YQL – Open Tables 

Page 75: The Yahoo Open Stack

YQL – Open Tables 

Page 76: The Yahoo Open Stack

YQL – Open Tables 

Page 77: The Yahoo Open Stack

YQL – Open Tables

•  SchemadefinesmappingbetweenYQLandEndpoint

•  Keyscaneitherbequery,pathormatrixparameters

•  Keyscanbemarkedasrequired

•  YQLCompilervalidatesexistenceofrequiredkeys

Page 78: The Yahoo Open Stack

78

ProjecTon‐SELECTwhatFROMtable‐SELECT*FROMsocial.connecTons

LocalandRemoteFiltering‐SELECTwhatFROMtableWHEREfilter‐SELECT*FROMsocial.profileWHEREguid=me

Sub‐selects‐JoiningData‐SELECTwhatFROMtableWHEREfieldvalueIN(SELECT...)‐SELECT*FROMsocial.profileWHEREguidIN(SELECTguidFROMsocial.connecTonsWHEREowner_guid=me)

LocalPagingControl‐SELECTwhatFROMtableWHEREfilterLIMIT10OFFSET50‐SELECT*FROMweb.searchWHEREquery="madonna"LIMIT3OFFSET10

RemoveTableSizeControl‐SELECTwhatFROMtable(0,500)WHEREcondiTon‐SELECT*FROMweb.search(0,10)WHEREquery="madonna"ANDresult.XXX=something

YQL – Query Formats

Page 79: The Yahoo Open Stack

OAuthEndpoint•  h^p://query.yahooapis.com/v1/yql?q=...

PublicEndpoint•  h^p://query.yahooapis.com/v1/public/yql?q=

YQLConsole•  h^p://developer.yahoo.com/yql/console

YQL – API End Points 

Page 80: The Yahoo Open Stack

YQL + PIPES 

Page 81: The Yahoo Open Stack

81

YQL – Running a Query 

Page 82: The Yahoo Open Stack
Page 83: The Yahoo Open Stack

•  select*fromsocial.connecTons

•  select*fromdelicious.feeds.popular

•  select*fromflickr.photos.interesTngness

•  select*fromfriendfeed.status

•  select*fromgithub.checkins

YQL ‐ Examples 

Page 84: The Yahoo Open Stack

Y! Open Stack – Applica>on Planorm 

•  Allows developers the opportunity to deploy their own web based applica>ons on Yahoo! 

•  Mul>ple Views: Small and Canvas 

•  Social Context: the new Yahoo! Social Directory 

•  Developer Dashboard •  OpenSocial 0.8 Javascript APIs 

Page 85: The Yahoo Open Stack

Y! Open Stack – Open Applica>ons 

Page 86: The Yahoo Open Stack
Page 87: The Yahoo Open Stack
Page 88: The Yahoo Open Stack
Page 89: The Yahoo Open Stack
Page 90: The Yahoo Open Stack
Page 91: The Yahoo Open Stack
Page 92: The Yahoo Open Stack
Page 93: The Yahoo Open Stack
Page 94: The Yahoo Open Stack
Page 95: The Yahoo Open Stack
Page 96: The Yahoo Open Stack
Page 97: The Yahoo Open Stack
Page 98: The Yahoo Open Stack
Page 99: The Yahoo Open Stack
Page 100: The Yahoo Open Stack
Page 101: The Yahoo Open Stack
Page 102: The Yahoo Open Stack

102

Open Applica>on Code Dive 

 What can you do with open apps? 

Page 103: The Yahoo Open Stack
Page 104: The Yahoo Open Stack
Page 105: The Yahoo Open Stack
Page 106: The Yahoo Open Stack
Page 107: The Yahoo Open Stack

What is YML?

•  YML tags make it easy for you to create applica>ons that access social data, such as a list of the user’s friends. 

•  Similar in format to XML, YML provides func>onality to Open Applica>ons in a safe and standardized fashion. yml:friend‐selector yml:visible‐to‐friends 

•  Will begin integra>ng into OSML 

Page 108: The Yahoo Open Stack

What is YML?

•  Dynamic and secure interac>ons: Several YML tags provide UI widgets and rich interac>ons that normally require untrusted javascript. 

Page 109: The Yahoo Open Stack

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 Tags 

Page 110: The Yahoo Open Stack

CajaisaJavaScriptsandboxofsorts.ItsaniTzesJavaScriptandHTML,removingunsafecode.Thatcodethenrunsinthebrowser.ThisallowsYahootosafelyincludeexternally

createdJavaScript.Developersshouldexpectthattheycannotdoeverythingtheywould

normallydoinawebapplicaTon.

Caja – What is it?

Page 111: The Yahoo Open Stack

Y! Open Stack – Caja 

•  HTML/CSS/JavaScriptsecurer

•  Enforcesstandards

•  OneofthefirsttointegrateCaja(andkeepitrunning)

•  h^p://code.google.com/p/google‐caja

•  h^p://developer.yahoo.com/yap/guide/caja‐support.html

Page 112: The Yahoo Open Stack

•  CajapreventstheuseofarbitraryAcTveXcomponents,useofevalandiframes.

•  ExternallibrarieslikeYUIarenotsupported.•  Itdoesnotallowdocument.writebutinnerHTMLisallowed.

•  ObjectsinCajacannotbeextendedbyuseofobj.prototype.

•  Nodirectaccesstorealglobalobjects.

Caja – What is it?

Page 113: The Yahoo Open Stack

Caja – JavaScript Before Cajoling 

Page 114: The Yahoo Open Stack

Caja – JavaScript Arer Cajoling 

Page 115: The Yahoo Open Stack

Caja & JavaScript – What doesn’t work? •  eval()

•  newFuncTon()

•  Stringsaseventhandlers(node.onclick='...';)

•  Namesendingwithdouble/tripleunderscores

•  withfuncTon(with(obj){...})

•  Implicitglobalvariables(specifyvarvariable)

•  CallingamethodasafuncTon

•  document.write

•  window.event

•  .onclick

•  OpenSocialgadgets.io.makeRequestreturnJS

Page 116: The Yahoo Open Stack

Caja & HTML – What doesn’t work? •  namea^ributeswithgadgets.io.makeRequest

•  Customa^ributes

•  Customtags

•  Unclosedtags

•  <embed>

•  <iframe>

•  <linkrel=‘…

•  javascript:void(0)•  Radiobu^onsinIE

•  RelaTveurl’s

Page 117: The Yahoo Open Stack

Caja & IFRAME – Concerns

IFrame Concerns 

•  Drive‐bydownloads

•  Phishinga^acks

•  NorealcontentrestricTons

Caja Implementa>on 

•  Blacklistall/Whitelistsomemodel

Page 118: The Yahoo Open Stack

Caja & CSS – What doesn’t work? •  *hacks

•  _hacks

•  IEcondiTonals

•  Insert‐alerclearfix

•  expression()

•  @import

•  BackgroundimagesinIE

Page 119: The Yahoo Open Stack

Caja – Best Prac>ces 

•  UseOpenSocialJavaScriptstandards•  UseW3Cstandards

•  UseYMLwhereverpossible

•  UnittestallJavaScript•  ReadthedocumentaTon(h^p://developer.yahoo.com/yos)

•  ParTcipateintheforums(h^p://developer.yahoo.net/

forum/)

Page 120: The Yahoo Open Stack

Caja Prac>cal – Running an AJAX Request 

Page 121: The Yahoo Open Stack

Caja Prac>cal – Working with JSON 

Page 122: The Yahoo Open Stack

Caja Prac>cal – Assigning Click Handlers 

•  CajaclientsidesaniTzerstripsJavaScriptwhen

insertedinDOMfollowingAJAXrequests

•  HowdoIassignclickhandlersthen?

Given: DOM Node with an ID

<divid=‘myClickDiv’>ClickMe!</div> 

Page 123: The Yahoo Open Stack

Caja Prac>cal – Assigning Click Handlers 

Page 124: The Yahoo Open Stack

Caja Prac>cal – Assigning Click Handlers 

Step 2 – Define your callback func>on 

Page 125: The Yahoo Open Stack

Y! Open Stack – SDKs 

PHP SDK Currently Available Open and OAuth Applica>ons 

Ac>onScript 3 SDK Currently Available Open Applica>ons 

Java SDK in Development Open and OAuth Applica>ons 

Page 126: The Yahoo Open Stack

Installing the YOS PHP SDK 

1.  Download the SDK

–  http://developer.yahoo.com/social/sdk

2.  Unzip yos_php_sdk-1.1

3.  Get a Developer Key

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

4.  Start to write some code

Page 127: The Yahoo Open Stack

YOSSDK – Methods 3‐Legged OAuth 

getSessionedUser (session)getOwner (session)getUser (session)query (session)getPresence (user)setPresence (user)listUpdates (user)listConnecTonUpdates (user)insertUpdate (user)deleteUpdate (user)loadProfile (user)getConnecTons (user)getContacts (user)setSmallView (user)

2‐Legged OAuth 

setSmallView (applicaTon)query (applicaTon)

Page 128: The Yahoo Open Stack

YOSSDK – 2‐Legged OAuth 

UsedFor:

‐ PublicuserdataandopenAPIs

Page 129: The Yahoo Open Stack

<?php // Include the PHP SDK for YSP library. require_once("yosdk/lib/Yahoo.inc"); 

// Define values for keys required for authoriza>on define(CONSUMER_KEY,"dj0yJmk9ZDNwaXdQSEZ…j"); define(CONSUMER_SECRET,"37fe717538e0598e6c70d4262…"); 

// The YahooApplica>on class is used for two‐legged authoriza>on, which doesn't need user authoriza>on. $two_legged_app = new YahooApplica>on(CONSUMER_KEY,CONSUMER_SECRET); 

// Create queries for Flickr $yql_request = 'select * from flickr.photos.search where user_id="28569531@N00" and text="jump" limit 6'; 

// Make the request $results = $two_legged_app‐>query($yql_request); $photos = $results‐>query‐>results‐>photo; 

// Build the output HTML foreach($photos as $k=>$v) {      $imgs .= '<img src="h3p://farm' . $v‐>farm . '.sta>c.flickr.com/' . $v‐>server . '/' . $v‐>id . '_' . $v‐>secret . '_m.jpg" alt="Image' . $k . '"/>' ; } echo "<html><body>" . $imgs . '</body></html>’; ?> 

Page 130: The Yahoo Open Stack
Page 131: The Yahoo Open Stack

YOSSDK – 3‐Legged OAuth 

UsedFor:

‐ Privatedataaccess

Page 132: The Yahoo Open Stack

<?php//IncludethePHPSDKforYSPlibrary.require_once("yosdk/lib/Yahoo.inc");

//DefinevaluesforkeysrequiredforauthorizaTondefine(CONSUMER_KEY,"dj0yJmk9ZDNwaXd…j");define(CONSUMER_SECRET,"37fe717538e0598e6…");

$session=YahooSession::requireSession(CONSUMER_KEY,CONSUMER_SECRET);

//DefineYQLqueriesfortheSocialDirectoryAPIs$query="SELECT*FROMsocial.connecTonsWHEREowner_guid=meLIMIT2";$result=$session‐>query($query);

//BuildtheoutputHTMLecho("<html><body><pre><h2>ConnecTonData</h2>");var_dump($result);echo("</pre></body></html>");?>

YOSSDK – Finding connec>ons 

Page 133: The Yahoo Open Stack

YOSSDK – Crea>ng an update 

3‐LeggedOAuth

Page 134: The Yahoo Open Stack

YOSSDK – Se�ng the status of a user 

3‐LeggedOAuth

Page 135: The Yahoo Open Stack

YOSSDK – Upda>ng the small view 

Page 136: The Yahoo Open Stack

136

YAP Applica>ons  How do I get started? 

Page 137: The Yahoo Open Stack

Experience:  BasicWebDevKnowledge–HTML/CSS/Javascript

What we are building: Commonground–Findoutwhatyouhaveincommonwithyoursocialgraph:music,movies,books,hobbies.

What we will use: YOSSDK,YQL,YAP

Building a YAP App : CommonGround

Page 138: The Yahoo Open Stack
Page 139: The Yahoo Open Stack
Page 140: The Yahoo Open Stack

•  SimpleScalableHosTng–  Joyent–FreeOpenSocialAccelerators– GoogleAppEngine– AmazonEC2+S3

•  Framework– PHP(symfony)

– Python(Django)– Ruby(Rails)

Y! Applica>on Planorm – A good start 

Page 141: The Yahoo Open Stack

•  HowtoworkwiththeYOSSDK•  UsingsocialapisthroughYQL•  UsinganywebdatathroughYQLapis•  DisplayingsocialdatawithYMLandYAP

What will we learn?

Page 142: The Yahoo Open Stack

•  CreateanapplicaTonindeveloperdashboard•  SetapplicaTonurlindevelopertool•  BuildapplicaTon•  Previewindevelopertool•  Pushliveindevelopertool•  Pushtogallery

What does it take?

Page 143: The Yahoo Open Stack

h3p://developer.yahoo.com/dashboard

Page 144: The Yahoo Open Stack
Page 145: The Yahoo Open Stack
Page 146: The Yahoo Open Stack
Page 147: The Yahoo Open Stack

CommonGround available on GitHub 

h3p://github.com/dwhi3le/commonground 

Page 148: The Yahoo Open Stack

MyApps+FeaturedApplicaTons

Page 149: The Yahoo Open Stack

149

YAP Code Dive  Lets build a social app live 

Page 150: The Yahoo Open Stack

150

YAP Code Dive  Common Ques>ons 

Page 151: The Yahoo Open Stack

Ge�ng Started ‐ Documenta>on Y!OSMainOverview‐

h^p://developer.yahoo.com/yosYAPMainOverview‐

h^p://developer.yahoo.com/yapYQLDocs‐

h^p://developer.yahoo.com/yqlYMLDocs‐

h^p://developer.yahoo.com/yap/ymlYDNForum–h^p://developer.yahoo.com/forumYAPDashboard‐

h^p://developer.yahoo.com/dashboard

YQLConsole‐h^p://developer.yahoo.com/yql/console

ApplicaTonGallery‐h^p://apps.yahoo.com/myapps

JSLint‐h^p://www.jslint.com

PHPSDK‐h^p://developer.yahoo.com/social/sdk/

AS3SDK‐h^p://developer.yahoo.com/flash/yos/

Caja‐h^p://code.google.com/p/google‐caja/

CajaSupport‐h^p://developer.yahoo.com/yap/guide/caja‐support.html

Page 152: The Yahoo Open Stack

•  IhaveanexisTngOpenSocialapplicaTon.HowdoIgetstarted?

•  IhaveanexisTngFacebookapplicaTon.HowdoIgetstarted?

•  CanIputadsinmyapplicaTon?

•  HowdoIauthenTcateOAuthusingJavaScript?

•  Noneofmystylesaredisplaying,what’shappening?

•  WhyPHP/AS3forthefirstSDK?

•  setSmallViewisnotworking?What’sgoingon?

•  HowdousersfindmyapplicaTon?

Page 153: The Yahoo Open Stack

QUESTIONS? (Iwillbearoundforthewholeevent,sopleasedosayhelloandaskquesTons)

Page 154: The Yahoo Open Stack

WANT TO JOIN YAHOO? WE ARE HIRING AND HAVE INTERNSHIPS! 

Page 155: The Yahoo Open Stack

DEVELOPER.YAHOO.COM EXAMPLES|TUTORIALS|CODESAMPLES

ENJOY THE REST OF HACKU