Announcement Anastasia Dyubaylo · Nov 22, 2021

Hey Community,

Welcome to the second InterSystems technical article writing competition! Write an article on any topic related to InterSystems technology:

🎄 InterSystems Tech Article Contest: Christmas Edition 🎄

Duration: November 25 – December 25, 2021

Prizes for everyone: Everyone who publishes an article on Dev Community during this period will receive a special prize pack!

Main Prizes: Apple AirPods Max / Oculus Quest 2 (VR Headset) / Amazon Kindle / Apple AirPods Pro / Raspberry Pi

Join our new contest and your content will be seen by over 55K monthly readers! Details below. 

10
1 1056
Article Iryna Mykhailova · Dec 22, 2021 6m read

As you can see in my profile I teach at a university and I wanted to share my take on teaching IRIS (or Caché before it).

It’s been some time but I remember seeing a series of articles by @Yuri Marx earlier this year about the course “Developing with InterSystems Objects and SQL”. He actually gave a brief description of what’s done on Day 1, Day 2, and Day 3 with comments from instructor @Joel Solon. And I thought to myself, it may be interesting to share my experience.

6
2 459
Announcement Jose-Tomas Salvador · Dec 22, 2021

Just wanted to give visibility to a place in GitHub where everybody can publish Enhancement Requests, Ideas and Innovations that would be great to have in our InterSystems Technology ecosystem.

If you want to add your enhancement request, or take a look and see if there is already there and vote for it, contribute, etc..., click on this link. That doesn't guarantee that Product Management decides to go on that direction, they have to balance many things to decide our products roadmap, but having the direct input from our Community is invaluable.

Come on! Go for it and make your suggestions!

1
0 310
Question Jimmy Christian · Jun 16, 2021

Hello Community,

I am trying to insert multiple values in a table. Below is the simple sql statement.

Insert Into TableX

values ('Name', 'Address', 'Phone')

How can i do multiple inserts(rows) in one single statement?

Values are not in another table, so i cannot use Select into.

Thanks,

Jimmy Christian.

14
0 1107
Article José Pereira · Dec 22, 2021 5m read

What about having your IRIS REST APIs scanned every push you did and being reported on possible vulnerabilities? This is what I am going to show you in this article.

Recently, we had the Security Contest with amazing applications and examples showing how to improve security on your IRIS solutions. One of such examples was the zap-api-scan-sample, made by me and my colleague Henrique Dias. Our application shows how to use the OWASP ZAP API scanner to perform security tests on your REST APIs OpenAPI definitions generated by IRIS.

Now, we did an improvement on such example, using ZAP GitHub Action

0
0 1617
Article José Pereira · Dec 21, 2021 8m read

Have you tried the InterSystems learning platform lab for IRIS IntegratedML? In that lab you can train and test a model on a readmission dataset and be able to predict when a patient will be readmitted or not, or calculate its probability of being readmitted.

You can try it without any installation on your system, all you have to do is start a virtual lab environment (Zeppelin) and play it around!

In this article we’ll use this lab to briefly introduce you to IntegratedML, presenting you the problem to be handled, how to use IntegratedML to create a readmission prediction model, as well as some

2
2 692
Article Vivian Lee · Dec 15, 2021 3m read

Setting the Scene

I was editing the properties of a persistent ObjectScript class the other day and noticed that the storage definition wasn't updating to reflect my latest changes.

In this case, I deleted a property that was no longer needed from the class definition, saved, recompiled, and still saw it in the storage definition.

No problem, I thought. If the storage definition gets autogenerated on compile, I can just delete it and recompile the class. Sure enough, after doing this, I no longer saw the deleted property in the storage definition.

There, problem solved... right?

