Dear Community members,
We are currently performing technical work, and during this time, you may experience issues with the Developer Community portal, Developer Community AI, and search functionality:
🔹 Ask DC AI is temporarily unavailable
🔹 Search may take longer than usual or may not return results
🔹 You may experience problems with logging into the Developer Community and Open Exchange
We’re working to restore full functionality as quickly as possible. Thank you for your patience and understanding.
I frequently use the #call (https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…) feature to make asynchronous calls in the CSP. However, in some cases, I encounter a timeout issue with the CSP Gateway. Is there any way to change this call timeout? I don't want to change the default configuration in the CSP Gateway.
I have see this discussed on the community but I'm not quite finding an answer.
I have a method that is called in the OnPreHttp() method of a CSP page. That method returns a dynamic object and a set a new variable to the %ToJSON method of the object so I can use it in my JavaScript code later to init a table of data (using the #(variable)# syntax). This creates a MAXSTRING error. So I changed it to return a %Stream.TmpCharacter. But if I call Read($$$MaxStringLenght) I only get part of the data.
Hello and welcome to the Developer Ecosystem News!
The fourth quarter of the year was full of exciting activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared a selection of the hottest news and topics for you to catch up on!
(2).png)
I have a Photo that is stored as an VARBINARY within MS SQL. I would like to Select the data into a EnsLib.SQL.Snapshot, is that possible? I would take it out of the Snapshot and send it to a %Stream so it can be written out to a file.
Motivation
I didn't know about ObjectScript until I started my new job. Objectscript isn't actually a young programming language. Compared to C++, Java and Python, the community isn't as active, but we're keen to make this place more vibrant, aren't we?
I've noticed that some of my colleagues are finding it tricky to get their heads around the class relationships in these huge projects. There aren't any easy-to-use modern class diagram tool for ObjectScript.
Related Work
I have tried relavant works:
- InterSystems class view:
1. https://github.
Hi Everyone!
We have an existing process (running in FIFO order), all business hosts having pool size=1.
Currently we are reading records from a file (one record at a time) then that record goes to business process for further processing and finally through the business operation. As of now we are using synchronous call in our existing code. Before processing the last record we are using hang of 50 seconds because we need to initiate a batch once the processing of last record is finished.
This process is taking too much time for a file having 0.1 million records (max records in a file).
Developing Custom Components for Integrations – In Person (Boston, MA) February 10-12, 2026
- This 3-day course teaches implementation partners, integrators, developers, and analysts how to create custom interfaces using InterSystems integration technologies.
- Students build a Production using InterSystems® Objects, graphical tools in the Management Portal, Business Process Language (BPL), the adapter library, and an IDE.
- Students create business services, business processes, business operations, and messages.
Hi, Community!
Ready to strengthen your deployment of InterSystems IRIS® data platform?
👨💻See how to configure a mirrored pair to preserve the integrity of your data:
As part of our holiday journey, it’s time to add a little cozy, fun energy to the community ✨
Welcome to the Holiday Jumper Challenge 🧣🎁
How to join:
✅ Share one festive photo in this thread. This can be:
- you in a holiday jumper or sweater (selfies are optional, if you are not comfortable sharing!)
- your desk / office / house decorations / tree or any cozy seasonal setup
✅ Get 50 points for participating (we will award manually on Global Masters) 🎁
Best photo win 100 extra points!
Let’s light up this thread with some cozy holiday vibe🎄💻
⬇️ Share your photo below!
I was trying to see if we could connect to another Server, we use to execute external scripts using %Net.SSH.Session.
TESTCLIN>set sshSession = ##class(%Net.SSH.Session).%New()
TESTCLIN>set user = <omitted>
TESTCLIN>set host = <omitted>
TESTCLIN>set privateKey = "/nfs/data/ssh/<omitted>"
TESTCLIN>set publicKey = "/nfs/data/ssh/<omitted>.pub"
TESTCLIN>Set statusConnection = sshSession.Connect(host)
TESTCLIN>set statusAuth = sshSession.Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi Developers!
Sometimes we need to deal with classes/tables where the primary key and the IdKey are something that is maintained by yourself.
What is the proper way to generate a new ID in case where ID is a %BigInt?
Property id As %Library.BigInt
Are there any system methods to provide it?
There is data already imported via SQL, so there is no last ID stored in ^myclassD, so I cannot do $I(^myclassD).
Thinking of:
set newid=$O(^myclassD(""),-1),newid=$I(newid)What do you think?
Hello community!
I have a small challenge for you :)
One of customers is sending quite a lot of messages between interoperability components, which mix standard request content and streams representing serialized JSON objects. As these JSON streams can be quite long (but not too long, just couple hundreds of characters) they would appreciate if the JSON content of stream was displayed in a nice-to-read way, using syntax highlighting by message trace view.
Time for another round of code golf!
Develop a function that performs a two-step encryption process on a given string:
First Step: Reverse Cipher
- Reverse the entire input string.
- Relocate the last character of the original string (now the first character of the reversed string) to the end.
Second Step: Alphabetic Index Binary Encoding
- For each alphabetic character, determine its zero-based index in the lowercase alphabet (a-z).
- Replace odd-indexed characters with '1' and even-indexed characters with '0'.
- Preserve non-alphabetic characters unchanged.
Example:
encrypt("Hello World!
The Ask DC AI assistant is appreciated. But how do I delete the chat history?
Hi everyone,
I am currently setting up InterSystems API Manager (IAM) 3.4.3.11 using Docker. The installation is successful, the license is active, and I can access the Manager (port 8002).
I am now trying to secure the Administration Portal using basic-auth. I've found some documentation stating that I should:
- Go to the Teams section in the UI.
- Click on Invite Admin to create the first user.
- Only then, enable
KONG_ENFORCE_RBACandKONG_ADMIN_GUI_AUTHin thedocker-compose.yml.
We are implementing delegated auth between Kong Gateway and IRIS. Kong is correctly configured to forward JWT authenticated requests with consumer headers (X-Consumer-Username, etc.) to IRIS, but the ZAUTHENTICATE routine (deployed in the %SYS namespace) never executes, leaving ZW ^ZAUTHLOG empty despite successful header delivery.
401 errors response:
...
* Request completely sent off
<
InterSystems Change Control: Tier 1 Basics - Virtual January 21-23, 2026
- This 3-day course is only for current users of the Change Control Record (CCR) application.
- Use InterSystems Change Control Record (CCR) to progress code changes and debug problems.
- CCR users will learn how to safely progress changes to code and interfaces as well as troubleshoot common issues.
- The CCR application is primarily used by customers hosted or implemented by InterSystems.
- General use of Source Control with InterSystems products is not covered.
Defining my first REST API within InterSystems using iris-rest-Api-template as a basis and I am seeing if someone could provide me some guidance to see if I can make it work.
In some of my other posts, I have been trying to come up with a way for our Enterprise Application Development team which works with .Net to build Applications to make a REST call to our instance of InterSystems to query some of the Cache Tables we have defined.
Using the iris-rest-api-template, I have created the osuwmc.DataLookup.REST.Base.cls
Class osuwmc.DataLookup.REST.Base Extends%CSP.Hey everyone.
I have been taking a look at the External Language Server functionality to hook into some Dotnet functions, and I am hitting a bit of a wall.
Based on the example in the documentation here I can get the same result doing:
ENV>Set netGate = $System.external.getDotNetGateway()
ENV>Set netProxy=netGate.new("System.DateTime",0)
ENV>Write netProxy.Now,!
2025-12-3114:37:58.6022705However, if I then try another system class, I get an error:
ENV>Set netGate = $System.external.getDotNetGateway()
ENV>Set netProxy=netGate.new("System.Convert",0)
ENV>Write netProxy.Table of Contents
- Purpose of the article
- What containers are and why they make sense with IRIS
2.1 Containers and images in a nutshell
2.2 Why containers are useful for developers
2.3 Why IRIS works well with Docker - Prerequisites
- Installing the InterSystems IRIS image
4.1 Using Docker Hub
4.2 Pulling the image - Running the InterSystems IRIS image
5.1 Starting an IRIS container
5.2 Checking container status
5.3 Executing code in the container terminal
5.4 Accessing the IRIS Management Portal
5.5 Connecting the container to VS Code
5.6 Stopping or removing the container
5.7 Setting a specific password with a bind mount
5.8 Using durable %SYS volumes
5.8.1 What gets stored with durable %SYS
5.8.2 How to enable durable %SYS - Using Docker Compose
6.1 Docker Compose example
6.2 Running Docker Compose - Using a Dockerfile to run custom source code
7.1 Dockerfile example
7.2 Docker Compose example
7.3 Understanding layers, image tagging and build vs. run time
7.4 Source code and init script
7.5 Building the image with Dockerfile
7.6 Running instructions in the containerized IRIS terminal - Conclusion and what’s next
If one of your packages on OEX receives a review, you get notified by OEX only of YOUR own package.
The rating reflects the experience of the reviewer with the status found at the time of review.
It is kind of a snapshot and might have changed meanwhile.
Reviews by other members of the community are marked by * in the last column.
I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.
Some were accepted and merged, and some were just ignored.
So if you made a major change and expect a changed review, just let me know.
1. vscode extensions : intersystems.language-server-2.8.0@linux-arm64.vsix
2. api/atelier web application is enabled

3. vscode connect failed.

.png)
The most upvoted idea on the InterSystems Ideas Portal—garnering 74 votes—requests a lightweight version of IRIS. While the platform has grown into a powerful data engine, many projects require only its SQL database capabilities. This article demonstrates how to build an unofficial, compact IRIS Community Edition image focused solely on core database functionality, reducing the image size by over 80%.
⚠️ Disclaimer
This project produces an unofficial, experimental image of InterSystems IRIS Community Edition.
- Not supported or endorsed by InterSystems.
- Use at your own risk. The modifications remove core platform features and may break compatibility with tools, APIs, and expected behaviors.
- No warranties or guarantees apply, including fitness for production use.
- Intended only for educational and experimental purposes by advanced users.
Why a Lightweight IRIS?
While IRIS today includes rich functionality—interoperability, analytics, machine learning, system management, etc.—many projects only require its core SQL capabilities. The official Community Edition Docker image is approximately:
- Disk usage: 3.5–3.8 GB
- Compressed size: ~1.1 GB
IRIS Light reduces that to:
- Disk usage: ~575–583 MB
- Compressed size: ~144–148 MB
This makes it suitable for:
- Microservice or containerized SQL use
- CI pipelines with faster startup and pull
- Horizontal scaling where full features are unnecessary
There is a Master Table within IRIS that I am populating from Epic but want to share it with our Enterprise Application Development Team (Web). As a test I was able to use _SYSTEM from postman to execute the following.
POST /api/atelier/v1/xxxx/action/query HTTP/1.1
Host: xxxxxxxx
Content-Type: application/json
Authorization: ••••••
Cookie: CSPSESSIONID-SP-443-UP-api-atelier-=00f0000000000AKyLjBfUvU$MpFD8UT8y$EoNKNw1ixZeXN4_Q; CSPWSERVERID=hzZAT5rb
Content-Length: 86
{"query": "SELECT * FROM osuwmc_Epic_Clarity.Dear Community,
As the 🎄 Festive Season 🎄 approaches, we’re excited to send our warmest wishes your way. May your holidays be filled with the joy of 🧑💻 learning, 🫂 connecting with fellow developers, and the thrill of new ideas and challenges waiting in the year ahead!
(1).jpg)
Looking back on 2025, we’re delighted to celebrate another year of remarkable achievements together with YOU, our incredible members:
I am migrating from HealthShare 2015 to Health Connect 2025 as part of an infrastructure upgrade. We have several C# .NET Razor web apps that interact with HealthShare using the InterSystems.Data.CacheClient assembly, and the Cache Object Binding Wizard for .NET to build the C# proxy classes. This has worked flawlessly for about 6 years.
I am now switching to using the Native SDK with the InterSystems.Data.IRISClient assembly and using the C# IRISReference and IRISObject.
