The document discusses the Yahoo! Maps AJAX API and provides examples of using the API to display maps, add markers and overlays, and make requests to other Yahoo! APIs and services. Code snippets are given to demonstrate how to initialize a map, add markers and controls, retrieve weather data, perform image searches, and authenticate with API keys.
Building YO Brand | Young Ophthalmologists | AAO 2014 | WongRandall Wong, M.D.
This presentation was delivered at the Young Ophthalmologists meeting during the 2014 American Academy of Ophthalmology.
Marketing is different than advertising. Doctors must learn to market - to understand the needs of their patients. Patients are looking for health related information and to learn about their doctors.
Every medical practice needs to have a website. Websites are expected by your patients.
Social media may or may not help your marketing efforts. If you choose to engage social media - make sure your website is current and functional before drawing attention to your site.
Each social medial platform appeals to certain demographics and serves particular functions.
At the very least, a website must be created, now, to start your digital presence.
Building YO Brand | Young Ophthalmologists | AAO 2014 | WongRandall Wong, M.D.
This presentation was delivered at the Young Ophthalmologists meeting during the 2014 American Academy of Ophthalmology.
Marketing is different than advertising. Doctors must learn to market - to understand the needs of their patients. Patients are looking for health related information and to learn about their doctors.
Every medical practice needs to have a website. Websites are expected by your patients.
Social media may or may not help your marketing efforts. If you choose to engage social media - make sure your website is current and functional before drawing attention to your site.
Each social medial platform appeals to certain demographics and serves particular functions.
At the very least, a website must be created, now, to start your digital presence.
PostgreSQL is very differently architected and presents none
of these problems. All PostgreSQL operations are multi-versioned using
Multi-Version Concurrency Control (MVCC). As a result, common
operations such as re-indexing, adding or dropping columns, and
recreating views can be performed online and without excessive locking,
PHP 5.3 and Lithium: the most rad php frameworkG Woo
Presentation given to the Orange County PHP meetup on Feb 24 2010. The presentation covers the new features in php 5.3 and goes on to show how they are used in Lithium, the most rad php framework.
23 prolog con base de datos mysql paso a paso.. ..
ejercicios praticos de logica de predicados,programacion logica con mysql,prolog con base de datos mysql paso a paso,prolog con mysql,software de logica de predicados,software programacion logica,swiprolog con mysql, programacion logica, inteligencia artificial base de datos, inteligencia artificial prolog,
YQL is an amazing tool to use and offer APIs to the world. As you can do the lot in JavaScript it is pretty simple to get started. There is however also the option that you do things wrong and make your end users and yourself unhappy. This talk works around some of the issues you might face.
Developing Effective Content for Your Website | TECH 01Randall Wong, M.D.
"Developing Effective Content for Your Website" was presented at the AAO 2016.
Learn how to define content. What content is best for your website? What about video and audio?
Is one type of content easier to optimize and rank better than others?
Why is text still the best content?
Learn why I am augmenting my visibility with YouTube and podcasts.
Questions?: randall.v.wong@gmail.com
Thanks for watching!
Optimizing Your Web Presence on the Internet | Randall Wong M.D. | AAO 2015Randall Wong, M.D.
This was presented at the American Academy of Ophthalmology, Tech Pav in Las Vegas 2015 by Randall Wong, M.D.
Optimizing your web presence includes optimization of your website, blogs, videos and accounts on local business aggregators such as Yelp, Google+, Angie's List, Healthgrades, Facebook, etc.
Optimizing your web presence really means allowing you and your medical practice to be easily found on the Internet.
It all starts with the search engines such as Bing, Yahoo and Google.
Please email me with questions.
Randall Wong, M.D.
Medical Marketing Enterprises, LLC
randall.v.wong@gmail.com
XML and its related technologies are ubiquitous in todays web development. PHP offers many ways to create and process XML content. This workshop will give you an overview on the most important XML extensions for PHP, focussing on the use of XPath in cooperation with them. Do you still scrape web content using regular expressions? Ever wondered you people do all those nifty operations in their XSLTs? Don't know, what axis are in terms of XPath? If you can answer any of the questions above with "yes" or are simply interested in XPath and XML in PHP, you should join this session.
PostgreSQL is very differently architected and presents none
of these problems. All PostgreSQL operations are multi-versioned using
Multi-Version Concurrency Control (MVCC). As a result, common
operations such as re-indexing, adding or dropping columns, and
recreating views can be performed online and without excessive locking,
PHP 5.3 and Lithium: the most rad php frameworkG Woo
Presentation given to the Orange County PHP meetup on Feb 24 2010. The presentation covers the new features in php 5.3 and goes on to show how they are used in Lithium, the most rad php framework.
23 prolog con base de datos mysql paso a paso.. ..
ejercicios praticos de logica de predicados,programacion logica con mysql,prolog con base de datos mysql paso a paso,prolog con mysql,software de logica de predicados,software programacion logica,swiprolog con mysql, programacion logica, inteligencia artificial base de datos, inteligencia artificial prolog,
YQL is an amazing tool to use and offer APIs to the world. As you can do the lot in JavaScript it is pretty simple to get started. There is however also the option that you do things wrong and make your end users and yourself unhappy. This talk works around some of the issues you might face.
Developing Effective Content for Your Website | TECH 01Randall Wong, M.D.
"Developing Effective Content for Your Website" was presented at the AAO 2016.
Learn how to define content. What content is best for your website? What about video and audio?
Is one type of content easier to optimize and rank better than others?
Why is text still the best content?
Learn why I am augmenting my visibility with YouTube and podcasts.
Questions?: randall.v.wong@gmail.com
Thanks for watching!
Optimizing Your Web Presence on the Internet | Randall Wong M.D. | AAO 2015Randall Wong, M.D.
This was presented at the American Academy of Ophthalmology, Tech Pav in Las Vegas 2015 by Randall Wong, M.D.
Optimizing your web presence includes optimization of your website, blogs, videos and accounts on local business aggregators such as Yelp, Google+, Angie's List, Healthgrades, Facebook, etc.
Optimizing your web presence really means allowing you and your medical practice to be easily found on the Internet.
It all starts with the search engines such as Bing, Yahoo and Google.
Please email me with questions.
Randall Wong, M.D.
Medical Marketing Enterprises, LLC
randall.v.wong@gmail.com
XML and its related technologies are ubiquitous in todays web development. PHP offers many ways to create and process XML content. This workshop will give you an overview on the most important XML extensions for PHP, focussing on the use of XPath in cooperation with them. Do you still scrape web content using regular expressions? Ever wondered you people do all those nifty operations in their XSLTs? Don't know, what axis are in terms of XPath? If you can answer any of the questions above with "yes" or are simply interested in XPath and XML in PHP, you should join this session.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
25. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
Monday, May 17, 2010
26. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
Monday, May 17, 2010
27. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
Monday, May 17, 2010
28. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
29. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
30. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
31. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
32. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
33. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
?
…
…
if (flickcurl_prepare(fc,
?
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
? http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
?
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
34. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
?
…
…
if (flickcurl_prepare(fc,
?
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
? http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
?
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
35. Yahoo! My Yahoo! Mail Welcome, guest Sign In
Search
MY PROJECTS APIs & WEB SERVICES var map = new YMap
RESOURCES SUPPORT
YDN Maps Suite AJAX Maps (document.getElementById('map'));
Yahoo! Maps Web Services - AJAX API Getting … READY TO GET STARTED?
You aren't signed in Sign In Help
Started Guide Get an App ID
var currentGeoPoint = new YGeoPoint
dev Home The Tour Sign Up Explore Search
Learn the fundamentals of the Yahoo! Maps AJAX API and start creating your own maps. This page contains:
Introduction and Prerequisites
( _c.Lat, _c.Lon ); Yahoo! Maps Cheatsheets
Examples Flickr Services Yahoo! My Yahoo! Mail RECENT BLOG ARTICLES Welcome, guest Sign In
API Documentation Feeds Your API Keys map.addMarker(currentGeoPoint);
Display a Yahoo! Map
?
Apply for a new API Key
Add controls to your Yahoo! Map Leonardo da Vinci: Hacker Search
Add a logger to a Yahoo! Map
Place a marker on a Yahoo! Map … MY PROJECTS
January 24, 2009
APIs & WEB SERVICES RESOURCES SUPPORT
Draw Polylines on a Yahoo! Map Whaddyathink? & the Yahoo! Application
flickr.places.getPlaceTypes
Place Smart Markers on a Yahoo! Map
Add multiple custom markers on Yahoo! Map
YDN Weather RSS Feed
Platform
January 22, 2009
Traffic information overlay
Yahoo! Pipes RSS output information overlay Yahoo! Weather RSS Feed Making the new Yahoo! Currency Converter
Yahoo! My Yahoo! Mail Welcome, guest Sign In
Local search results overlay
Fetches a list of available place types for Flickr.
Yahoo! Pipes JSON output information overlay
YMap accessible
The Weather RSS feed enables you
Januaryto get up-to-date weather information for your location. You can save this
21, 2009
Overlay GeoRSS XML data
Overlay custom objects at YGeoPoint location
…
feed in My Yahoo! or your favorite feed aggregator, or incorporate the RSS data into your own web site or client
Search
application. The Weather RSSRetrievingdynamically-generatedfrom based on zip code or Location ID.
feed is a and displaying data feed
Authentication
Overlay custom objects at YCoordPoint location
Overlay polyline on Yahoo! Map if (flickcurl_prepare(fc,
Wikipedia with YQL PROJECTS
MY APIs & WEB SERVICES RESOURCES
This page describes the format of the 18, 2009 URL and the RSS response for developers. It contains these
January request
SUPPORT
?
Export Yahoo! Map in GeoRSS format YDN Image Search Documentation for Yahoo! Search Web Services
This method does not require authentication.
GeoRSS overlay with polyline
"flickr.photos.geo.correctLocation",
sections:
Get zoom level given radius from center
Custom position of controls Arguments RSS Request Image Search Documentation for Yahoo! Search READY TO GET STARTED?
Change Marker Images Dynamically
Use YMapTypeControl to position map types
parameters, count)) { … }
Summary
Request Parameters
By applying for an Application ID for this service, you
hereby agree to the Terms of Use
Submitting Image Queries
Rate Limit
api_key (Required)
Other Features of the Yahoo! Maps AJAX API
…
RSS Response
YEvent, YGeoRSS, YMarker
Your API application key. See here for moreTop-Level Elements
details. The Image Search Web Service allows you to search the Internet for images.
Get an App ID
Terms of Service Channel Elements
Support & Community
Image Elements
?
Example Response Item Elements
Download all of the cheatsheets and example code in the Yahoo Request URL
Maps API Reference Bundle. Condition Codes YAHOO! GROUPS DISCUSSIONS view all
<place_types> Examples http://search.yahooapis.com/ImageSearchService/V1/imageSearch
For detailed descriptions of the classes and methods in the API, place_type_id="22">neighbourhood</place_type>
<place_type yahoo local search code in php
Terms of Use
Tue, 27 Jan 2009
check out v3.8 Reference Manual. <place_type place_type_id="7">locality</place_type>
<place_type
<place_type
http://search.yahooapis.com/
place_type_id="9">county</place_type>
RSS Request
place_type_id="8">region</place_type>
Remaining, Supporting Classes
Request parameters My Web Search API shut down
See information on constructing REST queries announcement
Introduction and
<place_type
Prerequisites
<place_type
ImageSearchService/V1/imageSearch?
place_type_id="12">country</place_type>
The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add
place_type_id="29">continent</place_type> (?). Multiple parameters are separated by an ampersand (&).
parameters and values after a question mark
Wed, 21 Jan 2009
Parameter Value Description
</place_types>
appid=YahooDemo&query=Corvette&results=2
The Yahoo! AJAX Maps API lets developers add maps to their web sites using DHTML and JavaScript®. the Weather RSS feed is
The base URL for Maps
appid string (required) The application ID. See Application IDs for more information.
Re: Site Explorer API returns 999 Rate Limit
Exceeded
are fully embeddable and scriptable using the JavaScript programming language. Yahoo! Maps AS-Flash API's query string (required) The query to search for. Use + to include terms, - to exclude terms, and
?
Wed, 21 Jan 2009
Error Codes
built-in geocoder means that you can specify a physical address or latitude/longitude coordinates for your map's
http://weather.yahooapis.com/forecastrss put quotes around "exact phrase".
location, as you like. type all (default), any, or The kind of search to submit: Reminder: Old obsolete versions of Local
In this section, Summary shows how to make an RSS request with different parameters; Request Parameters
phrase Search (V1, V2) shutting do
In order to create and test applications 100: Yahoo! Maps AJAX API, you'll need to use a supported summarizing those parameters.
using Invalid API Key shows a table web all returns results with all query terms. Mon, 19 Jan 2009
The API key passed was not valid or has expired.
browser: Firefox 2, Internet Explorer 6 or 7, Opera 9 or Safari 3. Newer versions of these browsers are also any returns results with one or more of the query terms.
supported. You can code your JavaScript applications usingcurrently unavailable
105: Service your favorite text editor or IDE. phrase returns results containing the query terms as a phrase.
SUMMARY results integer: default 10, The number of results to return.
The requested service is temporarily unavailable.
An application ID is required to use the Yahoo! Maps AJAX API. You can get an application ID here. max 50
The Weather RSS feed request follows simple HTTP GET syntax: start with a base URL and then add
111: Format "xxx" not found
start integer: default 1
parameters and values after a question mark (?). Multiple parameters are separated by an starting result position to return (1-based). The finishing position (start
The ampersand (&). For
For best results, you should launch your web pagesrequested response format was not found. applications
The from a web server. However, it's possible to run + results - 1) cannot exceed 1000.
the Weather RSS feed there are two parameters:
directly from your hard drive by double-clickingMethod This can be donefound
112: on them. "xxx" not by lowering the security settings in format any (default), bmp, Specifies the kind of image file to search for.
the Internet Explorer browser or by setting the The requested method was not found. p for location.
UniversalBrowserRead property in Firefox. gif, jpeg, png
u for degrees units (Fahrenheit or Celsius). adult_ok
114: Invalid SOAP envelope
http://weather.yahooapis.com/ no value or 1
content.
The service filters out adult content by default. Enter a 1 to allow adult
The SOAP envelope send in the requestlocationnot be parsed. required. Use this parameter to indicate the location for the weather forecast as a
The could parameter p is
Displaying a Yahoo! Map zip code or Location ID. coloration any (default), color, The service returns only the images of the coloration specified (color or
115: Invalid XML-RPC Method Call
forecastrss?p=FRXX0076&u=c
All the API classes and methods necessary to interact with Yahoo! Maps are available to your application when
The XML-RPC request document could not be parsed.
http://weather.yahooapis.com/forecastrss?p=location
bw black-and-white).
site string: default no A domain to restrict your searches to (e.g. www.yahoo.com). You may
you include Yahoo! Maps AJAX API library in your web page.This example uses the demonstration application
value submit up to 30 values (site=www.yahoo.com&site=www.cnn.com).
ID "YD-eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1H"; you cannot use this Application Forand must requestweather for Yahoo! Headquarters in Sunnyvale, CA, use the zip
ID example, to get one code for Sunnyvale
here. API Explorer (94089):
output string: xml The format for the output. If json is requested, the results will be returned
(default), json, php in JSON format. If php is requested, the results will be returned in
Serialized PHP format.
. <html> API Explorer : flickr.places.getPlaceTypes
http://weather.yahooapis.com/forecastrss?p=94089
. <head> callback string The name of the callback function to wrap around the JSON data. The
. <b><script type="text/javascript" Or use the Location ID for Sunnyvale (USCA1116): following characters are allowed: A-Z a-z 0-9 . [] and _. If output=json has
. src="http://api.maps.yahoo.com/ajaxymap?v=3.8&appid=YD- not been requested, this parameter has no effect. More information on the
eQRpTl0_JX2E95l_xAFs5UwZUlNQhhn7lj1H"> http://weather.yahooapis.com/forecastrss?p=USCA1116 callback can be found in the Yahoo! Developer Network JSON
Monday, May 17, 2010
. </script></b> Documentation.
36. var map = new YMap
(document.getElementById('map'));
…
dev var currentGeoPoint = new YGeoPoint
( _c.Lat, _c.Lon );
map.addMarker(currentGeoPoint);
…
…
if (flickcurl_prepare(fc,
"flickr.photos.geo.correctLocation",
parameters, count)) { … }
…
http://search.yahooapis.com/
ImageSearchService/V1/imageSearch?
appid=YahooDemo&query=Corvette&results=2
http://weather.yahooapis.com/
forecastrss?p=FRXX0076&u=c
Monday, May 17, 2010
41. dev
Bindings
YQL stmt
YQL
Monday, May 17, 2010
42. dev
Bindings
YQL stmt
YQL
select
Monday, May 17, 2010
43. dev
Bindings
YQL stmt
YQL
select
desc
Monday, May 17, 2010
44. dev
Bindings
YQL stmt
YQL
select
desc
show
Monday, May 17, 2010
45. Why YQL?
Thousands of Web Services and sources that
provide valuable data
Require Developers to read documentation and form
URLs/queries.
Data is isolated
Needs filtering, combining, tweaking, shaping
even after it gets to the developer.
Monday, May 17, 2010
46. YQL
Hosted web service and SQL-Like Language
Familiar to developers
Synonymous with Data access
Expressive enough to get the right data.
Self describing - show, desc table
Allows you to query, filter and join data across any
structured data on the web / web services
Real time engine
Monday, May 17, 2010
47. YQL Statement Basics
show: lists the supported tables
desc: describes the structure of a table
select: fetches data
insert/update/delete: modify data
use: use an Open Data Table
show tables
desc social.contacts
Monday, May 17, 2010
48. YQL Select Statement
SELECT what
FROM collection
WHERE filter condition
IN (sub-select)
LIMIT n OFFSET n
Monday, May 17, 2010
49. Demo:
developer.yahoo.com/yql/
Monday, May 17, 2010
62. Open Data Tables
Brings the power of the table model to new APIs
Schema defines mapping between YQL and
Endpoint
Keys can either be query, path or matrix parameters
Keys can be marked as required
YQL Compiler validates existence of required keys
Monday, May 17, 2010
67. USE Verb
use ‘http://url-to-def.xml’ as tableName;
select * from tableName where key=‘value’...
Imports the Table definition
Makes it available to following statements as
tableName
desc tableName - describes the def
Acts like a First Class Data Source just like
other YQL Tables.
Monday, May 17, 2010
68. Basics
select * from {table} where {key1} = "{value1}" and
{key2} = {value2}
select * from flickr.photos.search where
text = "kittens" and tags = "domokun"
Monday, May 17, 2010
77. select * from flickr.photos.search where text = "kittens"
and tags = "domokun" and farm = 4 limit 10
Monday, May 17, 2010
78. select * from flickr.photos.search(10) where text =
"kittens" and tags = "domokun" and farm = 4
Monday, May 17, 2010
79. select * from flickr.photos.search(20) where text =
"kittens" and tags = "domokun" and farm = 4
Monday, May 17, 2010
80. select * from flickr.photos.search(0) where text =
"kittens" and tags = "domokun" and farm = 4 limit 10
Monday, May 17, 2010
81. Limit Summary
limit 10 - give me max 10 results from the data you
have
{table}(10) - get ten results from server
{table}(0) - get enough results from the server to fill my
local limit with the local filters
Monday, May 17, 2010
90. select * from {table1}
where
({key1}, {key2}) in
(select foo, bar from {table2});
Monday, May 17, 2010
91. select * from flickr.places
where
(lat, lon) in
(select match1, match2 from regex
where
text in
(select entry.point from usgs.earthquakes limit
10) and expression = "(-?d+.d+) (-?d+.
d+)") and total != 0 limit 10
Monday, May 17, 2010
96. Super-secret Filters
Xpath()
Regex()
... there are more I can’t remember
Monday, May 17, 2010
97. Community:
github/datatables.org
Monday, May 17, 2010
98. Share your work
leverage the work of others to make access easier by
sharing tables
github repository:
http://github.com/yql/yql-tables/tree/master
datatables.org mirrors the master and builds a single
environment with all tables -> faster serving
http://developer.yahoo.com/yql/console/?env=http://
datatables.org/alltables.env
Monday, May 17, 2010
99. Do it your way:
<execute>
Monday, May 17, 2010
100. YQL Execute
extends Open Data Tables with server-side code
access APIs that require authentication
Netflix OAuth, FlickrAuth, Google AuthSub
join data across services
grab New York Times article tags and generate find
associated flickr photos
combine multiple searches into a single result: twitter,
web, news and image
Monday, May 17, 2010
101. YQL Execute
augment data:
city/state to APIs that just return zip code
create APIs from web page
celebrity birthdays scraped from imdb, caltrain
data transformation
convert the result from xml to Google's kml format
move business logic of your application to the cloud
Monday, May 17, 2010
102. <execute>
Javascript server-side scripting
No DOM, events etc, pure JS scripting
E4X support - XML literals, filtering ...
YQL no longer performs the GET request to the table
binding URL
Javascript has additional useful global objects
y.rest, y.include, y.query...
execute tag must return the data that will be the
output of the YQL select
Monday, May 17, 2010
103. hello world
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">
<meta>
<sampleQuery>select * from {table} where a='cat' and b='dog';</sampleQuery>
</meta>
<bindings>
<select itemPath="" produces="XML">
<urls>
<url>http://fake.url/{a}</url>
</urls>
<inputs>
<key id='a' type='xs:string' paramType='path' required="true" />
<key id='b' type='xs:string' paramType='variable' required="true" />
</inputs>
<execute><![CDATA[
// Your javascript goes here. We will run it on our servers
response.object = <item>
<url>{request.url}</url>
<a>{a}</a>
<b>{b}</b>
</item>;
]]></execute>
</select>
</bindings>
</table>
Monday, May 17, 2010
104. Unified web+image
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">
<meta>
<author>Nagesh Susarla</author>
<documentationURL>See search.web and search.images for more details</documentationURL>
</meta>
<bindings>
<select itemPath="results.result" produces="XML">
<urls>
<url></url>
</urls>
<inputs>
<key id="query" type="xs:string" paramType="query" required="true"/>
</inputs>
<execute><![CDATA[
var qs = query;
var search = y.query('select * from search.web(50) where query=@query', {query: qs}).results;
var images = [];
default xml namespace='http://www.inktomi.com/';
for each (var result in search.result) {
images.push(y.query('select * from search.images(1) where query=@query and url=@url', {url:result.url, query:qs}));
}
var i = 0;
for each (var result in search.result) {
var image = images[i++].results.result;
if (image) {
result.image = <image>{image}</image>;
}
}
response.object = search;
]]>
</execute>
</select>
</bindings>
</table>
Monday, May 17, 2010
105. Search Netflix catalog
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd" https="true">
<meta>...</meta>
<bindings>
<select itemPath="" produces="XML" >
<urls><url env="all">http://api.netflix.com/catalog/titles/</url></urls>
<paging model="offset">
<start id="start_index" default="0" />
<pagesize id="max_results" max="100" />
<total default="10" />
</paging>
<inputs>
<key id="term" type="xs:string" paramType="query" required="true" />
<key id="ck" type="xs:string" paramType="variable" required="true" />
<key id="cks" type="xs:string" paramType="variable" required="true" />
</inputs>
<execute><![CDATA[
// Include the OAuth libraries from oauth.net
y.include("http://oauth.googlecode.com/svn/code/javascript/oauth.js");
y.include("http://oauth.googlecode.com/svn/code/javascript/sha1.js");
// Collect all the parameters
var encodedurl = request.url;
var accessor = { consumerSecret: cks, tokenSecret: ""};
var message = { action: encodedurl, method: "GET", parameters: [["oauth_consumer_key",ck],["oauth_version","1.0"]]};
OAuth.setTimestampAndNonce(message);
// Sign the request
OAuth.SignatureMethod.sign(message, accessor);
try {
// get the content from service along with the OAuth header, and return the result back out
response.object = request.contentType('application/xml').header("Authorization", OAuth.getAuthorizationHeader("netflix.com",
message.parameters)).get().response;
} catch(err) {
response.object = {'result':'failure', 'error': err};
}
]]></execute>
</select>
</bindings>
</table>
Monday, May 17, 2010
107. Insert / Update / Delete
With INSERT / UPDATE / DELETE SQL verbs
developers can modify data on the internet, e.g.
create tweets, add blog entries, update DBs etc
Open Data Tables specify what fields are needed and
how to bind the SQL to the remote web service
Some tables with I/U/D
Twitter Status, Bit.ly shortener
Yahoo profile status, application update stream
Amazon SimpleDB
Monday, May 17, 2010
108. select * from twitter.status where
id="2108869549" and username="xxx"
and password="yyy"
<select itemPath="" produces="XML">
<urls><url>http://twitter.com/statuses/show/{id}.xml</url></urls>
<inputs>
<key id="username" type="xs:string" required="false" paramType="variable"/>
<key id="password" type="xs:string" required="false" paramType="variable"/>
<key id="id" type="xs:integer" required="true" paramType="path"/>
</inputs>
<execute><![CDATA[
var r = null;
if (username && password) {
y.include("http://yqlblog.net/samples/base64.js");
var authheader = "Basic "+Base64.encode(username+":"+password);
r = request.header("Authorization",authheader).get().response;
} else {
r = request.get().response;
}
response.object = r;
]]></execute>
</select>
Monday, May 17, 2010
110. delete from twitter.status where
id="2108869549" and username="xxx"
and password="yyy"
<delete itemPath="" produces="XML">
<urls>
<url>http://twitter.com/statuses/destroy/{id}.xml</url>
</urls>
<inputs>
<key id="username" type="xs:string" required="true" paramType="variable"/>
<key id="password" type="xs:string" required="true" paramType="variable"/>
<key id="id" type="xs:string" required="true" paramType="path"/>
</inputs>
<execute><![CDATA[
y.include("http://yqlblog.net/samples/base64.js");
var authheader = "Basic "+Base64.encode(username+":"+password);
response.object = request.header("Authorization",authheader).del().response;
]]></execute>
</delete>
Monday, May 17, 2010
111. Conclusion
More easily build applications
fewer lines of code
data processing done away from app
consistent and familiar syntax for all data access
iterative environment for developing the query
Monday, May 17, 2010
112. Conclusion
build applications that run faster
service in the cloud does the work
conversion, filtering, parallel requests...
with smaller network footprint
fewer (client) calls
smaller data amounts
closer to the data, fatter pipes
Monday, May 17, 2010