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

Announcement Laurel James (GJS) · Feb 15, 2023

How source control integrates with your system is imperative in ensuring it works seamlessly behind the scenes without interruption.

Deltanji source control understands the internal workings of InterSystems IRIS and provides a solution that can seamlessly handle its unique needs, with client integrations for VS Code, Studio, Management Portal, and Management Portal Productions.

You can find out more about the benefits of using a source control tailored for InterSystems IRIS at this webinar. 

This demo will show how Deltanji goes beyond the traditional CI/CD pipeline, automating the project lifecycle from development through to deployment, making it the perfect source control companion for organizations with continually evolving systems.

🗓 Thursday, February 23rd
⏰ 4 pm GMT | 5 pm CET | 11 am ET

Sign up here > http://bit.ly/40JOaxo
 

0
0 233
InterSystems Official RB Omo · Feb 15, 2023

InterSystems has corrected an issue that can cause InterSystems IRIS® and Caché to not take advantage of large pages for shared memory on Windows, even though these products report that large pages are allocated. This can have detrimental effects on system performance.

The issue results from a change in Windows 10 that requires modification of InterSystems IRIS® and Caché. Note that this issue also affects all InterSystems products that are based on InterSystems IRIS® or Caché. The issue occurs on the following versions of Windows:

            Windows 10 (version 1703 and above)

            Windo

0
0 502
Question Norman W. Freeman · Feb 15, 2023

Out of curiosity, I was looking in ^ROUTINE global to see how routines are stored internally.

I found out that lot of nodes are displaying "~pointer" as associated value (eg: instead of a string).

What are those pointers ? My guess is that it references some cache internal structure (eg: some nodes inside a B-Tree).

Is there a easily way to see what is behind ? Are pointers useful for user globals or is this something purely internal to Cache database ?

1
0 314
Discussion Stefan Cronje · Feb 12, 2023

Hi Community,

A long time ago, I create a package for a String datatype that works with Regular Expression. It is quite a simple solution.

This can work well with packages like the OpenAPI-Suite, where you can then use the "Regular Expression String" as the type for properties of the validator objects where the Swagger contained a Regular Expression.

I am proposing we start a common package of datatypes for use. The package name to use can be provided by the admins.

The old package of mine can be removed, as it is also on a very old git profile on an email I no longer have.
String Regular

3
0 290
Question Anthony Benigni · Jan 26, 2023

Have a iris.dat file that was zipped in axis but , now I unzipped it and can see the file in my c drive but when I go to iris management console to perform a new db to pull in the current iris.dat file , in the wizard I do not see the iris.dat file listed.

Need some help with getting it restore the Cache backup in my iris community edition. 

thank you,

2
0 358
Article Lorenzo Scalese · Feb 14, 2023 9m read

Hi Community,

I would like to take advantage of our topic on capture for Health Data Warehouses (on DC-FR) to show you how to quickly create HTTP SOAP and REST clients. IRIS, as well as applications available on Open Exchange offers solutions to generate them from a WSDL or a swagger specification.

SOAP client

Nothing could be easier than creating a SOAP client. All you need is the WSDL.A wizard is available from the IRIS Studio. It allows you to generate not only your classes for a web service client but also the “Business Services” and “Business Operations” if you want to consume them with the interoperability framework.

 

4
2 963
Announcement Anastasia Dyubaylo · Feb 14, 2023

Hi Community,

Let's meet together at the online meetup with the winners of the InterSystems Developer Tools Contest – a great opportunity to have a discussion with the InterSystems Experts team as well as our contestants.

Winners' demo included!

Date & Time: Thursday, February 16, 5 PM GMT | 12 PM EST 

0
0 250
Question Michael Hill · Jan 12, 2023

Is it possible to retrieve the SQL-Executing process ID (PID) from a process spawned from a UNION %PARALLEL? I have a value set in the SQL-Executing process that I need to replicate in the UNION %PARALLEL spawned process(es). The SQL-Executing process writes the value to a global subscripted by its PID so determining the SQL-Executing PID from the spawned process is what I need. I expected $ZPARENT from the spawned process would hold the SQL-Executing PID but the PID returned is different.

