Find

InterSystems Official
· Dec 17, 2024

IPM 0.9.0 Released

We have released IPM 0.9.0. I previously remarked on some of the history and reasoning here; to summarize, this is a big release for two reasons: it represents a long-overdue reunification of our internal and community-driven work around IRIS-centric ObjectScript package management, and it has some backwards incompatibilities. There are several necessary backwards incompatibilities in our roadmap, and we've lumped them together; this will not be some new norm.

Under the hood, the class naming and package structure has completely changed. If you're making direct use of calls to (most likely) %ZPM.PackageManager, the equivalent class is now %IPM.Main. For community projects that are impacted by this name change, we've submitted a bunch of PRs to get things up to date, and some use of old %ZPM.* class names is migrated automatically on installation via ZPM to allow packages to work with both old and new versions of IPM.

If you update from IPM 0.7.x to 0.9.0, everything should "just work" as before - it's available instance-wide, with data migrated to new storage locations.

On a new/fresh installation, things are a little different; by default, the community registry is not enabled, and IPM is only available in the namespace in which it was installed. To get to equivalent behavior of 0.7.x on a new installation, you need to run the following commands to map IPM everywhere and use the default community registry, respectively:

zpm "enable -map -globally"
zpm "repo -reset-defaults"

There's a 0.9.1 patch coming *very* soon (today/tomorrow - soon enough that I'll just update this post) which will streamline this process to some extent; see https://github.com/intersystems/ipm/issues/662 for context/updates.

If you encounter any issues or questions, please file a GitHub issue; we'll be keeping an eye out on the Developer Community as well.

3 Comments
Discussion (3)3
Log in or sign up to continue
Announcement
· Dec 17, 2024

VS Code release November 2024 (version 1.96)

Visual Studio Code releases new updates every month with new features and bug fixes, and the November 2024 release is now available. 

This release includes some useful features for teams implementing VS Code, to achieve consistency and compatibility across organizations. If need help migrating from InterSystems Studio to VS Code, or want to advance your knowledge of VS Code, take a look at the training courses George James Software offers > georgejames.com/vscode-training/

Version 1.96 now includes: 

The release also includes contributions from our very own @John Murray through pull requests that address open issues. 

Find out more about these features in the release notes here > https://code.visualstudio.com/updates/v1_96

For those with VS Code, your environment should auto-update. You can manually check for updates by running Help > Check for Updates on Linux and Windows or running Code > Check for Updates on macOS.

1 Comment
Discussion (1)2
Log in or sign up to continue
Question
· Dec 17, 2024

Production pooled component index

I have a business service which is responsible for some batch operations with an SQL table. The process is generally slow but it is possible to scale the performance using multithreading and/or parallel processing and logical partitioning (postgres):

6 Comments
Discussion (6)2
Log in or sign up to continue
Question
· Dec 17, 2024

How To Give a Condition To Data Row based on First and Next Data?

Hello my Friends,

I have a question, I have a data like this

And I want to create a display like this, which I can put a status column beside the Item Column

The status become new, if there's no previous item, and if there's a same item after the first one, the status become Old

Does anyone could help me ?

I need to display it without subquery if possible

Thank You

Best Regards,

Steven Henry

9 Comments
Discussion (9)2
Log in or sign up to continue
Question
· Dec 17, 2024

SSL Issues on Mac OS 15.2 when IRIS is running within a Docker container

Hi,

I recently had a company-enforced OS upgrade, and ever since going from mac OS 14.x to 15.x, I am currently having issues with SSL in IRIS.

An ARM (M3 pro) machine running OS 15.2, with the latest Docker Desktop (at the time of writing, 4.37.0). The Docker container runs IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2022.1.2 (Build 574_0_22161U). This container has not changed.

When attempting to run some local API tests of our software, I am hosting a Wiremock (https://github.com/wiremock/wiremock) server locally on the mac, in order to mock HTTP requests/responses. The IRIS server communicates with this wiremock server via `host.docker.internal` as a hostname, to talk from the container to the host machine. This was working before the OS upgrade without issue.

Ever since the OS upgrade, there seems to be some issue with SSL and I am unsure where the fault lies, hence asking for any advice or opinions here.

The basic structure of the tests which fail involve creating a simple http request, which will be pointed towards `host.docker.internal` and appropriate ports. Each individual test will add specific Wiremock mappings to the request, but as these all worked fine before the OS upgrade I don't think code for this needs to be included.

Method createHttpRequest() As %Net.HttpRequest [ Private ]
{
    set req = ##class(%Net.HttpRequest).%New()
    set req.Server = ..Host
    set req.Port = ..Port
    return req
}

Method IsHealthy() As %Boolean
{
    #dim req as %Net.HttpRequest = ..createHttpRequest()
    $$$ThrowOnError(req.Get("/__admin/health"))
    if ((req.HttpResponse.StatusCode = 200) && ($isobject(req.HttpResponse.Data)) && (req.HttpResponse.Data.Size > 0) ) {
        #dim json as %DynamicObject = {}.%FromJSON(req.HttpResponse.Data.Read())
        return (json.status = "healthy")
    }
    return 0
}

As mentioned, this all functioned without issue and contains nothing specific to our company. However now since the OS upgrade, IRIS errors out when running such tests with this message:

"ERROR <Ens>ErrGeneral: (RootCause "ERROR #6085: Unable to write to socket with SSL/TLS configuration 'ISC.FeatureTracker.SSL.Config', error reported 'SSL/TLS configuration 'ISC.FeatureTracker.SSL.Config' is not activated.'"

Looking at the management portal, this configuration is indeed enabled.

I have read online that other users have experienced SSL issues with various software since upgrading OS, so I am wondering if this is an IRIS issue, a Docker issue, or something else? I found a few discussions that seem to blame Microsoft Defender as the source of SSL issues. Our company does have Microsoft Defender enabled as policy, so I cannot disable this.

Has anyone else experienced similar? Is this an IRIS issue, or does the blame lie elsewhere (docker, microsoft defender, other)?

In the meantime, I am running Wiremock within the docker container and IRIS can communicate with that instance without issue. But, as every other team member has code pointing to `host.docker.internal`, it would be good to not require to patch our codebase only on my development machine.

I'm aware IRIS has not been yet released for mac os 15.x, but as the actual IRIS software is running within a unix docker container in my development environment, I figured I could ask for any insights here. Thanks in advance.

3 Comments
Discussion (3)2
Log in or sign up to continue