#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 Anastasia Dyubaylo · Nov 13, 2022

Hi Developers,

We're pleased to announce that InterSystems is hosting its partner days in Germany – InterSystems Partnertage DACH 2022

During this time you will be able to exchange product innovations and practical tips and tricks between InterSystems experts and your colleagues in Darmstadt. And of course, a lot of networking, because there is a lot to catch up on! 

🗓 Dates: November 23-24, 2022

📍 Venue: Wissenschafts- und Kongresszentrum darmstadtium in Herzen Darmstadts
Schloßgraben 1, 64283 Darmstadt
 

The agenda of the two-day partner days consists of a mix of keynotes, informative sessions, and masterclasses. Read on for more details.

0
0 529
InterSystems Official Raj Singh · Nov 8, 2022

I'm pleased to announce a milestone in the lifecycle of the ObjectScript package manager, ZPM. The package manager has offered developers the ability to neatly package up ObjectScript code and deployment configuration settings and version information in a convenient way. Over the last few years, it has evolved greatly into an integral part of many development workflows.

It has proven so important that InterSystems has decided to use it for packaging our own components, and that has led us to a decision to move the GitHub repository from the community into our corporate one, and rename it Inte

10
3 2164
Discussion Eduard Lebedyuk · Nov 9, 2022

We're back with a code golf!

You will receive a string. Each word in the string will contain a number. This number is the position that word should have in the sentence. If the input string is empty, return an empty string. The output can only be in words, without the given numbers.

##Input "i2s T1his Te4st a3"

##Output This is a Test

13
0 695
Announcement Anastasia Dyubaylo · Nov 11, 2022

Hi Community,

Watch this video to get a brief overview of the near- and long-term plans for HealthShare containerization and Kubernetes adoption, as well as a preview/demo of our current progress.

⏯ The Future of HealthShare in the Cloud: Containers/ Kubernetes @ Global Summit 2022

0
0 339
Article David Loveluck · Feb 25, 2019 4m read

There have been some very helpful articles in the community that show how to use Grafana with IRIS (or Cache/Ensemble) by using an intermediate database.

But I wanted to get at IRIS structures directly. In particular, i wanted to access the Cache History monitor data that is accessible by SQL as described here

https://community.intersystems.com/post/apm-using-cach%C3%A9-history-mo…

and didn't want anything between me and the data.

I already had class queries that returned the data i wanted, so i just needed to embed them in a REST class that returned JSON. I haven't included my class G




5
4 1745
InterSystems Official Fabiano Sanches · Nov 10, 2022

InterSystems is proud to announce the developer preview program for the 2022.3 releases. Many updates and enhancements have been added in 2022.3 and there are also brand new capabilities, such as the new FHIR SQL Builder, improvements for Columnar Storage, and support to Oracle Linux 9 (not in this first preview).

Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better product together.

The build number for this developer preview release is 2022.3.0.539.0.

As u


enlightened

0
1 421
Article Evgeny Shvarov · Aug 14, 2022 2m read

Hello fellow developers!

When developing with ObjectScript Package Manager, one crucial thing is the package version, which we place in the module.xml file. When we add changes to the package and are ready to publish a new version of the package in the registry, we also need to increase the version number. This is clear, but it is annoying, and we can often forget to do that. 

This small article will help you to automate such a process.

Probot logo

1
0 808
Question Yan Kevin · Jul 13, 2022

Hi,

when I using ObjectScript Trigger Code , I want to get whether the fields has changed by using "{fieldName*C}" ,  actually, fieldName in "{fieldName*C}" is a real field name ,but in my code, fieldName is a variable as follows:

SET stat=##class(%SYSTEM.SQL).GetColumns(tableName,.byname,.bynum,1)
		IF stat=1{
			SET i=1WHILE$d(bynum(i)){
				SET xColName=bynum(i)
				SET valComp={xColName*C}
				
				IF valComp=1{
					SET oldVal=1//{xColName*O}SET newVal=2//{xColName*N}
					&sql(INSERTINTO Yan.LogTableExt(Parref,ProperName,OldValue,NewValue) VALUES (:id,:xColN
5
1 673
InterSystems Official Bob Kuszewski · Nov 9, 2022

InterSystems is pleased to announce the release of System Alerting & Monitoring (SAM) version 2.0.

What is SAM?

SAM marries IRIS’s standards-based Monitoring API and Log Monitor with familiar industry standard tools like Grafana and Prometheus to create a basic monitoring and alerting solution for IRIS clusters.

For more on SAM, see the System Alerting and Monitoring Guide.

 

What’s new in SAM 2.0?

The industry standard tools that SAM relies on have all been upgraded. 

Configuration Export & Import – You can now export your SAM configuration and re-import it into another SAM instance. 

0
1 542
Question Kathy Ward · Oct 28, 2022

<assign value='source.{ORC:FillerOrderNumber}' property='target.{OBR:FillerOrderNumber}' action='set' />
<assign value='##class(%IO.FileStream).%New()' property='tempStream' action='set' />
<assign value='tempStream.Open(,"NEWR")' property='Status' action='set' />
<foreach property='source.{OBXgrp()}' key='g1' >
<foreach property='source.{OBXgrp(g1).OBX()}' key='s1' >
<if condition='source.{OBXgrp(g1).OBX(s1):ValueType} = "ED"' >
<true>
<assign value='SetID + 1' property='SetID' action='set' disabled='1' />
<assign value='"1"' property='target.{OBX(1):SetIDOBX}' action='set' />
<assign value='source.{O

1
1 453
Question Ward De Backer · Oct 28, 2022

Hi developers!

As a follow-up to my previous post on the Node.js Native API, I created a quick poll because it may be interesting to see what technologies developers are using in their applications around the world with IRIS & Caché. I put a poll below, just check all boxes you have used or plan to use with InterSystems technology.

Thank you all for your cooperation!

1
0 469
Question Phillip Wu · Nov 7, 2022

Hi,

I have installed Visual Studio on my PC and connecting to IRIS on my Linux server.

I have installed the InterSystems extensions.

I click on the InterSystems icon on left->Click on "Choose Server and Namespace" -> Pick my server myTrak.

However I get this error:
request to https://mytrak:52773/api/atelier/ failed,
 reason: write EPROTO 18648712:error:100000f7:SSL routines:OPENSSL_internal: WRONG_VERSION_NUMBER:../../third_party/boringssl/src/ssl/tls_record.cc:242:

Does anyone know how to fix this?

----

Visual Studio 1.69.2
Extensions
==========
InterSystems Language Server 2.1.3
I

2
0 574
Question Patrik Spisak · Nov 4, 2022

How do I create recursive classmethod which stop all methods from running when condition are meet?

ClassMethod workpieceUnit(mainArticle As%String, article As%String) As%String
{
	
	&SQL(SELECT unit->unitCode INTO :unitCode FROM production_article.composition WHERE mainArticle = :mainArticle AND article = :article)
	
	IF SQLCODE = 0
	{
		W !, "Has Value"QUIT unitCode
	}
	ELSE
	{
		SET sql = "SELECT article, unit->unitCode,  production_article.composition_sqlArticleCode(article, type) AS articleCode FROM production_article.composition WHERE mainArticle = "_mainArticle_" AND t
6
0 597
Question Phillip Wu · Nov 7, 2022

Hi,

I want to know how to add a class to IRIS namespace 'USER' using terminal.

How do I do this?

I know you can add this class using Visual Studio Code with the Intersystems extension installed on my PC and connected to an IRIS instance.

Is it possible to do this with terminal? From this prompt:
BASETC:USER>

I have a class like in this example:

Class ObjectScript.RightTriangle
{

/// Compute area and hypotenuse of a right triangle
ClassMethod Main()
{
    write !, "Compute the area and hypotenuse of a right triangle",
          !, "given the lengths of its two sides."
    ....
}
4
0 413
Question Dmitry Maslennikov · Oct 23, 2022

This is not an issue in ObjectScript, due to its typeless nature. But it's essential for external programming languages that care a bit more about types of variables.

And in any case, it's still reproducible in ObjectScript. I have table

CREATETABLE some_table (
        idINTEGERNOTNULL, 
        x INTEGER, 
        y INTEGER, 
        z VARCHAR(50), 
        PRIMARY KEY (id)
)

And data

INSERTINTO some_table (id, x, y, z) VALUES (1, 1, 2, 'z1');
INSERTINTO some_table (id, x, y, z) VALUES (2, 2, 3, 'z2');
INSERTINTO some_table (id, x, y, z) VALUES (3, 3, 4, 'z3');
INSERTINTO some_table (id, x, y, z) VALUES (4, 4, 5, 'z4');
11
0 974
Announcement Olga Zavrazhnova · Nov 6, 2022

Hi Developers! 

InterSystems continues the Developer Meetup event series. The next one will happen on November 17th from 5:30 pm-8 pm ET in Boston, MA, USA.
At this meetup, you will learn more about Kubernetes, Mirantis Lens tool, and how to run Lens with InterSystems IRIS IKO (InterSystems Kubernetes Operator).

Food and drink will be provided. 

> Register here <

InterSystems <> Mirantis Developer Meetup on Kubernetes

Agenda:

0
0 345
Article José Pereira · May 2, 2022 16m read

Introduction

This article aims to give an introduction to what gRPC is and an example of how to play with the official Hello World using IRIS Embedded Python.

You can find all the code exposed here, in this project repo.

gRPC

The gRPC (gRPC remote procedure call) is an API architectural style based on the RPC protocol. The project was created by Google in 2015 and is licensed under Apache 2.0. Currently, the project is supported by the Cloud Native Computing Foundation (CNCF).

Successful cases of its use are related to connecting services between backends, such as services in microservices sty

5
0 2110
Article Mark Bolinsky · Jan 29, 2016 4m read

** Revised Feb-12, 2018

While this article is about InterSystems IRIS, it also applies to Caché, Ensemble, and HealthShare distributions.

Introduction

Memory is managed in pages.  The default page size is 4KB on Linux systems.  Red Hat Enterprise Linux 6, SUSE Linux Enterprise Server 11, and Oracle Linux 6 introduced a method to provide an increased page size in 2MB or 1GB sizes depending on system configuration know as HugePages.

At first HugePages required to be assigned at boot time, and if not managed or calculated appropriately could result in wasted resources.  As a result various Linux distributions introduced Transparent HugePages with the 2.6.38 kernel as enabled by default.  This was meant as a means to automate creating, managing, and using HugePages.  Prior kernel versions may have this feature as well however may not be marked as [always] and potentially set to [madvise].  

Transparent Huge Pages (THP) is a Linux memory management system that reduces the overhead of Translation Lookaside Buffer (TLB) lookups on machines with large amounts of memory by using larger memory pages.  However in current Linux releases THP can only map individual process heap and stack space.

9
5 5761
Announcement Laurel James (GJS) · Nov 4, 2022

Thank you to everyone who joined our User Group Session yesterday!

It was great showing off the new Deltanji Production Component driver that facilitates source control of interoperability productions, and we had some really insightful discussions as well.

If you missed out on the session and would like a copy of the recording, feel free to drop me a message. 

0
0 277
Question Phillip Wu · Nov 1, 2022

Hi,

I'm often required to copy the database from production to test.

This is to 'refresh' the database on test.

To achieve this I copy all required IRIS.DAT files from production to test.

The nodes are mirrored on production.

The nodes are not mirrored on test.

Each of the database files IRIS.DAT has a mirror attribute.

Is there a way of checking if the mirror attribute is set for the database file? eg. an objectScript program

4
0 409
Question Kevin Kindschuh · Nov 3, 2022

Is there a way for web application to set its session timeout value according to the user role or other criteria?

In this case, I have a custom production monitor page, and I want to set 5 minutes for most users but allow managers a longer time or those displaying pages on a monitor a longer time.

1
0 539
Discussion Timothy Leavitt · Oct 19, 2022

Hello community! I'm working on an internal innovation effort at InterSystems considering our documentation/resources around upgrades. As part of this, I'd love to have your answers to any/all of the following questions, either via comment or (if you prefer your answers to be more private) direct message.

Thanks in advance!

What InterSystems products + versions are you running? ($zv is ideal.)

What makes you decide to upgrade?

What are your blockers to upgrading?

What is your process for evaluating and planning a possible upgrade?

What documentation resources do you use?

What gaps/is

12
0 673
Question Norman W. Freeman · Oct 12, 2022

I use the following code to check the last modified date of file which is on a network shared folder (eg: "\\someserver\subfolder\foobar.txt")

set file = ##class(%File).%New(filePath)
set lastModifiedDate = file.DateModified //might hang up for a very long time set file = "" //close file

if the file is not available or does not exists, DateModified property return a negative value (which is fine). I use that property to quickly check if file has been modified and need to be imported.

Here is the issue: sometimes, accessing DateModified property will hang up for a long time (about 5 minut

2
0 1001