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 の実装には、以下の要素の一部またはすべてを含めることができます。

  • キューブ・クラス定義

  • サブジェクト領域クラス定義

  • KPI クラス定義

  • DeepSee フォルダ項目。クラスとして定義されていないすべての項目が含まれます。これには、ピボット・テーブル、ダッシュボード、ピボット変数などがあります。

これらの項目を別のシステム (ターゲット・システムと呼ばれる) に移動させるには、以下の手順を実行します。

  1. 次のセクションの説明に従って、すべてのフォルダ項目を 1 つ以上の DeepSee コンテナ・クラスにエクスポートします。

    DeepSee コンテナ・クラスには、任意の数の DeepSee フォルダ項目の XML 表現が含まれます。

  2. キューブ、サブジェクト領域、および KPI クラス定義をエクスポートします。

    DeepSee のクラス定義とフォルダ項目をすべて含むプロジェクトを作成できます。その後で、このプロジェクトを Caché からエクスポートして、このプロジェクトが必要な別の Caché インスタンスにインポートできます。スタジオのエクスポート・オプションやインポート・オプションを使用するか、%SYSTEM.OBJOpens in a new tab の通常のクラス・メソッドを使用できます。

  3. エクスポートしたフォルダ項目定義を調べて、移植のための編集が行えるようにします。

  4. すべてのクラス定義をターゲット・システムにインポートします。

    コンテナ・クラスをコンパイルする場合、DeepSee はそれらのクラスに含まれるすべてのフォルダ項目に対して処理を繰り返し、それぞれの項目をターゲット・システムで作成または上書きします。

コンテナ・クラスへのフォルダ項目のエクスポート

DeepSee フォルダ項目をコンテナ・クラスにエクスポートするには、その項目が含まれるコンテナ・クラスを定義したファイルを生成するメソッドを使用します。メソッドは %ExportContainer() です。これはクラス %DeepSee.UserLibrary.UtilsOpens in a new tab にあります。このメソッドは、以下のとおりです。

classmethod %ExportContainer(ByRef pItemList As %String, 
                             pFileName As %String, 
                             pContainerClassName As %String = "") as %Status

以下はその説明です。

  • pItemList は、以下の形式のノードが含まれる多次元配列です。

    ノード ノード値
    pItemList(itemidentifier) ""

    itemidentifier には、以下のいずれかの文字列を使用します。

    • dashboardname.dashboard。ここで、dashboardname はダッシュボードの名前です。すべてのダッシュボードを表すために、ワイルドカード * を使用できます。ワイルドカードは他のタイプの項目でも使用できます。

    • pivotname.pivot。ここで、pivotname はピボット・テーブルの名前です (または * を使用)。

      %ExportContainer() メソッドは、エクスポートされるダッシュボードによって使用されるすべてのピボット・テーブルを識別することに注意してください。明示的にエクスポートする必要があるピボット・テーブルだけが、ダッシュボードによって使用されないピボット・テーブルです。

    • namedfiltername.namedFilter。ここで、namedfiltername は名前付きフィルタの名前です (または * を使用)。

    • sharedcalcmembername.sharedCalcMember。ここで、sharedcalcmembername は共有される計算メンバです (または * を使用)。

    • listinggroupname.listingGroup。ここで、listinggroupname はリスト・グループの名前です (または * を使用)。

    • pivotvarname.pivotVariable。ここで、pivotvarname はピボット変数の名前です (または * を使用)。

    • settingname.userSetting。ここで、settingname はユーザ設定の名前です (または * を使用)。

    • termlistname.termList。ここで、termlistname は条件リストの名前です (または * を使用)。

    • themename.theme。ここで、themename はダッシュボードのテーマの名前です (または * を使用)。

    • widgettemplatename.widgetTemplate。ここで、widgettemplatename はウィジェット・テンプレートの名前です (または * を使用)。

    • linkname.link。ここで、linkname はダッシュボード・リンクの名前です (または * を使用)。

    • reportname.report。ここで、reportname はダッシュボード・レポートの名前です (または * を使用)。

  • pFileName は、生成するファイルの名前です。

  • pContainerClassName は、生成するコンテナ・クラスのフルネームです (パッケージを含む)。

移植のための DeepSee のフォルダ項目の編集

DeepSee フォルダ項目を別のシステムにコピーする場合は、エクスポートした XML を検証して、必要な編集を実行することが重要になります。これについては、後続のサブセクションで説明します。

また、以下の点についても注意してください。

  • ダッシュボードをエクスポートする際、DeepSee はそのダッシュボードが使用するピボット・テーブルを自動的にエクスポートしません。ユーザが、それらのピボット・テーブルも特定してエクスポートする必要があります。

  • DeepSee 要素間の参照 (ダッシュボードからピボット・テーブルへの参照など) は、名前に基づいて行われます。

<filterState> 要素の削除

以前のリリースで保存されている場合、サポートされなくなった <filterState> 要素がフォルダ項目の定義に含まれている場合があります。この場合、これらを削除する必要があります。つまり、開始タグの <filterState> と、それに対応する終了タグ </filterState> の両方を削除します。

