#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 Eduard Lebedyuk · Jun 19, 2020 2m read

Recently I needed to generate a Swagger spec from persistent and serial classes, so I'm publishing my code (it's not complete - you still need to hash out the application specifics, but it's a start). It's available here.

Let's say you have these classes:

 

Classes

14
3 1971
Question Chip Gore · Sep 22, 2020

Hi -

I'm trying to get my VS Code instance that is connected to an AWS IRIS instance to edit/save/compile .csp files, but it's failing to work and I'm not sure why. The ".csp" is associated with the objectscript-csp code, and the server is connected, but things just don't act like they are enabled.

Should this work? and if so, what might I have missed in configuring things?

5
0 1035
Question Abbad Minhas · Feb 3, 2022

We have a requirement to write to an AWS S3 bucket from Cache.

We haven't upgrade to IRIS yet, but are looking at doing so in the future. This requirement cannot wait for the upgrade to happen, unfortunately.

Will appreciate if any one can share any example code, that enables cache to write to an AWS S3 bucket? 

8
1 933
Question Suman Samanta · Mar 22, 2022

Hi i am trying to load and compile one class from java . I am following this code. I am using iris 2021.2

             irisConnection = (IRISConnection) DriverManager
                     .getConnection("jdbc:IRIS://10.20.30.40:51773/MYNAMESPACE", "username", "password");
             iris = IRIS.createIRIS(irisConnection);
             iris.classMethodStatusCode("%SYSTEM.OBJ", "Load", "/filePath/SumanPramodTest.test3.CLS.xml","/displaylog=0 /displayerror=0");

When i am passing cuk  or ck in qspec param , i am getting error . but when i pass "/displaylog=0 /displayerror=0" it does not thr

5
0 422
Article Evgeniy Potapov · Apr 12, 2022 6m read

I was using PowerBI to create regular display data obtained from one popular web sourse with hundreds of thousands of visitors per month and a big number of users.

At the beginning of that visualisation development, I was using direct connection from Power BI to Adaptive Analytics powered by AtScale. Adaptive Analytics is useful for cached data, aggregates and fast data sources switching between development and stage phases. The “AtScale cubes'' connection method was used:


The Problem 

Power BI is an enormously popular business intelligence platform with rich visualization and reporting

0
0 1052
Question Nigel Salm · Oct 4, 2020

Hi

How do I run a CSP page from within VS Code.

Secondly I have installed an extension called "Live Server" which will run .html pages within VS Code. Have any of you made use of this extension and if so can you specify that .csp pages are html pages?

If I press F5 in VS Code (just as you would in Cache Studio) in order to view a csp page when I press F5 in vs code it tries to open

http://localhost:57772/csp/bootstrap/

without the csp page name

If I add the csp page name in the url it works. The question is how do I link the csp page to the url passed to the browser

Nigel

6
2 1363
Article Sarah Matthews · Apr 8, 2022 3m read

Introduction

Hi Community,

This article is aimed at developers implementing DICOM productions, specifically for cases with third-party endpoints that cannot handle the DIMSE timeout themselves.

For DICOM applications, the DIMSE timeout is a maximum time to wait for the next DICOM request (-RQ) or a response to a request (-RSP), after an association has been established. Unlike the ARTIM (association establishment) and TXTIM (data transfer) timeouts, the DIMSE timeout lives at a higher level than individual PDUs, with the application-level request/response logic.

The DIMSE timeout is descri

1
0 1020
Article Yuri Marx · Apr 4, 2022 12m read

  

Globals are the core of the InterSystems IRIS for data persistence. It is flexible, allowing store JSON documents, relational data, object oriented data, OLAP cubes and custom data models, like Mindmaps. To see how to store, delete and get mindmap data using globals, follow these steps:

1. Clone/git pull the repo into any local directory

$ git clone https://github.com/yurimarx/global-mindmap.git

2. Open a Docker terminal in this directory and run:

$ docker-compose build

3. Run the IRIS container:

$ docker-compose up -d

4. Go to http://localhost:3000 to use the Mindmap frontend and

2
1 537
Article Robert Cemper · Jan 24, 2022 1m read

I have created a package that offers a utility to load a Global into JSON object and reverse     
to create a Global from this type of JSON object. Compact refers to the structure created.
Globals nodes are included with data for a fast data load.   
But also the related code is quite compact.

3
0 439
Article Sergey Mikhailenko · Apr 8, 2022 2m read

I will devote the third article to a story about the additional features of the project.

