#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 Evgeny Shvarov · Nov 12, 2019 3m read

Hi Developers!

Suppose you want to create your ObjectScript library to be distributed via ObjectScript Package Manager. And there is an obvious question: what is the naming convention on the packages and class names?

Naming packages and classnames

There is already some accepted practice with package managers and we will follow the best practices in this field. The most reasonable and simple looks the approach with having company as the first package then project as the second and then classes and subpackages of the project.

6
2 1154
Article Evgeny Shvarov · Feb 19, 2022 2m read

Hi developers!

As you probably noticed in IRIS 2021 the names of globals are random.

And if you create IRIS classes with DDL and want to be sure what global was created you probably would want to provide a name.

And indeed you can do it. 

Use WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' in CREATE Table to make it work. Documentation. See the example below:

11
0 717
Article Yuri Marx · Dec 3, 2021 7m read

Creating REST API using InterSystems ObjectScript is very easy, but some recipes can help you into this process:

1) To create your REST API extends %CSP.REST and Go to System Administration > Security > Applications > Web Applications > Click the button Create New Web Application and set the Name, REST Dispatch Class with your package and classname and choose the Allowed Authetication Methods. See this example:



Edit Web Application

2) Configure your REST API using ZPM configuration. To do this follow this sample (watch the tag <CSPApplication>):



ZPM Code to Create REST API

<?
2
7 1939
Article Murray Oldfield · Nov 29, 2016 20m read

This post provides guidelines for configuration, system sizing and capacity planning when deploying IRIS and IRIS on a VMware ESXi. This post is based on and replaces the earlier IRIS-era guidance and reflects current VMware and InterSystems recommendations.

Last update Jan 2026. These guidelines are a best effort, remember requirements and capabilities of VMware and IRIS can change.

I jump right in with recommendations assuming you already have an understanding of VMware vSphere virtualization platform.

1
6 7400
Article Sergey Mikhailenko · Feb 22, 2022 2m read

Hello everyone. I present this project to the contest. The export module is essential in many of my projects and is often used in all my product servers.

I have implemented various scenarios in the invoke attribute initialization module, both maximalistic with many additional projects to demonstrate in GCR , and minimalistic to install natively in production instance

zpm "install appmsw-sql2xlsx -Dzpm.demo=none"

To demonstrate the possibilities, I used the fileserver and csvgen projects.

0
1 451
Announcement Olga Zavrazhnova · Feb 22, 2022

Hi Community, we continue to gather feedback about Data Loading & Packaging. In particular, we're interested in hearing your impressions on some of the new capabilities added with InterSystems IRIS 2021.2  We'll be using this feedback to improve InterSystems IRIS, so please feel free to share any details and feedback:

>> Link to the survey (14 questions, 5 min) <<

Note: this is the same survey we already published during the contest, on Global Masters and Discord. If you already participated, you don't have to do it again. Thank you for the feedback! 

0
0 199
Article Evgeny Shvarov · Feb 19, 2022 2m read

Hey developers!

Sometimes we need to insert or refer to the data of classes directly in globals.

And maybe a lot of you expect that data structure of global with records is:

^Sample.Person(Id)=$listbuild("",col1,col2,...,coln).

And this article is a heads up, that this is not always true, don't expect it as granted!

1
0 485
Question Renato Araujo · Feb 20, 2022

Hi all,

I am trying to use a %Status property on some of my Response classes. If the execution of a service goes wrong, I set the %Status property on Response with the value $$$ERROR($$$GeneralError, "pre-defined error message"). 

When I check the visual trace for this message and look for the %Status (property "status_code" on the image), it is displayed like this:

If I select to display the Body of the Response, I get the 'readable' form of %Status:


According to the documentation, this is expected as %Status properties are encoded in base64 during Projection to XML.

1
0 411
InterSystems Official Bob Kuszewski · Feb 9, 2022

UPDATE:  Developer Preview 7 has been released.

Update 7 includes a number of stability improvements over previous updates and support for support for all of the planned 2022.1 features.  If you notice any problems at all, now's the time to let us know.  The docker pull commands below have been updated with the latest build numbers.  Enjoy!

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

As this is InterSystems' first developer preview release, let's take a moment to describe what these are.  The developer preview program enhances the previous IRIS preview program with approximately bi-weekly releases that add features as they are ready.  This 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.1, which are not included in the first developer preview.  Look for those over the coming weeks.

We are eager to learn from your experiences with this new release ahead of its General Availability release. Please share your feedback through the Developer Community so we can build a better product together.

InterSystems IRIS Data Platform 2022.1 is an extended maintenance (EM) release. 2022.1 includes the many important new capabilities and enhancements have been added in 2021.2, the continuous delivery (CD) release, since 2021.1, the previous EM release. Please refer to the release notes for 2021.2 for an overview of these enhancements.

9
0 1556
Question José Ademar de Oliveira Junior · Feb 4, 2022

Hello Programmers,
I'm trying to use Intersystems IRIS Database with
Quarkus, but I'm getting problems making it work
does anyone knows how to set up the Intersystems IRIS Database
on Quarkus ?

I did that on my pom.xml  and also I added the jar
hibernate-iris-1.0.0.jar and intersystems-jdbc-3.2.0.jar but it's not working 

<dependency>
            <groupId>com.intersystems</groupId>
            <artifactId>intersystems-jdbc</artifactId>
            <version>3.2.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/intersystems-jdbc-3.2.0.

