Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsNews FeedsNews FeedsBuilt-in DNN feed aggregator - Did You Know?Built-in DNN feed aggregator - Did You Know?
Previous
 
Next
New Post
9/29/2007 6:18 AM
 

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

 


Nik Kalyani
Co-founder
DotNetNuke Corporation
Blog | Twitter | FaceBook
 
New Post
9/29/2007 9:36 AM
 

David,

I am able to get your opml to render.  Here's what I did.  I took the basic OPML copied it into the textbox next to the Custom OPML Text area.  Then,  specified the OPML Control Source, clicking the radio control next to Custom OPML Text.  Clicked Update, and it renders.

The text included contains only the outline tags in this area.  Don't know if you tried that or not.  But here's the breakdown.

<outline text="Accountancy News" type="none" category="Tab">
    <outline text="All News" type="none" category="Section">
        <outline text="Access Accounting" type="rss" category="Category/@@3000px" xmlUrl="http://feeds.feedburner.com/AccessIndustryNews" />
        <outline text="Tax Research UK" type="rss" category="Category/@@3000px" xmlUrl="http://feeds.feedburner.com/org/lWWh" />
        <outline text="UK Accounting" type="rss" category="Category/@@3000px" xmlUrl="http://www.einnews.com/rss/uk/newsfeed-uk-accounting" />
    </outline>
</outline>
<outline text="Membership Organisations" type="none" category="Tab">
    <outline text="All News" type="none" category="Section">
        <outline text="AAT" type="rss" category="Category/@@3000px" xmlUrl="http://www.aat.org.uk/rss" />
        <outline text="ICAEW" type="rss" category="Category/@@3000px" xmlUrl="http://www.relationsys.net/rss/82/359" />
        <outline text="ICAEW Tax Faculty" type="rss" category="Category/@@3000px" xmlUrl="http://www.relationsys.net/rss/82/391 " />
    </outline>
   </outline>
<outline text="Firms" type="none" category="Tab">
    <outline text="Deloitte UK" type="none" category="Section">
        <outline text="Headlines" type="rss" category="Category/@@3000px" xmlUrl="http://feeds.feedburner.com/DeloitteUK?format=xml" />
        <outline text="Podcasts" type="rss" category="Category/@@3000px" xmlUrl="http://feeds.feedburner.com/DeloitteUKInsights" />
    </outline>
<outline text="KPMG" type="none" category="Section">
        <outline text="Headlines" type="rss" category="Category/@@3000px" xmlUrl="http://www.kpmg.co.uk/rss/?type=news" />
</outline>
<outline text="PricewaterhouseCoopers" type="none" category="Section">
        <outline text="Headlines" type="rss" category="Category/@@3000px" xmlUrl="http://www.ukmediacentre.pwc.com/rss/default.aspx?feedid={CEB6F509-4016-4C6D-B454-0C37BA5746E1}" />
 </outline>
</outline>

After confirming the basic OPML, I placed all of your example in a file, saved it, and specified source as Custom OPML URL/File, checking the radio control, and specifying the Custom OPML URL/File as: http://localhost/dnn040600rc/Portals/0/ac.html.  It rendered without issue.  Of course, this is on my test machine, so just substitute your url.  Also, specifying the file source location is critical, if the module detects any issues with the opml or file location, then you get the fallback opml rendered.  Frustrating, but just takes some effort to workaround.

Try those actions, and let us know how it goes.  I've got all sorts of uses for this module.

 
New Post
9/29/2007 9:46 AM
 

NIk,

Good to hear  from you, and thanks for taking time from your busy schedule to post here.  I am always amazed at the level of work that CT members have done for the project.  A lot of it goes unnoticed, and this News Explorer code is just one example.  I am working with it daily, and find it so helpful in rendering the many feeds and sites I access.   Of course, there are issues, but I workaround the restrictions, and still find it a very useful module.

Again, thanks for giving us some details on the innerworks, and thanks for the work on the module. 

Phil 'iwonder' Guerra

 
New Post
9/29/2007 10:15 AM
 

Hi Phil

Thanks for taking the time. I really should have made it clearer though that I have had it running for a few months now, which is using the custom OPML text method as you described.

The problem I am having is getting a file to work... as it is a longer list than that which I would like to use. Just not sure why as I think I have the file right and kept it as simple as possible.

Any clues?

Thanks

David

 
New Post
9/29/2007 10:50 AM
 

Dave, if you've got IM, contact me.  I'll be available for a bit, but if you can't get me soon, try later.

I did save your file in my portal/0 area as ac.opml, and specifed that location.  I had no trouble rendering, so it may just be some silly thing, something I've done thousands of times to be sure, that is keeping it from rendereing.

Login in here, check my profile to get my IM.

 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Module ForumsModule ForumsNews FeedsNews FeedsBuilt-in DNN feed aggregator - Did You Know?Built-in DNN feed aggregator - Did You Know?


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out