#InterSystems IRIS

19 Followers · 5.5K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Article Guillaume Rongier · Nov 23, 2020 1m read

Introduction

This is iris-key-uploader a frontend in Angular with it's rest API.

The aim of this project is to easily import key file to Iris from a web ui.

Why this project

Unfortunatly the IRIS panel to change key doesn't give the opportunity to upload the license.

As you can see, you can only browse from the server side.

What if, you don't have a direct access to it ?

You would like to have a simple web page to upload the new key and activate it.

This is the purpose of this project.

Demo

Demo

UI

http://localhost:52773/keyuploader/index.html

Build

Run the server

docker-compose up -d

Install w

6
0 583
Article Matthew Giesmann · Nov 20, 2020 6m read

Earlier this year, the AppS.REST package was released. AppS.REST is a framework for easily exposing existing persistent classes in IRIS as REST resources. AppS.REST-enabled classes support CRUD operations with little effort from the developer, bridging the gap between persistent data in IRIS and data consumers, such as an Angular front end application.

But IRIS classes are much more than just a definition for loading and saving individual records! This article aims to highlight a few ways to leverage the power of IRIS in your REST applications.  Using the Phone.Contact sample app, we'll look at out-of-the-box query support, use of class queries and finally ObjectScript methods.

6
1 558
Article Bob Binstock · Apr 26, 2021 9m read

Like hardware hosts, virtual hosts in public and private clouds can develop resource bottlenecks as workloads increase. If you are using and managing InterSystems IRIS instances deployed in public or private clouds, you may have encountered a situation in which addressing performance or other issues requires increasing the capacity of an instance's host (that is, vertically scaling).

One common reason to scale is insufficient memory. As described in Memory Management and Scaling for InterSystems IRIS in the Scalability Guide, providing enough memory for all of the entities running on the host

1
0 547
Article Yuri Marx · Nov 19, 2020 5m read

According to IDC, more than 80% of information it is NoSQL, especially text into documents. When the digital services or applications not process all this information, the business lose. To face this challenge, it is possible use OCR technology. OCR uses machine learning and/or trained image patterns to transform image pixels into text. This is important, because many documents are scanned into images inside PDF, or many documents contains images with text inside. So OCR are an important step to get all possible data from a document.

To do OCR, the main open source solution used is Google Tes

3
2 652
Question Alex Kogan · Apr 26, 2021

Hello,

I have a quick question regarding TSTART, however not certain if there is an answer.

If I am inside the transaction and I loose connection - I always assumed that transaction would TROLLBACK, however it does not.

Is there anything special I need to set up with my TSTART, in order for this transaction to safely rollback?

*********

As example: Let's say I am inside the TSTART and setting up / altering some data and my VPN connection got disconnected.  I kind of expect all the data to be rolled back.  

Thank you,

Alex

6
0 310
Article Lorenzo Scalese · Apr 21, 2021 2m read

Hi Everyone,

In the previous article, we combine ZPM with Config-API to load a configuration on module loading\install.
It could be useful for small applications, but for a large application, it's not convenient.

You can need to create multiple namespaces and install many zpm modules on different namespaces.
Using the configuration document on zpm load\install is a problem for this special case.
Moreover, even if you need only one module and one namespace, ZPM client is designed to install on the current namespace and it's not possible to switch to another namespace during the install.
So, If

3
0 417
Announcement Evgeny Shvarov · Apr 21, 2021

Hi Developers!

We had a set of technology bonuses for the InterSystems IRIS Developer Tools contest.

And here is how projects collected it:

Project docker zpm Unit Testing Online Demo Code Quality Article on DC Video on YouTube Total Bonus
Nominal 2 2 2 3 2 2 3 16
Config-API 2 2 2   2 2   10
Server Manager for VSCode     2     2   4
Grafana Plugin for InterSystems 2   2     2   6
SSH for IRIS container 2         2 3 7
IntelliJ InterSystems     2         2
gj :: locate     2     2 3 7
helper-for-objectscript language extensions 2 2     2 2 3 11
IRIS REST Documentation 2       2     4
IRIS-easy ECP workbench 2 2     2 2 3 11
zpm-explorer 2 2 2 3 2 2 3 16
Git for IRIS 2 2       2   6
zapm-editor 2 2       2   6
9
0 281
Announcement George James · Apr 16, 2021

Announcing gj :: locate.  A simple extension for VS Code that will help you get to the source of your errors.

In VS Code, using either the Serenji extension or the basic InterSystems objectscript extension, this small add-on will open the appropriate class or routine and position you at the exact line where an error occurred.

