发布新帖

查找

问题
· 四月 18, 2024

initial user account

I installed a local docker container instance from here:   intersystemsdc/iris-community

I'm trying to login:    http://localhost:52773/csp/sys/UtilHome.csp

I thought if I used SYSTEM as the initial username, I could login, but I get #822 Access Denied.

Is that the correct username? maybe there's a better location to pull the docker instance.

***************nevermind, figured it out

3 Comments
讨论 (3)2
登录或注册以继续
问题
· 四月 11, 2024

Question about InterSystems API (IAM) install from tar file with IRIS running locally

I downloaded IAM-3.4.2.0-5604.tar.gz from the Online Distribution site this morning, it the implementation to install it on our Development environment to see if it is a viable solution. Following the instructions, I have ran into an issue trying to make sure I am entering the information into the prompts correctly.

I have IRIS HealthShare Health Connect 2024.1 running locally using a Local Web Server, so when prompted I have entered the IP Address and port 443 is that correct? 

:>iam-setup.sh
Welcome to the InterSystems IRIS and InterSystems API Manager (IAM) setup script.
This script sets the ISC_IRIS_URL environment variable that is used by the IAM container to get the IAM license key from InterSystems IRIS.
Enter the full image repository, name and tag for your IAM docker image:
intersystems/iam:3.4.1.0
Enter the IP address for your InterSystems IRIS instance. The IP address has to be accessible from within the IAM container, therefore, do not use "localhost" or "127.0.0.1" if IRIS is running on your local machine. Instead use the IP address of your local machine. If IRIS is running in a container, use the IP address of the host environment, not the IP address of the IRIS container:
xxx.xxx.xxx.xxx
Enter the web server port for your InterSystems IRIS instance:
443
Enter the password for the IAM user for your InterSystems IRIS instance:
Re-enter your password:
If local policy requires that HTTPS be used for communication, please provide the full path to your CA Certificate file now. Otherwise hit "Return":
/etc/pki/ca-trust/source/anchors/OSUWMC_CA.pem
If your InterSystems IRIS instance is only accessible via its CSPConfigName URL prefix, please provide the prefix with a trailing slash (/) now. Otherwise hit "Return":

Your inputs are:
Full image repository, name and tag for your IAM docker image: intersystems/iam:3.4.1.0
IP address for your InterSystems IRIS instance: xxx.xxx.xxx.xxx
Web server port for your InterSystems IRIS instance: 443
CA Certificate for HTTPS: /etc/pki/ca-trust/source/anchors/OSUWMC_CA.pem
CSPConfigName URL prefix:
Would you like to continue with these inputs (y/n)?
y
Getting IAM license using your inputs...

Couldn't reach InterSystems IRIS at xxx.xxx.xxx.xxx:443. One or both of your IP and Port are incorrect.

I have verified that...

  • IAM user is enabled
  • /api/iam is enabled

What port should be specified if you are running a Local Web Server/Web Gateway?

Thanks

Scott

9 Comments
讨论 (9)2
登录或注册以继续
问题
· 四月 10, 2024

Initiating a Method After a Timeout During Message Delivery

Hello everyone,

I'm currently working on a business operation that employs a retry mechanism with a FailureTimeout = -1. So, this BO attempts to resend the message at the end of a RetryInterval of n seconds (n is configurable).

What I would like to achieve is to set a timer that runs in parallel with the sending mechanism so that, If I don't receive a response within m seconds (also is configurable and m<=n) from the initial message send (with RetryCount = 1), an alert or something similar is triggered. The latter should initiate a second method to run concurrently with the first one (which is still attempting to send), allowing me to send a message to a business process to handle the situation. Then this BP will process the alert appropriately, such as sending an email or notification.

I've tried some solutions using the JOB command and the BO's Alerting settings (for ex., Queue Wait Alert), but I haven't been able to achieve the desired result. I'm not familiar with process parallelization in IRIS, so I was wondering if someone more experienced could point me in the right direction for this implementation.

Thank you

