19.2 プラグインの実装

プラグインを作成して、APEXで使用可能な組込みタイプを宣言的に拡張、共有および再利用します。

19.2.1 プラグインについて

プラグインは、APEXで使用可能な組込みタイプの拡張機能です。アプリケーションで新しいアイテム、リージョン、プロセスおよび動的アクション・タイプを宣言的に使用するためのプラグインを作成します。

APEXでは、認証スキーム、認可スキーム、アイテム、リージョン、動的アクションおよびプロセス・タイプのグループ・セットがサポートされます。プラグインによってアプリケーション内で新しいタイプを宣言的に作成および使用することによって、これらの組込みタイプを拡張する手段が提供されます。プラグインは再利用を目的として設計されているため、開発者はプラグインを別のワークスペースにエクスポートおよびインポートしたり、プラグイン・リポジトリを使用してプラグインをOracle APEXプラグイン・コミュニティと共有できます。

プラグインを実装するプロセスには、次のステップがあります。

  1. アプリケーション・ワークスペースでプラグインを作成するか、またはインポートします。
  2. プラグインを使用するための認可スキーム、アイテム、リージョン、プロセスまたは動的アクション・タイプを編集または作成します。
  3. プラグインをテストするためにアプリケーションを実行します。

19.2.2 プラグインの例

プラグインの例は、apex.worldおよびOracle APEX GitHubリポジトリで確認します。

次の場所で、プラグインの実装例を表示できます。

  • APEX WorldのPlug-insを見て回ります。

  • サンプル・プラグインは、Oracle APEX GitHubリポジトリで確認します。

    • https://github.com/oracle/apexにアクセスします。

    • 「ブランチ」で、リリースを選択し、「プラグイン」を選択します。

19.2.3 プラグインの作成

「共有コンポーネント」にナビゲートし、プラグインの作成ウィザードを実行してプラグインを作成します。

プラグインを作成するには、次のようにします。

ヒント:

この項で説明する属性についてさらに学習するには、フィールドレベル・ヘルプを参照してください。

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 「作成」をクリックします。

    プラグインの作成ウィザードが表示されます。

  4. 「プラグインの作成」で、プラグインを作成する方法を選択し、「次へ」をクリックします。
  5. 「名前」で、次の項目を指定します。
    1. 名前 - プラグインの名前を入力します。
    2. 内部名 - プラグインの内部名を入力します。この名前は、現在のアプリケーション内で一意である必要があります。

      ノート:

      内部名をワールドワイドでグローバルな一意名とするために、組織のドメイン名を内部プラグイン名の接頭辞として使用することをお薦めします。たとえば、ドメイン名example.com.comSliderという名前のプラグインに接頭辞として付けると、内部名はCOM.EXAMPLE.SLIDERとなります。

    3. タイプ - このプラグインを使用するコンポーネントのタイプを選択します。選択したプラグイン・タイプに応じて、「コールバック」および「標準属性」の下のオプションが変わります。さらに学習するには、フィールドレベル・ヘルプを参照してください。
    4. カテゴリ: 選択したタイプが「動的アクション」の場合にのみ表示されます。ユーザー・インタフェースでプラグインが表示されるカテゴリを選択します。
  6. 「サブスクリプション」で、次のようにします。
    1. マスター・プラグインの参照元 - このオプションを使用して、このプラグインを、このアプリケーションまたはワークスペース内の別のアプリケーションの既存のプラグインの基になるようにします。それ以外の場合、このフィールドをブランクのままにし、これをこのプラグインのマスター・コピーとします。
    2. コンポーネント設定のサブスクライブ - プラグインをリフレッシュする際に、マスター・アプリケーションのサブスクライブ済プラグインのコンポーネント設定でプラグインのコンポーネント設定をリフレッシュする必要があるかどうかを指定します。
  7. 「ソース」で、次のようにします。
    1. PL/SQLコード - このプラグインのレンダリング、検証、実行およびAJAXコールバックの実行用のプロシージャを含むコードのPL/SQL無名ブロックを入力します。パフォーマンス上の理由から、このコードはデータベース内のPL/SQLパッケージに格納することもできます。
    2. PL/SQLコードを検証しない(実行時にのみPL/SQLコードを解析)。 - PL/SQLコードを実行時にのみ解析する場合は、このオプションを選択します。選択しない場合、コードはプラグインが作成されるときに解析されます。
  8. コールバック - 該当する属性を構成します。表示される属性はプラグイン・タイプに応じて決まります。属性についてさらに学習したり、例を確認するには、フィールドレベル・ヘルプを参照してください。

    ヒント:

    すべてのコールバック・ファンクション名は、無名PL/SQLコード・ブロックのファンクション、パッケージ内のファンクションまたはデータベース内のスタンドアロン・ファンクションを参照できます。

  9. ユーザー・インタフェース - このプラグインに対してアプリケーション・ビルダーでサポートする必要のある表示デバイスを選択します。オプションは次のとおりです。
    • デスクトップ

    • モバイル

  10. 標準属性 - このプラグインに適用する属性を選択します。「標準属性」は、一部のプラグインには表示されません。さらに学習するには、フィールドレベル・ヘルプを参照してください。
  11. 情報:
    1. バージョン: プラグインのバージョンを識別する文字列を入力します。
    2. URL情報: プラグイン作成者のホームページのURL、またはプラグインに関する追加情報のURLです。
  12. 「ヘルプ・テキスト」に、ユーザーがプラグインの機能を理解するのに使用するヘルプ・テキストを入力します。
  13. 「コメント」に、アプリケーションが実行されているときに表示されないコメントおよびノートを入力します。

    各オプションについてさらに学習するには、フィールドレベル・ヘルプを参照してください。

  14. 「プラグインの作成」をクリックします。

    プラグインが作成されたら、追加のカスタム属性の指定、プラグインと関連付けるイメージ、CSSおよびJavaScriptファイルなどのファイルのアップロードおよびイベントの追加を実行できます。