(cue wrong answer

7
5 892
Question Fiona Griffiths · Dec 20, 2021

I want to make the LOCATION for a %Stream.FileCharacterGzip property we have in a class parameterisable (as in stored in a global), so it can be different for different customers. Is that possible?  I've tried doing it a few different ways:
Creating a parameter
Parameter STREAMLOC = {^websystem("auditstream-location")};
then I tried to reference that in the 

Property HTMLZIPDoc As %Stream.FileCharacterGzip(LOCATION = ..#STREAMLOC);

but the compiler doesn't like that. 

I've also tried adding something to %OnOpen and %OnNew:
Method %OnOpen() As %Status [ Private, ServerOnly = 1 ]
{
    S

4
0 281
Question John Nurmi · Sep 23, 2020

I need some help with unescaping a value in TXA 2 of an MDM message that I am writing to a variable, to be used in a filename for a PF. Would I use the method Unescape(pData) if so how can I use it in a transform to set the variable? The reason I need to do this is I need to use the name as file name when writing the PDF to a directory. The escape characters and invalid for file names .

5
0 785
Announcement John Murray · Dec 20, 2021

In my previous post I described how to install the pre-release of the Server Manager 3 extension and benefit from enhanced security for your stored credentials.

Now by upgrading to the latest release (1.2.7) of the InterSystems Language Server and opting in to the 1.3 pre-release of the ObjectScript extension you get the additional reassurance of being notified whenever either of those extensions try to access stored credentials for the first time.

0
0 282
Announcement Olga Zavrazhnova · Dec 17, 2021

I am so proud and excited to share this news! 

InterSystems Global Masters program 🎉 WON the 2021 Influitive BAMMIE Award for People’s Choice: Most Passionate Community  🎉 

Influitive Announcement with all Winners here
BIG thanks to you, our awesome Community members - you made this possible! We got this win together!
We will continue building the best engagement program for you, dear Community Members - more exciting things to come in 2022! Stay with us! 

No alternative text description for this image

13
0 523
Question David.Satorres6134 · Dec 17, 2021

Hello all,

I'm "playing" a little bit with IRIS as document database, as it seems really simple to use.

So far, creating a database and inserting documents is fine. Creating a Property so it can be indexed seems very useful and it works well when this property is created at the very beginning. But here my "problem": whenever a new property is added, how can the values be recalculated and inserted, so indices can be correctly updated? 

So far, I've only found as a solution opening and saving the documents :'( This is ok for a POC, but what when millions of documents are stored?

3
0 420
Article alex kosinets · Dec 9, 2021 2m read

Millions of professionals use a wonderful tool, spreadsheets, for engineering calculations and financial analysis. It attracts a user-friendly interface and clear data organization. Cell formulas provide rich opportunities for automating calculations. No programming is required. (For example, Microsoft Excel)

But in order to expand the scope of the tool, it is necessary to increase the dimension of the tables and the speed of calculations.It is necessary to create a single, common database for a group of users.Cell formulas should be able to do everything.

2
0 587
Question Matthew Giesmann · Dec 16, 2021

I have an auditing class that defines some sqlComputed properties and can be extended by other persistent classes to enable auditing of its properties.  

Class Audit.ModifiedTracker [ abstract ] {
/// Last time this record was saved
Property LastModifiedTime As %TimeStamp [ SqlComputeCode = {Set {*}=$zdt($zts,3)}, SqlComputed, SqlComputeOnChange = ("%%INSERT", "%%UPDATE") ]; 
/// User responsible for modifying record
Property LastModifiedUser As %String [ SqlComputeCode = {set {*} = ..GetModifiedUser()}, SqlComputed, SqlComputeOnChange = ("%%INSERT", "%%UPDATE") ];

Now, I would like to

3
1 346
Question Evgeny Shvarov · Dec 10, 2021

Hi folks!

I'm curious if it is possible to change the class method to another class?

I call a method of a system class  to generate another class. But there is a bug/feature in a library class, so I need to tweak a bit the generated method, e.g. add additional parameter and change the line to "if" the parameter.

I hope to do this programmatically after class generation and change the code in a way I like.

What are the options?

7
3 682