WebTerminal Over Telnet Is Possible. Should It Born? (v5) Open Discussion. #103
Description
This discussion is open to anyone who use or know about WebTerminal project. It is a result of a long story of the project development, testing and maintaining.
While WebTerminal greatly improves user experience by enhancing standard terminal with additional features, there are numerous issues (#77, #92, #81, #87 and others) showing that it performs not as expected in some cases, and does not support some very basic things (like $ZA
/$ZB
variables). The reason is in fact that WebTerminal project tries to reimplement Caché TERM behavior over Caché ObjectScript capabilities. And it turns out that it is not always possible (see, for example, #77 or #92). The "built-in" Caché TERM features like programmer mode or debugging are very hard or even impossible to re-implement either.
The one possible solution I am thinking of more and more, is to build WebTerminal over Caché TERM, keeping all WebTerminal's goodies (and, of course, the web part) in place. As one capable approach I see telnet (special thanks to Stephen, who opened #100). I already made some tests and I can confirm that it is possible to transfer WebTerminal engine onto telnet without any changes from the user side.
From the user point of view, nothing will change, except of WebTerminal will start to support all terminal's basic stuff like programmer mode, debugging and correctly process F1-F12 keys as well as others.
From the technical point of view, I see the next workflow: terminal core class will open telnet session to local machine instead of handing all the commands using xecute. In this case WebTerminal code will start work as a middleware between "base" terminal session and a web user interface. All the current WebTerminal features are capable to work with this scenario.
I see the next major pros in WebTerminal "over" telnet:
- WebTerminal will support everything that terminal session over telnet do:
- programmer mode;
- debugging;
- any programs written for Caché TERM and for the very old systems;
- etc.
- WebTerminal will support connecting to Caché instances older than 2014.* via telnet from the web interface.
- I think it will come as a new WebTerminal's feature, special command
/telnet host@user:pass
, for example.
- I think it will come as a new WebTerminal's feature, special command
But there is a one valuable cons I believe,
- Telnet service must be turned on.
I am always open to any suggestions and discussions. You can improve the project by sharing your thoughts here! Maybe there is a better "interface" to a Caché TERM rather than telnet, maybe you believe that re-implementing Caché TERM on Caché ObjectScript is not such a hard idea... Please, let me and others know!
Thank you.