User:Audiohifi/DotNetNuke

DotNetNuke is the most widely adopted Open Source platform for building web sites based on Microsoft .NET technology, with over 6 million downloads and greater than 400,000 production web sites in operation.

It is written in VB.NET and distributed under both a Community Edition BSD-style license and a Professional Edition commercial license. DotNetNuke has an extensive user community and third-party developer ecosystem, and the application's content management system is extensible and customizable through the use of skins and modules.

DotNetNuke Community Edition
DotNetNuke provides extensive functionality out-of-the-box to create rich, functional and easy to use web sites. The content management system allows non-technical users to create and edit content, add custom features and personalize the site look and feel. It can be further expanded with addition of third party modules and tailored with custom graphics and layouts in a form of skins. The DotNetNuke Corporation provides a free, open-source version of DotNetNuke called the Community Edition. It includes access to the source code of the entire framework and basic modules, and a BSD-style license allowing very flexible modification and distribution rights. The Community Edition is the most widely adopted Web Content Management (WCM) system and application development framework for ASP.NET, with over 6,000,000 downloads and 400,000 production web sites as of September 2009.

The DotNetNuke web content management system and application development platform was designed for end-users -- everyday people who maintain web sites for minor sports associations, non-profits, and charitable groups. This focus on ease of use has translated into a well-researched and intuitive interface, a site wizard, and help icons throughout.

A narrative video overview of DotNetNuke called a Short Story has been created by Nik Kalyani and the Chicago DotNetNuke Users Group. It shows DotNetNuke from the perspective of developers, system administrators, business decision makers and end users, and is available on YouTube.

DotNetNuke Professional and Elite Editions
As well as continuing to provide a free, open-source Community Edition of DotNetNuke, the DotNetNuke Corporation also offers two business-oriented commercial editions of the software with premium functionality and technical support options.

The DotNetNuke Professional Edition was introduced in February 2009 with version 5.0, and most recent version 5.2 was released in September 2009. It is described by DotNetNuke Corporation as a tested and verified version of the DotNetNuke content management system, and directly shares the framework codebase with the Community Edition while additionally providing further functionality and support for use in business critical applications :

Further, the Professional Edition offers full product documentation, email notifications of security patches and product updates, access to the Professional Edition online knowledge base, online and email product support with second level support from DotNetNuke Corp architects and engineers and product copyright indemnification.

The DotNetNuke Elite Edition was released in August 2009, providing enhanced support features including phone support, and access to Professional Edition source code in the Elite Edition Premiere version. Similarly to the Professional Edition, the Elite Edition includes extra functionality and shares the framework codebase with the open-source Community Edition.

Architecture
DotNetNuke uses a three-tier architecture model with a core framework providing support to the extensible modular structure. When deployed, which can be extended using pluggable modules and providers that enable additional functionality; the look and feel of individual sites can be customized using skins. The following diagram illustrates the software layers of a typical DotNetNuke deployment:



The current, 5.x generation of DotNetNuke requires IIS 6 and ASP.NET v2.0 to v3.5 and supports SQL Server 2005 and 2008. Previous generations of DotNetNuke supported SQL Server 2000 and ASP.NET v1.1.

Modules
The default functionality of DotNetNuke can be expanded by adding third-party modules, either from an existing library of free and commercial modules, or through in-house development of custom functionality. The DotNetNuke framework provides all necessary 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 DotNetNuke distribution. These modules provide the functionality required to create an e-commerce system, and intranet, a public web site or a custom web application. They are maintained by a volunteer team community on the DotNetNuke Community Forge.

•	Account Login •	Announcements •	Banners •	Blog •	Chat •	Console •	Documents •	Events •	FAQs •	Feed Explorer •	Feedback •	File Manager •	Forms and Lists •	Forum •	Gallery •	Help •	iFrame •	Links •	Log Viewer •	Map •	Media •	Newsfeeds •	Newsletters •	Recycle Bin •	Reports •	Repository •	Search •	Site Log •	Store – Account, Shopping Cart, Admin, Catalog •	Survey •	Text and HTML •	Users and Roles •	Users Online •	Vendors •	What’s New •	Wiki Further modules can be downloaded from Snowcovered, a marketplace of third-party DotNetNuke modules and skins. As of September 2009, over 6,000 extensions are available, including e-commerce systems, photo galleries, localization modules, blogs, forums, wiki, social networking functionality and many others. Modules are available in both free and paid versions from the open source community and proprietary commercial DotNetNuke developers.

Modules can be uploaded and automatically installed through the administration pages of DotNetNuke. Once a module is added by the administrator, it could be placed on any of the pages in the web site and custom access permission can be configured for it.

Skins
DotNetNuke has a skinning architecture which provides a clear separation between design 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.

Upon Microsoft's release of the .NET Framework version 2, Microsoft had included a piece of functionality known as master pages. The principle idea behind master pages was to encourage code recycling and consistent design and aesthetics throughout a site by creating a master page with placeholders, which at runtime would be compiled and replaced by content.

Although this advancement was considered significant, DotNetNuke decided to keep its skinning engine, using the argument that to construct master pages, a web designer needed access to Microsoft's Visual Studio, which would then put developer code at a risk (as master pages have the ability to contain VB.NET code). Bearing in mind that a significant proportion of web designers choose to use both Windows and Mac OS-based design software, DotNetNuke decided to retain the skinning engine to retain its open-source ideals and availability to the web design community.

