Posts Tagged ‘element’

Today, we will see the significance of ElementCatalog and SiteCatalog tables, which we might have seen at many situations.

Firstly, the ElementCatalog and SiteCatalog are two important tables which are present in the Content Server Database.

When we code a Template or a CSElement, the actual ELEMENT is stored in the ElementCatalog table. That is, the code which write (JSP / XML / HTML) will be stored in this ElementCatalog table.

When we give a name for the Element, either in the Template creation, or SiteEntry creation, the PAGENAME will be stored in the SiteCatalog table. That is, the SiteEntry holds the names of the pages and pagelets.

Hence, Each row in the SiteEntry points to an entry in the ElementCatalog.

The Element in the ElementCatalog is called the ROOT ELEMENT, which is being pointed by the Page in SiteCatalog.





We will see how the process of rendering happens, basing on the page name being requested through browser.

  1. I have entered the following URL in the browser.
  2. Here, the page name is MySite/Home.
  3. Content server looks up the SiteCatalog table for the entry : MySite/Home
  4. From there, basing on the entry,  it will invoke the corresponding entry in the ElementCatalog table.
  5. The Element is executed. If caching is enabled, the output is cached.
  6. Output is rendered in the browser.

In this way, the SiteElement and ElementCatalog form crucial part in rendering the pages.

Many a times, while programming in FATWIRE, there will be a confusion about the usage of the appropriate tag, when try to call a TEMPLATE, or CSELEMENT, or SITEENTRY assets. This article makes a point to clear that confusion. We will now see which tag to be used appropriately for the above said assets.

1.  As a SITEENTRY is a pagelet, we need to call it with a tag, that renders pages. RENDER.SATELLITEPAGE is the tag that is used to call the SiteEntries from our code.

2. Since a CSELEMENT has a piece of code, and itself is an Element, we need to use a tag that renders Elements. RENDER.CALLELEMENT is the tag that is used to call the CSElements from our code.

3. Since a TEMPLATE is both (Has a Page name, and has Element,i.e, code), it can be called bye both the above said tags. However, Fatwire has given another tag, especially for calling the Templates. RENDER.CALLTEMPLATE is the tag that is used to call a Template from our code.