#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 Lorenzo Scalese · Jul 21, 2022 11m read

Hi community,

This is the third article in the series about initializing IRIS instances with Docker. This time, we will focus on Enterprise Cache Protocol (ECP).

In a very simplified way, ECP allows configuring some IRIS instances as application servers and others as data servers. Detailed technical information can be found in the official documentation.

This article aims to describe:

  • How to script the initialization of a data server, and how to script the initialization of one or more application servers.
  • How to establish an encrypted connection between these nodes with Docker.
0
2 1046
Question Minoru Horita · Jul 20, 2022

I am trying to use EnsLib.SQL.Operation.GenericOperation for retrieving (multiple) rows. But I am looking for a way to handing a StreamContainer returned by the operation, in my business process such as receiving it in the Context object and packing it to a request to call another business operation.

Does anyone have sample code to do this?

Thanks.

2
0 324
InterSystems Official Fabiano Sanches · Jul 6, 2022

Developer Preview releases are now available for the 2022.2 version of InterSystems IRIS, IRIS for Health, and HealthShare Health Connect.

This is the second in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready.  This program allows us to get feedback on capabilities and enhancements as they're available.  You'll see below a list of enhancements that are targeted for 2022.2.  Some these are not included in this developer preview.

3
0 510
Question Daniel Castro · Jun 15, 2022

Hi,

I want to access a Stored Procedure in a remote SQL Server Database. I am quite new to Object script.

The stored procedure has 3 parameters: 2 datetime parameters and 1 integer.

Which is the best way to do that? I'm wondering if I can use the link stored procedure feature inside object script or some SQL statement in Object Script.

This SP returns a set of rows which I want to read, transform and save in a persistent class.

Thanks in advance,

18
0 3823
Announcement Jacquie Clermont · Jul 18, 2022

 

Hi Community,

Just thought I'd let you know that you can still get a LifeStraw water bottle for completing a Gartner Peer Insights survey. With a built-in filter that removes bacteria, parasites, and microplastics, this water bottle is especially useful for hikers. Plus Gartner will give you three months access to its Peer Insights Plus, "an exclusive service that aims to help tech professionals stay current on technology trends and excel in evaluating software/services."

The Gartner reward is automatic.

0
0 193
Article Nikita Mullin · Jun 1, 2020 4m read

ObjectScript Kernel Logo Jupyter Notebook is an interactive environment consisting of cells that allow executing code in a great number of different markup and programming languages.

To do this Jupyter has to connect to an appropriate kernel. There was no ObjectScript Kernel, that is why I decided to create one.

You can try it out here.

Here's a sneak peek of the results:

alt text

Jupyter Kernels 101

There are several ways to create a Jupyter Kernel. I decided to make a Python wrapper kernel.

We have to create a subclass of ipykernel.kernelbase.

4
3 1019
Article Rizmaan Marikar · Dec 25, 2021 13m read

There are many ways to generate excel files using Intersystems, some of them are ZEN reports, IRIS reports ( Logi reports or formally known as JReports), or we can use third party Java libraries, the possibilities are almost endless.

But, what if you want to create a simple spreadsheet with only Caché ObjectScript?

15
10 2316
Article Yuri Marx · Jul 13, 2022 3m read

The Carbon Footprint Counter application uses the GHG Protocol to measure carbon emissions on enterprises. The GHG protocol establishes comprehensive global standardized frameworks to measure and manage greenhouse gas (GHG) emissions from private and public sector operations, value chains and mitigation actions.

