#Development Environment

5 Followers · 381 Posts

An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.

The official IDE for InterSystems Data Platform products is Atelier.

Article Evgeny Shvarov · Mar 14, 2019 5m read

Hi Community!

I think everyone keeps the source code of the project in the repository nowadays: Github, GitLab, bitbucket, etc. Same for InterSystems IRIS projects  check any on Open Exchange.

What do we do every time when start or continue working with a certain repository with InterSystems Data Platform?

We need a local InterSystems IRIS machine, have the environment for the project set up and the source code imported.

So every developer performs the following:

  1. Check out the code from repo
  2. Install/Run local IRIS installation
  3. Create a new namespace/database for a project
  4. Import the code into this new namespace
  5. Setup all the rest environment
  6. Start/continue coding the project 

If you dockerize your repository this steps line could be shortened to this 3 steps:

  1. Check out the code from repo
  2. Run docker-compose build 
  3. Start/continue coding the project 

Profit - no any hands-on for 3-4-5 steps which could take minutes and bring head ache sometime.

You can dockerize (almost) any your InterSystems repo with a few following steps. Let’s go!

10
9 1968
Article Evgeny Shvarov · Feb 12, 2023 3m read

Hi Developers!

As you know InterSystems IRIS Interoperability solutions contain different elements of the solution, such as: production, business rule, business process, data transformation, record mapper. And sometimes we can create and modify these elements with UI tools.  And of course we need a handy and robust way to source-control the changes made with UI tools.

For a long time this was a manual (export class, element, global, etc) or cumbersome settings procedure, so the saved time with source-control UI automation was competing with lost time to setup and maintain the settings.

Now the problem doesn't exist any more. With two approaches: package first development and usage of IPM package git-source-control by @Timothy Leavitt 
.

Meme Creator - Funny WOW IT REALLY WORKS Meme Generator at MemeCreator.org!

The details are below!

8
3 1393
Announcement John Murray · Apr 21, 2023

Our gj :: codeSpex extension for VS Code, which is part of the DX Jetpack, allows documentation to be displayed inline while you are coding classes. In some cases the documentation is extensive, and the lack of scrolling support in the VS Code comment element we are using was degrading the DX.

By contributing a pull request to the VS Code project (my 94th accepted in the past four years) I was able to get this resolved. It landed in today's Insiders and will reach the general release (a.k.a. Stable) next month when 1.78 ships. Here's the result:

0
0 201
Question Evgeny Shvarov · Apr 9, 2023

Hi folks!

When I launch IRIS as a docker container instance, e.g. like this one:

docker run --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community

And then try to connect to it e.g. via irissqlcli it says I need to change the password:

irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER

Password change required

I know that I can open Management portal http://localhost:9092/csp/sys/UtilHome.csp and change password manually, but is there a programmatic way?

Say if I have a password in a file and I can just provide it to docker instance for the change?

9
0 553
Question Evgeny Shvarov · Feb 19, 2023

Hi folks!

Lately (maybe last 2-3 years) I develop with IRIS exclusively in docker - so iris instance I use for compiling and running IRIS apps is local.

And most every time I enter password for management portal and web-apps. The same password every time. Sounds familiar?

Is there an easy way to have a parameter in docker build  for a "dev-mode" that will not ask me a password?

8
0 559
Article Yuri Marx · Feb 5, 2023 1m read

 

If you want to know more about a new project or generate a new way to see your project, the better way is using mindmaps or markdown documentation. The IRIS Connections allows to you generate the mindmap for your classes and get your classes documentation in a markdown file.

IRIS Connections installation

If you want to install using ZPM:

zpm:USER>install iris-connections

If you want to install using Docker:

1. Clone/git pull the repo into any local directory:

$ git clone https://github.com/yurimarx/iris-connections.git

2. Open the terminal in this directory and run:

$ docker-compose up -d --build
0
0 323
Article Yuri Marx · Feb 5, 2023 1m read

 

When you need to know the impact on a change in your project, it is very useful to see class dependencies in a network diagram. The IRIS Connections project allows you to see it.

IRIS Connections installation

If you want to install using ZPM:

zpm:USER>install iris-connections

If you want to install using Docker:

1. Clone/git pull the repo into any local directory:

$ git clone https://github.com/yurimarx/iris-connections.git

2. Open the terminal in this directory and run:

$ docker-compose up -d --build

Analyze your classes dependencies:

Go to your browser and access:

0
1 326
Announcement Derek Robinson · Jan 30, 2023

