New
Question Enrico Parisi · Feb 19

I need to reproduce a table (in fact a view, but let's start with a simple table 😊) in IRIS as the currently used in Oracle.

I need to expose/project one column to JDBC as CLOB, in my class I have the corresponding property defined as:

Property GlobStream As %Stream.GlobalCharacter;

In JDBC this column is projected as LONGVARCHAR, this is compliant with the documentation but I need to project it as CLOB.

In addition, I'm no expert in JDBC but wit seems that LONGVARCHAR has a Maximum Length 32,700 characters in JDBC, not quite enough for an arbitrary stream.

Is it possible to project a %St

8
0 84
Question Enrico Parisi · May 2, 2025

Is anyone using DICOM Interoperability in IRIS for Health configured in Mirror?

I'm asking because I'm not sure how to handle where the DICOM messages are stored.

For some reason DICOM use the filesystem to store raw messages, the directory used can be configured in the StorageLocation production settings, obviously this is a big issue if/when a mirror failover occur.

Unfortunately in IRIS it's not possible to change the DICOM storage from file stream to global stream.

Has anyone came across this issue?

9
0 191
Article Enrico Parisi · May 2, 2025 3m read

In a project I'm working on we need to store some arbitrary XML in the database. This XML does not have any corresponding class in IRIS, we just need to store it as a string (it's relatively small and can fit in a string).
Since there are MANY (millions!) of records in the database I decided to reduce as much as possible the size without compressing. I know that some XML to be stored is indented, some not, it varies.
To reduce the size I decided to minify  the XML, but how do I minify an XML document in IRIS?
I searched across all the classes/utilities and I could not find a ready made code/metho

3
2 222
Discussion Enrico Parisi · Mar 20, 2025

Once upon a time in Ensemble Management Portal the pool size of each component (Business Host) within the production was displayed in the Production Configuration page.

This information was very useful, especially when a production have tens or hundreds of components.

Now days the pool size is no longer displayed in the Production Configuration page and to get the pool size you need to click in each and every host in your production.
What if you have hundreds of business hosts and you need to check the pool size of each? It's a nightmare!

In systems I have control of I've modified the prod

0
0 126
Discussion Enrico Parisi · Oct 25, 2024

The IRIS Management Portal is localized (translated) for some (many?) languages and the language used by the Management Portal interface is determined by the browser settings, often derived from the OS settings (can be changed).

This means that if a user, like me, want to use ONLY the English version of the Management Portal, each and every time you login you need to change the language. VERY annoying.

I know I can change the language configured in Browser, BUT, I want to use English for the IRIS management portal non for all my internet activity!

I feel uncomfortable using the localized ve

9
1 319
Question Enrico Parisi · Dec 28, 2023

I'm testing git-source-control and I have  problem with a CSP application.

I was able to configure in settings a CSP application that use the path /csp/myapp, that worked.

I have another application /slg and I'm unable to add it to Git.
I created the mapping as "/CSP/" - "/slg" - "csp/slg/", then in Studio when I right click on the CSP folder in the Namespace Work Area, select Git -> Add:

porting new version of .slg to E:\git\iris-prod

No mapping with a matching coverage found for file E:/git/iris-prod
No mapping with a matching path found for file E:/git/iris-prod

How can I map a CSP (

2
0 325
Question Enrico Parisi · Dec 27, 2023

I just realized that operating system command execution does not work on Windows console if the IRIS service is started using a different user than Local System account (the default).

I always change the user configured in the IRIS service and I believe this is a standard good practice, particularly in "real" environments (be it production, stage, test or development) that are part of Windows Active Directory Domain.

When IRIS service starts using any user, including Administrators members, using "!" or "$" from the terminal prompt to run a OS command fail, nothing happen.
Even more problemat

1
1 331
Article Enrico Parisi · Nov 18, 2023 3m read

 I think WebTerminal is an outstanding project, kudos to @Nikita Savchenko 

One useful functionality is missing, the the ability to run Operating System (Linux or Windows) commands.
In many cases WebTerminal is used when access to the OS is difficult, so having the ability do run simple OS commands from WebTerminal would be a big advantage.
Using "normal" terminal, be it Windows IRIS console, Windows Telnet or within "iris session" in linux is simple, from the IRIS terminal prompt just precede the OS command with "$" or "!".
See the article "Terminal tip: Running OS-level commands" from @Joh

1
0 402
Discussion Enrico Parisi · Jan 30, 2023

The new $system.external interface (aka "InterSystems External Servers") is used to call/integrate with external language code/libraries, it replace the old gateways (for example Java gateway) that required the import of proxy objects.

Note that the documentation for the old gateways has been removed from IRIS, so only the new $system.external interface is somewhat (i.e. insufficiently) documented.

Regarding the migration from old gateway to new  $system.external interface the documentation says:

External servers use an enhanced and simplified form of the older Dynamic Object Gateway techno

14
2 1035
Question Enrico Parisi · Sep 2, 2022

I'm converting a .NET gateway interface (call .NET code from IRIS) from the old "Caché style" that use imported proxy class to the new $system.external .NET gateway as documented in:

https://docs.intersystems.com/iris20221/csp/docbook/DocBook.UI.Page.cls…

For simple case it works and I'm fine, unfortunately I don't understand how to implement/access .NET arrays from IRIS and unfortunately the documentation has no info whatsoever on how to work with arrays.

What I'm looking for is how to implement the same code as described in the old .NET gateway

11
0 685