My CMS Development Note-4 describes the DotNetNuke system execution process

Source: Internet
Author: User
Tags final dotnetnuke

A friend said that a general structure should be written. It makes sense to think about it, so let me introduce you to DotNetNuke's execution process. Basically, I'm just copying his basic ideas.

A site, no matter how rich the content, channels, columns, and so no matter how many, its final form of expression is a page. The system directly to deal with the page, as to what the content on the page, this does not matter, put what module, what is presented content. and the traditional CMS system "home", "List page", "Terminal page" of the three categories are completely different, we think, whether it is the home or list page, it is nothing more than a "page." And as long as it is a page, it must have the following characteristics: There are several areas above, each area to display a number of content. In this system, if the "article List module" is loaded then the list page, if the "article module" is loaded, then the Terminal page.

Characteristics

One, the entire site has only one page. Very easy to centralize management.

Second, all functional modules can be unrelated to each other. Easy to expand.

Site main information in the database centralized storage, the page information is also unified management, and even the generation of all URLs are also concentrated in a management, very convenient for late urlrewrite processing.

Basic process of system operation

The system first requests a unique page/default.aspx.

According to the parameter tabid= to determine which page is requested.

Permission to judge. Redirect to the login page if the permissions are not met.

Read page information. Determine which page should load the skin and load it.

The page skins load the function module according to the page module information.

Each function module executes its own logic and ultimately displays the final results of the page rendering in the/default.aspx page.

/default.aspx execution ended, one request ended.

Basically DotNetNuke's mentality is these, you have to say what unfathomable technology is not, the key is the skin part, and the implementation step part has many improvement space.

DotNetNuke's discomfort.

1, skin creation problem. It uses the Td,div tag as a container. This results in a lot of id= "Ctl000_xx" on the final page. These tags may be in the time and the artist to write the CSS response.

My solution for this is to use placeholder as a container so that there is no extra ID on the page.

2, permission issues. This thing was really troublesome when it was deployed, so I paid special attention to this problem.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.