検索

クリアフィルター
お知らせ
Mihoko Iijima · 2021年11月1日

大事なお知らせ: 2021.1 CommunityEdition のライセンス期限切れ(対処方法のご紹介)

InterSystems IRIS と InterSystems IRIS for Health 2021.1 CommunityEdition の組み込みライセンスが 2021年10月30日で期限切れになるよう誤って設定されていることが判明しました。大変申し訳ありません。 CommunityEdition は開発用途であるため、実稼働バージョンへの影響はありませんが、CommunityEdition のキーが期限を迎えると、ご利用中インスタンスの実行が停止する、または開始できない状況になります。 ご利用を継続いただくためには、新しいインスタンスに置き換えていただく必要があります。インスタンスの置き換えが行えない場合には、ライセンスキーのオーバーライドが行える拡張用キーをご提供しております。 ご不便おかけし、大変申し訳ありません。 置換対象のキット/コンテナのビルド番号について インストールキットとコンテナは、WRC software distribution site よりダウンロードいただけます。 バージョン 2021.1 build 215.3 をご利用ください。 拡張キーが含まれる新しいコンテナを、InterSystems Container Registry にご用意いたしました。 以下コマンドで新しいイメージを pull できます。 docker pull containers.intersystems.com/intersystems/iris-community:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/iris-community-arm64:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/irishealth-community:2021.1.0.215.3 docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2021.1.0.215.3 Docker Hub のInterSystems コンテナも更新しております。 また、AWS、Azure、GCP のクラウドマーケットプレイスにある CommunityEdition については、更新が完了しましたら、この記事でご案内します。 ライセンスキーのオーバーライドについて CommunityEdition のライセンスを2022年1月5日まで延長できる「オーバーライドキー」をご提供しています。 こちらは、WRC Direct のプレビューライセンスキー発行ページよりダウンロードいただけます。なお、新しいビルド(build 215.3)を使用されている環境にはこのキーは必要ありません。 オーバーライド用キーを反映する手順については、ドキュメントをご参照ください。 ダウンロードいただいたキーファイルを iris.key にリネームし、以下ディレクトリに配置してから IRIS を開始してください。 <インストールディレクトリ>\mgr\iris.key コンテナでのキー入れ替え方法については、こちらのドキュメントをご参照ください。 キーの期限切れの問題については、以前のバージョンの CommunityEdition(2020.1.1を含む)にも当てはまり、オーバーライドキーで対応可能です。 なお、「オーバーライドキー」の使用を DevOps のベストプラクティスとして推奨しているわけではなく、コンテナを置換する代わりの方法として推奨しております。 WRC Direct のアカウントをお持ちでない場合 大変お手数おかけいたしますが、コンテナ利用の場合には、コンテナの置換、インストールキットでご利用の場合は、 build 215.3 をダウンロードいただき、上書き(Upgrade)インストールをお願いいたします。 詳細は、こちらのドキュメントをご参照ください。 何かご不明な点ございましたら、お知らせくださいませ。 どうぞよろしくお願いいたします。 追加情報をお知らせします。 コミュニティが提供するZPM対応イメージの準備も整いました。 intersystemsdc/iris-community:2021.1.0.215.3-zpm intersystemsdc/iris-ml-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-community:2021.1.0.215.3-zpm intersystemsdc/irishealth-ml-community:2021.1.0.215.3-zpm 開始方法の例 docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community:2021.1.0.215.3-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-ml-community:2021.1.0.215.3-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community:2021.1.0.215.3-zpm docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-ml-community:2021.1.0.215.3-zpm 開始後のログイン方法 docker exec -it my-iris iris session IRIS 管理ポータルの開始方法 http://localhost:9092/csp/sys/UtilHome.csp コンテナ停止方法 docker stop my-iris
お知らせ
Seisuke Nakahashi · 2023年5月10日

2023.2 からスタジオが非推奨となります

