go to post Oliver Wilms · Aug 24, 2022 I think you got the methods reversed. To connect using the key pair you should use this method: set sc = ssh.AuthenticateWithKeyPair( "sftpuser","/path/to/id_rsa.pub","/path/to/p_id_rsa","") I have tested this and it works
go to post Oliver Wilms · Aug 12, 2022 It appears to me that User.Person class does NOT have Age property
go to post Oliver Wilms · Jul 10, 2022 I just realized this only happens on my work laptop. Maybe some browser restriction
go to post Oliver Wilms · Jul 1, 2022 I have tried using getProductionItems() using this code: ClassMethod GetProductionItems(pProd As %String,pDefinition As %String,pAutoAdd As %String) As %Status{Set tSC = $$$OKIf ($Get(pProd) = "") {Set pProd = ##class(Ens.Director).GetActiveProductionName()}Set tProduction = ##class(Ens.Config.Production).%OpenId(pProd)Set tSC = ##class(Ens.Director).getProductionItems(tProduction,.pDefinition,.pAutoAdd)ZWQuit tSC}
go to post Oliver Wilms · Jul 1, 2022 Interesting question. I looked in Documentation and found a CreateDocumentation classMethod. I tried to test it with this code. I got an error in my Production. Let me know if this helps you. I will look at getProductionItems() next... ClassMethod CreateDocumentation(pProduction As %String = "",pIntro As %Boolean = 1,pFormat As %String,Output LogFileName As %String,Output URL As %String,Output BookName As %String,PDFFileName As %String,PDFRenderer As %String,ByRef Params As %String,pAllSettings As %Boolean = 0) As %Status{Set tSC = $$$OKIf (pProduction = "") {Set pProduction = ##class(Ens.Director).GetActiveProductionName()}Try {Set tSC = ##class(%SYS.Ensemble).CreateDocumentation(pProduction,pIntro,$G(pFormat),.LogFileName,.URL,.BookName,$G(PDFFileName),$G(PDFRenderer),.Params,pAllSettings)} Catch {Set tSC = ##class(%SYS.Ensemble).CreateDocumentation(pProduction,pIntro,$G(pFormat),.LogFileName,.URL,.BookName,$G(PDFFileName),$G(PDFRenderer),.Params)}Do $System.Status.DisplayError(tSC)ZWQuit tSC}
go to post Oliver Wilms · Jun 28, 2022 Hello, Sathish, I recently published test-data app that utilizes a shell script to create a test file: InterSystems Open Exchange facture.cls defines the parameters for the RunScript classmethod. ClassMethod DefineProductScript( pName As %String = "Demo2", pDebug As %Integer = 0) As %Status { Set pQuery = "SELECT ID from dc_iris.product WHERE Name = '?'" Set pQuery = $Replace(pQuery,"?",pName) Write:pDebug pQuery,! Set tSC = ##class(dc.iris.util).ExecuteQueryOneValue(pQuery,.oProduct) Write:pDebug tSC,! Set oProduct = ##class(dc.iris.product).%OpenId(oProduct) If ($IsObject(oProduct) = 0) Set oProduct = ##class(dc.iris.product).%New() Do:pDebug $System.OBJ.Dump(oProduct) Set oProduct.ClassName = "dc.iris.product" Set oProduct.MethodName = "RunScript" Set oProduct.RunCmd = "/opt/irisbuild/demo.sh" Set pRandom = "random" Set pOutput = "/opt/transform/practice/" Set pTemplate = "/usr/irissys/mgr/data/" Set oProduct.RunParam1 = "$Qty" Set oProduct.RunParam2 = pRandom Set oProduct.RunParam3 = pOutput Set oProduct.RunParam4 = pTemplate Set oProduct.Name = pName //Set oProduct.TargetPath = "/opt/transform/practice/" Set tSC = oProduct.%Save() Quit tSC } ClassMethod RunScript( pProduct, pQuantity) As %Status { Set tSC = $$$OK Set oProduct = $Get(pProduct) If ($IsObject(oProduct) = 0) { Set oProduct = ##class(dc.iris.product).%OpenId(oProduct) } If ($IsObject(oProduct) = 0) { Set tSC = $$$ERROR($$$GeneralError,"No product defined") Quit tSC } Set pCmd = oProduct.RunCmd Set pNumberOfFiles = $Get(pQuantity,1) Set args=4 Set args(1) = oProduct.RunParam1 Set args(2) = oProduct.RunParam2 Set args(3) = oProduct.RunParam3 Set args(4) = oProduct.RunParam4 For ii = 1:1:args { If (args(ii) = "$Qty") Set args(ii) = pNumberOfFiles } Set tReturn = $ZF(-100,"/SHELL",pCmd,.args) Quit tSC }
go to post Oliver Wilms · Jun 1, 2022 I discussed this with InterSystems WRC. They told me they will clearly document that Pool Size should not be implemented using System Default Settings. I guess we cannot have different pool sizes in different environments...
go to post Oliver Wilms · May 13, 2022 Hi Mark, I have adapted the code for Production Monitor into a custom class User.ProductionMonitor. It can get host info (status OK or Error) and also Queues sizes. I also created ProductionManager.csp to display the info. I hope it helps you. Hopefully you will share what you do and maybe we both get a better solution! Please see code here: oliverwilms/production-monitor (github.com)
go to post Oliver Wilms · Apr 2, 2022 In Cache or IRIS globals subscripts, numbers do not get quoted. There is no difference between ^GLOBAL(1) and ^GLOBAL("1")
go to post Oliver Wilms · Oct 4, 2021 The problem is only happening with quote-style escaping checkbox checked and it appears to be fixed in IRIS 2021.1
go to post Oliver Wilms · Sep 2, 2021 In my experience, this version of docker did not work properly with IRIS. Can you try to get on current Docker version?
go to post Oliver Wilms · Aug 23, 2021 By default, only clients local to the Web Gateway’s hosting computer are allowed access to the Web Gateway Management pages. The browser through which the management forms are accessed must be running on the same machine as the web server and Web Gateway. For example: http://localhost:<port_no>/csp/bin/Systems/Module.cxw You can add additional clients to the list of authorized administrators by adding the client IP addresses to the System_Manager parameter in the SYSTEM section in CSP.ini (in install-dir\CSP\bin). The System_Manager parameter represents a comma- or plus-separated list of clients (by IP address) who may access the Web Gateway Management pages. The directive shown below grants access to three remote clients in addition to the default local access. [SYSTEM] System_Manager=190.8.7.6, 190.8.7.5, 190.8.7.4
go to post Oliver Wilms · Aug 9, 2021 Hi Muhammad, You need to have a Message Bank Operation to send messages to the Message Bank and you need a Message Bank Production with a TCP Service to receive the messages. I have written an article about my experience with Message Bank and I have a GitHub repo with Message Bank code: IRIS Interoperability Message Bank | InterSystems Developer Community | AWS
go to post Oliver Wilms · Mar 10, 2021 Can you create your own class that extends the class you want to update? Which class? What kind of operation you want to do?
go to post Oliver Wilms · Feb 3, 2021 I created a new class (User.OperationSQL) which extends Ens.BusinessOperation and uses { Parameter ADAPTER = "EnsLib.SQL.OutboundAdapter"; Property Adapter As EnsLib.SQL.OutboundAdapter; ... Do you see Ens.BusinessOperation and EnsLib.SQL.OutboundAdapter?
go to post Oliver Wilms · Feb 3, 2021 Hello Jack, I have done this previously in this class: Class User.OperationSQL Extends Ens.BusinessOperation { Parameter ADAPTER = "EnsLib.SQL.OutboundAdapter"; Property Adapter As EnsLib.SQL.OutboundAdapter; ... I have this code to begin transaction: set tSC = ..Adapter.SetAutoCommit(0) I have this code to commit transaction: set tSC = ..Adapter.Commit() In case of rollback I use this code: Set rollbackSt = ..Adapter.Rollback()
go to post Oliver Wilms · Nov 16, 2020 Mark, I cloned the csv repository, added an interoperability production with a file service and a process that imports the file using csvgen code. Please take a look at this repo and let me know if you have any comments or questions: https://github.com/oliverwilms/csvgen
go to post Oliver Wilms · Jun 29, 2020 To force text to stay inside the width of a rectangle, use this: text-anchor="start" textLength="#(wbw-1)#" lengthAdjust="spacingAndGlyphs"
go to post Oliver Wilms · May 22, 2020 Hello Paul, I like to work on this problem. In preparation, I found a zen page in Samples namespace and added a file upload control. I define a CSP page to go to on submit. How do I attach a file to a CSP page? Then you want to manipulate the file when received by CSP page. Does the user see the attached file on the CSP page? Our team has a CSP page that receives an incoming file and then it is passed along to a business service in HealthConnect production. Where do you want the modified file to go?