In CMS, processing a page request consists of multiple steps and involves several layers. All pages in CMS are dynamically built from the information contained in the page template and the placeholder content contributed by the authors. Template metadata is stored in the CMS database, while the template file is stored in the CMS server file system. In the previous chapter, we looked into creating template gallery items (TGIs) that represent the template metadata in VS.NET. In this chapter, we will discuss how a CMS page is processed, from receiving an HTTP request from the browser to sending the HTTP response back.
NOTE: We are going to look into ASP.NET-based processing. For ASP-based processing, refer to the CMS 2002 and CMS 2001 product documentation.
When authors create a page, they populate the placeholders in the template with the content and then post the page to a channel. The data corresponding to this posting is stored in the database, including the following information:
The posting properties, placeholder content, and template metadata are stored separately and are brought together to create a page only during the processing of the posting's template ASPX file. The code in ASPX template files makes use of CMS Publishing API (PAPI) objects to read the data from the CMS database and to commit changes to the database. The output of the ASPX template processing is a CMS page that is put in the cache and then sent back to the user.
NOTE: Template metadata is usually referred to as just a template. As we have discussed in Chapter 10, templates are also known as template gallery items in VS.NET.
Depending on whether the CMS page is requested for viewing in presentation mode or for creating and editing content in authoring mode, the HTML for the placeholders within the page will be different. The placeholders are rendered in different modes by the placeholder server controls that are part of the ASPX template. Depending on the mode, the processing is slightly different.
We will start by looking into how the page is processed in presentation mode, and then discuss page processing in authoring mode.