Article Seisuke Nakahashi · Apr 27, 2023 2m read

Let's say you have Python including variable-length arguments methods. How can you call it from ObjectScript? 

deftest1(*args):return sum(args)
  
deftest2(**kwargs):
  a1 = kwargs.get("a1",None)
  a2 = kwargs.get("a2",None)
  return a1+a2

You can call this "a.py" from ObjectScript as below.  For **kwargs argument, create Dynamic Object in ObjectScript and put it into methods with <variablename>... (3 dots) format. 

set a=##class(%SYS.Python).Import("a")
    write a.test1(1,2,3)   ;; 6set req={}
    set req.a1=10set req.a2=20write a.test2(req...)   ;; 30


Do you

0
1 341
Job Annette Steenekamp · Apr 18, 2023

Job description

Do you want to make a difference? Being part of a team where all team members are valued for their contribution?

SOFTSPLICE values their employees as their most valuable asset. We value a healthy work and life balance.

We need capable and devoted developers to expand our team. We have interesting diverse projects to work on.

Are YOU the next team member of our dynamic team?

SOFTSPLICE strives to be at the forefront of technology and we are in the financial sector in Pretoria

The ideal candidate is a self-motivated, self disciplined and demonstrated team-player, with

1
0 447
InterSystems Official RB Omo · Apr 27, 2023

InterSystems has corrected a defect that can cause corruption of databases and journal files on AIX systems with IBM POWER8 or later POWER processors. This defect can be triggered only when database or journal encryption is in use.

 To trigger this defect, the following conditions are required:

If the environment satisfies all these conditions, then the key schedule used for database or journal encryption can become

0
0 256
Question Larry Pinsky · Apr 26, 2023

I am wondering if anyone has created a custom dashboard that can be accessed outside of the Ensemble environment.  What I am looking to do is create a dashboard accessible from a person's computer, on the same company network as Ensemble, that can display information regarding specific services, operations, processes, queues, etc.  I don't want to give a user access to Ensemble, just allow them to display a page in their browser to give them the information they need to make sure their processes are running.

I am hoping there are API calls that can be made from a web page to bring in and

3
1 334
Question Stefan Cronje · Feb 26, 2021

Hi *.*,

I am new to IRIS, IKO and IAM. I have read through a lot of the documentation, but I need clarity on some things that I can't find in the documentation.

  • Which Load Balancer does IKO use on the ingress?
    Can it be set to use another one? e.g. nginx-kubernetes + GCP LoadBalancer?
  • On a multi-compute and multi-data instances deployment, how do you get to the Management Portal of each instance?
    i.e. The load balancer is the only point of entry into the cluster exposing 1972 and 52773, so how do I route to the individual instances?
  • If using IAM, will this be on a VM running in a
3
0 472
Question Andrew Makinson · Apr 26, 2023

Hi everyone,

Before delving too deeply, I was wondering if anybody else had already looked into or had developed a tool that extracts all the elements of a production into a spreadsheet, global, array, object etc.  i.e. the Services, Processes and Operations within a production, and pulled particular properties/settings of those elements into a table - such as Ports, IP, Class, Adaptor, Timeout etc.  ideally I want to present into a web page but if you have a different outputanything that exists will be helpful.

2
1 298
Article Evgeny Shvarov · Apr 12, 2023 3m read

Hi Developers!

There is a recent update came for developer community images of InterSystems IRIS and IRIS For Health.

This release comes with Environment variables support.

Currently 3 variables are supported:

  • IRIS_USERNAME=user to create
  • IRIS_PASSWORD=with password
  • IRIS_NAMESPACE=create namespace if doesn't exist

Here is what you can do - see below.

Start iris with your username and password created:

docker run --rm --name iris-sql -d -p 9091:1972 -p 9092:52773  -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community
1
1 848
Announcement Laurel James (GJS) · Apr 26, 2023

Deltanji 7.1 is now available.

Key updates include: 

* Interoperability Production component driver included, for customers who have purchased the add-on. You can watch a short demo of it here.
* Implement multi-select delete of objects and components
* Add setting to give a passable Beyond Compare launch command line
* Support simplified Locations & Routes diagram 

For more information, read the release notes here >> https://bit.ly/3mHyJHc

Please get in touch with support@georgejames.com for your release kit. 

The update is also available for Serenji debugger users on VS Code, which has the Deltanji solo edition embedded. Simply update the Serenji extension to version 3.2.3 or later and load the server-side code. 

0
0 232
Announcement Shane Nowack · Feb 14, 2023

Hello InterSystems HL7 Community,

InterSystems Certification is developing a certification exam for InterSystems HL7 interface specialists and, if you match the exam candidate description given below, we would like you to beta test the exam. The dates the exam will be available for beta testing are March 28 - April 30, 2023. Interested beta testers should sign up now by emailing certification@intersystems.com (see below for more details)

Note: The InterSystems HL7 Interface Specialist certification exam is version 2.0 of our HealthShare Health Connect HL7 Interface Specialist certification

1
0 1123
Article Eduard Lebedyuk · Apr 26, 2023 2m read

Git stores complete history - meaning you would never lose your files, even if they are deleted, they are still available. That, however, presents an issue if large or sensitive files have been committed. Deleting them DOES NOT remove them from history. Recently one of the repos I work on became unexpectedly large, so here's how you can resolve that:

0
0 267
Article Evgeny Shvarov · Oct 15, 2022 1m read

Hi Devs!

For me, one of the most painful things about ObjectScript is ##class(Class).Method() typing to call a class method in code or in a terminal. I even submitted an idea to simplify it in ObjectScript.

But! There is a new feature in VSCode ObjectScript that was just introduced to the plugin - Copy Invocation!

Just hover Copy Invocation link above every classmethod in a code, click on it and the invocation is copied to the buffer:

Paste it anywhere you want it to execute!

USER>w ##class(dc.sample.ObjectScript).Test()

Bazinga!

Here is the video that shows how it works.

Many thanks to the VSCode

7
2 766
Article Evgeny Shvarov · Feb 12, 2023 3m read

Hi Developers!

As you know InterSystems IRIS Interoperability solutions contain different elements of the solution, such as: production, business rule, business process, data transformation, record mapper. And sometimes we can create and modify these elements with UI tools.  And of course we need a handy and robust way to source-control the changes made with UI tools.

For a long time this was a manual (export class, element, global, etc) or cumbersome settings procedure, so the saved time with source-control UI automation was competing with lost time to setup and maintain the settings.

Now the problem doesn't exist any more. With two approaches: package first development and usage of IPM package git-source-control by @Timothy Leavitt 
.

Meme Creator - Funny WOW IT REALLY WORKS Meme Generator at MemeCreator.org!

The details are below!

8
3 1395
Announcement Olga Zavrazhnova · Apr 26, 2023

Hi Everyone,
Do you know that April 22 was the Earth Day?
Join us in celebrating Earth Day on Global Masters - by learning about our efforts for sustainability and how you can drive change on a personal level.
There you will not only learn about ways to reduce your carbon footprint, but you will also have the opportunity to get some extra points for it. The campaign is live till April 30
It's also a good time to check the reward catalog - we added a couple of new prizes for several regions. Hope you will enjoy them!

0
0 135
Article Luis Angel Pérez Ramos · Apr 25, 2023 12m read

A common need for our customers is to configure both HealthShare HealthConnect and IRIS in high availability mode.

It's common for other integration engines on the market to be advertised as having "high availability" configurations, but that's not really true. In general, these solutions work with external databases and therefore, if these are not configured in high availability, when a database crash occurs or the connection to it is lost, the entire integration tool it becomes unusable.

In the case of InterSystems solutions, this problem does not exist, as the database is part and the core

4
4 981
Question Punit · Apr 24, 2023

