#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 Kyle Baxter · Oct 10, 2019 2m read

Are you all ready for something you wish you knew ages ago (or, in my case, a DECADE ago)?  Open up a portal in your favorite instance and go to:

System Administration->Configuration->Additional Settings->Startup

Scroll down to "Terminal Prompt" and click 'Edit'.  This allows you to edit what you see on your terminal prompt.  You can change that to my current setting: 8,3,2

What does this do?  It adds your instance name for your prompt.  So now your prompt can look like:

DEVELOPMENT:USER>

Congratulations, you will now NEVER be in the wrong instance again (remember the last time you were trying to

12
2 1358
Article Luis Angel Pérez Ramos · Jun 27, 2023 11m read

As you know, if you regularly read the articles that are published in the Community, last May InterSystems organized the JOnTheBeach2023 Hackathon held in Malaga (Spain). The topic that was proposed was the use of predictive analysis tools that InterSystems IRIS makes available to all developers with IntegratedML. We must thank both @Thomas Dyar and @Dmitry Maslennikov for all the work and effort they put into making it a resounding success.

Let's briefly introduce IntegratedML

IntegratedML

IntegratedML is a predictive analytics tool that enables any developer to simplify the tasks required to design,

5
2 507
Article Oleksandr Zaitsev · Jul 3, 2023 3m read

Introduction

A password manager is an important security tool that allows users to store and manage their passwords without the need to remember or write them down in insecure places. In this article, we will explore the development of a simple password manager using the Flask framework and the InterSystems IRIS database.

Key Features

Our password manager application will provide the following key features:

  1. User registration with account creation.
  2. User authentication during login.
  3. Adding new passwords with a title, login, and password.
  4. Encryption and secure storage of passwords in the
1
0 492
Article Sergey Mikhailenko · Jul 4, 2023 1m read

image This project is implemented as a tool for viewing temperature data taken from a temperature sensor installed in Rasperry PI and located in a remote place where there is Internet, for example, in dacha.

The module for regular reading and sending information is implemented in python and is built in the same project.. If the temperature in the country house becomes lower or higher than the threshold values, then a notification will be sent to the telegram channel. It is very convenient if you come to the country house only at the end of the week.

The user interface is based on the AppTools library

0
1 200
Article Heloisa Paiva · Jul 4, 2023 10m read

Our objective

In the last article, we talked about a few starters for Django. We learned how to begin the project, ensure we have all the requisites, and make a CRUD. However, today we are going a little further. 
Sometimes we need to access more complex methods, so today, we will connect IRIS to a Python environment, build a few functions and display them on a webpage. It will be similar to the last discussion, but further enough for you to make something new, even though not enough to feel lost.
In this project, we will get information about the globals in IRIS to track their sizes to

0
1 387
Question Gautam Rishi · Jun 30, 2023

Hi all,
I am using ExecDirect() method to execute my SQL query which is something like "SELECT * from Account where AccountNumber = ? "
But when I am providing a accountnumber that don't exists it doesn't return anything as aspected. while I am trying to check resultset.%SQLCODE in this case it is giving me 0 not 100. What's wrong with my SQL query and Also I there any other Property through which I check for if my resultset is null or it has some values.

2
0 360
Article Zhang Fatong · Jul 4, 2023 2m read

Prediction of server configuration for entry

The platform server entry configuration prediction application connects to Iris in Java and uses its Integrated ML technology to analyze data such as hospital outpatient volume, number of services, number of messages, and message save time. It can predict the server configuration required for the hospital entry platform before the hospital integration platform enters, providing convenience for customers.

Analog data

Platform server admission prediction uses iris business process, integratedml and Java to import data, initialize the model, train the

0
0 197
Discussion Eduard Lebedyuk · Mar 2, 2023

It's time for a Code Golf round!

Isogram 

A word or phrase that has no repeating letters, consecutive or non-consecutive.


Implement a method that checks if the received string is an isogram or not.
Assume the empty string is an isogram. 
Ignore the letter case.

Allowed inputs: A-Z, a-z.

As usual, the shortest solution wins!

11
0 452
Announcement Anastasia Dyubaylo · May 30, 2023

Hi Developers,

The annual competition for InterSystems IRIS developers is fast approaching! 

We're super excited to invite you all to join the Grand Prix contest for building open-source solutions using InterSystems IRIS data platform! 

🏆 InterSystems Grand Prix Contest 2023 🏆

Duration: June 12th - July 9th, 2023

Prize pool: $26,000


18
2 2177
Article Daniel Aguilar · Jun 29, 2023 3m read

Hello Community!!

I just upload my lastest application "IRIS Api Tester" to the Open Exchange. 

It's a docker project with InterSystems IRIS + Newman that will allow you to test your Postman Collections in a quick and easy way..

It's ready to work out of the box, you just have to clone the repo: https://github.com/daniel-aguilar-garcia/irisapitester

Run the docker-compose file:

Open this url in your browser: 

http://localhost:52773/csp/user/index.html

Add some test to your Postman collection:

In this example I have added a global test for all the entries of the collection by adding a test in the

1
1 621
Discussion Oliver Wilms · Jun 29, 2023

I want to deploy IRIS apps running in containers in Kubernetes with user accounts configured.

I have a %ZSTART routine which looks for an XML file with Users export data and if the %ZSTART routine finds this file, it imports it. This Users export data can be obtained by running a class method.

I have defined a task which can be scheduled or run on demand. This tasks imports user data from an XM file.

In Kubernetes I can provide a ConfigMap to stage the Users data for the %ZSTART routine.

I want to define Users data once and get it deployed to many IRIS apps running multiple replicas in a

2
0 249
Article Oliver Wilms · Mar 19, 2023 5m read

csp-log-tutorial

Prerequisites

Make sure you have git installed.

I created a git folder inside the IRIS mgr directory. I right clicked the git folder and chose Git Bash Here from the context menu.

git clone https://github.com/oliverwilms/csp-log-tutorial.git

Clone my csp-log-tutorial GitHub repo if you like to try it out for yourself.

I will describe in this tutorial how I try to use access.log and CSP.log files in webgateway pods to track requests and responses.

My team works with IRIS containers running on Red Hat OpenShift Container Platform (Kubernetes) in AWS.

1
0 412
InterSystems Official Benjamin De Boe · Jun 30, 2023

InterSystems IRIS Cloud SQL is a fully managed cloud service that brings the power of InterSystems IRIS relational database capabilities used by thousands of enterprise customers to a broad audience of application developers and data professionals. InterSystems IRIS Cloud IntegratedML is an option to this database-as-a-service that offers easy access to powerful Automated Machine Learning capabilities in a SQL-native form, through a set of simple SQL commands that can easily be embedded in application code to augment them with ML models that run close to the data.

Today, we announce the Developer Access Program for these two offerings. Application developers can now self-register for the service, create deployments and start building composable applications and smart data services, with all provisioning, configuration and administration taken care of by the service.

0
0 400
Question Alex Woodhead · Jun 30, 2023

Motive

Am just plain curious about how people may be approaching this area.

The Question

The %SYSTEM.License API wraps an IRIS key that is specific to a range of InterSystems products with

  •  Platform features
  •  Platform behaviors
  •  Expiry date
  •  Capacity / Usage limits

If a company is implementing deployed products that:

  • run on top of IRIS
  • optionally support other vendor IRIS products

For example:

  • a "plug-in" API
  • a knowledge-base

And they have an IPM deployed solution.

To avoid reinventing the wheel, am wondering for commercial vendors, is there a common way to achieve third-party

2
0 300
Article Jimmy Xu · Oct 11, 2022 2m read

ZPM is designed to work with applications and modules for InterSystems IRIS Data Platform. It consists of two components, the ZPN Client which is a CLI to manage modules, and The Registry which is a database of modules and meta-information. We can use ZPM to search, install, upgrade, remove and publish modules. With ZPM you can install ObjectScript classes, Frontend applications, Interoperability productions, IRIS BI solutions, IRIS Datasets or any files such as Embedded Python wheels. 

Today this cookbook will go through 3 sections:

  1. Install ZPM
  2. Generate Module
  3. Find, Install, publish
10
11 1495
Question Andy Stobirski · Jun 29, 2023

Hi all

I need to do hardware maintenance on a physical HealthConnect server which forms one half of a mirrored pair, and  It will require multiple restarts.

So, I will need to prevent any HealthConnect services from restarting until all maintenance is completed. Is this just a case of disabling the service "HealthConnect Controller for <SERVERNAME>", or is there anything else I need to be aware of?

Andy

2
0 229
Article Yuri Marx · Jan 21, 2022 4m read

@Robert Cemper is the most active and widely read member of the community (Best Seller!). So nothing better than learning InterSystems technologies from over 100 articles by him. I curated the articles, selecting the best ones by subject:

Articles about SQL

DB Migration using SQLgateway DB migrations to IRIS using SQLgateways.

Dataset Lightweight M:N and M:N Relationship Advanced SQL relationships

Using ClassQueries() as Tables Using ClassQueries as tables (like views using objectscript)

Effective use of Collection Indexing and Querying Collections through SQL Index SQL query collections

Show

7
14 742
Article Daniel Aguilar · Jun 29, 2023 2m read

Hello Community!

I'm going to try to explain how to create test for Postman collections for use it with my app IRIS Api Tester.

Yet, What is Newman?:

Newman is a command-line tool that allows you to run Postman collections in an automated and scalable way. By creating tests in Newman, you can ensure the reliability and correctness of your API endpoints. In this article, we will explore how to create tests for Newman in Postman, along with practical examples to help you get started.

Once you have created your Postman Collection:

You're ready to start writing your test scripts:

Tests in Postman are

0
0 456
Article Mihoko Iijima · Jun 29, 2023 3m read

InterSystems FAQ rubric

For volatile tables (tables with many INSERTs and DELETEs), storage for bitmap indexes can become inefficient over time.

For example, suppose that there are thousands of data with the following definition, and the operation of bulk deletion with TRUNCATE TABLE after being retained for a certain period of time is repeatedly performed.

Class MyWork.MonthData Extends (%Persistent, %Populate)
{
/// Level of satisfaction
Property Satisfaction As %String(VALUELIST = ",満足,やや満足,やや不満,不満,");
/// Age
Property Age As %Integer(MAXVAL = 70, MINVAL = 20);
Index AgeIdx On Age [
0
0 379
Article Robert Cemper · Jun 20, 2022 7m read

My major interest is  Working with Globals in Embedded Python.
So I checked the available official documentation.

#1 Introduction to Globals
an attempt of a generic description of what a global is. Pointing to

#2 A Closer Look at ObjectScript
But where is Embedded Python ?
Way down you see

#3 Embedded Python

3.1 Embedded Python Overview
3.1.1 Work with Globals

Great if you have never seen a Global before
Otherwise a shocking primitive example
3.2 Using Embedded Python
Last hope: >>> but there is just NOTHING visible.
This is more than just disappointing! Even IRIS Native API for Python is more detailed.
To

8
3 1349
Question Evgeny Shvarov · Oct 2, 2022

Hi folks!

How can I refer to a classmethod of the same class while coding another classmethod with Embedded python?

I know that I can call it with iris.cls(classname).MethodName(), but it's more cumbersome even comparing with ObjectScript, where I can call ..MethodName().

Compare ObjectScript:

do..SetupGame()

and the same call in EmbeddedPython:

    iris.cls('eshvarov.sample.SeaBattle.GamePython').SetupGame()

 

Thoughts?

6
0 455
Question Gautam Rishi · Jun 29, 2023

Hi All,
I was creating a unit test directory with the below script. But it not creating any directory as mentioned in code. I am working on MacBook with irisusr User as standard installation process.

if '$data(^UnitTestRoot) {

set mainFolder = "UnitTest\NewDir\"

set st = ##class(%File).CreateDirectoryChain(mainFolder _ testSuite)

if $$$ISOK(st) { set ^UnitTestRoot = mainFolder }

else {

write !, "UnitTestRoot folder could not be created. Consult with instructor."

do $system.Status.DisplayError(st)

}

}

2
0 360
Question Gautam Rishi · Jun 29, 2023

Getting INVALID OREF error while unit testing. Also ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size() these are working fine getting 7 value from both. but still it is not working.

do $$$AssertEquals(ResultDyanmicObj.Headers.%Size(),DummyResponse.Headers.%Size(), "Validation for Headers")

error - INVALID OREF>TestAccountSearchWithoutAccount+6

1
0 433
Question Gautam Rishi · Jun 28, 2023

Hi All,

I am trying to execute my SQL query using ExecDirect() method and it returns a ResultSet. No doubt it works fine after this I am trying to fetch each value using a loop code below. But before that, I am also checking for %SQLCODE = 100 which is for an empty resultset I think. However, It is not working as desired. In the case of an empty resultset also I am getting %SQLCODE = 0 until result.%Next() is called. Also, %ROWCOUNT is giving 0 in a case where my query is return 1 result row. I am so confused about this.
while resultset.%Next() {

// code

}

4
0 343