Focal Point
[Solved] Custom WF_SIGNOFF result (via WFservlet)

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/528102941

June 13, 2009, 05:30 AM
Clinton Side-Kick
[Solved] Custom WF_SIGNOFF result (via WFservlet)
We have migrated a customer from WF537 to WF768. The migration was particularly smooth considering the leap forward. Some legacy coding had to be altered (CGI calls to WFServlet calls etc.).

In their SS apps, the users have a "WebFOCUS Logoff" option, this used to call WF_SIGNOFF via CGI. The resulting htm page was customized and confirmed that the user has successfully logged off from WebFOCUS.

With the upgrade they no longer use CGI, instead WFServlet is used. However the dynamic XML result page when logging a user off from WebFOCUS by calling WF_SIGNOFF does not seem to be customizable...
To date I have not been able to customize this behaviour and divisions position is that the XML result is the expected behaviour...
ditto...
The customer still wants a custom logoff confirmation page...
There are a couple of cases logged, mostly with a vague suggestion of modifying the applaunchFunc.js file, which is by the way not supported ;-)
Anyone with suggestions out in the field will be appreciated.

This message has been edited. Last edited by: Clinton Side-Kick,


--------------------------------------------------------------------------------
prod: WF/AS 8.2.05; OmniGen;
In FOCUS since 1991
June 15, 2009, 09:36 AM
dhagen
What is the full URL to logoff?


"There is no limit to what you can achieve ... if you don’t care who gets the credit." Roger Abbott
June 15, 2009, 11:53 AM
Francis Mariani
Tech Support "Known Problem" for v7.1 and older: WF_SIGNOFF does not show logoff screen when using WFServlet

quote:

Description:

WF_SIGNOFF action does not show logoff screen when using WFServlet as defined
in \ibi\client52\wfc\etc\enib00e.html (for WebFOCUS 52x only).

Using CGI, all is fine.

Workaround:

Use CGI


Of course, I don't know if this "known problem" is resolved for versions after v7.1.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
June 15, 2009, 02:56 PM
Clinton Side-Kick
The URL being called is:
http://hostname/ibi_apps/WFServlet?IBIWF_action=WF_SIGNOFF  


The resulting XML page is:
  <?xml version="1.0" encoding="ISO-8859-1" ?> 
- <ibwfrpc name="WF_SIGNOFF">
  <returncode>1000</returncode> 
  </ibwfrpc>  


This is a clear message, however not in the format that the customer wants to present to their users Frowner

And CGI is not an option...


--------------------------------------------------------------------------------
prod: WF/AS 8.2.05; OmniGen;
In FOCUS since 1991
June 15, 2009, 03:04 PM
Francis Mariani
I would do what Alan suggested here by running a JS function to delete the WF cookies and navigate to a customized logoff page.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
June 15, 2009, 05:05 PM
Francis Mariani
Example WebFOCUS Signoff for Self-service apps:

<html>
<head>
<title>WebFOCUS Signoff</title>
<script type="text/javascript">

/*
Copied from http://www.quirksmode.org/js/cookies.html

Tried many different scripts found on the web, this is the only one that works

*/

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function WFSignoff()
{
eraseCookie('IBIC_user');
eraseCookie('IBIWF_language');
eraseCookie('WF_SESSIONID');
eraseCookie('WF_COOKIE');
eraseCookie('WF_USER');
eraseCookie('WF_VIEWER');

//alert(readCookie('IBIC_user'));
//alert(readCookie('IBIWF_language'));
//alert(readCookie('WF_SESSIONID'));
//alert(readCookie('WF_COOKIE'));
//alert(readCookie('WF_USER'));
//alert(readCookie('WF_VIEWER'));
}
</script>
</head>

<body onLoad="WFSignoff();">

You have logged out of WebFOCUS.

<a href="/approot/baseapp/ss_login.html">Login</a>
</body>
</html>



Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
June 16, 2009, 03:46 AM
Clinton Side-Kick
Francis,
Thank you, you have contributed a huge amount by supplying this example page.
Merci vielmal!
Kind regards
PS:"Whoever indicates that a thread is solved, this one is Smiler"


--------------------------------------------------------------------------------
prod: WF/AS 8.2.05; OmniGen;
In FOCUS since 1991
June 16, 2009, 08:14 AM
<JG>
You started it. You are the only one (administrators excepted)that can mark it as solved.

Edit it and change the topic to indicate [Solved].