Users should not add new %SYS classes though.
- Log in to post comments
Users should not add new %SYS classes though.
Nice! What performance hit are we talking about? No way this level of detail is free.
%ALL namespace is another way to share routines/classes globally but without the need to modify CACHELIB/IRISLIB.
DSN must be defined in <iris>/mgr/irisodbc.ini
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"Nice!
Add %JSONIGNOREINVALIDFIELD param to your class and don't add Messages/SharedRelations properties.
Parameter %JSONIGNOREINVALIDFIELD As BOOLEAN = 1;Why not just use %JSONFIELDNAME?
Anyway, this works:
Property "@name" As %String;
Property "😋_are_you_sure_😋" As %String;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.
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.
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>
That is the recommended approach.
I'm using AWS SNS (via Embedded Python) to send notifications by SMS.
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:
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")APPCODE must be RO if you want to leave it in the container to be replaced as a part of the container.
Set ..%SessionId= "" before each SendSync/SendAsync should force a new session for each message sent.
Community project Python Gateway would work on 2022.1. Or use $zf(-100) to call python script.
Please consider using embedded python with boto3.
Great article!
Some notes:
Sure, use indirection:
>s ^ABC(1,2)=3
>s TEMP = "^ABC(1,2)"
>w @TEMP
3If you log $lts(OutBoundlist) do you see the expected list?
Looks great. Where's the source for copy-data.py?
Done.
Can you run: do $system.Python.Shell() on a server?
Route to two BOs ("Normal" and "High" priority) with different FailureTimeout. Use SDS to keep other settings in sync.