In the name of Allah, the Most Merciful, the Most Kind.

About DotNetNuke

Startup Note: Dear brothers and sisters, there is a need to present Quran to rational minds who are mostly involved in physical sciences and ignoring meeting with their creator. In current era, engineering, medicine, finance & management graduates are tuned to physical sciences and rationality while largely ignorant to life hereafter. As present world favors logic and physical sciences, so men and women become ignorant to teachings of Quran. Professionals are tuned to understand numbers, human research and logic and not aware of the fact that their effort to understand Quran could bring great harmony in modern world sociology, economics and politics. Education in physical science are producing more brilliant minds as compared to lightened hearts.

This website is an effort to bring rational minds closer to message of Quran as they are the intelligentsia & driving force of current world. Once attracted to the sweetness of Quran, they could become source of strength to all Muslims. By following Quran, the guidance from Allah Subhanahu wa Talah, they could not only make their lives glistening but also help others to understand Quran.

One should remember that only spiritual explanation of Quran cures sick hearts - not the rational study. Rationality merely provides a bridge between physical sciences and great moral teachings of Quran. May Allah help us to understand Quran and give us the right knowledge to spread message of Quran - Ameen.


Introduction

This webpage is all about DotNetNuke DNN - a framework to quickly develop ASP.NET/SQL Server based websites. Although information presented here is based on DNN 2.1.2 but most of the issues are applicable to other versions of DotNetNuke.

DotNetNuke (DNN) is an open source Microsoft ASP.NET portal application targeted at the Web hosting, corporate Web site /intranet, and developer/personal site markets. DotNetNuke started as an outgrowth of the Microsoft IBuySpy sample portal, and now exists as a highly dynamic, standalone application.

You could download DNN ZIP file from official DNN website http://www.DotNetNuke.com. Also please download DNN 2.1.2 ZIP file from here or search Google to find out other locations.

DNN Terminologies

Following are some common terminologies you will use during DotNetNuke development:

  1. Module: A collection of ASP.NET User Controls, Assemblies, SQL scripts, CSS and other resources that could be included in any DNN based website. A module could be added and removed from DNN based website.
  2. Portal: A DNN based website with its own users and modules.

Installation Issues

Following are some common installation issues related to DotNetNuke:

Check: Make sure you have IIS, Visual Studio 2003, SQL Server 2000 or MSDE installed. DNN also work fine with MS-Access.

Unzip: Unzip DNN at C:\DotNetNuke or any other location suitable to you. I prefer C:\DotNetNuke for development server but different for production server for security reasons.

Virtual Directory: Right click on  DotNetNuke folder > Web Sharing >  Share This Folder > Press OK. For Windows 2000 and Windows XP this procedure will create a Virtual Directory under Default Web Site in IIS, named DotNetNuke.

Security: Again Right click on  DotNetNuke folder > Security > Add "ASPNET" user and grant "Full Control". This will make sure that ASPNET user could create files and folders under C:\DotNetNuke folder. Note ASPNET user is named NETWORK SERVICE in Windows XP.

Database: Open SQL Server 2000 Enterprise Manager. If you are using MSDE, please install SQL Server client component on your computer to install Enterprise Manager. Now create a database named "DotNetNuke". You could use any other name but I prefer DotNetNuke for development server but different for production server for security reasons. This database will have no tables but when you will access http://localhost/DotNetNuke first time, DNN will automatically create tables.

Web.config: Change sections in C:\DotNetNuke\Web.config as mentioned in DNN ReadMe.txt file located at C:\DotNetNuke\Documents:

Login: In your browser type http://localhost/DotNetNuke to view Default.aspx of DotNetNuke website. If everything goes okay, Default.aspx will appear. Click Login link. You could following login credentials:

User Id Password
host host
admin admin

Basic Development Tasks

With DNN, you could create fully functional Add, Edit, Delete and View for any database table within few hours. Please read DNN Hello World tutorial to start.

