DotNetNuke® (DNN) is the leading open source framework for building websites and web applications on Microsoft ASP.NET. DNN is the world’s most widely adopted framework for building web solutions based on Microsoft ASP.Net. Through an intuitive, menu-driven interface, even non-technical users can use DNN to easily create powerful websites or extend functionality and features of existing web applications. 


As mentioned DNN allows technical and non-technical users to easily create and edit content and add custom features and personalize their web site look and feel. It can be extended or modified by adding modules that provide additional web site functionality and tailored designed with custom skins and containers. 



DNN uses a three-tier architecture style framework that requires Internet Information Services, ASP.NET and a Data Base. Although in most cases the Data Base of choice is one of the MS SQL versions (including Express) other Data Base applications are supported. Originally coded in VB.Net the latest version 6 has been coded in C#. The framework provides basic functionality needed for websites such as multi level role security, user and site administration and basic content management, while modules are used to tailor the web site for specific deployment needs. It is also possible to modify the core framework of DNN being that it is an Open Source application, however this is usually not recommended as it may cause problems with version updates.


Modules are the key to extending a DNN Website. You could consider them as "Mini Applications" that are coded and designed to interface with the DNN framework to provide additional functionality. There are literally thousands of modules available and they can be found throughout the internet in some cases for free and of course they can be purchased from 3rd party vendors. Many of the modules on the market provide similar functionality but have been written by different programmers. Many of the vendors have multiple modules that work alone or combine with each other to provide a complex functionality. There really is no limit to what you can do on a DNN website. The most notable place to find Modules and Skins in one place would be SnowCovered. In addition there are many vendors that have produced modules that are extendable through their own "user friendly interface" that make it easier for non-technical folks to work with the DNN framework. As an example there are multiple modules that allow you to query your Database and present the results in a grid format. Of course you will always be limited to the functionality that are provided by the vendor. That brings me to the starter kit available from DNN that will allow programming your own custom modules for your own site (or for marketing) usually in VB.net or C#.


skin is applied to the DNN website and changes the layout and design.  A skin is actually a group of files that includes HTML , images, and sometimes a stylesheet (CSS). Skin's will define panes (areas) where you can insert modules onto the page Most skin packages come with multiple layouts so you can have different setups on multiple pages. A skin package usually comes with containers that match the skin design (although they can be purchased separately). Containers are used to wrap around modules so all the modules on your site have a similar appearance. Containers can be applied to one or more modules, or set globally across your site.