DNN (software)

DNN Platform (formerly DotNetNuke) is a web content management system and web application framework based on the .NET Framework. It is open source and part of the .Net Foundation.

DNN is written in C#, though it existed for many years as a VB.NET project. It is distributed under an MIT license.

Editions
DNN Platform (formerly "DotNetNuke Community Edition" content management system) is open source software distributed under an MIT License that is intended to allow management of websites without much technical knowledge, and to be extensible through a large number of third-party apps to provide functionality not included in the DNN core modules. Skins can be used to change the visual appearance of a website using DNN.

There are two commercial editions of the software with increased functionality (compared to DNN Platform) and technical support. The DotNetNuke Professional Edition was introduced in February 2009 with version 4.9. In July 2013, DotNetNuke Professional Edition was renamed Evoq Content. In addition, DotNetNuke Enterprise Edition was renamed Evoq Content: Enterprise. Evoq version 9.0 was released in December 2016.

Architecture
DotNetNuke uses a three-tier architecture model with a core framework providing support to the extensible modular structure.

While traditionally DNN focused on providing server side functionality, recent projects strive to enhance client side experiences - along with the rest of the industry. In recent years DNN migrated from using exclusively Web Forms to also allowing Model View Controller and Single-page application architectures. In the future, DNN faces the challenge of moving from ASP.NET 4.6 to the cross-platform free and open source .NET.

DNN can be extended using 3rd-party modules and providers that add functionality at the server or client side. The appearance of individual pages and sites can be customized using skins.

Modules
The default functionality of DNN can be expanded by adding third-party modules, either from an existing module store, from 3rd party authors, or through in-house development of custom functionality. The DNN framework provides basic functionality such as security, user administration, and content management, while modules are used to tailor the web site for specific deployment needs.

A set of primary modules are included with the core DNN distribution. These modules provide the functionality required to create an e-commerce system, an intranet, a public web site or a custom web application. They are maintained by a volunteer team community. In 2015 and 2016 most projects were moved from the DotNetNuke Community Forge to GitHub.

Web pages have skins which define regions of a page (plus their appearance) where page editors can place modules (or extensions) made available by site administrators. Pages and modules can inherit or set custom access permissions that define which groups of users can view or edit each item.

Module can be created in various ways: compiled modules use the Web Application Project model and are written in C# or VB.NET, dynamic modules use the Web Site Project model, and Razor modules which use a C# or VB.NET scripting language.

Skins
A skinning architecture provides a separation of presentation and content, enabling a web designer to develop skins without requiring any specialist knowledge of development in ASP.NET: only knowledge of HTML and an understanding of how to prepare and package the skins themselves is required. Skins consist of basic HTML files with placeholders (tokens) for content, menus and other functionality, along with support files such as images, style sheets and JavaScript, packaged in a ZIP file.

Like modules, skins, can be uploaded and automatically installed through the administration pages. If the compiled skin does not contain an ASP.NET user control file, then the DNN skinning engine builds one based on various tokens included in the HTML file which refer to various sections, placeholders and/or modules of a DNN-produced page. Modern skins incorporate CSS3 and HTML5 with many authors' skins supporting Responsive web design, various JavaScript libraries. With no credentialing, a skin's quality may vary, but often trial periods are available to evaluate functionality.

Hosting
DNN 7.0 and above has a minimum requirement of Windows 7, SQL Server 2008, and .NET 4.0 and IIS 7+. These product's latest versions are supported. As of version 6.0, DNN can also be installed in an Azure cloud computing environment. Numerous web hosting companies offer DNN as an offering, and a 1 step installation process is available through Microsoft. However DNN's requirement for an IIS medium trust environment has prevented broader adoption among some mainstream hosting companies.

Developer ecosystem community
DNN is supported by a community of enthusiasts notably in North America and Europe, with yearly physical events taking place on these continents. The project is managed through Github. The community shares information about the DNN Platform, how and by whom it is managed, events and discuss issues on the DNN Community Website.

API reference documents and guidance on how to create modules and skins can be found on the DNN Documentation Website.

Project history
The DotNetNuke application originally evolved out of another project, the IBuySpy Portal which was a reference application created in 2001 by Microsoft to showcase the new ASP.NET software development framework. Shaun Walker added significant enhancements to the IBuySpy Portal and released a new version branded as the IBuySpy Workshop on December 24, 2002. The early releases of the IBuySpy Workshop application were developed solely by Walker and distributed by his consulting company, Perpetual Motion Interactive Systems Inc. In March 2003, Shaun Walker announced a rebranding of the open source application to DotNetNuke. The name "DotNetNuke" was coined by Walker by combining the term .NET with the word "nuke", which had been popular with existing frameworks such as PHP-Nuke and PostNuke. Walker registered trademarks for the terms DotNetNuke and DNN in both the United States and Canada. At this point Walker formed a Core Team of software developers to help him develop and promote new versions of the open source project.

In September 2006, Shaun Walker invited 3 members of the Core Team, Joe Brinkman, Nik Kalyani, and Scott Willhite, to form DotNetNuke Corporation to oversee management and development of the project, as well as offer professional services to the community.

On November 25, 2008, DotNetNuke Corporation announced that it had secured Series A financing from Sierra Ventures and August Capital and hired Navin Nagiah as CEO; and in February 2009 it released DotNetNuke Professional Edition, targeted at business and enterprise customers. In February 2010, DotNetNuke closed a round of Series B financing from Sierra Ventures, August Capital, and Pelion Venture Partners.

In August 2009 DotNetNuke Corporation launched a partnership program aimed at providing support to web design and development companies using DotNetNuke. They also announced the acquisition of Snowcovered, an online market for DotNetNuke modules, skins, services, and related products.

In October 2009, the Open Source CMS Market Share Report concluded that DotNetNuke was the leading .NET-based open source web content management system.

In 2013, the company was renamed DNN Corporation and the commercial DotNetNuke editions were rebranded as Evoq.

In 2017 the company was acquired by ESW Capital and stewardship of DNN Platform (as the open source Community Edition was now called) was transferred to a team of community experts. This project was subsequently brought under the umbrella of the .Net Foundation with DNN Corp solely focusing on their commercial Evoq platform.

Content management
DNN provides basic content-management out of the box, but is usually accompanied with one of many (mostly open-source) content management extensions.