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

Announcement Evgeny Shvarov · Jun 9, 2019

Hi Community!

I have very good news for the developers, who are using GitHub to host projects with InterSystems ObjectScript.  GitHub introduced the support of InterSystems ObjectScript this week!

How does it work?

Now all the .cls files in your repository are considered as InterSystems ObjectScript and highlighted according to the language rules of ObjectScript. For example WebTerminal, Samples-Data.

7
1 1138
Article Robert Cemper · Jun 10, 2019 1m read

During testing your code you are often confronted with the need to examine
the actual content of an object. Either using ZWRITE or $system.OBJ.Dump()
you get a picture of simple properties as "--- attribute values ---"
while "--- swizzled references ---" are more confusing than informative
and with "--- calculated references ---" you are just left in the lurch.

This small helper class allows you to dump an object to terminal or
e.g in background to some stream for later review.
By default, you see just properties with content,

   DO ##class(Z.obj).dumpToDevice(obj) 

or if explicitly requested all

0
1 1184
InterSystems Official RB Omo · Jun 6, 2019

InterSystems has corrected a defect that can result in application data integrity issues following an abnormal shutdown.

This problem exists for:

  • Caché and Ensemble 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core version 2018.1.2
  • InterSystems IRIS Data Platform 2019.1
  • InterSystems IRIS for Health 2019.1
  • HealthShare Health Connect 2019.1

The defect breaks the journal sync guarantee that all updates in the journal buffer have been written to the journal file. The failure is silent: it does not generate an error message and there is no entry about it in any log file.

Specifically,

0
0 577
Question Muhammad Awan · Apr 5, 2019

Greetings,

Is there any default exception handling feature available in Zen report? I am working on a report that comprises of several different composites report (%ZEN.Report.Display.composite). I am incorporating several composites into the main Zen report, If any composite fails or encounters an issue such as issue with the sql statement or class method which i am using to fetch the data, the report (pdf) fails and shows a Zen error. It is very hard to find an exact composite or code that causes the error as Zen report displaying a generic Zen Error without any details.

So, I am adding

3
0 709
Question Krishnamuthu Venkatachalam · May 30, 2019

Hi All,

I have a REST dispatcher class in which I enabled the Parameter HandleCorsRequest = 1;

I can able to access the API using Postman, but not with my web application. It throws the below error.

Access to XMLHttpRequest at 'https://ec2-10-200-XXX-X.com/REST/MRM/get/Message?MessageCode=ERR0006&L…' from origin 'https://ec2-80-106-XX-XXX..com' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Is this something need to be modified in the apache config file ?

2
0 1869
Announcement Benjamin De Boe · May 30, 2019

Hi,

While we're working on a new data product supporting the analytics development process, we'd like to test some of the UX (User eXperience) design elements on a real audience. If you've got some battle scars from earlier analytics work and are interested in participating, please complete this survey and we'll get in touch when we have something to show!

Feel free to share this survey with your data-savvy friends and colleagues if you think they match the profile.

Thanks in advance for your participation!

0
0 289
Question Krishnamuthu Venkatachalam · May 26, 2019

Hi Guys, 

I have a DB server (ser-app-db) where IRIS is installed as server.

I have a Web server (ser-app-w) where IRIS is installed as web server and configured as CSP gateway.

I followed the configuration guide and ser-app-w perfectly display the CSP and CLS pages.

But that's not working for my REST service, for exemple with the REST sample:

http://ser-app-db/REST/CRM/Get?ReqID=123(GET): work and show the request

http://ser-app-w/REST/CRM/Get?ReqID=123(GET): return a 404.

I am using Apache server in Linux box.

I am not sure what I am missing in the config.

httpd.conf file (pasted required part):

##

3
2 1508
Article Sergey Kamenev · May 23, 2019 9m read

