Could you explain a bit, how would you like to see work with CSP files? For me, when you working with own local instance, you can just open csp folder in VSCode, and edit as a usual file, InterSystems will compile it automatically with the next request. I think it would be possible to add CSP editor only as part of Server-side editing feature.

Server-side search, not yet available, because, search engine not yet publicly released. I've already implemented server-side search when server-side editing enabled, and you can test it with the latest beta version of vscode-objectscript, and only with Code-Insiders version, and with flag --enable-proposed-api daimor.vscode-objectscript

Could you add your expectations from debugging feature, as an issue here?

Only one server connection.

At the moment it is possible to have multiple folders configured for each own server, and tied up with .code-workspace file. I see you already use server-side editing, so, you can just extend your file. And the link for the info, how to configure it.

Curiously, what do you expect from XData? Could you fill the issue, so, for any other ideas as well?

When your team uses Studio with source hooks, it's even easier to move to VSCode. VSCode supports source control class hooks, and even some types of actions from menu. You can the latest beta release, to get more features.

VSCode can also be used to edit files directly on a server, almost the same way as Studio. Just at the moment it does not check any changes on the server, and uses your opened files as a source of truth.

Scott, could you give some more details about your experience with VSCode, privately directly to me or publicly here? What do you expect, and what would help you decide to use VSCode instead of Studio?

Dmitry Maslennikov · Dec 26, 2019 go to post

The best solution would be to use docker-compose.yml

version: '3.7'
services:
  service1: 
    ....
  service2:
    ...

And each service in such configuration will be able to contact any other service by his name.

Dmitry Maslennikov · Dec 17, 2019 go to post

crossType and crossSteps I get from $lb stored in grid which I read with $Data with variable crossInfo.

So, I use the trick with the second argument in $Data, where variable gets value if data exists.

And another trick with the left $listbuild as you noticed. Which just extracts values from right's side $listbuild to variables in the left's side $listbuild. The documentation actually has information about it.

Good luck. ))

Dmitry Maslennikov · Dec 11, 2019 go to post

How is it related to Cache?

Your files currently stored as data in Cache database or stored as files on your Linux server?

How are you going to use your files stored in SharePoint when you will move it?

Dmitry Maslennikov · Dec 11, 2019 go to post

I'm not sure that it is collect any such logs. But I think you can ask author @Nikita.Savchenko7047 to implement it.

The very recent version of IRIS available only as a Docker image, at the moment version 2019.4. The version available for any other platform on the download page is just 2019.1.

Look how SMP looks side by side in 2019.1 and 2019.4

Looks like rescheduling running task does not work. But it is possible to create a new one, which runs once.

Class User.Test Extends %SYS.Task.Definition
{
Parameter TaskName = "SomeTask";
Method OnTask() As %Status
{

  Set task = ##class(%SYS.Task).%New()
  Set task.Name = "Test task"
  Set task.NameSpace = $Namespace
  Set task.TaskClass = ..%ClassName(1)
  Set task.TimePeriod = 5 // RunOnce
  Set task.RescheduleOnStart = 0
  Set tSC = task.%Save()
  If $$$ISERR(tSC) {
    Quit tSC
  }
  
  Set nextDate = +$Horolog + $Random(10) + 1
  Set nextTime = $ZTimeh("10:00")
  Quit ##class(%SYS.Task).RunOnce(task.%Id(), nextDate, nextTime)
}
}

This is actually nothing related to InterSystems at all.

You can do something like in this article. Just catch the file on the client-side in Browser, and send this file to the server, where you can save it as would do it for any usual file

Task scheduler quite flexible 

Monthly simple

Or more advanced way

Do you have another algorithm, which can't be covered by this?

If so, you can write a task, which will re-schedule itself when launched. 

I think, the best way would be to have REST entrypoint, which would redirect also work with WebSockets, while REST api can handle any Authentication issues. As an example, you can look at %API.Atelier.v1 class and method RunDebugger, which redirects control WebSocket.