インターシステムズは、高品質な開発体験をみなさまにご提供することお約束しています。その中には優れた IDE (Integrated Developer Experience) も含まれます。ここ数年、長くお使いいただいている弊社独自の IDE である InterSystems スタジオと並行して、Visual Studio Code の ObjectScript ツールを提供してきました。VSCode-ObjectScript プラグインは 46,000 以上ダウンロードされ、開発者のみなさまからは、「すぐれた開発体験であり、今や InterSystems Studio を凌駕した」との嬉しいフィードバックをいただいています。 2023.2 のリリースから、InterSystems スタジオ非推奨となります (非推奨とは、インターシステムズが今後は積極的に開発を行わない、より優れたオプションが存在する機能を意味します)。 しばらくの間は InterSystems スタジオのメンテナンス、リリース、サポートは続けます。いくつかのお客様にとっては、スタジオが今なお重要なツールであることは重々承知しております。しかしながら、私たちはこれ以上スタジオに注力しないことをご理解いただければ幸いです。私たちは現在、VSCode に注力しています。 VS Code 拡張機能に関して、オープンソースを維持しながらのフルサポートと、定期的かつ迅速なリリースを提供するエコシステムが成長するために、貴重な意見をくださったすべてのお客様に心から感謝もうし上げます。この旅はつづきます。これからもみなさまからのフィードバック・アイデア・コードをお待ちしています。 この件に関しまして、遠慮なくコメントやメッセージをお寄せください。これまで同様、重要なプロセスにおいては、みなさまのご意見が私たちの大切な道しるべとなります。
記事
Hiroshi Sato · 2021年9月30日

データベースファイルのタイムスタンプ(更新日時)の更新タイミング

