Home

Official Blog of Shaun Walker

 
     

DotNetNuke 2.0

By Shaun Walker on 3/17/2015
( Excerpt from Professional DNN7 Open Source .NET CMS Platform - WROX Press - April 2015 - ISBN: 978-1-118-85084-8 )

After six months of development, including a full month of public beta releases and community feedback, DotNetNuke 2.0 was released on March 23, 2004. This release was significant because it occurred at VS Live! in San Francisco, California, a large-scale software development event sponsored by Microsoft and Fawcette publications. Due to our strong working relationship with Microsoft, I was invited to attend official press briefings conducted by the ASP.NET Team. Essentially, this involved up to eight private sessions with the leading press agencies (Fawcette, PC Magazine, Computer Wire, Ziff Davis, and so on) where I was able to summarize the DotNetNuke project, show them a short demonstration, and answer their specific questions. The event proved to be spectacularly successful and resulted in a surge of new traffic to the community (now totaling more than 40,000 registered users).

DotNetNuke 2.0 was a hit. We had successfully delivered a high-quality release that encapsulated the majority of the most requested product enhancements from the community. And we had done so in a manner that allowed for clean customization and extensibility. In particular, the skinning solution in DotNetNuke 2.0 achieved widespread critical acclaim.

In DotNetNuke 1.X, the user interface of the application allowed for little personalization — essentially all DNN sites looked much the same, a negative restriction considering the highly creative environment of the World Wide Web. DotNetNuke 2.0 removed this restriction and opened the application to a whole new group of stakeholders: web designers. As the popularity of portal applications had increased in recent years, the ability for web designers to create rich, graphical user interfaces had diminished significantly. This is because the majority of portal applications were based on platforms that did not allow for clear separation between form and function, or were architected by developers who had little understanding of the creative needs of web designers. DotNetNuke 2.0 focused on this problem and implemented a solution where the portal environment and creative design process could be developed independently and then combined to produce a stunningly harmonious end-user experience. The process was not complicated and did not require the use of custom tools or methodologies. It did not take long before we began to see DotNetNuke sites with richly creative and highly graphical layouts emerge, proving the effectiveness of the solution and creating a “Can you top this?” community mentality for innovative and creative designs.

To demonstrate the effectiveness of the skinning solution, I commissioned a local web design company, Circle Graphics in Abbotsford owned by Brad Haima, to create a compelling design for the www.dotnetnuke.com website. As an open source project, I felt that I could get away with an unorthodox, somewhat futuristic site design and I was impressed by some of Circle Graphics' futuristic, industrial concepts I had seen.

It turned out that the designer who had created these visuals, Anson Vogt,  had since moved on but was willing to take on a small contract as a personal favor to the owner. He created a skin that included some stunning 3-D imagery including the now infamous “nuke-gear” logo, circuit board, and plenty of twisted metallic pipes and containers. The integration with the application worked flawlessly and the community was wildly impressed with the stunning result. Coincidentally, Anson Vogt, went later worked with musician Eminem as the Art Director for 3-D animation on the critically acclaimed Mosh video.

 

One of the large-scale enhancements that Microsoft insisted on for DotNetNuke 2.0 also proved to be popular. The Data Access Layer in DotNetNuke had been rearchitected using an abstract factory model that effectively allowed it to interface with any number of relational databases. Microsoft coined the term “provider model” and emphasized it as a key component in the future ASP.NET 2.0 framework. Therefore, getting a reference implementation of this pattern in use in ASP.NET 1.x had plenty of positive educational benefits for Microsoft and DotNetNuke developers. DotNetNuke 2.0 included both a fully functional SQL Server and MS Access version, and the community soon stepped forward with mySQL and Oracle implementations as well. Again, the extensibility benefits of good architecture were extremely obvious and demonstrated the direction we planned to pursue in all future product development.

Upon review of the DotNetNuke 2.0 code base, it was obvious that the application bore little resemblance to the original IBuySpy Portal application. This was a good thing because it raised the bar significantly in terms of n-tiered, object-oriented, enterprise-level software development. However, it was also bad in some ways because it alienated some of the early DotNetNuke enthusiasts who were in fact “hobby programmers,” using the application more as a learning tool than a professional product. This is an interesting paradigm to observe in many open source projects. In the early stages, the developer community drives the feature set and extensibility requirements that, in turn, results in a much higher level of sophistication in terms of system architecture and design. However, as time goes on, this can sometimes result in the application surpassing the technical capabilities of some of its early adopters. DotNetNuke had ballooned from 15,000 lines of managed code to 46,000 lines of managed code in a little more than six months. The project was getting large enough that it required some serious effort to understand its organizational structure, dependencies, and development patterns.

Read Previous Blog In Series - The Security Vulnerability Dilemma

Read Next Blog In Series - Open Source Myths



 

Shaun Walker has 20+ years professional experience in architecting and implementing large scale software solutions for private and public organizations. Shaun is the original creator of DNN, a Web Content Management System for ASP.NET which has cultivated the largest and most successful Open Source community project native to the Microsoft platform. Based on his significant community contributions he has been recognized as a Microsoft Most Valuable Professional (MVP) since 2004 and an ASPInsider since 2005. He was recognized by Business In Vancouver in 2011 as a leading entrepreneur in their Forty Under 40 business awards, was a founding member of the Board of Directors of the Outercurve Foundation, and is currently the Chairman of the Advisory Council for Microsoft's .NET Foundation. Shaun is currently a Director & Innovation Group Lead for Arrow Consulting & Design.

Shaun can be reached at shaun.walker@siliqon.com.

Shaun Walker
34825 1ST Ave
Abbotsford, BC,
V2S 8C1
CANADA


 DNN is the most widely deployed open source .NET web content management platform that allows you to design, build, and manage feature-rich websites, web applications, and social communities.

Siliqon is a chemical element that is the second most abundant element on Earth and is best known as the primary semiconductor material in electronic components. Its symbol is "Si" and its atomic number is 14. In its pure state, siliqon is a metal-like substance with an appearance resembling aluminum.