スタジオ・テンプレートの使用法
この章では、スタジオ・テンプレートの使用方法について説明します。
テンプレートを使用すると、スタジオ編集ウィンドウに機能を繰り返し追加できます。テンプレートには、3 つのタイプがあります。
-
テキスト・テンプレート — (テンプレートという言葉で表現されるもの) シンプル・テキスト・テンプレートは、生成されたテキストをドキュメントに挿入します。インタラクティブ・テキスト・テンプレートには、ユーザ入力を含めることができます。例えば、スタジオ・テンプレートは、標準 HTML のブロックを CSP ファイルに挿入します。テキスト・テンプレートを使用するには、[ツール]→[テンプレート]→[テンプレート...] を選択します。
-
新規ドキュメント・テンプレート — スタジオに新規のドキュメント・ウィンドウを作成します。
新規ドキュメント・テンプレートは、[ファイル]→[新規作成] メニューによって表示される、新規のドキュメント・タイプのリストで構成されます。新規のドキュメント・テンプレートを作成するには、new の Mode 属性でシンプル・テキスト・テンプレートまたはインタラクティブ・テキスト・テンプレートのいずれかを作成します。
-
アドイン・テンプレート — スタジオに新規のツールを作成します。アドイン・テンプレートは、テキストをドキュメントに挿入せず、ドキュメントを開く必要がない点で、テキスト・テンプレートとは異なります。
アドイン・テンプレートを使用するには、[ツール]→[アドイン] を選択します。 SOAP Web クライアント・ウィザードの使用の詳細は、"Caché での Web サービスおよび Web クライアントの作成" を参照してください。XML スキーマ・ウィザードの使用の詳細は、"Caché での XML の使用法" にある付録の "XML スキーマ・ウィザードの使用法" を参照してください。
スタジオには、一連の Caché 付属のスタジオの標準テンプレートが用意されています。また、CSP を使用して独自のカスタム・テンプレートを作成することもできます。
スタジオ・テンプレートがすばやく開くように、Internet Explorer でプロキシ設定の自動検出を無効にします。
-
Internet Explorer を起動して、[ツール]→[インターネット オプション] から [接続] タブを選択します。
-
[LAN の設定] を選択して、すべてのチェック・ボックスのチェックを外します。このページでチェックが付いていないことを確認し、[OK] を 2 回選択して [インターネット オプション] ダイアログを閉じます。
スタジオ・テンプレートへのアクセス
テンプレートを開くには、[ツール]→[テンプレート] を使用するか、エディタ・ウィンドウの右クリック・メニューを使用します。最近使用したテンプレートのリスト ([テンプレート...] の下の右クリック メニューに表示)、または、使用可能なテンプレートを一覧表示したスタジオ・テンプレートのリスト ([ツール]→[テンプレート]→[テンプレート] からアクセス) からテンプレートを選択して開くこともできます。各テンプレートは、1 つ以上のドキュメント・タイプに関連付けられています。現在のウィンドウのドキュメント・タイプに関連付けられているテンプレートのみが、テンプレート・リストに表示されます。
テンプレートには、シンプルとインタラクティブの 2 つのスタイルがあります。シンプル・テンプレートでは、ユーザが操作しなくても、カーソル・ポイントにテキストが挿入されます。インタラクティブ・テンプレートでは、追加の情報の入力が促される 1 つ以上の画面 (ウィザードと同様) が表示されます。
テンプレートを開いたときにハイライト表示されているテキストは、テンプレートによって置換されます。多くのテンプレートは、現在ハイライト表示されているテキストを、テンプレート・プログラムに対する入力として使用します。
Caché 付属の標準スタジオ・テンプレート
スタジオには、複数のテンプレートが用意されています。スタジオでシステム定義のすべてのテンプレートのリストを、%SYS ネームスペースの [ワークスペース] ウィンドウ→[ネームスペース] タブ→[CSP ファイル] の下に表示できます。 現在のドキュメントで使用可能なテンプレートを表示するには、[ツール]→[テンプレート]→[テンプレート] を使用します。以下で、これらのテンプレートを説明します。
既定では、スタジオ・テンプレートはセッション・タイムアウトを 90 秒としています。スタジオ・テンプレートにデータを入力する場合、ユーザの入力が 90 秒間ないと、セッションは終了します。詳細は、以下の “デフォルト・タイムアウト” のセクションを参照してください。
テンプレート
このセクション内の 3 つのテーブルでは、スタジオで CSP や Zen に使用できる以下のテンプレートが定義されています。
テンプレート | 説明 |
---|---|
HTML Color | カーソル・ポイントに HTML カラー値文字列 (#F0F0F0 など) を挿入するために選択します。 |
HTML Input | HTML 入力制御をカーソル・ポイントに挿入するために選択します。 |
HTML Script | 指定した言語とコンテンツが設定された <SCRIPT> タグをカーソル・ポイントに挿入するために選択します。 |
HTML Table | 指定した特性が設定された HTML テーブルをカーソル・ポイントに挿入するために選択します。[Preview] を選択して、プレビュー・ウィンドウを表示します。 |
HTML Tag | 指定した属性を持つリストから選択した HTML タグをカーソル・ポイントに挿入するために選択します。または、既存の HTML タグをハイライト表示してテンプレートを起動した場合は、表示された属性値を編集できます。 |
クラス定義テンプレート
CSP テンプレートの多くが、クラス定義内で利用できます (&html<> ブロックの場合に便利です)。また、以下のテンプレートが利用できます。
テンプレート | 説明 |
---|---|
SQL 文 | 指定した SQL 文のコードをカーソル・ポイントに挿入するために選択します。[Preview] を選択すると、ポップアップ・プレビュー・ウィンドウ内で (データベース内のデータを使用した) テーブルの結果を表示できます。テンプレートが SQL テキストのみ、SQL テキストを基にした埋め込み SQL カーソル、または SQL テキストを基にした %ResultSetOpens in a new tab オブジェクトを返すかを指定できます。 |
Web フォーム・ウィザード | CSP フォームを作成できるウィザードを開き、使用するフォームのクラス・メンバとテーブルのスタイルを指定します(使用例は、"スタジオを使用した簡単なアプリケーションの構築" を参照してください)。 |
Zen テンプレート
以下の Zen クラスのウィザード (テンプレートとも呼ばれます) を使用できます。これらのウィザードの使用方法の詳細は、"Zen の使用法" の "Zen ウィザード" および以下のテーブルの選択したテンプレートの参照先の章を参照してください。
テンプレート | 説明 |
---|---|
Zen グラフ・テンプレート | タイプ、スタイル、および属性を選択し、ZenPage クラスの Xdata ブロック内に Zen グラフ定義を挿入します。詳細は、"Zen コンポーネントの使用法" の "Zen のグラフ" の章を参照してください。 |
Zen 要素テンプレート | ZenPage クラスの Xdata ブロック内に Zen 要素を挿入します。組み込み、カスタム、または複合の Zen コンポーネントを挿入または編集したり、新しい Zen コンポーネントを作成できます。詳細は、"Zen の使用法" の "Zen のレイアウト" の章を参照してください。 |
Zen メソッド・テンプレート | メソッドを挿入します。このウィザードにより、スコープ、インスタンスまたはクラス、メソッドを実行する場所、名前、および try/catch エラー処理テンプレートを追加するかどうかを選択できます。スタジオ・エディタでは、それを詳細に編集できます。Zen メソッド・テンプレートの使用例については、このドキュメントの “クライアント側メソッドの追加” のセクションを参照してください。 |
Zen スタイル・テンプレート | Zen クラスの Xdata スタイル・ブロック内に CSS スタイルの宣言を挿入します。テーブルには、Zen コンポーネントで定義された CSS スタイルの宣言が表示されます。そのいずれかを選択し、詳細を編集して、ページ内でそれをオーバーライドできます。詳細は、"Zen の使用法" の "Zen のスタイル" の章を参照してください。 |
Zen TablePane テンプレート | ZenPage クラスの Xdata ブロック内に新しい Zen tablePane の定義を挿入します。この tablePane のクエリまたはテーブルのソースを選択して、必要に応じてプロパティを調整します。詳細は、"Zen の使用法" の "Zen のスタイル" の章を参照してください。 |
アドイン・テンプレート
[ツール]→[アドイン] メニューには、プロジェクトに項目を追加できるウィザードの一覧が含まれています。メニューには、以下のアドインが含まれています。
アドイン | 機能 | 詳細 |
---|---|---|
.NET ゲートウェイ・ウィザード | .NET から DLL アセンブリ・ファイルをインポートして、対応するクラスのセットを作成します。 | .NET 用 Object Gateway の使用法 |
アクティベート・ウィザード | Caché 内から COM オブジェクトへのアクセスを可能にする Caché クラスを作成します。 | "Caché ActiveX ゲートウェイの使用法" の "Caché アクティベート・ウィザード" |
Java ゲートウェイ・ウィザード | Java からクラス・ファイルまたは jar ファイルをインポートして、対応するクラスのセットを作成します。 | Ensemble ドキュメント・セット内の "プロダクションでの Java ゲートウェイの使用" |
SOAP ウィザード | WSDL (Web サービス記述言語) ドキュメントを読み取り、1 つ以上の Web クライアント・クラスまたは Web サービス・クラスを作成します。 | Caché での Web サービスおよび Web クライアントの作成 |
XML スキーマ・ウィザード | XML スキーマを読み取り、対応するクラスのセットを作成します。 | "Caché での XML の使用法" の “XML スキーマ・ウィザードの使用法” |
XSL 変換ウィザード | 指定された XSL スタイルシートを使用して XML ファイルを変換します。 | "Caché での XML の使用法" の “XSLT 変換の実行” |
独自のスタジオ・テンプレートの作成
以下のテンプレートのうち、1 つを作成できます。
-
シンプル・テキスト・テンプレートでは、現在のカーソル位置にテキストが挿入されます。
-
インタラクティブ・テキスト・テンプレートでは、情報を要求するインタラクティブ・ダイアログが表示され、現在のカーソル位置にテキストが挿入されます。
-
アドイン・テンプレートでは、スタジオで一般的に利用できるツールが提供されます。
-
新規ドキュメント・テンプレートは、スタジオの新規ドキュメント・ダイアログに表示され、新規のドキュメントを作成します。
テンプレート・アーキテクチャ
スタジオ・テンプレートは、Caché Server Page (CSP) を使用して作成および実装されます。各テンプレートは、Caché サーバで実行する 1 つまたは複数のサーバ・ページです。テンプレートを実行するとき、スタジオはブラウザを含むウィンドウを作成し、テンプレートに対応する CSP ページに対して (組み込みの Caché シンプル HTTP サーバ経由の) HTTP 要求を行います。CSP ページは、以下のいずれかを行うことができます。
-
ユーザからの追加の入力を要求するインタラクティブ・フォームが含まれた HTML を返します。
-
スタジオ内で、カーソル・ポイントに挿入されるテキストが含まれた XML を返します(すべてのテキスト・テンプレートと新規ドキュメント・テンプレートは、最終手順として上記を実行します。ユーザ・インタフェースを持たないシンプル・テンプレートは、この手順のみを実装し、アドイン・テンプレートはドキュメントにテキストを挿入しません)。
テンプレートの開発をより簡単にするために、Caché にはテンプレートのすべての基本的なオペレーションを実行する、一連のカスタム CSP タグが含まれています。これらのタグの詳細は、この後のセクションで説明します。
テンプレートの利点は、テンプレートが Caché サーバ上で実行され、Caché のすべての能力を利用できるところにあります。そのため、例えば、テンプレートによって、高度なデータベース・オペレーションを実行できます。
テンプレートを呼び出すと、パラメータがサーバに渡され、%request オブジェクトでアクセスできるようになります。これらのパラメータ (大文字と小文字が区別されます) には、以下が含まれる場合があります。
-
Project — 現在のスタジオ・プロジェクトの名前。
-
Namespace — スタジオが接続するネームスペースの名前。
-
User — 現在のスタジオ・ユーザの名前。
-
Language — ObjectScript 言語モード。
-
Document Namespace — ドキュメントが属しているネームスペース (現在のネームスペースと異なる場合があります)。
-
Name — 現在のドキュメントの名前 (存在する場合)。
-
Tabsize — このドキュメントのタブに含まれるスペースの数。
-
SelectedText — 現在のドキュメント内で選択されているテキスト (存在する場合)。
既存のテンプレートの名前を新規の名前に置換しない限り、各テンプレートには一意の名前を指定します。
デフォルト・テンプレート・タイムアウト
セッション・タイムアウトは、ユーザから何の入力もなくセッションが開いている時間です。 ユーザからの入力がないままこの時間が経過すると、CSP はセッションを閉じます。
スタジオで作成されたテンプレートは、/isc/studio/usertemplates ([ツール]→[テンプレート] メニューで表示されるアプリケーション) または /isc/studio/templates ([ツール]→[テンプレート]→[テンプレート] メニューで表示されるアプリケーション) のいずれかの CSP アプリケーションに保存されます。既定では、両方のアプリケーションともセッション・タイムアウトは 90 秒です。管理ポータルでは、これらの各アプリケーションの CSP アプリケーションのオプション・ページで [デフォルトタイムアウト] 設定に数値を入力できますが、セッション・タイムアウトは 90 秒にハードコードされており、この数値には効果がありません。これは、アクティブでないスタジオ・テンプレートがシステム・ライセンスを保持しないようにするためです。
シンプル・テキスト・テンプレート
シンプル・テンプレートは、現在のドキュメントのカーソル・ポイントに挿入されるテキストのブロックを返す、単独の CSP ページです。CSP ページには、特別なスタジオ CSP タグ <csp:StudioSimpleTemplate> が含まれます。
シンプル・スタジオ・テンプレートの作成
シンプルなスタジオ・テンプレートを作成するには、スタジオを起動して以下の手順を実行します。
-
[ファイル]→[新規作成]→[Caché Server Page] を選択して、新規の CSP ページを作成します。
-
ドキュメントの内容を以下と置換します。(新しいテンプレートの名前は MyTemplate です)。
<csp:StudioSimpleTemplate name="MyTemplate" type="CSP"> SOME TEXT!
-
[ビルド]→[コンパイル] をクリックして、この CSP ドキュメントを保存し、コンパイルします。CSP ドキュメントに使用する名前やネームスペース、およびそのドキュメントを保存する CSP アプリケーションは何でもかまいません。
スタジオ・テンプレートにすべてのネームスペースからアクセスできるようにするには、スタジオ・テンプレートを /isc/studio/usertemplates の %SYS ネームスペースに保存します。
これで、MyTemplate というテンプレートの定義が完了しました (この名前は、<csp:StudioSimpleTemplate> タグの name 属性によって指定されています)。スタジオ・エディタで CSP ページを開いている場合は、[ツール]→[テンプレート]→[My Template] を選択すると、テキスト SOME TEXT! がページに挿入されます。
テンプレート・ダイアログには、テンプレート・ダイアログを起動したドキュメント・タイプと同じタイプのテンプレートが表示されます。この例では、MyTemplate テンプレートには、CSP のタイプになります。スタジオ・エディタで CSP ページを表示している場合は、[ツール]→[テンプレート] リストにそれが表示されます。
タイプ属性 (ドキュメント・タイプのコンマ区切りのリスト) を編集して、テンプレートが実行されるドキュメント・タイプを指定することもできます。タイプのリストには、以下が含まれます。
テンプレート・タイプ | 現在のドキュメントが以下に該当する場合にテンプレートを使用できます |
---|---|
CSP | CSP ドキュメント |
CSR | CSR ドキュメント |
MAC | MAC ルーチン |
INT | INT ルーチン |
INC | INC ファイル |
BAS | BASIC スクリプト |
CLS | クラス定義ドキュメント |
MVB | MVBasic ルーチン |
シンプル・スタジオ・テンプレートのテスト
シンプル・テキスト・テンプレートをテストする方法は以下のとおりです。
-
CSP アプリケーション・ディレクトリを使用して、スタジオで既存の CSP ページをオープンします (または新規作成します)。テンプレートを作成したネームスペースを続けて使用できますが、多くの場合は、通常作業を行うネームスペースへ接続します。
-
CSP ドキュメント・エディタ・ウィンドウにカーソルを置き、[ツール]→[テンプレート]→[テンプレート] を選択します。
-
リストに、新規のテンプレートが表示されます。それを選択して、[OK] を選択します。
シンプル・テンプレートの本文が、カーソル位置に挿入されます。以下に例を示します。
<html>
<body>
SOME TEXT!
</body>
</html>
シンプル・スタジオ・テンプレートに論理を追加する
テンプレートの本来の利点は、コードを実行できるということです。CSP ページ・テンプレートには、以下の CSP 機能を追加できます。
-
#( )# 構文を使用した埋め込み式
-
<script runat=”server”> タグに含まれるコード行
例えば、HTML <B> (太字) タグに、($ZDT 関数を使用して) 現在の日付と時刻を返すシンプル・テンプレートを作成します。
<csp:StudioSimpleTemplate name="Now" type="CSP">
<B>#($ZDT($H,3))#</B>
シンプル・スタジオ・テンプレートのトラブルシューティング
カスタム・テンプレートの開発で問題が発生した場合のデバッグ方法として、CSP の編集時に [ビュー]→[ブラウザで表示] を使用してブラウザでテンプレート CSP ページを表示する方法があります。XML テキストを表示できるブラウザを使用すると、テンプレートから返された値は XML でラップされます。
例えば、ブラウザに以下の URL を入力すると (または [ファイル]→[URL を開く] を使用)、このセクションの前で定義したテンプレートの出力を表示できます。
http://localhost:8972/csp/user/MyTemplate.csp
この結果、XML 応答は次のようになります。
<?xml version="1.0"?>
<template>
BODY##www.intersystems.com:template_delimiter##
SOME TEXT!##www.intersystems.com:template_delimiter##
</template>
応答は、 <template> 要素内に含まれます。応答の本文は、##www.intersystems.com:template_delimiter## 区切り文字を使用して区切られています。
インタラクティブ・スタジオ・テンプレート
インタラクティブ・テンプレートは、1 つまたは複数の CSP ファイル・セットです。これらのファイルにより、ユーザ入力を要求する (HTML を使用した) ダイアログ・ウィンドウが表示されます。インタラクティブ・テンプレートの最終ページでは、シンプル・テンプレートと同様に、現在のドキュメントのカーソル・ポイントにテキストのブロックが挿入されます。
インタラクティブ・テンプレートを選択すると、スタジオには Web ブラウザを含むダイアログ・ウィンドウが表示されます。インタラクティブ・テンプレートの最初のページは、ユーザ入力を要求する HTML フォームを返します。
インタラクティブ・テンプレートの最初のページは、<csp:StudioInteractiveTemplate> タグで開始します。このタグの属性は、シンプル・テンプレート・タグの属性と同一です。最後のページ (スタジオの出力を返すページ) は、<csp:StudioGenerateTemplate> タグで始まります。すべての中間ページ (複数のページを持つウィザードを作成している場合) には、特別なタグは必要ありません。最後から 2 番目のページには、最後のページを呼び出す [SUBMIT] ボタンを配置する必要があります。
例えば、ユーザにコンテンツとスクリプト・タイプの入力を促し、CSP ドキュメントに <script> タグを挿入する、インタラクティブ・テンプレート MyScript を作成するとします。最初のページ MyScript.csp は、シンプルな以下の HTML フォームを含みます。
<csp:StudioInteractiveTemplate name="MyScript" type="CSP">
<HTML>
<BODY>
<FORM NAME="form" ACTION="MyScript2.csp">
Language:
<SELECT NAME="language">
<OPTION VALUE="CACHE" SELECTED>CACHE
<OPTION VALUE="JavaScript">JavaScript
</SELECT>
<BR>
Script: <TEXTAREA NAME="script" ROWS="10" COLS="40"></TEXTAREA>
<BR>
<INPUT TYPE="submit" VALUE="OK" NAME="submit">
</FORM>
</BODY>
</HTML>
この CSP ページには、以下が含まれています。
-
これがインタラクティブ・テンプレートであること、およびテンプレートの名前とタイプを指定する <csp:StudioInteractiveTemplate> タグ
-
ACTION 属性によってテンプレートの最後のページ MyScript2.csp にリンクする HTML フォーム (以下を参照してください)
-
スクリプト言語を指定する SELECT コントロール
-
スクリプトのコンテンツを入力する TEXTAREA コントロール
-
MyScript2.csp ページに、フォームのコンテンツを送信する SUBMIT ボタン
最後のテンプレート・ページ MyScript2.csp は、フォームから送信された値を使用して、スタジオに返信する応答を作成します。
<csp:StudioGenerateTemplate>
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
Write "<SCRIPT"
Write " LANGUAGE=""",$G(%request.Data("language",1)),""""
If ($G(%request.Data("language",1))="CACHE") {
Write " RUNAT=""SERVER"""
}
Write ">",!
Write $G(%request.Data("script",1)),!
Write "<","/SCRIPT>",!
</SCRIPT>
このページは、<csp:StudioGenerateTemplate> タグで始まり、SCRIPT タグ (適切な属性も含まれたタグ) をスタジオに返信する ObjectScript コードが含まれています。このことをテストするには、新しい CSP ページを作成して、[ツール]→[テンプレート]→[MyScript] を選択します。任意の ObjectScript をスクリプト・ボックスに入力して、[OK] を選択します。指定したスクリプトが含まれたスクリプト・タグが新しい CSP ページに自動的に入力されます。
新規ドキュメント・スタジオ・テンプレート
new の値を持つ mode 属性を、<csp:StudioSimpleTemplate> タグ、または <csp:StudioInteractiveTemplate> タグに追加することで、新規のドキュメント・テンプレートを作成できます。
mode が new であるすべてのテンプレートは、新規ドキュメント・ダイアログ ([ファイル]→[新規作成] で起動) に名前が表示されます。テンプレートの結果は、新規に作成されたドキュメントに記述されます。
例えば、新規の CSP ページを作成する新規のドキュメント・テンプレートを作成するには、以下のような CSP ファイルを作成します。
<csp:StudioSimpleTemplate name="MyCSPPage" type="CSP" mode="new">
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="FFDDFF">
<H1>New CSP Page</H1>
</BODY>
</HTML>
この CSP ファイルを保存し (このファイルは、任意の CSP アプリケーションに保存できます) コンパイルすると、スタジオの [新規作成] ダイアログに MyCSPPage として表示されます。これを選択すると、まだ名前が付いていない新規の CSP ドキュメントが、以下のコンテンツで作成されます。
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR="FFDDFF">
<H1>New CSP Page</H1>
</BODY>
</HTML>
テキスト・テンプレートについて前述したように、論理を追加したり、インタラクティブ・テンプレートを使用したりすることによって、より洗練された新規ドキュメント・テンプレートを作成できます。
新しいドキュメント・テンプレートの場合、%request オブジェクトでサーバに渡すパラメータは、以下のとおりです。
-
Project — 現在のスタジオ・プロジェクトの名前。
-
Namespace — スタジオが接続するネームスペースの名前。
-
User — 現在のスタジオ・ユーザの名前。
-
Tabsize — このドキュメントのタブに含まれるスペースの数。
新規クラス定義テンプレート
新規クラス定義を作成する新規ドキュメント・テンプレートを作成している場合、テンプレート・コードで追加の手順を実行する必要があります。つまり、スタジオに新規クラスの名前を指定し、新規クラス定義に対して適切な内部データ構成が作成されるようにする必要があります。この情報は、添え字 Template と CLASS に保存された %session オブジェクトの Data プロパティのデータを経由して、テンプレートからスタジオに返されます。テンプレートには、以下のようなコードが含まれます。
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
Set %session.Data("Template","CLASS") = classname
</SCRIPT>
ドキュメントの末尾へのテキストの追加
シンプル・テンプレートまたはインタラクティブ・テンプレートの最後のページに InsertAtEnd フラグを設定することによって、ドキュメント・テンプレートの最後にテキストを追加できます。このフラグが True (1) と評価されると、スタジオは、クラス以外のドキュメントの場合はドキュメントの最後に、クラス・ドキュメントの場合は最初の <Storage> タグの前に、テンプレート生成テキストを挿入します。
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
Set %session.Data("Template","InsertAtEnd") = 1
</SCRIPT>
アドイン・スタジオ・テンプレート
addin の値を持つ mode 属性を、<csp:StudioSimpleTemplate> タグ、または <csp:StudioInteractiveTemplate> タグに追加することで、アドイン・テンプレートを作成できます。
mode が addin, であるすべてのテンプレートは、[アドイン] ダイアログ ([ツール]→[アドイン] で起動) に名前が表示されます。
テキスト・テンプレートで説明した同じ方法で、アドイン・テンプレートを作成できます。
アドインを呼び出すと、スタジオからサーバにパラメータが渡され、サーバ上で %request オブジェクトでこれらのパラメータにアクセスできるようになります。これらのパラメータ (大文字と小文字が区別されます) としては、以下が挙げられます。
-
Project — 現在のスタジオ・プロジェクトの名前。
-
Namespace — スタジオが接続するネームスペースの名前。
-
User — 現在のスタジオ・ユーザの名前。
-
Document — 現在のドキュメントの名前 (存在する場合)。
-
SelectedText — 現在のドキュメント内で選択されているテキスト (存在する場合)。
項目をプロジェクトに追加する
アドイン・テンプレートから 1 つまたは複数の項目を現在のプロジェクトに追加するには、アドイン・テンプレートの最後のページで、継承されたメソッド AddToProject を使用します。
例えば、以下の例は、クラス MyApp.MyClass を現在のプロジェクトに追加します。
<SCRIPT LANGUAGE="CACHE" RUNAT="SERVER">
Do ..AddToProject("MyApp.MyClass.CLS") // note .CLS extension
</SCRIPT>
この方法で項目をプロジェクトに追加するとき、項目のタイプ (.CLS、.CSP、.MAC など) を項目名に付けることに注意してください。また、項目は、プロジェクトに追加する前に存在している必要があります。つまり、クラスをプロジェクトに追加しても、そのようなクラスは自動的に作成されません (ただし、アドイン・テンプレートの場合、クラス・ライブラリで提供されている %Dictionary クラスを使用すると、自動的にクラスが作成されます)。