Website Design using the DNN Skin Engine

Dec 19th, 2011 Doug Parker

Previous to the latest content management systems, the majority of profitable website design corporations counted on handling static HTML sites for a significant portion of their profit. Nevertheless, with the emergence of content management systems such as DotNetNuke, the customer has rather quickly become savvy of the many benefits offered by dynamic web sites. The skinning architecture in DotNetNuke allows professional web designers to create spectacular user interfaces which assimilate seamlessly with the underlying portal application to generate a impressive, yet visually desirable client web site.

The phrase "Skinning" refers to a software architecture which provides you with a controllable way to distinguish application logic and content from its presentation. This abstraction of "form" and "function" is sometimes referred to as a two-tiered presentation model. The advantages of skinning are that application logic and web page layout are separated and can be designed and modified independently. A software developer and a web page designer can collaborate without the chance of interfering with each others work.

One of the good things about classic ASP - and one of the main explanations for its reputation as a rapid web development (RAD) tool - is the fact that ASP scripts can be inserted into regular HTML markup to turn otherwise static HTML content into intelligent web pages. This characteristic makes it feasible to quickly write ASP applications that create web pages dynamically from a database (or other external data source), and to develop robust web applications.

However, this ease of us comes with a price. The majority of ASP sites contain a mangled spaghetti of intermingled HTML markup and ASP script, making them difficult to understand and even harder to maintain. This problem most often rears its ugly head when web designers need to alter the user interface. Since the presentation characteristics are inlayed in the ASP script, modifications often require a combined effort between a web developer and a designer to ensure the integrity of the modification. This eventually results in more effort, more time, and increased cost.

Skinning entails the use of "templates" which separate presentation and layout characteristics from application logic. An intelligent skinning engine is then employed to build the artifacts into a final product. This two-tiered approach allows both developers and designers a good level of freedom when it comes to maintaining a web site, and can substantially lessen the time and effort required in the post-release phases of a development project.
However, skinning also introduces some complexity to your web application. The process of merging multiple files into a single page can produce severe performance degradation. Not to mention, developers must be properly knowledgeable to keep the presentation details of layout and appearance abstracted from their script code. Both of these items can be mitigated through the use of technology and a solid skinning architecture.

Due to this fact the skinning solution needs a procedure for a web designer to define a skin using the simplest base technology. HTML is the lowest common denominator when it comes to the World wide web and has the greatest support in terms of design applications. The only problem with HTML is that it is entirely static - yet a web application has needs for dynamic elements at the same time.

Based on the requirements and difficulties specified above, it would seem to be useful to allow web designers to include placeholders into their HTML markup which represent dynamic functionality. This offers the cleanest abstraction of "form" and "function". The skin file could be modified without affecting the application logic. The application logic could be modified without affecting the user interface. The only concern is the performance penalty imposed by this additional layer of separation.

About the Author:


Douglas Parker is a contributing programmer to the Skin Generator project. The Skin Generator undertaking makes it possible for website developers to generate great looking DotNetNuke skins using an online DNN Skin Generator tool.

Get More Traffic DistributeYourArticles.com
Article Marketing

11 people like this article