ThinkTank - Collector: an RSS Aggregator Web Service
Idea: a web service aggregating RSS feeds the way any RSS client does, plus a light WebForm frontend for interaction. One of the goals is being able to retrieve the content of complete RSS feeds without missing posts just because your client-side RSS aggregator is down. This is similar to what Jesse Ezell did with the .NET Weblogs archive but as a WS and with more options to come. A somewhat similar product is the Genecast News Service which converts RSS feeds into Usenet news feeds. See also Bloglines and MyWireService and Feed-Me.Info and SyndiCache and MyBlogroll.
Such a server aggregator should be used with clients, so an API needs to be defined. Maybe Atom brings something new compared to RSS on this matter. I didn't have time to check it out.
I'm thinking about three interfaces:
Admin (password protected, SOAP only)
- Login()
- Logout()
- AddRssFeed()
- RemoveRssFeed()
- SetFeedProperties()
- GetFeedStatistics()
- AddUser()
- RemoveUser()
User (password protected, SOAP only)
- Login()
- Logout()
- void FlagFeedItems(string feedID, string[] itemIDs, bool setFlag)
- void MarkFeedItemsAsRead(string feedID, string[] itemIDs, bool beenRead)
- XmlDocument SearchInReadItems(string query, [optional] string feedID)
General (free for all)
- XmlDocument ListFeeds() [HTTP GET + SOAP, returns OPML]
- Feed.Properties GetFeedPropertie(string feedID)
- XmlDocument GetFeedContent(string feedID, int maxItemCount) [HTTP GET + SOAP, returns RSS]
- XmlDocument GetFeedContentByDate(DateTime minDate, DateTime maxDate, int maxItemCount) [HTTP GET + SOAP, returns RSS]
- XmlDocument GetFeedInfo(string feedID)
- void SubmitRssFeed(string url)
- XmlDocument Search(string query, [optional] string feedID)
I already have some pieces of source code, but this project is a bit stalled at the moment due to lack of time. If someone is interested in seeing it, just let me know.
See also my suggestions for MyBlogroll.
Update: this is somewhat related.