The folks at Cyberakt have two excellent products on the market - AspNetMenu, and RichContentRotator. Their AspNetMenu control has been the most downloaded control at www.asp.net for months! RichContentRotator is so easy to use, that it's poised to be in the top ranks soon too.
RichContentRotator is a templateable dynamic content control. It makes creating things like stock tickers, news feeds, and rotating image views simple. Many sites have a news feed on their homepage which provides up to date headlines. The number of lines of client side script necessary to implement this is measured in the hundreds, even thousands of lines. With RichContentRotator, the entire display can be created in the Visual Studio.Net designer, or with a few lines in HTML view. The control accepts anything that one could DataBind a DataGrid to, for example - ArrayLists, HashTables, SqlDataReaders, Datasets, and more. The time spent in code view is equally minimal once the data access has been created. Set a DataSource, and then call DataBind().
MoreOver.com provides hundreds of XML news feeds for all manner of things. The Dataset class supports an overload of ReadXML which accepts a URI to an XML file. Since the RichContentRotator control supports Databinding, I bound the control to a dataset whose source was the MoreOver feed, setup an Template in the designer, and built the solution. Total time, about five minutes.
Another common task is to display a stock ticker. Nasdaq.com provides an XML feed accessible over the web. It will return quotes for any symbols passed to it. I passed the following symbols to the URI: MSFT CSCO IBM DELL AOL YHOO ABGX INTC ORCL AAPL. Nasdaq.com returned an XML file with all sorts of data about each symbol. The only ones of relevance for the ticker were the symbol, closing price, and net price change. I used the exact same procedure as I did to create the news rotator to create the stock ticker. I simply changed RichContentRotator's ScrollDirection property to "Left", and told it not to pause for each symbol. My efforts produced the following:
All I had to do was define an ItemTemplate, in the designer, and then in HTML View, I setup Databinding tags. The process is identical to setting up a DataList or templated DataGrid column. I created a helper function in codebehind to decide what image to display next to the net change for the day. Again, I only spent a few minutes creating this.
The RichContentRotator supports all sorts of cool effects that can be applied by setting a property. The fade effect looks great when transitioning between images, for example. On my site, www.wpcp.org, a chunk of javascript randomly picks an image out of an array, and displays it on the navbar. Because the navbar is in its own frame, the image sticks until the site is refreshed. I replaced this system with a RichContentRotator control on my test site, and it's working great. No longer do I have to update multiple things in messy javascript. I just add the image to an XML file, and it will start showing up in the rotation.
RichContentRotator supports a XMLFile property. If one sets this to an XML file in the site, setting the datasouce, and calling DataBind() aren't even necessary. All I had to do in HTML view to create my image rotator was type in this line:
<%# DataBinder.Eval(Container.DataItem, "ImagePath")%>
I set the control to rotate my images every three seconds, and voila:
The control comes with all sorts of interesting samples. I could not think of a use for the control that they have not provided samples for. The samples demonstrate extremely good looking rotations that will improve most any site dramatically. The effects and timings are completely configurable, providing easy customizability. Of course, every browser has its own set of features supported, and idiosyncrasies. RichContentRotator scales down very, very well, and displays whatever effects the client's in question supports. One example of their great looking samples is this:
No product is perfect, and RichContentRotator has one flaw in particular that takes away from its value. There is no real documentation included with the Control all of the properties and methods are easily accessible at http://www.componentart.com/rotator/default.aspx, but one has to be connected to the Internet to access those pages. NDoc is free, and it produces excellent help files which look just like the MSDN help. The effort it would take to produce and distribute a chm file with the control is minimal, and it should be included. If creating XML comments isn't possible, for whatever reason, Cyberakt could include HTML version of the Tutorial section of their site. Fortunately, the samples included with the package leave little room for question.
I noticed a few things that would, if implemented, add even more value to an already valuable product: randomize the display order of items (i.e. an image rotator), put the scripts for the control in aspnet_client, and finally, provide some prebuilt templates like the DataGrid's AutoFormat dialog.
All in all, the control is an excellent addition to any programmer's toolbox. If you're looking to implement dynamic rotating content on your site, RichContentRotator will make it happen quickly, easily, and flawlessly!
RichContentRotator is published by Cyberakt, Inc. of Toronto, Ontario Canada. A free non-expiring trial is available on the RichContentRotator website (http://www.componentart.com/rotator/default.aspx). Pricing ranges from US$79 for a single website/application, to US$199 for a single developer, to US$1199 for a site license.
Editor's Note - 19 Feb 2007 Cyberakt is now ComponentArt and apparently they lost the RichContentRotator.com domain name. That control is now the Rotator control which is part of their Web.UI suite. |