Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

その他のエクスポート/インポート・オプション

ここでは、DeepSee 要素をエクスポート/インポートするための追加オプションについて説明します。この情報は、“クラスへの DeepSee 要素のパッケージ化” の章を補足するものです。以下のトピックについて説明します。

Note:

この付録の内容は、ユーザがスタジオに対するエクスポートとインポートのプロセスを理解していることを前提としています。そうでない場合は、"スタジオの使用法" を参照してください。

DeepSee コンテナ・クラスの作成

クラスへの DeepSee 要素のパッケージ化” の章で説明したように、ピボット・テーブルなどのフォルダ項目を Caché のクラスにパッケージ化できます。要素を必要な数だけ 1 つのクラスにパッケージ化できるので、多数の個別のファイルよりもエクスポートおよびインポートしやすくなります。

そのようなクラスを作成する手順は以下のとおりです。

  • クラスは %DeepSee.UserLibrary.ContainerOpens in a new tab を拡張したものである必要があります。

  • クラスには、Contents という名前の XData ブロックを含める必要があります。その XData ブロックに対して、以下のように XML ネームスペースを指定する必要があります。

    [ XMLNamespace = "http://www.intersystems.com/deepsee/library" ]
    
  • この XData ブロック内の最上位の要素は、<items> でなければなりません。

<items> 要素内に XML 定義を必要な数だけ含めます。この定義は、スタジオでコピーすることも、エクスポート済みの XML ファイルからコピーすることもできます。次のセクションも参照してください。必要になる編集についての説明があります。

また、ファイルの先頭にある XML 宣言ではなく、定義部分のみをコピーして貼り付けるようにしてください。つまり、以下の行は XData ブロックにコピーしないでください。

<?xml version="1.0" encoding="UTF-8"?>

以下はその例です。

Class DeepSee.Model.DashboardItems Extends %DeepSee.UserLibrary.Container
{

XData Contents [ XMLNamespace = "http://www.intersystems.com/deepsee/library" ]
{
<items>
<dashboard dashboard definition here ...
</dashboard>
<dashboard another dashboard definition here ...
</dashboard>
<pivot pivot definition here ...
</pivot>
<pivot another pivot definition here ...
</pivot>
<pivot yet another pivot definition here ...
</pivot>
</items>
}

}

このクラスのコンパイル時や、このクラスの %Process() インスタンス・メソッドの呼び出し時に、DeepSee は XData ブロックに定義された項目を作成します。具体的には、それらの定義をユーザ・ポータルで使用する内部グローバルにインポートします。

同じクラスでは、%OnLoad() コールバックを定義することもできます。このコールバックは、それらの項目の設定時に必要な追加コードを実行できます。

クラス定義にパッケージ化されるピボット・テーブルとダッシュボードのサンプルは、SAMPLES ネームスペース内の DeepSee.DashboardsEtcOpens in a new tab クラスおよび HoleFoods.DashboardsEtcOpens in a new tab クラスを参照してください。

コンテナ・クラスを削除しても、現在存在するピボット・テーブルやダッシュボードには影響しません。

フォルダ項目のエクスポートとインポート

ここでは、フォルダ項目をエクスポートおよびインポートするための古い API について説明します。

プログラムによるフォルダ項目のエクスポート

フォルダ項目をプログラムでエクスポートするには、以下のコマンドを使用します。

Do ##class(%DeepSee.UserLibrary.Utils).%Export(itemname,filename)

以下は、この指定の説明です。

  • itemname は項目の完全名です (項目が属しているフォルダの名前を含みます)。

    • ピボット・テーブルでは拡張子 .pivot を追加します。

    • ダッシュボードでは拡張子 .dashboard を追加します。

    • ウィジェットでは拡張子 .widget を追加します。

    • テーマでは拡張子 .theme を追加します。

  • filename は、作成するファイルのフル・パスとファイル名です。ファイルは XML ファイルであるため、ファイル名の末尾に .xml を使用することをお勧めします。

以下はその例です。

 set DFIname="Chart Demos/Area Chart.pivot"
 set filename="c:/test/Chart-Demos-Area-Chart-pivot.xml"
 do ##class(%DeepSee.UserLibrary.Utils).%Export(DFIname,filename)

 set DFIname="KPIs & Plugins/KPI with Listing.dashboard"
 set filename="c:/test/KPIs-Plugins-KPI-with-Listing-dashboard.xml"
 do ##class(%DeepSee.UserLibrary.Utils).%Export(DFIname,filename)

代替手法 (複数の項目のエクスポート)

複数の項目をプログラムによって 1 つの XML ファイルにエクスポートするには、$system.OBJ.Export() メソッドを使用します。このメソッドの最初の引数と 2 番目の引数を以下に示します。

  • items は以下のような多次元配列です。

    配列ノード ノード値
    items("full-folder-item-name.DFI")。ここで、items は配列名、full-folder-item-name.DFI はフォルダ項目の完全名で、大文字と小文字の区別も含め、スタジオに表示されるとおりになります。 ""

    この引数は多次元配列なので、$system.OBJ.Export() メソッドを使用する際、その前にピリオドを付ける必要があります。

  • filename は、作成するファイルのフル・パスとファイル名です。ファイルは XML ファイルであるため、ファイル名の末尾に .xml を使用することをお勧めします。

以下に例を示します。

 set items("Chart Demos-Area Chart.pivot.DFI")=""
 set items("Chart Demos-Bar Chart.pivot.DFI")=""
 set items("Chart Demos-Bubble Chart.pivot.DFI")=""
 set filename="c:/test/Chart-Samples.xml"
 do $system.OBJ.Export(.items,filename)

このメソッドを使用して、クラスなどの他の項目をエクスポートすることもできます。詳細は、%SYSTEM.OBJOpens in a new tab のクラス・リファレンスを参照してください。

プログラムによるフォルダ項目のインポート

フォルダ項目をプログラムでインポートするには、以下のコマンドを使用します。

 Do ##class(%DeepSee.UserLibrary.Utils).%Import(pFile, pReplace, pVerbose)

以下は、この指定の説明です。

  • pFile は、インポートするファイルのフル・パスとファイル名です。

  • pReplace が True の場合、同じ名前を持つ既存の項目が置換されます。既定値は False です。

  • pVerbose が True の場合、ステータスがコンソールに書き込まれます。既定値は True です。

以下はその例です。

 set filename="c:/test/Chart-Demos-Area-Chart-pivot.xml"
 do ##class(%DeepSee.UserLibrary.Utils).%Import(filename,1,1) 
FeedbackOpens in a new tab