Article John Murray · Oct 9 2m read

In my previous article introducing gj :: configExplorer I flagged up how an apparent bug in the Windows elements of the Native API for Node.js means it's not currently available to run in VS Code on a Windows desktop. In a comment on that article I offered a workaround, but this requires a Docker-equipped Linux host you can SSH to.

If you don't have a suitable target it's now possible to leverage your local Windows Docker Desktop. Here's how:

  1. Open a new VS Code window.
0
0 0
Article John Murray · Oct 6 1m read

gj :: configExplorer is a new VS Code extension integrating with Server Manager and leveraging Structurizr to produce configuration diagrams of your servers.

Here's a short introductory video.

By using the InterSystems IRIS Native API for Node.js it avoids the need for any support code to be installed on the servers. This technology choice also qualifies it for entry into the current Developer Community contest.

The initial release focuses on two aspects of server configuration:

  • Namespaces and databases
  • ECP connectivity

Suggestions for what to add next are welcome, as is general feedback.

0
0 0
Article John Murray · Jul 28 1m read

The new version of InterSystems Testing Manager which I released last week brings @Timothy Leavitt's cool 
Test Coverage Tool to VS Code, and is my entry for the 2025 Developer Tools contest.

Here's a teaser screenshot showing how the unit tests of the IPM project don't yet cover a feature that apparently allows an IPM repository to override its sort order.

0
0 0
Announcement John Murray · Jul 23

Users of the %UnitTest framework can now get test coverage information inside VS Code by combining the latest release (v2.0.0) of the InterSystems Testing Manager extension with @Timothy Leavitt's impressive Test Coverage Tool.

Above you can see the Test Coverage pane, which I have moved to the secondary sidebar on the right so it can more easily be explored in conjunction with the Test Explorer on the left.

0
0 0
Article John Murray · Dec 18, 2024 1m read

A benefit of using Doxygenerate is that Doxygen does more than just HTML output. Tweak the Doxyfile that tells Doxygen what to do and you can easily create a PDF. Our example MARINA application yielded a 524-page PDF. Here's what page 94 looks like:

You can browse the whole file here.

In the screenshot above, notice how we only get details of the superclass that is part of the app (AuditHistory). The primary superclass, %Library.SerialObject, is shown faded and with no details of what BankDetails inherits from it.

0
0 0
Announcement John Murray · Dec 16, 2024

The InterSystems platforms have always offered dynamic documentation of the packages and classes in a namespace, a feature known informally as Documatic. But what if you need to publish this class reference information on a website without requiring the site to be connected to an IRIS server containing the actual classes?

0
0 0
Announcement John Murray · Oct 9, 2024

We've just made a change to Server Manager with the aim of it coping better when a stored password is no longer valid, for example because it has been changed.

We plan to include this in the next published version (no release date yet set), but if you'd like early access please download the v3.6.3-beta.3 VSIX and install it, for example by dragging it from your file explorer onto the Extensions view in VS Code.

0
0 0
Announcement John Murray · Oct 4, 2024

This is a consequence of work being done by the VS Code team to improve Find in Explorer.

Symptoms without proposed APIs:

Note the continual clock badge and progress bar.

With proposed APIs enabled you will require v2.12.9-beta.4 or later, otherwise the find runs but returns no results.

See https://github.com/intersystems-community/vscode-objectscript/issues/14… for more information.

0
0 0
Announcement John Murray · Sep 29, 2024

If you are using the client-side development paradigm (i.e. editing code in local files that get imported and compiled onto the IRIS server your `objectscript.conn` settings point to) you can now use IPM in VS Code to manage the packages in your IRIS target by launching it from the Explorer view. Just make sure the extension you are using is at least version 1.0.4, then use this button:

Thanks to @Evgeny.Shvarovfor suggesting this enhancement, which is particularly useful when using Docker.

0
0 0
Announcement John Murray · Sep 26, 2024

See the new team members in action:

Try them online for yourself:

https://gitpod.io#snapshot/b31bdf9c-4657-402a-a2d

Get it from the Extensions view inside VS Code, or here in Marketplace.

Vote for it here in the current Developer Tools 2024 contest (voting ends: 29 Sep, 2024, 11:59:59 PM EST).

Discuss it below.

Most of all, enjoy DX Jetpack with its added booster rockets!

0
0 0
Announcement John Murray · Sep 25, 2024

Please allow me to introduce you to a new way of interacting with IPM (InterSystems Package Manager), also known as ZPM,directly from inside Visual Studio Code.

First, install into VS Code the free InterSystems Package Manager extension, published to Marketplace by George James Software. A quick way is to use the search field in VS Code's Extensions view and look for 'ipm zpm' (without the quotes). Alternatively browse to https://marketplace.visualstudio.com/items?itemName=georgejames.iris-pa…

Here's a short video showing the extension in action.

0
0 0
Article John Murray · Aug 9, 2024 1m read

A nice feature that we recently added to version 2.12.6 of the VS Code ObjectScript extension is controlled by this new setting:

objectscript.serverSourceControl.respectEditableStatus

When set true in JSON, or checked in the Settings Editor, a server-side file will be read-only if the source control class for the namespace reports that it is not editable.

0
0 0
Article John Murray · Aug 9, 2024 2m read

I'm posting this for the benefit of WebTerminal users who have upgraded to the recently-released IRIS 2024.2 -- (Build 247U) Tue Jul 16 2024 09:52:30 EDT -- or are considering doing so.

That version of 2024.2 contains a change (DP-432503) which requires that the user under which the Web Gateway initially connects to IRIS (usually CSPSystem) must have READ permission on the database hosting the dispatch class of the REST web application.

