Git is a version control system for tracking changes in computer files and coordinating work on those files among multiple people.
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.
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.
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.
Hi
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
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?
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
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:
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.
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:
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:
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?
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:
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
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.