Title: Yahoo Pipes Modules
1Yahoo! Pipes Modules
A tool for remixing the web
?
?
2About Yahoo! Pipes
- Pipes is an interactive data aggregator and
manipulator that lets you mashup your favorite
online data sources - Like Unix pipes simple commands can be
combined together to create output that meets
your needs
// To find the 10 most popular words in a
documenttr -c 'a-zA-Z' '\n' lt file grep .
sort uniq -c sort nr head -10
3About Yahoo! Pipes
- Combine many feeds into one, then sort, filter
and translate to create your ultimate custom feed
- Geocode your favorite feeds and browse the items
on an interactive map - Remix your favorite data sources and use the Pipe
to power a new application - Build custom vertical search pages that are
impossible with ordinary search engines - Power badges on your web site
- Extend your web site by accessing the JSON or RSS
output from Pipes
4About Yahoo! Pipes
- The frontend processing is done with
- JavaScript
- AJAX
- Canvas HTML 5 tag (with MSIE workaround)
- The backend processing is done with
- MySQL
- squid (for caching)
- PHP
- Perl (lots of CPAN modules)
5Yahoo! Pipes ? User Guides
- James Maguires Yahoo! Pipes User Guide
- http//itmanagement.earthweb.com/netsys/article.ph
p/3659226 - Mr. Speakers Introduction to Yahoo Pipes
- http//mrspeaker.webeisteddfod.com/2007/02/10/yaho
o-pipes/
6Yahoo! Pipes ? Video Tutorials
- Create a basic pipe, combine two feeds
- http//blip.tv/file/get/Jc174-YahooPipesBasics201.
wmv - Sorting, filtering, and debugging
- http//blip.tv/file/get/Jc174-YahooPipesSortingFil
teringAndDebugging584.wmv - The Yahoo Search module, the Union module and
using other Peoples Pipes - http//blip.tv/file/get/Jc174-YahooPipesTheYahooSe
archModuleUnionModuleAndUsingOther879.wmv
7Yahoo! Pipes ? Video Tutorials
- Use Feedity to get a feed from a site that
doesn't have a feed (uses Truncate module) - http//blip.tv/file/get/Jc174-YahooPipesUseFeeding
ToCreateFeeds127.wmv - Replace Yahoos most popular search terms with
pictures from Flickr (uses For Each Replace
module) - http//blip.tv/file/get/Jc174-YahooPipesYahooBuzzT
hroughFlickr985.wmv - The Text Input module and the URL Builder module
- http//blip.tv/file/get/Jc174-YahooPipesTextInputM
oduleAndUrlBuilder727.wmv
8Yahoo! Pipes ? Video Tutorials
- The Location Input module and the String
Concatenate module - http//blip.tv/file/get/Jc174-YahooPipesLocationIn
putModuleAndTheConcatenateModule167.wmv - Use a custom module with For Each Replace
- http//blip.tv/file/get/Jc174-YahooPipesUseACustom
ModuleWithForEachReplace223.wmv
9YAHOO! PIPES MODULESDATES
10Date Builder Module
- The Date Builder Module can create a date object
from a string value. - It understands most common date formats as well
as relative date formats such as yesterday and 2
days ago.
11Date Builder Module
12Date Formatter Module
- This module will format a DateTime value piped in
from another module as a string. - It supports PHP strftime conversion specifiers.
13Date Formatter Module
14Date Formatter Module
15Date Input Module
- This module accepts user-defined date strings.
- These values can be piped in to date input fields
in another module. - This module can also be used to let users provide
their own input on the Pipe's run page.
16Date Input Module
17YAHOO! PIPES MODULESLOCATIONS
18Location Builder Module
- This module creates a location object from a
string value. - It understands most common address formats
including zipcodes and many major airport codes.
19Location Builder Module
20YAHOO! PIPES MODULESNUMBERS
21Simple Math Module
- This module performs basic arithmetic, such as
addition and subtraction.
22Simple Math Module
23YAHOO! PIPES MODULESOPERATORS
24BabelFish Module
- This module is replaced by the Translate Module.
25Content Analysis Module
- This module is replaced by the Term Extraction
module.
26Count Module
- This module counts the number of items in a feed.
- The result is a typed number that you can pipe
into a numeric input field within another module.
27Count Module
28Filter Module
- This module filters the input source, including
or excluding fields, that match a set of defined
rules. - After connecting an input source, the Title
pulldown menu dynamically updates to provide
additional criteria.
29Filter Module
- The text in the input box can be entered manually
or piped in from a Text input module. - To add additional rules click on the '' icon.
30Filter Module
31For Each Annotate ModuleThis module is replaced
by the Loop Module in "Assign" mode.
- This module constructs a loop that runs the
sub-module, or pipe, once for each item in the
feed. - The output result will be appended to the
original item using the defined attribute name.
32For Each Annotate ModuleThis module is replaced
by the Loop Module in "Assign" mode.
- After connecting an input source any pulldown
menus in a sub-module will dynamically update to
provide additional criteria. - You can choose which values to pass to the
sub-module as parameters, or you can pipe them in
from other modules.
33For Each Annotate ModuleThis module is replaced
by the Loop Module in "Assign" mode.
34For Each Replace ModuleThis module is replaced
by the Loop Module in "Emit" mode.
- This module will run an enclosed sub-module or
pipe one time for each item in the feed. - The output will replace the original item.
35For Each Replace ModuleThis module is replaced
by the Loop Module in "Emit" mode.
- After connecting an input source, any pulldown
menus in a sub-module will dynamically update to
provide additional criteria. - You can choose which values to pass to the
sub-module as parameters, or you can pipe them in
from other modules.
36For Each Replace ModuleThis module is replaced
by the Loop Module in "Emit" mode.
37Location Extractor Module
- This module analyzes text in each feed items
title and description and attempts to identify
addresses, location names or popular map service
URLs. - If the extractor finds location entities in the
feed, it will annotate each item with a
ylocation sub-element containing that item's
latitude and longitude.
38Location Extractor Module
39Loop Module
- This module will run an enclosed sub-module or
pipe one time for each item in the input feed. - If set to 'emit results' the output will replace
the content of the original item. - If set to 'assign results to' the output will be
inserted into a specified attribute. - After connecting an input source, any pulldown
menus in a sub-module will dynamically update to
provide additional criteria. - You can choose which values to pass to the
sub-module as parameters, or you can pipe them in
from other modules.
40Loop Module
41Regex Module
http//cheat-sheet.front.lv/wp-content/uploads/200
6/08/pcre-php.pdf
- Apply Perl-compatible regular expressions (PCREs)
to item attributes.
42Regex Module
43Rename Module
- This module lets you rename or copy item
attributes.
44Rename Module
45Reverse Module
- This module reverses the order of the items
contained in the input feed.
46Reverse Module
47Sort Module
- This module sorts items by one or more item
attribute fields. - Sorts can be in either ascending or descending
order. - After connecting an input source, the Title
pulldown menu dynamically updates to provide
additional criteria. - To add additional rules click on the icon.
48Sort Module
49Split Module
- This module splits a feed into two identical
copies.
50Split Module
51Sub-element Module
- This module will emit the specified attribute or
array for each item in the input feed.
52Sub-element Module
53Tail Module
- This module emits the last 'n' items from the
input feed.
54Tail Module
55Truncate Module
- This module limits the number of items that
passes through it. - You can enter a number manually or pipe it in
from a Number Input module.
56Truncate Module
57Union Module
- This module merges up to 5 sources together.
58Union Module
59Unique Module
- This module combines items containing identical
strings. - After connecting an input source, the Title
pulldown menu dynamically updates to provide
additional criteria. - A count of duplicate items will be added as a
yrepeatcount element.
60Unique Module
61Web Service Module
- This module POSTs the items in a pipe in JSON
format to an external web service. - This allows developers to extend the Pipes
functionality to do whatever they need. - The original items are replaced by the web
services JSON or RSS response.
62Web Service Module
63YAHOO! PIPES MODULESSOURCES
64Fetch CSV Module
- This module retrieves a source formatted in CSV
(comma-separated values). - Enter the URL that you want to retrieve and set
how the columns in the source are separated.
65Fetch CSV Module
- You can configure how the emitted element
attributes are named by either - setting them to the column names from a specified
range of rows in the CSV source or - custom naming them based on your own values.
- Optional configurations include the ability to
skip emitting an initial 'x' number of rows.
66Fetch CSV Module
67Fetch Data Module
- This module retrieves any XML, JSON, iCal or KML
file. - It tries to extract a list of elements using the
provided path parameter.
68Fetch Data Module
69Fetch Feed Module
- This module retrieves one or more RSS, Atom, RDF
or iCal feeds from the URL(s) entered in the
input box. - To add additional sources click on the '' icon.
70Fetch Feed Module
71Flickr Module
- This module searches for images on Flickr using
the supplied parameters. - Users can refine the search by entering keywords,
the number of desired results, and a location. - The string in the input boxes can be entered
manually or piped in from a User Input module.
72Flickr Module
73Google Base Module
- This module searches Google Base data using the
supplied parameters. - Users can refine the search by entering keywords,
what they are looking for, and restricting the
results to a geographic range. - You can enter a string in the input box or pipe
it in from a User Input module.
74Google Base Module
75Item Builder Module
- This module allows you to create a new single
item data source by defining a set of key-value
attributes.
76Item Builder Module
77Yahoo! Local Module
- This module searches Yahoo! Local using the
supplied parameters. - Users can refine the search by entering keywords
and restricting the results to a geographic
range. - The string in the input boxes can be entered
manually or piped in from a User Input module.
78Yahoo! Local Module
79Yahoo! Search Module
- This module searches the web using keywords.
- Users can refine the search by restricting it to
specific URL sources. - To add additional source restrictions click on
the '' icon. - The string in the input boxes can be entered
manually or piped in from a User Input module.
80Yahoo! Search Module
81YAHOO! PIPES MODULESSTRINGS
82Feed Auto-Discovery Module
- This module detects feed URLs that are embedded
in a webpage using auto-discovery links.
83Feed Auto-Discovery Module
84String Builder Module
- This module creates a new string and allows
multiple strings to be joined together. - You can manually enter the text in the input
boxes or pipe it in from another module.
85String Builder Module
86String Regex Module
- Apply Perl-like regular expressions to attributes
in a string.
87String Regex Module
88String Replace Module
- This module lets you find and replace the first,
last or all occurrences of a string. - You can manually enter the text in the input
boxes or pipe it in from an appropriate User
Input module. - To add additional rules click on the '' icon.
89String Replace Module
90Sub String Module
- This module cuts a range of consecutive
characters from a string. - Enter the numeric character starting position and
the length of the characters you want to match.
91Sub String Module
92Term Extractor Module
- This module analyzes the text within each feed
item. - It will try to find significant words or phrases.
- If any are found it will add a sub-element
containing the results of the analysis.
93Term Extractor Module
94Translate Module
- This module automatically translates a string
from one language into another. - Select the language combination you desire from
the pulldown menu.
95Translate Module
96Yahoo! Shortcuts Module
- This module uses Yahoo! Shortcuts to analyze the
input string for entities (person, place, etc). - The module outputs a list of items containing
additional information about every entity
detected.
97Yahoo! Shortcuts Module
98YAHOO! PIPES MODULESURLs
99URL Builder Module
- This module builds URLs in either traditional or
Web 2.0 style query-string format from a series
of input fields. - If a URL is composed of a series of field-value
pairs in the query string, just paste it into the
Base input box. - The module will automatically parse out the
key/value pairs.
100URL Builder Module
- To build a Web 2.0-style address, enter the Base
URL followed by each directory path element on a
new line. - To retrieve the URL built up using the
URLBuilder, connect its output terminal to the
input box of a Fetch module. - You can further configure the values for each
element in the URLbuilder by wiring a User Input
module to it, making the URL even further
configurable.
101URL Builder Module
102YAHOO! PIPES MODULESUSER INPUT
103Location Input Module
- This module accepts user-defined location
strings. - These values can be piped in to other modules or
pipes that accept a location as input. - This module can also be used to let users enter
their own location data on a Pipes run page.
104Location Input Module
105Number Input Module
- This module accepts user-defined numeric strings.
- These values can be piped in to other modules or
pipes that accept numeric input. - This module can also be used to let users enter
their own numeric data on a Pipes run page.
106Number Input Module
107Text Input Module
- This module accepts user defined text strings.
- These values can be piped in to other modules or
pipes that accept text input. - This module can also be used to let users enter
their own text data on a Pipes run page.
108Text Input Module
109URL Input Module
- This module accepts user-defined URLs.
- These values can be piped in to other modules or
pipes that accept URLs as input. - This module can also be used to let users enter
their own URLs on a Pipes run page.
110URL Input Module