DotNetNuke

From Wikipedia, the free encyclopedia

DotNetNuke
Image:Dotnetnuke-logo.gif
Developed by DotNetNuke Corporation [1][2]
Latest release 4.8.3 / May 27, 2008
OS ASP.NET / Microsoft Windows
Genre web application framework[3]
License BSD style license[4]
Website http://www.dotnetnuke.com/

DotNetNuke is an open source [5] web application framework [6] written in VB.NET for the ASP.NET framework. The application's content management system is extensible and customizable through the use of skins and modules, and it can be used to create, deploy, and manage intranet, extranet, and web sites.

Contents

[edit] Introduction

The DotNetNuke application originally evolved out of another project, called the IBuySpy Workshop. [7] The IBuySpy Workshop application had been created by Shaun Walker [8] as an enhancement to the IBuySpy Portal starter kit.[9] Microsoft had earlier released the IBuySpy Portal as a sample application for the .NET Framework.

Shaun Walker (the original creator) has implied that the name DotNetNuke was coined by combining the term .NET with the word "nuke" which had been popular with pre-existing frameworks such as PHP-Nuke and PostNuke.[10] The term DotNetNuke and DNN are registered trademarks of DotNetNuke Corporation in the United States and Canada.[11]

In September of 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[12], Joe Brinkman[13], Nik Kalyani[14] and Scott Willhite[15] and replaced Perpetual Motion Interactive Systems Inc. as the corporate entity behind the project. [16] Subsequently, the DotNetNuke Corporation announced that it would be represented by Mark F. Radcliffe[17] from the firm of DLA Piper[18].

As of November 2007, the DotNetNuke application had seen over 4 million downloads throughout its 56 public releases[19], and is currently in its fourth edition.[20] Version 4.0 or later requires version 2.0 of the ASP.NET Framework, but earlier versions will run on ASP.NET 1.1. [21]

[edit] Extensibility

DotNetNuke has a basic core 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.

[edit] Modules

About a dozen basic modules are included with the core DotNetNuke distribution, and further modules can be downloaded from the DotNetNuke website, including e-commerce systems, photo galleries, blogs, forums, wiki and mailing list options. Additional third party modules are provided by both the open source community and proprietary commercial developers.

[edit] Skins and Containers

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 it's 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 compromisable 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 Apple's series of hardware and operating systems, DotNetNuke decided to retain the skinning engine to retain it's 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. [22]

The DotNetNuke skin system was designed to allow users to create their own skins without modifying the main page (Default.aspx) which controls every page in the site.

[edit] Criticisms

  • A common complaint is that DotNetNuke's guidelines for creating a "proper" module are cumbersome. As an example, suppose a module allows a user to add a book (an object of type "Book") to the table "Books" in the portal's database. The method "AddBook" would need to be defined in three separate classes. (The stored procedure for adding a book into the database must be written as well.)[citation needed]
  • Documentation is mostly written in task-oriented form. API references are not available.
  • 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. With previous versions, the revisions were not always stable. This has greatly improved due to the new release process.[citation needed]
  • There is no dynamic content localization, a very important feature for a web site with contents in languages different than English.

[edit] External links

[edit] References