Eduard Lebedyuk · Dec 6, 2023 go to post

Encountered similar issue:

ERROR #743: CA certificate file is not valid [%OnValidateObject+97^Security.SSLConfigs.1:%SYS]

Turns out, Extension:basicConstraints field of the CA certificate must contain CA:TRUE. The BasicConstraints extension is intended primarily for CA certificates. It has a single Boolean variable, “cA”, which reflects whether or not the certificate is a CA certificate. If the certificate is a CA certificate, it can also declare a pathLen constraint that dictates how many sub-CAs are allowed to exist in the hierarchy of CAs.

To check:

Set bc=$System.Encryption.X509GetField(cer,"Extension:basicConstraints")
Write bc["CA:TRUE"
Eduard Lebedyuk · Nov 28, 2023 go to post

Why not just use %JSONFIELDNAME?

Anyway, this works:

Property "@name" As %String;
  
Property "😋_are_you_sure_😋" As %String;
Eduard Lebedyuk · Nov 24, 2023 go to post

Is CDATA actually getting sent or is it just a visualization issue?

I suppose you can use HS Trace operation or IO logging to get the raw output.

Eduard Lebedyuk · Nov 22, 2023 go to post

Try to start Remote Gateway from the SMP and check the error there. Current error you see is caused by the fact that Gateway is not started or IRIS can't connect to it.

Eduard Lebedyuk · Nov 22, 2023 go to post

You need CONTENT=ESCAPE instead of CONTENT=STRING. Here's an example:

Class Utils.XML Extends (%RegisteredObject, %XML.Adaptor)
{

Property PACPROBLEMAS As %String(CONTENT = "ESCAPE", MAXLEN = "", XMLNAME = "PAC_PROBLEMAS");

/// do ##class(Utils.XML).Test()
ClassMethod Test()
{
	set obj = ..%New()
	set obj.PACPROBLEMAS = "1<2"
	do obj.XMLExportToString(.xml)
	zw xml
}

}

Produces:

<XML><PAC_PROBLEMAS>1&lt;2</PAC_PROBLEMAS></XML>

Documentation.

Eduard Lebedyuk · Nov 5, 2023 go to post

What's "RO" stand for?  

ReadOnly.

After the customer deployment, if there is any change made on the production settings (e.g. changing an AE Title on the DICOM service), those settings are stored in the APPCODE, and the settings will be lost after a container PODS restart (kubernetes recreating the PODS).

Two ways to avoid that:

Eduard Lebedyuk · Nov 3, 2023 go to post

Great article!

For cases, where you don't want to share the source at all (even if it's immediately deleted), the following approach would work:

1. On your system (with source code) execute:

set p=##class(%Studio.Project).%New()
do p.AddItem("WH.Color.cls")
do p.AddItem("WH.Size.cls")
do p.DeployToFile("c:\test\app.xml",,1)

It will create an XML export with object code only and no source code included.

2. Transfer the file into a target system and execute:

set sc=##class(%Studio.Project).InstallFromFile("c:\test\app.xml")
Eduard Lebedyuk · Nov 3, 2023 go to post

APPCODE must be RO if you want to leave it in the container to be replaced as a part of the container.

Eduard Lebedyuk · Oct 25, 2023 go to post

Set ..%SessionId= ""  before each SendSync/SendAsync should force a new session for each message sent.

Eduard Lebedyuk · Oct 11, 2023 go to post

Great article!

Some notes:

  1. SQL grants should be granted in a namespace with an SQL object.
  2. SQL grants can be granted only to users and roles that exist.
Eduard Lebedyuk · Sep 21, 2023 go to post

Route to two BOs ("Normal" and "High" priority) with different FailureTimeout. Use SDS to keep other settings in sync.