great, I have to look at it soon. Currently I am working on the Profile editor, pretty cool stuff. I think it can be used widely in Nukes to setup a user profile for each modules.
cool - one of the future features i had hoped to provide was for ppl to pick and choose what feeds they want to see.
the admin would define all available feeds, but users could filter them down (kind of like what slashdot offers).
what is ppl ?
ppl = people. sorry - i tend to use abbriviations a lot when i type.
I had to do minor tweak on RSSRenderer.renderBlock:
for (int i = 0; i < maxi; i++)
Otherwise it threw ArrayIndexOutofBoundsException when itemIFs was empty (or smaller than maxItems).
yeah - i caught that myself last night but wasn't able to check in any fixes b/c there was a big cable outage in my area last night, hence no internet.
i'll check in a perminant fix for that over the weekend, along w/ one to handle if the feed can't be obtained, which causes the whole page not to render.
any other feedback you'd like to offer? features you'd like to see?
i've committed fixes to handle the feed being unavailable and the item.count < maxItem case.
For some reason when I synchronize with CVS I do not download the rss package.
cvs.exe -qd :pserver:email@example.com:/cvsroot/jboss co -lp nukes
gives me everything except rss. I am pretty new to CVS so please let me know if I am making a stupid mistake.
you need to do a complete fresh checkout of the cvs tree in order to get it. doing an update does not work w/ the way the module aliasing works.
also, the -lp on the co command is printing to standard output and do not recurse into directories. not sure if that's what you intended to do, but that's what those options mean.
Got the RSS running, thanks! In its current form I don't think I am going to be able to use it, however. I am thinking about using your code and writing my own version that is a little more flexible. I will be happy to send you my source when I write it (if I write it). In the meantime, here is a list of suggestions/things I might change:
1. Use a template for all rendering (like the UserModule's module.html).
I need more control over the L&F for both renderBlock and renderModule.
2. Add a method to the block to render the details given a Page. This is useful if someone (like me) wants to show RSS content inside another module. I would be nice to make a JMX invokation on the block to render the content.
3. This is just a suggestion and really is a configuration issue more than a code issue: the block naming scheme is really weird. I think you name it name=rss,feed=myfeed. For some reason when I deploy, the elements get reversed so that in my JMX console it shows up as feed=myfeed,name=rss!! Of course, if you are just linking from the Block to the Module then it works out fine. However, if you need to hardcode links to the module detail then I don't think the name is deterministic. I could be wrong, but it seemed really weird to me. I just renamed all my Blocks to be name=rss-feedX and name=rssfeedY. That way I did not have to worry about JMX rearranging the order.
Thanks a ton! Let me know what you think.
yeah - the RSS module was just my first cut at doing nukes development, and i know it has lots of room for improvement. feel free to make modifications and send me the changes.
in response to your suggestions:
1) it's on my todo list :)
2) that is an interesting thought - maybe a better idea would be to just expose a way to return the details and let you handle rendering yourself, that way you free to change the look and feel independant of the rss module itself.
3) jmx changing the order should not have any effect on hardcoding a link to the feed's detail page. the link would always have to have this query string
so i'm not quite sure what you mean here.
but now thati look at it, the feed name in the link is wrong, and i've made a correction so all you see now in the link is
of course, any additional feeds you may have created will need to be changed back to this format (sorry) - but it should make the link a little cleaner now and still allow you to directly link to it.
it's a little unpleasant right now b/c i haven't written a "management" interface for it yet (kind of like what the polls and news modules have) - then you would just hot deploy feeds to display, and the internal jmx name would never matter.
Yea, I thought about what you said for returning the details and leaving the actual rendering up to the caller. That, of course, is the ultimate in flexibility, but at that point the caller has to import all the RSS library classes and ultimately makes the RSS module a glorified update thread ;)
I guess we could get really slick and have the L&F be something passed in to the RSS block for rendering. That may not be too hard to do but it might be pretty confusing. The ideal would to have maximum flexibility without having to import the RSS libraries or the rss module code. JMX invokations are the way to go.
I will let you know if I get some free time to tinker with it. Thanks.