There are a number of open source projects dedicated to providing building blocks or entire frameworks for building community Web sites and managing content. One of the most popular has been PHP Nuke which was written using PHP and is highly customisable.
For developers using ASP.NET development there is an equivalent project called -DotNetNuke" that offers some of the same benefits to those of the PHP varieties. When Microsoft originally introduced Visual Studio.NET, they made available a number of sample applications and toolkits to help developers learn how to create .NET applications, including a portal application called -IBuySpy Portal" that was further developed and released as DotNetNuke 1.0 in late 2002.
Now on version 2.0 of the product and with over 50,000 lines of managed code, .NET developers have been using this project as a starting point for a wide range of community and commercial Web applications, intranets and portals.
In this article, we are going to take a look at how to get started with DotNetNuke and leverage the existing code to jump-start your own content management system (CMS).
Getting started
To make the most out of this article you will need to download a copy of DotNetNuke from their web site (the latest version is 2.04.) You will need to register to access the download 0.5 MB file.
Once you have downloaded the software, unzip it to a directory on your hard drive and set up Web sharing for that directory. If you are using Windows XP, the easiest way to do this is to right-click on top of the folder and select Sharing and Security from the right-click menu. You can then create a Web share named DotNetNuke and grant the right to execute.
From this point, have a look in the directory for the actual Visual Studio .NET Solution File for the project, named DotNetNuke.sln. You can open this solution file and work with it as you would any other .NET solution. By default, DotNetNuke will store the back-end data for the portal in an Access database (DotNetNuke.mdb.resources), so you should be able to immediately run and view the portal from
Customising Dot Net Nuke
You can configure the portal using the tools provided within the UI and try out the different modules that are included with Dot Net Nuke, including:
- Account Loginâ€"for allowing users to log in to your application
- Announcementsâ€"for publishing announcements, news, etc.
- Bannersâ€"for displaying banner advertising
- Contactsâ€"for displaying names, e-mail address, phone numbers, etc.
- Discussionsâ€"for creating a simple threaded discussion
- Documentsâ€"for uploading and managing documents
- Eventsâ€"for announcing events
- FAQ'sâ€"for Frequently Asked Questions
- Feedbackâ€"for providing feedback
- iFrameâ€"for introducing other pages and content using iFrames
- Imageâ€"for displaying an image
- Linksâ€"for displaying a list of links
- Newsfeeds(RSS)â€"for displaying news from an RSS feed
- Text/HTMLâ€"for displaying your own custom text or HTML
- User Accountâ€"for displaying and editing user account details
- User Defined Tableâ€"for creating a custom HTML table of information
- XML/XSLâ€"for displaying XML data
You can create different tabs within the portal and then add these modules to the pages associated with the tabs. For instance, you could create a tab called -Contacts" and then add the Contacts module to store and display names, e-mail address and phone numbers. Likewise, you could add a news feed on the right side of the page to display an RSS feed from a news source. See Figure A.
| Figure A |
![]() |
| The DotNetNuke administration interface |
To customise your portal, go to the main portal page http://localhost/DotNetNuke/ and login as the Administrator using the default user name and password of -Admin". Once you have logged in as the administrator, a toolbar will appear at the top of the page.
From this toolbar you can add or edit tabs, as well as place modules in different locations on the page. The page is split up into three named sections: "Left", -Right" and the -Content Pane". You can add multiple modules to each of these sections, with each additional module appearing underneath the current module.
Once you have setup your tabs and basic page layout, you can then customise each of the modules you have added. You can access the module options using the -Pencil" icon that appears in the top left-hand corner of the module. Each module will have different options depending on the type of content they are designed to deliver. If you were to add the Contacts module, for example, you could set generic module settings like the title, description, etc. and then use the pencil icon to add contacts to the list.
Likewise, if you added the iFrame module, you could provide a URL to be shown in the iFrame within your portal page. This is an easy way to display content from other Web sites and pages within the DotNetNuke framework.
In addition to the default user interface, you can also customise or create your own UI and create your own look and feel by customising the style sheets and graphics that drive DotNetNuke. You can also come up with a completely different design and simply use the DotNetNuke framework to manage the content and other features of your site. One good example is the Asthma Foundation of Victoria which uses DotNetNuke v2.0.3 to deliver their Web site and other Web-based applications.
Extending DotNetNuke
And finally, if you need to add additional features to DotNetNuke, you can find a number of third-party modules that extend the Dot Net Nuke framework. A good starting point is Snowcovered which sells a number of DotNetNuke modules at low cost and has a free download section to boot. You can also do a quick Web search on -DNN Modules" and find a number of providers out there.
If you have some experience with Visual Studio.NET, you can also create your own modules for use with DotNetNuke, there are a number of resources available on the web to walk you through how to create and package your module, but one of the best has to be at DotNetNuke.DK
If you do develop a new module or want to contribute to the DotNetNuke project, you can visit their workspace on ASP.NET where you will find additional documentation, a bug tracker and information on how you can contribute the DotNetNuke project.
DotNetNuke in action
We've come across quite a few Web sites running DotNetNuke in production here in Australia. While there could be many more DotNetNuke sites running behind company intranets here are some examples of professional Web sites running the content management system today:
- www.transperth.wa.gov.au
- www.health.sa.gov.au/sahealthreform/
- www.health.sa.gov.au/hsfinder/
- www.officeforyouth.sa.gov.au
- www.youth.sa.gov.au
- www.diabetes.sa.gov.au
- www.rdu.une.edu.au/
- www.nexxus.com.au
- www.xd.com.au
- www.dnn.com.au

