この記事では、2025.2リリースで導入された、IRIS SQL処理の重要な要素、InterSystems IRISのテーブル統計処理の大きな改善について紹介します。 まず最初に、テーブル統計とは何か、どのように利用されるのか、そしてなぜ今回の改善が必要だったのかを簡単におさらいします。 その後、テーブル統計を収集・保存するための新しいインフラの詳細を掘り下げてから、この変更が実際にアプリケーションにどのような影響を与えるのかを詳しく見ていきます。 最後に、新しいモデルで可能になったパターンに関する追加の注意点をいくつか紹介し、今回の初期リリースに続く次のフェーズに期待をつなげます。
Googleフォームは、データ収集、アンケートやクイズへの回答を行うための市場で最も人気のソリューションです。そのため、システムを拡張または開発することなく、患者データや回答を実用的な方法で収集するのに理想的な手段と言えます。本記事では、Google Cloudにアカウントを作成し、Google Forms APIを利用するアプリケーションを登録します。また、APIを利用するためのサービスユーザーを生成して、最後にEmbedded PythonとIRISを用いて新しいフォームを作成し、入力されたデータを自動的に収集する方法ついて詳しく説明します。
Google Cloudアカウントの作成
Google Cloudアカウントをお持ちでない場合、これらの手順に従ってください。すでにお持ちの場合は、次のセクションに進みます。
Google Cloud Platform(GCP)アカウントを作成するには、最初にGoogleアカウントを作成する必要があります。 次に、Google Cloudコンソールにサインインし、無料枠を利用開始するか、課金アカウントを作成できます。 ステップバイステップガイドは次のとおりです。
1. Google Cloudコンソールに移動する。cloud.google.comにアクセスします。
2. Googleアカウントにサインインする。

血液検査の結果を見て、何が書いてあるのか全然わからないあの感じ、分かるかと思います。 その問題を解決してくれるのがFHIRInsightです。 そもそも医療データは怖いものや分かりにくいものではなく、誰もが活用できるものであるべきだ、という考えから始まりました。 血液検査は健康チェックではとても一般的ですが、正直なところ、理解するのは多くの人にとって難しく、臨床検査を専門としない医療スタッフにとっても難しいことがあります。 FHIRInsightは、血液検査のプロセスをもっと分かりやすくし、情報をより活用しやすくすることを目指しています。

