Evgeny Shvarov · Jun 9, 2023 go to post

It is your choice, but I personally recommend to use IRIS as docker images for development.

It is very convenient and this approach eliminates a gazillion problems you can met developing with IRIS desktop.

Evgeny Shvarov · Jun 9, 2023 go to post

Nothing happens until you intentionally load classes from a new branch and other resources into an IRIS namespace.

But I highly recommend you to rebuild iris docker image and reload classes from a new branch when switching branches otherwise you could have a mix of two (or even more) branches in IRIS that can lead to unexpected behaviour.

Evgeny Shvarov · Jun 8, 2023 go to post

Great article, @Muhammad Waseem !

I'd add a docker command to start terminal.

First this one launches IRIS and creates a fresh namespace alone with the user 'demo' and password 'demo':

docker run --rm --name iris-demo -d -p 9091:1972 -p 9092:52773 -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo -e IRIS_NAMESPACE=DEV intersystemsdc/iris-community

Then to launch a terminal in PROD namespace:

docker exec -it iris-demo iris session iris -U DEV

DEV>

Evgeny Shvarov · Jun 8, 2023 go to post

Well, if you have git repo cloned with objectscript files and VSCode connected to IRIS all your files are imported into IRIS and can be executed there.

You change the objectscript files in VSCode, compile and they are imported into IRIS automatically.

VSCode and git maintain the versioning of changes for you.  

Evgeny Shvarov · Jun 8, 2023 go to post

I understand the argumentation, makes sense. Just curious how do you debug those unittests that fail?

Evgeny Shvarov · Jun 8, 2023 go to post

BTW,

this setting worked:

"intersystems.testingManager.client.relativeTestRoot": "/tests",
Evgeny Shvarov · Jun 8, 2023 go to post

Now it sees them:

But they ask for ^UnitTest to be setup, instructions, etc.

Could it work similar as it works in IPM as @Timothy Leavitt demonstrated?

Because with IPM I can run tests all and standalone without any settings at all - it just works. 
Could the IPM be leveraged if it is presented in the repo/namespace?

Evgeny Shvarov · Jun 8, 2023 go to post

Also you can create NAMESPACE/DATABASE via SQL. e.g.:

USER>:sql

SQL Command Line Shell

----------------------------------------------------


The command prefix is currently set to: <<nothing>>.

Enter <command>, 'q' to quit, '?' for help.

[SQL]USER>>Create Database TEST

1. Create Database TEST


0 Rows Affected

statement prepare time(s)/globals/cmds/disk: 0.0235s/2,162/14,045/0ms

          execute time(s)/globals/cmds/disk: 0.0843s/29,325/395,226/0ms

                          cached query class: %sqlcq.USER.cls21

---------------------------------------------------------------------------

[SQL]USER>>exit


USER>zn "TEST"


TEST>

HTH

Evgeny Shvarov · Jun 8, 2023 go to post

It looks like that organization field for Open AI integration is not mandatory, so only Telegram Token and ChatGPT key needed.

Evgeny Shvarov · Jun 7, 2023 go to post

Hi Gautam!

You can start from this template - it is a ready-made template that provides git, docker, ipm and unit-testing development environment.

Evgeny Shvarov · Jun 7, 2023 go to post

The only drawback - there is no Microsoft Solitaire :)

Jokes aside maybe you'll miss InterSystems Studio. But VSCode does more than Studio can.

Also Docker is much more stable on Mac.

Evgeny Shvarov · Jun 6, 2023 go to post

Did it:

Now it likes it, but still the testing tool doesn't see any tests. Should it be absolute path or relative to the root of repo?

Do you mind to send a PR with a working setting to the repo?

Evgeny Shvarov · Jun 6, 2023 go to post

Thanks @Joel Solon!

But all this could be achieved without instance methods, right? Anyway, I'm struggling to find an easy way to debug a failed unittest. @Michael Davidovich suggested the closest way to achieve it but I still want to find something really handy, e.g. an additional "clickable button" in VSCode above the test method that invites "debug this test method". Similar what we have for class methods now - debug this classmethod and copy invocation.

That'd be ideal.
 

Evgeny Shvarov · Jun 6, 2023 go to post

Package Manager is going to be a part of a product in near future, but right now it is not a part and can be installed with the following command:

s r=##class(%Net.HttpRequest).%New(),r.Server="pm.community.intersystems.com",r.SSLConfiguration="ISC.FeatureTracker.SSL.Config" d r.Get("/packages/zpm/latest/installer"),$system.OBJ.LoadStream(r.HttpResponse.Data,"c")

Caution!  This is for IRIS only.

The package manager.

It has documentation, a bunch of videos, and there is a tag here.

Evgeny Shvarov · Jun 6, 2023 go to post

I'm not answering your question, but just as a side note - with using Docker as a dev environment you don't bother with installing of Ensemble or IRIS at all. You can switch IRIS version at any moment if something went wrong or you need a fresher version.

Evgeny Shvarov · Jun 5, 2023 go to post

In case of IRIS Community Edition just download the newest desktop version or pull the latest docker image - both will contain the refreshed license

Evgeny Shvarov · Jun 5, 2023 go to post

Hi @Guillaume Rongier !

Well explained. I just hope the UI be more intuitive - this pays a lot in the future for the better adoption of the tool.

I understand that there are not many letters in the alphabet and it can go to the end quickly. In this case I'd keep with what you think on one-letters and also introduce synonyms of fulltext with double --.e.g.

--import for import,

--export for export and 

--status for status.

This could help with readability in long scripts with cli or with documentation.