PHP, from the beginning of its time, is renowned (and criticized) for supporting integration with a lot of libraries, as well as with almost all the DB existing on the market. However, for some mysterious reasons, it did not support hierarchical databases on the globals.

Globals are structures for storing hierarchical information. They are somewhat similar to key-value database with the only difference being that the key can be multi-level:

1
3 1045
Question Kurro Lopez · May 22, 2019

Hi all,

I am trying to delete an item from a production through a routine that installs and disables items.

To add any item, I have no problems, even to enable and disable some particular items.

The problem arises when I try to eliminate the production item, because when it does, the production become unstable and only works again when this item is added again in the collection (or the item is deleted manually in the production.cls)

This is my code attempt:

set productionName = "MyApp.production"

set itemDelete="MyApp.BP.item"

if
11
0 910
Article Sergey Kamenev · Jul 7, 2017 7m read

In the previous parts (1, 2) we talked about globals as trees. In this article, we will look at them as sparse arrays.

A sparse array - is a type of array where most values assume an identical value.

In practice, you will often see sparse arrays so huge that there is no point in occupying memory with identical elements. Therefore, it makes sense to organize sparse arrays in such a way that memory is not wasted on storing duplicate values.

In some programming languages, sparse arrays are part of the language - for example, in J, MATLAB. In other languages, there are special libraries that let you use them. For C++, those would be Eigen and the like.

Globals are good candidates for implementing sparse arrays for the following reasons:

3
1 1586
Question Rizmaan Marikar · May 14, 2019

Hi All,

I have two tables LB_TestSet and LB_Transfer

LB_Transfer has a list if TestSet row IDs, so i am doing the following join

SELECT 
LBTS_RowID,
,LBTS_CollectedDate
FROM SQLUser.LB_TestSet 
JOIN SQLUser.LB_Transfer ON ($LISTBUILD(LBTS_RowID) %INLIST LBTR_TestSetList)
WHERE LBTS_CollectedDate BETWEEN '2019-01-01' AND  '2019-05-10'

 

Without the date filter the query returns data, but if i add the date filter no data is returned

I also tried using %INTERNAL, %EXTERNAL TO_DATE('2009-01-01','YYYY-MM-DD')

