#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Article Elijah Tamarchenko · Feb 8, 2024 2m read

Interacting with Users in the Terminal: A Guide to Using %Library.Prompt in IRIS

 

Have you ever wondered how commands like ^DATABASE engage users in the terminal? Or perhaps you're writing an automation routine and want ways to specify options directly from the terminal. Thankfully, the %Library.Prompt class in IRIS offers a straightforward way to do so!

String Input

For basic input, such as asking the user to provide a filepath or namespace, use the following code:

set status = ##class(%Library.Prompt).GetString("Input filepath:", .path)

This code prompts the user to input a string, which could

2
3 397
Article Hiroshi Sato · Feb 8, 2024 1m read

InterSystems FAQ rubric

On Linux, use the following steps to delete an instance of InterSystems IRIS (hereinafter referred to as IRIS).

(1) Stop the IRIS instance you want to uninstall using iris stop 

# iris stop <instance name>

(2) Delete the instance information using the following command 

# iris delete <instance name>

(3) Delete the IRIS installation directory using the rm -r command 

# rm -r <install directory>

In addition to the installation directory, IRIS also uses (a) and (b) below.

-----------------------------------------
(a) /usr/local/etc/irissys <folder>
(b) /usr/bin/iris
0
1 674
Question Kurro Lopez · Feb 8, 2024

Hi all,

We have a class response inherited from %JSON.Adaptor with the following properties, also dependent classes:

 

Kurro.app.Msg.Search.Response

 

Kurro.app.Msg.Common.Searc

3
0 230
Announcement Emily Geary · Feb 8, 2024

Hello Everyone,

The Certification Team of InterSystems Learning Services is developing an InterSystems IRIS Developer Professional certification exam, and we are reaching out to our community for feedback that will help us evaluate and establish the contents of this exam.

Note: This exam will replace the current InterSystems IRIS Core Solutions Developer Specialist exam when it is released. Please note from the target role description below that the focus of the new exam will be more on developer best practices and a lot less on the ObjectScript programming language.

How do I provide my input? Co

0
1 420
Discussion Eduard Lebedyuk · Jan 26, 2024

Multi-tap or multi-press is the name given to the historic technique of writing SMS on the first mobile phones with a keyboard of 10-12 numeric keys. For example, to type LOL you need to press 5 three times, 6 three times and 5 three times again. Your task is to write a function that takes a string as input and returns the repeated digits associated with each character according to the multi-tap system. Should consider letters from A to Z, doesn't distinguish between upper/lowercase characters. Numbers are allowed, and any punctuation should be ignored.

multitap system

Input

"Example"

Output

"339926755533"

Note

18
1 692
Question Scott Roth · Dec 14, 2023

I am trying to troubleshoot an issue with LDAP and a specific user. Besides what is in the Audit Database is there another way to look to see the LDAP functionality that is being called and the response, like there is with OAuth and the ISCLOG? The Audit Log is returning a failure (Unexpected - /api/atelier login failure | InterSystems Developer Community) for this particular user, and I want to get proof that it might be something with the LDAP and not IRIS.

Thanks

Scott

6
0 559
Article Evgeny Shvarov · Jan 25, 2024 2m read

Hi Devs!

Recently I was impressed by @Dan Pasco's article where he shares also how he uses terminal aliases. 

Terminal aliases is a very powerful tool for developers and sys admins if you often need to call some cumbersome terminal expressions and make it shorter and cleaner. Here is the documentation.
Yes! 

But what about Docker environments? What if you are fan of Docker dev environments but also want to keep using your favorite aliases with Docker as well?

Turned out it is very possible.

12
0 396
Question Jonathan Day · Feb 7, 2024

Hi,

I'm having a few issues with keeping Ubuntu happy and stable, and it seems to be something at the OS level rather than within IRIS itself. My thought is to simply pare back the stuff that Ubuntu LTS runs by default, which will free up system resources (which really shouldn't be a problem, but it might help) and reduce the amount that can go wrong.

Are there any guides as to what can be safely disabled at boot time, or are required to be enabled?

1
0 191
Question Kurro Lopez · Feb 7, 2024

Hi community.

Yes, I know that there is other question "VS Code - debugging doesn't work" that is the same issue, but my IRIS instance is not using IIS.

Some times ago, I could debug without problems, but after some updates of Visual Studio, I get the following error

Failed to start the debug session. Check that the Intersystems server's web server supports WebSockets

I've activated the WebSocket protocol in the server (Windows Server 2019) but it still doesn't work.

The IRIS instance is not using IIS, I think it is using the Apache by default.

Do I need to do anything in special?

The launch.json f

3
0 308
Article Sylvain Guilbaud · Feb 1, 2024 5m read

Hello Community,

SQL language remains the most practical way to retrieve information stored in a database.

The JSON format is very often used in data exchange.

It is therefore common to seek to obtain data in JSON format from SQL queries.

Below you will find simple examples that can help you meet this need using ObjectScript and Python code.

ObjectScript : using Dynamic SQL with %SQL.StatementJSON structures with %DynamicObject and %DynamicArray

ClassMethod getJSON() As%String
{
    // declaration of an SQL queryset query = "SELECT top 3 name,age,to_char(dob,'Day DD Month YYYY') as dob
1
4 570
Article Robert Barbiaux · Feb 2, 2024 4m read

Introduction

This article attempt to summarize and update on the exchanges in this post. Please feel free to comment.
ObjectScript is based on MUMPS, a programming language dating back to 1966. At the time, and for quite a long period, memory and cpu resources were scarce, as was terminal screen space, and a very concise (and easily decodable) syntax was preferred (as, for example in C). Nowadays,  we no longer have the same memory and screen limitations,  and code readability and maintainability is far more important.
While ObjectScript is still compatible with all the old compacted syntaxes

4
1 424
Question Evgeny Shvarov · Feb 3, 2024

Hi folks!

Sometimes building an images via docker-compose.yml can take significant time.

And often after a minute or two of waiting it turns out that ports listed in docker-compose are busy and you need to start building process again with different ports or to turn down processes that took it.

Is there a way to check ports listed in docker-compose BEFORE starting the image baking process?

How do you deal with this problem?

3
0 628
Question Kurro Lopez · Feb 1, 2024

Hi community.

I have an API that is deployed in my production (business service) and it calls to a business process to retrieve the information that is requested.

The problem that I have is that the calls are queued and it's creating a bottleneck 

The business process is taking more time than needed.

Is possible to configure the BP to process parallely the requests?

I'm thinking to increase the pool parameter, but I'm not sure if it's a good idea.

Best regards 

4
0 287
Question Eyal Levin · Jan 28, 2024

Hi, I was wondering if anyone already dealt with this issue:
"System has been suspended for over X seconds, exceeding the maximum duration specified. Allowing system activity to resume. Any ongoing backup has presumably failed. Next InterSystems IRIS backup must be a full one"

our backup system "Commvault" is automatic, how do you tell it once you get this message that the next backup should be full?

thanks,

Eyal

11
0 329
InterSystems Official Timothy Leavitt · Nov 29, 2023

We are excited to announce a new part of InterSystems documentation that makes it easier to upgrade InterSystems IRIS® data platform, InterSystems IRIS® for Health™, or HealthShare® Health Connect. The Upgrade Impact Checklist at https://docs.intersystems.com/upgrade shows you all the things you need to consider – and only the things you need to consider – in an upgrade between any two versions. This takes all the content from our "Incompatibility History" and adds convenient filters, higher-level categories, and the ability to export the list as a CSV file so you can use it as a true

8
3 728
Question Norman W. Freeman · Feb 1, 2024

A class (and routine) definition can sometimes differ from it's compiled state.
When such a thing occurs, a "+" sign will be shown in the tab of the file opened in Studio.

I would like to do the same check programmatically.

For routines, it's very simple : 

set routine=##class(%Routine).%New(name)        
write routine.UpToDate

For classes, I could not find the equivalent. The only solution I found so far is to compare the compilation date and definition date :

set classCompiled = ##class(%Dictionary.CompiledClass).%OpenId(name)            
set classDefinition = ##class(%Dictionary.ClassDefinition
4
0 268
Question Tani Frankel · Feb 1, 2024

Is it possible to authenticate an xDBC (ODBC/JDBC) connection to InterSystems IRIS via (a 3rd party) OAuth server?

For REST APIs this is possible, but could this be achieved with OAuth? 

Out-of-the-box the ODBC/JDBC Drivers don't seem to have this option, but maybe some custom code could enable this? perhaps via Delegated Authentication and some OAuth classes customization, or some other way?

Has anyone done this already and can share how it was implemented, or someone with some guideline suggestions?

0
0 216
Article Rob Ellis · Jan 31, 2024 2m read

Do you ever spend an age entering criteria in the message viewer page, trying to find a message just to realise you're in the wrong instance of IRIS? 

Or get lost in a sea of message tabs struggling to spot that Visual Trace page your were JUST looking at?

Well, have you tried the IRIS WHIZ browser extension and its suite of tools designed to help you avoid such unpleasantness?

1
2 312
Question Luis Angel Pérez Ramos · Jan 30, 2024

A customer contacted me with a problem trying to install Health Connect 2023.1 in a server with Red Hat 8 (no idea what 8.? it is). After review the logs the only error received are:

/tmp/HealthConnect-2023.1.0.235.1-lnxrh8x64/package/healthshare_databases/parameters returned 1.
	
	doParameters /tmp/isc_package_tmp_pid_21033/parameters.isc /tmp/isc_package_tmp_pid_21033 /var/log/isc/IRISInstall_202401191303.log healthshare_databases

...failed CallCommand healthshare_databases.package ...
...skipped databases.package for lack of healthshare_databases.package...

 And:

Jan 1913:07:13:
5
0 286
Question Scott Roth · Jan 29, 2024

Lately my group has been seeing issues when signing in through the Management Portal or VS Code we are getting "Service Unavailable" errors returned to us. We recently migrated away from using the PWS to using Apache/InterSystems Web Gateway and using LDAP instead of Delegated Authentication. 

I have been on the hunt to find out where the problem might lie. When I run the "Test LDAP Authentication" from within the Management Portal, eventually I receive a response after getting a couple of timeouts while waiting for the response.

Authenticated user roth16 10 times in 26.177111 seconds -

1
0 485
Question Kurro Lopez · Jan 31, 2024

Hi community,

We have a developed a new version of a production, all the code is new and has changed BP. This application load information for some brands and stored in database.

The customer wants to implement the changes only for some brands because he wants to check for small brands before to implement for all brands.

My proposal is create a new namespace, with the new code, and disabled all load of brands except the brand that he wants to check.

I'm wondering what is the best way to clone the namespace.

My first attempt is to make a copy of the databases (data and code) of namespace 1, create

2
0 453
Question Yone Moreno · Jan 29, 2024

Hello,

First of all thanks for your help reading and answering this question, and thanks for your time.

We have been investigating how to handle the following need:

Our client which has the system which reveices our ESB's responses needs a SOAP response as follows, where all the ACK is inside a top XML tag called <ACK>:

<?xml version="1.0" encoding="UTF-8"?><ACKxmlns="urn:hl7-org:v2xml"><MSH><MSH.1>|</MSH.1><MSH.2>^~\&amp;</MSH.2><MSH.3><HD.1>sistemaExterno</HD.1></MSH.3><MSH.4><HD.1>scs</HD.1><HD.2>
3
0 378
Question Kari Vatjus-Anttila · Jan 25, 2024

Hello,

How can I send a request via a SOCKS5 proxy in IRIS, using, for example, EnsLib.REST.Operation?

Background

I need to access APIs inside my corporate network, to which I don't have direct access from my home office. I've set up a SOCKS5 proxy via SSH on my host machine like this:

ssh -D 9999 server.corporate.com

I can then make requests with curl to the APIs I need:

curl -x socks5h://localhost:9999 https://api.corporate.com/api/some/endpoint

And I receive a response. Simple!

Also, inside the containerized IRIS, I can execute the request:

curl -x socks5h://host.docker.internal:9999
2
0 359
Question Emil Odobasic · Dec 20, 2023

Hello everyone!
I am wondering how I can retrieve multipart form-data from a request that is coming into my REST-service.
I am supposed to retrieve a string and a file. The file is being retrieved without issues, but the "testprofile" string is not being retrieved at all.
It just logs a an empty entry. 
The request that is sent to my REST-service has the Content-Type: multipart/form-data
Thanks beforehand for the help! :)

Down below is the code I use right now to retrieve the string and file from Form-data Rest HTTP-request to my service.

    set vProfile = %request.Get("testprofile")
    set vFilen 

5
0 941
Question Emil Odobasic · Jan 8, 2024

Hello everyone!
I am receiving a HTTP multipart/form-data request into my rest service.
How can I read the values for each Key in the form?
The key "Profile" is sent to my service as a String data type.
The code I have below does not seem to work, where I try to read the Key profile in the form.

I appreciate all the help I can get! :)

26
0 917