#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.

Question Edoeard Kroetkov · Mar 17, 2023

Goodday,

I would like to Validate token signature with public key i have in pem format, i am using below  code but i get error message. Could you please tell me what i am doing not right? FOUT #5002: Caché fout : <DIRECTORY>zLinkToFile+2^%Stream.FileBinary.1 *-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMI ...

hier is my code

Method ValidateTokenWithPublicKey(jwt As %String) As %String
{
   
     Set tFile=##Class(%File).%New("c:\Kety\publicKey.pem")
    Do tFile.Close()
    Set tStatus=tFile.Open("RU")
    $$$ThrowOnError(tStatus)
    Set tPublicKey=tFile.Read()
    Do

1
0 282
Question Evgeny Shvarov · Feb 19, 2023

Hi folks!

Lately (maybe last 2-3 years) I develop with IRIS exclusively in docker - so iris instance I use for compiling and running IRIS apps is local.

And most every time I enter password for management portal and web-apps. The same password every time. Sounds familiar?

Is there an easy way to have a parameter in docker build  for a "dev-mode" that will not ask me a password?

8
0 562
Question Stella Ticker · Mar 18, 2023

Is there a command that will loop through the flat files of a given Linux/Unix folder?  I can write the code to open and read each file. But the file names are unknown. I am looking for a way to access each file given a named Linux folder. The files have differing structures so a record map will not work.

Thank you for reading and thank you even more for answering!

1
0 503
Announcement Anastasia Dyubaylo · Mar 17, 2023

Hey Community,

Tired of entering login-password during the docker build with your InterSystems IRIS every time?

There is a handy way to turn it on and off – use the passwordless zpm module.

Watch this video to explore how to use the passwordless ipm module to turn on and off entering login-password during docker build with your InterSystems IRIS:

⏯️ Passwordless mode for development with InterSystems IRIS

0
0 436
Article Akio Hashimoto · Mar 17, 2023 3m read

I have experienced that my iris server is gone due to upgrading the docker version when I have built IRIS server on docker container.

Based on this experience, I'd like to show you how to make a backup for the IRIS server before upgrading platform or docker, and the procedure for rebuilding the IRIS in a new environment.

###IRIS server backup procedure

When you have finished building for the IRIS server, you need to make a backup.

I recommend you that you make a backup before upgrading if you have classes,routines and globals that you want to take over when you rebuild your environment.

0
0 653
Question Scott Roth · Mar 10, 2023

I am looking into creating a ZSTOP as you probably have seen from my previous posts, is there a way to capture the type of shutdown that occurred? So say if there was an unknown hardware failure (forced), vs a user shutdown? Mainly looking for user or system shutdown when we force another destination to become the primary in the mirror. So if a user shutdown the production to do.,... Task A, Task B etc..

 

Thanks

Scott 

3
0 483
Question Robert Cemper · Mar 14, 2023

To prepare a migration to IRIS I use Docker images.
The (aged) application is built around Caché Terminal
And on Windows,  IRIS uses the same ctelnetd.exe as Caché.

In my Docker installation, Telnet Settings are just grayed out in SMP.
and my Terminal can't 'connect.
Port mapping is OK and verified with TCP

Working from the console in Docker  with the whole set of ESC and
screen formatting is not acceptable.
We tried WebTerminal but there is just no Partition behind as in Terminal.

How can I switch on Telnet support in the Docker image?
 

4
0 362
Question Martin Staudigel · Mar 14, 2023

Hello,

I want to generate and return an http response based on the input of a http GET request. For my first steps I used an EnsLib.Http.GenericService, which uses an EnsLib.HTTP.InboundAdapter to receive requests like http://[my server]:[my-port]/some-path?ID=12345678.

On the inbound side I receive a EnsLib.HTTP.GenericMessage Object which contains the parameters and some other useful information that I can work with. What I would like to do now is to create a simple HTML page, which contains some Information specific for the given parameter values.

5
0 747
Question Sitthisak Sutim · Feb 14, 2023

Hi Every one

 

I'm working on how to use SOAP with my API and StoredProc.

Currently, the method I use is csp page to be able to get pamater from external website and Call my StoredcProc
Step 1 Get pamameter from external site
Step 2 Run My Storeproc
Step 3 Return JSON format

 

How to create soap and call StoredProc function from external website?

3
0 263
Question Mohammed Alhato · Mar 14, 2023

Hi all,

When I run the ^SystemPerformance utility to collect performance data about my IRIS instance (community), it manages to collect all sorts of data except for data related to ^perfmon. I am using %SYS to run the utility which should have all privilages, not sure what's meant by the below error message

perfmon

Command failed to run.
Error response from 'logman' command:


Error:
Access is denied.
Try running this command as an administrator.

Thank you!

3
0 348
Article Murray Oldfield · Nov 14, 2019 6m read

Released with no formal announcement in IRIS preview release 2019.4 is the /api/monitor service exposing IRIS metrics in Prometheus format. Big news for anyone wanting to use IRIS metrics as part of their monitoring and alerting solution. The API is a component of the new IRIS System Alerting and Monitoring (SAM) solution that will be released in an upcoming version of IRIS.

However, you do not have to wait for SAM to start planning and trialling this API to monitor your IRIS instances.

2
7 2250
InterSystems Official Fabiano Sanches · Mar 7, 2023

InterSystems announces its third developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Some of these features or improvements may not be available in this current developer preview.

Future preview releases are expected to be updated biweekly and we will add features as they are ready.

7
0 436
Article Heloisa Paiva · Mar 10, 2023 3m read

Introduction

This article is intended to be a simple tutorial on how to create ODBC connections and working with them, since I found starting with them a little bit confused, but I had amazing people to take my hand and walk me through it, and I think everyone deserves that kind of help too.
I'm going to divide each little part in sections, so feel free to jump to the one you feel the need to, although I recommend reading everything.
I'm going to use the sample data created in a previous article, Quick sample database tutorial: Samples.PersistentData, with the properties Name and Age.

0
2 1120
InterSystems Official Fabiano Sanches · Jan 31, 2023

InterSystems is pleased to announce the 2022.3 release of InterSystems IRIS Data Platform, InterSystems IRIS for Health, HealthShare Health Connect, and InterSystems IRIS Studio are now Generally Available (GA).

2022.3 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in 2022.3, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. The new FHIR SQL Builder and enhancements to Columnar Storage are included, but both are still experimental features (not for production, with an active Early Access Program in place).

3
0 470
Question Norman W. Freeman · Mar 9, 2023

I use the following query to get a list of all classes : 

select * from %Dictionary.ClassDefinition 
where System=0 and Hidden=0 

It works, but AFAIK it return all classes from all namespaces, including the ones defined in %SYS (usually classes they starts with % like %CSP).

I would like to get only classes of current namespace. I have checked all the columns returned by the query and none allow to filter on a given namespace.

The solution I am looking for does not need to be a query, the query I posted above is called from code.

1
1 974
Question Scott Roth · Mar 7, 2023

I am working on setting up our Failover techniques as we move to a Mirror Environment with a Arbiter, 2 Failover Nodes, and a Async (DR) Node. There are some system commands that I would like to call when the Mirror moves, and I am working on a ZMIRROR routine for that, but I also wanted to create an additional step if we wanted to manually shutdown and for the Mirror to move. So I was looking at using ZSTOP to call a couple of different items while shutting down, while the documentation has an example a couple of questions come to mind about using ZSTOP.

3
0 398
Article Elliott Grey · Mar 7, 2023 10m read

Foreword

InterSystems IRIS versions 2022.2 and newer feature a redesigned functionality for JSON web tokens (JWTs). Once housed under the %OAuth2 class package, the JWT class, along with other JSON web classes (JWCs), now live under %Net.JSON. This migration occured in order to modularize the JWCs. Before, they were closely intertwined with the implementation for the OAuth 2.0 framework. Now, they can be maintained and used separately from OAuth2.

Note: For backwards compatibility, the classes still exist under %OAuth2 package, but the codebase now uses %Net.JSON.

0
1 747
Article Harry Tong · Feb 21, 2023 2m read

InterSystems IRIS 2022.2 has Native SDK for Python (https://docs.intersystems.com/iris20222/csp/docbook/Doc.View.cls?KEY=PA…).

We know how to traverse a global data structure using IRIS Object Script $Order function.

SET key=""
   FOR  {
     SET key=$ORDER(^myglobal(key)) 
     QUIT:key=""
     WRITE !,^myglobal(key)
   }

How to do the same from Python using IRIS Native SDK for Python? Here is a code example:

import iris

args = {'hostname':'127.0.0.1', 'port':51772,
    'namespace':'USER', 'username':'_SYSTEM', 'password':'SYS'
    }

conn = iris.
2
0 584
Question Elijah Cotterrell · Mar 6, 2023

I'm curious about how embedded Python is handled by %CSP classes, particularly in the case of defining REST endpoints on IRIS.
Here is a simple dispatch class for the endpoint /api/pythonapp on my local IRIS instance (2022.3):

Class Python.App.Dispatch Extends %CSP.REST
{

XData UrlMap [ XMLNamespace = "https://www.intersystems.com/urlmap" ]
{
<Routes>
    <Route Url="/test" Method="GET" Call="Hello" />
</Routes>
}

ClassMethod Hello() As %Status [ Language = python ]
{
    import iris

    print('Hello World!
4
0 349
Question Michael Davidovich · Feb 28, 2023

Any ideas on why my %session.Data array would be wiped out after setting %response.Redirect in OnPreHTTP()?

Context: trying to implement a SSO patter for authorization code flow.  I mention this because it's all I can really pinpoint as to what's changing.  Typically a user logs in by providing their username/password and we validate in our database and set the %session.Data property with the user info.

8
0 1691
Question Kurt Hofman · Feb 10, 2023

Hello,

I'm starting testing embedded python and external libraries.

When I try to use the win32api-library I get the following error :

<THROW> *%Exception.PythonException  230 ^^0^ <class 'ModuleNotFoundError'>: No module named 'win32api' -

This is my code :

ClassMethod CreateDocument(path As %String) [ Language = python ]
{
import win32api

...
}
 

The librarie is visible in C:\InterSystems\IRIS\mgr\python\win32.

Am I doing something wrong ?

Regards,

Kurt Hofman,

ASCI nv.

7
0 712
Question prashanth ponugoti · Mar 3, 2023

Hi Friends ,

We have requirement to load data into chache tables from external database (ref data). This process will take 1 min to complete all data load.

Currently I have created Business Service  to trigger Business Operation with out bound db adapter to load data into cache tables.

process will be trigger when i restarted business service.

 

But requirement  is  , this business service should be triggered from outside ensemble environment i.e , this should expose as REST endpoint and share with the external team.

How to expose Business service as REST endpoint? I need help for this regard.

1
0 265
Question Phillip Wu · Feb 13, 2023

Hi,

I have a IRIS mirror set

. all running on SUSE Linux

. each on a separate server

consisting of

Primary

Backup

Arbiter

My arbiter is the ISCagent.

Question

=======

Is there a Linux command showing me the status of the ISCagent as arbiter?

The systemctl service command below shows if the service is running but not if it is acting correctly as an arbiter.

I'm looking for a command like iris list which you can run on the Primary or Backup

 

===

systemctl list-units --type=service|grep -i isc
ISCAgent.

11
2 750