Announcement
· May 7, 2019
Bug in DC Email System

Hi Community!

Today and yesterday a lot of you received a strange email with the subject:

InterSystems Developers Publications, Week 29 of April - 05 of May, Digest

and body:

subscription|type|digest_w|post|461231|

This happened because of a bug in our email subsystem. I bring my apologies and we are fixing the bug at the moment.

0 0
0 199

Hi Community!

This is the update on what are the new applications submitted on OpenExchange in April 2019

New Applications

Arduino Snippets published by @Eduard Lebedyuk

Connect your Arduino to InterSystems IRIS or Caché via com port (or usb<->com)

Japanese Calendar published by @Hiroshi Sato

Japanese Calendar Converter for InterSystems products

Cache Quality for Atelier published by @Daniel Tamajon

IDE extension that helps you detect and fix quality issues as you write code. Like a spell checker, this extension squiggles flaws so they can be fixed before committing code. You can install it directly from Atelier and it will then detect new bugs and quality issues as you code (ObjectScript and JavaScript).

ETL Interoperability Adapter published by @Guillaume Rongier

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

R Gateway published by Shiao Bing Sung

Use R language with InterSystems IRIS

The Folding Staff published by @John Murray

'The Folding Stuff' is a simple VSCode extension that adds Visual Studio Code's existing code folding / unfolding features to the editor context menu.<--break->

0 0
0 189

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.6K

Hi Community!

Here is a digest of the Developer Community postings in April 2019.

Most viewed

Most voted

Most Discussed

0 0
0 194

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 564

Hi Community!

This is the update on what are the new applications submitted on OpenExchange in March 2019

New Applications

isc-tar published by @Dmitry Maslennikov

Compact files as TAR or Extract files from TAR files

Light weight EXCEL download v.1.0 published by @Robert.Cemper

This is the working example of a light weight export to EXCEL based on data in SAMPLES namespace. Good old CSP is well equipped to produce HTML tables accepted from EXCEL as input. With modern Browsers you don't even need and tags. So the required code around your SQL result set is really slim. And you are free to add any formatting you need either by HTML or in SQL.

PythonGateway v.0.7 published by @Eduard Lebedyuk

Python Gateway for InterSystems Data Platforms.

Adopted Bitmaps v.1.0 published by @Robert.Cemper

This is a running example of the Bitmap Adoption

WebSockets Tutorial v.1.0 published by @Lily Taub

A short tutorial on WebSockets in InterSystems IRIS 2018.1+ and Caché 2016.2+

Sync Data with DSTIME v.1.0.0 published by @Robert.Cemper

Other Sync-Tools just work from Caché/IRIS to Caché/IRIS. Synchronizing your data to some external DB you requires some other solution. DSTIME can do it.

HL7 and SMS Interoperability Demo v.1.3 published by @Amir Samary

This demo shows how easy it is to integrate an Electronic Medical Record system that is sending HL7 messages with AWS.

0 0
0 199

Hi Community!

Here is a digest of the Developer Community postings in March 2019.

Most viewed

CachéQuality for VSCode now available 364

Studio debugger since 2018.1.1 149

Job Opportunity - Relocate from Europe to UK 137

InterSystems IRIS version 2019.1 released 127

Tar compress tool in ObjectScript 125

A Tutorial On WebSockets 122

Embedded SQL vs ObjectScript SQL. What do you prefer and why? 121

A Deep Learning Demo Kit with Python3 Binding to HealthShare (Part I) 118

Side Effects of Quit and Return Commands with $Increment, or "I.E.Repin. Unexpected..." 117

String to date 116

Behind the scene of isc-tar project 100

Using Docker with your InterSystems IRIS development repository 99

Global Data converted to CSV file 87

CSP: Dynamically Generated Table 79

Behind the scene of isc-tar project and story about Continuous Integration using Github Actions 66

Run A Deep Learning Demo with Python3 Binding to HealthShare (Part II) 62

Most voted

InterSystems Partnertag Österreich 2019 7

Adopted Bitmaps example now on Open Exchange 7

ObjectScript error handling snippets 7

Tar compress tool in ObjectScript 6

InterSystems DACH Symposium 2019 6

Synchronize Data with DSTIME 6

