I've been a huge proponent of Telerik because of their very impressive controls, support, and documentation - let alone for the fact they are very easy to use. Now that I've been working with SharePoint 2007 for a few years, I've found that Telerik's controls fit very nicely into MOSS. Andrew Connell even created an integration whitepaper and some nice utility EXEs to help package the individual controls into WSPs to deploy them into MOSS.
Then, on April 15 of this year, Telerik released version 2008.1 of their new RadControls Suite for ASP.NET AJAX, formerly named 'Prometheus'. I purchased my upgrade from the old RadControl suite to the Prometheus controls yesterday, and there was something that I noticed immediately which frightened me a little. There's only one assembly - Telerik.Web.UI.ddl - and nowhere that I could see on the Telerik site that allowed me to get an individual control.
How do I get these amazing controls into SharePoint and start benefiting from that ASP.NET AJAX goodness? Do I package the whole thing into a WSP? I hope not! That'll be a huge WSP file with all those skins getting packaged up!
I was worried, and started thinking that I was going to be stuck with a legacy version of some great controls, being forced to sit here watching new versions go sailing past every three months. No way!!!
I figured that there had to be a way, and if it took a massive WSP, so be it, so I started poking around the new control suite to see how it ticked. There's no RadControls directory, so AC's walk-through documentation won't work.
I tested the RadSlider locally, and I asked myself, where do the images come from in the control?
I got out my trusty IE Dev Toolbar and took a peak. I liked what I saw.
Now, I don't care if this image is an embedded resource file or not. It's not a direct reference to an image, and that's what matters. What happens if a skin is applied? Where's the image then?
IE Dev Toolbar:
Still a WebResource.axd. Excellent!
So - here's the deal. Install the entire RadControls EXE which you get via your Telerik account on your SharePoint server. Deploy the Telerik.Web.UI.dll to your SharePoint application's bin, and add the following line to the SafeControls block in the web.config
Then, you can use any control in the entire suite just by adding the following Register tag to the page where you're using it
No more individual control references anywhere! Sweet!
For example - the RadTreeView control:
You can even deploy this inside your custom WSP by using the various Visual Studio project templates available on CodePlex. I know of three that support deploying other assemblies, so finding them shouldn't be hard. I'm partial to this one, and I know stsdev is really nice, as well. You can even reference the Telerik control assembly server-side, too. Just make sure you set the CopyLocal property of the reference to False.
You won't get IntelliSense for the controls, but as far as MOSS dev goes - what else is new, right? There's plenty of documentation on Telerik's site to help with the control properties and client-side API.
Here's the new RadSlider with the Office2007 skin running in one of my MOSS environment:
I've started moving over all of the controls in my current project from the old version of the suite to the new version, and there's been some minor changes, but nothing of a pain at all. The changes I have seen have been good ones, so it's been worth it so far. Besides, these controls ROCK! I haven't gone through and seen which ones work and which don't, but I'm sure it'll be similar to the old version of the suite. I know the RadSplitter was a hassle before, will have to try it again with the new ones. I've even noticed some performance gains over the old controls.
So, if you haven't picked up on it, I highly recommend these controls. Not only will they completely expand your MOSS UI potential, but they will get you to install Service Pack 1 and configure ASP.NET AJAX in SharePoint if you haven't yet. Remember, SP1 is required if you want to use ASP.NET AJAX, therefore, it's required to use these controls.