This is an old revision of the document!
	
		|  Author  |   Jeremy Laidman   | 
	
	
		|  Compatibility  |  Xymon 4.x  | 
	
	
		|  Requirements  |  none  | 
	
	
		|  Download  |  None  | 
	
	
		|  Last Update  |  2015-09-29  | 
	
 
 
This is an enhancement to the footer template file, to auto-hotlink hostnames to support click-to-connect for ssh://, telnet//: and similar URLs.
An alternative is to create create “notes” files for servers (by creating a file in $XYMONVAR/www/notes/ called hostname.html) containing the links you require.
If ssh:// or rdp:// links don't work for you, please check out this link describing how to set them up and use them. 
 
 Copy the file into xymonbodyfooter.cfg alongside xymonserver.cfg.
 
 In xymonserver.cfg, set: XYMONBODYFOOTER=“file:$XYMONHOME/etc/xymonbodyfooter.cfg”
 
 Create COMMENT or DESCR strings in the form “…(connect: ssh, rdp, telnet)…”
 
By default, the “(connect …)” text will be removed, but this can be disabled by changing the replaceConnect value from 1 to 0 near the start of the file.
 
xymonbodyfooter.cfg
 <!--
  -- Adds hotlinks to connect to the server.  To use:
  -- Copy this into the file xymonbodyfooter.cfg alongside xymonserver.cfg.
  -- In xymonserver.cfg, set: XYMONBODYFOOTER="file:$XYMONHOME/etc/xymonbodyfooter.cfg"
  -- Create COMMENT or DESCR strings in the form "...(connect: ssh, rdp, telnet)..."
  -->
<!-- we pull in jquery and use it to manipulate the hostname to add links -->
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
        var replaceConnect=1;   // replace (connect:...) string, zero to disable
        jQuery('.line span').replaceWith(function() {
                var title=jQuery(this).attr("title");
                if (title == null) { return; }; // no title? nothing to do
                var url = jQuery.trim(jQuery(this).text());
                var servertext = jQuery.trim(jQuery(this).text());
                var svclist=[];
                var titlematch=title.match(/^(.*)\s*\(connect:\s*(.*)\)\s*(.*)/);
                if (titlematch != null) {
                        svclist=titlematch[2].split(/\s*,\s*/);
                        if (replaceConnect == 1) { title=titlematch[1]+titlematch[3]; };
                };
                var returnstr = "";
                for (var i=0; i < svclist.length; i++) {
                        svc=svclist[i];
                        // webby URLs open in new window
                        returnstr += '<span title="connect with '+svc+'">';
                        returnstr += ' <a href="' + svc + '://' + url + '"';
                        if (svc == 'http' || svc == 'https') { returnstr += '" target="_blank"'; };
                        returnstr += '>' + svc + '</a>';
                        returnstr += '</span>';
                };
                return '<span title="'+title+'">' + servertext + '</span>' + '<font size="-2">' + returnstr + '</font>';
        });
</script>
 
 
Known  Bugs and Issues