#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 Anastasia Dyubaylo · Mar 24, 2023

Hi Developers,

Often we create and edit InterSystems IRIS Interoperability solutions via a set of UI tools that is provided with IRIS. But it is sometimes difficult to setup the development environment to handle changes we make in the UI to source control.  

This video illustrates how git-source-control helps with source control Interoperability components while changing it in the UI.

⏯ Git Source Control for InterSystems IRIS Interoperability with Docker and VSCode

0
2 873
Article Peter Steiwer · Jan 17, 2020 1m read

If you are seeing this error during import: ERROR #6301 Line: 2 Offset: 118 This does not appear to be a Cache exported file, unable to import.

This error is caused by exporting from InterSystems IRIS and trying to import into Caché. If you plan on exporting from IRIS to Caché, you can use the following qualifier to export your classes so that Caché does not throw an error on import:

w $SYSTEM.OBJ.Export(<items>,<filename>,"/exportversion=cache2018.1")

Please see the Documentation for more information about this Export Qualifier

3
0 937
Article Guillaume Rongier · Nov 30, 2022 2m read

If you are using Python, you can use the built-in venv module to create a virtual environment. This module is the recommended way to create and manage virtual environments.

A virtual environment is a tool that helps to keep dependencies required by different projects separate by creating isolated python virtual environments for them. It solves the “Project X depends on version 1.x but, Project Y needs 4.x” dilemma, and keeps your global site-packages directory clean and manageable.

So if like me you work a lot with Python, you can use the venv module to create a virtual environment for your project. This will allow you to install packages without affecting the global Python installation.

You will find here two neat alias to create and activate a virtual environment.

Python aliases

alias venv="python3 -m venv .venv; source .venv/bin/activate"
alias irisvenv="python3 -m venv .venv; source .venv/bin/activate; pip install https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.3/iris-0.0.3-py3-none-any.whl"
3
2 2083
Article Benjamin De Boe · Dec 15, 2021 4m read

This is the second piece in our series on 2021.2 SQL enhancements delivering an adaptive, high-performance SQL experience. In this article, we'll zoom in on the innovations in gathering Table Statistics, which are of course the primary input for the Run Time Plan Choice capability we described in the previous article.

4
1 923
Article 王喆 👀 · Mar 12, 2023 5m read

SSH framework is a relatively representative framework of Java, which was popular many years ago. There are Struts+Spring+hibernate and Spring MVC+Spring+hibernate. Of course, I used the second one in college. If I can connect IRIS to Hibernate as a library, does it also mean that IRIS can be developed using SSH framework in theory?

Tools and environment

JDK 1.8

       Maven

       Hibernate 5.X.X

       IRISHealth-2022.1.3

       intellij idea

       Windows 10 64

Create database

       Create several tables in code mode

