開発者の皆さん、こんにちは!
次のInterSystems プログラミングコンテストの内容についてご案内します📣
期間:2024年7月15日~2024年8月4日
賞金総額:$14,000
開発者の皆さん、こんにちは!
次のInterSystems プログラミングコンテストの内容についてご案内します📣
期間:2024年7月15日~2024年8月4日
賞金総額:$14,000
これは InterSystems FAQ サイトの記事です。
監査ログはシステムDB内テーブル(%SYS.Audit)に記録されていますので、そのテーブルに対するクエリを実行して抽出したり、%SYS.Auditテーブルに用意されていストアドプロシージャを利用して情報を取得しファイル出力するようにプログラムを用意することもできます。
以下にご紹介する内容は「監査ログをプログラムで出力(ユーザやイベント指定など)する方法」に関連した内容で、監査ログのファイル出力を管理ポータルの機能を利用した例とプログラムを利用した例でご紹介します。
管理ポータル > [システムエクスプローラ] > [SQL]を開き、%SYSネームスペースに接続します。
システムのチェックを入れ、スキーマに%SYSを指定した後、プロシージャの階層を展開するとプロシージャリストが参照できます。
%SYS.Audit_ で始まるプロシージャが監査ログに対して実行できるプロシージャです。
SQL文例)InterSystems製品内ユーザのSuperUserに対する監査ログをストアドプロシージャ:%SYS,Audit_ListByUser を利用して出力しています。
call %SYS.Audit_ListByUser(,,,,,'SuperUser')これは InterSystems FAQ サイトの記事です。
PythonスクリプトファイルやPythonで記述されたIRIS内メソッドを呼び出す際、エラーが発生した場合の対応方法をご紹介します。
説明使用するコードや資料PDFは公開しています👉 test1.py、FS.Utilsクラス、コードのコピー元、ビデオで解説している資料PDF
Embedded Python 自習用ビデオをご用意しています(項目別にYouTubeプレイリストをご用意しています)。
各プレイリストについて詳しくはこちらをご参照ください👉【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開!
これは InterSystems FAQ サイトの記事です。
InterSystems製品のサーバサイドでファイル入出力を行うと、文字列はシステムで設定されたファイル入出力用文字コードに自動変換され、文字単位でREADします。
ファイルから入力する文字をバイト単位で操作するためには、自動変換を行わない無変換の状態でファイル入力を行い指定バイトずつ読みながら読んだ分だけUnicodeに手動で変換していく必要があります。
変換には$ZCONVERT()関数を使用します。($ZCONVERT()には省略形があり$ZCVT()でも同様の操作が行えます。)
なお、READした指定バイトを変換する際、文字の全バイトが含まれない場合もあるため、途中までの読み取りになった文字列を第4引数に指定する変数に設定できるようになっています。
次回読み取り時に途中だった文字を自動的に先頭に追加し、$ZCONVERT()の処理を実行します。
《メモ》ファイル入出力の文字コードについては、以下管理ポータルの画面で確認できます。
管理ポータル > 構成 > 国際言語設定 > 構成したデフォルト値
入力/出力テーブルの表の「ファイル」
以下の文章がファイルにUTF8で保存されているとします。
開発者の皆さん、こんにちは。
次のコンテストの開催が決定しました!💡 第3回 InterSystems アイデアコンテスト 💡
InterSystems アイデアコンテストは開発者コミュニティのメンバー(InterSystems社員も含)であればどなたでもご応募いただけます!
このコンテストでは、インターシステムズの製品やサービスを強化するための革新的なアイデアを募集しています。あなたのアイデアが他の利用者にもたらす具体的なメリットや、インターシステムズの技術で開発者の体験をどのように向上させるかについて実際の使用事例に基づいた提案をお待ちしています。
📅 期間:2024年6月10日~2024年7月7日
🏆 優秀なアイデアには賞品が贈られます!
🎁 参加賞あります!: コンテストに採用された方全員に参加賞をご用意しています!👕
>> 6月10日よりアイデア募集します! <<
InterSystems製品のバックアップ方法の中の4つの目方法は「コールドバックアップ」です。
InterSystems製品を停止できるときに利用できるバックアップ方法です。別サーバに環境を移植するときや、コミュニティエディションから製品版キットのインストール環境にデータベースを移植する場合などにもお使いいただけます。
1. InterSystems製品を停止する
2. バックアップしたいデータベースを退避する
3. InterSystems製品を開始する
既存環境から新環境へ移植する場合などの手順
1. 既存環境のInterSystems製品を停止する。
既存環境の設定など含めて全てを新環境に移植する場合は、以下記事の退避内容をご確認いただき、ご準備ください。
2. 新環境にInterSystems製品をインストールする。
1. の手順でコピーしていた情報をもとに、新環境の構成を設定します。
3. 新環境のInterSystems製品を停止する。
4. 既存環境のデータベースファイル(.DAT)を新環境の対象となるデータベースディレクトリに配置する(置換する)
対象:ユーザ用DB
5. 新環境のInterSystems製品を開始する。
InterSystems製品のバックアップ方法の中の3つの目方法は、「並行外部バックアップ」についてです。
この方法は外部バックアップと異なり、スナップショットなどのストレージ機能がない環境に向いている方法でオンラインバックアップよりも高速にバックアップできます。(古いバージョンのInterSystems製品でも利用できるバックアップ方法です。)
ただし、バックアップやリストア手順が複雑になります。
並行外部バックアップの利用を検討される際は、事前にリストア手順についてもテスト環境などでご確認いただくことを推奨します。
データベースファイル(.DAT)を通常のコピーコマンドなどで退避します。
データベースファイルのサイズによってはコピー時間が長くなります。外部バックアップの方法を利用するとライトデーモン凍結時間のタイムアウトを迎えてしまうため、バックアップを正しく完了できません。
そのため並行外部バックアップでは、ライトデーモンの凍結を行わずデータベースのダーティコピーを行う方法を採用しています。
ダーティコピーのバックアップファイルだけでは不完全であるため、最後にオンラインバックアップの差分バックアップを行うことで完全なバックアップを取得します。
最後の手順に差分バックアップを行うため、オンラインバックアップと同様にデータベースリストを事前に作成する必要があります。
この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「オンラインバックアップ」の仕組みと、バックアップ・リストア手順について解説します。
オンラインバックアップは、InterSystems製品が用意するバックアップ機能を利用する方法で、バックアップ対象に設定した全データベースの使用済ブロックをバックアップする方法です。
InterSystems製品のデータベースには、サーバ側で記述したコード、テーブル定義/クラス定義、データ(レコード、永続オブジェクト、グローバル)が格納されていますので、これらすべてが1つのファイルにバックアップされます。
開発者の皆さん、こんにちは。
この記事は、「インターシステムズ製品をバックアップする前に確認したいこと」に続く記事で、InterSystems製品のバックアップの手法の中の「外部バックアップ」の仕組みと、バックアップ・リストア手順について解説します。
まず、「外部バックアップ」とは、InterSystems製品の専用ルーチン使用せず、InterSystems製品以外のバックアップソリューションを使用してデータベースをバックアップする方法で、現時点の推奨されるバックアップ方法です。
詳細な説明、手順については、ドキュメント「外部バックアップ」をご参照ください。
外部バックアップでは、主に、論理ディスク・ボリュームの有効な "スナップショット" を迅速に作成するテクノロジと共に使用します。
例えば、
スナップショット・テクノロジが使用できないシステムであっても、後述する「特別な考慮」で対応できればご利用いただけます。
それでは早速、外部バックアップの前後で必要となるIRIS側の手続きと、バックアップとリストアについて確認していきましょう!
開発者の皆さん、こんにちは。
この記事では、InterSystems製品のバックアップ方法(4種類)のご紹介と、バックアップを行う前に確認しておきたい内容について解説します。
また、この記事に続くシリーズ記事では、それぞれのバックアップの仕組みと操作例を交えたバックアップとリストア手順を解説していきます。
シリーズ記事の中で行っているバックアップ練習、リストア練習の内容については、インターシステムズの講師付きトレーニングコースの中でも取り入れている内容で、一人1環境の演習環境内で実際にお試しいただいています。
参加者の皆さんと一緒に演習を進めて行きますと、データベースリストアの後に行うジャーナルリストアについては、ユーティリティから出力される確認項目が多いため、皆さん慎重に確認されながらリストアの指示を入力されています。そのため、リストア開始前の手続きや準備に意外と時間がかかっています。(実行例)
開発者の皆さん、こんにちは。
InterSystems ベクトル検索、GenAI、 ML コンテスト(USコミュニティ)の投票が始まりました!今回は新メンバーからの6作品を含め、16のアプリケーションが投稿されました。
🔥 ベストアプリケーションはこれだ! 🔥と思う作品にぜひ投票をお願いします!
投票方法は以下の通りです。
開発者の皆さん、こんにちは。
2023年5月にご案内した記事「2023.2 からスタジオが非推奨となります」でもご案内しましたが、インターシステムズは、IRIS 2023.2のリリースからスタジオの廃止を発表しました。
詳細な非推奨計画は2023年11月にお知らせした記事「InterSystems Studio の非推奨に関するお知らせ」でご案内していましたが、バージョン2024.2のプレビューリリースが始まり現在その計画の最初のマイルストーンに到達しました。
バージョン2024.2 プレビューキット以降、Windows キットにはスタジオが含まれなくなります。つまり、このキットを使用した新規インストールでは スタジオがインストールされません。既存のインスタンスをバージョン 2024.2以降にアップグレードした場合は、インスタンスの bin ディレクトリから スタジオが削除されます。
開発者の皆さん、こんにちは!
(2024.4.17更新:コンテストタイトルに「ベクトル検索」を追加しました)
次の InterSystems オンラインプログラミングコンテストのテーマが決定しました!👉生成 AI、ベクトル検索、機械学習 です!
🏆 InterSystems ベクトル検索、GenAI、ML コンテスト(USコミュニティ) 🏆
期間: 2024年4月22日~5月19日
賞金総額: $14,000
開発者の皆さん、こんにちは!
USコミュニティ開催の ✍️ 技術文書ライティングコンテスト: InterSystems IRIS チュートリアル ✍️ の勝者が発表されました!📣
今回は、19人のメンバーから🌟 21 の素晴らしい記事 🌟が投稿されました。
全ての記事が素晴らしい内容であったため、審査員からは3記事を選択するのが非常に難しかったとのコメントがありました。
それでは、受賞者の皆さんを紹介します!
開発者の皆さん、こんにちは。
(2024/5/30:6月の日時、ウェビナー内容を更新しました)
InterSystems IRIS、InterSystems IRIS for Healthの新バージョン2024.1がリリースされました。
様々な機能の追加や実験的機能としての追加が行われましたが、その中から以下3種類の内容についてウェビナーを開催します!📣
✅4月23日(火)13時半~14時:IRIS 2024.1の管理用Webサーバ(PWS)廃止に備えて
YouTube公開しました👉https://youtu.be/bVwWZt1oNws?list=PLzSN_5VbNaxCeC_ibw2l-xneMCwCVf-Or
✅5月30日(木)13時半~14時:ベクトル検索機能のご紹介
YouTube公開しました👉https://youtu.be/v0G7K2et_Yk?list=PLzSN_5VbNaxB39_H2QMMEG_EsNEFc0ASz
✅6月25日(火)13時半~14時:FHIR新機能のご紹介~2024.1~
オンデマンド配信はこちら👉https://event.on24.com/wcc/r/4597704/ADA161B6446E6BA01623C875CF596FD0
(資料PDFもオンデマンド配信画面よりダウンロードいただけます)
これは InterSystems FAQ サイトの記事です。
現時点(2024年3月)では、コミュニティに掲載されているPythonライブラリ「iris-dollar-list」を利用することでIRISの$LIST()形式のデータをPythonのリストとして利用することができます。
※標準ツールではありませんがご利用いただけます。詳細はコミュニティの記事「もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」」をご参照ください。
WindowsにインストールしたIRISで使用する場合は、以下の方法で「iris-dollar-list」をインストールしてください。
※Windows以外にインストールしたIRISでは、pipコマンドを利用した通常の方法でインストールできます。
コマンドプロンプトを開き、以下実行します。(IRISをデフォルトインストールしたときのディレクトリで掲載しています)
>cd C:\InterSystems\IRIS\bin> irispip install --target C:\InterSystems\IRIS\mgr\python iris-dollar-list実行例は以下の通りです。
開発者の皆さん、こんにちは。
インターシステムズの講師付きトレーニング「システム統合機能(Interoperability)の使い方」3日間(有料)を下記日時で開催します!
開催方法は、Teams会議とブラウザ経由でアクセスする演習環境(Windows)を利用したオンラインでの開催です。(ブラウザと安定したネットワーク環境があれば特にその他準備は不要です。)
コースでは、InterSystems IRIS または InterSystems IRIS for Health(以降IRIS)のインストールから開始し、開発環境の作成、VSCodeを利用した簡単なクラス定義の作成、ObjectScriptを使用したオブジェクト操作の練習を行った後、本題のシステム統合機能(Interoperabiityメニュー)の解説と演習に入ります。
コースで用意している外部システムへのアクセスとしては、データベースとファイル入出力があります。進み具合にもよりますが、お時間ある時はREST経由で情報を受信する方法も演習いただけます。
なお、Interoperabilityについては、コミュニティのシリーズ記事「【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう!」でもご紹介しています。
これは InterSystems FAQ サイトの記事です。
Ens.Directorクラスのクラスメソッドを使用して取得できます。
プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。
Set status=##class(Ens.Director).GetHostSettings("FAQSample.Interop.Production||FAQSample.Interop.FileOperation",.tSettings)以下、出力結果です。
これは InterSystems FAQ サイトの記事です。
永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。
ご参考:オブジェクト同時処理のオプション
既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)
並行処理の基本事項は以下の通りです。
並行処理の値別の動作の違いは以下の通りです。(ドキュメントの「並行処理の値」に表がありますので併せてご覧ください)
これは InterSystems FAQ サイトの記事です。
新しいインデックスを定義した後、インデックスの再構築が完了する前にクエリを実行するとデータが存在しているにもかかわらず「検索結果0件」や検索結果数が徐々に増えるような状況が発生します。
インデックスを永続クラス定義(またはテーブル定義)に追加しコンパイルすることで今まで使用していたクエリ実行経路が削除され、再度同じクエリを実行するタイミングで新しいインデックス定義を含めた実行経路が作成されるためです。(この時にインデックス再構築が完了していないとインデックスデータが存在しない、または不完全であるため0件や徐々に検索結果数が増えるような状況を起こします。)
これを起こさなために、新しいインデックスの再構築が終了するまでクエリオプティマイザにインデックスを使用させないように指定する方法が用意されています。
※ 2024/8/2: 2024.1以降から利用できる方法を追加しました。
CREATE INDEXのDEFERオプションを使用します(オプションを付けないCREATE INDEX文では、作成時にインデックスの再構築も同時に行われます)。
DollarListは、Pythonのための$LIST()インタープリタです。
このインタプリタが作成された理由は以下の通りです。
この機能は、開発途中です。現時点では、$LIST()の中に、$LIST()、int 、string のデータを含めることができます。
作成中タイプ:fload、decimal、double
このモジュールはPypiで利用できます:
pip3 install iris-dollar-list
Embedde PythonとNativeAPIに対応しています。
これは InterSystems FAQ サイトの記事です。
InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。
サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST
開発者の皆さん、こんにちは!
InterSystems 技術文書ライティングコンテストの開催が決定しました!《USコミュニティのコンテストです》
✍️ 技術文書ライティングコンテスト: InterSystems IRIS チュートリアル ✍️
2月19日~3月24日の期間で、InterSystems IRIS のプログラマを対象に、初心者/中級者/上級者のレベルを問わないチュートリアルとなるような記事を投稿してください!
🎁 参加賞(全員): コンテストに参加いただいた皆様全員に参加賞があります!(参加賞とは別に特別賞もあります!)
開発者コミュニティをより素晴らしい場所とするため、以下の機能について更新を行いました。
📌 ニックネーム🆕
📌 Credly バッジ
📌 サブスクリプション
📌 GIFの再生/一時停止
📌 タグの自動付与
それぞれの更新について、以下詳細をご紹介します!
開発者の皆さん、こんにちは。
InterSystems FHIR とデジタルヘルスの相互運用性コンテストの勝者が決定しました!
今回もコンテストにご参加・ご注目いただきありがとうございました!今回は 12 のアプリケーション の応募がありました🔥
開発者の皆さん、こんにちは!
InterSystems FHIR とデジタルヘルスの相互運用性コンテストの投票が開始されました。
🔥 ベストアプリケーションはこれだ! 🔥と思う作品にぜひ投票をお願いします!(今回は12のアプリケーションの応募がありました。)
投票締切:2月5日23時59分59秒(EST)
投票方法は以下の通りです。
この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、コンテナ版IRISを利用する場合のWebサーバ設定例をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)
この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、ApacheをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)
同一サーバ上にApacheとInterSystems製品をインストールする場合、事前にApacheをインストールしておくとApacheに必要なWebゲートウェイのインストールとIRISへの接続設定をインストーラーが自動で行います。
以降の説明では、以下のインストール方法について解説します。
※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。
この記事は、「プライベートWebサーバ(PWS)を使用しないバージョンの新規インストール/アップグレード:概要」の続きの記事で、IISをWebサーバとする場合の設定概要をご紹介します。(先に「概要」の記事をお読みいただくことをお勧めします。)
同一サーバ上にIISとInterSystems製品をインストールする場合、事前にIISを有効化しておくとIISに必要なWebゲートウェイのインストールと設定をIRISのインストーラーが自動で行います。
以降の説明では、以下のインストール方法について解説します。
※ 図解では、InterSystems IRISを使用していますが、InterSystems製品で操作は共通です。