Dmitry Maslennikov · Oct 22, 2021 go to post

I see no reasons to fail it on Windows. But there are a few points to check:

  • init flag was added in version 3.7 and 2.2 of compose file, so, check if you have the correct version, the latest versions are 3.8 and 2.4 respectively
  • init flag was needed for earlier versions of IRIS, and not needed anymore since version 2021.1
Dmitry Maslennikov · Oct 21, 2021 go to post

While Node-RED has lots of interesting nodes out of the box, it may make it useful in tasks where some features are not available in IRIS.

And it's a low-code tool, so, just drag-n-drop and connect nodes, with some configuration.

Dmitry Maslennikov · Oct 21, 2021 go to post

In addition to the demo described in the article, there is a simple flow for demonstration work with SQL.

And another demo, is mostly just for fun, to see how it's possible to create even some UI there.

With quite a complex flow like this

It was possible to create an interface like this

It allows, to create a new table in IRIS, and add some fields. For sure, too far from production use, but as a proof-of-concept.

All those demos are available in the repo.

Dmitry Maslennikov · Oct 21, 2021 go to post

At the moment we have only TextMate-based grammar in public, which is used in VSCode and on GitHub. I see no way of conversions from TextMate to Rouge. So, the only way would be to implement it from scratch. Not so easy, but still possible. 

I can do it, I have some experience in such tasks, but don't have so much spare time at the moment. Would be interested in investing in the project?

Dmitry Maslennikov · Oct 16, 2021 go to post

You already extend %XML.Adaptor, and it means that you can call XML Export directly.

Set status = objectTest.XMLExportToString(.xml)
Write xml

will produce

<Test><Person><name>John</name><age>22</age></Person><Address><location>New York NY 10036</location></Address></Test>

Well, there are few ways to do it. Look at the description to methods

Class Abstract.Test [ Abstract ]
{

/// Will return status with error, if the method not implemented
ClassMethod DoAction(pActionName) As %Status
{
  Quit $$$ERROR($$$GeneralError, "DoAction not implemented by " _ ..%ClassName(1))
}

/// Will throw an exception when method called, while not implemented 
ClassMethod DoCall(pActionName)
{
  Throw ##class(%Exception.General).%New("DoCall not implemented by " _ ..%ClassName(1))
}

/// Will not allow to compile descendants without implementing the method
ClassMethod AnotherAction(pActionName) As %Status [ CodeMode = objectgenerator ]
{
  If ('%class.Abstract) {
    Quit $$$ERROR($$$GeneralError, %method.Name _ " not implemented by " _ %classname)
  }
  Quit $$$OK
}

ClassMethod TestCall()
{
  Try {
    Set tSC = ..DoAction()
    If $$$ISERR(tSC) {
      Do $System.OBJ.DisplayError(tSC)
    }
    Do ..DoCall()
  }
  Catch ex {
    Write !,"Caught exception of type: ",ex.%ClassName(1)
    Write !,"Message: ",ex.DisplayString()
  }
}

}

AWS offers EC2, and it will be just virtual machines. And it will be possible to migrate any of your instances quite easy, if you would choose the same environment. If you have windows on your server, you can have Windows there as well. It's the easiest way. You would need to install the same version of the InterSystems platform you use, and repeat the configuration, copy necessary information and that's it. But for sure, could be some other options.

But AWS also suppose support for containers, this could be more difficult. And the best would be if you would use IRIS. I can help with this migration if you wish.

Dmitry Maslennikov · Sep 29, 2021 go to post

Yes, it’s not possible to edit BPL and some other resources which has their own UI editor with VSCode, yet. But, most of those kinds are classes in the end, and can be stored in source control system as classes, and you can edit them as classes, with no helpful UI, yes. There are a few limitations on implementing the current web editor to VSCode, mostly by security reasons, and I hope we’ll find a way how to solve it.

1) This is how ethernet works, if your ethernet cable have not connected, no connection and no IP address there. Sharing network over USB, as I know works fine on macOS, but not sure how to configure it for Windows. With macOS, it's possible to connect RaspberryPI with MacBook with USB-c to USB-C cable, and it will power it and gives access to the network.

2) Upgrading Docker-based applications, it the topic right for Docker. It's not so easy to explain how to upgrade Container. Containers are stateless, and the process is just to stop the existing container and start a new one from the updated image.

You don't have to extract archives supposed to be used by Docker. They have to be used as-is with command

docker load -i iris_community_arm64-2021.1.0.215.0-docker.tar.gz

and this will load the image to docker, and then it can be used there

Yes, InterSystems, offers distributions of IRIS, which can be installed without Docker. And for sure, you can run as many instances of IRIS as you want, as soon as you have enough resources for it.

Yes, when you created a new class, it is just a file on your local disk. When you saved it, VSCode caught this action, and sent it to the server, and compiled it. But deleting this file, not a reason to do the same on the server.

You can delete class with Explorer view, there you may find any classes, that are stored on the server. By context menu you can Delete the item on the server, or Export it to get the local version. Icons close to class names, the same as in File Explorer view, may indicate the connection to your local file.

Dmitry Maslennikov · Aug 21, 2021 go to post

It’s a class not routine, and you call to method not label, so instead of double dollar, you have to use double dots 

..occupiedseatsAdj

Dmitry Maslennikov · Aug 20, 2021 go to post

Well, ok, for Authentication azure provides OAuth2 and SAML, both possible to integrate to IRIS 

User synchronization may work in two ways, every time when user is authorized, so get synced only users has authorized at least once. Or periodically, get a complete synchronization, this could be possible only with saml.

Dmitry Maslennikov · Aug 20, 2021 go to post

What kind of integration you need?

Just authentication, or even user synchronization?

or something else?

Dmitry Maslennikov · Aug 20, 2021 go to post

VSCode itself has some limitations and due to this, not so easy to add an ability to show some angular page. But anyway, much more you’ll achieve if you do it as an extra extension to VSCode, instead of still using Source control classes.

Dmitry Maslennikov · Aug 20, 2021 go to post

Added an article about GitHub Codespaces with an ability to edit ObjectScript with running IRIS inside. With an extra option to run own browser version of VSCode anywhere in the cloud on your own conditions.

Dmitry Maslennikov · Aug 20, 2021 go to post

By Setting in Business Service which it will be tied to. But I think, it will be simple, like check that latest data where create date more than current plus n seconds

Dmitry Maslennikov · Aug 20, 2021 go to post

Looks like, that you have some data generated, which you should care about, but with some delay. So, how about creating some custom adaptor, which would look at that data, check for conditions and do the task. So, just only need an index by creation time.

Dmitry Maslennikov · Aug 17, 2021 go to post

github.dev, is just a simple VSCode but in the cloud. It may get a coloring if it would allow at least our main extensions for ObjectScript, which in fact provide a basic coloring. GitHub.com itself uses coloring from another source, which in fact almost the same as for VSCode.

I'll look at github.com, and maybe I will find a solution, how to get coloring there somehow. And thinking about Codespaces feature as well.