DotNetNuke Cambrian: An Evolutionary Leap Forward
During the past 5 years, DotNetNuke has grown from a simple web application to a robust web application framework. Standard features and modules allow a user to build robust websites, or use the framework as a foundation for building custom web applications. DotNetNuke has had a couple of major architectural advances over its lifetime aimed at providing more robust content management features and improving the extensibility of the platform. There are, however, a few outstanding features that are still needed to round out DotNetNuke’s content management role. All of these previous enhancements, including the upcoming CMS features represent a steady progression of the platform.
At OpenForce ’07, the DotNetNuke Corp. management team announced a major shift in the future direction of the platform. Having provided a robust framework to handle most CMS needs, we are now setting our sights on the Web 2.0 and social networking markets. This shift represents not just the addition of a few new features but is a major shift in the types of business problems that DotNetNuke seeks to address. The addition of social networking and web 2.0 features will bring a new contemporary look to the platform and position DotNetNuke to continue the strong growth that we have enjoyed for the last 5 years.
What is Cambrian?
Cambrian is our vision for the next generation of the the DotNetNuke platform. As such, it does not represent a single release, but rather a series of releases that encompass a broad set of high-level features. These features, shown in figure 1, will be implemented over several releases during 2008. In some cases the full vision for a feature may not be realized in the initial Cambrian timeframe. However, a baseline set of all features will be present and will provide a great foundation upon which we can continue to build for years to come.

Fig. 1: Cambrian features
DotNetNuke Cambrian will complete the feature set in the base CMS platform. Workflow and content localization will add the two major features which have been missing from the platform and which exist in many competing products. This will complete the work we started more than 5 years ago on this phase of our development. User interface and skinning engine changes will provide a more contempory “web 2.0” feel to the platform. Finally, the social networking and core module features will once again move DotNetNuke to the forefront of Asp.Net development. During the next couple of years we will use the baseline feature set in Cambrian to solidify and improve our leadership position in the social networking market.
Workflow
Most modern CMS platforms include some workflow capability. This can range from a simple two step content approval, to complex workflow chains spanning multiple processes and even multiple machines. At its foundation, workflow is about allowing the user to perform some level of review prior to posting new or updated content to the website. An inherent part of any workflow solution is the ability to maintain at least two versions of content: 1) the live content and 2) the updated content that is working it’s way through the workflow chain. More robust workflow solutions may include content versioning. This feature, while not strictly a requirement to implement workflow, will simplify the implementation of more advanced workflow functionality.
Most modern CMS platforms include some workflow capability
An important feature of our workflow functionality will be the ability to support remote publishing. By allowing workflows to span multiple portals we will enable more robust publishing options. Content will be able to remain on a private staging portal/server until it has been approved at which point it could be “pushed” to the live website.
As a key part of our workflow vision, we are looking at how the workflow interacts with and is impacted by other features like content localization. Content may need special workflows to handle the specific needs of the translation and localization teams for a given website. A single workflow item may generate multiple approval tasks for each supported culture. This is just one of many complex interactions that should be accounted for in the platform. Our ability to capture and enable these complex requirements in a simple, user friendly manner will be what ultimately distinguishes our solution from those of our competition.
Dynamic Content Localization
DotNetNuke has had static localization support for more than 3 years. During this time, the localization engine has received minor enhancements and fixes, however, the basic capability has remained largely unchanged. While static localization was a good start, it did not provide enough capability to meet the needs of the international community. While there are some features that need to be added to the static localization engine to simplify the translation and distribution processes, the biggest need is the ability to localize dynamic content.
Cambrian will include full support for localizing both static and dynamic content. Content editors wil have the ability to edit content in any culture installed on the site. Localization support will extend throughout the Cambrian feature set and the existing DotNetNuke framework. Beyond content localization, the framework will be extended to provide full internationalization support: the ability for content to be formatted and displayed according to the rules for any given culture.
Full internationalization support: the ability for content to be formatted and displayed according to the rules for any given culture
Even as we improve internationalization and content localization support in the core platform, a key consideration is ensuring that module developers will be able to utilize the framework to provide the same capability in their products. Additionally, we will need to ensure that the framework does not impose performance penalties for sites that don’t require multi-language or localization support.
With the inclusion of these much needed improvements, we expect adoption of DotNetNuke in international markets to see very strong growth. These changes are aimed at addressing the most pressing needs of our international community and will provide a strong platform on which to build websites in a multi-cultural environment.
Admin UI + Skinning Engine
During 2008 you will see a completely revamped DotNetNuke user interface with major improvements to the skinning engine as well as a much cleaner administrative flow. In 2004, with the release of DotNetNuke 2.0, we introduced the original DotNetNuke skinning engine. This engine allowed designers to create the look and feel of the DotNetNuke site, independent of the content. Users were free to apply whatever skin they chose and even change the skin for a site that was already up and running. At the time, this feature was very cutting edge. Since that time, the skinning engine has remained relatively static.
As part of Cambrian, we will be implementing some much needed improvements to the skinning engine. These improvements are aimed at providing more flexibility and control to designers while administrators will be able to take advantage of a new package installer to greatly simplify installation and management of skins. Figure 2 shows a sample skin that takes advantage of new widgets provided with the skinning engine and are examples of some of the many skinning engine changes we anticipate.

