DNN: Understanding the DotNetNuke .dnn File

The .dnn file defines the framework of a DotNetNuke module's Private Assembly.  I have yet to find a good source of concise documentation, so I wrote my own.  Here's a simple file layout (with comments).  I will discuss the various parts afterwards:

<?xml version="1.0" encoding="utf-8" ?>
<dotnetnuke version="2.0" type="Module">
 <folders>
  <folder>
   <name>[modulename]</name>
   <description></description>
   <version>01.00.01</version>
   <modules>
    <module>
     <friendlyname></friendlyname>
     <controls>
      <control> <!-- for each control, make keys unique, use types from Module Definitions dropdown: View, Edit, etc-->
       <key>[controlname for controls hash]</key>
       <title>[title of view control]</title>
       <src>[view control's ascx filename]</src>
       <type>View</type>
      </control>
    </module>
   </modules>
   <files>   
    <file>
     <name>[all files for module, including graphics, ascx file, assembly(s), etc</name>
    </file>
   </files>   
  </folder>
 </folders>
</dotnetnuke>

The fields are straightforward until you get to the Control elements.  Add a <control> element for each control in your module.
   <key> Uniquely identifies the control in the module.  You may refer to the control programatically by this key.
          Actions are added to the module's flyout menu in the page_init section of the view page, and must refer to a control's key.
   <title> The title of the action on the flyout is the same as the Title of the control. 
   <src> name of .ascx file
   <type> Item from the DotNetNuke.SecurityAccessLevel enum: {Admin, Anonymous, Edit, Host, SkinObject, View}
          Type is what allows DNN to handle security for your controls.

All files that are part of the final module need to be included in the <file> elements.
   Images & Resources
   .ascx file(s)
   Assembly file(s) (don't forget to compile in release mode)
   .sql Scripts
   Stylesheets

Print | posted on Tuesday, October 12, 2004 10:07 AM

Feedback

No comments posted yet.
Title  
Name
Email (never displayed)
Url
Comments   
Please add 3 and 7 and type the answer here: