#InterSystems IRIS

19 Followers · 5.6K 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.

InterSystems Official Andreas Dieckow · Jul 23, 2019

Preview releases are now available for the 2019.3 version of InterSystems IRIS and IRIS for Health!

 

Container images are available via the WRC's preview download site.

The version number for these releases is 2019.3.0.302.0

 

Public announcements will be made shortly, with separate announcements for each product.

 

InterSystems IRIS Data Platform 2019.3 is a CD (continuous delivery) release of InterSystems IRIS.  It has many new capabilities including:

Continuous Delivery Releases of InterSystems IRIS

InterSystems API Manager

Node-level Architecture for Sharding and SQL Support

Infrastructure and Cloud Deployment Improvements

Port Authority for Monitoring Port Usage in Interoperability Productions

X12 Element Validation in Interoperability Productions

New Framework for Coding Business Hosts in Java

Java and .NET Gateway Reentrancy

1
4 537
Article Nikolay Solovyev · Aug 1, 2019 3m read

In many projects I was faced with storing hierarchical data (tree) in classes.
By tree, I mean such data, where each node has a parent node — an object of the same class.
Many examples of such data can be given. For example, a catalog in the online store. Suppose that this online store sells books, in this case, the category tree might look like this:

The number in front of the name is the category ID.
For storage, you can create classes:

The MyApp.Category class  is used to store the category tree and contains the property “Parent” - reference to the same class.

1
1 1265
Question Rodolfo Santos · Jun 12, 2019

Hello Everyone

I'm trying to open an XML that I get inside a GZIP file.
However, I can only open the contents when I save the file to a folder.
I would like to know if there is a way to get the contents of XML without saving the GZIP in a folder.

The code below is functional, however, you are saving GZIP before you can get the contents of the XML.

SET tGZIP = $System.Encryption.Base64Decode("############")
SET tFile= ##class(%File).%New("####")
SET tSC = tFile.Open("WSN")
SET tSC = tFile.Write(tGZIP)
DO tFile.%Save()
DO tFile.Close()
SET tSC = tFile.
2
0 550
Article Jeffrey Drumm · Jul 25, 2019 1m read

I'm not saying that this is in anyway "best practices," but I'm in a peculiar situation where I need to restrict users from starting a "retired" Ensemble Production in a namespace that's been renamed. It's still an "Ensemble-activated" namespace; we need to keep it available for Ensemble Message Viewer access ... fortunately, only for a little while.

It's a bit of a hack ...

Open the Production class in Studio and add the following classmethod:

