2007/05/13

A simple application of Yahoo Pipes


Today, I am gonna talk about a very useful service offered by Yahoo that makes your internet experience better than before.


The service is called as Yahoo Pipes. The service is a very good tool for users who want to get information within different resources on the web. You can gather, filter and sort –and possible more- the information from different sources and publish this information with different ways.


I suggest you to go to the site and play a little bit and you will grasp the details of the service and learn how it can be used for your convenience.


Here, I want to discuss how Yahoo pipes saves a lot of time for me and my readers. As you all know, I have been writing different blogs. And if any one of my reader wants to check whether I post a new message, it should revisit the site or subscribe for each blog's feeds. However, by using Yahoo Pipes, I combined the feeds of my blogs together, so from now on, everyone can get updates of my blog post just subscribing this newly created feed.


Let's see how I managed to do that.


When you visit pipes.yahoo.com and log on using your Yahoo ID, you see a link of "create a new pipe". Here from there, you can begin constructing your pipe.


Below, you see the graphical representation of my pipe.

As you can see there are four components of it:


Fetch Feed: This object can be added from Sources from left pane. After adding this object, I start adding my URLs of my blogs' feeds. That is just all.


Filter: This object is used for filtering the information. It can be reached from Operators category from left pane. Here, there is a very simple rule which tells that only the author of the item.author.name attribute containing Sinan can be permitted to go through this filter.


Sort: This is another object form Operators that is used for sorting. Here in my case, all of the items are sorted by item.pubDate in Descending Order. This means that all of my blog posts will be resorted by the newest at the top.


Pipe output: This is the final object that is to sell that pipe should give some output. When you click on it, you see the output of your pipe in the pane at the bottom.


Finally, I saved the pipe and published it using the buttons on the top right. Now, everyone can see the output of my pipe by going to the URL provided by Yahoo Pipes.


Notice that I also used FeedBurner to fetch this newly created feed in order to see the statistics of user activity. But it is totally different story and the service is not related to Yahoo Pipes. You can get information about how to integrate FeedBurner to your Blogger blogs from my another blog post.


That's all.

2007/01/20

How to integrate FeedBurner with Blogger?

FeedBurner offers services for blogs to track their visitors that use RSS/Atom feeds for reading blog posts. In that case, some visitors choose to use their feed reader programs (some new browsers of IE or Firefox) or services (Google, Yahoo my pages). At this case, they do not need to visit blog site in order to read your blog posts. They only need to use their feed reader to read your blog post.

On the other hand, FeedBurner can be used to track these visitors. What I will show you in this post, to integrate FeedBurner with your blog site so that the actual RSS/Atom feeds will be hidden so that when the user wants to subscribe to your feed, it will subscribe to your FeedBurner feed.

To do so the very first thing, we should do is to change the template of your blogger site.
Here, in the new blogger templates there is a part similar to this at the beginning of the template:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<b:include data='blog' name='all-head-content'/>
<title></title>
<b:skin>",


replace "<b:include data='blog' name='all-head-content'/>" with this:

<link href='http://feeds.feedburner.com/youraddress' rel='alternate' title='yourfeedname' type='application/rss+xml'/>

So the same part will look like this:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<link href='http://feeds.feedburner.com/youraddress' rel='alternate' title='yourfeedname' type='application/rss+xml'/>
<title></title>
<b:skin>

This will tell any browsers or other feed reader program that you use this feed address for your blog site.

The second thing is to make the links of actual blogger site feeds hidden. If they continued to be in your site, some user could subscribe for those feeds. To do so, we need to change the CSS behavior of the layer which these links are stored. Look for your template and find the phrase ".feed-links". An example is:

#blog-pager {
text-align: center;
}

.feed-links {
clear: both;
line-height: 2.5em;
margin-left: 13px;
}

Now, add the line of "visibility:hidden;" to that part:

#blog-pager {
text-align: center;
}

.feed-links {
visibility: hidden;
clear: both;
line-height: 2.5em;
margin-left: 13px;
}

