2 decades went by Robert??? 😰 Time flies... CSP was great at that time... it was a breath of fresh air for our installed base and competed very well with other technologies in those years... But current front-end technologies make magic nowadays... they're powerful and change a lot and fast. Which is good... and bad... Angular versions change in a blinking... in 7 years, 11 major versions.....difficult to follow them up. I realize the beauty and simplicity of our proposals...with CSP, ZEN,... when you start to learn other front-end frameworks... but the communities behind them let them improve and grow up day-to-day... no way that a single company can compete against that.

I'm running also with last Windows 10 version and WSL2... it goes really well till now. I found that WSL fights for resources with Windows and although it releases RAM and processors when they're not used in a while, it's not as agile as I would like... so, the only tweak I had to do was to limit the resources that the WSL2 could take... to do that it's just required to add a new file in your user profile folder: c:\Users\<youruser>, call it .wslconfig and add something like:

[wsl2]
memory=6GB # Limits VM memory in WSL 2 to 6 GB
processors=2 # Makes the WSL 2 VM use two virtual processors

Terminate WSL2 and launch it again and that's all...  from then on, your WSL2 won't take more resources than specified... if, for some tests for example, you need more, you can change the file and increment the resources.... this is something that likely will be addressed in a more unmanaged way in the future... at least is what Microsoft WSL teams is saying in the forums.

BTW, you can find WSL2 well under c:\Users\<youruser>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu.....  in the case of my Ubuntu distribution... but you can change where is stored: https://github.com/MicrosoftDocs/WSL/issues/412

ZPM forces to use categories in the folder structure... perhaps, to make it easier, VS Code ObjectScript extension should be configured with that option by default... just an idea.

Also, is it there any place with full doc about module.xml? Articles are full of really useful info but having to navigate through all of them is a bit confusing.

Yep... my solution is more flexible....no need to recompile anything to change the JSON projections (for export and import)... also it works in Caché/Ensemble... but sure it's less performant than %JSON.Adapter... less format features also... clearly I would recommend %JSON.Adapter for serious productions in IRIS.... but I had fun implementing this :-)

Just in case it gives you any cloud... when I enable the connection it seems that it tries to connect through the terminal or something... because I got an error also:

This is when I just Toggle Disable and then Enable (see the error message in the botton right):

It says: The terminal process command 'docker-compose exec iris /bin/bash -c 'command -v ccontrol >/dev/null 2>&1 && ccontrol session $ISC_PACKAGE_INSTANCENAME -U IRISAPP || iris session $ISC_PACKAGE_INSTANCENAME -U IRISAPP'' failed to launch (exit code: {2})

That's what seemed strange to me...  I already did it withing VSCode Terminal directly and it works as if I do it in Powershell ... it fails when it goes through the "Open Terminal in Docker" option...

It works with Windows Powershell and with Powershell core (within VSCode Terminal and in PS Console):

Hi Dmitriy,

I'm testing it in Windows 10 Pro... everything works except the terminal... when I try to open it in VSCode

I got the following error:

The terminal process command 'The terminal process command 'docker-compose exec iris /bin/bash -c 'command -v ccontrol >/dev/null 2>&1 && ccontrol session $ISC_PACKAGE_INSTANCENAME -U IRISAPP || iris session $ISC_PACKAGE_INSTANCENAME -U IRISAPP'' failed to launch (exit code: {2})' failed to launch (exit code: {2})

I've tested directly the command within the Powershell console executing:

docker-compose exec iris /bin/bash -c 'command -v ccontrol >/dev/null 2>&1 && ccontrol session $ISC_PACKAGE_INSTANCENAME -U IRISAPP || iris session $ISC_PACKAGE_INSTANCENAME -U IRISAPP'

and it works... but not through the Open terminal in Docker which is what is more user-friendly...