It would not be safe to clean just everything there, on the fly. Alive processes may have expected some data in there.

The best way to solve it, to keep it cleaned well. You should try to figure out which globals have a bigger size. And if it's are part of your app, you may try to figure out which one could be cleaned safely and at what time. 

Dmitry Maslennikov · Nov 26, 2021 go to post

Unfortunately, there is no simple way of any debug for any web requests. And it does not really matter in docker or not.

Frontend world where is CSP is supposed to be part of, is growing very fast, and the best results you’ll achieve if you choose any way offered by the frontend community. And this is always depends your needs. Mostly known Angular, React and Vue.js.  The good things of using such popular frameworks, will be a lots developers for you, and that they are driven by the community and grows so fast. You still can use IRIS, as a backend, with REST for instance. Frontend developers may even don’t know what’s drive the backend, and how to deal with IRIS.

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.