これは InterSystems FAQ サイトの記事です。IRIS.DAT/CACHE.DATのタイムスタンプ更新は、データベースの内容の更新後のディスマウント時 (明示的なディスマウント処理または停止処理の際、 または、 データベースファイルのサイズ拡張時に発生します。
記事
Mihoko Iijima · 2023年2月19日

OpenAPI-Suite(OpenAPI 3.0からObjectScriptコードを生成するためのツールセット):InterSystemsデベロッパーツールコンテスト2023入賞作品のご紹介

開発者の皆さん、こんにちは! InterSystems デベロッパーツールコンテスト2023 の21の応募作品の中から、Experts Nomination 第3位に輝いた @Lorenzo Scalese さんの OpenAPI-Suite(OpenAPI3.0 からObjectScriptコードを生成するためのツールセット)についてご紹介します。 現時点でIRISはOpenAPI2.0までの対応なのですが、このツールの凄いところは、OpenAPI3.0に対応しているところです! 提供している機能は、以下の通りです。 サーバー側クラスの作成(OpenAPI2.0と同様に、APIファーストで作成するRESTディスパッチクラスの作成に必要なクラス群を作成します。) HTTPクライアントクラスの作成 クライアントプロダクション(ビジネス・サービス、ビジネス・オペレーション、ビジネス・プロセス、Ens.Request、Ens.Response) このツールから生成する機能を指定できるWebインターフェース OpenAPI 1.x、2.x からバージョン3.0への変換ツール 各機能について詳しくは、@Lorenzo Scales さんが書かれた記事「OpenAPI Suite - Part 1」「OpenAPI Suite - Part 2」をご参照ください。 この記事では、1の機能を試してみました。その中でも、以下の対応がとても素晴らしい!と思いました。 OpenAPI 3.0から加わったComponentsオブジェクトの内容に合わせ、クラス定義を自動生成している(指定するパッケージ以下にmodelパッケージができ、そこにインスタンス化できるクラスができています) POSTやPUTの場合、HTTP要求で渡される情報を実装クラス(impl.cls)で処理しやすいように、Bodyで受け取ったJSON文字を1で生成されたクラスのインスタンスに設定するところまで処理してくれています。 現時点では、一部手動で修正が必要ですが、そのまま作成されたインスタンスを利用してimpl.clsで%Save()を書いたら保存されました。) IRISには、OpenAPI2.0の仕様でRESTディスパッチクラスを作成する方法が提供されていますが、使用するクラス群とベースURLの作成のみを行っています。 参考までに、IRISが対応しているOpenAPI2.0で作成した内容をご紹介します。 (OpenAPI2.0の仕様で作成されたJSONサンプルを使用しています。) 以下の例では、/curdがベースURLとなり、curdパッケージ以下にクラス群が作成されます。​​​​​​ 生成されるクラスは以下の通りです(左:impl.cls、右:spec.cls) ディスパッチクラス(disp.cls)は加工不要クラスのため、例ではスタジオでの表示でご紹介しています。 詳細は【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:(REST)APIファーストで作成するRESTディスパッチクラス のビデオをご参照ください。 次は @Lorenzo Scalese さんの OpenAPI-Suite の結果をご紹介します。 使用するまでの手順はとても簡単です。 IPM(InterSystems Package Mangaer:以前はZPMとも呼ばれていました)のクライアントツールを管理ポータルかスタジオからインポートしたら、以下コマンドを実行するだけでツールの準備が整います。 クライアントツールのインポートはどのネームスペースでも大丈夫です。管理ポータルからインポートされる場合は、以下メニューを利用します。 管理ポータル→システムエクスプローラ→クラス→インポート対象ネームスペースを選択→インポートボタンクリック RESTディスパッチクラスを置きたいネームスペースに移動し、ZPMコマンドを利用してツールをインストールします。 zpm "install openapi-suite" インストール時の画面表示 USER>zpm "install openapi-suite" [USER|sslclient] Reload START (/usr/irissys/mgr/.modules/USER/sslclient/1.0.4/)[USER|sslclient] Reload SUCCESS[sslclient] Module object refreshed.[USER|sslclient] Validate START[USER|sslclient] Validate SUCCESS[USER|sslclient] Compile START[USER|sslclient] Compile SUCCESS[USER|sslclient] Activate START[USER|sslclient] Configure START[USER|sslclient] Configure SUCCESS[USER|sslclient] Activate SUCCESS[USER|yaml-utils] Reload START (/usr/irissys/mgr/.modules/USER/yaml-utils/0.1.2/)[USER|yaml-utils] Reload SUCCESS[yaml-utils] Module object refreshed.[USER|yaml-utils] Validate START[USER|yaml-utils] Validate SUCCESS[USER|yaml-utils] Compile START[USER|yaml-utils] Compile SUCCESS[USER|yaml-utils] Activate START[USER|yaml-utils] Configure START[USER|yaml-utils] Configure SUCCESS[USER|yaml-utils] Activate SUCCESS[USER|swagger-validator-cli] Reload START (/usr/irissys/mgr/.modules/USER/swagger-validator-cli/0.0.1/)[USER|swagger-validator-cli] Reload SUCCESS[swagger-validator-cli] Module object refreshed.[USER|swagger-validator-cli] Validate START[USER|swagger-validator-cli] Validate SUCCESS[USER|swagger-validator-cli] Compile START[USER|swagger-validator-cli] Compile SUCCESS[USER|swagger-validator-cli] Activate START[USER|swagger-validator-cli] Configure START[USER|swagger-validator-cli] Configure SUCCESS[USER|swagger-validator-cli] Activate SUCCESS[USER|swagger-converter-cli] Reload START (/usr/irissys/mgr/.modules/USER/swagger-converter-cli/0.0.2/)[USER|swagger-converter-cli] Reload SUCCESS[swagger-converter-cli] Module object refreshed.[USER|swagger-converter-cli] Validate START[USER|swagger-converter-cli] Validate SUCCESS[USER|swagger-converter-cli] Compile START[USER|swagger-converter-cli] Compile SUCCESS[USER|swagger-converter-cli] Activate START[USER|swagger-converter-cli] Configure START[USER|swagger-converter-cli] Configure SUCCESS[USER|swagger-converter-cli] Activate SUCCESS[USER|objectscript-openapi-definition] Reload START (/usr/irissys/mgr/.modules/USER/objectscript-openapi-definition/1.3.1/)[USER|objectscript-openapi-definition] Reload SUCCESS[objectscript-openapi-definition] Module object refreshed.[USER|objectscript-openapi-definition] Validate START[USER|objectscript-openapi-definition] Validate SUCCESS[USER|objectscript-openapi-definition] Compile START[USER|objectscript-openapi-definition] Compile SUCCESS[USER|objectscript-openapi-definition] Activate START[USER|objectscript-openapi-definition] Configure START[USER|objectscript-openapi-definition] Configure SUCCESS[USER|objectscript-openapi-definition] Activate SUCCESS[USER|io-redirect] Reload START (/usr/irissys/mgr/.modules/USER/io-redirect/1.0.2/)[USER|io-redirect] Reload SUCCESS[io-redirect] Module object refreshed.[USER|io-redirect] Validate START[USER|io-redirect] Validate SUCCESS[USER|io-redirect] Compile START[USER|io-redirect] Compile SUCCESS[USER|io-redirect] Activate START[USER|io-redirect] Configure START[USER|io-redirect] Configure SUCCESS[USER|io-redirect] Activate SUCCESS[USER|openapi-common-lib] Reload START (/usr/irissys/mgr/.modules/USER/openapi-common-lib/1.0.0/)[USER|openapi-common-lib] Reload SUCCESS[openapi-common-lib] Module object refreshed.[USER|openapi-common-lib] Validate START[USER|openapi-common-lib] Validate SUCCESS[USER|openapi-common-lib] Compile START[USER|openapi-common-lib] Compile SUCCESS[USER|openapi-common-lib] Activate START[USER|openapi-common-lib] Configure START[USER|openapi-common-lib] Configure SUCCESS[USER|openapi-common-lib] Activate SUCCESS[USER|openapi-server-gen] Reload START (/usr/irissys/mgr/.modules/USER/openapi-server-gen/1.0.0/)[USER|openapi-server-gen] Reload SUCCESS[openapi-server-gen] Module object refreshed.[USER|openapi-server-gen] Validate START[USER|openapi-server-gen] Validate SUCCESS[USER|openapi-server-gen] Compile START[USER|openapi-server-gen] Compile SUCCESS[USER|openapi-server-gen] Activate START[USER|openapi-server-gen] Configure START[USER|openapi-server-gen] Configure SUCCESS[USER|openapi-server-gen] Activate SUCCESS[USER|openapi-client-gen] Reload START (/usr/irissys/mgr/.modules/USER/openapi-client-gen/2.1.0/)[USER|openapi-client-gen] Reload SUCCESS[openapi-client-gen] Module object refreshed.[USER|openapi-client-gen] Validate START[USER|openapi-client-gen] Validate SUCCESS[USER|openapi-client-gen] Compile START[USER|openapi-client-gen] Compile SUCCESS[USER|openapi-client-gen] Activate START[USER|openapi-client-gen] Configure START[USER|openapi-client-gen] Configure SUCCESS[USER|openapi-client-gen] Activate SUCCESS[USER|openapi-suite] Reload START (/usr/irissys/mgr/.modules/USER/openapi-suite/1.0.0/)[USER|openapi-suite] Reload SUCCESS[openapi-suite] Module object refreshed.[USER|openapi-suite] Validate START[USER|openapi-suite] Validate SUCCESS[USER|openapi-suite] Compile START[USER|openapi-suite] Compile SUCCESS[USER|openapi-suite] Activate START[USER|openapi-suite] Configure START[USER|openapi-suite] Configure SUCCESS[USER|openapi-suite] Activate SUCCESSUSER> インストール後、以下URLでツールの専用画面にアクセスできます。 http://localhost:ポート番号/openapisuite/ui/index.csp 例)http://localhost:52773/openapisuite/ui/index.csp 初期段階では、画面右下の「Install On Server」ボタンは押せなくなっています。以下グローバル変数に値をセットすることで、ボタンが押せるようです。 (ZPMコマンドでツールをインストールしたネームスペースでセットしてください) Set ^openapisuite.config("web","enable-install-onserver") = 1 準備が完了したら、以下設定します。 「Applcation package name」にはクラス定義のパッケージ名を(例では、PetStore)、「What do you want to generate?」では、「REST Server」を選択します。「NameSpace」にはRESTディスパッチクラスを登録したいネームスペースを選択し、「Web Application Name」には、定義したいベースURL(ウェブ・アプリケーションパス)を指定します(例では、/pet1)。 後は、OpenAPIの仕様に基づいて作成されたJSONファイルを指定するだけですが、サンプルでは、https://petstore3.swagger.io/api/v3/openapi.json がデフォルトで指定されていますのでこのまま使用します。 最後に、「Install On Server」ボタンをクリックします。 以下のようにログが表示されますので、正常に終了したことを確認してCloseボタンをクリックします。 ツールを通して、ウェブアプリケーションパス:/pet1が作成されている予定です。確認してみましょう。 管理ポータル→システム管理→セキュリティ→アプリケーション→ウェブ・アプリケーション から /pet1があるか確認します。 しっかり作成されていました! では、入力されたパスに対応するメソッドのマッピングが記載されているdisp(​ディスパッチクラス)や、コードを実装するimplクラスができているか確認してみます。 PetStoreパッケージ以下にしっかりクラス定義が作成されていました! IRISが提供するOpenAPI2.0のクラス群と異なる点は、modelパッケージとrequestsパッケージが含まれている点です。 このツールの中では、OpenAPI3.0のComponentsオブジェクトで指定している情報を、インスタンス生成ができるクラス定義として作成しています。(初期段階では%RegisteredObjectクラスを継承しています) ComponentsオブジェクトのPetの情報は、以下展開すると参照できます。 Components:PetのSpec "Pet":{ "required":[ "name", "photoUrls" ], "type":"object", "properties":{ "id":{ "type":"integer", "format":"int64", "example":10 }, "name":{ "type":"string", "example":"doggie" }, "category":{ "$ref":"#/components/schemas/Category" }, "photoUrls":{ "type":"array", "xml":{ "wrapped":true }, "items":{ "type":"string", "xml":{ "name":"photoUrl" } } }, "tags":{ "type":"array", "xml":{ "wrapped":true }, "items":{ "$ref":"#/components/schemas/Tag" } }, "status":{ "type":"string", "description":"pet status in the store", "enum":[ "available", "pending", "sold" ] } }, "xml":{ "name":"pet" } }, この情報から作成されたクラスは以下の通りです。 インスタンス化ができるクラスで用意されています。 スーパークラスを%RegisteredObjectから%Persistentに変更+コンパイルを行えば、データベースに登録できる永続クラスとして利用できます。 また、POST要求では、以下の形式でJSONオブジェクトが送付されます。 { "id": 0, "category": { "id": 0, "name": "Dog" }, "name": "Hachi", "photoUrls": [ "https://x.gd/1pbYK" ], "tags": [ { "id": 0, "name": "Middle" } ], "status": "available" } このJSONをそのままPet、Tag、Categoryクラスのインスタンスに当てはめることができればいいので、%JSON.Adaptorを追加で継承させるとよさそうです。 ということで、Pet、Tag、Categoryに手を加えるとしたら、スーパークラスの設定を %RegisterdObject から %Persistent と %JSON.Adaptor の多重継承に変えたらよさそうです。 この後は、受け取ったBodyの情報をデータベースに更新する処理が必要です。 この処理の大枠を記載してくれているのが、requestパッケージ以下クラスです。以下例では、/petに対してPOST要求を行うときに動作するクラス(PetStore.requests.addPet.cls)の中身です。 LoadFromRequest()メソッドに注目すると、引数requestにHTTP要求を操作できる%requestが渡されるようになっています(IRISのRESTディスパッチクラスの内部処理では、HTTP要求は%CSP.Requestクラスのインスタンスに収納されます)。 request.Content 上記実行でBodyに指定されたJSONオブジェクトを取得できます。 Do ..PetNewObject().%JSONImport(request.Content) と記述がありますが、このクラス内にPetNewObject()メソッドがないため、以下のように修正しています(Petのインスタンスを生成し、プロパティPetに設定した後、受信したJSONをインスタンスに割り当てるための処理に変えています)。 set ..Pet=##class(PetStore.model.Pet).%New() do ..Pet.%JSONImport(request.Content) これで、HTTP要求を受信したときの処理は終了です。残りは、impl.clsの実装です。 初期段階では、以下の状態で何も記載されていません。 ClassMethod addPet(messageRequest As PetStore.requests.addPet) As %Status { ; Implement your service here. ; Return {} $$$ThrowStatus($$$ERROR($$$NotImplemented)) } 引数messageRequestには、1つ前の流れで確認した PetStore.requests.addPet クラスのインスタンスが指定されています(このインスタンスのPetプロパティにHTTP要求で受信したJSONオブジェクトから作成したインスタンスが設定されています。) 以下のように書き換え、コンパイルを行ったら修正は終了です! ClassMethod addPet(messageRequest As PetStore.requests.addPet) As %Status { ; Implement your service here. ; Return {} //$$$ThrowStatus($$$ERROR($$$NotImplemented)) set status=$$$OK set status=messageRequest.Pet.%Save() return status } POST要求をテストしてみます。 ​​ PetもCategoryもTagもしっかりデータ登録できました! 少し加工が必要ですが、OpenAPI3.0のComponentsオブジェクトからクラス定義が自動生成されるところが、とても便利だと思いました! ぜひ皆さんもお試しください。
お知らせ
Seisuke Nakahashi · 2025年4月3日