By doing this we make the links to actual feeds of blogger hidden. Now if you want, you can add your FeedBurner links to your blogger template by adding a new link list to your page elements.

2006/08/14

CVS : Setting up Eclipse and TortoiseCVS for Freepository

One of the great functions of Eclipse IDE is that it can be tightly integrated to the any repository, which is very useful especially you want to share your codes with others and works on them together. Even, CVS is a very useful tool for your own since you can easily track the changes you make your source codes while you are developing your programs on Eclipse. Here, in this blog we try to set up a CVS system on Windows XP and we will explore the usage of it within different programs. Notice that in order to this we use the service provided by Freepository which is the perfect online CVS repository service that you can deploy your codes.

Requirements

First of all the instructions provided here is on Windows XP machine so I do not know whether it can be used in other operation systems but it should work if you apply some modifications whenever necessary for your system.

The programs that you should have during this process are Eclipse, TortoiseCVS. The versions of these programs that I have are:
TortoiseCVS 1.8.26 (CVSNT 2.5.03 Build 2260)
Eclipse 3.1.2

Also you need an account on Freepository. And you should have at least one installed repository. During this blog the name of the repository I have is "cvsroot". In order to use it for Eclipse or TortoiseCVS, we need to see the parameters of that repository. To do that, in the website of the Freepository, we select the repository "cvsroot" and then click "My cvsroot". If it is the first time, the server warns you that you should first create secure entries. Thus, you should click the link left to "My cvsroot" which is "Secure ID entries". Then you can click "My cvsroot". If everything goes well, then you can have a table as following which gives you the parameters you need to configure Eclipse or TortoiseCVS:


We will return these parameters later during the installation.

Installation Process

First of all, in order to use CVS function on Windows machine, we need to set up CVSNT. Since the installation of TortoiseCVS does this already, we do not need to install it separately.

Configuring TortoiseCVS
After installing TortoiseCVS and restarting the PC, we move on any folder in any directory in the file system and right click on the mouse.

Then select "CVS" > "Make new Module". The screen will look like as the following:

Here you should supply the following information:
Protocol : SSL(:sserver:)
Protocol parameters : version=1
Server : freepository.com
Port : the port number that you see in the table of parameters of your Freepository repository.
Repository folder : the information under "fq cvsroot" of the table above.
User name : your user name.
Module : if you already have a module, then write its name or write "." (without quotation marks).

When you click "OK", TortoiseCVS will attempt to connect to the Freepository Server and prompt for the password. Write your account password and get a connection to the repository. If everything goes successfully you will have a connection to the repository. Again in an any folder right click on an empty place and click to "CVS checkout" to see if everything works fine.

Configuring the Eclipse

Before configuring the Eclipse, we need to install CVS SSL plug-in for Eclipse. To download the version of that plug-in for the usage of Eclipse 3.1, click the link here:
http://home.arcor.de/rolf_wilms/cvsssl/rwi.eclipse.team.ccvs.ssl_3.1.0.zip
After downloading the plug-in, extract the context to the Eclipse's "plugins" folder and restart the Eclipse.

To start configuring the Eclipse, first of all we need to switch to CVS perspective by "Window" > "Open Perspective" > "Other" > "CVS Repository Exploring".
In the left pane, right click on an empty place and select "New" > "Repository Location". The screen should look like this:


The settings should be as the following:
Host : freepository.com
Repository path : the information under "fq cvsroot" of the table above
User : your Freepository account name
Password : your password
Connection type : cvs-sserver
Use port : the port number that you see in the table of parameters of your Freepository repository
Also check "Validate connection on finish" and "Save password" settings for your inconvenience.

Just after that click "Finish" and if everything goes well, you can establish a connection to your Freepository repository from Eclipse.


After that you can create new projects and deploy them to your CVS repositories. I will discuss the usages of CVS repositories and modules both on the Eclipse projects and TortoiseCVS in further blogs.