SlideShare una empresa de Scribd logo
1 de 41
Browser MVC with YQL and YUI Jonathan LeBlanc Technology Evangelist Yahoo! Developer Network Twitter: @jcleblanc
2 Geo Maker Available At: http://icant.co.uk/geomaker/index.php
3 Yahoo! Social Updates Available At:      www.nakedtechnologist.com/ php_widget_oauth/ yql_php_widget.html
4 Christian Heilmann’s Website Available At: http://icant.co.uk/
5 Fetching Dynamic Data with YQLBrowser MVC Model Component
6
7 YQL Query StructureSELECT * FROM Internet
8 YQL Test Console Available At: http://developer.yahoo.com/yql/console
9 Running Queries - SELECT Query Structure SELECTmyColumn, myTitle FROMmyTable WHEREmyColumn = 'value' ANDmyTitle = 'title‘ LIMIT3 OFFSET10
10 Running Queries - INSERT / UPDATE / DELETE Modify Data on the Internet Create Tweets, Add Blog Entries, Update Databases Current Tables Using I/U/D Twitter Status, bit.ly URL Shortner, Yahoo! Profile Status / Update  Stream, Amazon  SimpleDB
11 Running Queries - INSERT Query Structure INSERT INTObitly.shorten (login, apiKey, longUrl)  VALUES (’ME', 'API_KEY', 'http://yahoo.com')
12 Running Queries - UPDATE Query Structure UPDATE social.profile.status SET status="Using YQL UPDATE"  WHEREguid=“NJFIDHVPVVISDXZKT7UKED2WHU”
13 Running Queries - DELETE Query Structure DELETE FROM twittertable WHERE tweetid="12345"  AND username="twitter_username"  AND password="twitter_password
14 Running Queries – Sub-selects with the IN clause SELECT * FROM flickr.photos.search WHERE (lat, lon)  IN (SELECT centroid.latitude, centroid.longitude FROM geo.places WHERE text="SFO")
15 Running Queries – Available Tables YQL Command: SHOW Tables Number of Standard Tables: 105 Number of Community Tables: 600 Total Number of Tables: 705 Contribute Tables to:  http://www.github.com/yql/yql-tables/
16 Running Queries – Table Syntax YQL Command: DESC tablename
Running Queries – URL Format http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params q=[QUERY] format=[XML / JSON]  diagnostics=[true / false] debug=[true / false] env=[.env file link] callback=[function name] 17
18 Running Queries – URL Format http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params ,[object Object]
format=[XML / JSON / JSONP / JSONP-X]
diagnostics=[true / false]
debug=[true / false]
env=[.env file link]
callback=[function name],[object Object]
20 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>         <bindings></bindings> </table>
21 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>      <bindings></bindings> </table>
22 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta>         <author>Jonathan LeBlanc</author>                    <description>My Table</description>          <documentationURL>www.site.com</documentationURL>                <sampleQuery>SELECT * FROM {table} </sampleQuery>     </meta>         <bindings></bindings> </table>
23 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>     <bindings></bindings> </table>
24 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>  <bindings> <select itemPath="" produces="XML" >              <urls>                  <urlenv="all”>http://www.site.com/{user}</url>              </urls>              <inputs>                 <key id="user" type="xs:string" paramType="path"                     required="true" /> </inputs>          </select>      </bindings> </table>
25 Open Data Tables – Invoking a Table Definition The USE clause USE 'http://github.com/yql/yql-tables/raw/master/google/google.buzz.updates.xml' AS buzz.updates;  SELECT * FROM buzz.updates WHERE user='nakedtechnologist'
Google Buzz Table Available At: http://github.com/yql/yql-tables
27 YQL ExecuteExtending Open Data Tables
28 YQL Execute – Use Benefits Augment data ,[object Object],Create APIs from web pages ,[object Object],Data Transformations ,[object Object],Move business logic of your application to the cloud
29 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>      <bindings> <select itemPath="" produces="XML" >              <urls></urls>              <inputs></inputs>          </select>      </bindings> </table>
30 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">         <meta></meta>      <bindings> <select itemPath="" produces="XML" >              <urls></urls>              <inputs></inputs> <execute></execute>          </select>      </bindings> </table>
Global Disaster Alert and Coordination System Table Available At: http://github.com/yql/yql-tables
32 YUI Data Handling & ManipulationBrowser MVC Controller Component
33 YUI Visualization: Controller DATA PROCESSING GET Connection Manager  HANDLING & MANIPULATION DOM Event Uploader
34 YUI Visualization: Controller (GET Utility) <script type="text/javascript">//public YQL query URLvaryqlPublicQueryURL = "http://query.yahooapis.com/v1/public/yql?";//YQL QueryvarsQuery = 'SELECT * FROM maps.map WHERE zip="94085"';//prepare the URL params for YQL queryvarsURL = yqlPublicQueryURL + "q=" + encodeURI(sQuery) + "&format=json&callback=getYQLDataCallback";//make GET request to YQL with provided queryvartransactionObj = YAHOO.util.Get.script(sURL, {    onSuccess : onYQLReqSuccess,    onFailure : onYQLReqFailure,    scope : this});return transactionObj; </script>
35 YUI Visualization: Controller (Connection Manager) <script type="text/javascript">//YQL QueryvarsQuery = 'select lastUpdated, link, loc_iconURL, loc_longForm, profile_nickname, profile_profileUrl, publishedTime from social.updates where guid=me | sort(field="lastUpdated") | reverse()';//prepare the URL & post data for the Yahoo! connection manager POSTvarsURL = "private_data_fetch.php";varpostData = "q=" + sQuery;//define connection manager event callbacksvar callback = {    success:parseYQLResults,    failure:onYQLReqFailure};//make POST request to YQL with provided queryvartransactionObj = YAHOO.util.Connect.asyncRequest('POST', sURL, callback, postData); </script>
36 YUI VisualizationBrowser MVC View Component
37 YUI Visualization: View VISUALIZATION UTILITIES AnimationButtonCalendarColor PickerCarouselChartsData TableImageLoader Layout ManagerMenuProgressBarSliderStylesheetSWF UtilityTabViewTreeView

Más contenido relacionado

La actualidad más candente

Web accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introductionWeb accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introductionGeoffroy Baylaender
 
Facebook Social Plugins
Facebook Social PluginsFacebook Social Plugins
Facebook Social PluginsAizat Faiz
 
Passo a Passo para criar uma aplicação Móvel Híbrida
Passo a Passo para criar uma aplicação Móvel HíbridaPasso a Passo para criar uma aplicação Móvel Híbrida
Passo a Passo para criar uma aplicação Móvel HíbridaJuliano Martins
 
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...Peter Martin
 
Y!OS Overview and Deep Code Dive
Y!OS Overview and Deep Code DiveY!OS Overview and Deep Code Dive
Y!OS Overview and Deep Code DiveJonathan LeBlanc
 
Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)
Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)
Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)Sander Potjer
 