警告:IRIS 2024.3 で発生する2問題 - AIX での JSON パース / Integrated ML コンテナ非互換性

IRIS 2024.3 で発生する2つの製品障害が確認されました。お使いの環境が該当する場合は、それぞれの解決方法にしたがってご対応いただきますよう、よろしくお願いします。 ... [障害1] AIX プラットフォームにおける JSON Unicode パース問題 AIX 上の InterSystems IRIS 2024.3 で、JSON Unicode 文字列のパースに影響する障害が確認されました。 [対象バージョン]以下のオペレーティングシステム かつ 以下のバージョンでのみ発生します。 対象OS: AIX 対象バージョン: 2024.3 [問題の詳細]本障害は、AIX 上の Unicode バージョンのインスタンスでのみ発生し、ASCII 文字とUnicode 文字が混在するデータを処理するアプリケーションに影響します。 具体的には、%FromJSON() または %FromJSONFile() を使って $CHAR(256) 未満の文字の後に $CHAR(255) 以降の Unicode 文字が続く文字列を解析したときに発生します。その結果、文字が予期しない $CHAR(0) に変換されるなどして誤った文字がデータベースに保存されたり、エラーが発生しないまま結果が返る可能性があります。本障害は DP-439207 で解決されました。 [解決方法]AIX 上で InterSystems IRIS 2024.3.0 を実行し、かつ、Unicode データベースがあり、Unicode と非 Unicode の文字が混在している場合は、できるだけ早く InterSystems IRIS 2025.1.0 にアップグレードしてください。 ... [障害2] IntegratedML コンテナにおける TensorFlow 問題 IRIS 2024.3 コンテナ版で IntegratedML を使用すると、トレーニングエラーが発生する可能性があります。 [対象バージョン]以下の IRIS 2024.3 コンテナ版 container.intersystems.com/intersystems/iris-ml:2024.3 [問題の詳細]InterSystems が提供する IRIS 2024.3 コンテナで IntegratedML を使用時に TensorFlow と関連する依存関係との互換性の問題により、モデルのトレーニングに失敗する可能性があります。 [解決方法]IntegratedML を IRIS または IRIS for Health のコンテナで使用される場合、開発者コミュニティ記事(英語)の方法で、独自コンテナを作成することが推奨されます。 上記手順のように pip パッケージマネージャによって依存関係を手動で管理いただくことで、IntegratedML Python 環境内での scikit-learn のような AutoML コンポーネントの互換性と適切な機能が保証されます。 ... これら警告についてご質問がある場合は、カスタマーサポートセンターにご連絡下さい。
記事
Hiroshi Sato · 2021年3月3日

