Review: Professional DotNetNuke ASP.NET Portals
page 1 of 1
Published: 06 Jul 2005
Unedited - Community Contributed
DotNetNuke is an exciting open-source portal application, full of features and potential. Unlocking the application's potential through custom modules and configurable skins can involve a steep learning curve. "Professional DotNetNuke ASP.NET Portals" has been written by members of the DotNetNuke Core Team (which manages the overall project), and provides an in-depth discussion on what a developer needs to know to install and develop for the portal.
by Richard Dudley
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 29949/ 22

DotNetNuke (DNN) is an open source portal that has garnered a great amount of attention in the .NET world in the past year. Written in VB.NET, the DNN project is managed by group of around 30 volunteers known as the Core Team. Evolving over the past few years from the IBuySpy sample application, DNN today enjoys a tremendous amount of community support. At the time of this writing, there are almost 170,000 registered members of the home portal, and an installed base of countless thousands of websites.

Professional DotNetNuke ASP.NET Portals has been authored by seven members of the Core Team, including project founder, Shaun Walker. A DNN installation includes extensive documentation, but this book is not a rehash of that documentation. Instead, this book serves as a good complement to the documentation, adding detail where the documentation is lacking, and providing additional explanations and examples for some of the more complicated topics.

Some of the goals of the DNN project have been to create an application that is powerful and easy to use, and that serves as an example of best practices. Accordingly, this book is not only a how-to guide for using the DNN portal, but also includes clear discussions on best practices such as the Provider model, object-oriented development, and n-tier application structure.

This book comprises 14 chapters and three appendices. Some of the chapters build upon information in previous chapters, while others can stand alone.

Chapter 1 is an in-depth history of DNN, starting with Microsoft and Vertigo Software’s IBuySpy Portal, and leading up to the current release as one of the first major open source projects for the Windows platform. Included in this chapter is the thought that went into releasing such a product as open source (versus a subscription model), and some of the problems faced with starting, managing, and maintaining open source projects. Also covered is how the core team dealt with a serious security vulnerability in version 1. Although purely informational, you finish with a good idea of how committed Shaun and the Core Team are to DNN and the open source community, and the effort that has gone into the project to date.

Chapter 2 covers what you'll need to run DNN on a localhost, and how to install DNN on a localhost or a server you have complete control over. Completely missing is how to set up DNN in a shared host environment. In my experience, DNN has not been difficult to set up on a shared host, but there are a few tricks to figure out. A number of hosts now provide DNN as part of their hosting package, so this may be less of a problem as more hosts add DNN to their offerings.

Chapter 3 is a short overview of what a portal is, and provides a brief introduction to chapters 4-6. Chapter 4 focuses on the role of a Portal Administrator (the Admin login in a default installation). This chapter describes each function of the Admin menu in order, and has examples of how to use the various functions. Chapter 5 does the same for the Host login. Chapter 6 details each of the standard modules included with DNN, including basic configuration and use. Chapters 3-6 are comprehensive yet simple to understand, and could be easily given to clients to show them how to administer their site after you have set it up. If you need an administration guide for clients, these four chapters would be a very good start. A good client manual is not included in the DNN documentation, so if you will use DNN to develop client sites, I suggest keeping this book handy for them.

The transition from chapters 3-6 to chapter 7 is like diving from a warm, comfortable hot tub directly into an icy-cold pool. Chapter 7 begins some very technical discussions of exactly how DNN works. The chapter provides an overview of the DNN architecture, and introduces the Provider model, custom business objects (CBOs) and how they are used by DNN, the multiple tiers used by DNN, the security model, and the namespaces.

Chapter 8 is one of the longer chapters of the book, and is an in-depth discussion of the APIs and interfaces used by DNN. This information sets up the next four chapters, which cover custom module development. All together, these five chapters comprise a significant portion of the book, and provide excellent information for building custom modules, beyond what is included in the DNN documentation. These chapters are arranged so that each one covers a specific tier of your module: chapter 9 covers designing and setting up your project properly, Chapter 10 helps you design your database layer in the context of the Provider model, Chapter 11 covers your business logic, and Chapter 12 guides you through the presentation layer. Something not covered in Chapter 12 is the drag-and-drop interface for modules, which is covered in the DNN documentation.

Skinning is an essential part of a portal application such as DNN, and Chapter 13 introduces creating skins for DNN. Although skinning is very important, I think this is actually one of the weaker chapters of the book. Chapter 13 isn't something you'd want to give to a graphic designer who can't tell an ASCX file from his elbow, and only vaguely understands that the entire application has only one physical page. Since skins can be created either as HTML and CSS files or as an ASPX file with inline code, I would like to have seen the authors split this chapter into two, and provide a little more detail in creating HTML and CSS-based skins for non-programmers, and in creating an ASPX with inline code for programmers who are comfortable with that approach. I feel both are given short-shrift in this chapter. The bulk of Chapter 13 is the listings of the various tokens used in the skins to properly place controls (such as the Login and Breadcrumbs controls) in a skin.