Like modules, compiled ("ZIPped") 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 DotNetNuke skinning engine builds one based on various tokens included in the HTML file which refer to various sections, placeholders and/or modules of a DotNetNuke-produced page. A number of discussions on the DotNetNuke forums debate the differences between designing skins in "pure" HTML and Cascading Style Sheets, or creating skins in Visual Studio as ASP.NET user controls.

Since version 4.4, skin developers have been able to specify skin-level DOCTYPEs to allow them to develop skins that follow accessibility and XHTML standards.

Developer ecosystem community
DotNetNuke.com has over 700,000 registered members as of September 2009, and a thriving developer community on the DotNetNuke Forums. Support for the Community edition of DotNetNuke is provided by community members, and developers can participate in the open-source project on the DotNetNuke Forge at CodePlex.

User groups
An active DotNetNuke user group exists on LinkedIn and is supported by the DotNetNuke team. It can be accessed here:


 * DotNetNuke Community (Global)

Other user groups have formed to help people with the DotNetNuke platform. Among others:


 * Chicago DotNetNuke User Group (United States)
 * Capital DotNetNuke User Group (United States)
 * Orlando DotNetNuke Users Group (United States)
 * DNN User Group Deutschland (Germany)
 * DotNetNuke User Group Schweiz (Switzerland)
 * DotNetNuke Nova Scotia User Group (Canada)
 * Connecticut DotNetNuke Users Group (United States)
 * St. Louis DotNetNuke User Group (United States)
 * Denver DotNetNuke User Group (United States)
 * Dutch DotNetNuke User Group (The Netherlands)

DotNetNuke groups and fan pages are also set up on LinkedIn and Facebook, and a community forum offering support and discussions is also available from the DotNetNuke Forums page.

Project history
The DotNetNuke application originally evolved out of another project, called the IBuySpy Workshop. The IBuySpy Workshop application had been created by Shaun Walker as an enhancement to the IBuySpy Portal that started as a sample application for the .NET Framework. Early versions of DotNetNuke were released by Shaun’s company, Perpetual Motion Inc, while later development was expanded by the open-source community.

The name DotNetNuke was coined by Shaun by combining the term .NET with the word "nuke", which had been popular with pre-existing frameworks such as PHP-Nuke and PostNuke. The term DotNetNuke and DNN are registered trademarks in the US (Search USPTO ) and Canada.

In September 2006, four members of the project's board of directors formed a corporation to oversee the development of the project. The new DotNetNuke Corporation was co-founded by Shaun Walker, Joe Brinkman , Nik Kalyani and Scott Willhite and replaced Perpetual Motion Interactive Systems Inc. as the corporate entity behind the project.

Subsequently, the DotNetNuke Corporation announced that it would be represented by Mark F. Radcliffe from the Silicon Valley legal firm of DLA Piper. On November 25, 2008 DotNetNuke announced Series A financing from Sierra Ventures and August Capital, and in February 2009, after hiring Navin Nagiah as CEO, a Professional Edition version of DotNetNuke has been released for business and enterprise customers.

As of September 2009, the DotNetNuke application had seen over 6 million downloads throughout its public releases, and is currently in its fifth edition. Version 4.0 or later requires ASP.NET Framework v2.0 or later, but earlier versions will run on ASP.NET 1.1.

In August 2009 a partner certification program was opened by DotNetNuke Corporation, aimed at providing support to the developer community behind third-party DotNetNuke module and various services. DotNetNuke Corporation also announced acquisition of Snowcovered, the premier online market for DotNetNuke modules, skins, services and related products.

Praise
DotNetNuke won a number of awards, recently including DotNetNuke Corporation is a Registered Microsoft Partner.
 * CRN Emerging Vendor - CRN Emerging Vendor 2009
 * asp.netPRO 2009 Reader’s Choice Award – Content Management System runner-up behind Microsoft Sharepoint Server 2007
 * Microsoft Canada Ignite IT Awards 2009 – Top 5 Developer Submissions Finalist
 * Visual Studio Magazine – Editor’s Choice Award 2007

Criticism

 * A common complaint is that DotNetNuke's guidelines for creating correctly packaged modules are cumbersome and require adherence to a specific taxonomy. However, as of version 5.0, automated tools are available to easily package modules.
 * While an API reference document is available, documentation is mostly written in task-oriented form.
 * New major releases of DotNetNuke are not completely backwards compatible for modules that do not correctly adhere to the API, resulting in some of the older modules do not work as advertised, though the new release process has improved the quality of new releases.
 * The platform has regular updates, but unlike the Professional Edition, the Community Edition is not tested and certified by DotNetNuke Corporation.
 * There is no built-in dynamic content localization, an important feature for a web site with content in languages other than English. However language packs for the framework are available in more than 60 languages and third-party modules are available to add dynamic localization to DotNetNuke.

Events
DotNetNuke Corporation holds yearly developer conferences in Europe and North America:


 * OpenForce Europe in Amsterdam, as part of the SDN Conference
 * OpenForce Connections in Las Vegas, as part of the Dev Connections conference

Events held by community members:


 * Day of DotNetNuke Tampa, FL
 * Day of DotNetNuke Europe
 * Day of DotNetNuke Chicago, IL