In the tutorial this afternoon, I introduced you to pipes, which provides a visual programming environment for producing simple mashups from rss feeds and other internet sources. For those of you who weren't there, we asked everyone to produce a pipe of their own, using the rss feeds you have already collected for this class, and to then send an email to comp3505@itee.uq.edu.au with the rss feed for the output from the pipe.
There are a number of benefits from doing this:
- it will provide an easier way for us to create a single aggregate feed for the whole class
- you will get to see in more detail how rss works, and start to understand the concepts behind web mashups
- watching this feed will allow you to see, for example, if someone bookmarks something of interest using del.icio.us, then the bookmark will appear in the class feed and everyone can know about it.
As a reminder for those of you in the tutorial, and a pointer for those who didn't show, here is a run-through of the process to create a pipe for your rss feeds.
Go to the Yahoo! pipes site and click on the link to "Create a pipe" (blue button at top of page).
This should take you to a blank pipes page with "drag modules here" in the background.
What you are going to do is to create a pipe to aggregate your rss feeds into a single feed. To start, you need to fetch each feed into the pipe. For each feed:
- Drag a "fetch feed" module onto the page
- Copy and paste the feed url into the text box in the module
- Click elsewhere on the module so that it checks the feed
- Look at the debugger at the bottom of the window to check the contents of the feed
- adjust the feed if you need to and check the debugger again (some of the people doing this already have found that the feed address they have already emailed to us is incorrect and have sent updates as a result)
Now, what you should have as output from the union is a single feed which combines all your separate feeds together. At the moment, however, it is like you have taken several decks of cards and put one on top of the other. What we want is a 'shuffled' combined deck, where the final order of the items is determined by the date on which they were posted, rather than where they were posted to. There is a "sort" module in the operators menu which allows you to do this. Drag a sort module onto the edit pipe window and connect the output from the last union to its input. In the sort module, click on the pop-up menu and see all the different attributes that you can sort on. You can experiment a bit here, but based on what we looked at in the tutorial, I think the "utime" attribute works best (to get around some potential time zone issues in the way that publish times are reported).
Look at the debugger and see what you have as output from the sort module to check that it is behaving as you expect (are the items, which come from your own feeds, appearing in the order they were posted?). What we want is for the most recent to be at the top of the list, so you will need to switch the sort module to sort in descending order (it defaults to ascending).
Finally, link the output from the sort module, to the Pipe Output module.
Now you can save your pipe ("Save" button at the top of the window). Once you have saved, you will see a notification at the top centre of the window telling you that the pipe is saved. Next to this you will see a "Run pipe..." link. Follow this and you will see your pipe generate an aggregated feed from your original rss feeds.
Now all you need to do send us the rss feed for your pipe. To get this, click on the "More options" menu (has an orange rss icon) and click on the "Get an rss" option
Copy the link that this generates, and then please email to comp3505@itee.uq.edu.au
In return, we will take all of the feeds from your pipes, and create a class-level pipe which aggregates everybody's feeds together. Later in the semester, we may also do this for each project.
Sorry this was such a long post, but I hope it has made everything clear.
Thanks,
--Stephen.
No comments:
Post a Comment