Skip to content

Commit

Permalink
README and CHANGELOG for 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
gjsjohnmurray committed May 28, 2022
1 parent 8364e54 commit cb5f7a1
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 16 deletions.
7 changes: 2 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
# Change Log
All notable changes to the "objectscript-error-wizard" extension will be documented in this file.

Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.

## [Unreleased]
- Initial release
## 1.0.0 (28-May-2022)
* Initial release. Entered into the [InterSystems Grand Prix 2022](https://openexchange.intersystems.com/contest/23) programming contest.
41 changes: 32 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,44 @@

# Launch WebTerminals from InterSystems Server Manager

This extension adds a command button to each entry in the [InterSystems Server Manager](https://marketplace.visualstudio.com/items?itemName=intersystems-community.servermanager) tree. With this button you can launch a [WebTerminal](https://openexchange.intersystems.com/package/WebTerminal) onto the chosen server.
This extension adds a command button to each entry in the [InterSystems Server Manager](https://marketplace.visualstudio.com/items?itemName=intersystems-community.servermanager) tree. Clicking the button creates a VS Code tab containing a [WebTerminal](https://openexchange.intersystems.com/package/WebTerminal) connected to the chosen server.

The button is also available in the Namespaces tree of each server. Use it there to start your WebTerminal in a specific namespace. This action also adds the namespace name to the label of the WebTerminal tab.
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.

The launch button creates a WebTerminal in a tab in VS Code. If you prefer to open WebTerminal in your default web browser, use the context menu of the server row or namespace row.
If you prefer to open a WebTerminal externally in your default web browser, use the context menu of the server row or namespace row.

## Requirements
![Server Manager tree](images/README/demo1.gif)

This extension requires the InterSystems Server Manager extension to be installed, and will install it automatically if it is not.
## Installation

WebTerminal must already be installed on the target servers.
This extension depends on the InterSystems Server Manager, and will install it automatically if necessary.

## Release Notes
WebTerminal must already be installed on the target InterSystems servers. See [here](https://intersystems-community.github.io/webterminal/#downloads) for instructions. The current WebTerminal version (4.9.3) 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:

### 0.0.1
1. In Portal's System Administration > Security > Applications > Web Applications page, create a new entry copied from `/terminal`. Name the copy `/terminal-vscode`.

On InterSystems IRIS 2020.1.1 and later the following additional steps are necessary as a consequence of [SGM031 (Support SameSite for CSP session and user cookies)](https://docs.intersystems.com/iris20201/csp/docbook/relnotes/index.html#Changes_2020.1.1_UpgradeChecklist_SGM031):

2. Set the `Session Cookie Scope` of the new `/terminal-vscode` application to the value `Strict`.
3. Configure a web server to use [InterSystems Web Gateway](https://docs.intersystems.com/iris20212/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_intro) 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-beta.2](https://github.com/intersystems-community/intersystems-servermanager/releases/download/v2.0.10-beta.2/servermanager-2.0.10-beta.2.vsix) 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 this line and recompiling the class after saving it:
```
Parameter HandleCorsRequest = 1;
```
6. 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

First build.
See the [CHANGELOG](https://marketplace.visualstudio.com/items/georgejames.webterminal-vscode/changelog) for changes in each release.

Binary file added images/README/demo1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "webterminal-vscode",
"displayName": "Launch WebTerminals from InterSystems Server Manager",
"description": "Adds WebTerminal launch buttons to the InterSystems Server Manager tree",
"version": "0.0.2",
"version": "1.0.0",
"publisher": "georgejames",
"license": "MIT",
"keywords": [
Expand Down
2 changes: 1 addition & 1 deletion src/webTerminalPanel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ export class WebTerminalPanel {
<li>Connection specifies a hostname which matches the target server's certificate.</li>
<li>Web application <b>/terminal-vscode</b> was added as a copy of WebTerminal's /terminal application but with <b>Session Cookie Scope</b> set to <b>None</b>.</li>
<li>The <b>Parameter HandleCorsRequest=1</b> patch was added to <b>WebTerminal.Router.cls</b> and the class was recompiled.</li>
<li>The account use by the Web Gateway (typically <b>CSPSystem</b>) has at least READ privilege on the security resource which protects WebTerminal's code database.
<li>The account used by the Web Gateway (typically <b>CSPSystem</b>) has at least READ privilege on the security resource which protects WebTerminal's code database.
</ul>
Use the <b>WebTerminal in External Browser</b> option from the context menu of the server's row in the Server Manager tree to verify some of these factors.
</p>
Expand Down

0 comments on commit cb5f7a1

Please sign in to comment.