#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.

Question Minoru Horita · Apr 11, 2019

In Cache'/Ensemble, by specifying the objectsPackage parameter, dictionaries (and other objects) get projected to tables that can be accessed by SQL queries.

But in IRIS (IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2019.1 (Build 507U) Mon Feb 25 2019 13:47:16 EST), when I created a dictionary with ##class(%iKnow.Matching.DictionaryAPI).CreateDictionary(), it does not get projected to a table.

The class APIs correctly retrieve information about this dictionary.

Am I missing something with IRIS, or is there any issues about this?

2
0 394
Question David.Satorres6134 · Apr 11, 2019

Hi all,

I'm facing the error 7802 ("Worker job/s unexpectedly shut down") when trying to work with the Queue Manager. Since today it was working fine, but suddenly today it started failing when arriving to the line:

Set sc=queue.WaitForComplete()

The method is pretty simple: first I invoke the queue manager by doing set queue=$SYSTEM.WorkMgr.Initialize("/multicompile=1",.tSc,64), and then into a loop I call a method exactly 64 times. Then after the first 64 processes are done, the system launches 64 more jobs.

1
0 627
Article Eduard Lebedyuk · Apr 8, 2019 4m read

The titular question was quite relevant and often discussed some thirty years ago. The thought went: “Sure, there are industries where computers are the norm, but in my industry we got just fine so far, the benefits are questionable, problems innumerable and unsolved. Can we continue as before or should we embrace this new technology?”

Today, everyone asks the same question but about Machine Learning and Artificial Intelligence. The doubts are the same – lack of expertise, lack of known path, perceived irrelevancy to the industry.

Yet, as before, the correct, even the only possible answer is a resounding yes. Read on to find out why.

1
1 452
Announcement Evgeny Shvarov · Apr 6, 2019

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 257
Announcement Benjamin De Boe · Mar 15, 2019

Hi all,

In order to prioritize functional requirements for evolving our SQL developer experience, we have prepared a short survey to better understand how you’re currently using and, in an ideal world, would like most to interact with our SQL platform.

https://www.surveymonkey.com/r/DSY6YT2

Don’t hesitate to forward this survey informally to your peers you know are accessing our SQL engine on a regular basis. There’s a disclaimer at the top that indicates we are highly interested in feedback to drive our roadmap, but obviously cannot commit to implementing all of it.

1
0 330
Article Dmitrii Kuznetsov · Mar 31, 2019 20m read

How Tax Service, OpenStreetMap, and InterSystems IRIS
could help developers get clean addresses

 

Pieter Brueghel the Younger, Paying the Tax (The Tax Collector), 1640

In my previous article, we just skimmed the surface of objects. Let's continue our reconnaissance. Today's topic is a tough one. It's not quite BIG DATA, but it's still the data not easy to work with: we're talking about fairly large amounts of data. It won't all fit into RAM at once, and some of it won't even fit on the drive (not due to lack of space, but because there's a lot of junk). The name of our subject is FIAS DB: the Federal Information Address System database - the databases of addresses in Russia. The archive is 5.5 GB. And it's a compressed XML file. After extraction, it will be a full 53 GB (set aside 110 GB for extraction). And when you start to parse and convert it, that 110 GB won't be enough. There won't be enough RAM either.

0
2 614
Announcement Anastasia Dyubaylo · Mar 28, 2019

Hi Everyone!

Please meet InterSystems at hub.berlin - Europe's interactive business festival for digital movers and makers on 10 - 11 April 2019 in Berlin.

We look forward to two-day inspirational lectures and intensive technical discussions and invite you and your colleagues to our InterSystems booth for a personal conversation. In addition, we'll also present a keynote presentation and host a masterclass session.

 

See the details below.

0
0 290
Article Robert Cemper · Mar 26, 2019 2m read

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

The solution is available in Caché/IRIS since quite some time and works excellent.
^OBJ.DSTIME does the magic.
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=D2IMP_ch_current#D2IMP_C23869

It was built to allow data synchronization with DeepSee.
It keeps a very simple journal on Object/Table changes by signaling Modified,New,Deleted
This could be useful not only for DeepSee but for any other type of Table Synchronization.

0
2 1235
Article Dmitry Maslennikov · Mar 20, 2019 3m read

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.

0
1 797
Article Dmitry Maslennikov · Mar 15, 2019 2m read

I'm sure most of you have already familiar with the possibility of using GZIP in InterSystems products. But, the problem is that GZIP working only with one file or stream, and it does not support folders. When you work in Unix systems, there is a possibility how to solve it, using tar compress tool which goes with every Linux system from out of the box. But what to do if you have work on Windows as well, which does not have it. 

I am pleased to offer you my new project isc-tar, which will help you do not care about operating system, and deal with tar files anywhere.

1
4 986
Article Dmitry Maslennikov · Mar 18, 2019 4m read

I am just recently announced my project isc-tar. But sometimes it is not less interesting what’s behind the scene: how it was built, how it works and what happens around the project. Here is the story:

  • How to develop this project
  • How to test it
  • How to release new versions for publishing
  • And finally how to automate all above
  • Continuous integration