In our latest episode of Data Points, I had a conversation with George James, CEO of George James Software, about the importance of source control and developer tools, George James Software's own solutions, and their partnership with InterSystems. Take a listen, and visit https://georgejames.com to learn more about George James Software!

0
1 239
Question David Wright · Jan 13, 2023

I want to grant access to view the Error Trap in System Management Portal to certain admins, without giving them access to anything that would alter Caché behavior, such as users or database sizes.  I was looking for a granular Resource that would do this, but haven't been able to find what I'm looking for.

Secondly, I granted %Developer role to my developers, but they don't appear to be able to use custom menus in Cache Studio until I grant them %All. Is there a granular Resource that I could use to add to a custom Role and grant to them that would allow custom menus in Cache Studio?

3
0 360
Question Jordan Everett · Dec 30, 2022

I am currently trying to better my development process by using Visual Studio Code because I'm more familiar and comfortable with it than Studio.

I've followed the guide here, but I'm still having issues. I initially didn't have the Web Socket protocol allowed on my Web Gateway server, but I enabled that and restarted the server with no luck.

Am I just on too old of a version? Is there any way I'd be able to use Visual Studio Code and be able to debug with what I currently have? I wish I could upgrade to IRIS, but that doesn't seem to be an option.

15
1 901
Discussion Dmitry Maslennikov · Dec 20, 2022

So, the next year will bring us a new way of installing IRIS. Always keep in mind that you have to bring your own web server. No matter how many instances of IRIS you have on your local machine. Or if you work in Docker, always keep in mind a bit more complicated configuration.

And I now want to understand the costs of this decision for end-developers like most of here.

Let's have a look, at what we got out of the box in Web Applications, obviously do not forget about System Management Portal.

20
2 893
Article Dmitry Maslennikov · Aug 20, 2021 6m read

Some time ago GitHub, has announced the new feature, GitHub Codespaces. It gives an ability to run VSCode in the browser, with almost the same power as it would run locally on your machine, but also with a power of clouds, so, you are able to choose the machine type with up to 32 CPU cores and 64 GB of RAM.

Looks impressive, is not it? But how it could help us, to work with projects driven by InterSystems IRIS? Let's have a look, how to configure it for us.

3
7 1184
Article Evgeny Shvarov · Aug 14, 2022 2m read

Hello fellow developers!

When developing with ObjectScript Package Manager, one crucial thing is the package version, which we place in the module.xml file. When we add changes to the package and are ready to publish a new version of the package in the registry, we also need to increase the version number. This is clear, but it is annoying, and we can often forget to do that. 

This small article will help you to automate such a process.

Probot logo

1
0 806
Discussion Jose-Tomas Salvador · Oct 21, 2022

Good morning, evening, night,... wink

A small reflection/question for today... it's true that new IRIS for Health (I4H) releases are more and more powerful each time regarding FHIR capabilities. Nowadays it allows us to consume FHIR resources with extrem easiness, we can connect with end-points in external FHIR servers very easily and make I4H act as passthrough or consume their resources... or, even more, we can define, configure and run a FHIR repository in, literally, less than 5 minutes.

3
0 425
Article Nicholai Mitchko · Apr 15, 2022 3m read

Adding VSCode into your IRIS container

One of the easiest ways to setup repeatable development environments is to spin up containers for them. I find that when iterating quickly, it was very convenient to host a vscode instance within my development container. Thus, I have created a quick container script to add a browser-based vscode into an IRIS container. This should work for most 2021.1+ containers. My code repository can be found here

InterSystems IRIS container with vscode and pre-connected

CredValue
User_SYSTEM
PasswordSYS

Overview

5
0 1055
Article Raj Singh · Oct 11, 2022 2m read

As you have probably noticed, online product documentation has advanced tremendously in the last few years. Among numerous improvements under the hood, documentation has become easier to read and navigate. And we now have a powerful search engine that gets you to what you need more accurately than we could ever do with the old system of shipping documentation in the product. While most of you have probably had nothing but positive impacts on your workflows, it has come to my attention that some of you may be having a slight problem accessing custom class documentation.

3
3 473
Article Evgeny Shvarov · Oct 24, 2022 4m read

Hi developers!

Let me share with you a minimal embedded python template, that I can recommend as a starting point for any general project with InterSystems IRIS that will use embedded python.

Features:

  • Embedded Python ready;
  • Examples of 3 ways of Embedded python development;
  • VSCode development ready;
  • Docker enabled;
  • Online demo enabled;
  • ZPM First development ready.

