Showing results for 
Search instead for 
Did you mean: 

Java Fallback

Occasional Contributor

Java Fallback

Here's a question... how in the heck do you get a Windows Terminal Services bookmark to fallback to the Java client? The gotcha being that the bookmark is created by the user...

The way I currnetly have the devices setup, users log into their SSL VPN portal, click on a terminal services link (created from their portal account), and connect to their corporate desktop. If they are on Linux/Mac, this doesn't work because it does not fallback to Java. I can make the fallback work if I create the bookmark under a terminal services profile, but I don't want to do that because then the whole role is going to see their desktop link. I only want each user to see only their desktop via the bookmark... and I don't want them to have to type in IPs... and I want the fallback to work.



Re: Java Fallback

I think you need to create a separate role per user in this case... not exactly elegant and quite unmanageable if you have more than, say, 10 users... Smiley Sad


Re: Java Fallback

Looks like I've fixed it Smiley Happy

I've created a TS Resource profile that connects to PC-<USERNAME>.domain.tld, assuming that your hostnames include the username this should work. I've forced Java RDP app usage to test this, and it starts Java and connects to the PC-USERNAME.domain.tld.

Now, for me it ends here as I haven't set up ProperJava yet, so it starts whining about classes it can't find etc.

I've attached the XML, removed the ProperJava applet-HTML though.

Good luck!

Occasional Contributor

Re: Java Fallback

Good call... unfortuantely for me my LAN guys name the workstations with serial-number-like names. I suppose I could maintain an associative array in JavaScript to do a username-to-workstation-id match... I don't require fallback on ALL users, and the roles I created are per department, so this resource-profile could be created for that specific department(s) that needs that fall-back mechanism in place... I just don't understand why they don't make all the shortcuts available for fall-back... as awesome as this device is, there are several "features" that astound as to why they are not available.



Re: Java Fallback

Maybe you placed the workstation name somewhere in the AD user profile? As an LDAP attribute, I mean.

In that case you can retrieve the attribute and apply it to the Java HTML:

The following variables can be used in your HTML. They are replaced based on bookmark values.

In addition to these values, system variables can be used in the HTML. For example, <<userAttr.myServer>> can be used if you have myServer configured as an AD or LDAP attribute.

I really don't know if this will work, if it does: could you post the results back?


Occasional Contributor

Re: Java Fallback

I'll research that and see if I can get something like that to work.

In the meantime, the following seems to work (at least in FireFox).

<script type="text/javascript">
function getResolution() {
var heights = new Array('480','600','624','640','720','768','800','864','900','960','1024','1050','1080','1152','1200','1280','1392','1400');

var w = screen.width;
var h = screen.height;
var yourRes = w + 'x' + h;

var hIndex = heights.indexOf('' + h + '');

if (hIndex < 0) {
alert('Your resolution is ' + yourRes + ', however the VPN is not setup for it. Please contact support with this information and they will add it. You can continue using the default resolution if you wish.');
} else {
var dSize = 0;
var heightArrayIndex = heights.indexOf('' + h + '');
var nextArrayIndex = heightArrayIndex - 1;

while (dSize < 80) {
var heightSize = heights[heightArrayIndex];
var newSize = heights[nextArrayIndex];

dSize = heightSize - newSize;
document.write('<param name="geometry" value="' + w + 'x' + newSize + '">');

function getServer(x) {
var hostNames = new Array();

hostNames['userNameA'] = '';
hostNames['userNameB'] = '';
hostNames['userNameC'] = '';

document.write('<param name="Server" value="' + hostNames[x] + '">');

<applet code="com.elusiva.rdp.applet.RdpApplet.class"
codebase="<< CODEBASE >>"
<param name="code" value="com.elusiva.rdp.applet.RdpApplet.class">
<param name="codebase" value="<< CODEBASE >>">
<param name="archive" value="JavaRDP14-1.1.jar">
<param name="cabbase" value="">
<param name="name" value="ElusivaRDP">
<param name="username" value="<<USER>>">
<script type="text/javascript">getServer('<<USER>>');</script>
<param name="Port" value="<<PORT>>">
<script type="text/javascript">getResolution();</script>