if i filter by RowID for example the filters work.(this is to make sure that the where

2
0 556
Article Niyaz Khafizov · Jul 27, 2018 4m read

Hi all. Today we are going to upload a ML model into IRIS Manager and test it.

Note: I have done the following on Ubuntu 18.04, Apache Zeppelin 0.8.0, Python 3.6.5.

Introduction

These days many available different tools for Data Mining enable you to develop predictive models and analyze the data you have with unprecedented ease. InterSystems IRIS Data Platform provide a stable foundation for your big data and fast data applications, providing interoperability with modern DataMining tools. 

In this series of articles we explore Data mining capabilities available with InterSystems IRIS.

2
2 1542
Article David E Nelson · Apr 26, 2019 13m read

The last time that I created a playground for experimenting with machine learning using Apache Spark and an InterSystems data platform,  see Machine Learning with Spark and Caché, I installed and configured everything directly on my laptop: Caché, Python, Apache Spark, Java, some Hadoop libraries, to name a few. It required some effort, but eventually it worked. Paradise. But, I worried. Would I ever be able to reproduce all those steps? Maybe. Would it be possible for a random Windows or Java update to wreck the whole thing in an instant? Almost certainly.

Now, thanks to the increasingly

3
7 1112
Announcement Andreas Schneider · May 14, 2019

Hi! I'm Andreas, the developer of Caché Monitor.
Caché Monitor is a database tool with special feature for InterSystems Caché. Since today also with support for InterSystems IRIS!
A public pre release is available for download: https://www.cachemonitor.de/cache-monitor-beta-releases/

 

Please give it a try!  Feedback (email preferred) is always very welcome!

Thanks for your time!

Andreas

0
1 416
Announcement Anastasia Dyubaylo · May 13, 2019

Hey Community!

It's time again for good tidings for you! 

For the first time, InterSystems will be part of the WeAreDevelopers World Congress in Berlin, Germany, which brings together developers, IT experts and digital innovators to discuss and shape the future of application development.

From 6 to 7 June, we’re ready to welcome you at our booth #A5 and show you how InterSystems technologies enable intelligent interoperability and accelerate the creation of powerful, data-driven applications.

Schedule your individual meeting with InterSystems @ WeAreDevelopers in Berlin by quickly filing out the form on our event page [https://dach.intersystems.de/WeAreDevelopers2019] – the first three applicants will receive a FREE ticket!

0
0 395
Question Cliff Akers · May 9, 2019

I am attempting to use Node.js to perform a simple query against the database using some identifying information to get the ID. This is what I am attempting to do:

var irisobj = require('iris');
var myData = new irisobj.IRIS();
var result = myData.open({ path:"C:/InterSystems/IRIS/Mgr",
                       username: "USERNAME",
                       password: "PASSWORD",
                       namespace: "YOURNAMESPACE"
            }
        );

var result = myData.invoke_classmethod({class: "%SYSTEM.SQL", method: "Execute", arguments: ["SELECT TOP 1 ID FROM SOMETABLE"]});
console.log(result);

myData

3
0 706
InterSystems Official Jeff Fried · May 9, 2019

The preview release of InterSystems IRIS 2019.2 is now  available - give it a try!

 

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

The build number for these releases is 2019.2.0.100.0.

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

  • Addition of the IRIS Native API for Python and Node.js and relational access for Node.js
  • Simplified sharding architecture and flexible sharded schema design
  • Support for the new PowerBI connector for InterSystems IRIS
  • New look in the
2
0 686
InterSystems Official Thomas Carroll · Apr 5, 2019

Hi Community!

We're pleased to announce that that InterSystems IRIS Community Edition is available on the Docker Store! InterSystems IRIS Community Edition is the no-cost developer edition designed to lower the barriers to entry to get started with IRIS. Now that it is listed on the Docker Store, running an IRIS Community instance is as easy as -

docker run -d -p 52773:52773 store/intersystems/iris:2019.1.0.511.0-community

For more on running IRIS in containers check out our Documentation or one of the many Community posts on the topic!

14
2 3901
Question Amir Samary · May 7, 2019

Hi!

I was trying to create a query that can be exposed as a stored procedure (function actually) that would return a resultset with a random number of columns. 

Unfortunately, it seems that unless I specify the ROWSPEC annotation on the Query method, I won't get any columns exposed. I was hoping to implement QueryNameGetInfo method and specify the names and number of columns I would be returning dynamically. But it seems that GetInfo information is simply ignored.

Here is my code:

Class Test.Test
{
	ClassMethod MyCustomQueryClose(ByRef qHandle As %Binary) As %Status
	{
	    Quit $$$OK
	}
5
0 763
Question Daniel Kutac · Apr 30, 2019

Hello,

I have a very simple web service that I'd like to secure via SAML Authorization with X.509 Certificates. I am, however struggling with documentation and my lack of cryptographic skills. (I do this just for educational purposes now, but need to use it in the future)

Does anyone have an example that shows how to construct a SOAP Client with adding all necessary security headers manually or point me to a decent learning resource?

Thank you very much!

1
2 1423
Question Dmitry Maslennikov · May 6, 2019

Well, we now have two different platforms Caché and IRIS. With so many changes, that it makes so many difficulties to have the same sources for both platforms. I'm not arguing about the reasons for it. Some of the changes are really reasonable.

It's good when I can import code from Caché to IRIS and get it worked after all background job was done. In Caché we have %CacheStorage type used for Storages. In IRIS it automatically converts to %Storage.Persistent. So, If I develop on IRIS, I will have incompatible sources for Caché.

So, it is one of the problems, and I expect more.

6
0 614