ClassMethod OnStart() As %Status
{
    Return $system.Status.
6
1 543
Article David Crawford · Jul 26, 2019 3m read

Hello community! I have to work with queries using all kinds of methods like embedded sql and class queries. But my favorite is dynamic sql, simply because of how easy it is to manipulate them at runtime. The downside to writing a lot of these is the maintenance of the code and interacting with the output in a meaningful way. In an effort to have as much dynamism as possible so that we're not rewriting code constantly, and so that we have as little code possible (while still making sense and getting the job done), I made a function that takes in any dynamic query and outputs a dynamic object.

7
2 1265
Article Sean Klingensmith · Nov 18, 2016 10m read

As a developer, you have probably spent at least some time writing repetetive code. You may have even found yourself wishing you could generate the code programmatically. If this sounds familiar, this article is for you!

We'll start with an example. Note: the following examples use the %DynamicObject interface, which requires Caché 2016.2 or later. If you are unfamiliar with this class, check out the documentation here: Using JSON in Caché. It's really cool!

##Example

You have a %Persistent class that you use to store data.

2
3 3586
Article Rubens Silva · Jul 25, 2019 2m read

Hello everyone, it took some time but I'm finally getting things done again. Phew! But for now, allow me to introduce a tool that I've been using frequently.

I call it Forgery.

This description has been taken from my GitHub repository, also available on OpenExchange:

Forgery is a server-side utility that allows executing simulated HTTP request by forging calls to REST applications. This makes Forgery ideal for using together with test suites that need to call the API via HTTP but could face issues with license usage and its grace period.

0
2 473
Article Murray Oldfield · Jul 24, 2019 1m read

Available at:

https://hub.docker.com/r/yape/yape/

$ docker container run --rm -v "$(pwd)":/data yape/yape --version
yape 2.2.6

See the readme at:

https://github.com/murrayo/yape


Changes include:

  • Reinstate config file, make some more changes to smarter x and y axis.
  • Update line style choices in config file.
  • Solve for yyyy dates and yy dates or bail out. Make date string consistent for windows title (drop decimal places), add short day to title.
0
0 574
Question Yuri Marx · Jan 3, 2019

I followed the instructions in the documentation https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl… (Install iris.node on nodejs for windows). Procedures made:

=> Copy iris.node to the location specified in the NODE_PATH environment variable: C:\Program Files\nodejs

=> I used: var irisobj = require('iris') on my js file

But is not work. Error: The specified procedure could not be found.

13
2 885
Question Stephan Gertsobbe · Jul 13, 2019

Hi all,

we are wondering if anybody has a reporting tool that is capable using IRIS Objects?

I know there are things like Crystal Reports and others out there who can read the SQL Data throug ODBC but we need the capability of using object methods while running the report.

Since now we where using a JAVA based report generator (ReportWeaver) but since the object binding for JAVA doesn't exist anymore in IRIS data platform, did any of you have an alternative report generator?

Looking forward to any answers

cheers

Stephan

2
0 444
Article Guillaume Rongier · Jul 4, 2019 1m read

Has you may know, EnsDemo from Ensemble are not available anymore on IRIS.

This is a good thing, Iris is cloud oriented, it must be light, fast. Now the new way of sharing samples or modules is through git, continuous integration and OpenExchange.

But, in some cases you want to go back to your good old samples from EnsDemo to get inspiration or best practices.

Good news, there is a git for that :

How to use it ?

Clone this repository

git clone https://github.com/grongierisc/InstallEnsDemoLite.git

And run install.sh

sh install.
1
3 1287
Question Evgeny Shvarov · Jun 28, 2019

Hi guys!

As you know there are two (at least) ways to get the stored value of the property of InterSystems IRIS class if you know the ID of an instance (or a record).

1. Get it by as a property of an instance with "Object access":

ClassMethod GetPropertyForID(stId As %Integer) As %String

{

set obj=..%OpenId(stId)

return obj.StringData

}

2. Get it as a value of a column of the record with "SQL access":

18
0 1291
Question Colin Nagle · Jul 4, 2019

Hi All,

I'm just taking a look at IRIS and what it has to offer, and if this is something the organisation I work for should be looking to take advantage of.

I think I've come across an early sticking point, and I wondered if anyone knew of any options.

The front end (.Net, mostly C#) codebase makes extensive use of the object binding through generated proxy classes, and I see that this option is omitted from the IRIS documentation (Cache: https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GBMP IRIS: https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.

2
0 466
Article Daniel Kutac · Apr 7, 2016 1m read

Presenter: Dan Kutac
Task: Use a common login identity and a central mechanism of authentication across environments from multiple entities
Approach: Provide examples and code samples of an application environment using OpenID Connect and OAuth 2.0
 

Description: In this session we will demonstrate an application environment using OpenID Connect and OAuth 2.0. Hear how this is done and what options you have; and yes, you get to keep the code.

Problem: How to use a a common login identity (e.g. Facebook credentials) and a central mechanism of authorization cross environments from multiple entities.

Solution: Create awareness and interest in using OAuth 2.0

Content related to this session, including slides, video and additional learning content can be found here.

2
0 771
Question David.Satorres6134 · Jul 3, 2019

Hello all,

We recently moved our workstations to Windows 10 and so we updated all our local installations to IRIS (servers already run IRIS 2019.1). Now we are trying to connect our pyCharm to IRIS but we can't succeed.

In our ancient Ensemble installation we used intersys.pythinbind3 system, but I realized that with IRIS this is not provided. So I finally found the Welcome to Python QuickStart page (https://learning.intersystems.com/course/view.php?id=1113&ssoPass=1) and I'm trying to connect using pyODBC.

2
0 758
Article Alexander Koblov · Jul 1, 2019 2m read

It’s often useful to make changes inside the current transaction, that would not be rolled-back if transaction is rolled-back. For example to do some logging.

This can be achieved by using global that is mapped to temporary database -- IRISTEMP. All globals that start with ^IRIS.Temp* are mapped to IRISTEMP by default. Problem with such approach is that IRISTEMP is cleaned on InterSystems IRIS restart, so this log is lost.

What else you can do is -- suspend transaction temporarily, do the logging, and then resume the same transaction.

8
1 650
InterSystems Official Andreas Dieckow · Jun 11, 2019

The 2019.2 version of InterSystems IRIS Studio is now Generally Available!

InterSystems IRIS Studio 2019.2 is the first release of our cross-product Studio development tool.  It can connect to InterSystems IRIS servers and also to Caché/Ensemble servers, and behaves appropriately for each.  This helps developers that want to work across both sets of products as well as those that want do develop against containerized IRIS using Studio.

IRIS Studio is a separate download that runs on Microsoft Windows (Windows Server 2012, Windows Server 2016, Windows Server 2019, and Windows 10 for x86-64).

3
0 4883
Article Eduard Lebedyuk · Apr 12, 2019 1m read

This series of articles would cover Python Gateway for InterSystems Data Platforms. Leverage modern AI/ML tools and execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment:

  • Execute arbitrary Python code
  • Seamlessly transfer data from InterSystems IRIS into Python
  • Build intelligent Interoperability business processes with Python Interoperability Adapter
  • Save, examine, modify and restore Python context from InterSystems IRIS

Index

The plan for the series so far (subject to change).

11
9 3169