So, I would like to tell all about it.

0
2 669
Question Chip Gore · Mar 13, 2019

Hi -

I'm having odd behaviors on my EC2 hosted IRIS Community instance.

When I configure a "custom login page" in the System Management Portal for my web application I'm seeing a few different behaviors that are under documented (and also undesired)

The old Caché documentation indicates that the custom login page could be a ".csp" file, but this seems to nor be the case (i kept getting "not found" errors, even though I could bring up the page directly from the url FOR the login.csp file. To get around this, I created an HTML file and then, at least, the login page could be found to be rendered.

2
0 670
InterSystems Official RB Omo · Mar 14, 2019

March 14, 2019 – Alert: Data Integrity Issue with Mirror Database Catchup

InterSystems has corrected a defect in our mirroring technology that can result in inconsistency between mirrored databases. This defect exists for currently released Caché and Ensemble versions beginning with 2017.2 and for InterSystems IRIS Data Platform version 2018.1.

0
0 408
Question Alexey Maslov · Jan 31, 2019

Sometimes global mapping of the same globals can be defined in different ways. E.g., I need to define it for 3 globals ^qAuditC, ^qAuditLog, ^qAuditLogC from the same database named APP-NOJOURN. Which approach should be better from the performance point of view?

1) qAudit* => APP-NOJOURN (one record in global mapping table)
or

2) qAuditC => APP-NOJOURN
qAuditLog => APP-NOJOURN
qAuditLogC => APP-NOJOURN (three records in global mapping table)

3
0 665
Discussion Evgeny Shvarov · Mar 7, 2019

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
2
0 1114
Question Geir Selvåg · Mar 7, 2019

Hello folks,

I have an JSON object that need to be updated before being parsed into a JSX component.

Source JSON obj:

var Obj = { "data": [
  {"id":1, "text":"Task #1", "project":"10", "sub_project":"10-1" },
  {"id":2, "text":"Task #2", "project":"10", "sub_project":"10-1" },
  {"id":3, "text":"Task #3", "project":"11", "sub_project":"11-1" },
]};

 

Required JSON obj result:

1
0 477
Question Olga Smolyar · Feb 27, 2019

Hello,

I'm trying to set up an Apache server using CSP Gateway on Windows 10 (64-bit), but am getting the  error "Cannot load c:/InterSystems/IRIS_2019/CSP/bin/CSPa24.dll into server: %1 is not a valid Win32 application" when attempting to start up httpd.exe after adding the CSP-specific section to httpd.conf.

The CSP gateway is 64-bit (CSPGateway-2018.1.1.643.0-win_x64) and so is the Apache install (httpd-2.4.38-o102q-x64-vc14).

The CSPa24.dll file does exist in the specified location. 

Any suggestions appreciated.

Thank you,

Olga

5
0 961
Question Evgeny Shvarov · Mar 1, 2019

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>

3
0 526
Article Nikita Savchenko · Feb 12, 2019 13m read

ˮ This is one of my articles which was never published in English. Let's fix it!

Hello! This article is about quite a practical way of developing InterSystems solutions without using the integrated tools like Studio or Atelier. All the code of the project can be stored in the form of "traditional" source code files, edited in your favorite development environment (for example, Visual Studio Code), indexed by any version control system and arbitrarily combined with many external tools for code analysis, preprocessing, packaging and so on.

6
6 3236
Question David.Satorres6134 · Feb 26, 2019

Hi,

I know of the existance of (ELEMENTS) to create an index from a list, but I actually would like to index the content of an element of a list. Is it possible?

My scenario:

Class:
Property Test As list of TestList;
 

Test.List:
Property Name As %String;
Property Surname As %String;

I would like to have an  index based on the TestList.Name. If I try using

Index NewIndex On Test(ELEMENTS)

it will create an index with Name and Surname in it, but I just want to have an index with the name. Is it possible? 

3
1 380
Article Nikolay Solovyev · Feb 19, 2019 6m read

1. Blockchain

As I am writing this article, Bitcoin costs less than one-fifth of what it used to be at the pinnacle of its success. So when I start telling someone about my blockchain experience, the first thing I hear is undisguised skepticism: "who needs this blockchain stuff now anyway?"

That's right, the blockchain hype has waned. However, the technologies it is based on are here to stay and will continue being used in particular areas.The Internet in general offer tons of materials describing the general usage of these technologies 

4
2 1043
Discussion Evgeny Shvarov · Feb 11, 2019

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).

10
0 560
Question Sergio Martinez · Feb 12, 2019

Suppose we need to store millions of values temporarily, that means, we don't care about them if we lose them but our application use them to get realtime information. Should I use Cachetemp or whatever other DB without journaling enabled? If answer is Cachetemp, shouldn't be a problem if we decide to scale using App Server + ECP? I'm not sure what would happen with the app logic in such architecture as I guess I couldn't map and share cachetemp...

Any idea/suggestion?

5
0 1089