Some of the other development related articles are:

  1. Creating a DotNetNuke Module using notepad - For absolute beginners
  2. Creating a DotNetNuke Module using notepad - For DNN 3.0
  3. Sample under C:\DotNetNuke\DesktopModules\YourCompany.Servey.
  4. DNN Arcitecture

Usually DNN developer creates following:

  1. Module Class Library Project
  2. Provider Class Library Project
  3. SQL Install Script
  4. SQL Uninstall Script
  5. DNN File
  6. Module ZIP File

Following are some important development activities, rest you could find in the articles mentioned above:

Module Project: Create VB.NET or C# Class Library solution and name it YourCompany.ModuleName. For example Microsoft.Product. You could create this solution to any location. Please refer to DNN sample project under C:\DotNetNuke\DesktopModules\YourCompany.Servey.

Provider Project: Add VB.NET or C# Class Library project to Module solution and name it YourCompany.ModuleName.SqlDataProvider. For example Microsoft.Product.SqlDataProvider. As a practice you should create provider project under <Module Project Folder>\Providers\DataProvider\SqlDataProvider. Please refer to DNN sample project under C:\DotNetNuke\DesktopModules\YourCompany.Servey.

Add DotNetNuke Project: Add DotNetNuke project in Module Solution. DotNetNuke project file is located at C:\DotNetNuke. Set DotNetNuke project as startup project and Default.aspx as Startup page. Make sure DotNetNuke project reference is added to both Module and Provider project. Also make sure that Module project reference has been added to Provider project. Please refer to DNN sample project under C:\DotNetNuke\DesktopModules\YourCompany.Servey.

User Control Inheritance: Make sure all user controls are derived from PortalModuleControl class.

Copy DLLs For Debugging: To debug your DNN module, you need to copy Module and Provider project Assemblies to DotNetNuke\bin folder. Otherwise break points have a question mark inside them.

Debugging Issues

There could be many things go wrong if you are unable to debug DNN based project. Following are some common debugging issues related to DotNetNuke:

Debug Vs. Release: Make sure you are compiling project in Debug mode. In Release mode breakpoints are not hit.

PDB File: Make sure symbolic debugging pdb file is generated for project you are trying to debug.

ASPNET Permissions: Right click on  C:\DotNetNuke folder > Security > Add "ASPNET" user and grant "Full Control". This will make sure that ASPNET user could create files and folders under C:\DotNetNuke folder. Note ASPNET user is named NETWORK SERVICE in Windows XP.

Enable ASPNET User: Make sure ASPNET user in not disabled. To check use Start > Program Files > Administrative Tools > Computer Management in Win 2K Pro. For Win 2K Advance Server  use Start > Program Files > Administrative Tools > Active Directory User.

Debugger Users: Make sure the account with which you logged in is a member of Debugger Users.

Impersonate a client after authentication: Configure Impersonation. Click here to read more.

ASP.NET IIS Registration: Run aspnet_regiis.exe -i. Note that -i switch will installs the ASP.NET version associated with the tool and updates the script maps of all existing ASP.NET applications. Note that only applications that are currently mapped to an earlier version of ASP.NET are affected. Click here to read more.

IIS Permission: Make sure IIS > Default Website > Directory Security >  Edit > Anonymous Access and Windows Integrated Authentication check boxes are checked.

machine.config: If you are unable to debug DNN module under Windows 2000 operating system especially Windows 2000 Advance Server please check <proccessModel> in machine.config and make sure userName="SYSTEM". Once machine.config is updated, run iiseset to reload settings. Click here to read more.

ASP.NET Debugging: Make sure in DotNetNuke project properties > Debugging > Enable ASP.NET Debugging is set to True.

ASP.NET Debugging Issues: Click here to read.

More Debugging Issues: Click here to read.

Helpful Utilities

Following utilities could be helpful in DNN based development.

  1. CodeSmith
  2. DNN Module Packager
  3. DAL Builder Pro
  4. User & Role Manager 1.0 DNN2.0
  5. DNN Guide
  6. Module Definition Generator 1.0
  7. DNN Skins & Development Tools
  8. Other Utilities
     

DNN Resources

And Allah is He who has (Full) Knowledge and Wisdom.

Home   Articles