Notebook Entries

DotNetNuke Skinning Engine Architecture Revamp

Last Updated 09 May 2008


Skinning has been one of the most challenging topics in DotNetNuke development. The community has created a fairly versatile skinning engine for non-developers to adapt; however, to achieve perfection or superiority in DotNetNuke skinning requires tremendous amount of time as well as being detail-oriented.

There are a few reasons that skinning has become cumbersome to master:

  1. Lack of resources (majority of resources including books and documentations are developer-oriented, it's difficult for non-developers to learn and comprehend the concepts).
  2. Although [TOKENS] makes skinning easier, the framework has poor user experience in demonstrating the skinning process.
  3. Lack of flexibility for web standards approach.

The aforementioned reasons have discouraged many people from using the framework. I have seen customers (as well as business professionals that I trained) struggled with DotNetNuke skinning and gave up using the framework for their online system. Nothing is easy as long as we have the patient and encouragement, I know. However, DotNetNuke skinning has long been known as the one that not quite user-friendly in the community.

Well, all that said are about to be changed. Today, Shaun Walker announced several changes in the Skinning Engine Architecture that will be packaged with Cambrian. The announcement got me excited about the new concept in DotNetNuke skinning. Here are a few notable updates:

1. Packaging and Distribution

As I teach in my class, there are multiple ways of packaging skins. People from novice to experienced will have different approaches in packaging and distributing skins, therefore, it makes the learning process less desirable for beginner when looking at files structure from one package versus another. The manifest file will be introduced in DotNetNuke version 5.0 to allow designers provide resources about the skin package. This will result in consistent packaging and distribution of skins throughout the community. A wizard-based Skin Packager will also be introduced to assist the learning process.

2. Skin Object Definition and Attributes

This enhancement is one of the most useful add-ons that makes me excited about the next release. Currently when developing skins, a separate skin manifest file is required to define or customize skin objects. With Cambrian, Nik Kalyani proposed a concept of using <object> tags that allow designers to "translate" what is written in skin manifest now into a much friendlier approach. This makes the skinning process easier for beginners.

3. [TEXT] Skin Object and Localization

As many discussions you might have seen around, localization has been highly desired by the community. In version 5.0, you can now localize skins using similar approach as in developing modules. It enables the ability to bring DotNetNuke skins beyond your native language.

I'm excited to see the new release of DotNetNuke and cannot wait to adapt these wonderful enhancements in my skinning process. For more details about the enhanced features, please visit Shaun's blog.

Recent Comments
There are currently no comments. Be the first to make a comment.