Yeah, I forgot about docker. But it is possible to solve this as well. 

Connect to the instance with SSH in any way offered by Google.

cd /opt/ISC
sudo vi docker-compose.yml

So, you can now add more ports. Save it (:wq)))

sudo docker-compose up -d

Do not forget to configure firewall rules.

You can even add this line, and remove ports block at all, and get access to any future ports without a restart container.

network_mode: host

Mike, thanks for the feedback.

Questions about passwords were raised privately. But mostly about secure storage. Your case very different, and even maybe better way, to have SSO instead of storing passwords. It will need some research, but I'm sure it will be possible to implement it. As a company CaretDev, I would like to offer commercial support to your company. So, it will be easier to find time to implement any features, you would like to have.

About toggle between namespaces. I don't know why do you need it, and how you going to use it. The main point of VSCode is sources stored locally, when you will toggle namespace, how you going to keep namespaces correctly updated?

Or you can use a server-side editing feature. You can create file myapp.code-workspace in the root of your project, press button Open workspace. And you will have connection to USER and %SYS namespaces as well, so, just add more isfs URLs with ns=NAMESPACE.

{
  "folders": [
    {
      "name": "myapp",
      "path": ".",
    },
    {
      "uri": "isfs://myapp",
      "name": "server",
    },
    {
      "uri": "isfs://myapp?ns=USER",
      "name": "user",
    },
    {
      "uri": "isfs://myapp?ns=%SYS",
      "name": "system",
    }
  ],
  "settings": {
    "files.exclude": {},
    "objectscript.conn": {
      "active": true,
      "username": "_system",
      "password": "SYS",
      "ns": "MYAPP",
      "port": 52773,
    },
    "objectscript.serverSideEditing": true
  }
}

Most probably you just out of space on your docker disk. In this case, you'll just catch any different errors related to disk at any stage, when you work with Docker. If you are going to actively work with Docker as I am, I would recommend increasing the size of disk for Docker. Look at my recent article about it.

It's kind of time you spend to solve a task, since it was unlocked at Noon EST.

Only the first 100 get the score, by solving order.

Dmitry Maslennikov · Nov 28, 2019 go to post

 Maybe it is a license problem but I have no valid license key to test :-( 

You would need any license, and should be able to connect if you use IRIS Community Edition.

But you need any license, with a common version, without a license it will not work. You can get a preview license on WRC.

Dmitry Maslennikov · Nov 26, 2019 go to post

Thanks.

UDL-preview is just for preview as UDL and does not offer to edit such files.

It is possible to configure multi-root workspace, and edit classes/routines directly on a server, and in conjunction with Studio Source Control class, get your XML back after edit for you SCM.

Dmitry Maslennikov · Nov 17, 2019 go to post

It's just a default empty instance. You then have to create a new namespace with the database. Interoperability will be enabled by default in that new Namespace, and it will appear there. But, you should have in mind, that all those changes may disappear by default, when you delete your container and start it again, it will be the same as in the first start. You can configure durable %SYS, to get it stored outside of the container or volumes.

Dmitry Maslennikov · Nov 17, 2019 go to post

You can deploy IRIS with Kubernetes which is inside of OpenShift. It is not so easy to explain here. As it will be just a common task, rather than something narrow just for you. Deploying a database to the cluster is a very specific task, and very depends on your needs.

As well as Kubernetes, I think you may also use ICM, did not use it before, so, not sure if it will work with OpenShift as well.

Dmitry Maslennikov · Nov 17, 2019 go to post

Sharding will allow you to split your data between physically different servers with each own storage. So, you may get faster simultaneous read/write of data. At the same time with ECP configuration, your application servers will get direct access to the sharding node which holds data. 

So, if it is correctly configured you should get some profit from it, for sure.

Dmitry Maslennikov · Nov 15, 2019 go to post

You managed to get authorized in System Management Portal, so you should know the correct password. You should use the same login and password in VSCode/Atelier.