Techie festival 2012 mobile web
Techie festival 2012 mobile webTechie festival 2012 mobile web
Techie festival 2012 mobile webScotty Logan
 
Fast Loading JavaScript
Fast Loading JavaScriptFast Loading JavaScript
Fast Loading JavaScriptAaron Peters
 
YAP, Open Hack Day, Bangalore 2011
YAP, Open Hack Day, Bangalore 2011YAP, Open Hack Day, Bangalore 2011
YAP, Open Hack Day, Bangalore 2011kals_amit_kumar
 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Hans Kuijpers
 
Automating Accessibility: WordCamp Minneapolis 2015
Automating Accessibility: WordCamp Minneapolis 2015Automating Accessibility: WordCamp Minneapolis 2015
Automating Accessibility: WordCamp Minneapolis 2015Joseph Dolson
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)Steve Souders
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid ThemDaniel Kanchev
 
Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org Ali Bakhtiari
 
Adobe connect interaction (2)
Adobe connect interaction (2)Adobe connect interaction (2)
Adobe connect interaction (2)Becky Russell
 

La actualidad más candente (18)

Web accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introductionWeb accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introduction
 
Facebook Social Plugins
Facebook Social PluginsFacebook Social Plugins
Facebook Social Plugins
 
Passo a Passo para criar uma aplicação Móvel Híbrida
Passo a Passo para criar uma aplicação Móvel HíbridaPasso a Passo para criar uma aplicação Móvel Híbrida
Passo a Passo para criar uma aplicação Móvel Híbrida
 
