Getting Started with DotNetNuke 6, Windows 7, and IIS7.5

I wrote about DotNetNuke as a web application earlier this year, but did not document how to get started developing DotNetNuke modules. Since a simple web search delivers unfiltered results and information on versions 3 thru 6, let’s catch up on the infrastructure needed for DotNetNuke 6::

  • Download the MSBuild Community Tasks, an extension to the VS build utility
  • Download DNN (New Install or VS Starter Kit) (I am working with 6.1.4, in the meantime 6.1.5 has been released)
  • Download the DNN Module Development Template and follow the installation instructions
  • Install the MSBuild tasks
  • Unzip into a new directory (under wwwroot or under your development directory)
  • Right click on the DNN directory and assign full control for the IIS_IUSRS user (this is the system user that IIS typically uses to access the file system)

In IIS Manager

  • create a web application pointing to the DNN directory
  • select the web application
  • open the .Net Compilation feature, and set Debug = true
  • in the Basic Settings dialog, make sure an Application Pool with .Net 2.0 Framework is assigned (Integrated Mode seems to work find)
  • select Deactivate Ping in Application Pool to avoid timeouts during debugging

The debugging-related settings are necessary to avoid the error message

The web server is not configured correctly. See help for common configuration errors. Running the web page outside of the debugger may provide further information.

when trying to debug from Visual Studio.

Use SQL Server or SQL Server Express as your database server and

  • make sure SQL Authentication is enabled
  • create a database for DNN
  • create a login for the DNN user
  • create a user in the DNN database with the newly created login
  • update the TWO connection strings in the DNN web.config file

Point your browser to the web application to make sure the settings are correct, and step thru the installation procedure of DNN.

Start Visual Studio (both 2008 and 2010 seem to work with the project template). To create a DNN module, execute:

  • Create project “DotNetNuke C# Compiled Module” inside DesktopModules directory of the DNN installation
  • Adjust project settings according to generated Documentation.html
  • See also the original blogs here and here describing the usage of the template.
  • Edit the project’s .dnn file (copyright, license, readme, etc.)
  • Implement the module’s functionality
  • Switch to Release mode for 1st deployment and Build
  • Build in release mode will generate two zip files in the packages directory, namely [modulename][version] and [modulename][version]
  • In DNN, login as Host, select Host menu, Extensions, hover over the Manage button, start the Install Extension Wizard, and upload the from the DesktopModules/MyModule/packages directory
  • Installation should not produce any error messages. Click Return.
  • Since the uploaded files overwrite the original source files, VS will alert you with a “project changed” message.

That’s it!

Modules can be assigned to categories, but this assignment is performed by the DNN administrator, not the developer.

  • In the Admin menu, select Taxonomy
  • Click the Edit icon on entry Module_Categories
  • Press “Add Term” to add new module category, input the category name, and hit “Create New Term”
  • Press “Update” to save
  • In Host/Extensions,
  • Click the Edit icon on module
  • Select the desired Module Category
  • Scroll down and press “Update Extension”

3 thoughts on “Getting Started with DotNetNuke 6, Windows 7, and IIS7.5

  1. Pingback: Lessons Learned Developing DNN Modules « devioblog

  2. Pingback: Moving / Copying DNN6 Installations « devioblog

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.