Today, while I was reading the IBM WCM plugins documentation I found a plugin called The render parameter plug-in, which definition is formally:
Use the RenderParam rendering plug-in to access public and private render parameters from your web content.
Taken from The render parameter plug-in article in IBM Knowledge Center.
So, these questions came into my mind:
- what is it considered a “render parameter”?
- Any example or use case?
I asked these questions in our Slack Base22 channel, and here is what I got:
Technical Definition
Render Parameters are a Portlet 2.0 (JSR286) feature that allow for coordination between portlets and are useful for building composite applications out of portlet components. Portlet 1.0 only had the portlet application session scope for coordination (only usable within one portlet application, not across portlet applications). 2.0 introduced public render params providing greater ability for cross-portlet communication. IBM describes them as follows:
Public render parameters allow JSR 286 portlets to share navigational state information. They are specially useful for coordinating the multiple navigation or viewer portlets that display different information items that are all related to the same parameter name. The portal stores all portlet render parameters, including public render parameters, as an encoded part of the current portal URL. Therefore, public render parameters are correctly preserved by typical browser navigation actions such as the Back button and bookmarking.
Taken from Public render parameters article in IBM Knowledge Center.
Here is a conclusion, given by Cody Burleson:
My guess, therefore, is that the plugin allows you to intercept (parse) render parameters from the URL, which may have been sent to the page by some portlet on the same or another page. This was probably introduced most specifically in support of the Script Portlet.
The usefulness can be best understood from the example use cases found here in this article about Inter-Portlet Communication in IBM Script Portlet Using Public Render Parameters
In short: You can send data from one (IBM Script) portlet to another (even to another portlet on different portal page) and use the plugin in WCM to get a handle on the data that was sent.
Simple Possible Example: Script portlet 1 creates a menu. Script portlet 2 renders body of selected item. Content ID is sent from portlet 1 to portlet 2 via public render param.
Have you used this IBM WCM plugin? I will be glad to read more about it.
See you next time.