Chapter 14 covers distribution of modules, skins, and language packs, including how to package each and how to add each to a portal. The packaging aspects are not difficult, and this chapter covers them well.

Appendix A lists resources recommended by the Core Team, and a few places to go for more DNN goodies. Although NUnit made the list, I'm not sure that test-driven development was a part of the development cycle for DNN. Appendix B is a short FAQ, and Appendix C covers some of the useful properties of the more important parts of the APIs.

In all, if you plan to implement portals with DNN or to develop modules for the DNN platform, this book is a must-have. Likewise, your clients would benefit greatly from Chapters 3-6. It's not a great resource for skin designers, but it does provide enough information for a DNN developer to guide a graphic designer in creating a skin. This book and the included documentation should be used to complement one another. The Core Team members who authored this book have produced a resource for the DNN community that is almost as valuable as DNN itself.

User Comments

Title: Steve Walther ...thanx   
Name: Hadi
Date: 2005-11-15 6:07:46 AM
As I'm new with i got confused while seaching material on site ...but this chapter make me complete my Assignment...very good and precise especially for beginners... my email iz any info will be wellcome:)
Title: Free DNN Modules   
Name: Richard Dudley
Date: 2005-11-02 8:54:54 AM
Actually, there are a lot of free DNN modules available. One great resource is I use several module's I've found here in various projects. The DNN Core Team is doing a better job keeping a listing on the main site at Comprehensive listings of free modules are a weak point of the DNN community right now, but a little time in Google can be worth your while. I have purchased several modules from Snowcovered, and been very pleased with them. Most modules are pretty cheap, and it's not the worst thing in the world to spend a few bucks for something that was difficult to do.
Title: Nice to read but..   
Name: Irina Jones
Date: 2005-11-02 4:21:11 AM
Overall I think book is good for a good understanding of Dotnetnuke, but for advance knowledge, it'll depend on your .net experience and so on. I like dotnetnuke but I find that we still need to pay for the many necessary module like a better file download module, a better gallery management module, security, nice skins, unlike phpnuke which has lots of great modules for free.
Title: Skinning   
Name: Tyrone
Date: 2005-08-10 9:40:37 PM
I read the entire book and I feel for the most part they Core team did a great job. I know, there is a but coming right? But,I feel that Skinning is not covered in thoroughly because it may potentially dig into the pockets of 3rd parties who develop DNN skins at a price, or video tutorials on skinning for a price (I still cannot find a free video on skinning). I bought this book thinking it would answer all my Skinning questions, somehow it fell short. This is no knock on the core team, this could very well be some politics in play. Its just my opinion, if anyone would like shed some light on this, its possible that my opinion would change.
Title: Correction for Sam   
Name: John Thomas
Date: 2005-08-10 10:24:59 AM
DNN is open source and comes with several free modules. 3rd pary module developers have created many more free modules. The beauty of the DNN licensing is that you or any other developer can create any module your heart desires and sell them at a fair market value (last I looked capitalism is NOT a sin) or give them away. That's each developer's choice. But the framework, the included modules, and many 3rd party modules are free.

This book is a great reference book, especially for the beginner. There are many free videos and walkthroughs available from developers in the DNN community if you want more clarification on module development.


Video Training:

DNN Forums:
Title: Worst book for module creators   
Name: Sam
Date: 2005-07-23 8:15:17 PM
The authors did not clearly explain the module creation. He should have gone through the creation of modules using the controls of DNN. I never expected such a low content from the authors of the book.
May be you can provide more examples as all the modules created by users are on sale and its no more an open source.
Title: Great Review Richard   
Name: Dan Caron
Date: 2005-07-07 9:23:11 AM
Richard, thanks for the great review on DotNetNuke. I wrote chapter 7...that's an accurate analogy of the transition between chapter 6 & 7! Bam! Hah, I didn't even soften the blow in the intro.

Regarding NUnit, we do have a couple of tests that get fired from Nant when it is built by Draco...but they are only part our our build process, not part of our development cycle. We probably use it a bit differently than others right now. I coded a couple of tests for NUnit to check for duplicate project GUIDs (we were burnt a few times by this in our 53 project files by someone [ahem, me a couple times] creating a new project by copying & pasting an old project) and to verify consistency in our copyright notices at the top of each *.vb file. But, you're right, we don't currently do test-driven development. We are working towards that goal, but have not yet arrived there!


Product Spotlight
Product Spotlight 

Community Advice: ASP | SQL | XML | Regular Expressions | Windows

©Copyright 1998-2017  |  Page Processed at 2017-01-21 10:35:47 PM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search