Article Daniel Aguilar · Feb 12, 2023 6m read

Hi! recently I have to apply api-key validation to a web app with a lot of endpoints and I'm going to tell you how I did it in a centralized way.

I'm going to explain you how we can apply in a generic way (or not) api-key validation to all the endpoints of our web app.

For this feature I take as a template the class Base.cls of this repository iris-rest-api-template

I modified a bit this class to be able to check api-key security. The idea is that in your features you copy this class in your projects and you extend it for your own implementations.

0
2 678
Announcement John Murray · Feb 12, 2023

It's not too late to strap into the DX Jetpack for VS Code, take it for a test flight, and consider voting for it.

Online demo on Gitpod is HERE.

Ignore any initial notifications about ports being opened.

The ServerDiff extension will ask for permission to reinstall itself in order to use the `quickDiff` API proposal that it relies on. Click 'Yes'.

Open the README.md by double-clicking on it, thenshow as a preview (command is "Markdown: Open Preview", shortcut is Ctrl + Shift + V).

Enjoy your flight! Comments welcome below.

0
0 109
Article Lorenzo Scalese · Feb 7, 2023 9m read

Hi Community,

In the first part, we describe all packages, used libraries and REST services.

Now, I would like to add some details about converter and validator services.

By default, OpenAPI-Suite sends an HTTP request to converter.swagger.io if the specification version is less than 3.0 and another HTTP request to validator.swagger.io to simplify the structure of the specification document.  

Although the usage of online utilities is convenient, in some cases it could be better to have our own instance of the converter and validator.  For example, if OpenAPI-Suite is provided on a server in an organisation for ObjectScript developers, it may be preferable to avoid requests to external services (privacy, avoid request rate limits). 

Just run: 

docker run -d -p 8085:8080 --name swagger-converter swaggerapi/swagger-converter:latest
docker run -d -p 8086:8080 --name swagger-validator-v2 swaggerapi/swagger-validator-v2:latest
2
2 597
Discussion Stefan Cronje · Feb 10, 2023

Hi Community,

Please read this when you have the time and keep an open mind. Also, you are welcome to tell me it is a terrible idea.

The main reason for this post

If you look at NPM, it has 1.3 million packages. Now ask yourself, is this an achievement or a nightmare?
How many of those packages are no longer supported?
How many of those packages break compatibility on version changes?
How do you know which one to use? 

My opinion on the purpose of Opensource

13
2 368
Article Muhammad Waseem · Feb 10, 2023 5m read

Hi Community,

This article is a continuation of my article about  Getting to know Python Flask Web Framework   

In this article, we will cover the basics of topics listed below:

1. Routing in Flask Framework
2. Folder structure for a Flask app (Static and Template)
3. Getting and displaying data in the Flask application from IRIS.

So, let's begin.

0
0 1924
Announcement John Murray · Feb 10, 2023

I just released an update of the gj :: codeSpex extension containing a new feature - Exclusions.

There's now a short video demonstrating how exclusions can help you focus on the packages you're less familiar with. The video also illustrates how with the ObjectScript Class View extension you can easily explore the inheritance of your classes.

Both extensions are members of the DX Jetpack, my entry in the 2023 Developer Tools contest. Voting closes very soon, so if you like what I've created please encourage me to do more by VOTING FOR ME here.

0
0 205
Question Jeffrey Drumm · Feb 10, 2023

I've been trying for a while now to get OS authentication working on IRIS running on Ubuntu 20.04 and subsequently 22.04. I have the following authentication methods enabled for %Service_Terminal:

  • Operating System
  • Password
  • Operating System Delegated Authorization

And i have these options selected in Authentication/Web Session Options:

But when logging in via iris session <instancename> I am always prompted for a username and password. I am logged into the operating system with a username that matches my IRIS username, and the same configuration and login method works fine on Red Hat 8.5.

2
0 316
Announcement Laurel James (GJS) · Feb 10, 2023