19.2.4 プラグインの編集

「共有コンポーネント」に移動してプラグイン・ページでプラグインを選択して、プラグインを編集します。

プラグインを編集するには、次のようにします。

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 編集するプラグインをクリックします。

    編集ページが表示されます。

  4. 変更を加えます。

    各オプションについてさらに学習するには、フィールドレベル・ヘルプを参照してください。

  5. 「変更の適用」をクリックします。

19.2.5 プラグインへのカスタム属性の追加

プラグインを編集して、カスタム属性を追加します。

開発者が指定したカスタム属性に、置換構文で参照されるアイテムが含まれる場合があります。

プラグインにカスタム属性を追加するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 変更するプラグインをクリックします。

    編集ページが表示されます。

  4. カスタム属性 - 属性値の置換を有効または無効にします。

    「代替属性値」を有効または無効にします。開発者が指定するカスタム属性値には、&P1_DNAMEなどの置換構文で参照されるアイテムを含めることができます。オプションは次のとおりです。

    • オン - APEXにより、自動的に置換構文が実際の値で置換されます。

    • オフ - 置換構文は、p_pluginp_itemp_regionなどのattribute_01からattribute_15までのレコード・タイプ属性に置換構文が変更されずに書き込まれます。プラグインの開発者は、これらの置換構文の参照をapex_plugin_util.replace_substitutionsのコールで置換するか、同様の置換を行う必要があります。

      さらに学習、および例を確認するには、フィールドレベル・ヘルプを参照してください。

  5. 属性を追加するには、「属性の追加」をクリックします。

    属性の編集ページが表示されます。対象となる属性を編集します。

    特定の属性についてさらに学習するには、フィールドレベル・ヘルプを参照してください。

  6. 「作成」をクリックして属性を作成し、編集ページに戻るか、「作成後、さらに作成」をクリックして属性を作成してから、別の属性を作成します。

ノート:

「作成」または「作成後、さらに作成」をクリックするとき、右側のパネルの「プラグイン」の下の「ページに戻る」チェック・ボックスが選択されていると、同じ属性の編集ページが表示されます。

19.2.6 プラグインに関連付けるファイルの作成

プラグインに関連付けるファイルを作成します。

