0 フォロワー · 46 投稿

Caché Server Pages (CSP) は、InterSystemsデータプラットフォームでインタラクティブなWebアプリケーションを構築するために使用するアーキテクチャとツールセットの両方のことです。

新着
記事 Hiroshi Sato · 5月28日 7m read

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

これらのファイルを個別にエクスポートする最も簡便で確実な方法は、VSCodeを利用してIRISのソースファイルを管理することです。

VSCodeの利用方法は、以下をご参照ください

VSCodeを使ってみよう

VSCode以外のツールとしての提供はありませんので、是非VSCodeのご利用をご検討ください。


VSCodeをご利用できない場合は、IRISが提供するAPIを使用して、個別にプログラミングする必要があります。

1) クラス定義

%SYSTEM.OBJクラスのExportAllClassesIndividualメソッドを使用してクラス毎にファイル出力できますが、その出力形式がXML形式です。

XML形式での出力は、可読性も低く、クラス数が多量にある場合には、インポートの時間も余計にかかるため、複数クラスを1ファイルにまとめる目的以外では、推奨しておりません。

可読性の高いUDL形式で出力するためには、

該当ネームスペースに存在するクラス名をクエリーで抽出し、クラス定義をUDL形式でエクスポートするメソッドで出力することができます。

以下はClaude Codeで生成したサンプルコードです。

Class Samples.ExportUDLAll
{

/// 指定されたネームスペース内のすべてのクラス定義を
/// 個別のUDL形式ファイルとして指定ディレクトリに出力する
///
/// @param pDirectory 出力先ディレクトリ名
/// @return %Status ステータスコード
ClassMethod Export(pDirectory As %String) As %Status
{
Set tSC = $$$OK
Try {
// %SYSTEM.OBJ の GetClassList メソッドでクラス名一覧を取得
// items はローカル多次元配列として ByRef で返る
// 第一サブスクリプトにクラス名が格納される
Set tSC = $SYSTEM.OBJ.GetClassList(.items, "/application=1")
If $$$ISERR(tSC) Quit

// items 配列をサブスクリプト順に走査してクラス数分繰り返す
Set tClassName = ""
For {
Set tClassName = $Order(items(tClassName))
Quit:tClassName=""

Write "class name = ", tClassName, !
Set tFileName = pDirectory _ "/" _ tClassName _ ".cls"
Write "file name = ", tFileName, !

// ExportUDL の第一パラメータ(itemname)はクラス名に ".cls" を付加
Set tSC = $SYSTEM.OBJ.ExportUDL(tClassName _ ".cls", tFileName)
If $$$ISERR(tSC) Quit

Write "Exported: ", tClassName, " -> ", tFileName, !
}
} Catch ex {
Set tSC = ex.AsStatus()
}
Quit tSC
}

}
0
0 4
新着
記事 Hiroshi Sato · 5月25日 3m read

自分で作成したサンプルを公開する際にコンテナで提供することが一般的になっています。


私も基本はその方針でサンプル類を公開しています。


そして簡単なデモアプリケーションを公開する場合、IRISがリリースされる以前はCSPベースでしたが、ご承知のようにCSPはIRISで利用することは推奨されていません。


ということで、私は代わりにReactを使うことが多いです。


このReactベースのサンプルをコンテナで公開する際にちょっとした不便があるので、情報共有したいと思います。


こういったサンプルを提供する際に様々な人に試してもらいたいという思いからIRISのコミュニティ版でDockerを構築します。


コミュニティ版のIRISには引き続き管理ポータルを動作させるための簡易Apacheサーバが同梱されており、これを使えば、CSPアプリケーションは、サンプル程度のものであれば、何の問題もなく動作します。


しかし、Reactのサンプルを動かす場合には、支障が出るケースがあります。


Reactに限らず、最近のJavaScriptフレームワークは、SPA(Single Page Architecture)というページを遷移せずに、ブラウザ上のDOMを直接書き換えることでページ内容を書き換えるという手法が一般的です。

0
0 5