17
0 790
Discussion Vikram Rajput · Feb 15, 2022

I am surprised with the performance (poor) of Native API for .NET

       Following code (where ^testGlobal,node1 has 50 records) takes 5 seconds to run.  Anyone else think there is room for the improvement? 

    string global = "^testGlobal";
            object[] Subs = new object[1];
            Subs[0] = "node1";

            try
            {
                IRISIterator iter = iris.GetIRISIterator(global, Subs); 
               foreach (var item in iter)
                {        
                    Console.WriteLine((string)(iter.
7
0 551
Article Eduard Lebedyuk · Feb 17, 2022 2m read

If your embedded python code calls tkinter library (which is used by a lot of graphic producing libraries, including matplotlib), you might get this error:

<THROW> *%Exception.PythonException <CLASS DOES NOT EXIST> 230 ^^0^DO ##CLASS(User.Test).Test() 
<class '_tkinter.TclError'>: Can't find a usable init.tcl in the following directories:

c:/intersystems/irispy/lib/python/lib/tcl8.6
c:/intersystems/irispy/lib/tcl8.6
c:/intersystems/lib/tcl8.6
c:/intersystems/irispy/library
c:/intersystems/library
c:/intersystems/tcl8.6.9/library
c:/tcl8.6.
0
1 3061
Question Scott Roth · Feb 16, 2022

I am not sure if this is the correct place for this question, but I am struggling to setup TLS security for our IRIS Management Portal and etc. through Apache and the Web Gateway. I have a couple of questions when it comes to the setup.  

  • if I build a private key and certificate within Red Hat, does that certificate have to be on everyone's pc to connect to the Management Portal?
  • Can I use a self signed Certificate?
  • Can I use the existing CA on the server, or do I need to work with my Data Security team to get a Certificate?

Any help would be appreciated

Thanks

Scott Roth

1
0 604
Question Michael Jobe · Jan 26, 2021

The current version of SAM creates Prometheus metric endpoints which appear to be handled correctly by the current prometheus scraper, however the metrics do not confirm to the current prometheus standard.  The standard states: 

  • Prometheus' text-based format is line oriented. Lines are separated by a line feed character (\n). The last line must end with a line feed character. Empty lines are ignored.

Link is here: Prometheus format

In the current output on the

<hostname>:8080/api/monitor/metrics

endpoint the last metric does not contain a newline causing parsers to fail.

9
0 507
Article Robert Cemper · Feb 8, 2022 1m read

I have created a package to export a Global into JSON object file and to re-create it by reloading from this file
embeddedPython refers to the new available technologies. It should be understood as a learning exercise of 
how to handle the language interfaces. Only Global nodes containing data are presented in the generated JSON file.
Differently from the previous example, this one is using embedded Python only, no ObjectScript. Therefore PURE

2
0 663
Question sween · Feb 11, 2022

If anybody could give me some insight on creating the %All Namespace programmatically I would appreciate it.   There are quite a few posts I found that reference its creation using the UI, but I cant seem to get passed some validations with any form of the below:

Set Properties("Globals")="%DBDEFAULT"
//Set Properties("Library")="IRISLIB"
Set Properties("Routines")="%DBDEFAULT"
//Set Properties("SysGlobals")="IRISSYS"
//Set Properties("SysRoutines")="IRISSYS"
Set Properties("TempGlobals")="IRISTEMP"
Set tSC=##class(Config.Namespaces).Create("%All",.Properties)

The documentation for Config.

3
0 514
Discussion Eduard Lebedyuk · Feb 2, 2022

You will receive a string of comma-separated integers whose elements have both a negative and a positive value, except for one integer that is either only negative or only positive, our challenge will be to find that integer. As usual shortest solution wins.

##Input "1,-1,2,-2,3"

##Output 3

3 has no matching negative appearance

##Note

Rules

  1. The signature of the contest entry MUST be:
Class CodeGolf.
34
0 873
InterSystems Official RB Omo · Feb 9, 2022

InterSystems has corrected a defect that can result in an SQL query returning incorrect results.

This defect exists only in the 2021.2 (Continuous Delivery) version of:

            InterSystems IRIS Data Platform

            InterSystems IRIS for Health

            HealthShare Health Connect

InterSystems has replaced existing distributions of these products with new builds that correct the defect. The corrected distributions can be identified by the build number (651) and are available via normal means. Ad Hoc corrections are not available for Continuous Delivery (CD) distributions.

0
0 364
Question Felipe Quezada · Jan 26, 2022

Hello guys! I need some assistance with these problems I have.

The first one is that I need to execute a Python file, which is at /XY path. This PY is supposed to read an excel file and create a CSV version in /XZ path.

I am quite sure that the PY file is correct, but when using this function I get nothing but this error:

SET tSC = $ZF(-100,"/ASYNC /SHELL ", "python", "/data/InterSystems/IRIS/mgr/TEST01CODE/ExcelReading/ExcelToCSV.py")

ConfigItem 'FJ EXCEL READING' (FJ.BS.ExcelReading) started in job 3164

ERROR #00: (sin descripción de error)

Any ideas or suggestions?

2
1 688
Question Peter (Sechaba) Tomodi · Feb 9, 2022

What is the best way to add an en-uk.json or an en-za.json file to the custum folder, since the default is en-us.json?

<hspc-home>/base/ui-custom-app/assets/i18n/en-za.json
 

Where can I get the json files for UK and Za ?

4
0 291