DotNetNuke
Encyclopedia
DotNetNuke is an open source
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

 web content management system
Web content management system
A web content management system is a software system that provides website authoring, collaboration, and administration tools designed to allow users with little knowledge of web programming languages or markup languages to create and manage website content with relative ease...

 based on Microsoft .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 technology.

DotNetNuke was written in VB.NET
Visual Basic .NET
Visual Basic .NET , is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic , which is implemented on the .NET Framework...

, though the developer has shifted to C# since version 6.0. It is distributed under both a Community Edition BSD-style license and commercial proprietary licenses as the Professional and Enterprise Editions. DotNetNuke is extensible and customizable through the use of skins, modules, data providers, language packs and templates.

DotNetNuke Community Edition

The DotNetNuke content management system
Content management system
A content management system is a system providing a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based...

 allows non-technical users to create and edit content and add custom features and personalize their web site look and feel. It can be extended by adding third-party DotNetNuke apps which include modules that provide additional web site functionality and tailored with custom layouts in the form of skins
Skin (computing)
In computing, a skin is a custom graphical appearance achieved by the use of a graphical user interface that can be applied to specific software and websites to suit the purpose, topic, or tastes of different users....

. More than 8,000 DotNetNuke apps are available for purchase.
The DotNetNuke Corporation
DotNetNuke Corporation
DotNetNuke Corporation is the steward of the DotNetNuke open source project, the most widely adopted web content management system and application development framework for building web sites and web applications on Microsoft .NET...

 is the steward of the DotNetNuke open source project. The open source version of DotNetNuke is called the Community Edition and is available for free download on CodePlex. The Community Edition includes access to the source code of the framework and standard installation modules, and an MIT license allowing flexible modification and distribution rights. The Community Edition is a popular web content management (WCM) system and application development framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...

 for ASP.NET, with over 6,000,000 downloads and 600,000 production web sites as of October 2010. The most recent version of the Community Edition (6.0.0) was published in July 2011.

DotNetNuke Professional and Enterprise Editions

The DotNetNuke Corporation offers two commercial editions of the software with premium functionality and technical support.

The DotNetNuke Professional Edition was introduced in February 2009 with version 4.9 and the most recent version 5.6 was released in November 2010. The DotNetNuke Enterprise Edition launched in August 2010 and the most recent version 5.6 was released in November 2010.

Architecture

DotNetNuke uses a three-tier architecture model with a core framework providing support to the extensible modular structure. DotNetNuke 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 Internet Information Services
Internet Information Services
Internet Information Services – formerly called Internet Information Server – is a web server application and set of feature extension modules created by Microsoft for use with Microsoft Windows. It is the most used web server after Apache HTTP Server. IIS 7.5 supports HTTP, HTTPS,...

 6 and ASP.NET
ASP.NET
ASP.NET is a Web application framework developed and marketed by Microsoft to allow programmers to build dynamic Web sites, Web applications and Web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages ...

 v2.0 to v4 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 proprietary modules, or through in-house development
ASP.NET
ASP.NET is a Web application framework developed and marketed by Microsoft to allow programmers to build dynamic Web sites, Web applications and Web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages ...

 of custom functionality. The DotNetNuke framework provides basic functionality such as security
Security
Security is the degree of protection against danger, damage, loss, and crime. Security as a form of protection are structures and processes that provide or improve security as a condition. The Institute for Security and Open Methodologies in the OSSTMM 3 defines security as "a form of protection...

, user administration and content management
Content management system
A content management system is a system providing a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based...

, 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, an intranet, a public web site or a custom web application. They are maintained by a volunteer team community on the DotNetNuke Community Forge.
Further modules can be downloaded from www.snowcovered.com, a marketplace of third-party DotNetNuke modules and skins. As of October 2010, over 8,000 extensions are available, including e-commerce systems, photo galleries, localization modules, blogs, forums, wiki, social networking functionality and others. Modules are available in both free and paid versions from the open source community and proprietary commercial DotNetNuke developers.

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

Skins

A skinning architecture provides a separation between design and content, enabling a web designer to develop skins without requiring any specialist knowledge of development in ASP.NET
ASP.NET
ASP.NET is a Web application framework developed and marketed by Microsoft to allow programmers to build dynamic Web sites, Web applications and Web services. It was first released in January 2002 with version 1.0 of the .NET Framework, and is the successor to Microsoft's Active Server Pages ...

: only knowledge of HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 and an understanding of how to prepare and package the skins themselves is required. Skins consist of basic HTML files with placeholders (token
Token
A token is an object of value, and may refer to:* In logic, computational linguistics, and information retrieval, a token is an instance of a type; see Type-token distinction...

s) for content, menus and other functionality, along with support files such as images, style sheets and JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, packaged in a ZIP file.

Upon Microsoft's release of the .NET Framework version 2
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

, Microsoft had included functionality known as master pages. The principal 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
Runtime
In computer science, run time, run-time, runtime, or execution time is the time during which a program is running , in contrast to other phases of a program's lifecycle such as compile time, link time, load time, etc....

 would be compiled and replaced by content.

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
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...

-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, 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
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

, 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
XHTML
XHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....

.

Developer ecosystem community

DotNetNuke.com has over 800,000 registered members as of October 2010. 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.

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
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

. 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
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 with the word "nuke", which had been popular with pre-existing frameworks such as PHP-Nuke
PHP-Nuke
PHP-Nuke is a web-based automated news publishing and content management system based on PHP and MySQL originally authored by Franscisco Burzi. The system is controlled using a web-based user interface. PHP-Nuke was originally a fork of the Thatware news portal system.PHP-Nuke was originally...

 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.

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. In February 2010 DotNetNuke announced a Series B financing from Sierra Ventures, August Capital, and Pelion Venture Partners.

In August 2009 a partner program was launched by DotNetNuke Corporation
DotNetNuke Corporation
DotNetNuke Corporation is the steward of the DotNetNuke open source project, the most widely adopted web content management system and application development framework for building web sites and web applications on Microsoft .NET...

, aimed at providing support to the web design and development companies that build web sites using DotNetNuke. DotNetNuke Corporation also announced the acquisition of Snowcovered, an online market for DotNetNuke modules, skins, services and related products.

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

As of January 2011, the DotNetNuke application has been downloaded over 6 million times and is 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.

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, some documentation is still available only in task-oriented form.. However their Wiki is growing rapidly to address this weakness (almost 300 wiki pages as of October 2011)
  • The platform has regular updates, but unlike the Professional Edition, the Community Edition is not tested and certified by DotNetNuke Corporation.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK