マニフェストの一般的なオプション
このセクションでは、インストール・マニフェストを使用して実行するいくつかの一般的なタスクについて説明します。以下のオプションについて説明します。
ネームスペースの定義
ネームスペースを定義するには、<Manifest> タグ内に任意の数の <Namespace> タグを追加します。
ネームスペースのデータベースまたはマッピングを定義するには、<Namespace> タグの中に <Configuration> タグを入れます。ネームスペースに含まれるデータベースごとに、<Configuration> タグ内に <Database> タグを追加します。マッピングを定義するには、該当する <Database> タグの下に、<GlobalMapping> タグ、<RoutineMapping> タグ、および <ClassMapping> タグを追加します。</Configuration> タグは、定義されたマッピングを有効化します。
さらに、<Import> タグを使用して、<Namespace> タグ内にグローバル、ルーチン、およびクラスをロードできます。<Invoke> タグでクラス・メソッドを起動してルーチンを実行し、インポートされているグローバルにアクセスすることもできます。
<Var> タグで変数を定義できます。マニフェスト内の変数を参照するには、${var_name} 構文を使用します。詳細は、以下の "<Manifest> タグ内の変数" を参照してください。
ユーザとパスワードの追加
インストールしたインスタンスにユーザ (ロールとパスワードを含む) を追加する方法は複数あります。
-
"<Manifest> タグのリスト" の説明に従って、インストール・マニフェストに <User> タグを含めます。
<User> タグの PasswordVar パラメータはユーザのパスワードを格納した変数を指定します。例えば、PasswordVar="Pwd" を定義すると、変数 Pwd の値がユーザのパスワードに指定されます。この変数にデータを移入する方法は多様ですが、移入方法は担当者次第です。InterSystems IRIS または Web サービスの別のインスタンスに対してメソッドをリモートで呼び出すことも検討できますが、この方法の問題点は、InterSystems IRIS がインストールされているサーバでインターネット・アクセスが必要な場合があることです。インストールしているインスタンスに対して使用するメソッドをインポートするか、ユーザとパスワード (マニフェストに渡すことができます) の入力を求めるインストールにクライアント側フォームを追加する方法も考えられます。
-
インストール完了後に管理ポータルでユーザを編集します ("ユーザ" を参照)。
-
InterSystems IRIS のステージング・インスタンスで Security.UsersOpens in a new tab クラスを使用します (以下を参照)。
-
Security.Users.Export()Opens in a new tab メソッドを使用して、ユーザ情報をエクスポートします。
-
ユーザ情報をインポートするには、(%SYS ネームスペースの) マニフェスト・クラスの先頭で以下を追加します。
<Invoke Class="Security.Users" Method="Import" CheckStatus="true">
<Arg Value="PathToExportedUserInformation"/>
</Invoke>
PathToExportedUserInformation は、Security.Users.Export()Opens in a new tab メソッドで指定された出力ファイルの場所です。
マニフェスト・ログへの書き込み
次の形式でクラスに <Log> タグを組み込むことで、マニフェスト・ログに追加するメッセージを定義できます。
<Log Level="<level>" Text="<text>"/>
ログのレベルは -1 から 3 までの範囲になる必要があります。-1 は “none” (なし)、3 は “verbose” (詳細) です。setup() メソッドで指定されたログのレベルが <Log> タグの Level プロパティの値以上の場合にメッセージがログに記録されます。テキストは 32,000 文字に制限されます。
setup() メソッドの 2 番目の引数によりレベルを設定します (詳細は、この付録で後述の “マニフェストの使用” を参照)。これはインストールからマニフェストへ渡すことはできないため、次のようにクラスに設定する必要があります。
ClassMethod setup(ByRef pVars, pLogLevel As %Integer = 3,
pInstaller As %Installer.Installer,
pLogger As %Installer.AbstractLogger)
As %Status [ CodeMode = objectgenerator, Internal ]
メッセージの表示位置を setup() メソッドの 4 番目の引数 (%Installer.AbstractLoggerOpens in a new tab) により指定できます。例えば、オペレーティング・システム・ファイルを参照する %Installer.FileLoggerOpens in a new tab オブジェクトをインスタンス化する場合、すべての %Installer およびログ・メッセージはそのファイルに書き込まれます。(この引数がないと、setup() が直接呼び出された場合には、すべてのメッセージがプライマリ・デバイスに書き込まれ、インストーラによって実行された場合には無視されます。)
アップグレード後のタスクの実行
InterSystems IRIS のインスタンスをアップグレードする際、インストール・マニフェストを使用して、コードのリコンパイルなど、必要なアップグレード後のタスクを自動的に実行できます。そのためには、<Invoke> タグを使用して、このドキュメントの “InterSystems IRIS のアップグレード” の章の "ネームスペースのコンパイル方法" のセクションに記載されているクラス・メソッドを呼び出します。
アップグレード時に使用できるマニフェストの例は、この付録の "インストール・マニフェストの例" のセクションを参照してください。
<Manifest> タグ内の変数
一部のタグは、マニフェストが実行されると展開される式 (文字列) を含めることができます。展開できる式には 3 種類あります (下記参照)。
${<var_name>} — 変数
変数の値に展開されます。このセクションで説明する事前定義変数のほかに、<Var> タグで追加の変数を指定できます。
${#<param_name>} — クラス・パラメータ
マニフェスト・クラスの指定されたパラメータの値に展開します。
#{<ObjectScript_expression>} — ObjectScript 式
指定された InterSystems IRIS Object Script 式に展開します (正しく引用符を付ける必要があります)。
Note:
パラメータの式はコンパイル時に展開されます。つまり、変数および ObjectScript 式の内側で入れ子にできます。また、変数の式は ObjectScript 式の前に展開されるため、後者の内側で入れ子にできます。
以下のテーブルに、マニフェストで使用できる事前定義変数を示します。
変数名 |
説明 |
SourceDir |
(インストーラ実行中にのみ使用可能) インストール (setup_irisdb.exe または irisinstall) の実行元となるディレクトリ。 |
ISCUpgrade |
(インストーラ実行中にのみ使用可能) 新規インストールまたはアップグレードであるかを示します。この変数は 0 (新規インストール) または 1 (アップグレード) のいずれかになります。 |
CFGDIR |
"INSTALLDIR" を参照してください。 |
CFGNAME |
インスタンス名。 |
CPUCOUNT |
オペレーティング・システムの CPU の数。 |
CSPDIR |
CSP ディレクトリ。 |
HOSTNAME |
ホスト・サーバの名前。 |
HTTPPORT |
Web サーバのポート。 |
INSTALLDIR |
InterSystems IRIS がインストールされるディレクトリ。 |
MGRDIR |
管理者用 (mgr) ディレクトリ。 |
PLATFORM |
オペレーティング・システム。 |
PORT |
InterSystems IRIS スーパーサーバ・ポート。 |
PROCESSOR |
プロセッサ・チップ。 |
VERSION |
InterSystems IRIS のバージョン番号。 |