Friday, January 2, 2009

Silverlight in DotNetNuke

Have you ever been fired up about doing something, but every time you try to start you get bogged down in the details and loose interest? If you're a developer and tinker with projects at home I'm sure this has happened a time or two. I had an idea for a website, similar to Craigslist, but instead of hosting classified ads it would host a calendar of events for motorcycle enthusiasts. If you want to plan a ride to a specific destination next weekend, just go to your city's site and post a ride. Other members can join in if they're interested. It wouldn't be limited just to rides, but also bike rallies and club events.

I brought all the pieces together except one major facet, the event calendar. I used DotNetNuke as a basis for the site and couldn't find a decent event module. The core module didn't display well and was a bit buggy, and on top of the standard limitations I was trying to customize the site so events would tie in with discussion threads. Post an event and an associated thread would be created where people could ask questions and talk about the event. I also saw the need for moderation/abuse reporting, which would need some custom work. Every time I tried to make some headway it seemed I was farther away from my goal.

It's been over a year since I started struggling with the site and tonight I resumed my efforts to get something launched. What makes now different than all the other times? My current client needed a management portal and wanted it created using DotNetNuke. This gave me the opportunity to develop some custom modules in an environment where I was focused with no distractions. The result was some pretty nice modules and a lot of useful experience. I also did some work this summer with Microsoft Silverlight. If you're not familiar with Silverlight, it's similar to Flash in that it's great for making media-rich web interfaces. This is perfect for an interactive calendar. The last piece of the puzzle is Silverlight Desktop for DotNetNuke. It provides the framework for easily including Silverlight applications in a DotNetNuke site.

My goal is to have SOMETHING working by the end of the weekend. It probably wont be very pretty and it surely wont have all the functionality I want, but if I can get something published it should get me out of this rut and help generate some momentum.


  1. If you have any problems using for DotNetNuke just post to the forums on the site.

  2. How did you get on?
    I am in the same boat on getting a project going. But first, I'm putting together the tools to do a great job.

    Websitespark Programme:-
    I've just discovered Microsoft Websitespark programme for developers. I can't believe how much I've just saved.

    Dev Force Silverlight
    Also, to manage a design and all the iteration loops and entity naming, I'd say you need an entity framework. To develop silverlight app in such a framework, you can use Ideablade DevExpress Silverlight. (Express version available free). All due respect to Michael Washington (who is a true DNN hero!) : HelloWorld apps are easy, except they're nothing more than a piece of art (intentionally useless). Good news is that DevForce gives you a way to get straight into production with a great template and a development project framework that contains the silverlight project, the web project and a way of binding data to silverlight with asynch methods.
    You create a View Model class to represent the client, then you generate entity classes for multiple tables in the data model.

    The Silverlight App for the client.
    Expression Blend is the first choice, and it comes with WebsiteSpark. It blends with Visual Studio. It is where Design meets and overlaps with Development. It is wonderful. Animation of forms and is point and click.

    XAML. You can hand-code XAML, yes, but that would be like hand-knitting your own clothes. (you wouldn't want to do it).

    It is much more than " flash.."
    It works with or without a browser, and it works offline, catching-up when the next connection is available.
    This opens up a whole new customerbase for organisations that can't (or don't permit) full-time internet connections: like banks, government and schools.
    Further to that, Silverlight can do difficult things like real-time video with pause and re-wind. All because there is so much processing capacity available in the client.

    Well, if this is of any interest, or if you are already way past this, please get back.


With so many attempts to post spam in comments, I'm forced to approve each one before it is visible. Please be patient as I may not get to it right away.

Note: Only a member of this blog may post a comment.