Evgeny Shvarov · Apr 12, 2023 go to post

There is a new release in intersystemsdc community images.

Now password and username can be provided as env variables.

Here it is:

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

and

irissqlcli iris://demo:demo@localhost:9091/USER

Learn more.

Evgeny Shvarov · Apr 12, 2023 go to post

There was a new release of intersystemsdc vanilla images.

Now you can use ENV variables to start IRIS with user, pass and namespace created.

E.g.  here is how to start:

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

Here is how to connect via irissqlcli:

irissqlcli iris://demo:demo@localhost:9091/USER
Evgeny Shvarov · Apr 10, 2023 go to post

Often we need to clean-up IRIS and start from a clear page with empty database. Docker containers could be an ideal option for that.

 Start IRIS in docker container locally:

docker run --rm --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community -a "iris session iris -U%SYS '##class(Security.Users).UnExpireUserPasswords(\"*\")'"

And connect via irissqlcli:

irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER

You can connect also via other SQL tools.

Use the approach only for development purposes.

Evgeny Shvarov · Apr 10, 2023 go to post

Finally, one command to run iris in docker:

docker run --rm --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community -a "iris session iris -U%SYS '##class(Security.Users).UnExpireUserPasswords(\"*\")'"

And another command to open sql terminal:

irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER

Thanks to @Robert Cemper  and @Dmitry Maslennikov 
 

Evgeny Shvarov · Apr 10, 2023 go to post

Finally, here is how run iris docker container and use in SQL after that:

docker run --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community

and

docker exec -t iris-sql iris session iris -U %SYS '##class(Security.Users).UnExpireUserPasswords("*")'

And SQL connections now work!

$ irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER

Server:  InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65

Version: 0.5.1

[SQL]_SYSTEM@localhost:USER> select $zversion

+---------------------------------------------------------------------------------------------------------+

| Expression_1                                                                                            |

+---------------------------------------------------------------------------------------------------------+

| IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30 2023 09:07:49 EST |

+---------------------------------------------------------------------------------------------------------+

1 row in set

Time: 0.047s

Thanks to @Robert Cemper and @Dmitry Maslennikov  
 

Evgeny Shvarov · Apr 9, 2023 go to post

wow. Didn't know we have that! And aliases can be setup and transferred too? E.g. like a package (IPM)?

Evgeny Shvarov · Mar 30, 2023 go to post

Hi Jude! If you could introduce the content of pdf in the body of the article that'd be much better.

For those who wants PDF we have PDF export option. 

But for your readers it is much easier to work with the article to read it directly here and be able to quote the parts in it in comments,  and etc. It is even easier for you if you want to edit/update something in it.

Evgeny Shvarov · Mar 24, 2023 go to post

Thanks @Julian.Matthews7786 ! Very important! Do you have any sample app that demonstrates the approach?

Evgeny Shvarov · Mar 24, 2023 go to post

If you go with IPM+Git-source-control you can use wildcards as "MyApp.PKG" which will consider included all the classes in MyApp class package.

Evgeny Shvarov · Mar 24, 2023 go to post

Yay!

This time you can develop the solution for the contest in ANY language that understands SQL!

Python, java, .NET, js, C++, Rust, Go, ObjectScript - anything!

Looking forward!

Evgeny Shvarov · Mar 20, 2023 go to post

Hi @water huang . I notice you use a dot syntax to work with stack levels. ObjectScript has {} for this purpose which seems much more effective.

Evgeny Shvarov · Mar 18, 2023 go to post

Great instruction, Anastasia!

Maybe we could add a new(sic!) button into editor that will expect Youtube URL and will transform it into the embedded form and insert the fragment into the post?

Sounds easier than several operations?