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 · Nov 16, 2020 Hello Mark, I think you want to setup Interoperability Production. Where are you located? Are you available for phone call or online meeting?
go to post Oliver Wilms · Oct 17, 2020 I observed <UNDEFINED> error when trying to populate the table because there was no activity in the namespace. Initialized tNumInbound and tNumOutbound variables and ran the Task again. I verified I got one row in the underlying table. Then the Analyzer did not get errors any longer.
go to post Oliver Wilms · Oct 16, 2020 Hello, Thank you for documenting this in great detail. I carefully created a namespace, compiled classes, configured global and package mappings. I created and compiled cube class User.OperationalAnalytics. My problem is when I try to use Analyzer in Portal, I get an error when I drag the second property AvgTime to Columns: ERROR #5001: Build [Measures].[AvgTime] in cube OPERATIONAL ANALYTICS. (2)
go to post Oliver Wilms · Oct 9, 2020 Hello, The Feeder app uses %UnitTest.TestProduction class to run a test (TestControl) that has intention to test another production via test messages being sent from File Passthrough Service to CSP Operation. I feel it should qualify for Unit Test bonus. Please reconsider. Reading your comments here, I see you do not encourage using legacy CSP approach. What is suggested to replace CSP? Is it Angular front end? Do you have tutorial for using Angular? Does it offer native API use in Angular?
go to post Oliver Wilms · Aug 20, 2020 Good morning Vic, I had not filled in the Message Bank Link, but it was prefilled already. However, when I try to click on Go button, it links to: http://aa.bbb.ccc.ddd:52773/csp/dmlss_db/Ens.Enterprise.Portal.MonitorStatus.zen The correct link on the Message Bank server is: http://aa.bbb.ccc.ddd:52773/csp/healthshare/dmlss_db/Ens.Enterprise.Portal.MonitorStatus.zen?$NAMESPACE=DMLSS_DB&$NAMESPACE=DMLSS_DB& The URL on the server is /csp/healthshare/dmlss_db instead of /csp/dmlss_db Is this the reason why the Message Bank does not receive any messages? I created a new web application /csp/dmlss_db on the Message Bank server. The Go button now works from Configure Message Bank Link. However, still nothing going into the Message Bank.
go to post Oliver Wilms · Aug 18, 2020 I was able to define ECP connection in Installer class that I run when I build docker image for my Docker IRIS application. Now I start to use Amazon ECS and Autoscaling. When a new instance is created and it runs the IRIS container, I want it to "register" as an Application server on the remote database server. What code can I execute to add an ip address as an Application Server?
go to post Oliver Wilms · Jul 29, 2020 Connection did not work because I had incorrect IP in settings. Now it works.
go to post Oliver Wilms · Jul 29, 2020 I had overlooked when I configured Message Bank operation its name must be the Message Bank operation class name. I have eight IRIS instances running in containers on four EC2 instances. I encounter some connection issues at the moment.
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 · Jun 12, 2020 Hello, I hesitate to use any libraries as I work for Department of Veterans Affairs and they are very picky what is allowed. I see that Ens Portal Production Configuration has dot indicators for status green is okay or red is error and it also draws lines between connected components. It is SVG. I was able to draw rectangles, circles, and lines. The code creates rect elements for boxes and text elements for text. My question is how can I force text to wrap and stay inside a rectangle?
go to post Oliver Wilms · Jun 12, 2020 Good morning Vic, Yes, we want to be able to have multiple productions in containers pulling files from one location. I do not want to use different FileSpecs, because if one container goes away because of scaling down or error, I want the remaining container to continue processing. I agree that work path helps, because when one container processes the file, it is moved to work path, and not visible to others monitoring the file path. When we tested the file lock option with two containers processing 56 files, it appeared to avoid collisions. The other option appears to be more complex especially with variable number of containers.
go to post Oliver Wilms · Jun 12, 2020 Set user = "UnknownUser"Set role = "Services_Role"Set tSC = ##class(Security.Users).AddRoles(user,role)
go to post Oliver Wilms · Jun 11, 2020 Hello, I created a new role in my Installer class. How can I add the new role to Unknown User in Installer class? Thanks, Oliver
go to post Oliver Wilms · Jun 5, 2020 I have uploaded part of the block diagram our boss likes a lot because he can see messages flow (arrows), message types (lines), and points of contact (on the right) on one page. The green check marks indicate everything is okay. If something goes wrong, the numbers refer to the points of contact on the right so support knows who to contact. I envision there will be drill down to more details. I do not want to represent the diagram pixel by pixel, but I look for ways to draw lines and arrows.
go to post Oliver Wilms · Jun 5, 2020 Class Ens.Config.DefaultSettings Extends (%Persistent, %XML.Adaptor). So it is fairly easy to write a class method to update the Default Settings based on Environment var ISC_DATA_DIRECTORY. Next question is, when to call this class method. On Container start? How does this work? On Production start might work but it really only needs to run once. I guess I could check if it already ran, and do not go through all settings each time production starts. If you read this, thanks for your attention and have a good weekend
go to post Oliver Wilms · Jun 5, 2020 I just tested write $System.Util.GetEnviron("ISC_DATA_DIRECTORY") and it returned the ISC_DATA_DIRECTORY of the persistent instance. Currently our application gets file path for file services and operations from System Default Settings. What is a good way to update the System Default Settings based on $System.Util.GetEnviron("ISC_DATA_DIRECTORY")?
go to post Oliver Wilms · Jun 5, 2020 Conor, I agree that each persistent instance needs to have unique ISC_DATA_DIRECTORY. Like you said, they maybe subdirectories under the same directory like /data/data_instA and /data/data_instB, etc. If I want to deploy the same code in two or more containers, our application has file path for File Services. If I get access to ISC_DATA_DIRECTORY such as /data/data_instA or /data/data_instB, I can configure unique file path for each container. Otherwise, if more than one instance has File Service watching the same directory, they may conflict when processing and then moving the file. This can be avoided by having unique file path per container OR unique file spec so two containers do not try to access the same file. I just searched and found $system.Util.GetEnviron(). I will test if this gives me ISC_DATA_DIRECTORY when container is starting or running.