Let's discuss the features below!

0
0 1152
Announcement Laurel James (GJS) · Sep 20, 2021

Hi developers, 

We're excited to let you know about the latest release of Serenji, your on-the-spot debugger from George James Software. Version 3.2.0 focuses on the debug experience and introduces zero configuration for users. No matter where you are or what you're doing, Serenji is always ready to go in just one click, so you won't lose focus by spending time setting up a launch configuration. 

This enhanced debugger also takes advantage of the latest features of VS Code itself. With this powerful combination you'll be able to smoothly identify and quickly fix errors in your code, contributing to the production of quality, maintainable code... and isn't that what everyone wants?! 

   

In this latest release you will experience: 

  • Debugging in just one click with zero configuration. 
  • Navigation directly to the source of an error using our gj :: locate technology.
  • Intuitive prompting for entrypoint and arguments.
  • Configurable break on error.
  • Program output in debug console. 
  • Run and Debug CodeLenses.
  • Run multiple concurrent debug sessions and consoles. 
  • Shaded background for read-only documents. 

If you're a new user, it's now easier for you to get started. The introduction of a welcome page Walkthrough and guidance on the Explorer and Run and Debug views means you can effortlessly create your initial workspace and start debugging. 

Download Serenji directly from the VS Code marketplace and take a look at our release notes to find out more about these new features and how to use them. 

We offer a free 30 day trial so if you're not yet a user of Serenji but you're interested in how it can help you, drop me a message through the Developer Community or email us at info@georgejames.com.

Happy debugging! 

1
4 408
Announcement Laurel James (GJS) · Oct 13, 2022

We’ll be hosting our bi-annual virtual User Group Session on Thursday, November 3rdat 3pm (GMT). We will demonstrate the new Production component driver for Deltanji - it enables highly granular management of Interoperability Productions with tight integration into the management portal. 

The session is also an opportunity for us to help to problem-solve any issues you're having, and a chance for you to offer your feedback on our tools.

Those interested in finding out more about Deltanji source control are welcome to join us too.

Sign up for free on Eventbrite >> https://bit.ly/3yBVYVO

0
0 307
Announcement Raj Singh · Oct 7, 2022

Hurray for security!

If you're connecting to a local server and doing isolated development with a throwaway account, just store your password in plain text in the settings.json configuration file. But if you're working with a shared server using a "real" user account, it's a good idea to protect that information.

0
1 335
Discussion Evgeny Shvarov · Sep 25, 2022

Hi folks!

We have a bunch of templates on OEX that provide a handy foundation for building a particular application with IRIS.  And the basic principle of each and every template is that we take vanilla IRIS images, load code, and files into the image using Dockerfile, and create a new docker image as a solution. And then we develop running this image and rebuilding it when returning to development.

Some developers ask me why we need to build the docker image to work with the code. Indeed, if at the end of the day I need to develop a ZPM package and not a docker image why don't run the vanilla image and load the code and everything in it? 

The problem I have with the building image approach is that often I can wait a lot to build an image and it fails on some Objectscript problem in the source that I cannot fix as the image is not building. and 

Any thoughts? How do you develop with docker?

4
1 517
Question Wietze Drost · Aug 24, 2022

Hi,

Is there a way to include a prefix for the instance name in the server connection? I have 1 server with multiple iris instances, using 1 webserver. Each instance can be reached using a prefix in the url: (for example https://localhost/instance1/...).

I want to use VS code remote, but can't add the prefix to the hostname (or ip), and also not to the port, as this is numeric. Any idea how to solve this?

4
0 449
Article Sergei Sarkisian · Jun 29, 2022 12m read

Hi! As a developer who was forced to move from Mac to Windows (temporary) I found some things a bit confusing. In this article I would like to talk about some tweaks I made to make my experience smoother. I think it can help not only Mac users who need to use Windows environment (for ex. in VMs), but also can help some Windows users to make some things more convenient. Of course, all the points are subjective, the best setup is one that works for you.

All the tweaks are related to Windows 10 as I don’t have an access to Windows 11 at the moment.

Getting rid of excess

Streamline start menu

7
2 923
Announcement John Murray · May 30, 2022

If you do your IRIS development in Visual Studio Code and wish you had a convenient way to get a terminal session on your server, take a look here:

A new VS Code extension leverages the popular and well-established WebTerminal package to bring you this experience.

If you like it, please vote for webterminal-vscode in the current contest. Voting closes at midnight on Sunday 5th.

5
0 701