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

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 1042
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:

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 1583
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')

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. 

2
2 1541
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.

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

3
0 703
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:

2
0 684
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 3900
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:

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 1421
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é.

6
0 613
Question Attila Toth · May 3, 2019

Hi All,

I'm trying to create a simple wrapper class around a JSON schema validator library, written in Java, and calling this functionality through the Java Gateway of IRIS 2019.1.

My Java wrapper class has a constructor like this:

public JSONValidator(char[] jsonStream, char[] schemaStream) { ... }

2
0 517
Question Sergey Kamenev · Apr 30, 2019

I follow the instruction on docker site.
I have next troubles:

  1. After changing password fom "SYS" to my pass I see on screen non removable "USER>". Standart commands "exit" and "quit" are not worked. Next actions is possible only in new terminal window.
  2. I need some extra tool in container. Where I try install (by example "apt-get install mc") I get "E: Package 'mc' has no installation candidate". I don't understand why standart ubuntu package manager do not work in Iris container.
7
1 585
Question Muhammad Awan · Apr 18, 2019

Hi Team,

I am using Angular 7 with angular material for my client application that connects and obtains Access token from IRIS Authorization Server (OAUTH 2.0).  The problem that I am facing right now is regarding this access token being exposed to browser and stores in the local storage of the browser.

Right now, I am having hard time finding an alternative but secure option to store access token on the server side (client WEB SERVER) instead of browser’s local storage. 

Following are the suggestions that I have googled recently, not sure if there is any better way that I need to explore.
 

1
0 1678
Question John Kumpf · Apr 23, 2019

Here's my current attempt:

Class Testing.PropertyParameters Extends %RegisteredObject
{
Property p1 As %String(MAXLEN = 5, myPropName = "myPropValue");
Method test()
{
   set ..p1 = 10
   //write ..p1.Parameters
   set p1 = ##class(%Dictionary.PropertyDefinition).%OpenId("Testing.PropertyParameters||p1")
   zwrite p1
   do p1.Parameters.SetAt("myPropValue", "myPropName")
   set key = ""
   for {
      set item = p1.Parameters.GetNext(.key)
      if (key = "") {
         quit
      }
   write !,"key: ", key,", Item: ",item
   }
   do p1.%Save()
   write ..p1.%GetParameter("myPropName")
   write !
}
}

I've visited:

4
0 693
Article Chao Liang · Dec 24, 2018 5m read

Terminal scripts can be used to run pre-designed commands on the terminal, like a batch file.  You can write anything that can be executed on terminal, like for loop, if else and so on,  inside Terminal scripts. In this article, I will show you how to call Terminal scripts, how to use parameters in Terminal scripts and how to avoid session disconnected when running Terminal scripts. If you have any information about how to use Terminal scripts or you have any feedback, please feel free to leave a comment.

1. Running Terminal scripts in Cache or IRIS

6
2 3821
Announcement Anastasia Dyubaylo · Mar 26, 2019

Hey Developers!

Do you want to reap the benefits of the advances in the fields of artificial intelligence and machine learning? With InterSystems IRIS and the Machine Learning (ML) Toolkit it’s easier than ever.

Join InterSystems Sales Engineers, @Sergey Lukyanchikov and @Eduard Lebedyuk, for the Machine Learning Toolkit for InterSystems IRIS webinar on Tuesday, April 23rd at 11 a.m. EDT to find out how InterSystems IRIS can be used as both a standalone development platform and an orchestration tool for predictive modelling that helps stitch together Python and other external tools.

1
0 562
Article Evgeny Shvarov · Apr 14, 2019 3m read

Hi guys!

Portrait of  Madame X, Gustave Caillebotte.

One of the features I like in InterSystems ObjectScript is how you can process array transformations in a specific method or a function.

Usually when we say "process an array" we assume a very straightforward algorithm which loops through an array and does something with its entries upon a certain rule.

The trick is how you transfer an array to work with into a function. 

One of the nice approaches on how to pass the information about an array is using $Name and Indirection operator. 

Below you can find a very simple example which illustrates the thing.

2
1 674
Announcement Anastasia Dyubaylo · Apr 17, 2019

Hi Community!

Good news! One more upcoming event is nearby.

We're please to invite you to join the "J on the Beach" – an international rendezvous for developers and DevOps around Big Data technologies. A fun conference to learn and share the latest experiences, tips and tricks related to Big Data technologies and, the most important part, it’s On The Beach!

We're more than happy to invite you and your colleagues to our InterSystems booth for a personal conversation. InterSystems is also a silver sponsor of the JOTB.

In addition, this year we have a special Global Masters Meeting Point at the conference. You're very welcome to come to our booth to ask questions, share your ideas and, of course, pick up some samples of rewards and GM badges. Looking forward to seeing you soon! wink

So, remember!

Date: May 15-17, 2019
Place: Palacio de Congresos y Exposiciones Adolfo Suarez, Marbella, Spain

0
0 302