All time
InterSystems Developer Community is a community of 24,445 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Currently, we are utilizing batch jobs at the OS level to kick off routines that watch for files. We are trying to convert these processes to be performed by the Task Manager.

The routines have while loops and perform while loops so long as the time parameters are being met.

What's the best way to ensure Task Manager kicks them off after the completion of the shutdown/backup/start process is performed, which we do nightly? I want to ensure that it starts it regardless of the time that we've set.

0 13
0 1K
Article
· Mar 28, 2017 2m read
Map, Reduce and Filter Collections

Inspired by the article "Declarative development in Caché" that's still trending on the dev com. The OP explored a functional style of iterating over a collection. A comment today suggested "Caché would need syntax support for anonymous functions".

With Macros you can kind of get anonymous like syntax using dot notation.

This is not production code, but it does work. First the macros...

2 15
0 741

Good evening Intersystems Community,

I want to participate in the Advent of Code 2020 and followed the installation instructions in "The Advent of Code 2020 contest ObjectScript template" (https://openexchange.intersystems.com/package/aoc2020-objectscript-template).

Unforunately I get "Error: Invalid Community Edition license, may have exceeded core limit." at the step "docker-compose build".

0 12
0 1K

The Eclipse environment persists perspective data to enable layout customization and other features. Sometimes when this data becomes out of date, Eclipse fails to clear references to it. For example, upgrading a plug-in can leave behind data about an earlier version of that plug-in. This mechanism applies to all Eclipse plug-ins and is not unique to the Atelier plug-in.

In light of this: You may find that after upgrading from Atelier 1.1 to 1.2, your Atelier perspective looks something like:

5 2
0 999
Article
· Apr 19, 2023 2m read
Apache Superset now with IRIS

Apache Superset is a modern data exploration and data visualization platform. Superset can replace or augment proprietary business intelligence tools for many teams. Superset integrates well with a variety of data sources.

And now it is possible to use with InterSystems IRIS as well.

An online demo is available and it uses IRIS Cloud SQL as a data source.

7 4
0 958
Article
· Sep 6, 2018 1m read
Save a file using %Net.HttpRequest

This code snippet allows for a file on the web to be saved into the file system. Specify the server and GET request, as well as the directory the file should be saved to. The class method "test" runs the code:


Class objectscript.saveFileHTTP Extends %RegisteredObject
{
    classmethod test() {
        Set httprequest = ##class(%Net.HttpRequest).%New()
        Set httprequest.Server = "docs.intersystems.com"
        Do httprequest.Get("documentation/cache/20172/pdfs/GJSON.pdf")
        
        Do $System.OBJ.Dump(httprequest.HttpResponse)
         
        Set stream=##class(%FileBinaryStream).%New()
        Set stream.Filename="c:\test.pdf"

        Write stream.CopyFrom(httprequest.HttpResponse.Data)
        Write stream.%Save()
    }
}

Here's a link to the code on GitHub

3 0
1 1K

I have generated a class using the linked procedure wizard however I can't get it to work if the datatype of one of the parameters is VARCHAR(MAX). It works fine if I change it to say VARCHAR(500) and rerun the stored procedure wizard.

I get the following error returned.:

ErrorMsg: SQLState: (07002) NativeError: [0] Message: [Microsoft][ODBC SQL Server Driver]COUNT field incorrect or syntax error

0 12
0 1K

InterSystems is announcing an end of maintenance event for Zen Reports beginning in Intersystems IRIS and IRIS for Health 2025.1. This follows the deprecation notice made when InterSystems IRIS was introduced in 2018 and subsequent inclusion of InterSystems Reports in 2020 to provide replacement reporting functionality. An overview of the timeline is:

March 2018. InterSystems IRIS 2018.1: Announcement of Zen Reports deprecation, continued shipment to provide continuity for existing applications

6 9
0 856

Hi, Community!

This is the 3rd part of DeepSee Web story - Angular base UI for DeepSee Dashboards, see the beginning here.

By design, DSW provides an implementation for every widget in DeepSee library. But there are some extra features in DSW which make solutions built with DSW dashboards more functional. This article describes it.

2 0
1 1K

In Cache Studio there is export class dialog with options "Export current project" and "Include dependent classes".

Is there any way to export class programmatically, but with same effect as if "Include dependent classes" was checked? So that not only the class itself is exported, but also all dependent classes? I know of Export method in %SYSTEM.Obj class, but it only exports the class itself.

0 4
0 1K

Let's imagine if you would like to write some real web application, for instance, some simple clone of medium.com. Such sort of application can be written using any different language on the backend side, or with any framework on the frontend side. So many ways to do the same application, and you can look at this project. Which offers a bunch of frontends and backends realizations for exactly the same application. And you can easily mix them, any chosen frontend should work with any backend.

Let me introduce the same application realization for InterSystems IRIS on a backend side.

6 3
1 974

Interesting anecdote I want to share. Not 100% Caché related, but I hope it would be useful.

When CSP Gateway is configured on IIS, opening CSP Gateway Configuration page is prohibited by default -- as IIS blocks URLs with '/bin' in it.

In our documentation we advise to add <remove segment="bin" /> to applicationHost.config file.
That is correct.

4 0
0 1K

Hi All

I am writing a class to take a general HL7 replace the non ASCII characters in all the segments to construct another message. I have the following solution working to an extent however it is inserting \r at the end of the segments that have been transformed. Firstly is this the correct approach and secondly how do I get rid of \r at the end of the segment that is affected?

Thank you for your help.

0 1
0 1K