#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 Yuri Marx · Feb 5, 2023 1m read

 

When you need to know the impact on a change in your project, it is very useful to see class dependencies in a network diagram. The IRIS Connections project allows you to see it.

IRIS Connections installation

If you want to install using ZPM:

zpm:USER>install iris-connections

If you want to install using Docker:

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

$ git clone https://github.com/yurimarx/iris-connections.git

2. Open the terminal in this directory and run:

$ docker-compose up -d --build

Analyze your classes dependencies:

Go to your browser and access:

localhost:52773/connections/index.

0
1 332
Article Oliver Wilms · Feb 4, 2023 1m read

I developed iris-log-viewer on a work laptop using an older version of IRIS. My messages.log file has nearly 10k lines. I noticed it takes a couple of seconds to read messages.log file line by line, import each line into a persistent class, and display messages on my screen. I wonder if Python can speed up the process.

I developed EmbeddedPython class. Initially I imported a python script file to read messages.log file in Python. Later I figured out how to write a Python classMethod where I invoke IRIS classMethod to import one line at a time while reading messages.log.

0
0 299
Article Kurro Lopez · Feb 4, 2023 2m read

Usualy, if you want to deploy a solution, you need to add the items, configure your lookup tables and default configuration manually. 
It's okay if you have all the permissions and privileges to perform these actions. If you want to deploy to a client's production server, and you don't have the permissions, you need to indicate in a document ALL the steps that the deployment manager has to perform. 

0
0 360
Article Andreas Schneider · Jan 2, 2022 3m read

The last days I've work with the great new feature: LOAD DATA With this post I would like to share my first experiences with you. The following points do not contain any order or other evaluation. These are only things that I noticed when using the LOAD DATA command. It should also be noted that these points are based on the IRIS Version 2021.2.0.617 which is a preview release. So it may be that my observations do not apply to newer IRIS versions. But maybe they are helpful for others.

1) The file path is on server side

I have done my first tests via JDBC.

5
2 1254
Question Chris Pursey · Jan 31, 2023

We have created a number of REST adapters that extend %CSP.REST and these have been working fine.  However, we are now facing a problem with a new one where very large XML documents are being posted.  This is the pattern we are following:

Set inMsg = %request.Content.Read()

Set tSC = ##class(Ens.Director).CreateBusinessService("Epro_ItkHttp",.tBusinessService)

Set tSC = tBusinessService.ProcessInput(inMsg, .tBusinessServiceOutput)

However, when the %request is particularly long, it is being truncated, and working with %XML.Reader then fails in the business service class.

4
0 621
Question Edoeard Kroetkov · Jan 23, 2023

I have code hier and trying to view diacrit character