4 Comments
讨论 (4)3
登录或注册以继续
文章
· 四月 9, 2024 阅读大约需 2 分钟

Foreign Tables with CSV in action

FOREIGN TABLES is a rather fresh feature in IRIS  (2023.?)
So I was motivated to try something new by own hands.
Documentation of Foreign Table from File is a good starting point.
Also the related promotional video is fine to start with.


The  advantages of the approach are pretty obvious to me

  • differently to SQL LOAD DATA data remain outside IRIS
  • you pick out what is useful to you and leave the remaining junk aside
  • this seems to be especially attractive for UPDATE and ADD-ON data
  • when you are done you have no pollution of your IRIS instance

On my way to create the example I met some facts that I want to share

  • The requirement of a JAVA language server is only mentioned in LOAD DATA
    • You fail at first access  if it is missing.  Docker Containers have it.
    • My personal environment doesn't need it.
  • Next surprise: What is this FOREIGN SERVER for?
    • Just a placeholder to point to your directory of your CSV-file
  • Creation of the TABLE is pretty straight forward and very flexible
  • Skipping USING clause presented my headers as first ROW of the table
  • And as it's no real table and had no ROW numbers I missed my numeric ID's
  • No surprise: It is READ ONLY, No Updates
  • Also: Finding the right mix of single and double quotes is some challenge
  • Similar: Data presentation in CSV can be tricky
    • Most simple approach: - thinking of date formats -
    • Declare critical columns as VARCHAR 
    • Then handle useful transformations or content check locally  
  • Finally:
    • the Table is visible for SQL but there is no related Class to it
    • you have no chance to play with CALCULATED properties

Summary

  • A great and highly useful feature
  • You have to understand the limits
  • Adjust your expectations to the available options
  • Test also the "impossible" combinations - they will pop up

Enjoy the demo package
GitHub
 

2 Comments
讨论 (2)2
登录或注册以继续
文章
· 四月 3, 2024 阅读大约需 2 分钟

Comfortable VSCode Auto Save and ObjectScript CompileOnSave settings

Hi - Recently I have been investigating an annoying situation whilst editing ObjectScript classes or routines in VSCode.

What was happening to me was, as I was typing in lines of code into my class (for example, adding a new Method, or changing the Class signature, or a block of code),  this would quickly get syntax checked, re-formatted, and compiled - inevitably, (since I would be mid-way through my typing), this would generate compilation errors.

Knowing that I was mid-way through adding code, I could simply dismiss this message, however, this soon got very annoying, and conditioned me to ignore the error (which is not a good thing).

Even worse, however, is that the compilation process also reformatted the document and sometimes broke what was previously well formatted lines of code (appearing below the line I was writing) - which required me to go into that area of the document and fix them back up.

What's going on ?

There are two settings at play here:

  1. VSCode's auto-save (files.autosave) settings which dictates wether to automatically save a document that has been changed, and if so, how long to wait before saving (files.autoSaveDelay)
  2. ObjectScript extension's compileOnSave (objectscript.compileOnSave), which determines wether after saving the document, this also imports into and compiles on the connected IRIS namespace.

Since I had autosave turned on, and on a short wait delay together with compileOnSave meant that partially edited code kept compiling, generating the above erros, and as mentioned, sometimes re-formatting good, pre-existing blocks of code.

In my case, I have settled on the following:

  1. AutoSave (files.autosave) off (autosaveDelay is ignored),  and
  2. CompileOnSave (objectscript.compileOnSave) on.

Now, when I'm happy with my edits (in my own time !), I press Ctrl-S, to save, import and compile my class, and look out for that pop-up message which has real meaning and purpose now.

You may choose a different combination, (for example, go ahead and Autosave after 5 minutes or so, accepting the code may not fully compile), however, I've found the above combination works for me, and hope that - if you are experiencing the same annoyance, then, this article may help you find your optimum configuration.

Thankyou to @Patrick Sulin, and @Raj Singh for pointing me in the direction of these settings !

Steve Pisani

12 Comments
讨论 (12)8
登录或注册以继续