No more tedious counting of lines to find <UNDEFINED>zCredit+206^Ledger.Invoice.1.  Instead, with gj :: locate you can get there with just a couple of clicks.

This 20 second video tells it all:

 

Download now and enjoy getting to the source of your errors.

2
2 342
Article Sergey Mikhailenko · Apr 20, 2021 4m read

Hello developers! I present to you the project of editors in terminal mode. The full-screen editor of routines, arrays and text files in terminal mode can be useful to you when debugging your project in docker or when your web interface is unavailable or limited for some reason. Although this project is self-sufficient, I decided to make it as an addition to the ‘zapm’ module for the convenience of calling editor commands.

If your instance does not have a ZPM, then you can install the zapm-editor module in one line:

set $namespace="%SYS", name="DefaultSSL" do:'##class(Security.SSLConfigs).Exis

image

4
0 348
Announcement Max Parry · Apr 20, 2021

gj :: connect is a demonstration extension that shows how to extend the Intersystems Server Manager to perform custom actions.

It makes use of the context menu contribution points to add both in-line and right click menu options.

It also demonstrates how to create a new top level folder in your workspace corresponding to the server and namespace selected in Server Manager.

Features

  • Add in-line command to each namespace folder
  • Add right-click context menu to each namespace folder
  • Demonstrates use of getServerSpec api to read and use connection properties
  • Demonstrates how to launch a url in an

Screenshot

0
1 182
Article Laurel James (GJS) · Apr 20, 2021 3m read

You may think it isn’t too difficult to get from label+offset^routine to the actual source line responsible for the error.  For an expert it isn't that hard... most of the time.  But there are enough oddities and special rules that even an expert can get it wrong, whilst spending a lot of time trying to get there.

gj :: locate is the latest tool from George James Software – it debugs any error, class or routine by converting the location of an error in compiled .int code to the corresponding location in your source, and then taking you right there.

Image this scenario…

0
1 363
Announcement Anastasia Dyubaylo · Mar 16, 2021

Hey Developers,

You asked - we did it! We're glad to announce the next competition for InterSystems Developers! Please welcome: 

🏆 InterSystems Programming Contest: Developer Tools 🏆

Submit an application that helps to develop faster, contribute more qualitative code, helps in testing, deployment, support, or monitoring of your solution with InterSystems IRIS.

Duration: March 29 - April 25, 2021

Total prize: $8,500 


16
1 3333
Article Lorenzo Scalese · Apr 15, 2021 6m read

Hi Developers,

In the previous article, we describe how to use config-api to configure IRIS.

Now, let's try to combine the library with the ZPM client.
The goal is to load a configuration document during zpm install at the configure phase.

For this exercise, a template repository is available here (this is based on objectscript-docker-template ).

We attempt to :

  • Create a database MYAPPDATA.
  • Set Globals mapping for dc.PackageSample.*.
  • Add a user named SQLUserRO with read-only SQL role access.
  • Add an SSL Configuration named SSLAppDefault.
  • Create a REST application /rest/myapp.

The configuratio

7
1 376
Article Robert Cemper · Apr 16, 2021 1m read

Some changes in IRIS configuration require a restart of IRIS.
This is no big issue as long as I have access to the server command line with sufficient privileges.
In a container, this is not always given.
Stopping IRIS from the terminal/session prompt is no problem.
But the restart after is.  

Note1: container start-stop is no option as it might be removed by option --rm in docker run
Note2: the target is linux (manly in docker).  Windows is excluded

GitHub

4
0 1129
Article Sergey Mikhailenko · Apr 16, 2021 7m read

When you have more than ten thousand users in your database, it becomes time-consuming and inconvenient to assign group access rights through the standard IRIS interface. In this artilce I want to introduce you an application to automate this process.

I’ll show you how to assign and change the role lists for the users, selecting them by context, and I will also show you how to expand this application’s functionality. you know how to apply your work as an administrator and developer to the new features of the well-proven apptools software complex. With the addition of an adminLTE template, you can now quickly and easily create interface interactions for any entity and many functional modules. The goal while developing this toolkit is to write as little JavaScript as possible as well as transfer and implement all the dynamics as much as possible in the ObjectScript.

0
0 751
Announcement Derek Robinson · Apr 14, 2021

Episode 17 of Data Points features a roundtable conversation with Carmen Logue, Benjamin De Boe, and Thomas Dyar about the Analytics & AI area of the InterSystems technology stack. Learn from these product experts about the various technologies and partnerships that exist within the Analytics & AI space at InterSystems, how some customers use these tools, and what might be coming in the future.

0
1 269