go to post Eduard Lebedyuk · Dec 8, 2023 Nice! What performance hit are we talking about? No way this level of detail is free.
go to post Eduard Lebedyuk · Dec 8, 2023 %ALL namespace is another way to share routines/classes globally but without the need to modify CACHELIB/IRISLIB.
go to post Eduard Lebedyuk · Dec 6, 2023 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"
go to post Eduard Lebedyuk · Nov 30, 2023 Add %JSONIGNOREINVALIDFIELD param to your class and don't add Messages/SharedRelations properties. Parameter %JSONIGNOREINVALIDFIELD As BOOLEAN = 1;
go to post Eduard Lebedyuk · Nov 28, 2023 Why not just use %JSONFIELDNAME? Anyway, this works: Property "@name" As %String; Property "😋_are_you_sure_😋" As %String;
go to post Eduard Lebedyuk · Nov 24, 2023 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.
go to post Eduard Lebedyuk · Nov 22, 2023 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.
go to post Eduard Lebedyuk · Nov 22, 2023 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<2</PAC_PROBLEMAS></XML> Documentation.
go to post Eduard Lebedyuk · Nov 15, 2023 I'm using AWS SNS (via Embedded Python) to send notifications by SMS.
go to post Eduard Lebedyuk · Nov 5, 2023 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: Use System Default Settings Map only Production class to a third ReadWrite database, usually APPCONFIG
go to post Eduard Lebedyuk · Nov 3, 2023 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")
go to post Eduard Lebedyuk · Nov 3, 2023 APPCODE must be RO if you want to leave it in the container to be replaced as a part of the container.
go to post Eduard Lebedyuk · Oct 25, 2023 Set ..%SessionId= "" before each SendSync/SendAsync should force a new session for each message sent.