If you haven’t already please give @John Murray your vote in the Developer Tool contest >> http://bit.ly/3XcxyeS


🚀 DX Jetpack boosts your developer experience when using VS Code with InterSystems platforms. 🚀


This extension pack includes: 

gj :: codeSpex - showing help using VS code's commenting feature.

 

ObjectScript class view - View and navigate all class members plus where they are inherited from.

 

ServerDiff - See the difference between the code you are editing in VS Code and the server copy.

 

You can vote here >> http://bit.ly/3XcxyeS

1
0 235
Article Henrique Dias · Feb 9, 2023 3m read

Hey community! 

It's time to elevate your unit tests to the next level with iris-TripleSlash new solo feature!

We are bring to the game Setup and Tear down events!
Just add description on class, with special tags like:

  • beforeAll
  • beforeOne
  • afterAll
  • afterOne

The tripleSlash will turn it to:

  • OnBeforeAllTests
  • OnBeforeOneTest
  • OnAfterAllTests
  • OnAfterOneTest

And that's not all! The new double dot abbreviation feature allows you to effortlessly call methods and simplify your code, i.e.:

///<example>/// Write ..TheAnswerForEverything()/// 42///</example>
6
0 384
Question Jude Mukkadayil · Jan 31, 2023

Hi,

      Can anyone please help me how to use regular expression/wild character on a sql query  for a pattern like C00.0 to C00.9, C01.0 to C01.9  and so on until C77.0 to C77.9  .

Thanks for your help

Thanks

Jude

3
0 382
Question Mark OReilly · Jul 18, 2022

I'm not sure why on some message you cannot edit/resend and change the inforatmation in the message 

i.e. 

Property property1As Messages.MesaageType1;

Property property2 As Messages.MesaageType2;

Property property3 As list Of Messages.MesaageType3;

All extend Extends (Ens.Request, %XML.Adaptor)

is there anything we are missing? 

1
0 309
Article Anastasia Dyubaylo · Jan 26, 2023 1m read

Hello Community,

Some of you have passed the InterSystems Official Certification and would like to get a nifty green tick on your profile avatar  

and all your certificates in your DC profile so that others know that you know... you know what we mean wink

So, to add certification to your DC profile, you need to take 3 easy steps:

1️⃣ Go to your DC profile 

2️⃣ Go to the InterSystems Certification section

3️⃣ Click on the Load my certification(s) button 

and that's it!  

5
0 471
Article Yubo Mao · Feb 3, 2023 3m read

Overview

With the gradual improvement of hospital information construction, there are more and more business interfaces in hospitals. Due to the influence of various factors (network, consumer system, etc.), the data processing of business interface may cause excessive message accumulation and even the situation of interface card congestion, which affects the normal business development in the hospital. Therefore, the monitoring of the queue of business interface components becomes more and more important.

2
0 614
Discussion Evgeny Shvarov · Feb 9, 2023

Hi folks!

I'm playing with IRIS interoperability at the moment and it turned out that Data Transformation cannot be the element of production by itself.

It can be called either from data rule or from business process.

But why? 

What if I just want to change the message with the transformation and transfer the message somewhere else? Why the overhead with Rule or Business process?

1
0 216
Article Evgeny Shvarov · Jun 24, 2020 3m read

Hi Developers!

Suppose you have a persistent class with data and you want to have a simple Angular UI for it to view the data and make CRUD operations.

Recently @Alberto Fuentes described how to build Angular UI for your InterSystems IRIS application using RESTForms2. 

In this article, I want to tell you how you can get a simple Angular UI to CRUD and view your InterSystems IRIS class data automatically in less than 5 minutes.

Let's go!

3
4 1368
Article Ricardo Paiva · Feb 9, 2023 3m read

Schematron is a rule-based validation language for making assertions about the presence or absence of certain patterns in XML documents. A schematron refers to a collection of one or more rules containing tests. Schematrons are written in a form of XML, making them relatively easy for everyone, even non-programmers, to inspect, understand, and write

