This would work on Fluid pages or components at runtime.
Refer this for details on %Request.BrowserDeviceType
Not certain if it will work on signon Peoplecode.
JUst curious to know if if not returning the value on all devices and browsers or if it is specifically not working on chrome only?
Thanks for your response Rahul. Yes, it will work in components & pages but not in Signon peoplecode. As we want to track device only once per login we are trying it in Signon peoplecode but it is not working there irrespective of browser (Chrome/IE).
The BrowserDeviceType %Request property is based on the "User-Agent" request header. I'm pretty sure %Request.GetHeader("User-Agent") will give you the User Agent string in Signon PeopleCode.
Thanks for your response Jim. User Agent returns lot more parameters and it is not consistent across device/system. Therefore it is difficult for us to identify/extract value. Is there any other way to identify device type?
You are correct. User Agent string contains a lot of information. That information can be classified and organized by device type. In the early days of web development, it was quite common to parse the User Agent string to determine whether the browser was IE or Netscape, etc. You can find lots of user agent string parsing routines on the web. The most common approach is browscap, which is a project that attempts to identify all known User Agent strings. I thought PeopleSoft actually used browscap at one point, but I can't find proof in my current install.
One thought is to just log the User Agent string at log in, don't try to parse or analyze it. Do the parsing and analzying later, as you are reporting on logged and tracked information. This would be the most efficient approach as you don't want to add any processing to slow down the login. There are several language-specific libraries that will give you the DeviceType from a UA based on browscap.
I am just willing to know if you anyway find the solution to extract device type info from signon peoplecode.
Well As I believe its still not possible as at the time of login/signon, signon peoplecode get executed at the very first moment of login and there is no browser information until unless GET request is not executed. So may be if you fetch the value, it would more likely to be incorrect.
well peoplesoft delievered Application packages execute after GET request is executed.
But still if you are able to achieve it, please share with us, and it would be much useful and enhance the functionality.