User Answers

It's actually a very interesting question, and actually mostly depends on what you really want to achieve.

First of all, you can redefine Dockerfile name in docker-compose.yml

version: '3.7'
services:
  myapp:
    build:
      context: .
      dockerfile: Dockerfile.test

or just in docker build

docker build -f Dockerfile.test .

 

But there is another use case when you would need even different docker-compose.yml files. If you would want to split running like in the production and development environment.

There is an option in the settings: "objectscript.export.addCategory",  when it's set to true, it will add categories for different file types.

In uppercase CLS for files "cls",  and RTN for "int", "mac", "inc".

The next coming version will support the way to have more control over it, where the left side for extension of a file, and the right part for a category name

"objectscript.export.addCategory": {
  "cls": "_cls",
  "mac": "_mac",
  "int": "_int",
  "inc": "_inc"
}

 

Remember about the second parameter in methods like Get and Post, which named test, which you can use for debugging purposes.

 If test is 1 then instead of connecting to a remote machine it will just output what it would have send to the web server to the current device, if test is 2 then it will output the response to the current device after the Get. This can be used to check that it will send what you are expecting.

As you getting <STORE> error, it is related to the process's memory. So, I think you can solve it easily by increasing the value of maximum memory per process.

It should be by default 256Mb, but, maybe you have too much CSP files. Just temporarily increase maximum memory per process may solve the issue.

ClassMethod GetSSLConfiguration(host) As %String
{
  NEW $NAMESPACE
  SET $NAMESPACE = "%SYS"
  
  IF '##class(Security.SSLConfigs).Exists(host) {
    DO ##class(Security.SSLConfigs).Create(host)
  }
  QUIT host
}

Set tRequest = ##class(%Net.HttpRequest).%New()
Set tRequest.Server = "community.intersystems.com"
Set tRequest.Https = 1
Set tRequest.SSLConfiguration = ..GetSSLConfiguration(tRequest.Server)
....

 

ClassMethod GetSSLConfiguration(host) As %String
{
  NEW $NAMESPACE
  SET $NAMESPACE = "%SYS"
  
  IF '##class(Security.SSLConfigs).Exists(host) {
    DO ##class(Security.SSLConfigs).Create(host)
  }
  QUIT host
}

Set tRequest = ##class(%Net.HttpRequest).%New()
Set tRequest.Server = "community.intersystems.com"
Set tRequest.Https = 1
Set tRequest.SSLConfiguration = ..GetSSLConfiguration(tRequest.Server)
....

 

Web applications defined in Security.Applications class in %SYS namespace.

zn "%SYS"
set props("Path") = "/opt/my/app/csp"
set props("Description") = "My Cool Application"
do ##class(Security.Applications).Create("/csp/test", .props)

Visual Studio and Visual Studio Code are two very different products but just with similar names.

To configure Visual Studio Code, you can use this settings

{
    "objectscript.conn": {
        "active": true,
        "host": "localhost",
        "port": 57772,
        "ns": "SAMPLES",
        "username": "admin",
        "password": "SYS"
    }
}

Where,