Everybody has a testing environment.

Some people are lucky enough to have a totally separate environment to run production in.

-- Unknown


In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab WorkFlow
  • GitLab CI/CD
  • CI/CD with containers

This first part deals with the cornerstone of modern software development - Git version control system and various Git flows.

16 1
4 4.3K
InterSystems Developer Community is a community of 16,863 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

This article will provide tips and tricks on customizing Ensemble business hosts with configurable settings.

Ensemble production Settings are configurable values that control the behavior of a production and its hosts.

The documentation for adding and removing Settings and specifying categories and controls for Settings is provided at the link:


8 6
3 4.1K
· Jan 13, 2017
GitLab CI examples?

Recently I started working with GitLab - GitHub self-hosted foss alternative. So far so good, liked the UI, ease of administration, and available functionality (I was on Phabricator previously, and still use it for repo mirroring).

GitLab has GitLab CI (GitLab Continuous Integration) which looks promising (pluggable docker/vm/ds to run code) , but I wondered if someone uses it already and can share scripts for it?

1 4
0 4.1K

I have been using the query below and it was working fine but now it's giving a SQL error. There were no changes made that could cause this to stop working. There is no Field 'APPLICATIONID' in the table.

QueueSQL=select distinct (convert(char(5),SkillsetID)+'='+Skillset) from iagentbySkillsetStat where ApplicationID > 10000
QueueMappingSQL=SELECT DISTINCT (convert(char(5),SkillsetID)+'='+Skillset), SkillsetID FROM iagentbySkillsetStat iagentbySkillsetStat WHERE (iagentbySkillsetStat.ApplicationID>10000)

DB- Intersystems Cache

0 6
0 4.1K

Suppose you have developed your own app with InterSystems technologies stack and now want to perform multiple deployments on the customers' side. During the development process you've composed a detailed installation guide for your application, because you need to not only import classes, but also fine-tune the environment according to your needs.
To address this specific task, InterSystems has created a special tool called %Installer. Read on to find out how to use it.

16 9
4 4.1K
· Nov 14, 2016 14m read
Mastering the JDBC SQL Gateway

As we all know, Caché is a great database that accomplishes lots of tasks within itself. However, what do you do when you need to access an external database? One way is to use the Caché SQL Gateway via JDBC. In this article, my goal is to answer the following questions to help you familiarize yourself with the technology and debug some common problems.

12 2
7 4K
InterSystems Official
· Nov 12, 2018
New release cadence for InterSystems IRIS

Note: there are more recent updates, see https://community.intersystems.com/post/updates-our-release-cadence

InterSystems is adopting a new approach to releasing InterSystems IRIS. This blog explains the new release model and what customers should expect to see. We laid this out at Global Summit at the end of the InterSystems IRIS roadmap session and have received a lot of positive feedback from customers.

With this new model we offer two release streams:

1) An annual traditional release that we call EM (for Extended Maintenance)

2) A quarterly release that is tagged CD (for Continuous Delivery) and will be available only in a container format.

8 3
7 4K

I setup a linked server to a cache database to query the data and when I try an query the data I get

OLE DB provider 'MSDASQL' for linked server 'xxx' returned data that does not match expected data length for column '[MSDASQL].CSFAELIGVENCITY'. The (maximum) expected data length is 20, while the returned data length is 23.

Should I be using a different driver when setting up the DSN?

0 2
0 4K

Where did the RemoteSystemsTempFiles project come from?

If you're using Atelier, you may have noticed a project called "RemoteSystemsTempFiles" in the Atelier Explorer and Project Explorer views. This project is automatically created by the Eclipse Remote Systems Explorer (RSE) on start-up. The RSE allows you to connect to and work with a variety of remote systems.

You can either hide this project within your views, or remove it completely by following the steps below.

5 0
0 3.9K

Hi Community,

This post is a introduction of my openexchange iris-python-apps application. Build by using Embedded Python and Python Flask Web Framework.
Application also demonstrates some of the Python functionalities like Data Science, Data Plotting, Data Visualization and QR Code generation.



  • Responsive bootstrap IRIS Dashboard

  • View dashboard details along with interoperability events log and messages.

  • Use of Python plotting from IRIS

  • Use of Jupyter Notebook

  • Introduction to Data Science, Data Plotting and Data Visualization.

  • QR Code generator from python.

4 1
0 3.8K

In the last post we scheduled 24-hour collections of performance metrics using pButtons. In this post we are going to be looking at a few of the key metrics that are being collected and how they relate to the underlying system hardware. We will also start to explore the relationship between Caché (or any of the InterSystems Data Platforms) metrics and system metrics. And how you can use these metrics to understand the daily beat rate of your systems and diagnose performance problems.

19 10
2 3.8K
· Sep 14, 2016 4m read
Creating a Dummy SOAP Web Service

A “Dummy” SOAP Web Service

When dealing with SOAP in Caché, it is sometimes necessary to debug errors by directly accessing (and sometimes editing) the XML which is sent, i.e. the SOAP request and subsequent SOAP response. If you’re debugging a Caché web service, it is often useful to use a tool such as SoapUI (https://www.soapui.org/) to manually create and control the SOAP request, so that the effect of adjustments can easily be seen on the Caché web service.

4 0
1 3.8K
· Aug 25, 2016
JSON changes in Caché 2016.2

As Bill has mentioned earlier in his post, we have carefully reviewed the JSON capabilities and made some adjustments to ensure they deliver the best benefit to you. In this post, I am going to describe the modifications in more detail and provide guidance for you to understand the implication for your code base.

11 8
1 3.8K

What is the correct way to write embedded SQL that will use a Like operator and local variable. Ex How can a sql query return the IDs of all rows where LastName has the substring "Doe"?

Set nameToFind="Doe". The below does not work.

&sql(Select ID from myTable where LastName like '%:nameToFind%')

Simple enough but this syntax is tricky!!

0 3
0 3.8K

Google Cloud Platform (GCP) provides a feature rich environment for Infrastructure-as-a-Service (IaaS) as a cloud offering fully capable of supporting all of InterSystems products including the latest InterSystems IRIS Data Platform. Care must be taken, as with any platform or deployment model, to ensure all aspects of an environment are considered such as performance, availability, operations, and management procedures. Specifics of each of those areas will be covered in this article.

6 0
2 3.7K
· Jul 23, 2017
Check if class exists

There is method:

$System.OBJ.New( ClassName As %String = "" )

If class with name ClassName exists - everything is OK.

But, when class does not exist, there is error - <CLASS DOES NOT EXIST>

How can I check before calling $System.OBJ.New() if class witn name ClassName exists?

0 19
0 3.7K