- DotNetNuke
-
DotNetNuke Developer(s) DotNetNuke Corporation [1][2] Stable release 06.00.00 / July 25, 2011 Development status Active Operating system Microsoft Windows Platform ASP.NET Type Web Application Framework License BSD style license[3] Website http://www.dotnetnuke.com/ DotNetNuke is an open source web content management system based on Microsoft .NET technology.
DotNetNuke was written in VB.NET, though the developer has shifted to C# since version 6.0.[4] It is distributed under both a Community Edition BSD-style license [3] 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.
Contents
DotNetNuke Community Edition
The DotNetNuke content management system 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. More than 8,000 DotNetNuke apps are available for purchase.
The DotNetNuke Corporation 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 [3] allowing flexible modification and distribution rights. The Community Edition is a popular web content management (WCM) system and application development framework 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 6 and ASP.NET 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 of custom functionality. The DotNetNuke 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 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.[5]
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.[6] 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: 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 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 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-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, or creating skins in Visual Studio as ASP.NET user controls.[7]
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 800,000 registered members as of October 2010.[8] 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.[9] The IBuySpy Workshop application had been created by Shaun Walker [10] 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.[11] The term DotNetNuke and DNN are registered trademarks in the US (Search USPTO[12]) and Canada.[13][14]
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,[15] Joe Brinkman,[16] Nik Kalyani[17] and Scott Willhite[18] and replaced Perpetual Motion Interactive Systems Inc. as the corporate entity behind the project.[19]
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, 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.[20]
As of January 2011, the DotNetNuke application has been downloaded over 6 million times[21] 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.[22]. However their Wiki [23] 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.
See also
- mojoPortal
- Umbraco
External links
- DotNetNuke - The official DotNetNuke Site
- DNNCorp Twitter - The official DotNetNuke Twitter news feed
- DotNetNuke on LinkedIn - DotNetNuke Corporation page on LinkedIn
- DotNetNuke Facebook Pages - The official DotNetNuke Facebook site
References
- ^ We make DotNetNuke
- ^ Newly Formed DotNetNuke Corporation to Manage Future Growth of Open Source Web Application Framework Project (Seattle, Wash.) — September 21, 2006
- ^ a b c DotNetNuke > About > Licensing and Trademarks
- ^ "Announcing DotNetNuke 6.0". DotNetNuke Corporation. http://www.dotnetnuke.com/Resources/Blogs/EntryId/3137/Announcing-DotNetNuke-6.aspx. Retrieved 17 OCT 2011.
- ^ DotNetNuke Development Forge
- ^ How to install extra modules for DotNetNuke
- ^ DotNetNuke skinning forums
- ^ www.dotnetnuke.com
- ^ DotNetNuke > About > Background >What Is The History of DotNetNuke (DNN) ?
- ^ Shared Source Leads to Internationally Successful DotNetNuke Open Source Project (Published: November 15, 2004)
- ^ DotNetNuke
- ^ USPTO Trademark Database Search
- ^ CIPO - Canadian Trade-marks Database
- ^ CIPO - Canadian Trade-marks Database
- ^ MVP Profile - Mr. Shaun Walker , MCP Last Updated: June 13, 2008
- ^ MVP Profile - Joe Brinkman Last Updated: May 29, 2008
- ^ MVP Profile Nik Kalyani https://mvp.support.microsoft.com/profile/Nik Last Updated: June 24, 2008
- ^ MVP Profile - Scott Willhite Last Updated: May 29, 2008
- ^ DotNetNuke > News > Media Releases > Newly Formed DotNetNuke Corporation
- ^ "2009 Open Source CMS Market Share Report," page 63, by water&stone and CMSWire Oct, 2009
- ^ http://www.dotnetnuke.com DotNetNuke front page statistics
- ^ http://www.dotnetnuke.com/about/documentation/projectdocuments/tabid/478/default.aspx
- ^ http://wiki.dotnetnuke.com
- Notes
Web application frameworks ASP.NET ASP.NET MVC · ASP.NET Web Forms · ASP.NET Dynamic Data · BFC · DotNetNuke · MonoRail · OpenRasta · UmbracoColdFusion Common Lisp C++ CppCMS · WtJava Apache Struts · AppFuse · Flexive · GWT · Grails · Vaadin · ItsNat · JavaServer Faces · Jspx · Makumba · OpenXava · Play · Eclipse RAP · Reasonable Server Faces · RIFE · Seam · Spring · Stripes · Tapestry · WebWork · Wicket · ZK · ICEfaces · WaveMakerJavaScript Ample SDK · Prototype JavaScript Framework · Rico · script.aculo.us · SproutCore · jQuery · Dojo ToolkitPerl PHP AppFlower · CakePHP · CodeIgniter · Drupal · e107 · Horde · Joomla! · Lithium · Midgard · MODx · Qcodo · Seagull · SilverStripe · Symfony · TYPO3 · Xaraya · Yii · Zend Framework · Zeta ComponentsPython Ruby Smalltalk Other languages Application Express (PL/SQL) · Fusebox (ColdFusion and PHP) · HAppS (Haskell) · Kepler (Lua) · Lift (Scala) · OpenACS (Tcl) · SproutCore (JavaScript/Ruby) · Yaws (Erlang)Categories:- Open source content management systems
Wikimedia Foundation. 2010.