A Tutorial On WebSockets 4

CachéQuality for VSCode now available 3

A Deep Learning Demo Kit with Python3 Binding to HealthShare (Part I) 3

InterSystems IRIS version 2019.1 released 3

Most commented

CachéQuality for VSCode now available 36

HL7 message import to sql server 16

Studio debugger since 2018.1.1 12

Rule to validate SQL syntaxis 12

No 'Access-Control-Allow-Origin' header issue with Cors 11

Cache docker image 9

Creating multiple Record Map Records from a single HL7 message 8

Quick way to check if an SSL/TLS configuration name is valid? 7

Sending Messages on the Top of Queue 7

Ensemble to Spring Boot Java app using RabbitMQ 6

Top 10 Authors to Follow by Views

Dmitry Maslennikov, Posts, 291

Zhong Li, Posts, 180

Lily Taub, Posts, 122

Alexey Maslov, Posts, 117

Evgeny Shvarov, Posts, 99

Ponnumani Gurusamy, Posts, 87

Robert Cemper, Posts, 85

Gevorg Arutunyan, Posts, 79

Pravin Barton, Posts, 61

Stuart Byrne, Posts, 40

Top 10 Experts to Follow

Eduard Lebedyuk, Answers, +8

Aviel Klausner, Answers, +7

Alexander Koblov, Answers, +4

Kyle Baxter, Answers, +4

Vitaliy Serdtsev, Answers, +4

Jeffrey Drumm, Answers, +4

David Van De Griek, Answers, +3

Stephen Canzano, Answers, +3

Dmitry Maslennikov, Answers, +2

Robert Cemper, Answers, +2

0 0
0 148

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!

7 10
9 1.6K

Hi Community!

There are two general ways to execute arbitrary SQL in serverside ObjectScript code: EmbeddedSQL and ObjectScript SQL a.k.a. Dynamic SQL.

E.g. if we want to get the value of the property of instance with a certain ID using SQL we can do:

&sql(SELECT Name INTO :name FROM Sample.Person WHERE ID=1)

write name

Same result with %SQL.Statement:

set rs=##class(%SQL.Statement).%ExecDirect(,"SELECT Name as name FROM Sample.Person where ID=1")
  do rs.%Next()
  write rs.name

1 2
0 949

Hi Community!

This is the update on what are the new applications submitted on OpenExchange in January and February 2019

CPIPE

This is a tiny example of how to run a server command from within Caché / Ensemble / IRIS and get back the full output as seen in any server command shell.

QEWD-js

QEWD.js is a Node.js framework for REST APIs, interactive WebSocket and/or Ajax applications, capable of running as a monolithic application or split across MicroServices. Fully supports Cache, Ensemble and IRIS, allowing use of existing Cache ObjectScript code, Cache Objects and Cache SQL, but also allows the database to be abstracted as a persistent JSON / Document database.

PMML-Business-Operation

With this simple Business Operation, you can easily leverage your predictive models (saved as PMML) in a Production. There's both a generic BO and a utility method that allows you to generate dedicated operation / request / response classes.

COSFaker

Helps to generate fake/test data for development purposes

WsockClient.csp and WsocClient.js

Web socket clients on CSP and InterSystems node.js adapter to collect end manage data transferred to the client in InterSystems IRIS or Caché

CachéQuality for VSCode by @Daniel Tamajon

IDE extension that helps you detect and fix quality issues as you write code. Like a spell checker, this extension squiggles flaws so they can be fixed before committing code. You can get it directly from the VS Code Marketplace and it will then detect new bugs and quality issues as you code (ObjectScript and JavaScript)

0 0
0 194

Hi Community!

When you run IRIS container out-of-the-box and connect to it via terminal e.g. with:

docker-compose exec iris bash

You see something like:

root@7b19f545187b:/opt/app# irissession IRIS

Node: 7b19f545187b, Instance: IRIS

Username: ***

Password: ***

USER>

And you enter login and password every time.

How to programmatically setup docker-compose file to have IRIS container with OS authentication enabled? And have the following while entering the terminal:

root@7b19f545187b:/opt/app# irissession IRIS

Node: 7b19f545187b, Instance: IRIS

USER>

0 3
0 443