With thanks,

Michael Hill

11
0 508
Article Stefan Cronje · Jan 25, 2023 3m read

Hi folks,

I am announcing a new package I have loaded on the OEX, which I am also planning on entering into the contest this month.

In a nutshell, what it offers you are the following.

  • Base classes to use on Persistent (table) classes for InterSystems IRIS to keep record history  
  • These classes enable the historizing of persistent class records into another persistent class when touched.  
  • This provides for a full history of any record. 
  • It allows for record rollback to a specific version.  
  • It can automatically purge old history records.

Do you need it?

Have you ever had the scenario

2
0 431
Article Oliver Wilms · Feb 2, 2023 1m read

Messages.log file contains lots of useful information about IRIS. Sometimes the file gets big, and it is not easy to get to the data I am interested to review. It would be nice to jump to a specific date and time we suspect a problem may have started.

Whenever I need support from InterSystems, WRC will ask to send them messages.log file. Dependent on where IRIS is deployed, it may be cumbersome to obtain messages.log file for sending it to InterSystems.

My team works on deploying IRIS containers in Kubernetes in the cloud.

1
0 306
Article Philipp Bonin · Feb 13, 2023 3m read
Logo

In today's fast-paced and highly competitive manufacturing industry, efficient machine communication and data exchange is essential to maximize productivity and minimize downtime. That's where MTConnect comes in. MTConnect is an open, royalty-free standard that provides a common language for communication between machines, devices, and software applications in a manufacturing environment.

The MTConnect technology consists of a set of XML schemas and protocols that define the structure and format of the data to be transmitted, as well as the rules for

0
0 398
Article Daniel Aguilar · Feb 12, 2023 6m read

Hi! recently I have to apply api-key validation to a web app with a lot of endpoints and I'm going to tell you how I did it in a centralized way.

I'm going to explain you how we can apply in a generic way (or not) api-key validation to all the endpoints of our web app.

For this feature I take as a template the class Base.cls of this repository iris-rest-api-template

I modified a bit this class to be able to check api-key security. The idea is that in your features you copy this class in your projects and you extend it for your own implementations.

First I did was add a new Parameter to the

0
2 679
Article Lorenzo Scalese · Feb 7, 2023 9m read

Hi Community,

In the first part, we describe all packages, used libraries and REST services.

Now, I would like to add some details about converter and validator services.

By default, OpenAPI-Suite sends an HTTP request to converter.swagger.io if the specification version is less than 3.0 and another HTTP request to validator.swagger.io to simplify the structure of the specification document.  

Although the usage of online utilities is convenient, in some cases it could be better to have our own instance of the converter and validator.  For example, if OpenAPI-Suite is provided on a server in an organisation for ObjectScript developers, it may be preferable to avoid requests to external services (privacy, avoid request rate limits). 

Just run: 

docker run -d -p 8085:8080 --name swagger-converter swaggerapi/swagger-converter:latest
docker run -d -p 8086:8080 --name swagger-validator-v2 swaggerapi/swagger-validator-v2:latest
2
2 597
Question Jeffrey Drumm · Feb 10, 2023

I've been trying for a while now to get OS authentication working on IRIS running on Ubuntu 20.04 and subsequently 22.04. I have the following authentication methods enabled for %Service_Terminal:

  • Operating System
  • Password
  • Operating System Delegated Authorization

And i have these options selected in Authentication/Web Session Options:

But when logging in via iris session <instancename> I am always prompted for a username and password. I am logged into the operating system with a username that matches my IRIS username, and the same configuration and login method works fine on Red Hat 8.5.

Is

2
0 320
Announcement Laurel James (GJS) · Feb 10, 2023

If you haven’t already please give @John Murray your vote in the Developer Tool contest >> http://bit.ly/3XcxyeS


