WCM Menu Pagination ( or WCM Navigator Pagination)

1.     WCM Menu Results Pagination  (Navigator Results Pagination)

There is simple way to get the WCM Menu (WCM Navigator) results by passing the page number in URL.Pass following parameter to Menu Component or Navigator component in URL

WCM_Page.COMPONENTID=PAGENUMBER
               or
WCM_Page.COMPONENT_NAME=PAGENUMBER

E.g: We can simply navigate to different pages of WCM menu results using the simple URL like below

1.      Accessing the Library component directly


               or


2.      Accessing Content item that references the Menu/Nav component

or



(This approach helps to build applications with AJAX nature to load results on-demand instead of all results at once)






Simple Menu Configuration


2.     Dynamically Set the WCM Menu (or Navigator) Component page size

Similar to the WCM_Page  parameter, there is another parameter (WCM_PageSize)that we can pass to set the Menu or Navigator component page size as below

WCM_PageSize.COMPONENTID=PAGESIZE
               or
WCM_PageSize.COMPONENT_NAME=PAGESIZE

E.g: (Following example set the menu page size to 3 and get the second page of the menu results).

3.     Reset State of Pagination parameters

WCM stores these parameters in the session (if session exists), above examples are anonymous so WCM doesn’t store any information related to those and it returns whatever we pass in parameters.
But in authenticated scenario, if we set the page size in first request , then WCM persists that information and when you access another results page , it considered previously set page size and returns the results accordingly.

Following parameter is used to rest those previously stored parameter values
“WCM_Page.ResetAll = true” this will reset the state of above parameters


WCM Configuration Settings Specific To Virtual Portal

From WCM 8.x releases we can scope the WCM libraries to specific virtual portal , there may be lot of situations where you need configure different WCM Config Service settings specific to virtual portal.

For WCM Config Service settings, Navigate to

Resources > Resource Environment > Resource Environment Providers >WCM WCMConfigService > Custom properties.

1.     Setting unique configuration for each virtual portal

You can set this for either host name or context path
Host name:
vp.uniquename.hostname=ExistingVPHost

Context path:
vp.uniquename.context=ExistingVPContext

E.g: vp.hrportal.context=hrportal   (for hr virtual portal like /wps/myportal/hrportal/welcome)

2.     Defining virtual portal scoped configuration

propertykey.vp.uniquename= override_value

E.g:
a. For customizing the link generated in email for the specific virtual portal(hrportal)

wcm.authoringui.url.vp.hrportal= http://${WCM_HOST}:${WCM_PORT}/${WCM_WPS_CONTEXT_ROOT}/${WCM_WPS_PERSONALIZED_HOME}/hrportal/wcmAuthoring

b. Configuring subscriber only setting for virtual portal (hrportal)  

deployment.subscriberOnly.vp.hrportal = true

NOTE: default subscriber only value = false for all other portals(Base and virtual portals) except hrportal

3.     Settings specific to base portal

You can specify configuration specific to base portal only like below

E.g
wcm.authoringui.url.base = http://${WCM_HOST}:${WCM_PORT}/${WCM_WPS_CONTEXT_ROOT}/${WCM_WPS_PERSONALIZED_HOME}/wcmAuthoring

4.     Settings that are global

If you specify any setting without (.vp.uniquename) or  (.base) are applied across all portals (base and virtual portals).

If the base configuration for a setting is different from all the virtual portals, it is more efficient to use a base override setting. To do this, add this setting:enable.base.portal.overrides=true

Reference
http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/wcm/wcm_config_scoped_vp.dita?lang=en

WCI Consumer Orphans Sitearea

By default WCI (Web Content Integrator) will create the “Consumer/Orphans” sitearea whenever we consume the feed.

WCI uses this sitearea to store the WCM objects whose parent is unknown during the first parse and it tries resolve parents during reprocess next time (Creates mostly when feed contains the <ibmwcm:parents> and <ibmwcm:children> elements for siteareas, contents or category taxonomy’s)

You can configure this sitearea information in WCMConsumerPlugin.properties file.
orphans.container=/Consumer/Orphans

WCI (Web Content Integrator) configurations can be located at

<WP_profile_root>/PortalServer/wcm/shared/app/config/WCMConsumerPlugin.properties

WCM Element tag - Displaying Component ID of Component Reference Element

We use the [Element] tags to display the content elements information in design section of components. Following option will display actual component id of the referenced library component instead of element ID.

[Element context="autofill" type="content" key="Banner-Image " format="id"]


format="id" option will display actual component id of attached Banner-Image

Scenario :
1.      Authoring template (AT-test) has the component reference element
2.      Author created content with authoring template (AT-test) and referred the image component for the component reference element from the library components
3.      Menu/Nav component iterating through contents created using AT-Test but want display the component of actual image component ID instead of element id.

This is useful option but infocenter missing this in documentation

Reference:
http://www-01.ibm.com/support/knowledgecenter/SS3JLV_8.0.0/wcm/wcm_dev_referencing_elements.html?lang=en

Escape Character for the Exclamation Mark and Caret Symbols in JVM arguments

When you are passing the "!" in the JVM arguments use "^" carot symbol for escaping exclamation mark.

E.g:
1. When you are passing jvm argument like  -Dcert.pwd=test!23 


NOTE: for escaping caret ^ , use another caret i.e. "^^" --> "^"