Skip to content

Commit 613cbce

Browse files
committed
Merge branch 'master' into portal-explorer
2 parents 5385a15 + bb467e5 commit 613cbce

15 files changed

+195
-1505
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
## 3.4.1 (27-Jul-2023)
2+
* Treat same username on different servers as distinct accounts (#194).
3+
* Sort our entries in the Accounts menu.
4+
* Show username on tooltip of tree node that reports a connection problem.
5+
* Extend `intersystems.servers` objects to support optional `superServer` information (#182).
6+
* Update documentation link in README.
7+
8+
## 3.4.0 (24-Jul-2023)
9+
* Add `pathPrefix` to new server setup prompts (#175). Thanks to @yannip1234.
10+
* Add "Web Applications" tree under namespaces (#184).
11+
* Remove support for `"intersystemsServerManager.authentication.provider": "none"` setting (#190).
12+
* Update vulnerable dependencies.
13+
114
## 3.2.2 (13-Feb-2023)
215
* Improve deprecation message for `password` property (#164).
316
* Use `@intersystems-community/intersystems-servermanager` NPM package, and document how to do this (#166, #167).

README.md

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,30 @@
11
# InterSystems Server Manager
22

3-
> **Note:** The best way to install and use this extension is by installing the [InterSystems ObjectScript Extension Pack](https://marketplace.visualstudio.com/items?itemName=intersystems-community.objectscript-pack) and following the [documentation here](https://intersystems-community.github.io/vscode-objectscript/).
3+
> **Note:** The best way to install and use this extension is by installing the [InterSystems ObjectScript Extension Pack](https://marketplace.visualstudio.com/items?itemName=intersystems-community.objectscript-pack) and following the [documentation here](https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cls?KEY=GVSCO).
44
55
InterSystems Server Manager is a Visual Studio Code extension for defining connections to [InterSystems](https://www.intersystems.com/) servers. These definitions can used by other VS Code extensions when they make connections. One example is the [ObjectScript extension](https://github.com/intersystems-community/vscode-objectscript) for code editing. The [Launch WebTerminals](https://marketplace.visualstudio.com/items?itemName=georgejames.webterminal-vscode) extension is another.
66

77
See the [CHANGELOG](https://marketplace.visualstudio.com/items/intersystems-community.servermanager/changelog) for changes in each release.
88

9-
# New in Version 3.2 - October 2022
10-
11-
We are pleased to publish version 3.2 of this extension. This replaces version 2, improving the security of stored passwords by integrating with VS Code's [Authentication Provider API](https://code.visualstudio.com/api/references/vscode-api#AuthenticationProvider). Version 3 was originally created for the [November 2021 InterSystems Security Contest](https://openexchange.intersystems.com/contest/19) and made available as a [pre-release](https://code.visualstudio.com/updates/v1_63#_pre-release-extensions).
12-
13-
Thanks to [George James Software](https://georgejames.com) for backing this development effort.
9+
# New in Version 3.4 - July 2023
1410

15-
## The Authentication Provider
11+
- The sequence of prompts displayed when creating a new server definition now includes one where you can optionally enter the `pathPrefix` that is necessary when a single web server is providing REST connectivity to multiple InterSystems servers.
1612

17-
Beginning with version 2, Server Manager has enabled you to store connection passwords in the native keystore of your workstation's operating system. This provided a more secure alternative to keeping them as plaintext in your JSON files. However, the `getServerSpec` function in Server Manager 2's API allowed **any** installed extension to obtain these stored passwords without requiring your consent.
13+
- A new "Web Applications" tree within each namespace node provides a convenient way to create a workspace folder in which to edit web application files.
1814

19-
VS Code's Authentication Provider API (`vscode.authentication`), introduced in version 1.54 ([February 2021](https://code.visualstudio.com/updates/v1_54#_authentication-provider-api)) became mature enough in version 1.63 for us to use.
15+
> We have removed support for version 2's password storage mechanism. If you have been using the `"intersystemsServerManager.authentication.provider": "none"` setting this will no longer have any effect and your connections will behave as though no passwords have been stored. You can migrate stored passwords by downgrading to Server Manager 3.2 and running the `Migrate Passwords` command.
16+
>
17+
> VS Code 1.82 (August 2023) is scheduled to drop support for the keytar package used by the v2 mechanism, so you should perform v2 password migration before upgrading to that version.
2018
21-
Server Manager 3 does the following:
19+
# New in Version 3.2 - October 2022
2220

23-
1. Implements an authentication provider called 'intersystems-server-credentials'.
24-
2. Uses this authentication provider when accessing servers from its own [Server Tree](#the-server-tree).
25-
3. No longer returns passwords to callers of `getServerSpec` unless insecurely stored in JSON.
21+
We are pleased to publish version 3.2 of this extension. This replaces version 2, improving the security of stored passwords by integrating with VS Code's [Authentication Provider API](https://code.visualstudio.com/api/references/vscode-api#AuthenticationProvider). Version 3 was originally created for the [November 2021 InterSystems Security Contest](https://openexchange.intersystems.com/contest/19).
2622

27-
> Items #2 and #3 have implications regarding backward compatibility. An interim [legacy mode](#legacy-mode) is available to help with the transition from Server Manager 2, but it may be removed in a future release.
23+
Thanks to [George James Software](https://georgejames.com) for backing this development effort.
2824

29-
### Migrating Passwords
25+
## The Authentication Provider
3026

31-
If you previously used Server Manager 2 to store passwords you can run the command `Migrate Legacy Passwords` from Command Palette to migrate these. At the end of the migration procedure you will be given the option to delete the old copies. For best security we recommend you do this, but if you want to delay that step until after you are confident you won't want to revert to version 2, decline password deletion initially and re-run the migration later. Your Server Manager 3 passwords will not be overwritten.
27+
Server Manager implements an authentication provider called 'intersystems-server-credentials', and uses this authentication provider when accessing servers from its own [Server Tree](#the-server-tree).
3228

3329
### Signing In
3430

@@ -44,7 +40,7 @@ If you proceed, or if this step was skipped because your server definition inclu
4440

4541
![Enter password](images/README/authenticationProvider-password.png)
4642

47-
If you click the 'key' button at the upper right corner of the dialog after typing your password it will be saved securely in your workstation keychain, from where the 'InterSystems Server Credentials' authentication provider will be able to retrieve it after you restart VS Code.
43+
By clicking the 'key' button at the upper right corner of the dialog after typing your password you can save it securely in your workstation's operating system keychain, from where the 'InterSystems Server Credentials' authentication provider will be able to retrieve it after you restart VS Code.
4844

4945
If instead you press 'Enter' the password will be available only until you restart VS Code.
5046

@@ -58,7 +54,7 @@ When another extension first asks to use an InterSystems Server Credentials acco
5854

5955
### Managing Signed In Accounts
6056

61-
You can use the menu of VS Code's Accounts icon in the activity bar to manage your signed in accounts:
57+
You can use the menu of VS Code's Accounts icon in the activity bar to manage your signed-in accounts:
6258

6359
![Manage account](images/README/authenticationProvider-signedIn.png)
6460

@@ -94,7 +90,6 @@ In this tree you can:
9490
- Tag favorite servers.
9591
- Set icon colors.
9692
- Focus on recently used connections.
97-
- Manage stored passwords.
9893
- Add new servers, and edit existing ones.
9994

10095
In common with the rest of VS Code, Server Manager stores your connection settings in JSON files. VS Code settings are arranged in a hierarchy that you can learn more about [here](https://code.visualstudio.com/docs/getstarted/settings).
@@ -111,7 +106,7 @@ On Windows, Server Manager can create connection entries for all connections you
111106

112107
The server definition is added to your [user-level](https://code.visualstudio.com/docs/getstarted/settings) `settings.json` file and also appears at the top of the 'Recent' folder.
113108

114-
Optionally use its context menu to store the password for the username you entered when defining the server. You can also set the color of the server icon.
109+
Optionally use its context menu to set the color of the server icon.
115110

116111
The 'star' button that appears when you hover over the row lets you add the server to the `Favorites` list at the top of the tree.
117112

@@ -128,11 +123,11 @@ Learn more about `isfs` and `isfs-readonly` folders in the [InterSystems ObjectS
128123
129124
## The 'Current' Folder
130125

131-
When you have a folder or a workspace (including a multi-root one) open in VS Code, the Server Manager displays a 'Current' node at the start of its tree if your workspace references any server defined in Server Manager. The linking happens automatically if you added workspace folders from Server Manager as described above. If you are using the client-side mode of working, your `objectscript.conn` setting needs to use the `server` property.
126+
When you have a folder or a workspace (including a multi-root one) open in VS Code, Server Manager displays a 'Current' node at the start of its tree if your workspace references any server defined in Server Manager. The linking happens automatically if you added workspace folders from Server Manager as described above. If you are using the client-side mode of working, your `objectscript.conn` setting needs to use the `server` property.
132127

133128
## Launching Management Portal
134129

135-
When you hover over a server entry in the tree, two command buttons let you launch InterSystems Management Portal.
130+
When you hover over a server entry in the tree two command buttons let you launch InterSystems Management Portal.
136131

137132
The first button uses VS Code's Simple Browser feature, which creates a tab alongside any documents you may have open. The second button opens Portal in your workstation's default web browser.
138133

@@ -196,14 +191,6 @@ A set of embedded servers with names beginning `default~` will appear at the end
196191

197192
## Technical Notes
198193

199-
### Legacy Mode
200-
201-
Server Manager 3 makes changes which may degrade the user experience relative to version 2. To revert, make this user-level setting:
202-
```json
203-
"intersystemsServerManager.authentication.provider": "none"
204-
```
205-
Please only use this as a short term measure until extensions that use the Server Manager `getServerSpec` API get updated to use the 'intersystems-server-credentials' authentication provider. The setting may be removed in a future release.
206-
207194
### Colors, Favorites and Recents
208195

209196
These features use VS Code's extension-private global state storage. Data is not present in your `settings.json` file.

0 commit comments

Comments
 (0)