チーム開発を行う際に必要なソース管理の仕組みについて

これは InterSystems FAQ サイトの記事です。 InterSystems Data Platform自身には、ソース管理を行う機能はありません。 2016.2以降のバージョンをご使用の場合、統合開発環境として VSCode をご利用いただくことで、VSCode でご利用いただけるソース管理機能をご使用いただけます。 VSCode で ObjectScriptの操作を行うためには、専用エクステンションのインストールが必要です。 使用方法については、コミュニティの記事「VSCode を使ってみよう!」をご参照ください。 また、「VSCodeでのソースコード管理について」についても併せてご参照ください。 2016.2より前のバージョンをご使用の方でも使用できる方法としては、InterSystems製品 のIDEであるスタジオに、外部のソース管理ツール、製品と連携するためのフック機能があります。 このフック機能は、複数のAPIで構成されており、お客様毎にご自身の環境に合わせて、作りこむことを前提に提供されております。 よく使われるマイクロソフトのVisual Source SafeとSubversion(SVN)については、テンプレートがあります。 このテンプレートを利用すると、作りこみの作業を短縮することが可能です。 テンプレートにつきましては、カスタマーサポートセンターまでお問い合わせ下さい。
記事
Megumi Kakechi · 2022年9月5日

Web経由でイメージファイルを IRIS にアップロード/ダウンロードする方法

