Currently, the SQL privileges (SELECT, INSERT, UPDATE, DELETE) are managed at the tables level, which can be very tedious when you have to administer many roles in an organization, and need to keep them sync with a constantly evolving data models.
By managing privileges at the schemas level, will allow to give SELECT and other DML privileges to *all* or *several schemas* to a role|user, fixing the need to manually synchronize the new tables|views to the roles.

0 6
0 268

Hi, Community!

Open Exchange (OEX) is getting more and more popular and more and more developers consider publishing their apps in the public package manager registry.

This is really great!

So the topic of thoughtful naming convention is getting more important and even critical. Let's discuss?

2 6
1 496

It's been a while since the new UI for Productions and DTL was published as a preview and I would like to know your opinions about it.

WARNING: This is a personal opinion, totally personal and not related with InterSystems Corporation.

I'm going to start with the Interoperabilty screen:

Production screen:

The style is sober and without frills, following the line of cloud services design, I like it.

3 5
0 168

I am sure I came across this in the past with Cache and just saw this again in IRIS.

When rebuilding or swapping a DAT file for a database it retains the Resource of the DAT file, not the Resource of the Database it is being used for.

For instance, if I have a local Database called APP with a resource %DB_APP and I want to refresh the data from another Database called TEST that has a Resource %DB_TEST I can just copy the DAT file from the TEST folder to the APP folder.

0 5
0 223

Hi,

InterSystems IRIS has long supported the obvious translation functions required to for converting to upper or lowercase to enforce case-insensitive string comparison (e.g. in ObjectScript with $zconvert) and sorting (e.g. with SQL collation functions, not to be confused with NLS collation). Customers in international contexts have at times used custom workarounds to also treat accent insensitivity or even more advanced normalization duct tape. We’re looking to address such use cases at the system and SQL level to increase convenience for this international audience, which is well represented on the Developer Community.

1 5
0 332
Discussion
· Jun 13, 2024
$ZTRAP vs Try/Throw/Catch

I'm scraping my way through some code that's been around for a while, and came across the use of $ZTRAP and (dear GOD) GOTO for trapping and handling errors.

In an effort to "modernize" it and make it, I don't know, less M-ish (sorry old-timers!), I'm replacing it with Try/Catch blocks.

Some questions:

  1. Is this a dumb idea?
  2. Anything I should look out for?
  3. Did I hurt anyone's feelings?

And if the answer to number 3 is Yes, my deepest apologies ... I love you guys! 🤩

0 5
0 344

For me the best moments were:

1 - Global Masters WON the 2021 Influitive BAMMIE Award for Most Passionate Community

2 - Tech Article contests

3 - InterSystems Programming Contests

4 - 10,000+ DC members

5 - Partner directory and business services

6 - 500+ applications on OEX

7 - Open Virtual Summits

8 - Prizes from GM points

9 - Free online learning courses

10 - Discord channels

11 - Innovations from IRIS Data Platform

12 - Multilanguage communities, including portuguese, spanish and chinese community

5 4
0 179

Hi folks!

We have a bunch of templates on OEX that provide a handy foundation for building a particular application with IRIS. And the basic principle of each and every template is that we take vanilla IRIS images, load code, and files into the image using Dockerfile, and create a new docker image as a solution. And then we develop running this image and rebuilding it when returning to development.

Some developers ask me why we need to build the docker image to work with the code. Indeed, if at the end of the day I need to develop a ZPM package and not a docker image why don't run the vanilla image and load the code and everything in it?

The problem I have with the building image approach is that often I can wait a lot to build an image and it fails on some Objectscript problem in the source that I cannot fix as the image is not building. and

Any thoughts? How do you develop with docker?

1 4
1 445
Discussion
· Mar 4, 2022
Code Golf: Label Validation

New month, new code golf!

You will receive a string with a label code with numbers and letters.
Our challenge is to check if this code begins with 1, 2, or 3 and ends with A, B, C, S, or R.
It should return true(1) if so or return false(0) otherwise.
As usual shortest solution wins.

Input