🚀 DX Jetpack boosts your developer experience when using VS Code with InterSystems platforms. 🚀


This extension pack includes: 

gj :: codeSpex - showing help using VS code's commenting feature.

 

ObjectScript class view - View and navigate all class members plus where they are inherited from.

 

ServerDiff - See the difference between the code you are editing in VS Code and the server copy.

 

You can vote here >> http://bit.ly/3XcxyeS

1
0 236
Article Henrique Dias · Feb 9, 2023 3m read

Hey community! 

It's time to elevate your unit tests to the next level with iris-TripleSlash new solo feature!

We are bring to the game Setup and Tear down events!
Just add description on class, with special tags like:

  • beforeAll
  • beforeOne
  • afterAll
  • afterOne

The tripleSlash will turn it to:

  • OnBeforeAllTests
  • OnBeforeOneTest
  • OnAfterAllTests
  • OnAfterOneTest

And that's not all! The new double dot abbreviation feature allows you to effortlessly call methods and simplify your code, i.e.:

///<example>/// Write ..TheAnswerForEverything()/// 42///</example>

TripleSlash will automatically

6
0 385
Discussion Evgeny Shvarov · Feb 9, 2023

Hi folks!

I'm playing with IRIS interoperability at the moment and it turned out that Data Transformation cannot be the element of production by itself.

It can be called either from data rule or from business process.

But why? 

What if I just want to change the message with the transformation and transfer the message somewhere else? Why the overhead with Rule or Business process?

1
0 217
Article Evgeny Shvarov · Jun 24, 2020 3m read

Hi Developers!

Suppose you have a persistent class with data and you want to have a simple Angular UI for it to view the data and make CRUD operations.

Recently @Alberto Fuentes described how to build Angular UI for your InterSystems IRIS application using RESTForms2. 

In this article, I want to tell you how you can get a simple Angular UI to CRUD and view your InterSystems IRIS class data automatically in less than 5 minutes.

Let's go!

3
4 1371
Article Ricardo Paiva · Feb 9, 2023 3m read

Schematron is a rule-based validation language for making assertions about the presence or absence of certain patterns in XML documents. A schematron refers to a collection of one or more rules containing tests. Schematrons are written in a form of XML, making them relatively easy for everyone, even non-programmers, to inspect, understand, and write

0
0 1512
Question Michael Davidovich · Oct 31, 2022

Sessions and specifically %session are paramount to our application to login users to the application (the Web Gateway user logs into the server and then users login to the application).  

When using /api/mgmnt/v2 to implement a spec first approach to REST API development, I am unclear how I can utilize sessions (i.e.%session) to work with our existing model (and I'm sure there are indeed better ways to do this, but we are just baby stepping right now).Much of the documentation say to make sure UseSession=1 in the dispatch class is set, which I've accomplished.

11
0 558
Question Norman W. Freeman · Feb 8, 2023

I use the following code (which is a simplified version of what happen on a server) :

tstartfor I=1:1:N {
  set test = ##class(Test.Test).%New()
  set test.ID = I
  do test.%Save() //create a "Exclusive_e->Delock" lock on ^Test.TestD(..)
}
hang 5tcommit//locks are removed here

Test.Test is a persistent class that inherit from %Persistent :

Class Test.Test Extends %Persistent
{
   Property ID As%Integer [ Required ];
   Index IDKEY On ID [ IdKey ];//...      
}

I think delocks are needed because of the transaction, to maintain data consistency, but why exactly are they needed

6
0 417
Article Muhammad Waseem · Feb 9, 2023 2m read

Hi Community,
In this article I will demonstrate below steps to add Interactive map and visualize geographic data to web application:

  • Step1 : Install Application
  • Step2 : Create CSP Page
  • Step3 : Extend dc.IrisGeoMap.Folium class
  • Step4 : Invoke DrawGeoDetails() Method

So Let us start.
 

Step1 : Install Application

First of all we need to install iris-geo-map application by using ZPM

zpm "install iris-geo-map"

0
1 416