Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in September 2019!

New applications in September 2019

web HERALD by Martin Weber

web HERALD is a Highly Extensible Rapid Application Development framework, the ultimate server-based platform for Caché Developers created by our inhouse Caché Developers.

objectscript-docker-template by Evgeny Shvarov

A simple template to start coding in InterSystems ObjectScript with preset dockerfile and settings for VSCode to start compiling and debugging.

angular-material-iris-starter by Sergey Shutov

A template project for Angular frontend with InterSystems IRIS. The main goal of this repository is to provide an up to date example of Angular application following all recent best practices

cache-iris-app-tools by Sergey Mikhailenko

Solution for technical support and DBMS administrator. View globals arrays, execute queries (including JDBC/ODBC), sending results to email as XLS files. Viewer class instances with СRUD editing. A few simple graphs on the protocols of the system.

IRIS OData Client by Sean Connelly

A simple IRIS client for connecting and consuming RESTful OData API services.

ObjectScript-Foreach by David Crawford

The beginnings of a foreach function equivalent in ObjectScript.

Kano MDM by Liudmyla Valerko

Kano MDM is an efficient Master Data Management software product with a complete set of features for successful implementation of interoperability solution.

Output-Capture by David Crawford

Captures the output of common objectscript terminal verbs, such as zwrite.

dasha-iris-adapter by Vladislav Chernyshov

Dasha.ai is a platform for designing human-like voice interactions to automate business processes.

This repository includes the first version of Dasha.ai IRIS Interoperability Adapter and demo Interoperability Production to show how to connect IRIS and Dasha.ai platform.

1 0
0 168

Hi Developers!

When you prepare your modules for ZPM (InterSystems Package Manager) it expects the certain directory structure for ObjectScript source files.

ObjectScript in your source folder need to be stored by types in the following subfolders. E.g. if you have the source folder named as /src the structure should be as follows:

/src

/cls - for classes

/inc - for include files

/mac - for mac files

/int - for interpretable files

2 0
1 735

Hi Developers!

Just want to share the information with you that we support TechCrunch Disrupt Hackathon 2019 this year!

It will take place from 2-4 of October in San Francisco, CA.

We introduced InterSystems special prizes for participants which solutions will use InterSystems IRIS $4,000 and InterSystems IRIS for Health 4,000.

Learn more here.

If you happen to participate we wish you luck and hope you'll leverage InterSystems IRIS data platform functionality to win Disrupt Hackathon 2019!

0 0
0 286

Hi Developers!

If you happen to visit Global Summit 2019 don't hesitate to stop by Developers Community Booth (table 9 on Tech Exchange, 3rd floor) - we can help to submit your Open Exchange solution to ZPM Package Manager.

One package Output Capture by @David Crawford is already packaged and can be installed with the following command:

zpm:USER>install output-capture

Also, come to chat on your dev experience and collect your GlobalMasters badge from @Anastasia Dyubaylo ;)

2 0
0 340

Hi Developers!

Recently we launched InterSystems Package Manager - ZPM. And one of the intentions of the ZPM is to let you package your solution and submit into the ZPM registry to make its deployment as simple as "install your-package" command.

To do that you need to introduce module.xml file into your repository which describes what is your InterSystems IRIS package consists of.

This article describes different parts of module.xml and will help you to craft your own.

I will start from samples-objectscript package, which installs into IRIS the Sample ObjectScript application and could be installed with:

zpm: USER>install samples-objectscript

It is probably the simplest package ever and here is the module.xml which describes the package:

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="samples-objectscript.ZPM">
    <Module>
      <Name>samples-objectscript</Name>
      <Version>1.0.0</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="ObjectScript.PKG"/>
    </Module>
  </Document>
</Export>

7 16
6 1.7K

Hi Developers!

Often I find questions on how to install IRIS, connect to IRIS from IDE, setup the environment, compile, debug, maintain the repository.

Here below possibly the shortest way to set up all the environment and start development with ObjectScript on InterSystems IRIS.

Prerequisites

Make sure you have Git, Docker, and VSCode installed

Install Docker and ObjectScript extensions into VSCode

Sign in or Create an account on Github

Here we go!

5 9
5 1.4K

Hi Developers!

InterSystems Package Manager (ZPM) is a great thing, but it is even better if you don't need to install it but can use immediately.

There are several ways how to do this and here is one approach of having IRIS container with ZPM built with dockerfile.

I've prepared a repository which has a few lines in dockerfile which perform the download and install the latest version of ZPM.

Add these lines to your standard dockerfile for IRIS community edition and you will have ZPM installed and ready to use.

To download the latest ZPM client:

2 1
1 879

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in August 2019!

ToolBox-4-Iris by Richard Zimmermann

API for InterSystems IRIS with a collection of handy and useful tools

iris-history-monitor by Henrique Gonçalves Dias