Building on a 20-year partnership between World Resources Institute (WRI) and the World Business Council for Sustainable Development (WBCSD), GHG Protocol works with governments, industry associations, NGOs, businesses and other organizations. (source: https://ghgprotocol.org/about-us).

2
0 667
Question Chris Marais · Jun 28, 2022

I have followed the Article: Continuous Delivery of your InterSystems solution using GitLab, On our own Linux environment it works well but when I try to run it on a clients windows server; and the following command is run by the runner

irissession IRISHEALTH -U TEST "##class(isc.git.GitLab).load()" 

we get the following "error"

<NOTOPEN>>

I do not know why this happens, it does look like it has something to do with user rights but I am totally lost at this point as we have done everything I can think off relating to grant correct access etc.

1
0 464
Question Dominic Chui · Jul 14, 2022

Let's say I have two lists of connected data where elements of listTwo only make sense if given an item of listOne as context:

listOne = ["A", "B", "C"]

listTwo = ["x", "y", "z"]

Tuples like ("A", "y") and ("C, "x") make sense, but "A" or "x" by themselves don't. I would like to pass in a list of such tuples into a method and have it handle each tuple in the list. So what would be the best way to format them given that ObjectScript does not have specialized tuples? Would it be nested $LISTBUILD lists or something else?

1
0 376
Question Peter Smit · Jul 13, 2022

Hi

I'm trying to migrate a database from cache to iris but i get this from one of the classes on compiling.

 

ERROR #9101: Global name 'Jobcosting.JobActivityGroupGroupD' for 'IDLocation' is too long, must be no more than 31 characters in length.
  > ERROR #5030: An error occurred while compiling class 'Jobcosting.JobActivityGroup'

2
0 503
Question Oliver Wilms · Jul 12, 2022

Hello,

I work on deploying IRIS using Kubernetes operator and Red Hat OpenShift. I encouraged another team working on Java application to consider using IRIS as database. My team deployed IRIS cluster using two mirrored data pods for the other team. The other team asked me for the connection information.

To learn how to use Java with IRIS, I attempted to deploy two apps from Open Exchange:

https://openexchange.intersystems.com/package/CRUD-GLOBALS-IRISNATIVEAP…

Here I got errors like this:

package com.intersystems.jdbc does not  exist

https://openexchange.intersystems.

1
0 381
Article Pravin Barton · May 12, 2022 1m read

Say I have a persistent class in IRIS with an optional property EmailOptIn:

Class Person Extends %Persistent
{
Property Name As %String;
Property EmailOptIn As %Boolean;
}

I later realize that I'm doing a lot of null-checking on this property where I shouldn't need to. The solution is to make this a required property:

Class Person Extends %Persistent
{
Property Name As %String;
Property EmailOptIn As %Boolean [ Required ];
}

When I make this change I'll need to update all the existing data to set a reasonable default where it is null.

7
0 599
Discussion Eduard Lebedyuk · Jul 1, 2022

Leet (or "1337"), also known as eleet or leetspeak, is a system of modified spellings used primarily on the Internet. It often uses character replacements in ways that play on the similarity of their glyphs via reflection or other resemblance. Additionally, it modifies certain words based on a system of suffixes and alternate meanings. There are many dialects or linguistic varieties in different online communities. Wikipedia

You'll have to translate a string into a LeetSpeak. As usual shortest solution wins.

8
0 677
Article Oliver Wilms · Jul 10, 2022 1m read

As I was thinking what I could develop for InterSystems Full Stack Contest, I saw this post:

https://community.intersystems.com/post/how-access-production-items-through-objectscript

I developed ProductionManager.csp. It displays items in the active production. It also displays the Class in use and the date and time of last message. I believe these data points can help you make decisions which items to remove from the production.

I read that contest asked for apps which insert, update, or delete data in InterSystems IRIS.

0
0 293
Question Oliver Wilms · Jul 10, 2022

I am still working on iris-for-money app: https://github.com/oliverwilms/iris-for-money

Account.csp posts a rest call with _SYSTEM username and the password.

xhttp.open("POST", "/restapi/sql/" + query, true,"_SYSTEM","SYS");
xhttp.send();

/restapi web application has Password Authentication Method enabled.

SYS is the correct password for _SYSTEM user.

I do not understand why I see login failure in Audit database.

1
0 386
Question Oliver Wilms · Jul 9, 2022

I am working on iris-for-money app: https://github.com/oliverwilms/iris-for-money

Account.csp posts a rest call with _SYSTEM username and the password.

xhttp.open("POST", "/restapi/sql/" + query, true,"_SYSTEM","SYS");
xhttp.send();

The error is logged in Riches.REST for this line:

Set tSC = tStatement.%Prepare(pQuery)

ClassMethod PostSQL(pQuery As %String = "", pIndex As %String = -1) As %Status
{
    Do ..DebugTEST("Riches.REST - PostSQL")
    Do ..DebugTEST("pQuery = "_pQuery)
    Set tSC = ..TestQuery(pQuery,.pQuery)
    Do ..DebugTEST("TestQuery = "_pQuery)
    Set tStatement =

3
0 1157