Learn More





Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsModulesModulesModule Folder LayoutModule Folder Layout
New Post
8/11/2014 6:38 PM

I've been working on documenting a "standard" layout for modules, this is based on reviewing several modules and the Chris's DAL template. While I understand most any layout would work, and having a "standard" inhibits creativity, I feel having some guidance for structure (that's documented) will enhance the development of DNN modules. This is DAL so far and I'd like to add recommendations for DAL2, Javascript storage, etc, so there's something to work from. If more people follow a standard, then people trying to learn from modules will know where to look for certain functions.

Module Primary Secondary Tertiary CS Filename VB Filename
<module name> .build     MSBuild.Community.Tasks.dll
<module name> .build     MSBuild.Community.Tasks.targets
<module name> App_LocalResources     Edit.ascx.resx
<module name> App_LocalResources     Settings.ascx.resx
<module name> App_LocalResources     View.ascx.resx
<module name> BuildScripts     ModulePackage.targets
<module name> BuildScripts     MSBuild.Community.Tasks.Targets
<module name> Components     FeatureController.cs FeatureController.vb
<module name> Components     <table name>Controller.cs <table name>Controller.vb
<module name> Components     <table name>Info.cs <table name>Info.vb
<module name> Data     DataProvider.cs DataProvider.vb
<module name> Documentation     Documentation.css
<module name> Documentation     Documentation.html
<module name> packages     repositories.config
<module name> packages MSBuildTasks.   MSBuildTasks.
<module name> packages MSBuildTasks. content
<module name> packages MSBuildTasks. tools Build.proj
<module name> packages MSBuildTasks. tools Install.ps1
<module name> packages MSBuildTasks. tools MSBuild.Community.Tasks.dll
<module name> packages MSBuildTasks. tools MSBuild.Community.Tasks.Targets
<module name> packages MSBuildTasks. tools MSBuild.Community.Tasks.xml
<module name> packages MSBuildTasks. tools MSBuild.psm1
<module name> Properties     AssemblyInfo.cs AssemblyInfo.vb
<module name> Providers DataProviders SqlDataProvider 00.00.01.SqlDataProvider
<module name> Providers DataProviders SqlDataProvider SqlDataProvider.cs SqlDataProvider.vb
<module name> Providers DataProviders SqlDataProvider Uninstall.SqlDataProvider
<module name> Services     RouteMapper.cs RouteMapper.vb
<module name> Services     ServicesController.cs ServicesController.vb
<module name>       <module name>.dnn
<module name>       <module name>.sln
<module name>       <module name>.csproj <module name>.vbproj
<module name>       <module name>.csproj.user <module name>.vbproj.user
<module name>       <module name>ModuleBase.cs <module name>ModuleBase.vb
<module name>       <module name>SettingsBase.cs <module name>SettingsBase.vb
<module name>       Build.proj
<module name>       Edit.ascx
<module name>       Edit.ascx.cs Edit.ascx.vb
<module name>       Edit.ascx.designer.cs Edit.ascx.designer.vb
<module name>       License.txt
<module name>       module.css
<module name>       packages.config
<module name>       ReleaseNotes.txt
<module name>       Settings.ascx
<module name>       Settings.ascx.cs Settings.ascx.designer.vb
<module name>       Settings.ascx.designer.cs Settings.ascx.vb
<module name>       View.ascx
<module name>       View.ascx.cs View.ascx.designer.vb
<module name>       View.ascx.designer.cs View.ascx.vb
New Post
8/13/2014 10:09 AM


  One of the standards that I don't see here is the concept of an owner directory.  In more modern DNN module development we recommend that people put modules in a structure that looks like this /desktopmodules/{ownerfolder}/{modulename}/.  This structure helps keep different modules from inadvertently colliding. 

Joe Brinkman
DNN Corp.
HomeHomeDevelopment and...Development and...Building ExtensionsBuilding ExtensionsModulesModulesModule Folder LayoutModule Folder Layout

These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?