With Workplace Web Content Management (WWCM) 6.0.1.3 API , the performance had been not as expected. To give a scenario, following are the implementation steps for retrieving a piece of information:
- Retrieve user’s workspace
- Get Authoring Template Id
- Retrieve Site Area Id
- Content Search based on Authoring Template, Site Area
- GetIds of all the content list retrieved from Content Search
- Retrieve Content based on specific requirement from the Content Search result
- Return back the content item
The average amount of time taken is between 0.4 to 0.6 seconds. Out of which % of time taken for retrieving Document Ids for Authoring Template and Site Area forms 50 % of the time to retrieve information. So, if a portlet/page has 6 calls for content, the total time for just WCM is between 2.4 to 3.6 seconds which doesn’t meet SLAs for a page load. This basically lead to defining WWCM Site Structure caching design pattern.
Key Aspects:
- WCM works on the principle of Document Ids. Whether it is a category or a Site Area or Authoring template or content itself, each individual has a unique id within the system
- Utilizing the above concept and initial analysis of the APIs, calls like getById(), findByName() are taking bulk of the response time which are required to extract WCM structure information before actually searching for content keys
- Caching the WCM site structure ids within dyna cache for ever so that retrieving the WCM structure could be fast to search content within them
- Caching can be proactive or reactive
Unknowns:
- There could be potential unknowns that are still to be explored
Futuristic:
- As WCM base works on Document Id, this pattern holds good for future WCM versions till the underlying technology changes

WCM Site Structure Caching Pattern
Advantages:
- Generic WCM structure caching without any parameter specific – User Role, Product Type etc.
- WCM Site structure and design artifact ids doesn’t change
- Content changes will be reflected without any cache flush
- Dyna cache size will be in control
- Drastic % improvement in retrieving site structure (almost 50%)
My thoughts are that this caching strategy will work in any scenario and it is not an overhead. What are your thoughts about it?
0