go to post Oliver Wilms · May 28, 2020 Alex, I installed MX on my personal desktop. I configured one connection to IRIS. I run mx.xlsb. I can click on "my connection" and I see four options. I cannot click Design button. Other buttons can be clicked and then I get errors. I am confused. Thanks, Oliver
go to post Oliver Wilms · May 28, 2020 Robert, I added a DSN for an Excel Workbook ODBC 32-bit was my only option on my laptop. When I go to SQL Gateway Connection, I see other DSN but not my Excel DSN. Maybe I will try %Activate next
go to post Oliver Wilms · May 28, 2020 Alex, I looked at MX. I added one connection in the Configuration. I am not exactly sure what to do with this tool. However it sure looks interesting, I am working on a dashboard page where I want to frequently read the status of monitored components from an Excel spreadsheet. I think I should be able to collect the data from another file format. Thanks
go to post Oliver Wilms · May 28, 2020 Thanks for the suggestion. However I am afraid this is also not an approved tool in my work environment.
go to post Oliver Wilms · May 28, 2020 Thanks for the suggestion. However I am afraid this is also not an approved tool in my work environment.
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?
go to post Oliver Wilms · May 19, 2020 Only a local database on the current primary failover member can be added to a mirror; it is added on the primary first,then on the backup, and then on any desired async members. All mirrored databases must be journaled.You must add the same set of mirrored databases to both the primary and backup failover members, as well as to any DRasync members.
go to post Oliver Wilms · May 6, 2020 Ken, I copied your Docker command and I observed user IRIS.DAT database file was under durable storage. I believe it is because of "--env ISC_DATA_DIRECTORY=/dur/iconfig". Best regards, Oliver
go to post Oliver Wilms · May 5, 2020 I am learning Iris and Docker in my free account with Amazon Web Services. I started a new EC2 instance and with Docker. I copied your Docker run command. Then I got into Iris Terminal with this command: docker exec -it iris21 iris session IRIS I was in USER namespace and I populated the global: USER>for i=1:1:10 set ^tmp(i)="" I viewed the global in Management Portal: 34.228.219.65:52773/csp/sys/exp/UtilExpGlobalView.csp?$ID2=tmp&$NAMESPACE=USER&$NAMESPACE=USER I halt out of Iris terminal and review storage. I find two IRIS.DAT for %SYS and user. ubuntu@ip-172-31-45-10:/data/dur/iconfig/mgr$ ls -lttotal 194660-rw-rw---- 1 51773 52773 104857600 May 6 02:53 IRIS.WIJ-rw-r----- 1 51773 52773 94371840 May 6 02:50 IRIS.DAT-rw-rw-r-- 1 51773 52773 38723 May 6 02:48 messages.log-rwxrw-r-- 1 52773 52773 66 May 6 02:38 SystemMonitor.logdrwxrwxr-x 3 root 52773 4096 May 6 02:38 userdrwxrwxr-x 3 root 52773 4096 May 6 02:38 irisauditdrwxrwxr-x 2 52773 52773 4096 May 6 02:38 Temp-rw-rw---- 1 51773 52773 219 May 6 02:38 journal.logdrwxrwxr-x 2 51773 52773 4096 May 6 02:38 journaldrwxrwxr-x 3 52773 52773 4096 May 6 02:38 iristempdrwxrwxr-x 3 root 52773 4096 May 6 02:38 irislocaldata-rw-rw---- 1 51773 52773 35 May 6 02:38 iris.lck-rw-rw---- 1 51773 52773 12 May 6 02:38 iris.ids-rw-rw-rw- 1 51773 52773 58 May 6 02:38 startup.last-rw-rw-rw- 1 51773 52773 2 May 6 02:38 iris.shid-rw-rw-r-- 1 51773 52773 5 May 6 02:38 iris.usedrwxrwxr-x 2 root 52773 4096 May 6 02:38 stream-rw-rw---- 1 51773 52773 938 Feb 7 16:00 irisodbc.ini-rwxrwxrwx 1 51773 52773 0 Feb 7 16:00 ilockubuntu@ip-172-31-45-10:/data/dur/iconfig/mgr$ cd userubuntu@ip-172-31-45-10:/data/dur/iconfig/mgr/user$ ls -lttotal 11272-rw-rw---- 1 51773 52773 11534336 May 6 02:50 IRIS.DAT-rw-rw---- 1 51773 52773 35 May 6 02:38 iris.lckdrwxrwxr-x 2 51773 52773 4096 Feb 7 16:01 stream I remove iris21 container from Docker by this command: docker rm --force iris The IRIS.DAT remained in user directory on my EC2 instance. Management Portal would not work at this time. I reboot EC2 instance from AWS console. I login to EC2 using SSH and check IRIS.DAT files are still there. I rerun the Docker run command to run iris21 again. I can return to Management Portal. It remembered the changed password when I log in. I can see the 10 enties in ^tmp global. I believe you need to use port 51773 to connect Studio to Iris running in Docker container.
go to post Oliver Wilms · Apr 29, 2020 Patrick, Thanks for your reply. Can Intersystems get us a list of the standards they presently support for their existing customers (FHIR, HL7v2.3, 2.4 0r 2.5, Edi or X12, etc.)? From this list we can xmap to our requested protocol and determine if any gaps exist for other protocols. Thanks, Oliver and Terry
go to post Oliver Wilms · Apr 17, 2020 Good morning, I encountered this error when I had to save a lot of data. It happened to me, because either the lock table was full (check console log) or I exceeded the lock threshold so a process would try to lock the entire table which failed because there were other processes also inserting data into the same tables. Hope to help. Oliver
go to post Oliver Wilms · Mar 28, 2020 Thanks to all who put on this contest. It motivated me to get my hands on Docker. Unfortunately I chose a bad topic for my application. I have no mail server to send my email. I tried to work with TCP because that is an alternate solution to a problem I am working on at my regular job. With default steps, I have no ports open to work with local tcp connections. I developed unit testing production for my contest application. I got an error in container that I did not get outside. I learned a lot this week while working on this. It is great if someone can work on what they enjoy doing and enjoy their work. That's me, happy!
go to post Oliver Wilms · Mar 27, 2020 I tried this again today and it worked. No more errors. I did not change anything. I observed that the Login gets a response with a server name and today it is different compared to yesterday's server. Maybe the server I got logged in yesterday did not like me.
go to post Oliver Wilms · Mar 26, 2020 I could not send an email from my Iris container. I created a TestProduction for testing my production. I added a lot of debug statements logging what happens in FileMaker into ^TESTdmlss. Try running the FileMailer application (follow instructions in Read me) and review ^TESTdmlss by typing ZW ^TESTdmlss.
go to post Oliver Wilms · Mar 23, 2020 Evgeny, it still does not work. I had tried to use "yes" instead of "no" for "Ensemble" flag. Now I also tried "1". It still gives me error that superclasses do not exist. Can you please look at my terminal output? I show Installer.cls at the bottom below: [node1] (local) root@192.168.0.23 ~$ git clone https://github.com/oliverwilms/iriscontest2020Cloning into 'iriscontest2020'...remote: Enumerating objects: 64, done.remote: Counting objects: 100% (64/64), done.remote: Compressing objects: 100% (56/56), done.remote: Total 64 (delta 21), reused 19 (delta 4), pack-reused 0Unpacking objects: 100% (64/64), done.[node1] (local) root@192.168.0.23 ~$ cd iriscontest2020/[node1] (local) root@192.168.0.23 ~/iriscontest2020$ docker-compose buildBuilding irisStep 1/16 : ARG IMAGE=store/intersystems/irishealth:2019.3.0.308.0-communityStep 2/16 : ARG IMAGE=store/intersystems/iris-community:2019.3.0.309.0Step 3/16 : ARG IMAGE=store/intersystems/iris-community:2019.4.0.379.0Step 4/16 : ARG IMAGE=store/intersystems/iris-community:2020.1.0.199.0Step 5/16 : ARG IMAGE=intersystemsdc/iris-community:2019.4.0.383.0-zpmStep 6/16 : FROM $IMAGE2019.4.0.383.0-zpm: Pulling from intersystemsdc/iris-community898c46f3b1a1: Pull complete63366dfa0a50: Pull complete041d4cd74a92: Pull complete6e1bee0f8701: Pull complete973e47831f38: Pull completeb0c3b996c3e3: Pull completeb48eef952cda: Pull complete8254746f78e2: Pull completeec1f0f74baf0: Pull completefdc6015ec77d: Pull completeb72c9a7f8270: Pull completec108d032e6d0: Pull completecaf30f8515db: Pull complete02b9549ccbc9: Pull completeDigest: sha256:fc52a2359da312a5c39010a24d15e84a09ed6f3f2828e54021ebed54a3cb4c1aStatus: Downloaded newer image for intersystemsdc/iris-community:2019.4.0.383.0-zpm ---> 2f9eb08f28e3Step 7/16 : USER root ---> Running in 78efd07fbcb0Removing intermediate container 78efd07fbcb0 ---> c8f8dddbd96eStep 8/16 : WORKDIR /opt/irisapp ---> Running in a436b17bdd9cRemoving intermediate container a436b17bdd9c ---> da8cdcae02a1Step 9/16 : RUN chown ${ISC_PACKAGE_MGRUSER}:${ISC_PACKAGE_IRISGROUP} /opt/irisapp ---> Running in 1698d44c50ebRemoving intermediate container 1698d44c50eb ---> c9c75c4960cdStep 10/16 : USER irisowner ---> Running in dd49a263a773Removing intermediate container dd49a263a773 ---> abef13ffc4deStep 11/16 : COPY Installer.cls . ---> b01d3b536e89Step 12/16 : COPY src src ---> 6ed1aa33393eStep 13/16 : COPY irissession.sh / ---> 2b8436f61475Step 14/16 : SHELL ["/irissession.sh"] ---> Running in 9eca533f3ef5Removing intermediate container 9eca533f3ef5 ---> 63ee158e5412Step 15/16 : RUN do $SYSTEM.OBJ.Load("Installer.cls", "ck") set sc = ##class(App.Installer).setup() ---> Running in afd2046fb280This copy of InterSystems IRIS has been licensed for use exclusively by:InterSystems IRIS CommunityCopyright (c) 1986-2019 by InterSystems CorporationAny other use is a violation of your license agreementStarting IRIS Node: afd2046fb280, Instance: IRIS %SYS> %SYS> Load started on 03/24/2020 02:21:26Loading file Installer.cls as udlCompiling class App.InstallerCompiling routine App.Installer.1Load finished successfully.2020-03-24 02:21:26 0 App.Installer: Installation starting at 2020-03-24 02:21:26, LogLevel=32020-03-24 02:21:26 3 Evaluate: #{$system.Process.CurrentDirectory()}src -> /opt/irisapp/src2020-03-24 02:21:26 3 SetVariable: SourceDir=/opt/irisapp/src2020-03-24 02:21:26 3 SetVariable: Namespace=IRISAPP2020-03-24 02:21:26 3 SetVariable: app=irisapp2020-03-24 02:21:26 3 Evaluate: ${Namespace} -> IRISAPP2020-03-24 02:21:26 3 Evaluate: ${Namespace} -> IRISAPP2020-03-24 02:21:26 3 Evaluate: ${Namespace} -> IRISAPP2020-03-24 02:21:26 3 Evaluate: ${Namespace} -> IRISAPP2020-03-24 02:21:26 3 Evaluate: /opt/${app}/data -> /opt/irisapp/data2020-03-24 02:21:26 3 Evaluate: %DB_${Namespace} -> %DB_IRISAPP2020-03-24 02:21:26 1 CreateDatabase: Creating database IRISAPP in /opt/irisapp/data/ with resource %DB_IRISAPP2020-03-24 02:21:26 2 CreateDatabase: Overwriting /opt/irisapp/data/IRIS.DAT2020-03-24 02:21:26 2 CreateDatabase: Adding database IRISAPP2020-03-24 02:21:26 2 CreateDatabase: Creating and assigning resource '%DB_IRISAPP' to IRISAPP2020-03-24 02:21:26 1 CreateNamespace: Creating namespace IRISAPP using IRISAPP/IRISAPP2020-03-24 02:21:26 2 CreateNamespace: Adding namespace IRISAPP2020-03-24 02:21:26 1 ActivateConfiguration: Activating Configuration2020-03-24 02:21:26 3 Evaluate: ${SourceDir} -> /opt/irisapp/src2020-03-24 02:21:26 1 Import: Loading /opt/irisapp/src (isdir=1) into IRISAPP, recurse=1 Load of directory started on 03/24/2020 02:21:26 Loading file /opt/irisapp/src/DMLSS/FilePassthroughService.cls as udlLoading file /opt/irisapp/src/DMLSS/EmailPassthroughOperation.cls as udlLoading file /opt/irisapp/src/DMLSS/Production.cls as udlLoading file /opt/irisapp/src/PackageSample/ObjectScript.cls as udlLoading file /opt/irisapp/src/DMLSS/Util.cls as udlLoading file /opt/irisapp/src/PackageSample/PersistentClass.cls as udl Compilation started on 03/24/2020 02:21:26 with qualifiers 'ck'ERROR #5373: Class 'Ens.BusinessOperation', used by 'DMLSS.EmailPassthroughOperation:superclass', does not existSkip class DMLSS.EmailPassthroughOperationERROR #5373: Class 'Ens.BusinessService', used by 'DMLSS.FilePassthroughService:superclass', does not existSkip class DMLSS.FilePassthroughServiceERROR #5373: Class 'Ens.Production', used by 'DMLSS.Production:superclass', does not existSkip class DMLSS.ProductionCompiling 3 classes, using 3 worker jobsCompiling class DMLSS.UtilCompiling class PackageSample.ObjectScriptCompiling class PackageSample.PersistentClassCompiling table PackageSample.PersistentClassCompiling routine PackageSample.ObjectScript.1Compiling routine DMLSS.Util.1Compiling routine PackageSample.PersistentClass.1Detected 3 errors during compilation in 0.112s. ERROR #5373: Class 'Ens.BusinessOperation', used by 'DMLSS.EmailPassthroughOperation:superclass', does not existDetected 3 errors during load.2020-03-24 02:21:26 0 App.Installer: ERROR #5373: Class 'Ens.BusinessOperation', used by 'DMLSS.EmailPassthroughOperation:superclass', does not exist2020-03-24 02:21:26 0 App.Installer: ERROR #ConfigFailed: Unknown status code: <Ins>ConfigFailed ) > ERROR #5373: Class 'Ens.BusinessOperation', used by 'DMLSS.EmailPassthroughOperation:superclass', does not exist2020-03-24 02:21:26 0 App.Installer: Installation failed at 2020-03-24 02:21:262020-03-24 02:21:26 0 %Installer: Elapsed time .423668s %SYS>ERROR: Service 'iris' failed to build: The command '/irissession.sh do $SYSTEM.OBJ.Load("Installer.cls", "ck") set sc = ##class(App.Installer).setup()' returned a non-zero code: 1[node1] (local) root@192.168.0.23 ~/iriscontest2020$ cat Installer.clsClass App.Installer{ XData setup{<Manifest> <Default Name="SourceDir" Value="#{$system.Process.CurrentDirectory()}src"/> <Default Name="Namespace" Value="IRISAPP"/> <Default Name="app" Value="irisapp" /> <Namespace Name="${Namespace}" Code="${Namespace}" Data="${Namespace}" Create="yes" Ensemble="1"> <Configuration> <Database Name="${Namespace}" Dir="/opt/${app}/data" Create="yes" Resource="%DB_${Namespace}"/> <Import File="${SourceDir}" Flags="ck" Recurse="1"/> </Configuration> <CSPApplication Url="/csp/${app}" Directory="${cspdir}${app}" ServeFiles="1" Recurse="1" MatchRoles=":%DB_${Namespace}" AuthenticationMethods="32" /> </Namespace> </Manifest>} ClassMethod setup(ByRef pVars, pLogLevel As %Integer = 3, pInstaller As %Installer.Installer, pLogger As %Installer.AbstractLogger) As %Status [ CodeMode = objectgenerator, Internal ]{ #; Let XGL document generate code for this method. Quit ##class(%Installer.Manifest).%Generate(%compiledclass, %code, "setup")} }
go to post Oliver Wilms · Mar 23, 2020 Hello, For the contest we use Iris Community Edition. Does it support Ensemble? I got compile error because Ens.BusinessOperation base class did not exist. Thanks, Oliver
go to post Oliver Wilms · Feb 13, 2020 All I need to do is create a new stream and write the contents of pInput stream with $Char(13) removed and then pass the new stream to the superclass: Class Utility.RecordMap.Service.ComplexBatchFileService Extends EnsLib.RecordMap.Service.ComplexBatchFileService{ /// Parse the incoming file and send the resulting ComplexBatch to the targets in TargetConfigNames./// *** In Windows strip out any Char(13) *** Oliver T Wilms *** 2/11/2020Method OnProcessInput(pInput As %Stream.Object,Output pOutput As %RegisteredObject,ByRef pHint As %String) As %Status{Set tStatus = $$$OKTry {Set tLookAhead = ""Set tmpStream = ##class(%Stream.GlobalCharacter).%New()While 'pInput.AtEnd {Set x = pInput.Read(.len,.tStatus)If (x [ $Char(13)) {Set x = $Translate(x,$Char(13))}Do tmpStream.Write(x)}Set tStatus = ##super(tmpStream,.pOutput,.pHint)}Catch ex {Set tStatus = $$$EnsSystemError}Quit tStatus} }
go to post Oliver Wilms · Feb 12, 2020 I decided to create a new FileService class extending EnsLib.RecordMap.Service.ComplexBatchFileService. The intention is to strip any $Char(13) out of the stream that gets parsed / passed to Re3cordMap. I found CopyReplace() method in %IO.I.Stream class. I try to overwrite OnProcessInput() in FileService class. I try pInput.CopyReplace() but that method does not exist for pInput stream. Is this a good solution approach? What am I missing? Any Stream objects experts available to help out? Thank you for your attention
go to post Oliver Wilms · Dec 16, 2019 I am pretty sure I have used SQL Outbound Adapter with local cache database / namespace. I think you should be able to do the same for Inbound Adapter. I had to create a system DSN when I set this up on my Windows laptop.