ScottW sent me an email about Simon Fell's suggestion for a common plugin model for .NET RSS Aggregators. I think having a common plugin model is a great idea and would love to implement something like this in SharpReader.
A few things about his proposed standard are puzzling me though:
I will definitely be following the developments in this area closely. Some of the responses I have received from people about SharpReader is that they would love to be able to post to their weblogs from it. Implementing a standard plugin mechanism would be both more powerful and easier than building this functionality myself, so I'm all for it!
SharpReader and BlogThis
SharpReader and BlogThis
re: items as XML vs. classes: please don't go the classes route. RSS (especially RSS 1.0) can have a lot more XML (or RDF/XML in the case of RSS 1.0) to it than just the most common elements. If anything, pass XML and provide a standard object which can be mounted on top of the XML to provide a property-based mapping of the common properties, but don't _solely_ pass objects.
re: multiple plugins and plugin discovery mechanisms - attributes and reflection are your friends.
re: item-snippet - agreed, but most of the example information you mention is already in the feed data. Information not already in the feed data (e.g. metadata about when the item was retrieved, when the feed was last checked, etc.) could be exposed through the object model.
re: the entire RSS aggregator as an object model (and this is the most important point of all) - The current number of .NET-based RSS aggregators is an indicator of wasted effort. Clean, widely-extensible object models can be complicated to design, especially with differing interests and opinions flying around, but perhaps an effort needs to be made to combine resources or at least collaborate more closely, similar to what has already taken place and continues to take place over on the RSS publishing side (eg. pingback, trackback, etc.).
Posted by Jeremy at April 12, 2003 10:36 AMBeware the dangers of over-generalisation. While a completely generic plugin format might be good for those other .NET aggregator developers so that they can benefit from your work - it may not benefit you.
I suggest that you develop the plugin framework in such a way as to provide easy-to-develop plugins with as much access to your application framework as you feel necessary - let other aggregator developers come up with their own plugin framework.
Posted by Simon Steele at April 14, 2003 10:22 AMRSS Aggregator Plugins
RSS Aggregator Plugins