Article Erik Hemdal · Jul 22, 2019 3m read

One of my colleagues at InterSystems encountered an unexpected issue when running InterSystems IRIS on a Macintosh in a container using Docker for Mac.  I’d like to share what we found, so you might avoid running into similar issues.

The Problem

The task at hand was running a Java application with XEP to do a large data load into IRIS.  When running the data load, the write daemon hung soon after starting the job, with messages like these in messages.log:

05/21/19-14:57:50:625 (757) 2 Process terminated abnormally (pid 973, jobid 0x00050016) (was a global updater)

05/21/19-14:58:52:990 (743) 2 CP


2
0 1099
Announcement Anastasia Dyubaylo · Oct 7, 2019
0
0 242
Question Scott Roth · Oct 3, 2019

When compiling in 2018.1.2 using $system.OBJ.CompileAllNamespaces() I am seeing the following errors on some of our Record Maps.

ERROR #5496: Inverse property, 'osuwmc.RQIRecordOut.Record:%ParentBatch', is not defined, 'RQIRecordOut.Record:Records'
ERROR #5496: Inverse property, 'osuwmc.RQIRecordIn.Record:%ParentBatch', is not defined, 'User.RQIRecordIn:Records'
ERROR #5496: Inverse property, 'osuwmc.RQIRecordOut.Record:%ParentBatch', is not defined, 'User.RQIRecordOut:Records'
ERROR #5496: Inverse property, 'osuwmc.EpicADTMergeCSV.RecordMap.Record:%ParentBatch', is not defined, 'osuwmc.EpicADTM

1
0 328
Question Rick Monk · Sep 30, 2019

I have a scenario where I'm using a EnsLib.File.InboundAdapter to collect files from an external file system.  The files require to meet a certain criteria before they are moved to another remote file system.  If they don't, I would like them to stay where they are so that they can be collected again when the criteria has changed.    I have set the adaptor property DeleteFromServer to false - which is fine - the file stays put in its original location, but the file is never collected again as I receive a  "Skipping previously processed file  " info message.   I'm presuming the file name is sto

3
0 883
Announcement Evgeny Shvarov · Oct 3, 2019

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.

0
0 203
Question David Losiewicz · Oct 3, 2019

I am using Ensemble FTP adapter to monitor file directory for files that require SFTP transfer to remote server using public/private keys for remote server authentication.

This works great in my engineering development space where file protections are loose.

I want to apply "principle of least privilege" regarding the public and private key files specified in  FTP Outbound adapter Business Operation. 

Can anyone recommend (Linux) permissions that allow Ensemble to execute the SFTP operation but minimizing access to the key files?

I've tried variouse combinations without success. 

Any reco

1
0 1017
Question Martin Karas · Oct 1, 2019

Hello,

lets have two  abstract %Persistent classes A,B with NoExtent keyword (storing data in separate globals for each subclass).

Class A Extends %Persistent [Abstract, NoExtent]

{

}

Class B Extends %Persistent [Abstract, NoExtent]

{

     Property Aref As A;

}

Let B class reference the A class. Since the A class has no extent the reference wont work in subclasses. It wont be even usable in SQL.  Is it possible to solve this problem? Whats the recommended way to deal with references/relationships using NoExtent?

6
0 340
Announcement Anastasia Dyubaylo · Oct 3, 2019

Hi Community!

We are pleased to invite you to the upcoming webinar in Spanish "Desarrollar y gestionar APIs con InterSystems IRIS Data Platform" / "Developing and managing APIs with InterSystems IRIS Data Platform" on October 15 at 16:00 CET!

Are you a backend developer? Or a Systems integration specialist? If so… this webinar is for you!

0
0 256
Article Gevorg Arutiunian · Apr 27, 2019 2m read