I have a %GlobalBinaryStream object that I'm trying to save as a local file after being received through a SOAP Web Service.

To do this, I created a %Stream.FileBinary object and wanted to set where the stream copied to this object would be saved by using either the DefaultStreamDir() ClassMethod or the NewFileName() ClassMethod. However, the documentation isn't very helpful on how to use these ClassMethods.

Right now, I have the below code:

set localStream = ##class(%Stream.FileBinary).%New()
set st = localStream.CopyFromAndSave(file) /// file is the %GlobalBinaryStreamObject
4
0 333
Question Ben Spead · Apr 25, 2023

I have a csp page that is using embedded Runtime Expression (https://docs.intersystems.com/ens201817/csp/docbook/Doc.View.cls?KEY=RC…) and within that expression I am using a $data() modulo 2 to look for root-level data elements (https://docs.intersystems.com/ens201817/csp/docbook/Doc.View.cls?KEY=RC…).

E.g:

#($select($data(^ImportantFlag)#2:"Important!",1:"Normal"))#

However, my modulo sign (#) after the $data() call is seen as the ending tag for the runtime expression resulting in a broken compilation.

Does anyone know if there is a way to escape )# or just # in a CSP

3
0 242
Announcement Anastasia Dyubaylo · Apr 25, 2023

Hi Community,

Let's meet together at the online meetup with the winners of the InterSystems IRIS Cloud SQL and IntegratedML Contest – a great opportunity to have a discussion with the InterSystems Experts team as well as our contestants.

Winners' demo included!

Date & Time: Thursday, April 27, 12 pm EDT | 6 pm CEST

0
0 207
Question Michael Davidovich · Apr 21, 2023

I have seen this post and appreciate that discussion: API RESTful Version | InterSystems Developer Community | Business Service

However our org requirement is for a caller to provide the API version in the HTTP request header.  I am finding the cleanest way to route to the correct class using the header version.  My classes are setup as

API.Service.v1

API.Service.v2

Of course only v1 exists now but when v2 goes live on future day, API.Service.v2 will extend API.Service.v1 so we only have to override the method that changes or add a new method if needed.  

I thought I might be able to modify

2
0 364
Question Michael Davidovich · Mar 30, 2023

I am trying to write a message to a Kafta cluster programmatically (i.e. not in Ensemble or using a Production) using %External.Messaging.  I am consistently getting a 'topic not found error' even though I have created the topic on the cluster.  I dug into the client I created an when accessing the property KaftaClient.jclient.gateway I get the following output:

<THROW>%DispatchGetProperty+25^%Net.Remote.Object.1 *%Net.Remote.Exception <GATEWAY> com.intersystems.gateway.GatewayException com.intersystems.gateway.JavaGateway.dynamicExecuteGet(JavaGateway.java:3761) Field not found:

4
0 557
Question Adam Lees · Apr 21, 2023

Is it possible to compile classes on a current version of the platform for a previous version?   So using a compiler switch to compile classes that will run on a prior version?

We are implementation partners building a set of tools and we would like to ensure that the code will run on earlier versions we don't have access to.

3
0 307
Question water huang · Apr 23, 2023

 i use %SQLGatewayConnection to insert data to mysql from xml,when if the value`s ascii of any field in the sql equal to 57659 ,

ClassMethod Execute(sql, conn, Output msg) As%Status
{
    s$zt="Err"
    s msg=""
    k hstmt
    set sc=conn.AllocateStatement(.hstmt)
    set sc=conn.PrepareW(hstmt,sql) 
    
  if$$$ISERR(sc) quit sc
  //Execute statement
  set sc=conn.Execute(hstmt)
  if$$$ISERR(sc) 
  {
      k err
   Set xsc=conn.GetErrorList(hstmt,.err)
      set sc=conn.DropStatement(hstmt)
   ;Zwrite err
   Quit err
  }
    set sc=conn.DropStatement(hstmt)
    q$$$OK
1
0 283