ファイルを作成するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. プラグインを選択します。

    編集ページが表示されます。

  4. 「ファイル」セクションを見つけます。

    「ファイルの接頭辞」は、Webサーバーがプラグインのファイルを指す場合に使用する仮想パスを特定します。プラグイン定義とともにデータベースに格納されているファイルを参照する場合は、何も指定しないでください。パフォーマンスの点から、プラグイン・ファイルをWebサーバーに格納することもできます。#APEX_FILES#または有効なURLを使用してそれらを参照します。

  5. ファイルをアップロードするには、「ファイルの作成」をクリックします。
  6. 作成ページで、次の項目を指定します。
    1. ディレクトリ - ファイルの格納先ディレクトリの名前を入力します。たとえば、csscss/imagesです。
      ディレクトリを指定しない場合、ファイルはルート・ディレクトリに格納されます。
    2. ファイル名 - 空白ファイル(script.jsなど)を作成する場合は、ファイルの名前を入力します。
    3. コンテンツ - ファイルをアップロードする場合は、次のいずれかを実行します。
      • ファイルを「コンテンツ」リージョンにドラッグ・アンド・ドロップします。

      • 「コンテンツ」リージョンをクリックし、ファイルを選択します。

    4. 「作成」または「作成後、別のものの作成」をクリックします。

19.2.7 CSSおよびJavaScriptファイルの自動ロード

プラグインがページで使用されている場合、CSSおよびJavaScriptファイルを自動的にロードします。

「ロードするファイルURL」の属性を構成すると、ページでプラグインが使用されるときに、CSSおよびJavaScriptファイルをAPEXで自動的にロードできます。どのアップロード済ファイルをどの順序でロードする必要があるかを指定するには、次のステップを実行します。

CSSまたはJavaScriptファイルを自動ロードするには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. プラグインを選択します。

    編集ページが表示されます。

  4. 「ロードするファイルURL」を見つけます:
    1. カスケード・スタイルシート - このプラグインでロードするカスケード・スタイルシート・ファイルURLを入力します。各URLは新規行に書き込む必要があります。

      ファイルの縮小バージョンを指定する場合、置換文字列#MIN#を使用して.minを、または#MIN_DIRECTORY#を使用してminified/を通常ページ・ビューのファイルURLに含めたり、ページをデバッグ・モードで表示する場合は空の文字列を含めることができます。また、置換文字列#PLUGIN_FILES#にアクセスして、プラグインのファイル接頭辞の値で置換することもできます。

      ここに入力したファイルURLは、ページ・テンプレートの#APEX_CSS#置換文字列内に出力されます。

      リンクの開始タグや閉じタグを含める必要はありません。ファイルURLのみです。

    2. JavaScript - このプラグインでロードするコードのJavaScriptファイルURLを入力します。

      このプラグインでロードするコードのJavaScriptファイルURLを入力します。各URLは新規行に書き込む必要があります。ファイルの縮小バージョンを指定する場合、置換文字列#MIN#を使用して.minを、または#MIN_DIRECTORY#を使用してminified/を通常ページ・ビューのファイルURLに含めたり、ページをデバッグ・モードで表示する場合は空の文字列を含めることができます。また、置換文字列#PLUGIN_FILES#にアクセスして、プラグインのファイル接頭辞の値を置換することもできます。

      ここに入力したJavaScriptファイルURLは、ページ・テンプレートの#GENERATED_JAVASCRIPT#置換文字列内に出力されます。

      scriptの開始タグや閉じタグを含める必要はありません。ファイルURLのみです。

    例を表示するには、フィールドレベル・ヘルプを参照してください。

  5. 「変更の適用」をクリックします。

19.2.8 プラグインへのイベントの追加

イベントをアイテム、リージョンまたは動的アクション・タイプのプラグインに追加して、動的アクションに公開できるようにします。

たとえば、Start Slide、Sliding、Stop Slideなどのイベントを公開し、これらのイベントが発生したときに応答できる動的アクションの作成が可能なSliderプラグインがあるとします。

プラグインにイベントを追加するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 編集するプラグインをクリックします。

    編集ページが表示されます。

  4. 「イベント」を見つけて、「イベントの追加」をクリックします。

    「イベント」の下に新しい行が表示されます。

  5. 「イベント」で、次のように入力します。
    1. 名前: 動的アクション内でプラグイン・イベントが表示される表示名(例: Start Slide)。
    2. 内部名: 動的アクションをトリガーする割り当てられたJavaScriptイベントの名前。例: slidestart
  6. 「イベントの追加」をクリックします。
  7. ステップ3から4を繰り返して、別のイベントを追加します。
  8. 「変更の適用」をクリックします。