Class Test.REST.Services Extends EnsLib.REST.Service
{

Parameter ADAPTER = "EnsLib.HTTP.InboundAdapter";

Parameter EnsServicePrefix = "^TEST";

XData UrlMap
{
<Routes>
<Route Url="/dio/:Resource" Method="GET"     Call="getDio" />
</Routes>
}

Method getDio(pInput As %Library.AbstractStream, Output pOutput As %Stream.Object, pResource As %String) As %Status
{
    
        set status = $$$OK
        do pOutput.SetAttribute("ResponseCode","200")
        set messageBuffer = "{""text"":""Patiënt""}"
        do pOutput.Write(messageBuffer)
        do pOutput.

4
0 376
InterSystems Official Fabiano Sanches · Dec 16, 2022 1m read

Early Access Program (EAP) is a way to to deliver specific features early to a group of people who will test and provide feedback on that feature.

One of those EAPs is about the the discontinuation of the Apache web server installation (a.k.a. NoPWS) from IRIS product installers. If you're interested in this topic and want to test it, the way to register is to send an email to nopws@intersystems.com. Use this same email for any other feedback.

Once you get a confirmation email, you'll see the EAPs you have access in the Evaluation Services website. You must log in to see the content.

2
1 696
Article Robert Cemper · Jan 23, 2023 2m read

In general Global Streams are data objects embedded in Classes / Tables.
Using and viewing them with SQL is normally a part of the access to the containing tables.

SO WHAT?

During debugging or searching for strange or unexpected behavior there could be the need to 
get closer to the stored stream. No big problem with direct access to Globals with SMP or Terminal.
But with SQL you are lost.
So my tool provides dynamic access to Global Streams wherever you may need this
Special thanks to  @Oliver Wilms  for the inspiration for this tool.    

1
1 611
Article Robert Cemper · Jan 30, 2023 2m read

The similarity between JSON objects + arrays and Globals in IRIS or Caché is evident.
With small and medium size JSON objects navigation across %Dynamic Objects is comfortable.
But with large and/or deep cascaded objects it becomes a challenge.

The presented tool offers 3 variants

  • loading an already existing %Dyamic object or Array into a global of your choice
  • loading a %Stream containing a JSON object into a global of your choice
  • loading an external File containing a JSON object into a global of your choice
1
2 352
Question William Glover · Jan 10, 2023

   InterSystems.Data.IRISClient.IRISException (0x00000000): ERROR #5002: ObjectScript error: <REMOTE EXECUTE INVALID WRITE>Load+20^%apiOBJ
   at InterSystems.Data.IRISClient.ADO.IRIS.ClassMethodStatusCode(String className, String methodName, Object[] args)
   at Setup.core.CacheCRUD.RunDeploymentClass() 

Throwing this error when calling  the ##class(%Studio.Project).InstallFromFile() remotely.

The method works when ran through studio, but not when accessing via ADO.

3
0 332
Discussion Bob Kuszewski · Jan 31, 2023

We've added a new channel to the Developer Community Discord Server, #platforms.  This is a good place to discuss issues related to Operating Systems, CPU architectures, and Containers supported by InterSystems products.

To kick things off, let's talk CentOS.

CentOS has been supported to give developers a free-to-use equivalent to Red Hat Enterprise Linux for IRIS development.  As you're probably aware, Red Hat made significant changes to CentOS which have resulted in it being significantly less stable than RHEL.

0
0 202
Question Matthias Röttger · Jan 26, 2023

Hello all, 
I am facing a little issue with line separators.  I export classes with $SYSTEM.OBJ.Export to the file system, but I'm on a Linux (docker) environment and he uses LF. 

Is it somehow possible to change the line separator for the export or in general?

Thanks in advance!

Bests, Matthias

6
0 416
InterSystems Official Mark-David McLaughlin · Jan 30, 2023

At InterSystems, we believe in the responsible disclosure of recently discovered security vulnerabilities.  We provide timely information to our customers, while keeping it out of the hands of people that may misuse it. We also understand each customer has different requirements related to the resolution of security issues.

2
3 417
Question Rose Murphy · Jan 27, 2023

Hello all,

I am hoping someone can give me some guidance.

I have this code below; please see below. It works perfectly fine. However, when I use a different target, it is not working. 0 files were copied.

w $ZF(-100,"/SHELL /LOGCMD","copy","C:\DICOM\IMAGE\IMAGE1.DCM","E:\IMAGE\COPIEDIMAGETEST1.DCM")

        1 file(s) copied

=====

w $ZF(-100,"/SHELL /LOGCMD","copy","C:\DICOM\IMAGE\IMAGE1.DCM","\\SERVERLOCATION\SHAREDFOLDER\COPIEDIMAGE.DCM")
        0 file(s) copied.
 

3
0 411
Announcement Derek Robinson · Jan 30, 2023

In our latest episode of Data Points, I had a conversation with George James, CEO of George James Software, about the importance of source control and developer tools, George James Software's own solutions, and their partnership with InterSystems. Take a listen, and visit https://georgejames.com to learn more about George James Software!

0
1 240
Question Martin Fukátko · Jan 26, 2023

We have IRIS on Linux. When I create database NEO_PAVI_G by Management Portal, than owner for files and directories is "irisusr".

But owner is "mfukatko" (my username) after creating database NEO_Pxxx_G using installer based on ##class(%Installer.Manifest).%Generate() from command line in terminal.

I'd like to have same owner in both cases. Is it possible to achieve it in the second case as well?

Our manifest in istaller:

XData Install [ XMLNamespace = INSTALLER ]
{
<Manifest>
    <If Condition='(##class(Config.Namespaces).
2
0 432
Article Yuri Marx · Jul 20, 2022 6m read

Python has become the most used programming language in the world (source: https://www.tiobe.com/tiobe-index/) and SQL continues to lead the way as a database language. Wouldn't it be great for Python and SQL to work together to deliver new functionality that SQL alone cannot? After all, Python has more than 380,000 published libraries (source: https://pypi.org/) with very interesting capabilities to extend your SQL queries within Python. This article details how to create new SQL Stored Procedures in InterSystems IRIS Database using Embedded Python.

3
0 1354
Article David Reche · Dec 15, 2018 2m read

IRIS is a powerful platform and one of the new features is the Java Business Host (DOC: Connecting Systems Using Java Business Hosts) that allow you to develop Business Services and Business Operations directly in Java (JavaDocs of the InterSystems Gateway Package).

I was testing this feature using an IRIS Docker image, but this image doesn't come with Java, the image is a bare Ubuntu image plus IRIS. So I had to build a new image adding the Java stuff. After some research I finally get this Dockerfile:

FROM docker.iscinternal.com/intersystems/iris:2019.1.0.284.
8
1 883
InterSystems Official Fabiano Sanches · Jan 24, 2023

InterSystems announces another developer preview release, as part of the developer preview program for the 2022.3. Many updates and enhancements have been added in 2022.3 and there are also brand new capabilities, such as the new FHIR SQL Builder, improvements for Columnar Storage, and adds support to SUSE 15 SP4 and Oracle Linux 9. Some of these features or improvements may not be available in this current developer preview.

Future preview releases are expected to be updated biweekly and we will add features as they are ready.

5
0 340
Question Virat Sharma · Jan 21, 2023

Hi All,

I am currently using D $SYSTEM.SQL.Shell() command or management portal to retrieve the data from database. I just learned we can also run cache table sql queries in MS access. MS access already installed on my machine. 

I need to ask how I can connect my database of USER or sample namespace in MS access to run these SQL queries.

Thanks in advance!!

4
0 369
Question Virat Sharma · Jan 24, 2023

Hi All,

I am having an SQL query (mentioned below). When I am running this query it is taking 90 min to retrieve all records (approx 1 million records).

Fetching data from 5 tables using inner join in cache. Relative cost displaying 10 million

I wan to confirm How this query can be optimized

Select Books.nam,Books.print,Books.Relativename,Books.Firstpage,Books.Lastpage,Books.trn,Books.lastissue,Books.firstissue,Books.person,Books.author,Books.price,Books.cd,Books.ab,Books.pf,Books.ju,Books.er,Books.qw,Books.qt,Books.mn
Records.qw,Records.er,Records.ty,Records.ui,Records.op,Records.as
OrderBooks.
12
0 399
Question Michael McNab · Jan 5, 2023

Hi ,

I am trying to work out how to install the intersystems-jdbc-3.3.1.jar file onto a windows server to set up a connection between athrid party application and an Iris database.

Is there an installer ?  the java -jar etc command does not work "could not load main class "  . Added the folder to the system path .

Running Eclipse temurin but I do not work with java at all, other than these very specific points where need to get applications to run .  

If someone could point me to a guide or instruction that would be of great assitance

Cheers

Michael

6
0 1162