I will work on documenting this module and its underlying component.
Some background -- the FeedBrowser component was originally created for the Solutions Explorer, but it was designed to be re-usable. It was subsequently given a module wrapper, but beyond exposing the module, I did not do much. Admittedly, as someone expressed earlier in the thread, the module is not ready for prime time from a usability standpoint. To do's include docs, creating additional themes, creating a RSS proxy and fixing some rendering bugs.
Pending the docs, here are some tips:
- If your OPML is not working when stored in the module's settings, it is because it is being truncated by the settings storage. My recommendation would be to get the OPML working first by linking it as a file. Once you have verified it works, you can try using the embedded approach, although at that point I'm not sure it buys you much.
- The component currently uses Yahoo! Pipes as a RSS proxy. If a feed is not working, it's probably because Yahoo! Pipes cannot parse the feed. If Yahoo! Pipes cannot parse the feed, then Feed Explorer cannot display it. If certain feeds don't display, then testing them with Yahoo! Pipes will confirm if the problem is with the feed or not. You can clone the pipe at http://pipes.yahoo.com/pipes/pipe.info?_id=Aqn6j8_H2xG4_N_1JhOy0Q to test. It's a trivial pipe that fetches a feed and converts it to JSON. In some situations, you may want your own RSS proxy. I am working on creating an RSS proxy for DNN and I anticipate it being available as part of a DNN Widget Toolkit that's a catch-all solution for publishing and hosting multi-platforum widgets and mashups in DNN. This toolkit is the basis of my presentation at OpenForce'07 so I have a hard deadline on getting it done and released. ;-) Meanwhile, if you do have a RSS proxy, you can force the component to use it by making a small code change (I can post details if anyone is interested).
- The "type" attribute" may have values of "none" or "rss". It is an error to have type="none" if the "category" attribute value begins with "Category".
- The "category" attribute may have the following values:
a. Tab - which causes it to be rendered as a tab
b. Section - which causes it to be rendered as a link just below tab
c. Category - which causes it to rendered as a hierarchical list on the left panel (use "Category, Default" to make the category be the first that is displayed)
Tab, Section and Category keywords may be followed by a /{template} where {template} is the name of a template string used to render the RSS content and its header. I won't attempt to document this here as it will be a lengthy post, but if you are curious, check out ~/Resources/FeedBrowser/scripts/templates.js. Templates cascade down, so unless you override it, a template defined for a tab applies to all child sections and categories.
The @@{pixelHeight}px syntax is a pure hack and designed to enable the display of HTML content within Feed Explorer. If you include this, but provide an RSS feed as the value for xmlUrl it will not work. If this pixel height is included, the xmlUrl value is required to be a standard web page. By default, the component uses the Microsoft AJAX client-side libraries to retrieve a feed through Yahoo! Pipes and render it. In the case of an HTML page, it uses an IFrame. Since cross-domain browser security prevents the script from computing the height necessary to display the page, it is necessary for the height to be specified. I know there are workarounds for this but none work consistently across browsers necessitating this hack.
- The "xmlUrl" attribute must contain the following:
a. category="Tab" : null value
b. category="Section": null value or URL for search (supports [KEYWORD] token in the URL that is replaced with the keyword user enters)
c. category="Category": any feed URL that Yahoo! Pipes can process and convert into JSON. If "Category" is followed by /@@{pixelHeight}px then this must be a HTML page URL.
If you would like to see sample OPML files that are in production, you can view:
http://feeds.dotnetnuke.com/Careers/Careers.opml which is the OPML that produces this http://www.dotnetnuke.com/Programs/Careers/tabid/1111/Default.aspx (this one is pretty simple and static)
or
http://marketplace.dotnetnuke.com/rssfeed.aspx?channel=marketplacesolutions which demonstrates dynamic and linked OPML to render the Marketplace feeds in Solutions Explorer
HTH.
Nik