🤖 FHIRInsightを構築した理由
すべては、シンプルながら強力なこの質問から始まりました。
「なぜ血液検査の結果を読むのは、時には医師にとってもこんなに難しいのか?」
血液検査の結果を見たことがあるなら、大量の数字、意味の分かりにくい略語、そして自分の年齢や性別、状態に合っているかどうかもわからない「基準範囲」を見たことがあると思います。 確かに診断ツールではありますが、状況が分からなければ、結局推測することになります。 経験豊富な医療従事者でさえ、すべてを理解するためにはガイドラインや論文、専門家の意見を照らし合わせる必要があることがあります。
そこで登場するのがFHIRInsightです。
これは InterSystems FAQ サイトの記事です。
こちらのトピックでは、ミラー環境でECPを行う場合の設定方法と注意すべき点について、ご案内します。
【設定方法】
手順は以下になります。
(1) 両方のフェイルオーバーメンバおよび任意の DR 非同期メンバで、ECPを有効にします
(2) ECP アプリケーションサーバ(ECPクライアント)で、ECPの設定を行います
(3) ECP アプリケーションサーバ(ECPクライアント)で、リモートデータベースの作成を行います
今回作成するECP構成は、ドキュメントにある以下のイメージの赤丸のインスタンスによる構成になります。
| A:プライマリ・ フェイルオーバーメンバ |
B:バックアップ・ フェイルオーバーメンバ |
C:DR非同期 | ECPアプリケーションサーバ (クライアント) |
|
| ミラー名 | TESTMIRROR | TESTMIRROR | TESTMIRROR | |
| ミラーメンバ名 | MACHINEA | MACHINEB | MACHINEC | |
| IPアドレス | 10.0.0.244 | 10.0.0.151 | 10.0.0.60 | 10.0.0. |
これは InterSystems FAQ サイトの記事です。
バージョン2025.1以降では、ジャーナルファイルを作成したインスタンスと同じバージョン、またはそれ以降のバージョンへのジャーナルファイルのリストアは保証されていますが、2025.1以降で作成されたジャーナルファイルを2024.1以前のインスタンスにリストアできません。
ドキュメント:ジャーナル・リストアの互換性 (アップグレード関連)
2025.1以降のインスタンスのデータを、2024.1以前にリストアしたい場合、時間がかかる方法となりますが、2025.1以降のバージョンから対象グローバル変数をエクスポートし、2024.1以前のバージョンにインポートする方法を利用できます。
InterSystems 製品のミラーリングについては、全メンバー(プライマリ/バックアップ/非同期)で同一バージョンを使用する必要があります。
ミラーリングは、ジャーナルファイルのリストアを内部的に利用しているため、バージョン2025.1へアップグレードした場合、全メンバーのバージョンが2025.1以降である必要があります。ご注意ください。
これは InterSystems FAQ サイトの記事です。
ミラーの現在の状態は、管理ポータルのミラーモニタで確認できます。
こちらのトピックでは、それらの情報をコマンドで確認する方法をご紹介します。
(1) フェイルオーバメンバ(プライマリ・バックアップ)の状態を確認する
(4) 定期的にミラーステータスを取得するサンプル(ツール)のご紹介
では、以下のようなミラーの状態を確認してみます(以下はフェイルオーバーメンバ・プライマリの状態)。
(1) フェイルオーバメンバ(プライマリ・バックアップ)の状態を確認する
フェイルオーバメンバのミラーの状態は、SYS.Mirror クラスの GetFailoverMemberStatus メソッドで確認できます。
結果は出力引数に$list形式で返されます。詳細はクラスリファレンスをご覧ください。
例)
プライマリ、バックアップともActiveな状態
// フェイルオーバーメンバ(プライマリまたはバックアップ)で確認
// 以下はプライマリで実行した例
%SYS>set x=##class(SYS.Mirror).GetFailoverMemberStatus(.thismember,.
FHIRサーバー
FHIRサーバーとは、FHIR(Fast Healthcare Interoperability Resources)標準を実装するソフトウェアアプリケーションであり、医療システムが標準化された方法で医療データを保存、アクセス、交換、および管理することができるようにします。
Intersystems IRISは、以下のFHIRリソースを保存および取得できます。
- リソースリポジトリ – IRISネイティブのFHIRサーバーは、FHIRバンドルやリソースをFHIRリポジトリに容易に直接保存することができます。
- FHIR Facade – FHIRファサードレイヤーは、既存のもの(多くの場合、FHIR以外)の上にFHIRに準拠したAPIを公開するために使用されるソフトウェアアーキテクチャパターンです。 さらに、すべてのデータをFHIRネイティブシステムへ移行せずに、電子健康記録(EHR)、レガシーなデータベース、HL7 v2メッセージストアなどの医療データシステムを合理化します。
FHIRとは?
Fast Healthcare Interoperability Resources(FHIR)は、HL7 Internationalによって作成された標準化されたフレームワークであり、柔軟かつ開発者に優しい最新の方法で医療データの交換を促進します。
開発者の皆さん、こんにちは!
2026/1/7更新:ページメニューの日本語切り替えが追加されたので本文同じですが画像を貼り換えました。
コミュニティページの上部ヘッダにある「Global Masters」ページ、ご覧になったことはありますか?👀
Global Masters は、ゲーミフィケ―ションプラットフォームで、InterSytsems のテクノロジーに関するチャレンジ (タスク)を完了させたり、バッジやポイントを獲得したり、そのポイントを様々な賞品に交換できます🎁! .png)
詳細は「グローバルマスターズ・アドボケート・ハブ - ここからスタート!」をご参照ください。
まずは、現在お持ちのポイントを確認するため、「Global Masters」に移動しましょう!
ログイン画面が表示されましたら、コミュニティにログインしているアカウントと同じアカウントでログインできます。ログイン後、画面右上に現在お持ちのポイント数が表示されます。(赤線部分)
また、ポイントの隣のアイコンをクリックするとページメニューを日本語に切り換えるメニューがあります。(緑線部分)
.png)
トップページには様々なタスクやゲームが用意されています。チャレンジすると記載されているポイントが加算されます。
交換できる賞品を確認するためには、画面上部にあるメニュー「マイリワード」をクリックします。
MacOS(Linux)とWindows両方で動作するObjectScriptプログラムを開発する際に、よくやらかしてしまうミスを共有します。
WindowsとUNIX系のファイルシステムの1つの違いは、ディレクトリのセパレータです。
UNIX系は、/(スラッシュ)
Windows系は、\(バックスラッシュ)
です。
ファイルを読み書きするプログラムでセパレータをOS別に選択するという以下のようなコードをよく書くのですが、
if ($system.Version.GetOS() = "UNIX") {
set sep = "/"
}
else {
set sep = "\"
}
ここでこのバックスラッシュをキーボードで入力すると、日本語キーボードの場合、バックスラッシュの代わりに¥(円マーク)が入力されてしまいます。
ソースコードがSJISの場合は、これでも問題ないのですが、クロスプラットフォームで開発する場合は、UTF8で通常作成するので、Macで動かすと問題ないのにWindowsで動かすとエラーになるということがちょくちょく起こります。
そして、これは意外に間違いに気づきにくいです。
ちなみにPythonでは、どちらでも/を使っておけば問題ないので、こんな問題は起こることはないと思います。
開発者の皆さん、こんにちは!
バージョン2025.1以降のIRIS for Healthの機能に、「OAuth FHIR Client Quickstart」が追加され FHIR サーバーを OAuth2.0リソースサーバ―として簡単に設定できるようになりました。
この記事では、OAuth2.0 認可サーバーとして Auth0(Okta社 https://auth0.com/jp)を利用し、IRISに用意するFHIRサーバーを OAuth2.0 リソースサーバ―として設定し、Webアプリケーション(例ではPostman)からFHIRリソースにアクセスするまでの流れをご紹介します。
これは InterSystems FAQ サイトの記事です。
InterSystems 製品の内部日付時刻($HOROLOG)を利用して時刻を取得している場合、オペレーティング・システムが提供するアルゴリズムに基づいて季節的な時刻調整を行います。
そのため、オペレーティングシステムにてサマータイムの調整が行われる場合は、InterSystems 製品は、オペレーティングシステムで対応したサマータイム時刻で動作します。
注意点としては、$HOROLOG 値が大きく変更されるケースもあるため、時刻比較やこの値をキーにしたアプリケーションの処理などがもしある場合は、その変更を考慮していただく必要があります。
ご参考:「ローカル時刻調整のしきい値」
なお、$NOW() 関数を使用して内部日付時刻を取得している場合は、オペレーティングシステムのサマータイムの調整に対応していませんのでご注意ください。
$NOW() 関数は、$ZTIMEZONEの値を使用してローカル時刻を決定しています。
$ZTIMEZONEは1年を通して連続的で、サマータイム(DST)などのローカル時刻の調整に対応していないためです。
また、小数点以下を含むタイムスタンプ値をサマータイム対応済のローカル時刻で取得したい場合、$HOROLOG では対応できませんので、以下の2つ方法のどちらかを利用して取得します。
これは InterSystems FAQ サイトの記事です。
ビジネスサービスやビジネスオペレーションで EnsLib.CloudStorage.InboundAdapter アダプタを使用したり、%Net.Cloud.Storage.Client を使用することで、Amazon s3(クラウドストレージAPI)のファイルにアクセスすることが可能です。
いずれの場合も、事前に Javaランタイムをシステムにインストールし、インストールしたJavaランタイムの JAVA_HOME 情報を、管理ポータルにて設定する必要があります(手順は後述します)。
今回は、%Net.Cloud.Storage.Client クラスを使用したサンプルをご紹介します。
手順は以下のようになります。
【手順】
以下のS3パケットにアクセスする手順になります。
(1) 事前に、コマンドプロンプトにて aws コマンドを使用して動作確認をしておきます(S3に存在しているファイル一覧がプロンプトに返ればOKです)。
> aws s3 ls s3://isj-s3
2025-04-30 16:20:52 32 abc.txt
2025-04-30 16:14:00 21529 messages.logもしくは
>aws s3 --endpoint-url https://s3.概要統合とE2Eテストのために一時的なInterSystems IRISコンテナの起動を簡単にするNode.jsライブラリ、testcontainers-iris-nodeのリリースをお知らせします。 このプロジェクトが、testcontainers-iris-pythonやtestcontainers-iris-javaなどを含む、IRIS用Testcontainersアダプターの既存ファミリーに加わるのは極めて自然なことです。
testcontainers-iris-nodeを使う理由とは?InterSystems IRISで作業するNode.js開発者として、本番環境を再現するテスト環境を設定する際によく問題にぶつかりました。 testcontainers-iris-nodeは、オンデマンドで隔離されたIRIS環境を作成するためにtestcontainers-nodeフレームワークを活用することで、この問題を解決しました。
これは次において特に有用です。
- IRISデータベースとの統合テスト
- データパイプラインやマイクロサービスのテスト
- CIパイプラインでのテスト環境の自動化
機能
- Testcontainersを使用してDockerコンテナでIRISを起動します
- カスタムのDockerイメージと構成をサポートします
- テスト開始前にIRISが準備完了していることを確認するための待機戦略
- テスト実行間のクリーンなティアダウン
概要
typeorm-irisプロジェクトは、TypeORMのInterSystems IRISとの統合に対して実験的サポートを提供し、開発者がTypeORMのよく知られているデコレーターとリポジトリの抽象化を使用してIRISとやり取りできるようにします。 これにより、IRISをバックエンドデータベースとして使用するNode.jsアプリケーションを構築するJavaScriptやTypeScript開発者にとって、より馴染みのある開発体験が可能になります。

プロジェクトはTypeORMとの主要な統合ポイントを実装しており、基本的なエンティティ操作をサポートしていますが、まだ十分に実戦で検証されておらず、本番環境には適していません。
これは InterSystems FAQ サイトの記事です。
InterSystems 製品で利用できる ID およびアクセスの管理には、Kerberos、OS ベース、InterSystems ログイン(=インスタンス認証/パスワード認証)、2 要素認証、JWT 認証、LDAP 認証(AD も含む)、OAuth2 などが用意されていますが、これらのどの方法にも当てはめることのできない独自の管理方法をお持ちの場合に利用できる方法があり「代行認証」(または委譲認証)と呼びます。
ドキュメント:代行認証
このトピックでは、代行認証を行うまでの手続きについて解説します。
サンプルコードはこちら👉https://github.com/Intersystems-jp/FAQ-716
シナリオとして、アプリケーション用ユーザ名、パスワードを管理する専用テーブルがあるとしています。特定の REST API のログイン、またはターミナルアクセス利用時にこの情報を使用して代行認証を行う方法を解説します。
大まかな手順は以下の通りです。
[2] システム・セキュリティの認証/ウェブセッションオプションを変更する
[1] 専用ルーチンを作成する
以下の流れで作成します。
開発者の皆さん、こんにちは!
過去に開催した開発者向けウェビナー アーカイブビデオ
のまとめページを作成しました。
今後もウェビナーを開催していきますのでこのページを★ブックマーク★していただけると嬉しいです![]()
プレイリストはこちら👉https://www.youtube.com/playlist?list=PLzSN_5VbNaxB39_H2QMMEG_EsNEFc0ASz
2025年開催分:
✅ウェビナー
- 2025/11/20開催「組み込みPythonの仕組みと、その効果的な使い方について」
- 2025/10/16開催「ベクトル検索でカスタマーサービスを向上 - 生成AIチャットボットの構築 」
- 2025/11/21にハンズオン「🤖はじめてのAI開発 ~ゼロからのIRIS環境構築とOpenAI連携チャットボット作り~」開催
ソースコードはこちら👉https://github.com/Intersystems-jp/TryAIDevelopment
- 2025/11/21にハンズオン「🤖はじめてのAI開発 ~ゼロからのIRIS環境構築とOpenAI連携チャットボット作り~」開催
- 2025/9/9開催「RAG+生成AIであそぼう!」
- 2025/7/29開催「ベクトルであそぼう!」
- 2025/6/10開催「IRISのベクトル検索を使って テキストから画像を検索してみよう」
- 2025/3/19開催「IRIS概要 システム構築編」
- 資料PDF
- 以下ご参考:関連するラーニングパス
前の記事では、smolagentsとInterSystems IRISを使用して、SQL、ベクトル検索を使用したRAG、interoperabilityを組み合わせたカスタマーサービスAIエージェントをビルドしました。
その際、LLMと埋め込み表現のためにクラウドモデル(OpenAI)を使用しました。
今回はさらに一歩進めます。Ollamaを利用して、同じエージェントをローカルモデルで実行します。
これは InterSystems FAQ サイトの記事です。
こちらの記事では、コマンド・パイプデバイスを使用して、外部コマンドの出力を取得する方法をご紹介します。
以下のように行います。
★コマンド出力を取得する例:
USER>kill
USER>set cmd="netstat -anp tcp"
USER>set pipe=##class(%File).%New(cmd)
USER>write pipe.Open("rq")
1
USER>while 'pipe.AtEnd { write !,pipe.ReadLine() }
アクティブな接続
プロトコル ローカル アドレス 外部アドレス 状態
TCP 0.0.0.0:23 0.0.0.0:0 LISTENING
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
(中略)
TCP 192.168.172.1:139 0.00.カスタマーサポートの質問は、構造化データ(オーダー、製品 🗃️)、非構造化知識(ドキュメント/よくある質問 📚)、およびライブストリーム(出荷更新 🚚)と多岐にわたります。 この投稿では、以下を使用して、3つすべてに対応するコンパクトなAIエージェントを作成します。
- 🧠 Python + smolagentsは、エージェントの「頭脳」を構成します
- 🧰 SQL、ベクトル検索(RAG)、およびInteroperabilityのためのInterSystems IRIS(モック配送状況API)
開発者の皆さん、こんにちは!
10周年のお祝いの一環として、過去 10 年間の開発者コミュニティとそのエコシステムの主要なマイルストーン、成長、成果を紹介する特別なタイムライン ビデオを作成しました。🎆
私たちがこれまでどれだけのことを成し遂げ、どれだけのものを一緒に築き上げてきたかをぜひご覧ください!
開発者の皆さん、こんにちは。
先日の 第3回InterSystemsJapan開発者コミュニティミートアップでは、Google Colab を使ったワークショップを実施しました。
その際、解説を読みながら、その場でコードを実行できる Jupyter Notebook の良さを改めて実感しました。
- 「このメソッド、どう使うんだっけ…?」
- 「処理の途中で変数の中身を確認したい…」
- 「現場で実行するルーチンと作業手順を一緒に残しておきたい…」
こうした課題は、Notebook 形式にするだけで驚くほど解決します。
サンプルコードのすぐ横に解説を置けるので、迷う時間が減り、そのまま作業ドキュメントにもできます。
ObjectScript でも同じことができれば、学習にも現場作業にもとても便利ですよね。
ObjectScript を Notebook から実行したい…でも...
実は以前、開発者コミュニティに Jupyter Notebooks に ObjectScript を追加する方法(https://jp.community.intersystems.com/node/521496)といった記事が紹介されていました。「これは便利そう!」と思い GitHub リポジトリ(https://githu
開発者の皆さん、こんにちは!
2025年12月7日、InterSystems開発者コミュニティ(US)は10周年を迎えました!🥳🎉
この10年間、学び、コラボレーション、問題解決、そして InterSystems の技術の進化を共に歩んできたことを称えたいと思います。設立当初から参加していただいた方も、最近参加された方も、これまでの貢献、ご質問、アイデア、そしてサポートに感謝いたします。この節目は、皆様のものです! 皆様のおかげで、このコミュニティは今日のような形に築き上げられました。心から感謝いたします!
記念すべき一環として、特別なアニバーサリービデオへのご参加をお願いしました。そして、素晴らしい内容が投稿されました!お時間を割いていただき、お祝いの言葉や思い出、温かいお言葉を共有してくださった皆様、本当にありがとうございました。

このセクションでは、IRISでPythonを主要言語として使用する方法について紹介します。これにより、IRISの強力な機能を活用しながら、Pythonでアプリケーションのロジックを書くことができます。
これは InterSystems FAQ サイトの記事です。
この記事では、ミラーリングの構成方法をご紹介します。
以前のバージョンでは、手動でのバックアップとリストアを行っていましたが(もしくはIRIS.datのコピー)、この機能を使用するとデータベース作成時に、別のミラーメンバーから自動的にダウンロードされます。大変便利な機能なので、ぜひお試しください。
※ こちらの問題 があるため、「自動データベースダウンロード」機能は最新バージョン 2025.1.2~ でお試しください。
本記事では、「自動ダウンロード」の機能についても、あわせてご紹介します。
では、ミラーの構成手順をご紹介します。
今回ご紹介するのは、同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー)構成です。
手順は以下になります。
開発者の皆さん、こんにちは!
3回目の開催となったミートアップですが、12月3日(水)に無事、開催を終えることができました。ご参加いただきましたメンバーの皆様、ありがとうございました!
今年は初の試みとして、ゲストスピーカーをお招きしご講演いただきました。その後から17時頃まで、各自のパソコンでワークショップの内容をお試しいただいたり、メンバー同士で会話されたりで、あっという間に時間が過ぎたように感じます。
.png)
ミートアップのワークショップで使用した内容は、全て以下リポジトリに公開しております。
https://github.com/Intersystems-jp/meetup2025Workshop
IRIS の環境は 12 月中ご利用いただけます。
ワークショップ中モデルのダウンロードのところで Notebook がなかなか進まなかったりでお試しいただけなかった部分があるかと思います。もしよろしければ、再度お試しいただければと思います。
以下、当日の写真を添えながらワークショップとネットワーキングの様子をご紹介いたします。
第1部最初は、加川さんからのご講演で
「AI駆動開発の実践──自社サービスと個人開発での活用事例」
のテーマでお話いただきました。
これは InterSystems FAQ サイトの記事です。
WebSocketは、リアルタイム双方向通信を可能にするプロトコルで、Webアプリケーションの動的な操作性を向上させるために広く活用されています。
この技術は、TCP上で動作し、HTTPプロトコルを介して接続を確立します。
一度接続が確立されると、持続的な接続が維持され、サーバーとクライアントが効率的にデータを交換できるのが特徴です。
通常のHTTP通信の場合、クライアントからのリクエストに対してサーバーが応答するというのが基本的な動作になるため、サーバーから非同期にデータを送信することが難しいですが、WebSocketを利用することでそのような機能を簡単に実現できます。
一方で、サーバーからの一方向の非同期通信が実現できれば良いという要件であれば、SSE (Server-Sent Events)を使用することもできます。
一般的にWebSocket通信が最も適していると考えられるのは、クライアント・サーバー間で双方向にデータを交換する必要がある場合になります。
双方向の接続を維持する必要があるため、状況によって、サーバー上のコンピュータ資源の消費(メモリー、CPU、IRISライセンス使用量など)に注意する必要があります。
これは InterSystems FAQ サイトの記事です。
PythonからIRISにアクセスするためのNative SDK for Pythonと呼ばれるインタフェースが用意されています。
Javaや.Net用に用意されているNative SDKと同等な機能が提供されています。
(一部異なる機能があります)。
また、Python用にはEmbedded Pythonと呼ばれるIRISと密に連携した機能があります。
IRISから最大限の性能を得るためには、Embedded Pythonが適していますが、以下のような場合、Native SDKが適しているケースもあります。
- 異なるサーバーでIRISとPythonプログラムが連携する必要がある。
- 同一サーバー上でIRISとPythonが稼働するが、システムが異なる(サブシステム間連携など)
- システムを別々の開発ベンダーが構築するなど、明確な境界を設けたい場合
Native SDKを利用することで以下のようなことを実装することができます。
- ObjectScriptやEmbedded Pythonで作成したメソッドの実行
- IRISオブジェクトの操作
- IRISグローバルデータの操作
- DBI-APIによるデータベースアクセス
以下からこれらのサンプルプログラムを取得することができます。
これは InterSystems FAQ サイトの記事です。
.NETからIRISにアクセスするためのNative SDK for .NETと呼ばれるインタフェースが用意されています。
JavaやPython用に用意されているNative SDKと同等な機能が提供されています。
(一部異なる機能があります)。
Native SDKを利用することで以下のようなことを実装することができます。
- ObjectScriptやEmbedded Pythonで作成したメソッドの実行
- IRISオブジェクトの操作
- IRISグローバルデータの操作
- ADO.NETによるデータベースアクセス
以下からこれらのサンプルプログラムを取得することができます。
詳細は、以下のドキュメントをご参照ください。
CSPでWebアプリケーションを開発する方法は今では推奨されていませんが、既存資産が膨大にあって、他の手法への書き換えには相当の時間がかかりそうな方々はたくさんおられることでしょう。
そういう方々は、しばらくはそれらCSPファイルのメンテナンスの必要性があるかと思います。
IRISではVSCodeが主たるIDEとなっていますが、開発環境がWindowsのみであれば、CSPファイルをSJISでメンテナンスしておけば、問題は起こりません。
ところが、それらのファイルをUNIX環境(LinuxやMac)に持っていって、VSCodeで編集作業を開始すると、文字化けの嵐となってしまいます。
これは以前にポストしましたが、UNIX環境のIRISは何も設定しないとロケールがenuw(英語)となっているためです。
さらにこれを日本語専用ロケールに変えても、unix環境ではロケールがjpuwの場合、ファイルの読み書きのエンコーディングが、utf8となっているので、cspファイルのエンコーディングがSJISのままでは都合が悪いです。
従ってCSPファイルのエンコーディングをUTF8に変更する必要があります。
しかし、プラットフォームの切り替えのたびにエンコーディングを変更するのも面倒です。
そこで推奨の方法は、ファイルのエンコーディングをUTF8のBOM付きに変更することです。


