Rich Site Summary (See http://blogs.law.harvard.edu/tech/rss or http://backend.userland.com/rss092 ) or RDF Site Summary [http://www.purl.org/rss/1.0/] or Really Simple Syndication [http://blogs.law.harvard.edu/tech/rss] (at least as of RSS 2.0 [http://www.intertwingly.net/stories/2002/09/02/reallySimpleSyndication.html]) is an [XML] application to describe web sites with rapidly changing content (e.g. news, or Slashdot, or this [Wiki] :). There are some heated debates [http://www.blogroots.com/comments.blog/172] about what RSS is, but at its core it's an [XML] syntax for providing summaries of news based websites. An RSS document consists of one or more channels with one or more items. Each item is usually a news story with a title, a link and possibly a description. Newer versions of RSS [http://backend.userland.com/rss] provide for more properties for each item. [SC]'s Wiki was an early implementation of Wikit with an RSS feed. That is you can get the Recent Changes page as an RSS file. Now this wiki does as well [http://mini.net/tcl/rss.xml]. [DKF] ''4 Dec 2006'': We should get [jcw] to update [wikit] to put in a magic incantation like this into each page's HTML header: as this would make browsers like [Firefox] add information to the display to advertise the fact of the RSS feed to users. Which would be nice. :-) ---- [LV] In the category ''what will they think of next'' we have [http://news.com.com/Microsoft+seeks+patent+covering+Web+feed+readers/2100-1012-6145636.html?part=dht&tag=nl.e433]. ---- TclRSS [http://nul.jp/2003/tclrss/] is a Tcl library for handling RSS (0.91/1.0) files. [MPJ]: Here is an example of using TclRSS to read the Recent Changes page. package require http package require rss proc fetch {url} { set tok [http::geturl $url] set res [http::data $tok] http::cleanup $tok return $res } set rawrss [fetch http://mini.net/tcl/rss.xml] #set rawrss [fetch http://slashdot.org/slashdot.rss] ;# also works for slashdot set channel [rss::parse $rawrss] puts "Feed:[$channel title]" puts "===="; set count 0 foreach item [$channel items] { puts "[incr count]. [$item title]" puts "$count. [$item link]" puts "$count. [$item description]" puts "====" } Update (16/06/2004): Playing around with RSS, for a upcoming application [RssPoint], I added just a little code to [RS]'s [A little XML browser] to create [A little RSS browser]. ---- [LV] So, what does one do with RSS? For what purpose does one make data available in this format? For what can one use it that they couldn't just use the html pages? [MR] Larry, it lets people easily track updates or changes from a large number of websites very quickly, using an application called a news aggregator. Rather than having to visit 50 websites for news, all the latest headlines are downloaded automatically and shown in a way that makes it very quick to see only what is new, and read just what I want. Since very recently adding it to [CourseForum] and [ProjectForum] its been a godsend, letting me monitor dozens of Wiki sites with practically zero effort. ---- [LV] Ah, Mark, so it is a format that some applications can interpret and use to display a series of links. Allows one, it appears, to do some sort of dynamic personalization of headlines or whatever the site wants to advertise. [MR] Sort of. See e.g. the main window screenshot linked to from http://ranchero.com/netnewswire/ ---- [Petteri K] offers lynx -source http://www.iki.fi/petterik/rss.cgi > rss.cgi tclsh rss.cgi 0b00 as a demonstration of RSS capabilities. [LV] I am uncertain what this script is for. When I run it, all I see is a series of lines from ActiveState. I do not seem to see anything from the other URLs listed in the script. I added two URLs - one for Tcler's Wiki and one for Steve's Wiki (listed above) - surely their sites should have shown up in the rss.cgi's output. ---- A nice discussion from another Wiki [http://twiki.sourceforge.net/cgi-bin/view/Codev/RichSiteSummary]. ---- [LV] What Tcl-related sites provide RSS information? Is the Tcl-URL provided in RSS? Other information? Could the Tcl-URL editors make use of RSS someway? ---- [Scott Gamon] - I, for one, would love to see a RSS feed for Tcl-URL. Or a RSS feed for news:comp.lang.tcl. [NEM]: (Discussion of my, now dead, cgi usenet/rss bridge removed). Google groups do [Atom] feeds of news groups, including Tcl: [http://groups.google.com/group/comp.lang.tcl/about] ---- Another tool available for providing a bridge between newsgroups and RSS is http://freshmeat.net/projects/nntp2rss/ . ---- See also [tclog], and [giggle] (both [weblog] applications). ---- Here is a small Tcl script intended to be run as a cron job which checks a series of RSS feeds and sends an email when one is updated. [RSS Monitor] ---- I recently noticed an article at http://www.macdevcenter.com/pub/a/mac/2004/03/12/rss_scripting.html which demonstrates some rather basic shell scripts for retrieving and displaying RSS. In the following comments, someone shows a tremendously simple script in REBOL for doing similar functionality, and someone mentions that perl and python both have even better facilities. Would it be useful to promote the TclRSS extention, mentioned above, into [Tcllib]? ---- [Philip Quaife] ''6 Feb 05'', I don't know what the fuss is with RSS, but I had a bash at decoding with regexps. Works with some rss or rdf feeds, but not sourceforge. Takes a file and splits the fields into an array. Just prints out the array as an example. YMMV. # # Read RSS Feeds # set f [open $argv r] set data [read $f] close $f # Process an RSS File if {1 || [string first ]*>(.*?)} $data] { #get channel options set chopt [join [regexp -inline {.*?(?=)} $channel]] puts "RSS CHANNEL\\$channel\\" regsub -all {<(.*)>([^<]*)} $chopt "\\1 {\\2}" opts array set options $opts parray options puts "" unset options foreach {- item} [regexp -all -inline {(.*?)} $channel] { regsub -all {<([^ ]+)[^<]*>([^<]*)} $item "\\1 {\\2}" opts array set options $opts puts "RSS ITEM ([array names options])" parray options puts "" unset options } } } # Process a RDF file if {[string first (.*?)} $data] { #get channel options puts "RDF CHANNEL" regsub -all {<(.*)>([^<]*)} $channel "\\1 {\\2}" opts array set options $opts parray options puts "" unset options foreach {- item} [regexp -all -inline {(.*?)} $data] { regsub -all {<([^ ]+)[^<]*>([^<]*)} $item "\\1 {\\2}" opts array set options $opts puts "RDF ITEM ([array names options])" parray options puts "" unset options } break } } ---- "Bloglines" is a popular Web-based reader. It has nothing to do with Tcl, apparently--but is an example of a popular client. ---- See also [RS's RSS] - [A little RSS reaper] - [TAX RSS] - [tmlrss] ---- [LV] So, is the format used by people providing podcasts some version of RSS? The reason I ask is that jPodder, the podcast application I've been using, handles some feeds I've found, but others seem to just confuse it. ---- [[[Category Acronym]|[Category Internet]]]