Virtlab:Applet

Z VirtlabWiki

Přejít na: navigace, hledání


Obsah

Základní informace

Jako terminálový applet je použit a uprafen applet ze stránek http://javassh.org. Tento applet je napsám velice modulárně a umožňuje připojení nejen tak jak je využívan ve Virtlabu, tzn. posílání clear textových informací, ale také se může bez optíží připojovat k TELNET serverům a SSH serverům, vše záleží je na nastavené v konfiguračním souboru Default.conf.

Applet pro svůj běh používá konfigurační soubor Default.conf. Tento musí být umístěn ve stejném místě jako balík appletu. Dalším konfiguračním souborem je b1.conf, ten definuje tlačítka a menu zobrazena v appletu. Konfigurační soubor tlačítek je v současné době umístěn přímo uvnitř baílku appletu, kvůli bezpečnosti provozu. Počítám s tím, že tento konfigurační soubor bude uložen ve stejném míste jako hlasvní konfigurační soubor Default.conf, pro jednodušší konfiguraci úpravy appletu - jedná se hlavně o multi jazyčnost.

Předávané parametry

Parametry appletu
applet přijímá z PHP 6 parametrů, které mu slouží pro připojení na Conserver a následně na prvek v topologii.
ip_addr
IP adresa Conserveru
ip_port
Port na kterém Conserver poslouchá
id_zar
ID zařízení v topologii ve formátu : Prvek@Lokalita
si
Session ID, jednáse o jednoznačné ID, které určuje Session
tutor_mode
Určuje jestli je připojen k danému prvku Tutor a v jakém módu
lng
Určuje v jakém jazyku applet komunikuje s uživatelem

Applet Default.conf - globální konfigurační soubor appletu

-- IMPORTANT NOTICE --
=======================================================================
common program defaults
=======================================================================
plugins			=	Status,Socket,ButtonBar(1),Terminal,  - nastavují se použité prvky appletu
pluginPath			=	de.mud.jta.plugin - nastavuje cestu k pluginum v balíčku
layout				=	BorderLayout - typ layut manažeru , který má být použit
layout.Terminal		=	Center       - umístění jednotlivých pluginu v okně terminálu
layout.Status			=	South    
layout.ButtonBar(1)(1)         =     North  

Help.url        = https://virtlab.cs.vsb.cz/applethelp.htm - adresa, kde je umístěn help k appletu  
=======================================================================
Applet defaults
=======================================================================
Applet.detach			=	true
Applet.detach.fullscreen	=	false
Applet.detach.immediately	=	false
Applet.detach.menuBar		=	true
Applet.detach.startText	=	Connect
Applet.detach.stopText		=	Disonnect
Applet.disconnect		=	true
Applet.disconnect.closeWindow	=	true
to make Netscape behave good we would like to have some privileges
Applet.Netscape.privilege	=	UniversalConnect,UniversalPrintJobAccess,UniversalSystemClipboardAccess
=======================================================================
Socket defaults
=======================================================================
* Nastavuje IP adresu a port serveru kam se připojit -  toto jsou default hodnoty, které se mění podle potřeby, applet 
* si je  přebírá jako parametr z PHP kódu
Socket.host             =       158.196.135.24
Socket.port             =       10000
=======================================================================
Timeout settings
=======================================================================

Timeout.seconds			=	60
Timeout.command			=	exit\n
======================================================================= 
Terminal defaults
=======================================================================
nastavení parametrů vlastního terminálu 
Terminal.foreground		=	#ffffff
Terminal.background		=	#000000
Terminal.cursor.foreground	=	#000000
Terminal.cursor.background	=	#ffffff
Terminal.print.color		=	false
Terminal.border		=	2
Terminal.borderRaised		=	false
if you use your own file use a fully qualified URL!
Terminal.colorSet		=	/de/mud/terminal/colorSet.conf
Terminal.scrollBar		=	east
Terminal.ButtonBar(1)(1)	=	north
now the real terminal configuration
Terminal.id			=	vt320
Terminal.buffe			=	100
Terminal.size			=	[300,200]
Terminal.resize		=	screen
Terminal.font			=	Monospaced 
Terminal.fontStyle		=	plain
Terminal.fontSize		= 11
ButtonBar(1).setup      =       /de/mud/jta/b1.conf 
Terminal.keyCodes		=	/de/mud/terminal/keyCodes.conf
Terminal.VMS			=	false
Terminal.IBM			=	false
the setting below should be correct, but it does not work
Terminal.encoding		=	ASCII


Konfigurační soubor tlačítek

label "Virtlab terminal applet" - pojmenování appletu 
break; vytvoří nový řádek pro tlačítak a popisky
klíčové slovo   Popis "funkce"
Funkce musí být naprogramována v appletu
pokus se před klíčové slovo umístí # je zakomentované a není vykresleno v GUI
button          Connect "\\$connect()"
button          Disconnect "\\$disconnect()"
break;
   
button          CTRL-A  "\\$a()" 
button		CTRL-B	"\\$b()" 
button		CTRL-C	"\\$c()" 
button		CTRL-D	"\\$d()" 
button          CTRL-E  "\\$e()" 
#button		CTRL-F	"\\$f()" 
button		CTRL-G	"\\$g()" 
#button		CTRL-H	"\\$h()"  
#button          CTRL-I  "\\$i()"  break
#button		CTRL-J	"\\$j()"  
#button		CTRL-K	"\\$k()" 
#button		CTRL-L	"\\$l()"
#button          CTRL-M  "\\$m()" 
#button		CTRL-N	"\\$n()" 
#button		CTRL-O	"\\$o()" 
#button		CTRL-P	"\\$p()" 
#button          CTRL-Q  "\\$q()" 
#button		CTRL-R	"\\$r()"  break
#button		CTRL-S	"\\$s()" 
#button		CTRL-T	"\\$t()"
#button          CTRL-U  "\\$u()" 
#button		CTRL-V	"\\$v()" 
#button		CTRL-W	"\\$w()" 
#button		CTRL-X	"\\$x()"
#button          CTRL-Y  "\\$y()" 
button		CTRL-Z	"\\$z()"  
break;
menu


Podporované kombinace OS, JAVA, Prohlížeč

  • WINDOWS XP, Java ver.1.6.0_03-b05, Mozilla Firefox 2.0.0.7
  • WINDOWS XP, Java ver.1.6.0_03-b05, Mozilla Firefox 2.0.0.8
  • WINDOWS XP, Java ver.1.4.2, Mozilla Firefox 2.0.0.7
  • WINDOWS XP, Java ver.1.6.0_03-b05, Internet Explorer 7.0 (zatím přetrvávají problémy s CSS)
  • UBUNTU LINUX, Java ver.1.6.0_03-b05
  • openSUSE 10.3(jádro 2.6), JAVA 1.5.0, Mozilla Firefix 2.0.0.7

Na těchto OS byl applet testován a nebyl pozorován žádný problém.

Jediný registrovaný problém byl na Linuxové distribuci Debian - ETCH, kde applet po svém spuštění nekomunikuje. Po opětovném spuštění ale funguje.

Osobní nástroje