9 Followers · 119 Posts

Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.

Official site.

Question Michael Derr · Dec 4, 2025

We are a group of interface analysts in a healthcare setting, running IRIS for Health 2024, having upgraded over time from an old ENSEMBLE environment.  We have been working on a wish list of development goals, but are having trouble finding the correct, best practice method/path for getting to what we envision.

10
0 156
Article Pietro Di Leo · Sep 24, 2025 23m read

Table of Contents

  1. Purpose of the article
  2. 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
  3. Prerequisites
  4. Installing the InterSystems IRIS image
     4.1 Using Docker Hub
     4.2 Pulling the image
  5. 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
  6. Using Docker Compose
     6.1 Docker Compose example
     6.2 Running Docker Compose
  7. 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
  8. Conclusion and what’s next
9
10 467
Article Dmitrij Vladimirov · Dec 16, 2025 6m read

Table of Contents

  1. Introduction
  2. Version Control
  3. Exporting Classes
  4. Exporting BI Analytics classes
  5. Exporting globals

Introduction.

In this article, we'll cover a quick start to Git development with the InterSystems Developer Community and version control practices when working with IRIS InterSystems. We'll cover scenarios where we need to export Interoperability classes, globals, and analytics elements such as cubes and dashboards. These scenarios encompass key version control practices with IRIS.

To get started, you'll need:

  1. Register and log in to GitHub
  2. Be a member of the intersystems-community organization on Git

Getting started with IRIS InterSystems is very simple!

0
6 230
Question Scott Roth · Nov 6, 2024

There are a select few in the group that have been using Github as a Local Client push to a Repository setup in GitHub. Questions were brought up today about the security, and possible issues when it comes to data being pushed in this method.

Looking over code we have noticed that there is Histogram data within some of the class files that could be considered a security issue. Does anyone else have concerns with the Histogram data being within the class files pushed up to github?

2
0 166
Article Andrew Sklyarov · Nov 2, 2025 7m read

Over time, while I was working with Interoperability on the IRIS Data Platform, I developed rules for organizing a project code into packages and classes. That is what is called a Naming Convention, usually. In this topic, I want to organize and share these rules. I hope it can be helpful for somebody.

 

4
4 161
Discussion Andrew Sklyarov · Oct 8, 2025

I know the next ones:

1. Place all different settings in environment variables. You have a different .env file for each environment, and you must add some code to Production for reading and setting these values. It's good for deploying into containers, but challenging for management when we have a large production. I mean, we have many settings that can vary depending on the environment: active flag, pool size, timeouts, and so on. Not only endpoints.

10
0 189
Article Jordan Simpson · Sep 26, 2025 2m read

Hi,

Just thought I'd share quite a handy hook that has helped me out when developing on Health Connect Cloud with VS Code and GitBash. When developing on Health Connect Cloud, if changes are made directly on the server such as routing rules or component deployments, they aren't automatically included in source control, therefore you must export from the server into your local files and push to your remote repo. I'm sure there are easier methods to deal with that which I'm in the process of testing, but as a quick solution I thought it would be handy have a pre-commit hook which triggers a reminder in GitBash - see below.

1
1 162
Question Jochen Roese · Sep 15, 2025

Hi,

so we introduced GIT in our workflow and we exported all files with $SYSTEM.OBJ.ExportUDL

Everything fine so far. But for some reason the export adds an extra line for classes (Routines are OK as far as I can see):

On Serverside it isn't there

The Problem is now that when we checkout a branch and a class changed we automatically compile it from the repository to a namespace that is made for the developer. E.g. DEV_001, DEV_002 and so on. 

2
0 75
Question PaulSomebody · Aug 19, 2025

Hello All,

  I have used github (outside of IRIS) for many many years and have no problem with it.  Also used SVN and other source control systems.

  I have a conceptual problem understanding the ISC github links and how they work via VSCode.

https://github.com/intersystems/git-source-control

 Our server is on Linux.

What I've done:

1. On Linux Server - d ##class(SourceControl.Git.API).Configure()

2. Create a local repo (we have a local git), say https://repo/myrepo

3. VSCode installed Object script addons, github Pull requests extension

4. VSCode Connect to namespace on server, all good

3
0 151
Question JESUS (COGNOSANTE) BRAVO · Jun 24, 2025

