Hi Community!

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

Most viewed

Most voted

Most Discussed

0 0
0 191

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 544

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 198

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 144

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

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 910

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 189

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 420

Hi guys!

Suppose you developed a tool, framework, library on InterSystems ObjectScript for InterSystems Data Platform, share it via Open Exchange and want people to install it.

What is the best strategy if it is a library and supposed to be called from different namespaces?

Here are the following thoughts:

1. Tool's developer should be able to use globals to read/store data the tool needs.

2. Tool's consumer should be confident, that the thing he/she installs will not harm the application's data.

3. A tool should be callable from any application's namespace.

4. Tool's installation(in general) should not request manual security changes (e.g. grant the write access to IRISLIB) and %YourClass is not an option.

5. It's easy to uninstall the tool - just delete the namespace/database (maybe delete some web-apps too).

0 10
0 418

Hi Community!

Here is the digest of what has happened on Open Exchange in November and December 2018!

Application Releases

We had 5 releases in November and December:

Cache ODBC for Node.js

This library aims to provide simple access to ODBC data sources for node.js.

Laracache

Laravel package providing InterSystems Cache as a data source using ODBC

DeepSeeButtons

Tool for analyzing your DeepSee Environment

DSW Reports

Addon for DeepSee Web which provides online reports and PDF emailing reports using InterSystems DeepSee dashboards

AnalyseThis

Utility to easily transform a CSV file into a personalized preview of DeepSee

0 0
0 195