znamespace

Very often you need to find out if there is a specific package in the current instance, for example, so as not to duplicate. To do this, I implemented a modification of the namespace command of the package manager, on the option tab, you need to press the FIND button.

You can filter by package name. You can filter by package name. As a result, we get a list in which namespaces, which versions of packages are.

package

After installing the package, sometimes there is a need to collect all the f

image

0
0 213
Announcement Anastasia Dyubaylo · Apr 7, 2022

Hi contestants!

Here are the results of the bonus collections the applications of the Globals Contest accomplished.

Here are the projects that scored it:<--break->

Project

Data-model implementation

Functional index implementation

Data Move usage

Embedded Python

Docker

ZPM

Online Demo

First Article on DC

Second Article on DC

Code Quality

Video on YouTube

Total Bonus

Nominal 5 5 3 4 2 2 2 2 1 1 3 30
Globals: Embedded Python vs. ObjectScript       4 2 2 2 2   1   13
GlobalToJSON-Compact      

5
0 345
Article Lorenzo Scalese · Apr 4, 2022 6m read

Hi Community,

This article describes the small ZPM module global-archiver.
The goal is to move a part of a global from a database to another database.

Why this package?

A typical use case is read-only data sequentially added to your database that you can never delete.
For example:

  • User log access to patient medical data.
  • Medical documents versioning.

Depending on the intensive usage of your application, these data could highly increase your database size.
To reduce the backup time, it could be interesting to move these data to a database dedicated to the archive and make a backup of this dat





schema-01

5
0 387
Article Henry Pereira · Apr 6, 2022 7m read

All of us know that money is important. We constantly need to monitor all expenses to avoid looking back to the bank statement and thinking: “So, where’s my money?”

To evade financial stress, we must keep an eye on the inflow and outflow of money into our accounts.It is also important to tack when and how we spend and earn. Manually recording all transactions in order to understand where our money goes requires an effort. It demands consistency, and it is boring. Today there is a bunch of mobile or SaaS options that help you manage your finances.

I believe that there’s a good chance you are d

simple test

0
0 2041
Article Yuri Marx · Apr 6, 2022 10m read

In the main software development methodologies there is always a chapter dedicated to testing. It is a mandatory approach to achieving quality in deliveries on an ongoing basis.

There are two types of test:

  1. White Box Test: These are tests that examine the quality of the source code and application functionality. In this type of test we have:
    1. Static analysis: static analysis solutions are used (there is no functionality execution at the time of testing) of the source code, where naming patterns, indentation, declared and unused variables, coupling index between components, among other

2
2 792
Question Jukka Pitkänen · Mar 21, 2022

Hi! I'm banging my head to the wall with HMAC authentication. I have tried to implement this various ways but nothing seems to work.

If someone could help on this it would be great!

Here is a code that I have tried and working Javascript example, tested on Postman. 

Set Appid = "itsasecretid"
Set Appkey = "itsasecretkey"

Set requestTimeStamp = $ZDATETIME($HOROLOG,-2)
Set nonce = ..getRandomString()
Set signatureRawdata = Appid_requestTimeStamp_nonce
    
Set keyUTF8 = $zconvert(Appkey,"O","UTF8")
Set signatureRawdataUTF8 = $zconvert(signatureRawdata,"O","UTF8")
    
Set tSigningKey = $SYSTEM.Encry





4
0 905
Article Sergey Mikhailenko · Apr 5, 2022 2m read

In a previous article, I talked about the implemented package manager commands (generate, list, load). In this article I want to talk about other commands.

repository

On the Option tab, you can see which current case is set and switch

search

To see the list of packages in the current register, click on the search button.

install

To install a package in the current namespace, you need to check the selected package and click the install button.

I implemented an extension to the install command, when you need to create a database and namespace before installing the package and install the pac

image

0
0 282
Question Alex Kogan · Apr 5, 2022

I have a few Radio buttons, some of which have to have the same value.  I need to know which one the user have selected, so I am using text, however it does not work well so far.

Example: 
I have 4 Radio buttons: Apple, Pear, Lemon and Orange, with values: Apple, Pear have Value 1, and Lemon and Orange have Value of 2
(this unfortunatelly cannot be changed for this particular application)

I need to figure out that the user picked specifically Apple, so I am using text as follows:

var FruitSelected=$('[name='Nameoftheradiobuttonhere]:checked').parent().text();
alert (FruitSelected) - gives me p

5
0 227