The Internet Archive discovers and captures web pages through many different web crawls.
At any given time several distinct crawls are running, some for months, and some every day or longer.
View the web archive through the Wayback Machine.
Here's the log of the server. It shows all notification requests, pings, file saves and notifications.
Two sample files: 1. My personal notes and 2. A test feed that updates every 15 minutes. I suggest doing a View Source on these files to see how they connect to the cloud.
The source for rssCloud.root, an OPML Editor-based cloud server.
My River2 aggregator, which receives instant updates from cloud-enabled feeds.
My LifeLiner authoring tool, still in development.
The first rssClouds were implemented in 2001 in Manila and Radio UserLand, two products from my company, UserLand Software. All three sides of the protocol were implemented.
In 2002, we spun out the server side into an open source release called Radio Community Server, which had other functions that supported communities of Radio users. We operated two such communities, one for our own users, and one in partnership with Salon. A bunch of leading weblogs came out of these services.
The aggregator in Radio UserLand would receive instant updates of feeds of other members of these communities, but not many people noticed. We also had the equivalent of Twitter's "retweet" (that's why the <source> element was added, so the feed would link back to the originator, a feature that Twitter doesn't have).
In any case, polling became the norm, and the cloud functionality didn't get much use outside of our communities.
Just define a namespace to have a single element in it, the <cloud> element from RSS 2.0.
If you need a URL for the namespace, please consider using the URL for this site.
Namespaces make ideas portable, and not specific to any format, and don't lock anyone in or out.
http-post protocol
7/15/09; 9:25:11 AM by DW.
Per Daniel Berlinger's question in the comments below, there is a REST interface coming out of the rssCloud interface. It's mentioned both in the RSS 2.0 spec and in SOAP Meets RSS.
However two details are not included in the description, so I've had to fill them in, in my implementation of rssCloud.
0. The method is (of course) POST.
1. It takes a single parameter named url, whose value is the address of the feed that updated. (The spec didn't provide the name of the parameter.)
2. The returned value is ignored, as with the returned value of the XML-RPC and SOAP notifications. (The spec didn't explicitly say the returned parameter is ignored.)
I've got a sample handler running at: http://rpc.rsscloud.org:5337/rsscloud/postUpdate. If you call it as described above it returns Thanks for the post.
Change notes
7/17/09
Adding cloud support to river2.root
This is the second time I've implemented it, the original implementation is still here in xml.aggregator. Using that code to guide me.
river2suite.init
New pref, flRequestCloudNotify, if true we do the whole dance and get realtime updates. Only set true if you're not behind a firewall thought.
Stats for tracking real-time updates.
river2Suite.initFeed
Init stats.whenLastCloudRenew.
river2Suite.renewSubscriptions
New routine. Every 24 hours it resubs to feeds that have cloud elements.
river2Suite.rpcHandlers
One handler, feedUpdated, receives notification that a feed changed.
xml.rss.getFeedItems
Implement a new sub-table of feedInfo table for each feed, cloud. It's present only if the feed has a cloud element.
7/15/09
Respect the "enabled" boolean everywhere relevant.
Timestamp subscriptions and delete after 25 hours.
Make log available as a Javascript include, so people can view the log from this site.
Log new subscriptions.
Add support for http-post protocol for notification, in addition to xml-rpc and soap.
Use identi.ca username/password for saving RSS feeds through storage system.
Log view
You can view the log of the last 100 events today.
Will there be an RSS feed for this site?
Yes! In a sense that's the whole point of this exercise. It'll be a feed that you can get updates to in real-time because it will be hooked into the RSS cloud.