Find

InterSystems Official
· Jul 23

InterSystems Announces General Availability of InterSystems IRIS 2025.2

InterSystems is pleased to announce the General Availability (GA) of the 2025.2 release of InterSystems IRIS® data platform. This is a Continuous Delivery (CD) release. Please note that the GA versions of InterSystems IRIS for Health™ and HealthShare® Health Connect™ 2025.2 are currently withheld due to mirroring limitations introduced by security updates (details below).

Release Highlights

This release introduces impactful enhancements across security, developer experience, operations, and interoperability. Notable new features include:

1.       Security Enhancements with the New IRISSECURITY Database

o    Security data has been moved to the new IRISSECURITY database. This database can be encrypted.

o    New role %SecurityAdministrator supports centralized administration.

o    Direct access to security globals and tables is deprecated; use the provided APIs with appropriate permissions instead.

2.       Platform and Observability Updates

o    RHEL 10 support added; RHEL 8 retired.

o    SUSE support removed for this release (will return in 2025.3).

o    Initial support for OpenTelemetry tracing in CSP framework (REST/SOAP), available on Linux only.

3.       Improved Data Onboarding

o    Enhanced Foreign Tables with support for:

  • Pushdown of GROUP BY, HAVING, ORDER BY, and TOP.
  • Expanded Push Through capabilities for exploration queries using non-IRIS syntax

o    Continued alignment with InterSystems Data Fabric strategy.

4.       Developer Experience

o    Direct distribution of client libraries now available via:

  • Maven (Java), NuGet (.NET), NPM (Node.js), PyPI (Python)

5.       Interoperability UX (Opt-In)

o    New UI workflows for:

  • Creating and recovering productions
  • Viewing pool sizes, editing rules with better visibility, and copying paths

o    Improved DTL editing, filtering, and search

o    Browser-wide search now supported

o    This opt-in UI continues to evolve based on feedback from 2025.1.

Please share your feedback for these enhancements on the Developer Community so we can build a better product together.

Notes on IRIS for Health and Health Connect 2025.2

Due to required changes introduced by the Security DB in IRIS 2025.2, the 2025.2 versions of IRIS for Health and Health Connect are not publicly released as of today’s July 23 GA date. 

Development previews are available but not intended for production use. These have been posted to the WRC developer preview site.  Containers can be found on our container registry and are tagged latest-preview.

Documentation

Details on all the highlighted features are available through these links below:

·         InterSystems IRIS 2025.2 documentationrelease notes.

In addition, check out the upgrade impact checklist for an easily navigable overview of all changes you need to be aware of when upgrading to this release.  

Early Access Programs (EAPs)

There are many EAPs available now. Check out this page and register to those who are interested.

How to get the software?

As usual, Continuous Delivery (CD) releases come with classic installation packages for all supported platforms, as well as container images in Docker container format.

Classic installation packages

Installation packages are available from the WRC's InterSystems IRIS page for InterSystems IRIS. Additionally, kits can also be found in the Evaluation Services website.

Availability and Package Information

This release comes with classic installation packages for all supported platforms, as well as container images in Docker container format.  For a complete list, refer to the Supported Platforms document

The build number for this Continuous Delivery release is: 2025.2.0.227.0

This release comes with container images in Docker container format, available from the InterSystems Container Registry. IRIS containers are tagged as both "2025.2" and "latest-cd".

©2024 InterSystems Corporation. All Rights Reserved.

Discussion (0)2
Log in or sign up to continue
Article
· Jul 23 1m read

Air Blue Dubai Office

The Air Blue Dubai Office is the perfect place for travelers who want reliable, in-person airline support. Whether you're booking a new flight, requesting a date change, or needing help with baggage rules, the friendly staff is ready to assist. The office also provides details about check-in procedures, travel restrictions, and seat upgrades. Designed for convenience and comfort, it ensures passengers receive quick and clear service. Located in a key area of Dubai, this office helps make your travel with Air Blue smoother and more enjoyable from start to finish.

Discussion (0)1
Log in or sign up to continue
Article
· Jul 23 1m read

Global-Inspector

If you are investigating complex structured Globals this can become
a rather boring typing exercise. Different from Global Explorer in
System Management Portal Global-Inspector allows a kind of drill-down
to dig deeper and deeper by subscript levels.
You also have the option to see the stored content or to show only
the subscript structures.
Globals storing SQL Tables are probably not so thrilling, but in SYSTEM
space you find real trees with completely different branches and twigs.