I installed and configure CodeTidy in my local development environment, without InterSystems source-control (git-source-control) and only git for source control.

I would like to use only CodeTidy to stablish an automated  Linting and Code Style Validation for InterSystems ObjectScript code triggered by GitHub Actions.

Could you shed some light on how to accomplish that?

4
0 135
Question André-Claude Gendron · Jul 31, 2025

Hi everyone,

I’m working with an existing InterSystems IRIS server that hosts several web applications and namespace-specific code and data. I’d like to reverse-engineer the current environment into a %Installer.Manifest file so I can store it in Git and manage its changes.

My goal is to:

  • Track the application setup and configuration in version control
  • Rebuild environments consistently (namespaces, CSP apps, security roles, etc.)
  • Possibly automate deployments later on
1
2 108
Article Guillaume Rongier · Jul 17, 2025 5m read

This will be an introduction to Python programming in the context of IRIS.

Before anything I will cover an important topic: How python works, this will help you understand some issues and limitations you may encounter when working with Python in IRIS.

All the articles and examples can be found in this git repository: iris-python-article

How Python works

Interpreted Language

Python is an interpreted language, which means that the code is executed line by line at runtime even when you import a script.

What does this mean ? Let's take a look at the following code:

0
3 239
Article Guillaume Rongier · Jul 8, 2024 6m read

Description

This is a template for a Flask application that can be deployed in IRIS as an native Web Application.

Installation

  1. Clone the repository
  2. Create a virtual environment
  3. Install the requirements
  4. Run the docker-compose file
git clone
cd iris-flask-template
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
docker-compose up

Usage

The base URL is http://localhost:53795/flask/.

Endpoints

4
1 554
InterSystems Official Henry Wojnicki · Jul 9, 2024

The Application Services team is pleased to announce the release of git-source-control version 2.4.0, introducing several new features to the open-source project.

For those unfamiliar, git-source-control is an embedded (or "server-side") source control tool for InterSystems products, installed through the InterSystems Package Manager.

Here are the key additions to the 2.4.0 release:

  1. Basic Mode
1
2 376
Question Patrik Spisak · Apr 19, 2025

After upgrading from 2024 to 2025 Im not able to compile any class.

I was using ZPM and git-source-control.

Now Im getting 

Compilation started on 04/19/202520:53:00 with qualifiers 'cuk /checkuptodate=expandedonly'

ERROR #5002: ObjectScript error: <CLASS DOES NOT EXIST>OnAfterSave+4^SourceControl.Git.Extension.1 *SourceControl.Git.Utils
Detected 1 errors during compilation in 0.209s. class '%Studio.SourceControl.Interface', method 'OnBeforeTimestamp': <CLASS DOES NOT EXIST> 150 

I disabled SourceControl in Management portal and nothing happen.

2
0 146
Article Patrick Jamieson · Apr 15, 2025 6m read

I know that people who are completely new to VS Code, Git, Docker, FHIR, and other tools can sometimes struggle with setting up the environment. So I decided to write an article that walks through the entire setup process step by step to make it easier to get started.

I’d really appreciate it if you could leave a comment at the end - let me know if the instructions were clear, if anything was missing, or if there’s anything else you'd find helpful.

The setup includes:

✅ VS Code – Code editor
✅ Git – Version control system
✅ Docker – Runs an instance of IRIS for Health Community
✅ VS Code REST Client Extension – For running FHIR API queries
✅ Python – For writing FHIR-based scripts
✅ Jupyter Notebooks – For AI and FHIR assignments

Before you begin: Ensure you have administrator privileges on your system.

In addition to reading the guide, you can also follow the steps in the videos:

For Windows

2
2 422
Question Alex Efa · Apr 8, 2025

Greetings,

Our team is transitioning to Git in the foreseeable future, and I'm trying to figure out how to design the best development workflow. Being new to IRIS, I am having trouble wraping my head around a few concepts.

Current Setup:

  • All code is hosted on a remote server
  • Each developer works in their own dedicated Namespace, on that server
  • Classes are locked to avoid conflicts
  • Committed code is imported into the Development NS, then redestributed to developers

Challenge:

2
0 283
Question Dmitrii Baranov · Mar 31, 2025