"198739A79D9R"

Output

1

6 4
1 364

I'm not sure what the purpose of this is, but the Management Console causes the browser to refresh periodically. If you're in a form or an editor such as the DTL or Routing Rule editors, you may lose work unless you save frequently. This did not occur in Caché 2018 and earlier releases.

I've had a couple of incidents where I've created a number of rules in the DTL editor, answered the phone or stepped away for a few minutes, then come back to find any work since the last save erased.

I've noticed this in both 2019 and 2020 releases of IRIS.

Heads up!

0 4
1 540

The IRIS Installation Guide for Linux, Installation Directory section, says "Do not choose the /home directory, any of its subdirectories, or the /usr/local/etc/irissys directory." but there are no suggestions or any default.

What are your opinions on this? For example, I see that IRIS in a Docker container is installed in /usr/irissys. I'm wondering why that directory was chosen.

The official Linux filesystem docs say:

1 4
0 234

Hi Developers!

Want to raise security discussion today!

Let's discuss how InterSystems security for applications works. In general, the concept is clear: we have Resources (what to protect), Roles which combine a set of privileges and accesses to Resources and Users which can have this or that Role.

But there is also a concept of Application which also could have a Role.

So you either provide a Role for a User or for an Application.

What do you use in production? What is your strategy and why? Pros, cons?

0 4
0 244
Discussion
· Apr 16, 2024
Converting from 2018 to IRIS 2024

Hi Guys,

I'm new to IRIS and I'm converting from Ensemble 2018 to IRIS but not sure how to convert my cache.data file to IRIS.dat, I copied my cache.data to a new folder then went to IRIS management portal and created a new database and specified the directory to where my cache.data and saved and I thought that IRIS will automatically convert cache.dat to IRIS.dat but instead it created a new empty IRIS.dat, I guess I was wrong in my assumptions !?

0 4
0 270

Hi Interoperability experts!

Recently noticed an interesting conceptual discussion in our Interoperability Discord channel to which I want to give more exposure.

All we know that typical InterSystems Interoperability production consists of the following chain:

Inbound adapter->Business Service->Business Process->Business Operation->Outbound adapter.

And Business Process (BO) here is always considered as a passive "listener" either on port/folder/rest API for an incoming data.

2 4
0 315

I ask ChatGPT periodically to produce ObjectScript or plain MUMPS code for string manipulation, or for implementing known algorithms etc. Occasionally, it does make mistakes or uses non-existing class members but generally not that bad. Is there any tutorial on the subject of using AI for coding, ideally specifically for ObjectScript/MUMPS? Any AI productivity advice, or tricks you are using, or another AI flavor?

Thanks in advance,
Anna

0 4
0 112

Hello everyone,

As someone who is new to the world of InterSystems technology, I have been looking for the best resources to learn more about it.

I have heard great things about InterSystems technology, particularly its speed and scalability, and I want to make sure I have a solid understanding of it before diving in further. From what I understand, the official InterSystems courses cover a wide range of topics and are taught by experts in the field.

0 3
1 217

Hi Developers!

InterSystems IRIS stores everything in globals and if we use ObjectScript classes to persist data class documents globals it uses in storage. But if you use globals for calculations, temporary storages, for special indexes or for some other purposes - how do you document it?

Possible options which come to my mind:

1. Macro

#define Array ^MyGlobal

usage:

s $$$Array(1)=1

2. Class parameter

Parameter Array ="^MyGlobal";

Usage:

0 3
0 368

Hi Team, we are going to deliver a speech on a developer forum where most developers hv not used our tech before but using other database and integration technologies , Pls give us some key points on why they should adopt us and the benefits you can get, especially if you change your tech stack from others to IRIS. Thanks a lot!

2 3
0 192

Is anyone using the IPM client (e.g., running commands like zpm "install somepackagename") on an IRIS version earlier than 2022.1?

We're thinking about raising the minimum supported version so we can use Embedded Python in IPM. I'm curious if this would impact anyone. Of course, you'd be able to continue to use an earlier version of IPM.

0 3
0 105