ローカル・データの削除

フォルダ項目の定義には、そのシステムにローカルで他のシステムでは使用できない情報が含まれていることがあります (システム間でパッケージ化および共有する要素の内容に応じて異なります)。以下の項目について、XML を確認してください。

localDataSource 属性

これは、エクスポートしたダッシュボードの <widget> 要素にあります。

この属性には、ミニ・アナライザで実行されたローカルのオーバーライドが含まれています。別のシステムでエクスポートした XML を使用する場合は、これを必ずクリアしてください。例 : 変更前

localDataSource="$LOCAL/Basic Dashboard Demo/SamSmith/590125613.pivot"

変更後 :

localDataSource=""

または、localDataSource 属性を削除します。

owner 属性

これは、すべてのフォルダ項目にあります。

この要素には、この項目を所有するユーザの名前が含まれています。指定されたユーザがターゲット・システムに存在しない場合は、この属性を編集します。この属性は、NULL に設定できます。例 : 変更前

owner="DevUser"

変更後 :

owner=""

または、この属性を削除できます。

resource 属性

これは、すべてのフォルダ項目にあります。

この要素には、この項目をセキュリティ保護するために使用されたリソースの名前が含まれています (存在する場合)。このリソースがターゲット・システムに存在しない場合は、この属性を編集します。この属性は、NULL に設定することも、削除することもできます。

createdBy 属性

これは、すべてのフォルダ項目にあります。

この要素には、この項目を作成したユーザの名前が含まれています。この属性は、NULL に設定することも、削除することもできます。これを実行すると、XML のインポート時に (または、コンテナ・クラスのコンパイル時に)、createdBy が現在のユーザに設定されます。

timeCreated 属性

これは、すべてのフォルダ項目にあります。

この要素には、この項目を作成したユーザの名前が含まれています。この属性は、NULL に設定することも、削除することもできます。これを実行すると、XML のインポート時に (または、コンテナ・クラスのコンパイル時に)、timeCreated が現在のタイム・スタンプに設定されます。

エクスポートしたコンテナ・クラスのインポート

エクスポートしたコンテナ・クラスをインポートするには、%ImportContainer() メソッドを使用します。これはクラス %DeepSee.UserLibrary.UtilsOpens in a new tab にあります。このメソッドは、以下のとおりです。

ClassMethod %ImportContainer(pFileName As %String = "", pReplace As %Boolean = 1) As %Status

以下はその説明です。

  • pFileName は、生成するファイルの名前です。

  • pReplace は、既存のクラスを置き換えるかどうかを指定します。

%ImportContainer() は、%OnLoad() メソッドを自動的に呼び出します (これがコンテナ・クラスで定義されている場合)。

フォルダマネージャの使用法

このセクションでは、フォルダマネージャを使用して、項目の依存関係の表示項目のエクスポート、および項目のインポートを実行する方法について説明します。また、この章で後述するように、スタジオでエクスポートおよびインポートを実行することもできます。

フォルダ項目の依存関係の表示

1 つの項目のチェック・ボックスにチェックを付けた場合は、フォルダマネージャの左側の領域に、その項目の詳細 (その項目が依存する項目の一覧など) が表示されます。

generated description: folder manager item details

サーバへの DeepSee フォルダ項目のエクスポート

DeepSee のフォルダ項目をサーバ上のファイルにエクスポートするには、以下の手順を実行します。

  1. [InterSystems ランチャー] をクリックし、[管理ポータル] をクリックします。

    セキュリティの設定によっては、Caché ユーザ名とパスワードを使用してログインするように求められます。

  2. 以下のように、適切なネームスペースに切り替えます。

    1. [変更] をクリックします。

    2. ネームスペースをクリックします。

    3. [OK] をクリックします。

  3. [DeepSee][管理][フォルダ・マネージャ] の順に選択します。

  4. [サーバ] を選択します。

  5. [サーバ・ディレクトリ] に、項目のエクスポート先ディレクトリのフル・パスを入力します。または、そのネームスペースの既定のデータベースが含まれているディレクトリを基準とした相対ディレクトリ名を入力します。または、[参照] ボタンを使用します。

    このディレクトリは既に存在している必要があります。

  6. エクスポートする各項目の横にあるチェック・ボックスにチェックを付けます。

    また、すべての項目を選択する場合は、チェック・ボックス列の一番上にあるチェック・ボックスにチェックを付けます。

  7. [エクスポート] をクリックします。

  8. 必要に応じて、[ディレクトリ] タブをクリックします。このタブに、指定したディレクトリ内のファイルが表示されます。

    generated description: export directory

バリエーション: コンテナ・クラスのエクスポート