これは InterSystems FAQ サイトの記事です。 Web 経由でのイメージファイルのアップロード/ダウンロードを行うサンプルをご紹介します。サンプルでは、以下の手順でファイルの「アップロード/ダウンロード」を行っています。 Stream型のプロパティをもったクラスを用意する upload ボタン押下でイメージファイルをIRISサーバにアップロードする アップロードされたデータを %request.MimeData で受け取り CopyFromAndSave メソッドを使ってコピー&1 のクラスに保存する アップロードされたファイルを画面に表示する download ボタンを押下し、1 のクラスに保存したファイルをローカルにダウンロードする。 サンプルプログラムの使い方は次のとおりです。 User.test.xmlをUSERネームスペースにインポート test1.csp, test2.cspをC:\InterSystems\IRIS\csp\user にコピー http://localhost/csp/user/test1.csp を実行 最初のページでファイルを選択し go ボタンをクリックすると、次のページにアップロードされた画像が表示されます。 アップロードしたファイルをダウンロードしたい場合は、download ボタンをクリックしてください。 詳細はtest1.csp, test2.cspのコードをご参照ください。 今回使用したサンプルはこちらにあります 👉https://github.com/Intersystems-jp/CSPUploadDownload
記事
Megumi Kakechi · 2020年11月24日