Figure 2: Comtemporary Skin with Widgets
Beyond the skinning engine, DotNetNuke will modernize the user interface to simplify management tasks and provide a more contemporary appearance. During this modernization effort we will focus on reducing the number of clicks and postbacks needed to accomplish most management tasks. By utilizing the existing AJAX capabilities already present in DotNetNuke, we can greatly improve the user experience and speed up the responsiveness of the application.
Social Networking + Widgets
“Content is king”. This simple statement has defined the web for the last decade as websites have sought to offer more content, and more relevant content, to their users. Over the past 5 years a revolution has been taking place on the internet. A major shift occured as websites learned that the best way to provide relevant content, was to have users generate that content. Whether it is a list of popular “news” stories, links to categorized content, a network of business relationships, an online encyclopedia, or even a group of personalized homepages: user generated content has become a key component of almost every major internet site. Even Microsoft joined the fray with recent changes to MSDN allowing users to add content, in the form of comments, to the documentation in the MSDN library. A key aspect of user generated content, that really is inherent in the nature of the internet, is the content is heavily linked to other related content.
Most websites exist to attract users: whether the purpose is to provide information, sell a product or just offer some entertainment, without visitors a website has no reason to exist. Content has traditionally been the means by which users were attracted to a site. It is only recently that website owners have realized that “users” are a form of content. People are social animals. Most people will join dozens of groups during the course of their lives. Whether it is a group of kids who sit together at the lunch table, play organized sports, get online to talk about their favorite band, or adults who join civic organizations, join the local chamber of commerce, or work together to build open source software – we all seek to interact with others who are like us in one aspect or another.
Internet sites are capitalizing on this social behavior to attract users. Websites are facilitating the formation of social networks where people build communities of like-minded members. As more and more people join these communities, it creates an even stronger pull for new users.
What we see in these two aspects of internet activity is the maturation of the web. Even from the beginning, the internet has always been about linking people and data. The web tools are now maturing to a point where the ability to create and leverage this “web” of data and people is becoming easier and easier. Figures 3 and 4 are conceptual examples of social and data networks. Most of the social network platforms provide some tagging constructs that are used to help facilitate creation and navigation of these webs.

Figure 3: Social relationships shown in a tag cloud

Figure 4: Enhanced tag cloud
The benefits from the social networking phenomena is slowly making its way into the corporate environment. Business has long struggled with finding ways to streamline their processes and to share data both internally and externally. Often the solutions involve breaking down internal communication barriers both between individuals and between various applications. Some of the advances that are happening on the internet are being applied to business problems with great success.
Cambrian will implement a core social networking API that provides the ability to build “links” between people and/or data
DotNetNuke Cambrian will implement a core social networking API that provides the ability to build “links” between people and/or data. These links will have associated business rules that control the ability to view, alter or navigate the associated link. Module developers will then have the tools needed to build solutions allowing users to form networks, generate and link content and navigate around these various webs of people and data. A key component of this API will be the ability of any module to discover and participate in “webs” created by other modules. In addition, the core API will seek to enable access to external social networking APIs, like FaceBook or Open Social.
In addition to the social networking API, Cambrian will include a widget platform that provides “client-side module” functionality. The widget functionality provides a lightweight counterpart to the existing module architecture and will allow for content to be shared across any website or widget platform. Figure 2 shows one example of the use of widgets as a form of extended skin object, but this can also be extended even further to allow data and functionality to be shared across websites.
Our vision to make DotNetNuke into a premier framework for building social networking applications and sites will keep us focused throughout 2008 and beyond. While we do not think we can complete our vision in the initial Cambrian timeframe, we do know that we can put a very solid foundation in place that will allow us to continue to expand on this capability in future DotNetNuke releases.
Core Module Suites
Different users are likely to have wildly different requirements when building websites or web applications. In the past, users have downloaded DotNetNuke as a single monolithic package and were forced to add and/or remove various modules, skins and language packs for their particular needs. With Cambrian this will only be exacerbated. Not everyone will require social networking features, or wish to enable multi-language support. During the Cambrian timeline, we will begin to offer packaged suites targeted at different classes of users. Whether it is a core CMS suite, a Social Networking Suite, an Enterprise suite or some other set of packaged functionality, we will look to bundle modules and configurations to provide the best turnkey solutions for various markets.
As part of Cambrian, we will be updating many of the core modules to take advantage of the new platform features. We will also be building new modules to provide base functionality as part of the new social networking features.
Conclusion
Although the baseline Cambrian platform will be completed in 2008, the full impact of these changes will not be felt for a couple of years as module developers and skinners take advantage of the new workflow, localization, social networking and skinning engine features. We believe that the new capabilities introduced in Cambrian will accelerate the growth and adoption of the DotNetNuke platform and will pave the way for expansion into the Enterprise market.
About 530 million years ago, there was a magical moment in the evolution of our planet. An evolutionary explosion occurred. Life forms went from simple to complex. The rate of evolution accelerated by an order of magnitude. This was called the “Cambrian Explosion”. In 2008 DotNetNuke will be undergoing our own Cambrian explosion and it looks to be a very exciting time.