Pre-requisite - Basic knowledge of ENSEMBLE and ObjectScript

My both previous sessions were related to OBJECTSCRIPT.
This time, we are going to add a flavour Ensemble/Healthshare,
to be informative and fast.

In this session we are going to discuss about -
"Informative and Fast WEB API VIA ObjectScript and Ensemble/HealthShare"

Web API can be REST or SOAP. We will taking example of SOAP in this session.
However, whatever I demonstrate today, will also be applicable for REST.

0 0
0 325
InterSystems Developer Community is a community of 17,824 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in July 2019!

New Applications

Metrics example published by David Underhill

A simple example of collating database and license metrics

Dynamic SQL to Dynamic Object published by David Crawford

ObjectScript function to convert any SQL query into a dynamic object

Cogs JSON Class published by Sean Connelly

Convert JSON to and from InterSystems ObjectScipt classes

Objectscript Roman Numeral Converter published by David Crawford

Converts numbers into roman numerals using ObjectScript

Random Read IO Storage Performance Tool published by Tony Pepper

Random Read IO Performance Tool for InterSystems IRIS Database

Port published by Rubens Silva

Port is a VCS-agnostic Caché Studio utility to export or import Caché files based on projects instead of namespaces

Forgery published by Rubens Silva

An auxiliary tool used to mimic requests to %CSP.REST and Frontier Router-based classes.

Log Production Queue Counts published by Robert Hanna

A simple scheduled task and persistent table for logging production queue counts.

EnsDemo Iris installer published by Guillaume Rongier

ENSDEMO port to IRIS without HL7 and DICOM examples

Anti CSRF CSP published by David Crawford

A method for mitigating anti CSRF attacks on CSP derived API calls

Frontier published by Rubens Silva

%CSP.REST on steroids. Frontier is a REST framework made with the purpose of reducing boilerplate code and imposing a clean coding style

Python Gateway Samples published by Eduard Lebedyuk

Examples of PythonGateway Usage. Python Gateway for InterSystems Data Platforms

2 0
0 136

Hi developers!

Every day coding with IRIS and docker I call the following 3 commands in VSCode terminal. Always the same for any projects:

docker-compose build   ; to build the container

docker-compose up -d   ; to run the IRIS in container

docker-compose exec iris iris session iris ; to open the IRIS terminal

Is there any way to map the key sequence which will type me the rest?

e.g.

0 2
0 464
Question
· Aug 1, 2019
DeepSee security issue

Hey Guys,

Have enabled DeepSee on my cache db via

Do EnableDeepSee^%SYS.cspServer(0)

I have created user with access to a profile with all the %Deep_See options (%DeepSee_Admin, %DeepSee_Analyzer etc etc) as well as %All. I have also added %All to unknownuser

When click the DeepSee page and choose a namespace Architect, Analyzer, Reporting Data Definition and Reporting Builder are all greyed out with 'you do not have privilege to view this page

0 3
0 215

Hi Community!

New video is already on InterSystems Developers YouTube Channel:

Leveraging an Open Analytics Platform

https://www.youtube.com/embed/Vv3ENnaF2fE
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

1 0
0 252

I've setup ODBC connection so I can access Cache data within SQL Server.

I want to be able to write SQL queries for internal monitoring purposes, similar to what's possible with SQL Server. Specifically I want to be able to check mirroring status (i.e. check which is the current primary mirror member), check the status of any Ensemble productions (started/stopped), check the status of business hosts etc. I want to do all of this from SQL Server to go with our other system monitoring solutions.

0 1
0 276
Article
· Aug 1, 2019 3m read
Nested set model for ObjectScript

In many projects I was faced with storing hierarchical data (tree) in classes.
By tree, I mean such data, where each node has a parent node — an object of the same class.
Many examples of such data can be given. For example, a catalog in the online store. Suppose that this online store sells books, in this case, the category tree might look like this:

6 1
1 883
Question
· Aug 1, 2019
Atelier csp sync error

Hi

Im getting this error when trying to sync csp files on Atelier

Synchronization failed: [dev10 is broken] ERROR #5002: Cache error: <STORE>zTS+6^%Library.RoutineMgr.1

This on Cache 2017.1 and Atelier 1.3.144

0 6
0 165
Question
· Jul 31, 2019
DICOM TCP IN to File Writer

Has anyone had any success receiving a DICOM TCP in, and then using a process to write to a file while responding to the sender correctly? I'm pulling my hair out, and would love to know where I'm going wrong.

