#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 Alessandra Carena · Jan 30, 2025

I am building a web application that uses JWT for authentication. I would like to pass the token in cookies instead of the Authorization header.
Is there a way to intercept the request and check the token from the cookies instead of the header? I tried overriding the OnPreDispatch() method and adding it to my dispatch class, but it seems like it never gets executed, as the response returns "Unauthorized" before reaching it.

ClassMethod OnPreDispatch(pURL As %String, pMethod As %String, ByRef pContinue As %Boolean) As %Status
{
        Set token = %request.Cookies.
2
0 138
Article Alberto Fuentes · Jan 24, 2025 8m read

In the world of APIs, REST is very extended. But what happens when you need more flexibility in your data-fetching strategies? For instance letting the client to choose what fields is going to receive. Enter GraphQL, a query language for your APIs that provides a flexible alternative to REST.

In this post, we will:

  • Compare REST and GraphQL.
  • Dive into the basics of GraphQL: Queries, Mutations, and HTTP.
  • Build a simple GraphQL server implementation using Graphene, SQLAlchemy, and Flask over data in InterSystems IRIS.
  • Explore how to deploy your GraphQL server as a WSGI application in IRIS.
3
1 537
Question Joe Fu · Feb 26, 2025

By extending %XML.Adaptor, we can use

Parameter XMLIGNORENULL   

to handle empty tags in output xml file from %Persistent. But this parameter only applies to %String property. What if a class has other types of properties, like %Stream (for holding large chunk of data). What is the recommended handle if we cannot use XMLIGNORENULL here?

Context: In change control, exported .xml file is important to make diff between versions.

1
0 186
Question Oliver Wilms · Sep 19, 2024

Hello, I try to develop a REST interface where I need to interact with legacy MUMPS routines. How can I pass in input to a Read without modifying the legacy code?

I think in linux I can execute command < inputfile to read from file, but how does it work in ObjectScript?

7
0 325
Question Jani Hurskainen · Jan 17, 2025

The documentation at https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…

Case-sensitive: variable names (other than the system variables) are case-sensitive. Names of classes and their members, names of routines and their entry points, names of include files and macros are all case sensitive.

Consider "fully qualified" class name: Package.subpackage.ClassName

What is the class name mentioned in the documentation? Package.subpackage.ClassName  or ClassName ?

9
0 232
Question Federico Sandrinelli · Feb 24, 2025

Hello everyone!

I have set up an EnsLib.REST.GenericService with an  EnsLib.HTTP.InboundAdapter which forwards the http requests received by a web app to my Business Process. 

I would like to parse HTTP multipart/form messages I am receving and be able to iterate over the various fields within the request body, accessing its content type and the content itself.

As far as I understand I should use the %Net.MIMEReader class which should return a list of %Net.MIMEPart, one for each field within the request. However if I do : 

Set mimeReader = ##class(%Net.MIMEReader).%New()
Set sc = mimeReader.
4
0 177
Announcement Anastasia Dyubaylo · Feb 25, 2025

Hi Community,

Watch this short exercise in writing basic code snippets in InterSystems ObjectScript using Copilot in VSCode and the GPT-4.0 engine. This screencast covers "Hello, World," global manipulation, class creation, and building a simple REST API application.

>> Coding InterSystems ObjectScript with Copilot <<

🗣 Presenter: @Evgeny Shvarov, Senior Manager of Developer and Startup Programs, InterSystems

📌 The related code can be found here: objectscript-copilot-demo.

0
0 309
InterSystems Official Daniel Palevski · Dec 12, 2024

The first developer previews of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect 2025.1 have been posted to the WRC developer preview site.  Containers can be found on our container registry and are tagged latest-preview.

These developer previews include the feature to migrate to IBM "Open XL C/C++ for AIX" 17.x compiler ensuring compatibility with future AIX builds as older compilers approach end-of-support. This migration focuses on the aixopenssl30 target, supporting SSL3 on AIX 7.2 and 7.3.

13
0 563
Announcement Celeste Canzano · Feb 24, 2025

Hi Everyone!

The Certification Team of InterSystems Learning Services is currently developing an InterSystems ObjectScript Specialist certification exam. Earlier this month we reached out to our community for feedback that will help us evaluate and establish the contents of this exam. We are still currently accepting responses and would love to hear your feedback!

Please note that this is one of two exams being developed to replace our InterSystems IRIS Core Solutions Developer exam. You can find more details about the other exam, InterSystems IRIS Developer Professional exam, here.

0
0 109
Article Chris Stewart · Feb 18, 2021 2m read

Hi Dev Community

I thought i would share a little method I knocked together to traverse and compare 2 JSON objects for basic equivilance.   I'm currently working on some data migration, and wanted a basic sanity check to validate that the JSON output is basically equivliant between the old and new, excluding a few things like timestamps.  

It's a basic little recurvsive method, that will bubble up any differences over a nested structure.   It's very low tech, as that's all I need it to do, but I thought it might be useful for others?

6
1 1004
Question Evgeny Shvarov · Feb 21, 2025

Hi folks!

I'm building a very simple REST API.

But before testing it via a Web Server what I want to make sure that REST API methods work in principle.

Is it an easy way to "fake" the web-server request and get a result e.g. of the method with signature like that?

ClassMethod GetAllRecords(pRequest As %CSP.Request, pResponse As %CSP.Response) As %Status

e.g. calling it in Terminal?

6
0 262
Article Ariel Glikman · Mar 8, 2024 3m read

The IKO will dynamically provision storage in the form of persistent volumes and pods will claim them via persistent volume claims.

But storage can come in different shapes and sizes. The blueprint to the details about the persistent volumes comes in the form of the storage class.

This raises the question: we've deployed the IrisCluster, and haven't specified a storage class yet. So what's going on?

You'll notice that with a simple

kubectl get storageclass

you'll find the storage classes that exist in your cluster.

1
1 447
Article Mary Ann Fusi · Apr 30, 2024 2m read

InterSystems worked closely with the Red Hat Insights team to implement a curated set of recommendations for system administrators to ensure the best experience running InterSystems IRIS on Red Hat Enterprise Linux (RHEL). Included with all RHEL subscriptions, the Insights service proactively identifies potential issues with monitored platforms and applications running on RHEL. Through our joint collaboration, Insights now watches for common scenarios that decrease the performance of IRIS in most cases and offers an InterSystems-approved recommendation for consideration.

2
5 541
Discussion Eduard Lebedyuk · Feb 13, 2025

It's been a while (and everyone is well-rested after Advent Of Code!) so let's run another round of Code Golf.

Your task is navigating in a grid-like labyrinth in a clockwise spiral pattern. As it traverses the matrix, it collects characters, revealing a secret message. Your challenge: find the shortest, most elegant code to decode this spiral cipher.

21
0 427
Article Nikita Savchenko · Apr 1, 2016 6m read


Hello!

This article is a small overview of a tool that helps to understand classes and their structure inside the InterSystems products: from IRIS to Caché, Ensemble, HealthShare.

In short, it visualizes a class or an entire package, shows the relations between classes and provides all the possible information to developers and team leads without making them go to Studio and examine the code there.

If you are learning InterSystems products, reviewing projects a lot or just interested in something new in InterSystems Technology solutions — you are more than welcome to read the overview of ObjectScript Class Explorer!

38
4 6265
Announcement Ikram Shah · May 18, 2024

Hi Community,

This is a detailed, candid walkthrough of the IRIS AI Studio platform. I speak out loud on my thoughts while trying different examples, some of which fail to deliver expected results -  which I believe is a need for such a platform to explore different models, configurations and limitations. This will be helpful if you're interested in how to build 'Chat with PDF' or data recommendation systems using IRIS DB and LLM models.

2
2 337
InterSystems Official Daniel Palevski · Feb 19, 2025

February 19, 2025 – Alert: SQL Queries Returning Wrong Results

InterSystems has corrected two issues that can cause a small number of SQL queries to return incorrect results. In addition, InterSystems has corrected an inconsistency in date/time datatype handling that may lead to different, unexpected – yet correct – results for existing applications that rely on the earlier, inconsistent behavior.

0
1 169
Question David.Satorres6134 · Feb 18, 2025

Hello all,

We are currently developing a set of cubes in Unified Care Report (UCR) for data analysis purposes. However, we are encountering issues with cube dependencies, where certain cubes rely on others to be compiled beforehand. The complexity of these dependencies is becoming increasingly difficult to manage, particularly when attempting to deploy the cubes.

The problem arises when trying to compile a cube that depends on another cube, which may also have its own dependencies. For instance, when compiling the Test.Cube.

5
0 186
Question omer · Jan 13, 2025

Hello! 
So my question is quite simple, Do the different data models of Intersystems all support the ACID properties?
I assume that for the SQL data model implementation it does, But does it also work for global (i.e the hierarchical  data model)?
I searched the docs and the different articles, It seems for example that here its implied that the different data models of
Intersystems  DO indeed support the ACID properties and allow for safe insertion, deletion etc... in concurrent operations to the server that is.

 

Would love to get a clarification, Thx!

8
0 254
Article Julio Esquerdo · Feb 18, 2025 22m read

REST API with Swagger in InterSystems IRIS

Hello

The HTTP protocol allows you to obtain resources, such as HTML documents. It is the basis of any data exchange on the Web and a client-server protocol, meaning that requests are initiated by the recipient, usually a Web browser.

REST APIs take advantage of this protocol to exchange messages between client and server. This makes REST APIs fast, lightweight, and flexible. REST APIs use the HTTP verbs GET, POST, PUT, DELETE, and others to indicate the actions they want to perform.

0
4 436