#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 Evgeny Shvarov · Mar 22, 2020

Hi Community!

The registration phase for InterSystems Online Programming Contest ends today and we will start the voting week!

Now we have 20 applications - so you have a set of applications to choose from!

How to vote?

This is easy: you will have one vote, and your vote goes either in Experts nomination or in Community nomination.

7
1 494
Article Oliver Wilms · Mar 26, 2020 1m read

Hello,

I got the idea for this application, because for my work we have a process that currently uses legacy Vista code called MailMan to transfer files using email.I thought I could create a process in HealthConnect (IRIS Interoperability) to replace the need for having the legacy code.I have seen File Passthrough and TCP Passthrough Operations that can transfer a stream (file content) into a file or through TCP connection.I did not find Email Passthrough Operation, so I decided to create it.It receives request with a stream that has the content of the file.

3
0 235
Article Gevorg Arutiunian · Aug 31, 2018 1m read

This code snippet changes all passwords in a system to a specified string. The two literal strings at the beginning of the snippet can be adjusted to edit the system or password string. The class method "test" runs the code:


Class eduardlebedyuk.changePasswords Extends %RegisteredObject
{
	ClassMethod test()
	{
        set ns = $namespace
	    zn "%SYS"
	    set NewPass = "NewPassString"
	    set rs=##Class(%ResultSet).%New("Security.Users:List")
	    set st = rs.Execute()
	    while rs.Next() { set st=$SYSTEM.Security.ChangePassword(rs.Get("Name"),NewPass)}
        zn ns
	}
}