代わりに特定のフォルダ項目が含まれるコンテナ・クラスで構成される単一ファイルをエクスポートするには、以下の手順を実行します。

  1. 前述した手順のとおりに、[サーバ][サーバ・ディレクトリ] を指定します。

  2. エクスポートする項目を選択します。

  3. [エクスポートするコンテナ・クラスの作成] オプションを選択します。

  4. 必要に応じて、[関連サポート項目のエクスポート] を選択します。これにより、選択したフォルダ項目の配置に必要とされる可能性のあるサポート項目をすべてエクスポートします。サポート項目の例として、ピボット変数、名前付きフィルタ、共有される計算メンバなどが挙げられます。

  5. [コンテナ・クラス名] には、必要に応じて完全修飾クラス名 (パッケージとクラス) を指定します。[コンテナ・クラス名] の指定がない場合は、名前の生成にコンテナ・クラスとエクスポート・ファイルの両方が使用されるようになります。

  6. [エクスポート] をクリックします。

コンテナ・クラスに関する詳細は、“クラスへの DeepSee のフォルダ項目のパッケージ化” を参照してください。

ブラウザへの DeepSee フォルダ項目のエクスポート

DeepSee のフォルダ項目をブラウザのダウンロード・ディレクトリにエクスポートするには、以下の手順を実行します。

  1. [InterSystems ランチャー] をクリックし、[管理ポータル] をクリックします。

    セキュリティの設定によっては、Caché ユーザ名とパスワードを使用してログインするように求められます。

  2. 以下のように、適切なネームスペースに切り替えます。

    1. [変更] をクリックします。

    2. ネームスペースをクリックします。

    3. [OK] をクリックします。

  3. [DeepSee][管理][フォルダ・マネージャ] の順に選択します。

  4. [ブラウザ] を選択します。

  5. エクスポートする項目を選択します。

  6. 必要に応じて、[関連サポート項目のエクスポート] を選択します。

  7. [コンテナ・クラス名] には、必要に応じて完全修飾クラス名 (パッケージとクラス) を指定します。[コンテナ・クラス名] の指定がない場合は、名前の生成にコンテナ・クラスとエクスポート・ファイルの両方が使用されるようになります。

  8. [エクスポート] をクリックします。

DeepSee のフォルダ項目のインポート

エクスポート済みのフォルダ項目をインポートするには、以下の手順を実行します。

  1. [DeepSee][管理][フォルダマネージャ] をクリックします。

  2. [サーバ・ディレクトリ] に、エクスポート済みの項目を格納しているディレクトリのフル・パスを入力します。または、そのネームスペースの既定のデータベースが含まれているディレクトリを基準とした相対ディレクトリ名を入力します。

  3. [ディレクトリ] タブをクリックします。このタブに、指定したディレクトリ内の項目のファイル名が表示されます。

    generated description: export directory

  4. インポートする各ファイルの横にあるチェック・ボックスにチェックを付けます。

    また、すべての項目を選択する場合は、チェック・ボックス列の一番上にあるチェック・ボックスにチェックを付けます。

  5. [インポート] をクリックします。

  6. プロンプトで [OK] をクリックして次に進みます。または、[キャンセル] をクリックします。

Note:

ファイルのインポート時に作成される項目については、Caché サービスを実行するユーザ名 (_SYSTEM など) が所有者になります。

バリエーション : ローカル・ファイルのサーバへのインポート

ローカル・ファイルをサーバにインポートするには、以下の手順を実行します。

  1. [DeepSee][管理][フォルダマネージャ] をクリックします。

  2. [ブラウザ] を選択します。

  3. [ディレクトリ] タブをクリックして、[ファイルの選択] をクリックします。

  4. インポートするファイルを選択します。

  5. [インポート] をクリックします。

  6. プロンプトで [Ok] をクリックして次に進みます。または、[キャンセル] をクリックします。

削除されたフォルダ項目のリストア

Web ベースのインタフェース経由でピボット・テーブルまたはダッシュボードを削除すると、これは $TRASH という名前のフォルダに移動されます。あるいは、項目がすでにフォルダに存在する場合は、フォルダ名の先頭に $TRASH/ が付加されます。どちらの場合も、その項目は Web ベースのインタフェースには表示されなくなります。項目をリストアするには、必要に応じてスタジオで以下を行います。

  1. [ワークスペース] ウィンドウで、[その他] フォルダを展開します。

    generated description: studio folder items

  2. フォルダ項目テーブル定義に対応する項目を探します。ここで表示される名前は、先頭が $TRASH- で、その後に完全な元の名前が続きます。

  3. 項目を右クリックしてから、[エクスポート] をクリックします。

  4. ファイルの名前を指定して、[OK] をクリックします。

  5. エクスポートされたファイルをテキスト・エディタで開き、エクスポート済みの項目の folderName 属性を変更します。例 : 変更前

    <dashboard xmlns="http://www.intersystems.com/deepsee/library" name="DashA" folderName="$TRASH" ...>
    

    変更後 :

    <dashboard xmlns="http://www.intersystems.com/deepsee/library" name="DashA" folderName="New Folder" ...>
    

    folderName では、先頭がドル記号 ($) でない文字列を指定します。これは、既存のフォルダ名でも新しいフォルダ名でもかまいません。

FeedbackOpens in a new tab