Here is an ObjectScript snippet which lets to create database, namespace and a web application for InterSystems IRIS:

	set currentNS = $namespace
	
	zn "%SYS"
	
	write "Create DB ...",!
	set dbName="testDB"
 	set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
 	set status=##Class(Config.Databases).Create(dbName,.dbProperties)
	write:'status $system.Status.DisplayError(status)
	write "DB """_dbName_""" was created!",!!
	
	
	write "Create namespace ...",!
	set nsName="testNS"
	//DB for globals
	set nsProperties("Globals") = dbName
	//DB for routines
	set nsProperties("Routines") = dbName
	set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
	write:'status $system.Status.DisplayError(status)
	write "Namespace """_nsName_""" was created!",!!
	
	
	write "Create web application ...",!
	set webName = "/csp/testApplication"
	set webProperties("NameSpace") = nsName
	set webProperties("Enabled") = $$$YES
	set webProperties("IsNameSpaceDefault") = $$$YES
	set webProperties("CSPZENEnabled") = $$$YES
	set webProperties("DeepSeeEnabled") = $$$YES
	set webProperties("AutheEnabled") = $$$AutheCache
	set status = ##class(Security.Applications).Create(webName, .webProperties)
	write:'status $system.Status.DisplayError(status)
	write "Web application """webName""" was created!",!
	
	zn currentNS
3
6 1858
Question Ciaran Mooney · Sep 20, 2018

HI,

I am a newbie so excuse my basic questions.

I have installed Caché on Mac Os High Sierra 10.13.6 and have started the ObjectScript tutorial but I cannot open Terminal in Caché.

The instructions provided on the tutorial don't appear to be for Mac OS as there is no cube icon:


n order to begin practicing using ObjectScript, you need to start the Terminal. Click the Caché cube iconin the task bar and select Terminal from the menu. This brings up the terminal window, and you can see from the prompt that we are in the USER namespace. Namespaces are logical directories, containing routines (programs)

10
0 1152
Announcement Helmut Forstner · May 21, 2019

WEB HERALDa Highly Extensible Rapid AppLication Development framework by myCTS

myCTS WEB HERALD

myCTS web client benefits:

Platform independent

Smartphone, tablet, laptop or desktop-computer, the myCTS web client, can be used on all devices with HTML5 compatible browsers. Adaptable designs allow all varieties of screen sizes to be featured.

State-of-the-art technology

myCTS web clients use, excellent frameworks for the development of client side components.

Secure

Of course, security best practice, plays an important role within the frameworks future development, which guard

2
1 841
Question Warren Grob · Sep 30, 2019

How do I manipulate a string in Ensemble DTL (X12 document) to extract a string starting from the right, or end, of the string?

I need to have 10 digit phone numbers, however some of the source data records include the "1" for the long distance dialing and I need to exclude this.

I have tried using Right(), SubStr(), and even SubString(string,*,-10) but it will not compile.

I find it hard to believe that Ensemble does not have the ability to read a string from the right. 

Thank you for any assistance.

5
0 504
Question Eduard Lebedyuk · Oct 1, 2019

I need to know the current rss memory consumption. On earlier Cache versions I used this method:

set sc = ##class(%Net.Remote.Utility).RunCommandViaZF("smem -u cacheusr | grep cacheusr | awk '{print $6}'",,.rss)

It doesn't work because we use $zf(-100) on IRIS 2019.1.

New version:

ClassMethod Test()
{
set cmd = "smem"
set args = 8
set args(1)="-u"
set args(2)="irisusr"
set args(3)="|"
set args(4)="grep"
set args(5)="irisusr"
set args(6)="|"
set args(7)="awk"
set args(8)="'{print $6}'"
set sc = ##class(%Net.Remote.Utility).RunCommandViaZF(cmd,,.rss,,,.code,.args)
//set sc = $zf
2
0 452
Announcement Olga Zavrazhnova · Sep 16, 2019

Hi Community, 

We are pleased to announce the Global Summit 2019 social media contest called "Twitter Rush"

Help us share Global Summit 2019 with the world by tweeting live about the keynotes, breakout sessions, newest technologies and awesome moments as they happen! To participate in the contest, post your updates to Twitter with the hashtag #GlobalSummit19 between the dates September, 19 – September, 25 2019.

Our #1 social media Ambassador will win a 10.5-inch iPad Air Wi‑Fi 64GB!

🎉Check out the winner announcement below! 🎉

1
0 666
Question sapna gera · Aug 7, 2017

getting "The value of the property 'cspHttpServerMethod' is null or undefined, not a Function object" error while executing the csp page. All the server side methods stop working at this time although javascript functions still work but until the point where a server side method is getting called. Any clues why we get such error.

3
0 1074
Job Romina Sarcletti · Sep 30, 2019

A permanent job opportunity has arisen for a Caché/Ensemble developer with at least 5 years experience. My client is a specialist resource provisioner of developers for high profile clients in the finance,  healthcare, retail, distribution and credit business that are mainly based in central London. My client is looking for a highly-motivated individual who thrives in an environment where problems are open-ended. If you want to apply for the job you must have a proven track record of building applications using InterSystems technologies and are able to work independently, be fluent in Caché Ob

0
0 661
Question Mathieu Van Sevenant · Sep 13, 2019

Hello everyone :-)

I would like to update Atelier from version 1.0.262 to the 1.3 one. So I clicked on Help --> Check for updates, and I get these first error messages:

"No updates were found in available software sites."

"Some sites could not be found. See the error log for more detail." etc. cf picture below talking about Proxy Authentication.

So I checked those available software sites (tried until now) and also the proxy settings that I am used to work with:

Then I changed the "Active Provider" from Native to Manual with the proxy settings got from a system administrator :

5
0 562
Question Elize VdRiet · Sep 26, 2019

I am playing with the FHIR Sandbox.

I want to sort the patients returned in the bundle from the Patient search using the _sort (according to FHIR standard the _sort parameter is what should be used to sort), but I get: "Invalid request URL parameter _sort specified"

So I am having to assume that InterSystems did not implement _sort.

Or it may be a named something else, why I say so is that there is something else that they "renamed", that is the "stateId" they renamed to "queryId", this refers to the stateId returned in the "Link" URL of the bundle with which you fetch subsequent pages,

1
0 249
Question Craig Regester · Sep 30, 2019

Good morning -

I am attempting to pass some HL7 content (say, a complete ADT message) from one server to another via REST/JSON - for reasons. 

I can get the data across but when I try to create an EnsLib.HL7.Message object from the message in the JSON body, I end up with just the start of an HL7 msg in the resulting object. Looks like: MSH|^~\&

The start of the code accepting the data looks like this:

tReq = {}.%FromJSON(%request.Content.Read())
tInput = tReq.Message

tMsg = ##class(EnsLib.HL7.Message).%New()
tMsg.ImportFromString(tInput)
tMsg.DocType = "2.3.1:ADT_A01"

So now if I

3
0 1155
Question Pravin Dabhi · Sep 30, 2019

Session : Working with the FHIR Resource Repository

We tried below steps to create and load sample data from Synthea (FHIR data).

  1. Open terminal
  2. USER>zn "HSLIB"
  3. HSLib> do ##class(HS.HC.Util.Installer.FHIR).Install()
  4. Namespace  : FHIRServer
  5. Install DSTU2? (Y/N) N
  6. Install STU3? (Y/N) Y
  7. STU3 CSP app [/csp/healthshare/fhirserver/fhir/stu3]:
  8. STU3 CSP Open ID Connect (OAuth 2.0) app [/csp/healthshare/fhirserver/fhir-oidc/stu3]:
  9. Install STU3 resource repository? (Y/N) Y
  10. Install STU3 PIXm? (Y/N) N
  11. Install STU3 PDQm? (Y/N) N
  12. Install STU3 MHD? (Y/N) N
  13. Continue with Installation? (Y/N) Y
1
1 372