差分バックアップがうまく取れない場合に確認すること

これは、InterSystems FAQサイトの記事です。 以下に当てはまる場合、差分バックアップではなくフルバックアップが取られます。 ・リストの中に1つでもフルバックアップを取っていないデータベース(DB)が含まれるとき・リストの中に読み込み専用のDBが含まれるとき →読込専用DBはバックアップが取れないため、対象リストのDBは毎回フルバックアップが取られます ReadOnlyマウントしたDBをバックアップしようとすると、以下のようなログが出力されます。 WARNING - the following directories could not be backed up c:\intersystems\ensemble\mgr\xxx\ (Database is readonly) 読込専用DBはバックアップリストから除く必要があります。 もし、読込専用DBをバックアップする場合は、別途バックアップする必要があります。
記事
Makiko Kokubun · 2021年3月30日

動画:FHIR+IRIS for Health 101

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。 この動画では、FHIR をご存じない方に向けて FHIR の概要を解説し、日本における FHIR 標準化活動の状況や国内外の事例を紹介しています。 後半の16分~くらいからは、InterSystems IRIS for Health が提供する FHIR リポジトリに代表される FHIR 関連機能と、今後の機能ロードマップを紹介しています。 この開発者コミュニティでは他にも IRIS の FHIR 機能に関連した多くの記事を公開しています。FHIR にご興味ある方はぜひご覧ください。 FHIR R4 リソースリポジトリを簡単にお試しいただける開発環境テンプレートのご紹介 Azure 上で IRIS for Health をデプロイし、FHIR リポジトリを構築する方法 その他FHIR関連記事 (#FHIRタグ)

#Adaptive Analytics

5 投稿0 フォロワー
記事
Hiroshi Sato · 2021年1月27日

スタジオで一括で選択範囲をコメントにする方法

これは InterSystems FAQ サイトの記事です。 一括コメントを付与したい行全体を選択後、Ctrl + / を入力することで、選択範囲を一括でコメントにすることができます。 コメントの一括解除には、コメントを解除したい行全体を選択後 Ctrl + Shift + / を入力します。
記事
Mihoko Iijima · 2021年7月5日

Extent クエリの結果が ID 順にならないわけ

これは InterSystems FAQ サイトの記事です。 %Persistent クラスに既定で生成される Extent クエリは、ID 順に結果セットを出力することを意図していませんので、これは、仕様通りの動きとなります。 並び順は、設定されているインデックスにより、変わることがあります。
記事
Hiroshi Sato · 2022年8月22日

正規表現を使ってパターンに一致した部分文字列を取得する方法

これは InterSystems FAQ サイトの記事です。 正規表現を使用する$Locate()関数がご使用いただけます。 正規表現の使用方法 使用方法の例は以下の様になります。 USER>write strあいうえおかきくけこABC123456さしすせそ USER>write $locate(str,"[A-Za-z]{3}[0-9]{6}",,,val)11 USER>write valABC123456 USER>

#HealthShare

143 投稿0 フォロワー
記事
Tomoko Furuzono · 2025年4月3日

ロードバランサやプロキシサーバ経由でアクセスしている接続元クライアントIPを取得する方法

これは、InterSystems FAQ サイトの記事です。 HTTPプロキシサーバまたは負荷分散装置(ロードバランサ)を経由してウェブサーバに接続するクライアントの送信元IPアドレスを特定する際は、HTTPヘッダ:X-Forwarded-For (XFF) を取得しますが、IRISでは以下で取得できます。 set ip = %request.GetCgiEnv("HTTP_X_FORWARDED_FOR")