19.2.9 プラグインの削除

編集ページでプラグインを削除します。

プラグインは使用中でなければ削除できます。プラグインを使用中の場合、「削除」ボタンは表示されません。

プラグインを削除するには、次のようにします。

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 削除するプラグインをクリックします。

    編集ページが表示されます。

  4. 「削除」をクリックします。
  5. 確認して、「OK」をクリックします。

19.2.10 プラグイン・リポジトリの表示

プラグイン・リポジトリによって、開発者がプラグインを共有およびダウンロードできる一元的な場所が提供されます。

プラグイン・リポジトリはOracle Technology Networkにあります。

プラグイン・リポジトリを表示するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 「プラグイン・リポジトリの表示」をクリックします。

    APEXプラグイン・リポジトリが表示されます。

19.2.11 プラグイン・ページからのプラグインのエクスポート

プラグイン定義をファイルにエクスポートします。

プラグイン・エクスポート・ファイルは、任意のOracle APEXアプリケーションにインポートできます。エクスポート・ページには、ここで説明するように、プラグイン・ページの「共有コンポーネント」、またはエクスポート・ページからアクセスできます。

プラグイン・ページからプラグインをエクスポートするには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 「タスク」で、「プラグインのエクスポート」をクリックします。

    プラグインのエクスポート・ページが表示されます。

  4. プラグインのエクスポート・ページで、次のステップを実行します。
    1. アプリケーションの選択 - アプリケーションを選択します
    2. プラグイン - エクスポートするプラグインを選択します。
    3. 「エクスポート」をクリックします。
  5. 「エクスポート」をクリックします。

    ダウンロード完了メッセージが表示されます。

19.2.12 プラグイン・ページからのプラグインのインポート

プラグイン定義をファイルにインポートします。

ここで説明するように、プラグイン・ページの「共有コンポーネント」、または「インポート」のホームページからプラグインをインポートします。

プラグイン・ページからプラグインをインポートするには、次のステップを実行します。

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 「インポート」をクリックします。

    プラグインのインポート・ページが表示されます。

  4. インポート時:
    1. ドラッグ・アンド・ドロップするか、ファイルにナビゲートします。
    2. ファイル・タイプ: 「プラグイン」を選択します。
    3. ファイルの文字セット - ファイルの文字セットが正しいことを確認します。
    4. 「次」をクリックします。

      ファイルをインポートすると、ファイルをインストールするオプションが含まれています。エクスポート・リポジトリにナビゲートして、後でこのファイルをインストールすることもできます。

  5. インポートしたファイルをインストールするには、「次へ」をクリックします。
  6. 「プラグインのインストール」で、次の項目を指定します。
    1. インストールするアプリケーション - ターゲット・アプリケーションを選択します。プラグインは、同じアプリケーションまたは別のアプリケーションにインストールできます。

      ヒント:

      現在のアプリケーションにプラグインをインストールすると、新しいプラグインは同じプラグイン名を持つ既存のプラグインを上書きします。インストールが成功すると、プラグインのインストールは永続的になります。エラーが発生した場合、アクションはロールバックされ、永続的な変更は行われません。
    2. 「プラグインのインストール」をクリックします。

19.2.13 プラグイン対話モード・レポートのリセット

プラグインの対話モード・レポートをリセットして、現在レポートに適用されているすべてのフィルタをクリアします。

対話モード・レポートをリセットするには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. プラグイン・ページで、「リセット」をクリックします。

19.2.14 プラグインの使用状況ページの表示

プラグインの使用状況ページには、各プラグインを使用するページ、コンポーネントおよびリージョンが表示されます。

プラグインの使用状況ページを表示するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 「使用状況」をクリックします。

    プラグインの使用状況ページが表示されます。

19.2.15 プラグイン履歴の表示

プラグイン履歴ページには、各プラグインで実行されたアクション、アクションを実行した開発者および各アクションの日付が表示されます。

プラグイン履歴ページを表示するには:

  1. 共有コンポーネント・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

      共有コンポーネント・ページが表示されます。

  2. 「他のコンポーネント」で、「プラグイン」をクリックします。
  3. 「履歴」をクリックします。

    プラグイン履歴ページが表示されます。