Global-Inspector can run in browser or from terminal command line.

required input

  • Global name: with or without leading caret
  • Maximum number of subscripts you want to see
  • Showing the content of the displayed Global node
  • Starting Subscript. Can be exact or before first node shown
  • Stopping Subscript. Can be exact or before first node excluded

Subscripts require exact quoting. E.g. "JOURNAL" not JOURNAL

Global-Inspector in Browser

 

Global-Inspector in Terminal

USER>do ^rcc.ginspect
Global Name : %SYS
Maximum Subscripts : 2
Show content ? (0,1) [1] : 0
Start Subscript :"JOU"
Stop Subscript : "K"
^%SYS("JOURNAL")
^%SYS("JOURNAL","ALTDIR")
^%SYS("JOURNAL","CURDIR")
^%SYS("JOURNAL","CURRENT")
^%SYS("JOURNAL","EXPSIZE")
^%SYS("JOURNAL","LAST")
^%SYS("JOURNAL","MAXSIZE")
^%SYS("JOURNAL","PREFIX")
>>> stop <<<
USER>

GitHub
Video

1 Comment
Discussion (1)2
Log in or sign up to continue
InterSystems Official
· Jul 23

Annonce de la version 25.1 d'InterSystems Reports

InterSystems Reports version 25.1 est désormais disponible sur le site de distribution de logiciels InterSystems, dans la section Composants. Le logiciel, baptisé InterSystems Reports Designer et InterSystems Reports Server, est disponible pour les systèmes d'exploitation Mac OSX, Windows et Linux.

Cette nouvelle version apporte des améliorations et des correctifs de notre partenaire Insightsoftware. InterSystems Reports 25.1 est optimisé par Logi Report version 25.1, qui inclut :

  • la prise en charge de la construction dynamique des objets lors de la distribution planifiée des rapports par e-mail ;
  • la possibilité de basculer facilement entre les unités de mesure métriques et impériales ;
  • plusieurs améliorations facilitant l'alignement lors de la création de rapports au pixel près.

Pour plus d'informations sur ces fonctionnalités et d'autres, consultez les notes de version disponibles auprès d'Insightsoftware.

Notez que l'installation d'InterSystems Reports 25.1 nécessite la version 11 ou 17 du JDK. Veuillez effectuer une mise à niveau si vous utilisez JDK 8 avant l'installation d'InterSystems Reports.

Pour plus d'informations sur InterSystems Reports, consultez la documentation InterSystems et le contenu des services de formation.

Discussion (0)0
Log in or sign up to continue
Article
· Jul 22 4m read

監視用常駐プロセスを作成する方法

これは InterSystems FAQ サイトの記事です。

「定期的にプロセスを監視し、あるイベントが発生したときにのみ処理を実行したい」ような場合に使用できる、便利な機能をご紹介します。

もちろん、Forループを行う常駐プロセスを作成してその中で Hang XX しながらIf文にてイベントを検知したり、タスクスケジュールでルーチンを定期実行してその中でIf文にてイベントを検知して処理することも可能です。

今回ご紹介する、%SYSTEM.Event クラスを使用することで、よりシンプルに処理を作成することが可能となります。

【こんな時に便利】
・テーブルやグローバルに、あるデータが全て格納されたら処理を行いたい
・あるエラーを検知したときにのみ、^SystemCheck情報を取得したい
・処理が必要なものがデータベースに入ったら順番に処理を行いたい(pythonだとQueueモジュールのような感じ)


【使用方法】


準備(任意のプロセス)


do $SYSTEM.Event.Create("test")
これで、testというイベントがシステムワイドで作成されます。
 


パターンA=単純な常駐プロセス


(1) 待機プロセス側
do $SYSTEM.Event.Wait("test")
このコマンドの瞬間、このプロセスは待ち状態になります。
 
(2) 起こす側
do $SYSTEM.Event.Signal("test")
これで、指定イベントで待機しているプロセスの待ち状態が解除されます。
 


パターンB=メッセージ付き常駐プロセス


(1) 待機プロセス側
set msg=$SYSTEM.Event.WaitMsg("test")
このコマンドの瞬間、このプロセスはウェイクアップイベントを待機しながらスリープ状態に入ります。
、他プロセスからのメッセージを待ちます。

 
(2) 起こす側
do $SYSTEM.Event.Signal("test",msg)
指定イベントで待機しているプロセスにメッセージ(msg)を送り待ち状態を解除します。

