Hide the ‘Windows 7 is not supported’ message January 27, 2010
Posted by Duncan in PeopleTools 8.50, PIA, Windows.trackback
If you’ve been using the latest version of PeopleTools with any version of Windows 7 (which is becoming more prevalent) then you’ll have seen this error message many times:
Now I’m all for being warned if I’m doing something unsupported and I know Windows 7 isn’t supported yet, but probably will be in the near future. I’m not going to swap my client OS just to keep the PIA happy, but I don’t want to be warned every single time. Also, it’s not a very well formatted error message as it throws out the alignment of the logon screen and it just looks a little messy.
I wasn’t going to do anything about my niggly annoyance until someone else wondered how to remove it then it piqued my curiosity.
As far as I could see there are two ways to fix this, find a way of adding Windows 7 to the supported OSes, or hide the warning message.
I tried many variations of OS codes in the browser.xml file as that appears to be where the supported OSes are read from (the sharper eyed among you may have noticed that I’ve added Windows 7 to the list in the above screenshot). This had no effect however, so I admitted defeat in trying to fix the cause and resigned myself to just trying to hide the symptom.
The HTML behind the signon page is ‘signin.html’ within ‘<PIA_HOME>\webserv\<domain>\applications\<site>\PORTAL.war\WEB-INF\psftdocs\<node>’. We can’t just comment out the error sections as we only want to hide this specific error message, other errors like ‘invalid password’ we still want to see.
The first step is to hide the browser error message. Search for ‘id=”browsercheck_error”‘ and you’ll see this section. Comment out as shown.
<div style="text-align:center">
<h1 id="error_img" style="display:none"><a id ="error_link" href="javascript:setFocus();" tabindex="1"><img src="<%=psCtxPath%><%=psHome%>/images/PT_LOGIN_ERROR.gif" alt="<%=130%>" border="0"/></a></h1>
<h2 id="login_error"> <%=error%> </h2>
<h2 id="discovery_error"> <%=ps.discovery.error%> </h2>
<!--<h2 id="browsercheck_error" style="text-align:left"> <%=browserCheck%> </h2>-->
</div>
This prevents the text from showing, however we also want to prevent the warning image being displayed for this warning also.
Search for ‘setErrorImg’ and you’ll see this function. Comment as shown and add the line below.
function setErrorImg()
{
var login_error = document.getElementById('login_error').innerHTML;
var discovery_error = document.getElementById('discovery_error').innerHTML;
/*var browsercheck_error = document.getElementById('browsercheck_error').innerHTML;*/
var browsercheck_error = "";
login_error = login_error.replace(/^\s+/,""); // delete leading spaces
discovery_error = discovery_error.replace(/^\s+/,"");
browsercheck_error = browsercheck_error.replace(/^\s+/,"");
if (login_error.length != 0 || discovery_error.length != 0 || browsercheck_error.length != 0)
{
document.getElementById('error_img').style.display = 'block';
document.getElementById('error_link').focus();
}
else
setFocus();
}
Bounce your PIA and now the message won’t be displayed when you use Windows 7, however other error messages will still appear as desired.
Note: Updated 27th Jan after Jim Marion’s suggestion below on my incorrect commenting syntax.
Comments
Sorry comments are closed for this entry
Duncan, you are 99% of the way there. In your setErrorImg function, though, the appropriate block comment is /* followed by */. You should replace the (which should be throwing JavaScript errors) with /* and */
Now, I haven’t tested this, but it seems that you could modify the onLoad event to store “” in a JavaScript variable. If browserCheck contained data, then you could test the user agent or oscpu (window.navigator JavaScript object) and display the message accordingly. This would allow you to still catch unsupported browsers.
Thanks Jim, you’re spot on as always. I’ve amended the post to contain the correct commenting syntax. I really should invest in a JavaScript for Dummies book …
Absolutely Duncan, I recommend that every PeopleSoft developer learn JavaScript. JavaScript makes up a significant portion of the PeopleSoft user interface. I would have to disagree, though. You don’t need a JavaScript book for Dummies.
My new book devotes 3 chapters to JavaScript. Hopefully it will provide some help. It certainly isn’t a JavaScript tutorial, but will prove useful to the PeopleSoft developer.
That’s a very nice workaround. Do you know if this is not supported because not yet tested, or because some unexpected behaviour comes out ?
Nicolas.
Thanks! This is a great catch and very good workaround. I plan to pass it on.
[…] here for more […]
Nicolas,
I’ve been using Windows 7 (Release Candidate) with the PIA for 6 or 8 months now and I’ve not had a single problem. So although it’s not officially supported as a client I’m quite happy using it.
To be honest most website issues are usually down to browser capability rather than the OS.
Duncan
Is this only a “problem” with Tools 8.50? We’re running Tools 8.49 and have quite a few Win7 Prod x64 clients (including my own PC on which I do my PS maintenance and development) and have never seen this message. Nor have I had any issues with IE8 on Win7.
Sure enough, I just got my first Tools 8.50/Financials 9.1 demo environment up and running and now I’m seeing this error on my Win7/IE8 desktop. Guess I’ll try your workaround, thanks!
Yes, I think it’s just the latest version.
At my shop we are on Tools 8.47.x (.13 on Portal 8.8 and .10 on HRMS 8.9 and Financials 8.9). My boss was just given a new machine by our helpdesk that is Windows 7 and IE 8. IE 8 and Windows XP has never given me any issue with PeopleSoft, but I only have that on my home box. At work, I use IE 7 and Windows XP (though I’m probably going to up it IE 8 at some point). In any event, my boss is currently having an issue with ePro. I am 80% sure it’s a Windows 7 issue, as we’ve recently changed over to full SSL (we’ve made it SSL only through the web profile on all Production environments). From what CC is telling us, we might have to put the URL that points to Financials in a servlet that is giving us this issue. I’ve tested in development and it seems to work, but have not tested it with the boss on her machine, as she’s the only one with Windows 7. No other users are experiencing this, as they are still on XP and have been using ePro happily. I am of the opinion that while Windows 7 is not supported by Oracle, I am just going to try and make it work. I am just letting folks know that there are some issues with Windows 7 at least in Financials. We are planning to upgrade (reimplement) to PeopleTools at some point as we’re getting brand new hardware, O/S etc for a new Production environment. But we’re dealing with this issue now. I’ll know more tomorrow as she will give me some time to deal with this and will let you know.
This warning message will disappear within Peopletools 8.50.11, see note Oracle Completes Windows 7 Certification for PeopleSoft [ID 1128878.1].
Nicolas.
Nice spot. I guess the similar ‘unsupported browser’ will remain for those of us that like Chrome (due to it’s speed of navigating PeopleSoft).
An easier way to get the same effect is simply to delete
from within the h2 tag. That will stop the warning message being written to the page and there’s no need to modify the setErrorImg function.
Hmm, I was wondering whether the comments here would allow angle brackets. I guess not!
The missing line from my comment above is:
[%=browserCheck%]
– just imagine the square brackets are angle brackets.
Duncan – Really a good one. I received the same error message and ended in your blog, while searching for a solution. Your initial research made me to do little more experiment with browser.xml, before implementing your workaround.
In the browser.xml, copy and paste the entries for Windows 6.0 (for Windows Vista). Change the name to Windows NT 6.1 and change the description to Windows 7. Save the changes. Restart PIA. It did the trick.
Please be noted that the real version number of Windows 7 can be found at HKLM\Software\Microsoft\Windows NT\CurrentVersion – reg entry CurrentVersion – in your windows registry.
May be it is a good idea to make this changes to non production, but I would recommend not to do for production as there may be some features may not work in 7 as they are not supported by oracle and the users may not complain if they see this warning.
How ever the warning does not stop logging in.
Good workaround!
Thanks.
That workaround helped . We are testing this before getting it to production
Just to confirm that this is an issue in 8.51.12 too.