Class BKIP.SOA.MonitorScreen.CacheTable.logError Extends%Persistent
{
///
6
0 737
Article 姚 鑫 · Mar 22, 2023 25m read

Brief

What is Query

Query is a method for finding data that meets the conditions and presenting the results as a data set.

Type of Query

  • SQL Query,Using %SQLQuery and SQL SELECT.
  • Custom Query,Using Class %Query and custom logic to generate result.

Note: Before we talk about the general Query solution, let's first understand the basics of Query to help understand the implementation principles. If you already know the basic use of Query, please skip this section and go straight to "Challenges".

Query Basics

SQL Query Basics

Query QueryPersonByName(name As %String = "") As %SQLQuery(COMPILEMODE =
1
3 768
Article water huang · Mar 19, 2023 9m read

1.Background

        1.1 I met a few project that their interface servers were crashed. Cutoms wanted resume server as fast as we can. their servers are running at lan,and they can't use git,there are some namesapce in the server running different service,and usualy there is only one server.

        1.2 In the message,it has property in type of characterstream,as you know,the message search page doesn't support filtering with  property of characterstream,so it's so hard to find the messge you want.

        1.3 Other workmate may update the code on the server,and mybe their is something wrong.

2.Ch

11
2 737
Question prashanth ponugoti · Mar 21, 2023

Hi Friends,

In my business process I am updating cache table using dynamic query.

ex:

Set result=##class(%ResultSet).%New("%DynamicQuery:SQL")

Set sc=result.Prepare("SELECT %ID, Name, Salary FROM Sample.Employee WHERE Salary > ?")

If $$$ISERR(sc)

{

// here I want to capture the error details in trace , log , that I can see in production web page

}

could you please provide any suggestions to grab the error message.

I tried

Do DisplayError^%apiOBJ(sc)

Do $SYSTEM.OBJ.DisplayError(tSC)

end up with no class found , methods found errors.

I have spent 5 hours today for some clue.

Thanks ,

Prashanth

5
0 386
Discussion Julian Matthews · Mar 23, 2023

Hi everyone!

If you are working with IRIS 2021+ and you remove all of the built in entries for External Language Servers, there is an unexpected consequence that may prevent you from running an installer to upgrade your version of IRIS. This does appear to be a bug which has been raised with WRC, however there are some people that may have recently removed these settings and then will soon be upgrading their environment and could face this same issue.

Specifically, the removal of all the External Language Server entries will also remove the "[Gateways]" heading in the iris.cpf file, and this

1
0 330
Question Andy Stobirski · Mar 17, 2023

I'm using %XML.Reader  to open an XML file and use it's correlate method to try and convert it to a class.

The conversion fails with an error of:

ERROR #6277: Type attribute, LimitedFreeTextFieldInstance, does not specify valid type for XML input tag: Field (ending at line 3 character 118).

This is the XML

<Fieldsxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ><Fieldxsi:type="UDFLookupFieldInstance"ID="2925"Description="FIRE ALARM ACTIVE"Suffix="FDT_ACTIVATE"/></Fields>

This error is produced when xsi:type is any value, when it is left blank conversion using the code listed

7
0 580
InterSystems Official Fabiano Sanches · Mar 21, 2023

InterSystems announces its fourth developer preview, as part of the developer preview program for the 2023.1 release. Many updates and enhancements have been added in 2023.1 and there are also brand-new capabilities, such as production-ready support for Columnar Storage, ability to use Bulk FHIR, and support to MacOS 13 Ventura. Additionally, a new feature to provide the ability to use Foreign Tables is being released as "experimental" and will be accessible through an Early Access Program (EAP). Some of these features or improvements may not be available in this current developer preview.

Futu

0
0 291
Announcement Shane Nowack · Apr 11, 2022

Get certified on InterSystems CCR!

Hello Community,

After beta testing the new CCR Technical Implementation Specialist exam, the Certification Team of InterSystems Learning Services has performed the necessary calibration and adjustments to release it to our community. It is now ready for purchase and scheduling in the InterSystems certification exam catalog. Potential candidates can review the exam topics and the practice questions to help orient them to exam question approaches and content.

3
0 523
Article Daniel Aguilar · Mar 18, 2023 3m read

One of the reasons why I love Cache and Iris is that not only you can do anything you can imagine, also you can do it in a lot of different ways!!.

Imagine that you have an integration running with IRIS connected by ODBC you probably only run SQL queries but you can also create stored procedures and inside write the code to do everything you can imagine.

I'm going to give you some examples but the limit is your imagination!!

You might wonder, wait!! I don't know how to create a store procedure in IRIS. But this it's not true, you know how to create them but you don't know yet!.

Create a stored

1
2 552
Question Edoeard Kroetkov · Mar 17, 2023

Goodday,

I would like to Validate token signature with public key i have in pem format, i am using below  code but i get error message. Could you please tell me what i am doing not right? FOUT #5002: Caché fout : <DIRECTORY>zLinkToFile+2^%Stream.FileBinary.1 *-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMI ...

hier is my code

Method ValidateTokenWithPublicKey(jwt As %String) As %String
{
   
     Set tFile=##Class(%File).%New("c:\Kety\publicKey.pem")
    Do tFile.Close()
    Set tStatus=tFile.Open("RU")
    $$$ThrowOnError(tStatus)
    Set tPublicKey=tFile.Read()
    Do tFile.Close()
    
    

1
0 279
Question Evgeny Shvarov · Feb 19, 2023

Hi folks!

Lately (maybe last 2-3 years) I develop with IRIS exclusively in docker - so iris instance I use for compiling and running IRIS apps is local.

And most every time I enter password for management portal and web-apps. The same password every time. Sounds familiar?

Is there an easy way to have a parameter in docker build  for a "dev-mode" that will not ask me a password?

8
0 561
Question Stella Ticker · Mar 18, 2023

Is there a command that will loop through the flat files of a given Linux/Unix folder?  I can write the code to open and read each file. But the file names are unknown. I am looking for a way to access each file given a named Linux folder. The files have differing structures so a record map will not work.

Thank you for reading and thank you even more for answering!

1
0 499
Announcement Anastasia Dyubaylo · Mar 17, 2023

Hey Community,

Tired of entering login-password during the docker build with your InterSystems IRIS every time?

There is a handy way to turn it on and off – use the passwordless zpm module.

Watch this video to explore how to use the passwordless ipm module to turn on and off entering login-password during docker build with your InterSystems IRIS:

⏯️ Passwordless mode for development with InterSystems IRIS

0
0 433
Article Akio Hashimoto · Mar 17, 2023 3m read

I have experienced that my iris server is gone due to upgrading the docker version when I have built IRIS server on docker container.

Based on this experience, I'd like to show you how to make a backup for the IRIS server before upgrading platform or docker, and the procedure for rebuilding the IRIS in a new environment.

###IRIS server backup procedure

When you have finished building for the IRIS server, you need to make a backup.

I recommend you that you make a backup before upgrading if you have classes,routines and globals that you want to take over when you rebuild your environment.

This "{}"

0
0 649
Question Scott Roth · Mar 10, 2023

I am looking into creating a ZSTOP as you probably have seen from my previous posts, is there a way to capture the type of shutdown that occurred? So say if there was an unknown hardware failure (forced), vs a user shutdown? Mainly looking for user or system shutdown when we force another destination to become the primary in the mirror. So if a user shutdown the production to do.,... Task A, Task B etc..

Thanks

Scott 

3
0 482
Question Robert Cemper · Mar 14, 2023

To prepare a migration to IRIS I use Docker images.
The (aged) application is built around Caché Terminal
And on Windows,  IRIS uses the same ctelnetd.exe as Caché.

In my Docker installation, Telnet Settings are just grayed out in SMP.
and my Terminal can't 'connect.
Port mapping is OK and verified with TCP

Working from the console in Docker  with the whole set of ESC and
screen formatting is not acceptable.
We tried WebTerminal but there is just no Partition behind as in Terminal.

How can I switch on Telnet support in the Docker image?
 

4
0 359
Question Martin Staudigel · Mar 14, 2023

Hello,

I want to generate and return an http response based on the input of a http GET request. For my first steps I used an EnsLib.Http.GenericService, which uses an EnsLib.HTTP.InboundAdapter to receive requests like http://[my server]:[my-port]/some-path?ID=12345678.

On the inbound side I receive a EnsLib.HTTP.GenericMessage Object which contains the parameters and some other useful information that I can work with.What I would like to do now is to create a simple HTML page, which contains some Information specific for the given parameter values.

5
0 740