InterSystems Developer Community is a community of 17,960 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Hey Developers!

Do you want to reap the benefits of the advances in the fields of artificial intelligence and machine learning? With InterSystems IRIS and the Machine Learning (ML) Toolkit it’s easier than ever.

Join InterSystems Sales Engineers, @Sergey Lukyanchikov and @Eduard Lebedyuk, for the Machine Learning Toolkit for InterSystems IRIS webinar on Tuesday, April 23rd at 11 a.m. EDT to find out how InterSystems IRIS can be used as both a standalone development platform and an orchestration tool for predictive modelling that helps stitch together Python and other external tools.

3 1
0 461

Every developer has made the mistake of accidentally leaving temporary debug code in place when they meant to remove it after debugging is complete. The great thing about writing in ObjectScript is that there is a way to make temporary code be truly temporary and automatically self-destruct! This can also be done in such a way that the code has no change of making it into your source control stream, which can be helpful as well.

3 1
0 372

Hey Developers!

Please join the upcoming InterSystems Developers Meetup in Boston which will be held on September 25th, 2019!

It will take place in Boston Marriott Copley Place from 5:30 p.m. to 9 p.m.

We meet to discuss solutions development on InterSystems IRIS. Come to tell your stories and share experience with InterSystems data platforms, for networking and developer conversations. Drinks and snacks will be provided.

The format is usual: 15 min for a session, 5 min for Q&A.

3 8
0 497

This is a continuation of my story about the development of my project isc-tar started in the first part.

Just having tests is not enough, it does not mean that you will run tests after all changes. Running tests should be automated, and when you cover all your functionality with tests, everything should work well after any change in any place. And Continuous Integration (CI) helps to keep the code and deployment procedure with as fewer bugs as possible and automates the routine procedures, like publishing releases.

I use GitHub to store the source code. And some time ago GitHub started to work on its own CI/CD platform and named it GitHub Actions. It is not widely available, yet. You have to be signed as a beta tester for this feature, as I did. GitHub Actions uses quite a different way how to deal with a build workflow. What is important that Github Actions allows to use Docker, and it’s quite easy to customize available actions. And interesting that GitHub Actions is really much bigger than any classic CI like we have in Travis, Circle or Gitlab CI and so on. You can find more in the official documentation.

3 0
1 596

Hi Community:

Could Global Summit be only a few days away? We've hit a record for attendance this year, and, if you aren't based in Boston, we're expecting summer-like weather.

I just wanted to let those of you who can't attend (maybe next year) know that you will be able to livestream the morning keynote presentations for all three days of the Global Summit. Listen in as featured speakers from InterSystems and from business, academic, and healthcare organizations share their visions of future technology.

Follow the livestream link and click the Launch button for the appropriate day. Here's the program:

3 0
0 263

Hi Developers!

Those who use Dockerfile to work with InterSystems IRIS often need to execute several lines of ObjectScript. For me, this was a game of "escaping this and that" every time just to shoot a few commands on ObjectScript to IRIS. Ideally, I'd prefer to code ObjectScript without any quotes and escaping.

Recently I found a nice "hack" on how this could be improved to exactly this state. I got this from @Dmitry Maslennikov's repo and this lets you use Objectscript in a way as you would type it in IRIS terminal.

Here is what you have in dockerfile:

///
COPY irissession.sh /
SHELL ["/irissession.sh"]
RUN \
  do $SYSTEM.OBJ.Load("Installer.cls", "ck") \
  set sc = ##class(App.Installer).setup()
# bringing the standard shell back
SHELL ["/bin/bash", "-c"]
CMD [ "-l", "/usr/irissys/mgr/messages.log" ]
///

3 12
2 603

Hi guys!

Portrait of Madame X, Gustave Caillebotte.

One of the features I like in InterSystems ObjectScript is how you can process array transformations in a specific method or a function.

Usually when we say "process an array" we assume a very straightforward algorithm which loops through an array and does something with its entries upon a certain rule.

The trick is how you transfer an array to work with into a function.

One of the nice approaches on how to pass the information about an array is using $Name and Indirection operator.

Below you can find a very simple example which illustrates the thing.

3 2
1 542
Article
· Apr 9, 2019 3m read
IRIS/Ensemble as an ETL

IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.

BatchSqlOutboundAdapter

Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

3 7
2 1.4K

Hi Community!

Sometimes I meet a method which accepts 10+ parameters.

And often I need only the 8th parameter to pass. And I call the method something like:

do ##class(Some.Feature).Method(,,,,,,,"flag")

And I don't like this method when I call it like this cause, you know, often I just miss the number of commas and raise some other flag I wanted.

How do you avoid this situations?

If you meet such a code, how do you call it and sure that you didn't miss the number of ","?

What is a good number of parameters in a method and f you need to pass more parameters in a method what do you do?

3 27
1 1.5K
Question
· Aug 25, 2019
Automation with Ansible

Trying to modernize tasks I have to do on cache like change global variables on different servers, different namespaces....

Actually, I have a bash script doing ssh on each server and running bash script on each server like this

echo "zn \"namespace\"
s ^Var=1
"|csession ensapp

3 3
1 679

Hey Community!

As you know, InterSystems Developer Community is always evolving. We have a number of different pages in popular social networks. And now we're more than happy to launch the InterSystems Developer Community on LinkedIn! Please welcome:

1. Developer Community Page on LinkedIn: to stay in the know about articles, answers, announcements, hot discussions, best practices based on InterSystems technology - so good if you are an active user of LinkedIn!

2. InterSystems Developers Group on LinkedIn: to network with other developers.
Imagine that you want to invite a high-pro DC member to your event, or you have a question or need advice... How to contact him/her? Now it's easy! Go to DC LinkedIn Group and send a direct message!

3 1
1 314

Currently, when we want to write data to a file that will be viewed in Excel, we parse the data in tab deliminated format to the file and name it with .xls at the end. That is sent to end users via email. They get a warning that the data is not formatted properly (it's not really an Excel file after all) but it does display somewhat correctly as the tabs are understood (this does not work if we deliminated with commas however).

3 28
3 3.7K

Hi Community!

Thank you so much for being with InterSystems Developer Community yet another year!

We want to know how helpful the Developer Community is for you today.

Could you please go through this short survey which will let us know what do you think and what could be improved.

➡️ Developer Community Survey 2019 (4 min)

We wish you a Merry Christmas and a Happy New Year! ✨

Sincerely,

Your InterSystems Developer Community Team

3 0
0 264

At the George James Software booth at Global Summit last year we took the wraps off the work we've been doing to make our popular editing and debugging tool Serenji available on the Visual Studio Code platform.

Rather than requiring you to pull code from your namespaces into local files, then push the changes back to the namespace to run it, you work directly in the namespace. In other words, the editing experience is like Studio rather than like Atelier.

As well as editing code you can also debug it directly from VSCode.

3 12
1 789