#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 Oliver Wilms · Feb 5, 2023 2m read

As my entry into InterSystems Developer Tools Contest happening now I have been working on an alternative to the Console Log Viewer web page provided as part of InterSystems IRIS Management Portal. Console log is a file called messages.log. It is what InterSystems support asks me to send to them when I open a support ticket. Working on IRIS containers deployed in the cloud it is not straight forward to copy the messages.log file to a place where I can attach it to an email. Iris-log-viewer app provides a Download link to download messages.log from any browser.

0
1 234
Article Daniel Aguilar · Feb 5, 2023 2m read

Hi Community!

I want to share with you mi first Open Exchange application.

It's a tool to made our developments easier. It's a micro service in a IRIS docker that help us in our new features giving us a way to add short links in our SMS, Email campaigns and for links of the different stores for our apps.

It's very easy to use it.

Simply clone this repo:

https://github.com/daniel-aguilar-garcia/cos-url-shortener.git

 

Open the folder in VSCode and start the docker.

 

 

After that you can create short link version of any link via api request.

0
0 415
Article Yuri Marx · Feb 5, 2023 1m read

 

If you want to know more about a new project or generate a new way to see your project, the better way is using mindmaps or markdown documentation. The IRIS Connections allows to you generate the mindmap for your classes and get your classes documentation in a markdown file.

 

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.

0
0 326
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 335
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 300
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 361
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 1257
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 624
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 698
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 616
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 334
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 203
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 417
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 418
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 1355
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