Aloha Presentation #t3con10
Aloha Presentation #t3con10Aloha Presentation #t3con10
Aloha Presentation #t3con10
 
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
JUG Utrecht 2013 - Have you tried turning it off and on again? Problemen oplo...
 
Edinburgh
EdinburghEdinburgh
Edinburgh
 
Y!OS Overview and Deep Code Dive
Y!OS Overview and Deep Code DiveY!OS Overview and Deep Code Dive
Y!OS Overview and Deep Code Dive
 
Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)
Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)
Joomla 1, Joomla 2, Joomla 3 (Joomla Versions Explained)
 
Techie festival 2012 mobile web
Techie festival 2012 mobile webTechie festival 2012 mobile web
Techie festival 2012 mobile web
 
Fast Loading JavaScript
Fast Loading JavaScriptFast Loading JavaScript
Fast Loading JavaScript
 
YAP, Open Hack Day, Bangalore 2011
YAP, Open Hack Day, Bangalore 2011YAP, Open Hack Day, Bangalore 2011
YAP, Open Hack Day, Bangalore 2011
 
Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!Bootstrap 3 in Joomla!
Bootstrap 3 in Joomla!
 
Automating Accessibility: WordCamp Minneapolis 2015
Automating Accessibility: WordCamp Minneapolis 2015Automating Accessibility: WordCamp Minneapolis 2015
Automating Accessibility: WordCamp Minneapolis 2015
 
JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)JavaScript Performance (at SFJS)
JavaScript Performance (at SFJS)
 
SEA Open Hack - YAP
SEA Open Hack - YAPSEA Open Hack - YAP
SEA Open Hack - YAP
 
8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them8 Most Common Joomla! Hacks and How to Avoid Them
8 Most Common Joomla! Hacks and How to Avoid Them
 
Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org Bootstrap cheat-sheet-websitesetup.org
Bootstrap cheat-sheet-websitesetup.org
 
Adobe connect interaction (2)
Adobe connect interaction (2)Adobe connect interaction (2)
Adobe connect interaction (2)
 

Similar a Browser MVC with YQL and YUI

Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyChristian Thilmany
 
Open social 2.0 sandbox ee and breaking out of the gadget box
Open social 2.0 sandbox  ee and breaking out of the gadget boxOpen social 2.0 sandbox  ee and breaking out of the gadget box
Open social 2.0 sandbox ee and breaking out of the gadget boxRyan Baxter
 
The current status of html5 technology and standard
The current status of html5 technology and standardThe current status of html5 technology and standard
The current status of html5 technology and standardWonsuk Lee
 
Struts2
Struts2Struts2
Struts2yuvalb
 
Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2Matt Raible
 
Introduction to YQL - Talk at HackU 2010, IIT Chennai
Introduction to YQL - Talk at HackU 2010, IIT ChennaiIntroduction to YQL - Talk at HackU 2010, IIT Chennai
Introduction to YQL - Talk at HackU 2010, IIT ChennaiBalaji Narayanan
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructureguest517f2f
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructurePamela Fox
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewDave Bost
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVCAlan Dean
 
Struts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configurationStruts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configurationJavaEE Trainers
 
E pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverviewE pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverviewwqwqqw wqqww
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Estelle Weyl
 

Similar a Browser MVC with YQL and YUI (20)

Hack Day EU 2011 YQL
Hack Day EU 2011 YQLHack Day EU 2011 YQL
Hack Day EU 2011 YQL
 
YQL Overview
YQL OverviewYQL Overview
YQL Overview
 
