#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 David Hockenbroch · Sep 27, 2023 7m read

Welcome back to %SYS! If you read the first article in this series, you must have already seen how to manage your users through the Security.Users class programmatically. Today, we will move on to Resources! Many of the classes in this package use a very similar set of methods. That means that the more we cover, the more familiar you will feel about the subject.

Users are a bit complicated and have a lot of options. Resources, on the other hand, are much simpler. They have names that can be chosen from almost anything you can come up with. However, there are a handful of rules to keep in mind.

0
1 397
Question Marcel den Ouden · Sep 5, 2023

When we add a new class in VSCode, the name automatically is set to <Folder>.<Filename>.

Because we are doing interoperability, we remove the default and type "interop" to get assistance on creating the class. This works fine on some machines, however on others it generates:

/// DescriptionClass C:\InterSystems\Training\src\Test.MyProd Extends Ens.Production
{ ...

So it uses the full pathname instead of Test.MyProd.

I guess it is a setting somewhere (settings.json?), but how can this be fixed/what is the setting that controls this?

3
0 356
Question Jan Cermak · Sep 27, 2023

Hi All,

is there any way how to hide or remove storage "Histogram" section in the file with persistent class definition, but keep the data both in globals and sql table?
The reason is that we use on-premise version control system and since the data is sensitive, it cannot be uploaded along with the files.

I have already tried "NoExtent" keyword, but that does remove the sql table and just keeps the data only in globals. The only solution I have come up with so far is to remove all the "property" sections from storage in file everytime before committing changes.

I would expect that somekind of a

2
0 344
Article Robert Cemper · Sep 26, 2023 1m read

The related package avoids adding %JSONAdaptor to each class but uses  instead   
SQL functions JSON_OBJECT() to create my JSON objects. With this approach, you can   
add JSON to any class - even deployed ones - without any need for change or recompiling.

The trigger was the Export of M:N relationships  as JSON  objects or arrays.

0
0 454
Question Pietro Di Leo · Sep 22, 2023

Hi everyone,

Today I have a simple yet potentially valuable question: How can I begin a new line of text within $$$LOGINFO or $$$TRACE?

For instance, if I need to display a long log message within the visual trace, is it possible to do something like this:

$$$LOGINFO("object: 'This is a try'"
    _"this is the second line with an example parameter: "_x
    _"this is the third line with an example parameter: "_y
    ")

Does anyone know if such a feature exists? It has the potential to greatly enhance code readability and layout. 

Thanks :) 

6
0 1188
Question Damiano Porrovecchio · Sep 26, 2023

Hello,

I begin to work with VSCode and all is ok but i have just one problem with ObjectscriptQuality plugin. I have no feedback in the problem tab using the objectScriptQuality plugin.

I only have feedback from InterSystems Language Server plugin. Where could the problem come from?

My goal is to use objectscriptQyality with the basic rules at first

I work with iris 22.3

0
1 184
Article Alexey Nechaev · Sep 23, 2023 5m read

Hi folks

I want to tell you how you can make your own assistant based on IRIS and OpenAI (perhaps you can then move to your own AI models)

iris-recorder-helper

This is the first time I have fully tried developing an application for IRIS and I want to point out steps that may also be useful to you

  1. Deploy to google cloud via github workflows (One container with an IRIS database and a web server in Python (flask)) and placing secrets inside the application not through an environment variable
  2. Record audio from the browser and send to the server
  3. Launching cron jobs via the ZPM module
  4. Integration
5
1 398
Question Ryan Pflughaupt · Sep 21, 2023

Currently I have a program that is going to be used to compare global nodes between namespaces. Using nested FOR statements I am stepping through global nodes and comparing between the namespaces, if the global values are different I then parse the node comparing each delimited segment.

This is working.

I want to now be able to set what global I am in as a variable to expand on this concept. 

Program architecture

1.Initializing program that has user prompts to change starting nodes. This program contains the FOR nests to step through nodes.

3
0 446
Article Alex Woodhead · Jun 13, 2023 3m read

Yet another example of applying LangChain to give some inspiration for new community Grand Prix contest.

I was initially looking to build a chain to achieve dynamic search of html of documentation site, but in the end it was simpler to borg the static PDFs instead.

Create new virtual environment

mkdir chainpdf

cd chainpdf

python -m venv .

scripts\activate 

pip install openai
pip install langchain
pip install wget
pip install lancedb
pip install tiktoken
pip install pypdf

set OPENAI_API_KEY=[ Your OpenAI Key ]

python

Prepare the docs

import glob
import wget;
4
2 1401
Question Alan Macdonald · Sep 21, 2023

I'm at a loss with configuring the IRIS ODBC driver (v02.10) on my Amazon Linux machine, connecting to a REMOTE IRIS backend.  It should be simplified by not requiring a DSN (the app uses a DSN-less connection and generates the connection string).  I have

2
0 976
Article Mihoko Iijima · Sep 21, 2023 1m read

InterSystems FAQ rubric

The meaning of each timeout value is as follows.

1. [Server response timeout]

If IRIS/Caché processing (routine or query execution) does not finish within this set time, the browser will return an error.

For example, if this value is 60 seconds and it takes 90 seconds to execute a routine/method/query, an error will occur.

2. [Queued request timeout]

For each IRIS/Caché server configured in CSP/REST, you can limit the number of processes that can run CSP/REST concurrently.

For example, when the maximum number of server connections is 3 and if multiple pages that take several

2
0 630
Question Scott Roth · Aug 22, 2023

My original ZAUTHENTICATE.mac to use Delegated sign on did not include GetCredentials(), however I am being told it probably should have it so I am eliminate an error I am seeing when trying to troubleshoot the ZAUTHENTICATION. I am trying to add the GetCredentials() from the documentation to the existing ZAUTHENTICATE.mac  but I am getting an error

GetCredentials(ServiceName,Namespace,Username,Password,Credentials) Public {

  // For console sessions, authenticate as _SYSTEM.
  If ServiceName="%Service_Console" {
    Set Username="_SYSTEM"
    Set Password="SYS"
    Quit$SYSTEM.Status.
7
0 628
InterSystems Official Fabiano Sanches · Sep 20, 2023

InterSystems announces its first developer preview for the 2023.3 release of InterSystems IRIS® and InterSystems IRIS for HealthTM.

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. Initial documentation can be found at these links below. They will be updated over the next few weeks until launch is officially announced (General Availability - GA):

Highlights

There are several exciting new

1
0 334
Article Heloisa Paiva · Sep 21, 2023 1m read

Why to use it

This app offers an easy interface to analyze storage:

  • Filter by database (namespace), global name, used size, or allocated size;
  • View a sum of the used and allocated sizes for the filters applied;
  • Export the table to JSON, CSV, or XML.

How to use it

Follow the instructions on the README file from the GitHub repository, and configure the settings to connect to your instance.

How to adapt it to your needs

Since it was built with Python and Django, you can easily add specific analysis methods in the api/methods.py and use the views on views.py to display them.

Also, if you want to

0
1 278
Article André Dienes Friedrich · Sep 21, 2023 3m read

In the ever-evolving landscape of data science and machine learning, having the right tools at your disposal can make all the difference. In this article, we want to shine a spotlight on two essential Python libraries that have become indispensable for data scientists and machine learning practitioners alike: Matplotlib and scikit-learn.

Matplotlib: Crafting Visualizations with Precision

Matplotlib is a versatile and powerful library for creating static, animated, and interactive visualizations in Python.

2
2 293
Announcement Mihoko Iijima · Sep 20, 2023

Hello developers!

We are holding the first technical article contest on Japan's InterSystems Developer Community!

The first contest is a technical document writing contest, and you can submit any content related to the InterSystems IRIS/InterSystems IRIS for Health. (The article must be in Japanese.)

✍ InterSystems Japan Technical Document Writing Contest: Articles related to IRIS ✍

🎁 Participation prize: There will be a participation prize for everyone who submits an article for the contest.

🏆Special prize: Authors of three selected works will receive special prizes.

Entering the contest is easy! Please post an article related to IRIS on the developer community during the period from Wednesday, September 6, 2023 to Monday, November 6, 2023.


0
0 560
Discussion Evgeny Shvarov · Sep 18, 2023

Hi Interoperability experts!

Recently noticed an interesting conceptual discussion in our Interoperability Discord channel to which I want to give more exposure.

All we know that typical InterSystems Interoperability production consists of the following chain:

Inbound adapter->Business Service->Business Process->Business Operation->Outbound adapter.

And Business Process (BO) here is always considered as a passive "listener" either on port/folder/rest API for an incoming data.

4
0 376
Article Sergey Mikhailenko · Sep 19, 2023 2m read

image Hello to all developers and IRIS users. I am submitting to the competition a project for an alternative IRIS management portal that I have long wanted to create. The project was implemented on the Django framework and the intersystems_irispython-3.2.0-py3-none-any.whl library using native IRIS. The Django project is integrated with the telegram messenger and can be launched from a docker container or directly. To run it, you need to create a .env file in the project root for which you can use the .env_example example.

DJANGO_DEBUG=True
DATABASE_URL=sqlite:///db.sqlite3
TELEGRAM_TOKEN=<PASTE
1
1 304
Question Dmitry Maslennikov · Sep 21, 2020

Doing a new project with %JSON.Adaptor, unexpectedly realized that %JSON.Adaptor does not support export to native JSON. %JSONExport just outputs directly to the current device, and there are two more methods %JSONExportToString, and %JSONExportToStream.

In conjunction with generating REST from swagger specification, where any generated method accepts as a result %DynamicObject, which is good. 

I have multiple places in my REST where I have to return JSON for an object, but I have to modify the result a bit, just extend it with some other way.

And having this in my code, I don't like, and anyway

7
2 1020
Article Daniel Aguilar · Sep 19, 2023 3m read

Hi Community!,

I've published a new versión of IrisApiTester, I included some new features:

  • External Repo: Added possibility to use a collection in a repository (Github or Bitbucket) instead of drag manually the collection's file into the web page.
  • Pull and Run: Created new endpoint to auto pull changes in the repo and run the test automatically.
  • Unit Testing / Integration Test: Added an example of how to use IrisApiTester for unit testing and integrations tests 
  • CI/CD: Added new endpoint to use in for example Github workflows after every commit to auto pull changes of the collection's
0
1 291
InterSystems Official Fabiano Sanches · Sep 18, 2023

InterSystems has corrected two defects regarding connectivity. These defects and their corrections are independent of each other.

This alert addresses them both because there are point releases containing both corrections.

Both defects only impact versions 2019.1.4 and 2020.1.4 of:

  • InterSystems IRIS®
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

Neither defect impacts any released version of HealthShare Unified Care Record®, Information Exchange, Health Insight, Patient Index, Provider Directory, Care Community, Personal Community, or Healthcare Action Engine.

The first defect

0
0 280
Question Robert Barbiaux · Sep 15, 2023

Hi,
I am dealing with a very old code base (some routines date back to 1985 and were running on a M system 😉). It is rather huge and currently contains around 5000 compilable *.int routines.

My goal is to export all routine code as *.int UDL files and setup a git repository containing all routines.

The issue is, approximatively 200 of those routines have storage names that differ only in case. I am using Windows and when exporting those routines using vscode, files gets overwritten depending on routine export order, as Windows NTFS file system names are not case-sensitive.

For example, there is

5
0 325