Evgeny Shvarov · May 20, 2023 go to post

Yes, this will work. But you also need to +1 for the "top" of the array to indicate the amount of params.

I'd do the following:

set arr($I(arr))=value

in this case $I will increment the value at arr as arr=arr+1, and return it to let you enter the value of a new param

Evgeny Shvarov · May 20, 2023 go to post

They are "special" :) and called locals for variables and globals for persisted variables.

in case if you are in debug you can always print out the array with zwrite array_name. E.g. in your case:

USER>zw args

will print out all the data it contains. useful for understanding and debugging.

Evgeny Shvarov · May 18, 2023 go to post

Please, give VSCode a try.

Regarding of extensions, you can give students a repository with .vscode/extensions.json, that will already contain examples. E.g. here is how my extensions.json looks like:

{
    "recommendations": [
        "eamodio.gitlens",
        "georgejames.gjlocate",
        "github.copilot",
        "intersystems-community.servermanager",
        "intersystems-community.sqltools-intersystems-driver",
        "intersystems-community.vscode-objectscript",
        "intersystems.language-server",
        "mohsen1.prettify-json",
        "ms-azuretools.vscode-docker",
        "ms-python.python",
        "ms-python.vscode-pylance",
        "ms-vscode-remote.remote-containers"
    ]
}

This will not install extensions automatically, but they will be shown as recommended for the workspace, like that:

Here is the template they can start from and here is an example extensions.json file.

Evgeny Shvarov · May 16, 2023 go to post

Thanks Brett!

I will add the support of:

  • Docker
  • Git source control
  • Github/Gitlub interactive plugins
  • Embedded Python
  • Co-pilot (when VScode writes ObjectScript for you instead of you)
  • Full-functional IRIS Terminal 

And options to use 3rd-party plugins, e.g. from George James, @John Murray mentioned earlier. 

Evgeny Shvarov · May 14, 2023 go to post

@Alex Woodhead , do you know by a chance why unittest methods are instance methods but not classmethods? Could it be converted to classmethods or provided the option to do that?

Evgeny Shvarov · May 14, 2023 go to post

In fact there is a handy way to run all the tests via:

zpm "test module-name"

But, I'd love to see debugging of it

Evgeny Shvarov · May 14, 2023 go to post

Thanks Alex.

See the following:

USER>Do ##class(%UnitTest.Manager).DebugRunTestCase("", "dc.irisbi.unittests.TestBI", "", "TestPivots")

  (root) begins ...
LogStateStatus:0:Finding directories: ERROR #5007: Directory name '/usr/irissys/mgr/user/u:/internal/testing/unit_tests/' is invalid  <<==== **FAILED**   (root)::

Evgeny Shvarov · May 2, 2023 go to post

Maybe ZPM uninstall is not ideal. At the moment ZPM is just an open-source app that can be installed into IRIS.

And maybe it doesn't clearly uninstall itself. 

What is the business goal of the exercise? To test ZPM or to test IRIS on leakages?

Evgeny Shvarov · Apr 27, 2023 go to post

try DeepSeeWeb which as an Angular UI layer over IRIS BI dashboards.

You can create usual IRIS BI dashboards and access them outside Ensemble/HealthShare environment in Angular UI, even on mobile. No additional development needed.

Evgeny Shvarov · Apr 26, 2023 go to post

A nice extension to this: run iris and with an ipm package on-board. Here is one command to start IRIS and install  web-terminal:

docker run --rm --name iris-ce -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community -a "echo 'zpm \"install webterminal\"' | iriscli"
Evgeny Shvarov · Apr 24, 2023 go to post

Hi Hugh!

In my case even the messages are csv lines they are being resulted in one csv file.

It is the matter of what file is pointed out in the outbound adapter, as @Jeffrey Drumm 
mentioned. Take a look the code or try to run this production - it is in docker, so it is really easy to reproduce it on your laptop and see how it works.