I'd like to ask you for recommendations on how to properly use repository dependencies when using VSCode and Client-side editing. Suppose I have projects A, B and C, with A being independent, B depending on A, and C depending on A and B. I am currently working with the main project C, and I want to be able to contribute to all the other projects in a single VSCode window (instead of opening three instances). How do you solve this problem? Git submodules? ZPM? Something else?

1
0 121
Question Colin Brough · Mar 3, 2025

The compile step in VS Code when using the InterSystems VS Code extensions appears to modify line endings in our class files when newly pulled from remote repo.

What steps can we take to stop this happening? / What settings can we modify?

We are doing local development with client side source control using git (BitBucket Cloud repository). We were previously using GitLab (locally hosted) and didn't have this issue. Developers are all on Windows machines, as are all the Ensemble instances. We believe we have autocrlf = true in all our local git configurations.

Steps to reproduce:

1
0 159
Question Armin Gayl · Jan 28, 2025

Hi,

We are currently switching from Studio to VSCode and central GIT with Serverside Development and have a few start problems.
I have set up a system with Git.

The baseline commit including remote push works. 

But now I have a problem with the VSCode. When I create and compile a new class, it saves it correctly. But if I want to make further changes to the class, it saves the class and loads it again with the previous status.  So the changes I made are gone again.   

I have deactivated CompileOnSave without success.
The log shows the following

4
1 149
InterSystems Official Timothy Leavitt · Dec 4, 2024

It's been a while since I've posted about Embedded Git on the Developer Community, and I'd like to provide an update on the massive amount of work we've done this year and where we're going next.

Context

If you're building solutions on IRIS and want to use Git, that's great! Just use VSCode with a local git repo and push your changes out to the server - it's that easy.

But what if:

6
0 511
Question Sean Brady · Jan 17, 2025

Hello everyone! This is my first post into the developer community and one that I hope is fairly simple to answer. In our environment we currently have 3 different Test environments for testing before migrating code to our Prod environment. Currently we are working on establishing a source control method using Git in house which has been a bit of a struggle. We have also had developers that had used different test and migration methods in the past which has caused some issues with keeping the different test environment in sync.

7
0 216
Question Shanwen Liu · Dec 10, 2024

Hey everyone, I am implementing version control with git-source-control on our codebase and I ran into a pretty strange issue. I believe I have the set up (mostly) correct as the behavior with .cls files is exactly as expected. However, I noticed that git is not keeping track of any changes to CSP files.

Specifically, if a new CSP file is created and saved, I will get the following output:

exporting new version of /csp/testdb/wrc.csp to C:\InterSystems\IRIS\mgr\repo\TESTDB\csp\testdb\wrc.csp

Added /csp/testdb/wrc.csp to source control.

8
1 242
Question Gautam Rishi · Jun 21, 2023

Hi everyone, 
I am new to "git-source-control", what i am doing so far will explain you in few steps.
1. installed git-source-control into a namsapace TEST using ZPM "install git-source-control"
2. configure the git settings and created a new mapping for as such 

3. Now when I am trying to ADD a new file which is created for eg - NewFolder/impl.cls , getting an error like this

exporting new version of NewFolder.impl.cls to /Users/abc/workspace/NewFolder/impl.cls

No mapping with a matching path found for file NewFolder/impl.cls

5
2 640
Article Guillaume Rongier · Jul 8, 2024 6m read

Description

This is a template for a FastApi application that can be deployed in IRIS as an native Web Application.

Installation

  1. Clone the repository
  2. Create a virtual environment
  3. Install the requirements
  4. Run the docker-compose file
git clone
cd iris-fastapi-template
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
docker-compose up

Usage

The base URL is http://localhost:53795/fastapi/.

Endpoints

3
0 589
Question Oliver Wilms · Oct 12, 2024

What is the reason for

RUN apt-get update && apt-get install -y \
    git \
    nano \
    python3-opencv \
    sudo && \
    /bin/echo -e ${ISC_PACKAGE_MGRUSER}\\tALL=\(ALL\)\\tNOPASSWD: ALL >> /etc/sudoers && \
    sudo -u ${ISC_PACKAGE_MGRUSER} sudo echo enabled passwordless sudo-ing for ${ISC_PACKAGE_MGRUSER}
 

I think I get error because I do not have sudo privilege in the environment where I use podman to build the image

podman build --tag oliver3 .

I cloned iris-pero-ocr repo, added two large files into misc location, and I tried to build image. I see this:

0
0 222