Posts Tagged ‘template’


A Template is used to create a Page and defines which components can be used within the selected scope. A Template is a hierarchy of nodes that has the same structure as the page to be created, but without any actual content. Each Template will present you with a selection of components available for use.

Templates are built up of Components. Components use, and allow access to, Widgets, which are used to author/render content. A Template is the basis of a Page. To create a Page, the Template’s content must be copied (/apps/<application name>/templates/<template name>) to the corresponding position in the site-tree.


CRXDE Lite is embedded into CQ5/CRX and enables you to perform standard development tasks in a Web browser. With CRXDE Lite, you can create and edit files (e.g. JSP, Java, HTML, etc.), folders, Templates, Components, Dialogs, nodes, properties, and bundles; all while logging and integrating with SVN.

CRXDE Lite is recommended when you do not have direct access to the CQ/CRX server, when you develop an application by extending or modifying the out-of-the-box Components and Java bundles, or when you do not need a dedicated debugger, code completion and syntax highlighting.

Page-rendering Component:

Components are modular, re-usable units that implement specific functionality/logic to render the content of your Web site. They have no hidden configuration files, can include other Components, and can run anywhere within CQ5 or in isolation (e.g. portal).

A Component could be described as a collection of scripts (e.g. JSPs, Java servlets, etc.) that completely realize a specific function. More specific, a “Page” Component is typically referenced by a Template.


A Page is where content authors will create and edit content that will most likely be published and viewed by site visitors. It is an exact copy of the Template from which it was created.

Fatwire Interview Questions:

Fatwire Interview Questions” is one of the most frequently googled search term in Google. Hence, I’m coming today with a list of Fatwire Interview questions. The same will be applied for Oracle WebCenter Sites as-well.

Note: These are the questions which I’ve faced from most of the interviewers.

  1. What are the different versions of Fatwire that you have worked on?
  2. Explain difference between Basic Asset Model and Flex Asset Model?
  3. Explain difference between CSElement and Template?
  4. Explain about templates and its need in Fatwire CMS?
  5. Explain how will you handle multi-level languages in Fatwire?
  6. Explain about Asset and Asset Type?
  7. Explain about the Basic Asset Model?
  8. Explain about the Flex Asset Model?
  9. Explain about Rendering?
  10. Explain about different Publishing methodologies?
  11. Explain about the types of publishing Fatwire supports?
  12. Explain about Roles and ACLs?
  13. Explain about Attribute Editors and how will you create Attribute Editors?
  14. Explain about Workflow?
  15. Explain about the default asset types of Fatwire?
  16. Explain the use of Page Asset Type in Fatwire CMS?
  17. Explain the use of CSElement, SiteEntry and Template Asset Types?
  18. When will you use asset:getattributevalues and assetset:getmultiplevalues?
  19. What are the limitations of the tag assetset:getmultiplevalues?
  20. What is the difference between asset:list and assetset:getassetlist tag?
  21. How will you perform Error handling in JSP?
  22. What happens behind the scene when I hit an URL and invoke a page in Fatwire CMS?
  23. I want to know how many flex assets are available in my Article AssetType. Is it possible to know that? If so, how can we know that?
  24. Explain about the Recommendations, Collections, Queries, Segment, and Promotion?
  25. How to re-use the asset types that are present in one site, in another site?
  26. Explain about XMLPost and BulkLoader utilities?

Happy Job Hunting…. 

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…!!!

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.