What is Client Side Channel Rendering (CSCR)?

Updated: October 3, 2007
What is Client Side Channel Rendering (CSCR)?
CSCR is an approach and concrete implementation for asynchronously rendering individual portal channels without re-rendering the entire portal response. CSCR allows the web browser to retrieve updated channel content, especially in response to user interaction with a particular channel, without refreshing the whole portal page. This significantly improves portal performance and the responsiveness of the user experience. CSCR is AJAX-like but predates the modern AJAX frameworks and approaches, and in particular is inline-frame-centric rather than div-centric.

Unicon developed CSCR and included it in the Academus product and has released it as Free and Open Source Software in the Toro open source project.

CSCR requires use of a frameset which is not apparent to users of mainstream web browsers with the most common configuration, but which is more apparent to and potentially annoying to users of screen readers and other specialized browser technology. This can result in a poor user experience for users of these browsers. To mitigate this, in later versions of Academus and in the software available in the free and open source Toro project, Unicon introduced the ability for individual end users to disable CSCR in the context of their particular portal session, which manifests as a prominent hyperlink in the experience of screen reader users that is not prominent or even displayed to other users. Display of this link became more sophisticated in subsequent Academus releases. There is a knowledge base article discussing applying skinning to that preferences feature to provide good user experiences to all users, screen readers or not.

Individual end users can disable CSCR for their particular session in the latest Academus releases. Additionally, in all Academus releases including the technology, CSCR can be disabled portal-wide via configuration in academus-portal.properties. The controlling property is "net.unicon.portal.cscr.useCSCR"; set it to "false" to disable CSCR.

      
# In order to use Client-Side Rendering you MUST configure the following
# property in protal.properties.
#      -org.jasig.portal.PortalSessionManager.allow_repeated_requests=yes
# Or else you will have odd behavior
#
# enable Client-Side Channel Rendering
net.unicon.portal.cscr.useCSCR=true
# specify the CscrBrowserRegistry's polling cycle time (in seconds)
net.unicon.portal.cscr.CscrBrowserRegistry.workerCycle=300