Missed this. I have never seen WS client implementations on COS neither.
- Log in to post comments
Missed this. I have never seen WS client implementations on COS neither.
Thanks Sean!
No. It was build over REST indeed while WebTerminal, from very first its version used WebSockets. However, the same interface can be implemented over WebSockets :) In WebTerminal, there is a simple JSON messaging, there is no need to add more tools there I think.
Evgeny already shared a thought that telnet should not be opened on any server. I agree. But what is the main difference of opened local port 23 and management portal, available through the web? Both of this two ask for login and password. What is the security risk here?
Once you configure SSL (HTTPS) and choose a strong passwords for Caché users there will be no security concerns. There are already some web applications in Caché, WebTerminal by its means is not different from them. It born to introduce some features people would like to use like Evgeny mentioned.
Windows-only? Hmm. So I am throwing the idea about telnet out. Thanks!
Maybe there are other ways to enter the terminal "programmatically" for all platforms? What else I have read from the internet is csession thing. Maybe we can run this terminal session from COS and somehow take control over its I/O... What do you think?
Via SSH (putty, etc), am I right that you need to call csession <instance> to enter the Caché terminal? If so, there is no talk about SSH at all. I think there should be a talk about of how to run csession programmatically from Caché ObjectScript. But for remote sessions, without WebTerminal's code installed on the system, it makes sense.
Once it continues to be web terminal, it can be integrated everywhere, even to Atelier. For example, WebTerminal was easily embedded to Atom COS Studio and Visual Editor projects.
Sounds good. I think I need to do a little research on Caché ssh (internal ssh?) to imagine how this can work. Thank you.
Hello Yuval!
To install WebTerminal 2.0.0-beta.8 on Caché 2013.1,
1. Go to WebTerminal Downloads and download the version 2.0.0-beta.8, which is the XML file. This page also has some instructions about how to set it up.
2. Using Studio or whatever you like, import this XML file into the %SYS namespace and compile all imported classes / CSP pages. If you have the "access error" while importing classes, then you need to temporarily enable write access to CACHELIB database, see here how.
3. Open <host>:<port>/csp/sys/webterminal/index.CSP page in the browser.
The dark part of using v2 is that this version of WebTerminal is very old and have a lot of things that were improved in 2 major releases v3 and v4. Furthermore, despite of it was tested on 2013.1 (some particular version) it may not work there now, as it seems like some changes in WebSockets appeared in InterSystems WebSockets engine, and probably 2013.1 may have a minor release adding them. But anyway, you can try.
Versions 3 and 4 of WebTerminal is not compatible with 2013.1 for the only reason — they use %CSP.REST classes. You can try to port WebTerminal resources onto CSP, but this may not be trivial.
Let me know if this helps! I will add this instructions to the WebTerminal downloads page. Thanks!
You are welcome! Glad to hear that it works. I hope that functionality WebTerminal v2 has will be enough!
Thank you Stephen for your feedback. I will try my best in finding the way to make it all work together.
Joining this question.
It would also be nice if someone could describe how to catch and process I/O at this point. Ideally I am looking for something like:
Thanks.
Yes this works! Thank you Dmitry!
Works perfectly. Thank you!
Thank you Gerd! Paul just posted the same answer a little while ago :)
Thank you very much, Robert! Good to know about MANAGEDEXTENT, I have never heard of it.
Do you think it's okay just to copy storage definition/globals as people suggest below? (to duplicate globals data and alter storage definition to use new globals)
Daniel, thank you for these important points.
Hi Alexey!
This is a known issue I still didn't figure out how to solve. If you can help here in any aspect (for example, how did you figured out that the thing is in DAQ() code?), it is very welcome. Please - continue bug/feature discussions as well as this one on Github.
In short, WebTerminal had problems with mnemonics, and what I did to solve them is a bit crazy - I just copied the code from %X364 to let them work here, as that code was utility. Maybe, there is a better solution, but I didn't came to it because of my lack of experience at some point.
Alexey, any help is very welcome. Do you know where even to find ^JOBEXAM's code to investigate the problem? Thanks!
Thank you Rich for noticing this. We’ll update the links shortly. This problem is related to WebTerminal repository migration to intersystems-community organization on Github. Follow WebTerminal there!
Hello Kumar!
Did you compile the classes you’ve imported? Try importing and compiling ClassExplorer.xml once again.
Hello Alexander!
Yes, these are definitely the good points to improve the application. But most likely Class Explorer will be rewritten from scratch rather than enhanced with new features. This is because the internal framework choosed for development on the very early stages is very hard to extend.
We’ll take a note you mentioned for the future software! Thank you! Maybe you’ll also like my other projects like Caché Visual Editor, check them out.
Did you compile them in samples namespace as shown in webapp settings? Also are you sure that nothing unexpected is set up in front of Caché which can prevent normal routing (like load balancers/other routers)?
Kumar,
Does it have the same network configuration (any load balancers/firewalls/etc)?
So this is strange. Try installing some of my other projects like WebTerminal or Caché Visual Editor and check whether they have the same issue. If yes, double check your Caché security settings, and especially web apps and their privileges.
Check it here:
Hi Mike!
When WebTerminal says “See You!”, it means that the server process normally exited. Which means that something prevents WebTerminal from running normally on the server or terminates WebSocket connection.
Try to delete WebTerminal classes and install it again into different clear namespace (like USER). Does it help?
Thank you Benjamin! Glad to hear this ![]()
Nice job guys, looks great!
I've noticed you multiply estimated gas by 100 - why do you need this? Gas estimations calculated by providers can be inaccurate but they're always equal or higher than the actual gas price.
Can't wait to see your next article and the example you provide. In our case, we've implement recurring billing in Ethereum blockchain. If you're curious, you are welcome to read my article about recurring billing in blockchain or even try how this works.