0 2
0 237
Discussion
· Jul 31, 2019
CodeGolf: FizzBuzz

Let's have a round of CodeGolf!

As usual the goal is to write the shortest solution for a specified problem.

Today we have one of the classics: FizzBuzz.

Write a program that prints the numbers from 1 to 100.

But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”.

For numbers which are multiples of both three and five print “FizzBuzz”

4 22
1 618

Hi,

I have a ORU message, which has a EVN segment that I want to remove and send the message across.

I tried to clone the request as below:

s newreq = request.constructClone

s changreq = newreq.RemoveSegmentAt("EVN")

Set request = changereq

but it fails. Is there a way that I can safely remove a segment and pass it on?

Would appreciate your help in this

Regards,

Eric

0 13
0 1.7K
Article
· Jul 31, 2019 2m read
Anti CSRF Methods

IRIS provides us with anti login CSRF attack mitigation, however this is not the same as a CSRF attack, as login attacks only occur on the login form. There are currently no built-in tools to mitigate CSRF attacks on api calls and other forms, so this is a step in mitigating these attacks.

See the following link from OWASP for the definition of a CSRF attack:

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

4 5
1 630

Hi Developers!

This is an anniversary announcement to celebrate 6,000 members on InterSystems Developers!

There are some other good figures came:

  • we have more than 5,000 posts with almost 1,000 articles. (956 to the moment).
  • Also, we are close to having 20,000 answers and comments and 2,000,000 reads for DC postings.

And we have the Spanish Community for 2 months running! Join Spanish DC!

4 0
1 225

Hello community,

I need to know if there is any method which can me say specified imported files or namespaces in Cache.

To better specification of my problem, I've got two installer manifests. Firts one did some resource changing and import some files and classes, second one must be started after the first one, because it's only his update, which creates some nemaspaces. So i need to check if the first manifest ran succesful and I can start the second one.

0 1
0 187

Hello Community,

How do i disable an operation explicitly based on a value in a variable?

I set the ReplyCodeAction to E=D.

In the Operation Code i am throwing an explicit ERROR

THROW ##class(%Exception.General).%New("Shutting Down Operation",999,,"My own special exception")

But my operation still remains up.

Any suggestions please will be appreciated.

0 6
0 285

Hi Developers!

This is the second post on the resources for Developers. This part is about Open Exchange

Using Open Exchange to Learn InterSystems

InterSystems Open Exchange is a applications gallery of tools, connectors, and libraries which InterSystems Developers submit to share the experience, approaches and do business. All the applications are either built with InterSystems data platforms or are intended to use for development with InterSystems data platforms.

If you are a beginner developer you can take a look at applications in Technology Example category. All the applications in this category come with open source code repositories, so you are able to run the samples and examples in a docker container with IRIS on your laptop or in the cloud IRIS sandbox. Examples:

0 0
0 319
Question
· Jul 30, 2019
Working with $ZF function

Good morning,

I'm trying to understand $ZF function, but only documentation isn't enought in this way. So my question is is there any possibility to get enviroment variable by this function into ensemble?

I've tried this as example from ducumentation, but there is an error and I don't know why...

Thanks for your solutions.

Zdenek

0 17
0 1.1K

Hello,

Is it possible to write global output values to STDOUT, in a similar way to how csession can take routine intput, like below:

(In Cache Terminal)

%SYS>d ##class(%SYSTEM.License).ShowSummary()

License Server summary view of active key.

Distributed license use:

Current License Units Used = 1

Maximum License Units Used = 1

License Units Authorized = 200

Local license use:

Current Connections = 1 Maximum Connections = 1

0 5
0 540

Hello,

I am struggling to print out the actual property values of the Security.System class.

https://cedocs.intersystems.com/latest/csp/documatic/%25CSP.Documatic.cls

I was hoping to be able to print the Authentication Enabled properties of a system from the command line using the Get or GetProperties class method. Currently, however, I am only able to get a return 1 or Invalid Oref error.

0 5
0 332

Hi Everyone!

Please watch the new video on InterSystems Developers YouTube, recorded by @Sourabh Sethi in a new format called "Coding Talks":

A SOLID Design in InterSystems ObjectScript

https://www.youtube.com/embed/QjrUeCui51Q
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

2 0
1 457

A SOLID Design in Cache Object

In this session, we will discussing SOLID Principle of Programming and will implement in a example.
I have used Cache Object Programming Language for examples.
We will go step by step to understand the requirement, then what common mistakes we use to do while designing, understanding each principles and then complete design with its implementation via Cache Objects.

3 7
2 471