Getting Started with DotNetNuke Development

DotNetNuke is a CMS in which I do a lot of web development in. For anyone that wants to get into DNN module development, below is an simple action plan to help get their feet wet.

  • Download DNN from Codeplex.

  • Make sure you are using Visual Studio 2012 for development in DNN 7.

  • Review UX Design Guidelines. Remember that each version of DNN varies in its standards and guidelines. Since comprehensive documentation is hard to find for each version, do your best to support at least one major version. Version 6 is the best version to build your module against.

  • Read up on module development basics.

  • Download some Visual Studio DNN templates. Here is another template that follows the MVP (model view presenter) pattern.

  • Download the tutorial on Module Programming 101 from You can review the video tutorials as well.

  • Get to know the DNN 7 Web Services Framework. Building web services in DNN helps shift code away from your code behind and into the service layer, which is better oriented towards mobile development.

  • Know who you are developing your modules for. Most tutorials and examples on the web are not enterprise friendly. You have to adopt a whole new development philosophy to do real business heavy enterprise module development in DNN. Mitchel Sellers blogs about Enterprise DNN Development.

  • Check out XMod is a powerful DNN form builder.


Using Telerik’s UI and ORM Controls with DotNetNuke

Telerik, a development company focused on delivering user interface components, has a terrific, free .NET ORM library called OpenAccess. ORM is an acronym for “object relational mapping.” The ORM library takes over the connection strings and queries in an application’s data layer. The main benefit is that you are free write LINQ queries to concrete (POCO) classes, instead of concatenating SQL queries inside of C# code.

I’ve been using the fluent API and I love it. The fluent API lets me map databases to classes using only a few lines of code. All I have to do to instantiate a database context, declare a mapping to the metadata, and then I can query my database using LINQ.

I have to admit that I really enjoy using Telerik’s libraries. I have also developed enterprise websites, reports and portals using their ASP.NET MVC AJAX control library and am impressed with the level of details they put into their components. If you’ve never used a Telerik component before, I highly recommend their free decompiler, JustDecompile.

No need to pay hundreds of dollars for DNN forms and modules when you get enterprise ready controls right out of DotNetNuke (as of v. 6.2.2). Yes, that’s correct, DNN comes with all the Telerik web controls for free!