リクエストを処理する常駐プロセスにて、SYSTEM.Event.Wait() または$SYSTEM.Event.WaitMsg() でリクエストを待ちます。
リクエストを行うプロセスは、$SYSTEM.Event.Signal() で常駐プロセスに通知します。

 
以下は、パターンAでリクエストを処理する常駐プロセスのサンプルです。
10秒(timeout)ごとに監視し、$SYSTEM.Event.Signal() があれば、^SystemCheck 情報を収集します。
^Zevent("STOP") グローバルがセットされたら、監視を終了します。

 set timeout=10
 set requestnum=0
 set status=$SYSTEM.Event.Create("test")

 while '$g(^Zevent("STOP")) {      
     set st=$SYSTEM.Event.Wait("test",timeout)
     if st=1 {
        // timeout内に通知(Signal)があれば、 SystemCheck情報収集
        set Status =$$INT^SystemCheck() 
        write "Request done",!    // write 出力は debug 用(本番では消してOK)
     }
     if st=0 write "Timeout",!     // write 出力は debug 用
 }
 Quit

※sample.macで %SYSネームスペースに保存するとします


【実行例】

端末A 常駐プロセス
%SYS>do ^sample

端末B リクエストプロセス
%SYS>do $SYSTEM.Event.Signal("test")
※例えば、messages.logファイルを読み込み、「○○エラー」のような該当するエラーメッセージがあればこのコマンドを実行します。
 このコマンドを実行することで、^SystemCheck情報が収集されます。

停止
%SYS>set ^Zevent("STOP")=1
※<IRISインストールディレクトリ>\mgr 以下に 
  <CustomerName>yyyy….html     // ^SystemCheck情報
のファイルが出力されているようであれば、情報収集を行ったことになります。
set ^Zevent("STOP")=1 を実行して、常駐プロセスを終了します。
このコマンドを実行しない限り、常駐プロセスは繰り返し監視をし続けます。


以下は、パターンBでリクエストを処理する常駐プロセスのサンプルです。

    set timeout=10
    set requestnum=0
	set status=$SYSTEM.Event.Create("test")

    while '$g(^Zevent("STOP")) {      
        set msg=$SYSTEM.Event.WaitMsg("test",timeout)
        if $li(msg,1)=1 set ^Zevent("REQUEST",$i(requestnum),$ZDT($H))=$li(msg,2) write "Request done",!            
	    if $li(msg,1)=0 write "Timeout",!
    }
    Quit

※sample2.macで WORKネームスペースに保存した場合

【実行例2】

端末A 常駐プロセス
WORK>Do ^sample2

端末B、端末C リクエストプロセス
WORK>do $SYSTEM.Event.Signal("test","Request From "_$J_" "_$ZDT($H))
※複数のプロセスが通知した場合、通知はキューイングされる仕組みとなっています。
 常駐プロセスは、通知を受けると待ちが解除されるので、その後処理を行い、また待ちに入る処理を行います。

停止
 WORK>set ^Zevent("STOP")=1

結果例

WORK>zw ^Zevent
^Zevent("REQUEST",1,"08/13/2021 11:35:13")="Request From 16584 08/13/2021 11:34:31"
^Zevent("REQUEST",2,"08/13/2021 11:35:13")="Request From 16584 08/13/2021 11:34:41"
^Zevent("REQUEST",3,"08/13/2021 11:35:13")="Request From 22296 08/13/2021 11:34:54"
^Zevent("REQUEST",4,"08/13/2021 11:35:13")="Request From 22296 08/13/2021 11:34:56"
^Zevent("REQUEST",5,"08/13/2021 11:35:13")="Request From 16584 08/13/2021 11:34:59"
^Zevent("REQUEST",6,"08/13/2021 11:35:13")="Request From 22296 08/13/2021 11:35:02"
^Zevent("REQUEST",7,"08/13/2021 11:35:13")="Request From 16584 08/13/2021 11:35:07"
^Zevent("REQUEST",8,"08/13/2021 11:35:13")="Request From 22296 08/13/2021 11:35:09"
^Zevent("STOP")=1


enlightened【ご参考】
Simple $system.Event examples(英語)

Discussion (0)0
Log in or sign up to continue