(Originally

7
0 884
Discussion Maks Atygaev · Mar 28, 2020

DISCLAIMER: I am not an InterSystems engineer or a professional ObjectScript developer.

I just want to share my opinion about some things I am really miss in ObjectScript.

I really appreciate everyone who support my project (Declarative ObjectScript) in contest

but the post is not about "why you should support me" on contest.


I faced with ObjectScript in the university while was working on my diploma (in 2013).

Very good mentor @Evgeny Shvarov helped me to get started with ObjectScript development.

In those days I was surprised about ObjectScript doesn't support passing methods to another methods

2
0 295
InterSystems Official Pete Greskoff · Feb 27, 2020

Starting in March 2020, Microsoft plans to release a series of security updates that will cause Windows Active Directory (AD) servers to reject unencrypted simple binds. For more details on the changes to Active Directory, see Microsoft’s Security Advisory ADV190023.

Instances of all InterSystems products using LDAP with Windows AD servers for user login can be impacted if they are not already properly configured to use TLS/SSL.The impact is not limited to instances running on Windows versions.

2
1 542
Article Dmitry Maslennikov · Mar 24, 2020 2m read

I hope you already know one of my projects Cache Blocks Explorer. I've recently renamed it to Blocks Explorer.

For the recent contest, I've added a new feature, the ability to generate a static picture of any Cache or IRIS database. Like below. Where unique globals have a unique color. This is how looks like inside 9.5GB database. Where 1 pixel represents one block. By link on image you will get even bigger image, with more detalization.


6
0 446
Article Benjamin De Boe · Mar 25, 2020 5m read

InterSystems IRIS 2020.1 brings a broad set of improved and new capabilities to help build important applications. In addition to the many significant performance improvements accrued through 2019.1 and 2020.1, we are introducing one of our biggest changes in recent SQL history: the Universal Query Cache. This article provides more context on its impact to SQL-based applications at a technical level.

0
0 1062
InterSystems Official Pete Greskoff · Mar 25, 2020

InterSystems has corrected two defects that, in rare circumstances, can result in data integrity corruption after running global compaction, database compaction, or database defragmentation. InterSystems recommends avoiding these utilities until after applying the corrections listed below.

  1. The first defect is caused by database compaction, defragmentation, or global compaction, and can result in database corruption.If you have used one of these utilities on a database, InterSystems recommends that you perform an integrity check on it.This will identify any data corruption that has occurred.
0
0 311
Question Jack Smith · Oct 27, 2019

We have a data transformation where source is object collection (populated from a json file)  and target is EnsLib.EDI.XML.Document.

If source file is large enough, transformation fails and we get <store> error and I quickly found this:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EBPLR_DTL_foreach which at the bottom in "Avoiding <STORE> Errors with Large Messages" section tells to: 

"As you loop over segments in a message or object collections, they are brought into memory.

1
0 546
Article Gevorg Arutiunian · Jul 6, 2018 6m read

GraphQL is a standard for declaring data structures and methods of data access that serves as a middleware layer between the client and the server. If you’ve never heard about GraphQL, here is a couple of useful online resources: here, here and here.

In this article, I will tell you how you can use GraphQL in your projects based on InterSystems technologies.

24
10 2901
Question Eduard Lebedyuk · Mar 22, 2020

I'm building a container from store/intersystems/iris-community:2019.4.0.383.0 .

I need to add my folder to the LD_LIBRARY_PATH  so that my custom shared library would load at runtime.

How can I do that?

Here's what I tried:

ARG IMAGE=store/intersystems/iris-community:2019.4.0.383.0
FROM ${IMAGE}

USER root

ENV MYDIR /usr/mydir

ENV LD_LIBRARY_PATH $MYDIR:$LD_LIBRARY_PATH

RUN mkdir "$MYDIR"; \
	chown -hR $ISC_PACKAGE_IRISUSER:$ISC_PACKAGE_IRISGROUP $MYDIR; \
	chmod -R 777 $MYDIR; \
	echo "LD_LIBRARY_PATH=\"$MYDIR\"" >> /etc/environment; \
	echo "$MYDIR" >>
2
0 3598
Announcement Evgeny Shvarov · Mar 4, 2020

Hi Developers!

In March we are starting our first InterSystems IRIS Programming Contest! It's a competition in creating open-source solutions using InterSystems IRIS Data Platform.

The topic for the first contest is InterSystems IRIS, Docker and ObjectScript!

The contest will last three weeks: March 9-31, 2020

 Prizes:

There will be money prizes for Experts Nomination - winners will be determined by a specially selected jury:

🥇 1st place - $2,000 

🥈 2nd place - $1,000 

🥉 3rd place - $500

Also, there will be Community Nomination - an application that will receive the most votes in total:

🏆 1st place - $1,000

And we provide winners with high-level badges on Global Masters.

27
4 1953
InterSystems Official Jeff Fried · Dec 10, 2019

The 2019.4 versions of InterSystems IRIS, InterSystems IRIS for Health, and InterSystems IRIS Studio are now Generally Available!

These releases are available from the WRC Software Distribution site, with build number 2019.4.0.383.0.

InterSystems IRIS Data Platform 2019.4  has many new capabilities including:

  • New Automatic Configuration Customization
  • System security, performance, and efficiency enhancements including node tables
  • ICM support for Tencent Cloud
  • List Class available in the Native API for Java and .Net
  • Container and Cloud Deployment improvements
  • SQL enhancements

InterSystems

5
0 577
Article Niyaz Khafizov · Jul 6, 2018 3m read

Hi all. Yesterday I tried to connect Apache Spark, Apache Zeppelin, and InterSystems IRIS. During the process, I experienced troubles connecting it all together and I did not find a useful guide. So, I decided to write my own.

Introduction

What is Apache Spark and Apache Zeppelin and find out how it works together.Apache Spark is an open-source cluster-computing framework.It provides an interface for programming entire clusters with implicit data parallelism and fault tolerance.So, it is very useful when you need to work with Big Data.

1
1 1975
Question Mario Sanchez Macias · Mar 17, 2020
 

Hi, 

I know there are several alternatives, but I would like to find the easiest & simpler ones to store data coming in Json format from post requests and also allowing me to do SQL queries. 

I want to have a property called favouriteColors. I want to store a few colors, and I want to be able to do queries to get top favorite colors, etc... so not handling the list of colors as just a fixed string or fixed object. 

If I want to store this information, I have several alternatives, like %DynamicArray, list of %String o maybe just %String, but I  want to find the best way to store the property in

4
0 638
Question Eduard Lebedyuk · Mar 17, 2020

I have a C string and I need to build a $lb from it.

This code works fine for strings shorter than 254 characters:

char *str = "some string";
int len = strlen(str);
int add = 2;
char *list = malloc(len + add + 1);
char lenChar = len + add;
sprintf(list, "%c\x01%s", lenChar, str);

Thought maybe someone can share the code for longer strings?

1
1 402
Article alex kosinets · Mar 17, 2020 2m read

The client part of the code for this game is on the MS Excel sheet and consists of:

  1. m-commands  for random arranging ships on the playing field  (21 cells)
  2. m-command to enable on-click m-trigger on all 100 cells of the playing field (1), red font
  3. m-trigger (1), red font

The server part of the code (vmx.ro) is installed onсе, it not change depending on the task, is the same for IRIS, CACHE, 16, 8-bit encoding, any applications, games, reports.  The server side creates and maintains ‘virtual excel’ in M.

SEA BATTLE can be tested without your mx-server, just download MX and unzip to any

0
0 608
Announcement Rubens Silva · Mar 16, 2020

Hello all!

As we ObjectScript developers have been experiencing, preparing an environment to run CI related tasks can be quite the chore. This is why I have been thinking about how we could improve this workflow and the result of that effort is IRIS-CI.

See how it works here.

Quickstart

1.Download the image from the Docker Hub registry:

docker pull rfns/iris-ci:0.5.3
  1. Run the container (with the default settings):
docker run --rm --name ci -t -v /path/to/your/app:/opt/ci/app rfns/iris-ci:0.5.3

Notice that volume mounting to /path/to/your/app? This is where the app should be.

0
1 448
Question Nauris Gruduls · Mar 12, 2020

In my Data Transformation, the Target class needs to create a new List of objects (ListOfObj), depending on some conditions of Source class (Source/Target are completely distinct/different classes).

I experimented with Lists of 'primitive' data types (ListOfDT), and I could add new %String items (as an example) to a List of %String property, with "append" action in DT.

Does anyone have an example, or guidance, how to create new Lists of Objects in data transformation?

For example, if I have a 'container' class like this, it works:

Class Json.SalesOrderContainer Extends
2
0 943
Article Alexey Maslov · Mar 16, 2020 5m read

Introduction

Despite the fact that InterSystems has long recommended using external backup tools, many users have opted to use the internal Online Backup facility, which is included in all distributions of InterSystems products (IRIS Data Platform, Caché, etc.). The reasons why are quite obvious:

0
2 543
Question Frank Langel · Mar 15, 2020

    Hi, 

   I  like to validate some use cases and have the following question. I am relatively new to IRIS. Perhaps someone can help:

   1. I have a global m[x,y,z,f] distributed across multiple sharded instances
   2. I know that i can set assign computed SQL expressions to class variables using Objectscript 
   3. Is there a possibility in Globals API to do the same ? Set f = x + y as a computed expression in the global  m[x,y,z,f]  ?

       a.  We would want to use the global API to change f programmatically using code

       b.

5
0 435