Tuesday 6 December 2011

IBM WCM pre-rendering

Pre-rendering Introduction
Lotus Web Content Management (WCM) websites can be delivered in the following  ways –
1. Through the Web Content Management servlet.
2. Through a local rendering portlet using the local portal server.
3. Through a remote rendering portlet located on a separate portal server.
4.Through a pre-rendered site using the local Web server.

The first three methods of delivering a WCM website is commonly known as dynamic
rendering or dynamic delivery as these methods serve content directly from the WebSphere Portal server.
It is possible to take a snapshot of the entire website as static HTML files. This process is
referred to as WCM pre-rendering and the static website generated is known as the prerendered website.
These static pre-rendered files can be delivered by the WCM server or by the HTTP web
server. This improves the website delivery performance as the pages are not dynamically
rendered on the fly. 

Pre-rendering:-
The pre-rendering process takes a snap shot of the entire WCM website and saves the site
as static HTML files. These static pre-rendered files can be delivered by the WCM server
or by the HTTP web server. This improves the website delivery performance as the pages
are not dynamically rendered on the fly.
Consider pre-rendering a website in the following circumstances –
• When the WCM website content does not change very frequently
• When the WCM website content is public
• When the WCM website does not use WebSphere Portal personalization
• The Page navigation component and Search component are not being used in the WCM website 

<was_profile_root>/PortalServer/wcm/shared/app/config/wcmservices/WCMConfigServ
ices.properties file that are related to the pre-rendering. Please note that these property
values displayed here are taken from a default WCM v6.1 installation environment when
no pre-rendering options were configured.
#######################################################################
########
# 3a. Default Module Configuration - START
#######################################################################
########
connect.businesslogic.module.default.class=com.aptrix.pluto.renderer.Re
ndererModule
connect.businesslogic.module.default.remoteaccess=true
connect.businesslogic.module.default.autoload=false
#######################################################################
########
# 3a. Default Module Configuration - END
#######################################################################
########
#######################################################################
########
# 3c. Prerendering - BEGIN
#######################################################################
########
# Cacher Module (as default)
#ensure that RendererModule is commented out
#connect.businesslogic.module.default.class=com.aptrix.cacher.CacherMod
ule
#connect.businesslogic.module.default.remoteaccess=true
#connect.businesslogic.module.default.autoload=false
connect.businesslogic.module.cacher.class=com.aptrix.cacher.CacherModul
e
connect.businesslogic.module.cacher.remoteaccess=true
connect.businesslogic.module.cacher.autoload=false
connect.moduleconfig.cacher.destdir=${WCM_ILWWCM_HOME}/ilwwcm/cacher
connect.moduleconfig.cacher.tempdir=${WCM_ILWWCM_HOME}/ilwwcm/cacher/te
mp
connect.moduleconfig.cacher.delay=1
connect.moduleconfig.cacher.busydelay=5
connect.moduleconfig.cacher.busystart= 9:00 am
connect.moduleconfig.cacher.busyend= 5:00 pm
connect.moduleconfig.cacher.overwritecache=true
connect.moduleconfig.cacher.defaultcontentname=index.html
connect.moduleconfig.cacher.rendereruser=Anonymous
connect.moduleconfig.cacher.task.cacherurl=http://${WCM_HOST}:${WCM_POR
T}/${WCM_CONTEXT_ROOT}/connect/
connect.moduleconfig.cacher.task.servletpath=/connect
connect.moduleconfig.cacher.task.sites=[SiteA],[SiteB]
connect.moduleconfig.cacher.task.interval.recurrence=10
connect.moduleconfig.cacher.task.interval.startdelay=1
connect.moduleconfig.cacher.task.scheduled.times= 3:00 am
#######################################################################
########
- 437 –
# 3c. Prerendering - END
#######################################################################
########

Configuring pre-rendering
The pre-rendering process can be configured to deliver the WCM website as static HTML pages in the following two methods –
• Pre-rendered website delivered from the WCM server
• Pre-rendered website delivered from the HTTP web server

1) Configure Pre-rendering for website delivery from the WCM server 
With this option, WCM saves static content as HTML files and dynamic content is rendered through the WCM server. This helps improve delivery performance.
Note: You cannot use the WCM local rendering portlet (Web Content Viewer) when prerendering
is set as the default module.

To configure this option modify the following values in the WCMConfigServices.properties file -
Ensure that the following line is commented out:
connect.businesslogic.module.default.class=com.aptrix.pluto.renderer.RendererModule

Ensure that the following line is NOT commented out:
connect.businesslogic.module.default.class=com.aptrix.cacher.CacherModule

Users can access the WCM website using the following URL -
http://[host_name]:[port_number]/wps/wcm/connect/[library_name]/[site_name ]

2) Configure Pre-rendering for website delivery from the HTTP webserver
With this option, WCM saves a snap shot of the entire WCM website as static HTML files. The pre-render website requires a HTTP web server to deliver the website content.To configure this option modify the following values in the WCMConfigServices.properties file -

Ensure that the following line is NOT commented out:
connect.businesslogic.module.cacher.class=com.aptrix.cacher.CacherModule

Access to the pre-rendered website is available from the HTTP web server and the URL
depends on web server configuration.Please take care when using connect tags and JSP components when using this option as they will not be rendered.


Pre-rendering Limitations
This section identifies some of the limitations of using pre-rendering and will help you identify the right scenario to use this as an option to deliver WCM websites.
• Pre-rendering takes a snapshot of the WCM website and all users see the same content. Hence a site that is personalized can't be pre-rendered.
• The path to the content item (including the directory path you are pre-rendering to - Site/SiteArea/Content) can not exceed the operating system's maximum path length:
• 255 characters in Microsoft Windows.
• 1024 characters in Linux.
• Invalid Characters in Site, Site Area or Content Names: Sites, Site Areas, and Content obejcts can not contain characters that are considered invalid in filenames by the operating system you are prerendering to. E.g. - In a Microsoft Windows environment, these characters are invalid: / \ : * ? " < > |
• The pre-rendering process is configured to run as a user (connect.moduleconfig.cacher.rendereruser ) and hence the website snapshot is taken as per the access privileges available to the selected user.
• It can take a long time to pre-render a large site and while the site is being prerendered and WCM authoring portlet users may experience being locked out of the system until the pre-rendering process is completed.
• The entire site must be pre-rendered before it can be used, otherwise users will
experience broken links.


No comments:

Post a Comment