Hi All,
In ADF and webcenter applications sometimes we have a requirement to show custom session time-out message.I have tried A team article approach as mentioned but this is not working for me in webcenter 11.1.1.8 not even in portal framework or run time portal. So I have tried something to handle this. In ADF application normally we have a popup before session time out and one after the session is expired.
So I need to disable standard warning message for expiry. I did that like below.
To disable to warning for session time out –
Add these entries in web.xml as
< context-param > < param-name >javax.faces.STATE_SAVING_METHOD</ param-name > < param-value >client</ param-value > </ context-param > < context-param > < param-name > oracle.adf.view.rich.sessionHandling.WARNING_BEFORE_TIMEOUT </ param-name > < param-value >0</ param-value > </ context-param > |
Fair enough. Now you will not see any ootb warning before session time out.But I need a customized session time out popup.Following is the solution for that.
Add this code in the your page template for ADF and webcenter application.
< af:resource type = "javascript" > var timeoutID; resetTimeout(); function resetTimeout(){ if( timeoutID ) clearTimeout( timeoutID ); timeoutID = setTimeout( ShowTimeoutWarning, 1500000 ); // this is popup will come if user is idle for 25 minutes(25*6000) } function ShowTimeoutWarning() { var popup = AdfPage.PAGE.findComponentByAbsoluteId('pt_p1'); popup.show(); } document.onkeyup = resetTimeout; document.onkeydown = resetTimeout; document.onclick = resetTimeout; </ af:resource > |
and in the page template add a popup.You can also skin your popup as you like through normal skinning.
< af:popup id = "pt_p1" animate = "default" > < af:dialog id = "tod" title = "Warning" closeIconVisible = "false" type = "ok" > < af:outputText value = "You session will expire in next 5 Minute." id = "pt_ot1" /> </ af:dialog > </ af:popup > |
Thats it. You can try this in ADF , webcenter portal framework and or runtime portal too.
Happy learning with Vinay in techartifact.