In today's blog I will discuss some additional Administration Tips and Tricks with IBM Digital Experience.
1. Speed up deployments
a) Seeing a constantly growing JCR database and deployments taking a long time in 8.0 or 8.5?
The reason could be the versioning and storage of page changes in WCM due to Managed Pages. With Managed Pages every page change is versioned into the JCR database. If deployments are performed frequently the amount of data can grow in the db and the storage of pages can take time.
There are multiple options to solve this:
- if managed pages are not required, the Managed Pages feature can be disabled. See the following for details: http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/wcm/wcm_config_mngpages_disable.dita?cp=SSHRKX_8.5.0%2F0-4-5-4-1&lang=en
- if Managed Pages are required, versioning of pages can be disabled by setting the following configuration:
In WAS AdminConsole Resources->Resource Environment->Resource Environment Providers->WCM WCMConfigService->Custom properties
Existing versions can be removed with the Version Cleaner. See the following for details: https://www.ibm.com/developerworks/community/blogs/portalops/entry/cleanup_of_wcm_versions?lang=en
b) Cluster Deployments
If in a cluster the deployment of portlets requires a distribution among the cluster nodes and the actual processing happening on the Deployment Manager. Ensure that the Deployment Manager has at least 2 GB of max heap and node agents having at least 500 MB of heap to speed up the deployment.
If a script is used to activate portlets in a cluster ensure to not activate the default portlets but just the ones that were really deployed.
2. Parallel Portlet Rendering in version 8.5
While Parallel Portlet Rendering has been deprecated in version 8.5 it is still supported and can be used. To enable a portlet to render in parallel the option cannot be set any more in the user interface of the manage portlets portlet but needs to be configured with XMLAccess. The parallel=true option needs to be added to the portlet. Sample below:
<preferences name="parallel" update="set">
3. Fragment caching of WCM portlets across anonymous and authenticated users
When using the same page that has some WCM portlets on it for authenticated and anonymous users and configuring fragment caching with the content shared across users this means that the authenticated and anonymous users will share the same cache entry. That can be an issue in case there are references to static resources in WCM as those would be addressed via the /wcm/myconnect authenticated URL that the anonymous user cannot access.
Options for solving this issue:
- having different pages for authenticated and anonymous users
- cloning the WCM portlet and having one portlet for authenticated users and one for anonymous users on the same page (using access control to let all authenticated see one and anonymous users the other)
- encoding URLs to the static resources via the /wcm/connect anonymous URL since it will work for all users
4. Avoid mixing cachable and non-cachable resources
For best performance the cachable part of the request should be kept separate from the non-cachable one. This holds true e.g. for page caching when the whole page should be cached at the browser but a small part - e.g. the user name is not cachable. Another sample is having a WCM portlet that loads content that is the same across users but also loads the ID of the user.
AJAX requests are a good way to solve the dilemma - so the parts of the resource that can be cached should be loaded and the non cachable part can be fetched and integrated via an AJAX call.
When designing a site think about which parts of the use case provide the same data across users and plan for caching of those.
5. Addressing WCM artifacts from the browser
When addressing a WCM item - either content or a component like a menu from the browser the following documentation explains how to build the URL:
Alternatively it is also possible to use the preview option in the Authoring UI - note that the cache parameters should be removed to use the default caching.
A new way was provided with 8.5 CF5 - the Content as a Service page concept allows you to address content with different mime types.
See the following for details: http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/wcm/cntnt_serv_pgs.dita?lang=en
6. Cache Viewer portlet for WebSphere Portal 7.x and WebSphere Portal 6.1.x on WAS 7.x
While the Cache Viewer portlet for version 8.0 and 8.5 is available on the Portal Catalog the link below has the portlet for version 7 and version 6.1.x on WAS 7.x.:
As always the following limitations apply:
Thanks to Martin Presler-Marshall for making this portlet available.