0
0 1506
Announcement Anastasia Dyubaylo · Jan 23, 2023

Hey Developers,

Thank you so much for staying with InterSystems Developer Community for yet another year! 

Day in and day out our team is trying to make it better and more useful for each and every one of our 12K+ members!  

We'd like to know how useful the Developer Community is for you at this point. Please take a few moments to let us know what you think and what could be improved: 

👉🏼 InterSystems Developer Community Annual Survey 2022 👈🏼

Note: The survey will take less than 5 minutes to complete.

1
1 213
Question Norman W. Freeman · Feb 8, 2023

I use the following code (which is a simplified version of what happen on a server) :

tstartfor I=1:1:N {
  set test = ##class(Test.Test).%New()
  set test.ID = I
  do test.%Save() //create a "Exclusive_e->Delock" lock on ^Test.TestD(..)
}
hang 5tcommit//locks are removed here

Test.Test is a persistent class that inherit from %Persistent :

Class Test.Test Extends %Persistent
{
   Property ID As%Integer [ Required ];
   Index IDKEY On ID [ IdKey ];//...      
}
6
0 416
Article Muhammad Waseem · Feb 9, 2023 2m read

Hi Community,
In this article I will demonstrate below steps to add Interactive map and visualize geographic data to web application:

  • Step1 : Install Application
  • Step2 : Create CSP Page
  • Step3 : Extend dc.IrisGeoMap.Folium class
  • Step4 : Invoke DrawGeoDetails() Method

So Let us start.
 

Step1 : Install Application

First of all we need to install iris-geo-map application by using ZPM

zpm "install iris-geo-map"

0
1 416
Question Jaime Lerga · Feb 8, 2023

Recently i've been using Restforms2 to create a CRUD API for a project. But it lacks some advanced functionality that we need, so we have created a production with a REST WS which handles those advanced methods. That works great but there's a drawback, it does not have authentication. I would want to use the same authentication method as Restforms2 which is a basic auth using IRIS users and passwords. Searching for this, i have found a similar topic. It uses $SYSTEM.Security.Login(user, pass) in a similar manner to create a token. This works flawlessly if you use an account with all

4
0 1035
Article Yubo Mao · Feb 7, 2023 3m read

1. Overview

With more and more hospital applications built, business interface data processing may be affected by a variety of factors (network, consumer systems, etc.), there is an excessive accumulation of messages or even cause interface lag, affecting the routine performance of hospital IT systems , so the monitoring of the business interface components queue is increasingly important.

While current Intersystems IRIS platform's built-in queue monitoring  only displays real-time queue information for interface components, which is limited in providing the queue data information needed by hospitals. The queue monitoring component program is based on the Intersystems IRIS platform and can monitor all interface components and display component queue information within 24h of the component, as well as query component historical queue data by setting a time period to better meet the needs of current in-hospital applications.

1
0 392
Question Tani Frankel · Feb 8, 2023

Does anyone happen to have a sample Configuration (CPF) Merge file that includes Action parameters setting up authentication methods (e.g. Password, Kerberos) for certain Services and Web Applications (e.g. via the ModifyService or Modify/CreateApplication AutheEnabled property)?

Thanks!

2
0 295
Announcement Evgeny Shvarov · Jan 26, 2023

Here're the technology bonuses for the InterSystems Developer Tools Contest 2023 that will give you extra points in the voting:

  • Embedded Python usage
  • Docker container usage
  • ZPM Package Deployment
  • Online Demo
  • Code Quality pass
  • Article on Developer Community
  • The second article on Developer Community
  • Video on YouTube
  • First Time Contribution
  • Community Idea Implementation

See the details below.<--break->

Embedded Python - 3 points

Use Embedded Python in your application and collect 3 extra points. You'll need at least InterSystems IRIS 2021.2 for it.

Docker container usage - 2 points

4
0 451