Home Applications webterminal-vscode

webterminal-vscode

This application is not supported by InterSystems Corporation. Please be notified that you use it at your own risk.
5
2 reviews
0
Awards
585
Views
0
IPM installs
0
1
Details
Releases
Reviews
Issues
Pull requests
Articles
Launch WebTerminal sessions from Server Manager in VS Code

What's new in this version

  • Update README:
    • WebTerminal 4.9.4 has been released.
    • Server Manager 2.0.10 has been released.
    • Contest has ended.
    • Mention alt-modifier launch option.
  • Add sponsor link.

Launch WebTerminals from InterSystems Server Manager

This extension adds a command button to each entry in the InterSystems Server Manager tree. Clicking the button creates a VS Code tab containing a WebTerminal connected to the chosen server.

The button is also available under the Namespaces tree of each server. Use it there to start your WebTerminal in the chosen namespace. This action also adds the namespace name to the label of the WebTerminal tab.

If you prefer to open a WebTerminal externally in your default web browser, use the context menu of the server row or namespace row. Alternatively hold the Alt key down when clicking the button.

Server Manager tree

The extension competed in the InterSystems Grand Prix 2022 programming contest. Thanks to those who voted for it.

Installation

The extension is published on Marketplace. Either install it from there, or search for its identifier georgejames.webterminal-vscode in the Extensions view of VS Code.

This extension depends on the InterSystems Server Manager extension, and will install it automatically if necessary.

WebTerminal must already be installed on the target InterSystems servers. See here for instructions. The current WebTerminal version (4.9.4) is documented as working on versions from 2014.1 upward.

If you only want to open WebTerminals in your browser using the context menu (see above), no further setup is required.

To launch them in VS Code tabs do the following:

This procedure has been verified with:

  • IRIS 2020.1.1 and IIS 10.0 web server
  • IRIS 2021.1.2 and Apache 2.4.29

Correct operation on other products and versions remains unproven.

  1. In Portal’s System Administration > Security > Applications > Web Applications page, create a new entry copied from /terminal. Name the copy /terminal-vscode. Suggested description is Copy of /terminal for use by georgejames.webterminal-vscode extension

  2. Set the Session Cookie Scope of the new /terminal-vscode application to the value None.

  3. Configure a web server to use InterSystems Web Gateway so it can serve your web applications securely over https. As a minimum it needs to serve the following applications:

    • /api/atelier
    • /terminal
    • /terminal-vscode
    • /terminalsocket
  4. Configure your Server Manager connection to use this web server. Use a hostname for which the web server’s certificate is valid. If the certificate is self-signed or is issued by a CA that your workstation doesn’t automatically trust you will also need to do the following sub-steps, otherwise the connection is likely to fail:

    • Be using Server Manager 2.0.10 or later.
    • Have the setting "http.proxyStrictSSL": false at Workspace or User level.
  5. Patch WebTerminal.Router.cls in the namespace where you installed WebTerminal, adding these lines and recompiling the class after saving it:

  Parameter HandleCorsRequest = 1;
  Parameter UseSession As BOOLEAN = 1;
  1. Make sure that the account used by the secure web server’s InterSystems Web Gateway (typically CSPSystem) has at least READ privilege on the security resource which protects WebTerminal’s code database.

Release Notes

See the CHANGELOG for changes in each release.

Read more
Version
1.0.403 Jul, 2022
Category
Developer Environment
Works with
InterSystems IRISInterSystems IRIS for HealthHealthShareCachéEnsemble
First published
29 May, 2022