Do you need help with HTML? 



1
Peter - 19/07/04
You can download DNN @ http://sourceforge.net/projects/dnn/
» Report offensive content
2
Rudi Rolih - 02/08/04
Hi David,
Is there something special needed to get DNN up with XP? I followed your notes and got:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Request timed out.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[HttpException (0x80004005): Request timed out.]
Thanks.
» Report offensive content
3
a - 11/01/05
Can DNN run on C****iniEx?
» Report offensive content
4
Ken Davidson - 07/02/05
Hi this is a great article and very informative.
Just a quick FYI. DotNetNuke has grown rapidly since this article was published and has now released the final Beta upgrade to the Version 3 series.
David I hope you are working on more good articles for DNN .
» Report offensive content
5
Indira Singh - 10/03/05
Hi
I have a user on a MAC (latest OS) and we're wondering about reasonable cross-platform usability with DNN. In other words, we know not all modules may work well, but how does the basic DNN backbone and basic modules (liek text/HTML, Rich Text editor) work...
Indira
» Report offensive content
6
Sachin Agarwal - 26/03/05
How to create modules in Dot net nuke?
» Report offensive content
7
Serrado - 14/07/06
Can i install DNN on a Mac running osx10???
if yes, how can i do that?
TKS !!!
» Report offensive content
8
ariel enrique - 08/12/06
i how to embed a reporting service module in dot net nuke...thank for answer.....
» Report offensive content
9
Peter Jason - 25/04/07
I plan to migrate the current platform 2.2.1 to 3.3.7 (ASP.net1) or 4.5.1 (ASP. net2)
we use many modules in production for 2.2.1
Can a module in release 2.2.1 be used in different release 3.3.7 or 4.5.1, or they all have to be functionnal in the same release
How do know if the same module used in 2.2.1 is replaced by another module used in 3.3.7 or 4.5.1 (compatible equivalence)
Thank you very much
» Report offensive content
10
Ram - 24/12/07
It is very good and we plan to use it for our community building efforts.
» Report offensive content
11
M@mun - 31/10/08
i am using DNN-04.09.00. I installed it in my local pc. Now i want to change the pane size like:Midle Left Pane, Midle Pane & Midle Right Pane.
Can anyone plz guide me how?
» Report offensive content