Html5
Html5Html5
Html5
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Open social 2.0 sandbox ee and breaking out of the gadget box
Open social 2.0 sandbox  ee and breaking out of the gadget boxOpen social 2.0 sandbox  ee and breaking out of the gadget box
Open social 2.0 sandbox ee and breaking out of the gadget box
 
Hacking with YUI
Hacking with YUIHacking with YUI
Hacking with YUI
 
The current status of html5 technology and standard
The current status of html5 technology and standardThe current status of html5 technology and standard
The current status of html5 technology and standard
 
Struts2
Struts2Struts2
Struts2
 
Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2Migrating from Struts 1 to Struts 2
Migrating from Struts 1 to Struts 2
 
Introduction to YQL - Talk at HackU 2010, IIT Chennai
Introduction to YQL - Talk at HackU 2010, IIT ChennaiIntroduction to YQL - Talk at HackU 2010, IIT Chennai
Introduction to YQL - Talk at HackU 2010, IIT Chennai
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google InfrastructureLiving in the Cloud: Hosting Data & Apps Using the Google Infrastructure
Living in the Cloud: Hosting Data & Apps Using the Google Infrastructure
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer Overview
 
Jquery mobile
Jquery mobileJquery mobile
Jquery mobile
 
Introduction To ASP.NET MVC
Introduction To ASP.NET MVCIntroduction To ASP.NET MVC
Introduction To ASP.NET MVC
 
Struts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configurationStruts2 course chapter 2: installation and configuration
Struts2 course chapter 2: installation and configuration
 
Jsfsunum
JsfsunumJsfsunum
Jsfsunum
 
E pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverviewE pi servereasysearchtechnicaloverview
E pi servereasysearchtechnicaloverview
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 

Más de Jonathan LeBlanc

JavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJonathan LeBlanc
 
Improving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsImproving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsJonathan LeBlanc
 
Better Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessBetter Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessJonathan LeBlanc
 
Best Practices for Application Development with Box
Best Practices for Application Development with BoxBest Practices for Application Development with Box
Best Practices for Application Development with BoxJonathan LeBlanc
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer WorkshopJonathan LeBlanc
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security PracticesJonathan LeBlanc
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI ElementsJonathan LeBlanc
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingJonathan LeBlanc
 
The Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyThe Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyJonathan LeBlanc
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensJonathan LeBlanc
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchJonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaJonathan LeBlanc
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsJonathan LeBlanc
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data SecurityJonathan LeBlanc
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data SecurityJonathan LeBlanc
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaJonathan LeBlanc
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsJonathan LeBlanc
 
Future of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable SecurityFuture of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable SecurityJonathan LeBlanc
 

Más de Jonathan LeBlanc (20)

JavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the ClientJavaScript App Security: Auth and Identity on the Client
JavaScript App Security: Auth and Identity on the Client
 
Improving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data InsightsImproving Developer Onboarding Through Intelligent Data Insights
Improving Developer Onboarding Through Intelligent Data Insights
 
Better Data with Machine Learning and Serverless
Better Data with Machine Learning and ServerlessBetter Data with Machine Learning and Serverless
Better Data with Machine Learning and Serverless
 
Best Practices for Application Development with Box
Best Practices for Application Development with BoxBest Practices for Application Development with Box
Best Practices for Application Development with Box
 
Box Platform Overview
Box Platform OverviewBox Platform Overview
Box Platform Overview
 
Box Platform Developer Workshop
Box Platform Developer WorkshopBox Platform Developer Workshop
Box Platform Developer Workshop
 
Modern Cloud Data Security Practices
Modern Cloud Data Security PracticesModern Cloud Data Security Practices
Modern Cloud Data Security Practices
 
Box Authentication Types
Box Authentication TypesBox Authentication Types
Box Authentication Types
 
Understanding Box UI Elements
Understanding Box UI ElementsUnderstanding Box UI Elements
Understanding Box UI Elements
 
Understanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scopingUnderstanding Box applications, tokens, and scoping
Understanding Box applications, tokens, and scoping
 
The Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments GloballyThe Future of Online Money: Creating Secure Payments Globally
The Future of Online Money: Creating Secure Payments Globally
 
Modern API Security with JSON Web Tokens
Modern API Security with JSON Web TokensModern API Security with JSON Web Tokens
Modern API Security with JSON Web Tokens
 
Creating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from ScratchCreating an In-Aisle Purchasing System from Scratch
Creating an In-Aisle Purchasing System from Scratch
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
PHP Identity and Data Security
PHP Identity and Data SecurityPHP Identity and Data Security
PHP Identity and Data Security
 
Secure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication MediaSecure Payments Over Mixed Communication Media
Secure Payments Over Mixed Communication Media
 
Protecting the Future of Mobile Payments
Protecting the Future of Mobile PaymentsProtecting the Future of Mobile Payments
Protecting the Future of Mobile Payments
 
Future of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable SecurityFuture of Identity, Data, and Wearable Security
Future of Identity, Data, and Wearable Security
 

Último

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Último (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Browser MVC with YQL and YUI

  • 1. Browser MVC with YQL and YUI Jonathan LeBlanc Technology Evangelist Yahoo! Developer Network Twitter: @jcleblanc
  • 2. 2 Geo Maker Available At: http://icant.co.uk/geomaker/index.php
  • 3. 3 Yahoo! Social Updates Available At: www.nakedtechnologist.com/ php_widget_oauth/ yql_php_widget.html
  • 4. 4 Christian Heilmann’s Website Available At: http://icant.co.uk/
  • 5. 5 Fetching Dynamic Data with YQLBrowser MVC Model Component
  • 6. 6
  • 7. 7 YQL Query StructureSELECT * FROM Internet
  • 8. 8 YQL Test Console Available At: http://developer.yahoo.com/yql/console
  • 9. 9 Running Queries - SELECT Query Structure SELECTmyColumn, myTitle FROMmyTable WHEREmyColumn = 'value' ANDmyTitle = 'title‘ LIMIT3 OFFSET10
  • 10. 10 Running Queries - INSERT / UPDATE / DELETE Modify Data on the Internet Create Tweets, Add Blog Entries, Update Databases Current Tables Using I/U/D Twitter Status, bit.ly URL Shortner, Yahoo! Profile Status / Update Stream, Amazon SimpleDB
  • 11. 11 Running Queries - INSERT Query Structure INSERT INTObitly.shorten (login, apiKey, longUrl) VALUES (’ME', 'API_KEY', 'http://yahoo.com')
  • 12. 12 Running Queries - UPDATE Query Structure UPDATE social.profile.status SET status="Using YQL UPDATE" WHEREguid=“NJFIDHVPVVISDXZKT7UKED2WHU”
  • 13. 13 Running Queries - DELETE Query Structure DELETE FROM twittertable WHERE tweetid="12345" AND username="twitter_username" AND password="twitter_password
  • 14. 14 Running Queries – Sub-selects with the IN clause SELECT * FROM flickr.photos.search WHERE (lat, lon) IN (SELECT centroid.latitude, centroid.longitude FROM geo.places WHERE text="SFO")
  • 15. 15 Running Queries – Available Tables YQL Command: SHOW Tables Number of Standard Tables: 105 Number of Community Tables: 600 Total Number of Tables: 705 Contribute Tables to: http://www.github.com/yql/yql-tables/
  • 16. 16 Running Queries – Table Syntax YQL Command: DESC tablename
  • 17. Running Queries – URL Format http://query.yahooapis.com/v1/yql?[params] http://query.yahooapis.com/v1/public/yql?[params] Params q=[QUERY] format=[XML / JSON] diagnostics=[true / false] debug=[true / false] env=[.env file link] callback=[function name] 17
  • 18.
  • 19. format=[XML / JSON / JSONP / JSONP-X]
  • 23.
  • 24. 20 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings></bindings> </table>
  • 25. 21 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings></bindings> </table>
  • 26. 22 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta> <author>Jonathan LeBlanc</author> <description>My Table</description> <documentationURL>www.site.com</documentationURL> <sampleQuery>SELECT * FROM {table} </sampleQuery> </meta> <bindings></bindings> </table>
  • 27. 23 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings></bindings> </table>
  • 28. 24 Open Data Tables – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings> <select itemPath="" produces="XML" > <urls> <urlenv="all”>http://www.site.com/{user}</url> </urls> <inputs> <key id="user" type="xs:string" paramType="path" required="true" /> </inputs> </select> </bindings> </table>
  • 29. 25 Open Data Tables – Invoking a Table Definition The USE clause USE 'http://github.com/yql/yql-tables/raw/master/google/google.buzz.updates.xml' AS buzz.updates; SELECT * FROM buzz.updates WHERE user='nakedtechnologist'
  • 30. Google Buzz Table Available At: http://github.com/yql/yql-tables
  • 31. 27 YQL ExecuteExtending Open Data Tables
  • 32.
  • 33. 29 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings> <select itemPath="" produces="XML" > <urls></urls> <inputs></inputs> </select> </bindings> </table>
  • 34. 30 YQL Execute – XML File Syntax <?xml version="1.0" encoding="UTF-8"?> <table xmlns="http://query.yahooapis.com/v1/schema/table.xsd"> <meta></meta> <bindings> <select itemPath="" produces="XML" > <urls></urls> <inputs></inputs> <execute></execute> </select> </bindings> </table>
  • 35. Global Disaster Alert and Coordination System Table Available At: http://github.com/yql/yql-tables
  • 36. 32 YUI Data Handling & ManipulationBrowser MVC Controller Component
  • 37. 33 YUI Visualization: Controller DATA PROCESSING GET Connection Manager HANDLING & MANIPULATION DOM Event Uploader
  • 38. 34 YUI Visualization: Controller (GET Utility) <script type="text/javascript">//public YQL query URLvaryqlPublicQueryURL = "http://query.yahooapis.com/v1/public/yql?";//YQL QueryvarsQuery = 'SELECT * FROM maps.map WHERE zip="94085"';//prepare the URL params for YQL queryvarsURL = yqlPublicQueryURL + "q=" + encodeURI(sQuery) + "&format=json&callback=getYQLDataCallback";//make GET request to YQL with provided queryvartransactionObj = YAHOO.util.Get.script(sURL, {    onSuccess : onYQLReqSuccess,    onFailure : onYQLReqFailure,    scope : this});return transactionObj; </script>
  • 39. 35 YUI Visualization: Controller (Connection Manager) <script type="text/javascript">//YQL QueryvarsQuery = 'select lastUpdated, link, loc_iconURL, loc_longForm, profile_nickname, profile_profileUrl, publishedTime from social.updates where guid=me | sort(field="lastUpdated") | reverse()';//prepare the URL & post data for the Yahoo! connection manager POSTvarsURL = "private_data_fetch.php";varpostData = "q=" + sQuery;//define connection manager event callbacksvar callback = {    success:parseYQLResults,    failure:onYQLReqFailure};//make POST request to YQL with provided queryvartransactionObj = YAHOO.util.Connect.asyncRequest('POST', sURL, callback, postData); </script>
  • 40. 36 YUI VisualizationBrowser MVC View Component
  • 41. 37 YUI Visualization: View VISUALIZATION UTILITIES AnimationButtonCalendarColor PickerCarouselChartsData TableImageLoader Layout ManagerMenuProgressBarSliderStylesheetSWF UtilityTabViewTreeView
  • 42. 38 YUI Visualization: Pseudo They Go Both Ways Drag and Drop ImageCropper Rich Text Editor
  • 43. 39 Conclusion Build applications faster (and that run faster)
  • 44. This Presentation http://www.slideshare.net/jcleblanc YQL Documentation http://developer.yahoo.com/yql YUI Documentation http://developer.yahoo.com/yui YQL Console http://developer.yahoo.com/yql/console YQL Github Account (Contribute Tables) http://github.com/yql/yql-tables