#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.

Question Katrina E Rodenhaus · Oct 26, 2023

I am very new to IRIS. We are developing a PHP application that connects to an IRIS instance of one of our vendors. I am having trouble with a specific table. When I need to query this specific table for specific fields, I am receiving an error. However, if I change the call to get all columns (`*`), there is no error. I get 37K records returned.

Error:

PHP Fatal error:  Uncaught PDOException: SQLSTATE[SL009]: <<Unknown error>>: [unixODBC][Driver Manager]No columns were bound prior to calling SQLFetch or SQLFetchScroll (SQLFetchScroll[0] at /builddir/build/BUILD/php-8.1.
4
0 606
InterSystems Official Bob Kuszewski · Oct 26, 2023

InterSystems will end support for using the VxFS filesystem with InterSystems IRIS and label it as deprecated as of the release of InterSystems IRIS 2023.3.  InterSystems will continue to support any existing customers using the technology, but it is no longer recommended for new deployments.

VxFS had only been supported on SUSE Linux.  Impacted customers are encouraged to migrate to XFS or another supported filesystem.

Customers with questions should reach out to their account team or contact me directly.

0
0 327
Article Mihoko Iijima · Oct 26, 2023 2m read

InterSystems FAQ rubric

Information on properties defined in a class can be obtained using the following system classes:

%Dictionary.ClassDefinetion

%Dictionary.PropertyDefinition

The code description example is as follows.

Class ISJ.Sample
{
ClassMethod getPropInfo(classname As %String)
{
    set cls=##class(%Dictionary.ClassDefinition).%OpenId(classname,,.status)
    if $$$ISERR(status) {
        write "Specified class does nt exist",!
        quit
    }
    set x=cls.Properties
    for i=1:1:x.Count() {
        // Get property info (%Dictionary.
0
2 633
Question Jun Suzuki · Aug 9, 2022

Following the documentation to insert into tableA from tableB in the SQL query box from the Management Portal :

INSERT INTO tableA (col1, col2)
SELECT col1, col2
FROM tableB

This straightforward query raises the following error :

Error #5475: routine compilation error : %sqlcq.TESTuNAMESPACE.cls305. Errors: %sqlcq.TESTuNAMESPACE.cls305.cls
ERROR: %sqlcq.TESTuNAMESPACE.csl305.1(14) :
<UNDEFINED>parseExtFrom+19^%qaqcmx
*mt("f", "1^TABLEA") :

Could someone help me decipher this error message ? Thanks for your help.

7
0 658
Question William Glover · Oct 25, 2023

I have a sub class that calls a method in the parent class it is derived from.

However in the below code a <NO CURRENT OBJECT> error is thrown.

Set propertyValue = $PROPERTY($THIS,name)

Using the debugger  I can see $THIS is returning the name of the subclass as it should and name is the correct property name (worth noting some properties are defined in the superclass not the subclass).

Why is this error ocouring and how can I fix it?

4
0 319
Article Eduard Lebedyuk · Aug 14, 2018 6m read

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD
  • Why containers?
  • Containers infrastructure
  • CD using containers
  • CD using ICM
  • Container architecture

In this article, we would talk about building your own container and deploying it.

14
3 1518
Article Kari Vatjus-Anttila · Oct 20, 2023 11m read

I was attempting to find a solution to grant clients anonymous access to certain API endpoints while securing others within my REST API. However, when defining a Web Application, you can only secure the entire application and not specific parts of it.

I scoured the community for answers but didn't find any exact solutions, except one recommendation to create two separate web applications, one secured and the other unsecured. However, in my opinion, this approach involves too much work and creates unnecessary maintenance overhead.

7
1 879
Job Jaceita Chilton- Walker · Oct 24, 2023

If interested email to me at jwalkerbdrsolutionsllc.com

Ensemble/IRIS Developer to join our growing team! This position will be performed virtually from the individual's home office working on EST time schedule. This position requires US Citizenship with a Public Trust or the ability to obtain one.
(Military Veterans are highly encouraged to apply)
Role Overview
BDR is in search of a proficient InterSystems Ensemble/IRIS developer to contribute to our Department of Veterans Affairs (VA) contract.

0
0 436
InterSystems Official Bob Kuszewski · Oct 24, 2023

End of support for CentOS

CentOS will no longer be a supported development platform as of the release of InterSystems IRIS 2023.3. 

CentOS had been a supported development platform to give developers a free-to-use equivalent to Red Hat Enterprise Linux (RHEL) for IRIS development.  As you're probably aware, Red Hat made significant changes to CentOS which moved it to being “upstream” of RHEL. This means it has bugs & features not yet included in RHEL, which can cause problems for developers building on the platform.

0
0 352
Question prashanth ponugoti · Oct 23, 2023

Hi Friends,

We have a requirement to read pdf text in ensemble object script code. As object script doesn't have direct solution , i tried to implement python code , but

iris 2020 , there is no support for python in object script.

so I have found one java utill using pdfbox api.

Now I have created jar and want to register into iris and want to make a call to mymethod to read pdf text.

please help me to way forward to achieve it.

java code:

============

package org.optimus.utils;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import java.io.
4
0 507
Question Augustin MADET · Oct 24, 2023

import os

# Get environment variables
db_host = os.getenv('DB_HOST')
db_port = os.getenv('DB_PORT')
db_namespace = os.getenv('DB_NAMESPACE')
db_username = os.getenv('DB_USERNAME')
db_password = os.getenv('DB_PASSWORD')

# Create a database connection
conn = irisnative.createConnection(db_host, db_port, db_namespace, db_username, db_password)

# Create an IRIS instance from this connection
iris_native = irisnative.createIris(conn)

status = iris_native.classMethodValue('%SYSTEM.OBJ', 'Load', 'Production.cls', 'ck')

if status == 1:
    print("The Production.cls file was compiled successfully.

3
0 250
Article Kari Vatjus-Anttila · Sep 14, 2023 4m read

Effective documentation is a cornerstone of software development, aiding in code comprehension, maintenance, and collaboration. By harnessing the power of Doxygen and the ObjectScript filter I've created, you can generate rich static documentation from your source code. This approach does not require a running IRIS instance and thus is a good choice in situations when access to IRIS is not possible. Static documentation may be provided to end-users as-is, together with the source code.

7
1 614
Announcement Larry Finlayson · Oct 23, 2023

Managing InterSystems Servers - Virtual  November 6-10, 2023

  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.

Self-Register Here

0
0 155
InterSystems Official Fabiano Sanches · Oct 19, 2023

Two extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect are now available.

✅ 2022.1.4

Release 2022.1.4 provides bug fixes for any of the previous 2022.1.x releases.

You can find the detailed change lists / upgrade checklists on these pages:

✅ 2023.1.2

Release 2023.1.2 provides bug fixes for any of the previous 2023.1.x releases.

1
0 491
Question Ashok Kumar T · Oct 22, 2023

Hello Community,

I've enabled the JWT Authentication in my web application. I invoked the /login page to get the JWT and it creates an entry in %SYS.TokenAuth table. Is there any time span for the entries will rid out from the table automatically or It's  a manual process? Where can I find the JWT signature private/public key 

settings screenshot

web application

0
0 239
Article Dmitry Maslennikov · Aug 22, 2023 12m read

For the upcoming Python contest, I would like to make a small demo, on how to create a simple REST application using Python, which will use IRIS as a database. Using this tools

  • FastAPI framework, high performance, easy to learn, fast to code, ready for production
  • SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL
  • Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.
  • Uvicorn is an ASGI web server implementation for Python.
5
2 615
Article Iryna Mykhailova · Mar 31, 2023 3m read

Saw the other day an article with the usage of the %ZEN package when working with JSON and decided to write an article describing a more modern approach. At some recent point, there was a big switch from using %ZEN.Auxiliary.* to dedicated JSON classes. This allowed to work with JSONs more organically.

Thus, at this point there are basically 3 main classes to work with JSON:

  • %Library.DynamicObject - provides a simple and efficient way to encapsulate and work with standard JSON documents. Also, there is a possibility instead of writing the usual code for creating an instance of a class like
set obj = ##class(%Library.DynamicObject).%New()

it is possible to use the following syntax

set obj = {}
  • %Library.DynamicArray - provides a simple yet efficient way to encapsulate and work with standard JSON  arrays. With arrays you can use the same approach as with objects, meaning that yu can either create an instance of the class
set array = ##class(%DynamicArray).%New()

or you can do it by using brackets []

set array = []
  • %JSON.Adaptor is a means for mapping ObjectScript objects (registered, serial or persistent) to JSON text or dynamic entities.
5
2 1987
Question Pietro Di Leo · Oct 16, 2023

Hi everyone, 

My problem today is how to send an HTTP message to a web service deployed via Render and gunicorn. 

Issue

Every time I try to contact the web service I get an error. Searching on the web, I've found this StackOverflow question that suggests the issue could be set off from a missing "/" character in the endpoint string.

I've tried in many ways, both including and excluding the final slash character, but I always get an error:

  1. When using a URL without the final slash (e.g., https://<renderProjectName>.onrender.com), the message is successfully sent but I get the error HTTP/1.
4
0 351
Discussion Scott Roth · Oct 12, 2023

I am trying to move us to Securing the Management Portal using Apache and the Web Gateway.

Our Development environment/namespace only has 1 server, but both Test and Production have failover/DR mirroring containing 3 servers for Test, and 3 additional servers for Production. 

  • Development - 1 server
  • Test -2 server's setup for Failover, and 1 Async DR Mirror
  • Production - 2 servers' setup for Failover, and 1 Async DR Mirror

In Test and Production, the mirroring is setup using an Arbiter and the VIP address is controlled at the Hardware level.

4
0 400
Question Padmaja Konduru · Oct 16, 2023

Could you please help anyone how to import Python package in %SYSTEM package and to use python methods to write in object script class?

I used the following link to install the Python but I can't see the Python package in %SYSTEM package and my program throwing the Class Does not exist error?

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

Please help on this..

5
0 766
InterSystems Official Fabiano Sanches · Oct 18, 2023

InterSystems announces its third 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.

0
0 318
Question Adrian Howe · Oct 16, 2023

Hello,

I have a problem attempting to store a base 64 encode stream into the OBX:5 field of a HL7 message, by using the StoreFieldStreamBase64 method.

I'm using a transformer to input the contents of a pdf within a stream container (Ens.StreamContainer). The output is a HL7 message (EnsLib.HL7.Message 2.5:ORU_R01).

The transformer is being used in a business process.

This is the code used in the transformer to encode the stream to base 64:

Try {
     Set pdfStreamObj = source.StreamGet()
   } Catch {
      Quit
   }

 //Set PDF stream object into OBX:5
   Set status = target.

2
0 537
Article Luis Angel Pérez Ramos · Aug 25, 2023 4m read

Taking advantage of the Quiniela ML application and as we indicated in the previous article, we are going to explain how we can perform a JWT authentication between our frontend developed in Angular and our backend developed in InterSystems IRIS.

I remind you of the architecture of our QuinielaML project:

Usually it is a cumbersome process in web applications to develop the administration and management of user access, but in our case InterSystems IRIS simplifies the process by providing us with all the infrastructure we need.

11
2 607
Question Dmitrij Vladimirov · Sep 18, 2023

Hello community, I need to solve a complex but trivial issue.

Given:

Two tables "Comment" and "Post". Each one contains an "Author" field, which is essentially a user ID. In these tables, each user ID represents an author. The goal is to count all participants together and then group them by month, language, and other metrics.

The question is how to do this within the IRIS ecosystem. Is it even possible to take two tables, get distinct data from them and then combine into one cube?

1
0 241