Probably our biggest pain point related to InterSystems software upgrade, and one we have to try and make sure sites using our Deltanji source code management tool are aware of, is that the procedure can result in class dictionaries of remote databases being upgraded to a dictionary version that the instance hosting the databases cannot handle.

Our Deltanji documentation now includes this paragraph in the section about InterSystems platform upgrades:

Before upgrading an InterSystems IRIS, Caché or Ensemble instance we strongly recommend that you first disable all ECP connections the instance makes to other instances. Leave these connections disabled until after you have completed the upgrade, including execution of any post-upgrade steps recommended by InterSystems such as the recompilation of code in all namespaces. These precautions should prevent the upgrading instance from inadvertently upgrading class dictionary entries and routines on remote instances which may still be running an earlier InterSystems platform version.

Here's what I recommend (assumes you are using Server Manager extension as well; can be done without it but you'll have to edit JSON in a file):

  1. In Server Manager's tree, expand the namespaces of your server.
  2. Clock the "eye" icon on the %SYS row. This will add another root folder to your VS Code workspace. The folder uses the `isfs-readonly` scheme to access the namespace directly.
  3. In VS Code's Explorer (not ObjectScript Explorer), expand that folder and drill down to find the class you want.

Assuming you want to use this multi-root workspace again, use "Save Workspace As..." from the File menu. If you don't, you'll be prompted when you exit VS Code and given a choice of saving or discarding.

Good video. One tip I have is that at 4:18 it advises using a command to add second and subsequent folders to a multi-root workspace. Instead I recommend clicking on the InterSystems Tools icon in the Activity Bar, then using the Servers tree (contributed by the Server Manager extension) to find your server and namespace, then clicking the pencil button (Edit Code in Namespace). This adds an isfs entry to your workspace. The eye button alongside it will add an isfs-readonly entry instead.

Indeed you can do the whole of the workspace creation from that tree. With nothing open in VS Code (no folder, no workspace) click all the pencils or eyes you want. To name and save your workspace use "Save Workspace As..." from the File menu. If you haven't done that by the time you close the VS Code window you will be prompted to save or discard the as-yet-untitled workspace. So if you just wanted to browse a server speculatively you can use an untitled workspace and discard it when you exit.