Encontrar

Digest
· Mar 28

Last chance to give the feedback!

Dear Developer Community member!

The deadline for our survey is fast approaching, but you still have a week to answer a couple of questions and tell us what you like about our Developer Ecosystem Portals and what we can improve! Please take a few moments to share your feedback:

👉 Take the Survey 👈

The survey will take approximately 10 minutes to complete. Your feedback will directly influence our improvements in 2025 and beyond.

Thank you for your continued support and participation!

Sincerely yours,
InterSystems Developer Relations Team 

Discussion (0)1
Log in or sign up to continue
Article
· Mar 28 4m read

バージョン2025.1インストール時に指定する初期セキュリティオプションのデフォルトが「ロックダウン」に変わりました

開発者の皆さん、こんにちは。

先日、EM リリース新バージョン 2025.1 がリリースされました。

コンテナ版以外ですが、新規インストール時に指定する初期セキュリティオプションのデフォルトが「ロックダウン(Locked Down)」に変更となりましたので、今までとの違いについて以下ご説明します。

 

以前のバージョンのデフォルトは、IRIS:「最小(Minimal)」、IRIS for Health:「通常(Normal)」です。

ロックダウンオプションは、初期セキュリティの中で一番厳しいセキュリティ設定を行うオプションで、例えば、オブジェクト/SQL のアクセスが行えない、VSCode から IRIS にアクセスできない状況からスタートします。

そのため、使用したいアクセスに対してアクセス許可追加していく必要のあるセキュリティオプションです。

今までご利用いただいていたバージョンのデフォルト値と異なりますので、新規インストール時は設定値に気を付けてインストールを進めてみてください。

 

Windows の場合は、以下の表示となります。

 

※設定値の並びも以前のバージョンと変わっていますのでご注意ください。

※ 2025/3/28 現在、Windows 版 IRIS for Health のインストールキットのみ、以前と同様の「通常(Normal)」がデフォルト設定されています(将来のリリースで修正される予定です)。

 

Linuxでは、IRIS、IRIS for Health 共通で以下のように表示されます(最下部とご覧ください)。

Your system type is 'Ubuntu 22.04 LTS (x64)'.
 
Enter instance name <IRIS>: IRIS
 
Enter a destination directory for the new instance.
Directory: /usr/irissys 
Directory '/usr/irissys' does not exist.
Do you want to create it <Yes>?  
 
Select installation type.
    1) Development - Install InterSystems IRIS server and all language bindings
    2) Server only - Install InterSystems IRIS server
    3) Custom
Setup type <1>? 1
 
How restrictive do you want the initial Security settings to be?
"Locked Down" is the most secure, "Minimal" is the least restrictive.
    1) Locked Down
    2) Normal
    3) Minimal
Initial Security settings <1>?

 

もし、ロックダウンの設定でインストールしてしまった場合ですが、

1、オブジェクト/SQL を使いたい(ODBC / JDBC経由のアクセス、スタジオの利用も含まれます)

2、VSCode から IRIS に接続したい

上記アクセスを行いたい場合は、管理ポータルにログインし、セキュリティ設定を変更する必要があります。

 

1、オブジェクト/SQLを使いたい

サービス:%Service_Bindings を有効に変更します。

※ サービスとは、InterSystems 製品への接続経路を管理するセキュリティ設定で、対象サービスを有効とするか(接続を使うか)、無効とするか(接続を使わないか)、有効とする場合の認証はどれを使うか、などを設定します。

管理ポータルの以下メニューにアクセスします(SuperUser でログインをしてください。パスワードはインストール時に指定したパスワードを指定します)。

 

[システム管理] > [セキュリティ] > [サービス]

グレーの行は無効化されていることを示しています。

%Service_Bindings をクリックし、有効にチェックを入れ、[保存] ボタンをクリックします。

設定は以上です。

その他サービスの初期セキュリティオプション別、有効・無効については、ドキュメント「初期のサービス・プロパティ」をご参照ください。

 

2、VSCode から IRIS に接続したい

VSCode から REST 経由で IRIS に接続しています。内部的に使用しているエンドポイントのパスの設定がロックダウンでは無効化されていますので接続できません。有効化に変更するため管理ポータルで設定を変更します。

 

[システム管理] > [セキュリティ] > [アプリケーション] > [ウェブ・アプリケーション] > /api/atelier を選択

/api/atelier の設定画面を開いたら、[アプリケーション有効] にチェックを入れて[保存]ボタンをクリックします。

設定は以上です。

Discussion (0)1
Log in or sign up to continue
Question
· Mar 27

count(*) from a sql dynamic query

 I have dynamic sql select query ,

Set resultset = ##class(%ResultSet).%New()

 set sql = "SELECT COUNT(*) FROM "_tableName_" WHERE "_fieldName_">='"_fromDate_"' AND "_fieldName_"<='"_currentDate_"'"

 SET SC = resultset.Prepare(sql)

 SET SC = resultset.Execute(sql)

How can I print/view the count ?

8 Comments
Discussion (8)3
Log in or sign up to continue
Question
· Mar 27

HL7 CR/LF to create a blank space between segment -- resolved

My attempts to add CR/LF between segments

// Add CR/LF after "Total Cost:" if multiple "Item Number:" exist
            //$$$LOGINFO(tItemNumberCount_" "_tTotalCostSegment_"----cr/lf")
            If (tItemNumberCount > 1) && (tTotalCostSegment > 0) {
                Set tOBXSegment = pOutput.GetSegmentAt("ORCgrp(1).OBRuniongrp.OBXgrp("_tTotalCostSegment_").OBX", .tStatus)
                //$$$LOGINFO(tOBXSegment_"----"_"tOBXSegment from cr/lf")
                Set tOBXText = tOBXSegment.GetValueAt(5) //_"||||||\X0D\\X0A\" // Append escaped CR/LF representation
                //Do tOBXSegment.SetValueAt(tOBXText_"|\X0D\\X0A\|", 5)
                //Do tOBXSegment.SetValueAt(tOBXText_"$c(13)_$c(10)", 5)
                //Do tOBXSegment.SetValueAt("$c(13)_$c(10)", 11.1)
                Do tOBXSegment.SetValueAt("\X0D\\X0A\", 11.1)
                //$$$LOGINFO(tOBXText_" cr/lf OBX mod")
                //Set tOBXTextCRLF = tOBXSegment.GetValueAt(11)
                //Do tOBXSegment.SetValueAt(tOBXTextCRLF, 11)
                
            }

 

 

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