For cases where that is not true an error is raised, but this returns an HTTP 404 status to the caller instead of the expected HTTP 401.

0
0 0
Article John Murray · Jul 24, 2024 2m read

I encountered this quirk when investigating an unrelated issue affecting how Studio projects are handled in VS Code.

When you add the top level of the webapp to a %Studio.Project this inserts a %Studio.ProjectItem with a .DIR suffix. For example, if Studio or VS Code is connected to the USER namespace and you add the /csp/user webapp to a project the new ProjectItem name is "csp/user.DIR".

0
0 0
Article John Murray · Oct 13, 2023 2m read

When you use VS Code to edit source code, the settings model allows you to specify folder-specific values for some settings by using a settings.json file located in a .vscode sub-folder of the workspace root folder. A value set here takes precedence over one from your personal settings when you are working within that workspace root folder.

1
1 459
Announcement John Murray · Oct 9, 2023

Until a couple of days ago the most downloaded bookmark extension for VS Code, Bookmarks by Alessandro Fragnani, wasn't able to handle the isfs file references that the InterSystems ObjectScript extension uses when you are operating in a Studio-like way and editing classes & routines directly in a namespace.

In support of our efforts at George James Software to facilitate migration from Studio I raised the issue with Alessandro and helped him resolve the incompatibility. So if you are a Studio migrant and have been missing its bookmarking capabilities, install this:

1
0 240
Article John Murray · Sep 21, 2023 1m read

Earlier this year I announced availability of a VS Code extension for coding in ObjectScript, Embedded Python or SQL using the notebook paradigm popularized by Jupyter. Today I published a maintenance release to correct a "getting started" problem.

Here's a video of the installation steps from the extension's README:

(video superseded by an update in a later comment)

Why not try it for yourself?

3
0 408
Discussion John Murray · Sep 8, 2023

Earlier today I enrolled at Cloud Services Portal and clicked "Start trial" for the "Health Connect Cloud" service. Next step was "Create Deployment". The only deployment size offered was "Micro", so I picked that, completed the other required details and clicked "Create".

Response was:

I reported this using the "Submit Feedback" option on the dropdown from my username in the top right of Cloud Services Portal but haven't yet received a response. Hence this DC post, in case someone here can tell me what I'm doing wrong.

9
0 265
Article John Murray · Sep 7, 2023 1m read

This scenario showed up yesterday at a client site when I was delivering bespoke consultation on migration from Studio to VS Code.

The site's servers had been configured to use delegated authentication, but the "Delegated" checkbox hadn't been set against the /api/atelier web application, which is what the members of the InterSystems ObjectScript Extension Pack use to make their connections.

As soon as the we application got its checkbox set and the Server Manager refresh button was clicked, namespaces could be enumerated on the server.

1
0 441
Announcement John Murray · Jun 29, 2023

VS Code has a powerful snippets capability, and its Marketplace offers a way for developers to publish their snippets so others can use them. However, publishing on Marketplace takes some effort and snippets targeting InterSystems coders will realistically only be of interest to a very small number of Marketplace visitors.

This inspired me to create oex-vscode-snippets-template, a GitHub template for creating repositories dedicated to publishing code snippets for InterSystems devs.

5
0 366
Discussion John Murray · Jun 15, 2023

In the discussions at https://community.intersystems.com/post/intersystems-studio-deprecated-starting-20232 one notable topic has been that some Studio users make regular use of its facilities for exporting multiple code artifacts (e.g. classes and routines) into a single XML file on the workstation, then exporting that file into a different server namespace.

Unless / until equivalent features are added to the VS Code ObjectScript extension, can these people fill the gap by using the System Explorer section of Management Portal?

4
1 482
Question John Murray · Jun 11, 2023

I am trying to write the module.xml for a package that creates a web application associated with the %SYS namespace.

I didn't find a way of specifying that the CSPApplication tag should create the app for a specific namespace. It apparently gets set up to use the namespace in which the package install command gets run. This contrasts with how an installer manifest works, where the <CSPApplication> tag is put inside a <Namespace> tag.

3
0 330
Announcement John Murray · Jun 4, 2023

For several years now Visual Studio Code has supported the notebook coding paradigm with a maturing UX and an API that is enabling a notebook extensions ecosystem to grow. One of the best-known notebook platforms is Jupyter Notebooks. A Microsoft team publishes an extension that allows VS Code to handle .ipynb notebook files. These can either work against a local Python environment or connect to a Jupyter Server, which typically hosts remote Python environments with beefier resources.

5
2 824
Announcement John Murray · Apr 21, 2023

Our gj :: codeSpex extension for VS Code, which is part of the DX Jetpack, allows documentation to be displayed inline while you are coding classes. In some cases the documentation is extensive, and the lack of scrolling support in the VS Code comment element we are using was degrading the DX.

By contributing a pull request to the VS Code project (my 94th accepted in the past four years) I was able to get this resolved. It landed in today's Insiders and will reach the general release (a.k.a. Stable) next month when 1.78 ships. Here's the result:

0
0 174
Announcement John Murray · Feb 12, 2023

It's not too late to strap into the DX Jetpack for VS Code, take it for a test flight, and consider voting for it.

Online demo on Gitpod is HERE.

Ignore any initial notifications about ports being opened.

The ServerDiff extension will ask for permission to reinstall itself in order to use the `quickDiff` API proposal that it relies on. Click 'Yes'.

Open the README.md by double-clicking on it, thenshow as a preview (command is "Markdown: Open Preview", shortcut is Ctrl + Shift + V).

Enjoy your flight! Comments welcome below.

0
0 87