Virtlab:Komponenty/Applet

Z VirtlabWiki

< Virtlab:KomponentyVerze z 16:30, 25. 7. 2007; zobrazit aktuální verzi
← Starší verze | Novější verze →
Přejít na: navigace, hledání

Požadavky na rekonstrukci appletu z nedistribuované verze

Zadáno 24.7.07 Michalu Křístkovi


  • Prepsat to cele slusne. Zvaz, do jake miry jen vycistit existujici kody nebo se jimi nechat inspirovat a napsat to cele znovu. Nekdy se to za nedefinovanych okolnosti zasekava.
  • Potrebovali bychom take, aby applet byl pouzitelny nejen pro CLI Cisca, kde se vystaci se zpracovavanim sipek nahoru, dolu, doleva, doprava a backspace, ale i pro vzdaleny pristup na Linuxy, kde si clovek bude chtit spustit rekneme vi. Jde tedy o to vymyslet, jake ridici znaky by mel applet umet zpracovavat (jak jdouci ze strany uzivatele tak od serveru). Za idealni bych povazoval, kdyby umel zpracovavat, resp. generovat ridici znaky podle stanardu nejakeho vhodneho terminalu, rekneme VT100.

Je otazkou, zda uz nejaky terminal emulator pro vt100 (ci jiny) nekdo v Jave uz nenapsal a zda by se to nedalo jako opensource jen prevzit, prip. upravit. Timhle pruzkumem bych mozna zacal, usetrilo by nam to tunu prace.

  • Soucasti vypracovani by mela byt zakladni dokumentace k parametrum appletu, jen nejaky odstavec (nejlepe i do wiki). Mel bys rozkoumat a popsat existujici parametry a pokud nejsou moc nesystematicke, nechat jak jsou kvuli kompatibilite se zbytkem systemu. Pokud bys je menil, dej vedet.
  • Protokol komunikace s konzolovym serverem prevzit z existujicich zdrojaku, mel by byt take popsan na strankach vl-wiki, nebo kontaktovat autora conserveru (thrabalek@seznam.cz).
  • Vyhodit ty veci kolem nepovedeneho pokusu o sifrovani parametru a obsahu. Pis to prosim s ohledem na to, ze parametry appletu mohou zase nekdy v budoucnu byt pripadne zasifrovany, takze napis nejakou obalujici funkcni na zjistovani parametru appletu. Stejne tak prosim ber v potaz, ze pozdeji muzeme chtit sifrovat i data prenasena mezi appletem a conserverem (asi pomoci SSL), takze vsechny cteni/zapisy do streamu by mely jit pres spolecne funkce, do kterych by se da (de)sifrovani pozdeji snadno doplnit.
  • Ber prosim v uvahu moznou podporu vicejazycnosti v menu. Za idealni bych povazoval pridat (volitelny) parametr appletu, kterym se zvoli jazyk menu. Dafault by mela byt anglictina.
  • Potrebujeme dale dodelat funkce pristupne pomoci menu, ktere poslou do streamu ke conserveru nektery ze znaku Ctrl-A az Ctrl-Z. Z klavesnice vygenerovat bohuzel na nekterych platformach a JVM nejdou a pak ani napr. neprerusime vypis z Cisca pomoc ^C.
  • Kvuli kontrole zakazanych prikazu by se nam hodilo, aby si applet skladal radku, kterou uzivatel pise (vcetne toho, ze bude brat v uvahu postupne editace sipkami a vkladanim doprostred textu nebo mazani backspacem) a vzdy pri stisku ENTERu zavolal funkci, ktera se rekne, zda tento command je dovoleno provest (vnitrek funkce uz mame od Romana Kubina). V negativnim pripade by jen pisknul a enter zahodil. Do skladane radky se samozrejme nesmi priplest vypisy asynchronne generovane conserverem, jako se deje v soucasne implementaci.
  • Vytahni si ze SVN konzolovy server, abys to mel proti cemu ladit (na Linuxu). Muzes jej treba nakonfigurovat, aby pripojeni z appletu presmerovaval na lokalni Telnet server. Kdyz tak Katka Ti poradi, jak s tim (nebo se ozvi).