IRIS History Monitor - monitoring visualization tool for InterSystems IRIS

Nested Set Model by Nikolay Soloviev

Nested Set Model implementation for ObjectScript

SOLID Design with ObjectScript by Sourabh Sethi

Training and Codeset of SOLID Design in ObjectScript

Samples-ObjectScript by Joel Solon

ObjectScript samples for use with the ObjectScript tutorial. Meant for use with InterSystems IRIS Data Platform.

Object Synchronization by Jose Tomas Salvador

Sample project to play with IRIS Object Synchronization feature

Https-Proxy-IRIS-Docker by Guillaume Rongier

Sample of an Https proxy for Intersystems Iris with docker

iris-webgateway-example by Dmitry Maslennikov

Example of containerised IRIS with separate Apache and WebGateway

iris-mirror-with-docker by Dmitry Maslennikov

Docker compose environment with demo IRIS configured with Mirroring

Fast & Informative WEB API/Proxy by Sourabh Sethi

Informative and Fast WEB API VIA ObjectScript and Ensemble/HealthShare

PivotSubscriptions by Peter Steiwer

Subscribe to Pivot Tables in InterSystems IRIS Business Intelligence to receive scheduled emails

ObjectScript Package Manager by Evgeny Shvarov

Package Manager for InterSystems IRIS

0 0
0 190

Hi Developers!

Often we need to use relatively small arrays with constants, static arrays in algorithms, etc where we need to do something with each element of an array. There are several ways to deal with it in ObjectSctipt.

Previously I used to use globals, locals, PPG for this but not so long time ago figured out that %List is a way too handy.

Indeed, suppose we have an array of months and need to set up and use it in our code.

2 15
1 618

Hi Developers!

Often when we develop some library, tool, package, whatever on InterSystems ObjectScript we have a question, how we deploy this package on the target machine?

Also, we often expect that some other libraries already installed, so our package depends on them, and often on some particular version of it.

When you code on javascript, python, etc the role of packages deployment with dependency management takes package manager.

So, I'm pleased to announce that InterSystems ObjectScript Package Manager available!

13 19
4 3.1K

Hi Developers!

A question to those who use VSCode to code InterSystems ObjectScript.

Suppose you have the ObjectScript code on IRIS server and you want to export it into the desired folder.

And you have VSCode connected to the server.

What is the way to tell VSCode that I want to export classes into some particular folder in /package/class.cls way?

E.g. into:

/project_folder/src/cls/Package/class.cls

and project_folder is opened in VSCode as the folder of the project.

1 8
0 986

Hi Developers!

InterSystems IRIS stores everything in globals and if we use ObjectScript classes to persist data class documents globals it uses in storage. But if you use globals for calculations, temporary storages, for special indexes or for some other purposes - how do you document it?

Possible options which come to my mind:

1. Macro

#define Array ^MyGlobal

usage:

s $$$Array(1)=1

2. Class parameter

Parameter Array ="^MyGlobal";

Usage:

0 3
0 345

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in July 2019!

New Applications

Metrics example published by David Underhill

A simple example of collating database and license metrics

Dynamic SQL to Dynamic Object published by David Crawford

ObjectScript function to convert any SQL query into a dynamic object

Cogs JSON Class published by Sean Connelly

Convert JSON to and from InterSystems ObjectScipt classes

Objectscript Roman Numeral Converter published by David Crawford

Converts numbers into roman numerals using ObjectScript

Random Read IO Storage Performance Tool published by Tony Pepper

Random Read IO Performance Tool for InterSystems IRIS Database

Port published by Rubens Silva

Port is a VCS-agnostic Caché Studio utility to export or import Caché files based on projects instead of namespaces

Forgery published by Rubens Silva

An auxiliary tool used to mimic requests to %CSP.REST and Frontier Router-based classes.

Log Production Queue Counts published by Robert Hanna

A simple scheduled task and persistent table for logging production queue counts.

EnsDemo Iris installer published by Guillaume Rongier

ENSDEMO port to IRIS without HL7 and DICOM examples

Anti CSRF CSP published by David Crawford

A method for mitigating anti CSRF attacks on CSP derived API calls

Frontier published by Rubens Silva

%CSP.REST on steroids. Frontier is a REST framework made with the purpose of reducing boilerplate code and imposing a clean coding style

Python Gateway Samples published by Eduard Lebedyuk

Examples of PythonGateway Usage. Python Gateway for InterSystems Data Platforms

2 0
0 153

Hi developers!

Every day coding with IRIS and docker I call the following 3 commands in VSCode terminal. Always the same for any projects:

docker-compose build   ; to build the container

docker-compose up -d   ; to run the IRIS in container

docker-compose exec iris iris session iris ; to open the IRIS terminal

Is there any way to map the key sequence which will type me the rest?

e.g.

0 2
0 500