Posts Tagged ‘SITECATALOG’

The cscacheinfo and sscacheinfo fields of the SiteCatalog are populated with a CacheInfo string. We are now going to discuss about the syntax of the CacheInfo String.

It is a two-part, comma separated string.

  • The first part tells whether the page should be cached or not.
  • The second part tells about the expiration.

Following is the screenshot which we can see while creating a Template / SiteEntry:


The first part in CacheInfo must be one of the following values:

  1. False  –   If the value is false, then the page will not be cached.
  2. True  –   If the value is true, then the page will be cached according to the information provided in the second element.
  3. (blank)  –  If the value is blank, then Content Server will consult the futuretense.ini property cs.alwaysusedisk. If this property is set to yes, then a blank value will be interpreted as having the same behavior as true. If the value is set to no , then a blank value will be interpreted as having the same behavior as false.
  4. *    –     If the value is *, then it will be treated as blank.

The Second part tells us when the cached page should be removed from cache. If the first element is false, then the second element is ignored. There are Five ways of specifying the expiration of a page.

  1. Page Timeout (in minutes)
  2. Absolute Moment in Time
  3. Time Pattern
  4. Wildcard
  5. Blank

Page Timeout:  If the second element starts with ~, then the value following the ~ must be an integer. This is the number of minutes a page will remain in cache. A negative value or “0” indicates that the page will never expire.

Absolute Moment in Time: If the second element starts with @, then the value following the @ must be a date expressed in the JDBC date string format, namely, YYYY-MM-DD HH:MM:SS. After the particular date and time, the cached pages will be flushed from cache.

Time Pattern: If the second element starts with #, then the value following the # must be a valid TimePattern string as defined by the public class COM.FutureTense.Util.TimePattern. It allows you to specify expiration at a specific time or times every day, month,week, day of week, and year.

Wildcard: If the second element is *, then the page will assume a timeout expiration behavior, as
described in Timeout above. The timeout value will be read from cs.pgCacheTimeout property of futuretense.ini file.

Blank: If the second element is blank, then it assumes the same behavior of *.

In this way, we can set the Caching for a page, and its expiration time.

Stay Tuned…!!!

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.