データ・アクション・プラグイン・ファイルのリファレンス
データ・アクション・プラグインごとに1つのplugin.xmlファイルが必要で、各plugin.xmlファイルには任意の数のデータ・アクションを含めることができます。
データ・アクションplugin.xmlファイルの例
plugin.xmlファイルには、tns:obiplugin
、tns:resources
およびtns:extension
という3つのメイン・セクションがあります。
plugin.xmlの例
この例は、1つのデータ・アクションに対する一般的なplugin.xmlファイルを示しています。
1 <?xml version="1.0" encoding="UTF-8"?>
2 <tns:obiplugin xmlns:tns="http://plugin.frameworks.tech.bi.oracle"
3 id="obitech-currencyconversion"
4 name="Oracle BI Currency Conversion"
5 version="0.1.0.@qualifier@"
6 optimizable="true"
7 optimized="false">
8
9
10 <tns:resources>
11 <tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
12 <tns:resource-folder id="nls" path="resources/nls" optimizable="true">
13 <tns:extensions>
14 <tns:extension name="js" resource-type="script"/>
15 </tns:extensions>
16 </tns:resource-folder>
17 </tns:resources>
18
19
20 <tns:extensions>
21 <tns:extension id="oracle.bi.tech.currencyconversiondataaction" point-id="oracle.bi.tech.plugin.dataaction" version="1.0.0">
22 <tns:configuration>
23 {
24 "host": { "module": "obitech-currencyconversion/currencyconversion" },
25 "resourceBundle": "obitech-currencyconversion/nls/messages",
26 "properties":
27 {
28 "className": "obitech-currencyconversion/currencyconversion.CurrencyConversionDataAction",
29 "displayName": { "key" : "CURRENCY_CONVERSION", "default" : "Currency Conversion" },
30 "order": 100
31 }
32 }
33 </tns:configuration>
34 </tns:extension>
35 </tns:extensions>
36
37 </tns:obiplugin>
データ・アクションplugin.xmlファイルのプロパティ・セクション - tns:obiplugin
tns:obiplugin
セクションでは、すべてのタイプのプラグインに共通のプロパティを定義します。
プラグインのプロパティ
tns:obiplugin
セクションでは、すべてのタイプのプラグインに共通のプロパティを定義します。
1 <?xml version="1.0" encoding="UTF-8"?>
2 <tns:obiplugin xmlns:tns="http://plugin.frameworks.tech.bi.oracle"
3 id="obitech-currencyconversion"
4 name="Oracle BI Currency Conversion"
5 version="0.1.0.@qualifier@"
6 optimizable="true"
7 optimized="false">
- 行1: XML宣言。
- 行2: プラグインのルートXMLElementの開始タグと、plugin.xmlファイル全体で使用される
tns
ネームスペースの宣言。 - 行3: プラグインの一意のID。
- 行4: プラグインのデフォルトの表示名(ローカライズされたバージョンが使用できない場合に使用されます)。
- 行5: プラグインのバージョン番号。
- 行6: JS/CSSが最適化(圧縮)可能であるかどうかを示すブール。
- 行7: JS/CSSが最適化(圧縮)済であるかどうかを示すブール。
データ・アクションplugin.xmlファイルのリソース・セクション - tns:resources
tns:resources
セクションでは、プラグインに提供するファイルをすべて登録します。
リソース
1 <tns:resources>
2 <tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
3 <tns:resource-folder id="nls" path="resources/nls" optimizable="true">
4 <tns:extensions>
5 <tns:extension name="js" resource-type="script"/>
6 </tns:extensions>
7 </tns:resource-folder>
8 </tns:resources>
各JavaScript、CSS、イメージおよび翻訳リソース・ファイルをここで登録する必要があります。このセクションは、<tns:resources>
要素内に含まれ、次の要素を任意の数だけ含みます:
<tns:resource>
これらの要素は、単一のファイルを登録するために使用します(たとえば、JavaScriptまたはCSSファイル)。
<tns:resource-folder>
これらの要素は、指定したフォルダ内のすべてのファイルを同時に登録するために使用します。たとえば、イメージ・フォルダまたはネイティブ言語サポートのリソース・ファイルを含むフォルダです。
各タイプのファイルを登録する方法の詳細は、次の各項を参照してください。
JavaScriptファイル
プラグインの各JavaScriptファイルは、次に示すような行に登録する必要があります。
<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
説明:
- idは、ファイルに割り当てられるIDです。
IDは、JavaScriptファイル名(.js拡張子なし)に一致するよう設定します。
- pathは、plugin.xmlファイルからJavaScriptファイルへの相対パスです。JavaScriptファイルは、プラグインの
scripts
ディレクトリに格納する必要があります。JavaScriptファイルには、アンダースコアやハイフンなどの特殊文字なしで、すべて小文字を使用してください。
- typeは、登録するファイルのタイプです。JavaScriptファイルの場合、これは
script
に設定する必要があります。 - optimizedGroupは、複数のJavaScriptファイルを1つの圧縮ファイルにグループ化します。サード・パーティ・プラグインでは、この設定を
base
のままにする必要があります。
CSSファイル
プラグインの各CSSファイルは、次に示すような行に登録する必要があります。
<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>
説明:
- idは、ファイルに割り当てられるIDです。
IDは、CSSファイル名(.css拡張子なし)に一致するよう設定します。
- pathは、plugin.xmlファイルからCSSファイルへの相対パスです。CSSファイルは、プラグインの
resources
ディレクトリに格納する必要があります。CSSファイルには、アンダースコアやハイフンなどの特殊文字なしで、すべて小文字を使用してください。
- typeは、登録するファイルのタイプです。CSSファイルの場合、これは常に
css
に設定する必要があります。
イメージ・フォルダ
JavaScriptコード内から参照するために必要なイメージがプラグインに含まれる場合、プラグインのディレクトリ構造内のresources/images
ディレクトリにそれらを配置し、次のように<tns:resource-folder>
要素をplugin.xml
に追加します:
<tns:resource-folder id="images" path="resources/images" optimizable="false"/>
イメージがCSSファイルからのみ参照される場合、この<tns:resource-folder>
要素をplugin.xml
ファイルに追加する必要はありません。この場合は、resources/images
ディレクトリにそれらを追加して、CSSファイルからの相対パスを使用して参照できるようにする必要があります。
ネイティブ言語サポートのリソース・フォルダ
Oracle Analyticsには、ネイティブ言語サポートが実装されています。そのため、開発者は、ユーザー・インタフェースに表示する文字列を、個別のJSONリソース・ファイルに外部化する必要があります。その後、所定のディレクトリ構造にこれらのファイルの様々なローカライズ・バージョンを提供することで、Oracle Analyticsでは、ユーザーの選択した言語にとって適切なファイルが自動的に使用されます。リソース・ファイルの翻訳バージョンは、必要な数だけ提供できます。ネイティブ言語サポートのリソース・フォルダによって、Oracle Analyticsに対し、プラグインで使用される所定のネイティブ言語サポート・ディレクトリ構造のルートが指示されます。ネイティブ言語サポートのリソース・ファイルを使用するすべてのプラグインには、次の例とまったく同じ<tns:resource-folder>
エントリが含まれる必要があります。
1 <tns:resource-folder id="nls" path="resources/nls" optimizable="true">
2 <tns:extensions>
3 <tns:extension name="js" resource-type="script"/>
4 </tns:extensions>
5 </tns:resource-folder>
ファイルの内容および準拠する必要のある所定のディレクトリ構造の詳細は、「生成されたフォルダとファイル」を参照してください。
データ・アクションplugin.xmlファイルの拡張機能セクション - tns:extension
プラグインで提供するデータ・アクションごとに、次のような<tns:extension>
要素を使用してデータ・アクションの拡張機能を登録する必要があります:
<tns:extension id="oracle.bi.tech.currencyconversiondataaction" point-id="oracle.bi.tech.plugin.dataaction" version="1.0.0">
<tns:configuration>
{
"host": { "module": "obitech-currencyconversion/currencyconversion" },
"resourceBundle": "obitech-currencyconversion/nls/messages",
"properties":
{
"className": "obitech-currencyconversion/currencyconversion.CurrencyConversionDataAction",
"displayName": { "key" : "CURRENCY_CONVERSION", "default" : "Currency Conversion" },
"order": 100
}
}
</tns:configuration>
</tns:extension>
説明:
- idは、データ・アクションに割り当てる一意のIDです。
- point-idは、登録する拡張機能のタイプです。データ・アクションの拡張機能では、これを
oracle.bi.tech.plugin.dataaction
に設定する必要があります。 - versionは、拡張機能定義で使用する拡張機能のAPIバージョンです(この設定は1.0.0のままにします)。
<tns:configuration>
要素には、次を定義するJSON文字列が含まれます:
- host.module - これは、データ・アクションが含まれるモジュールの完全修飾名です。この完全修飾モジュール名は、
%PluginID%/%ModuleName%
という書式で示されます。ここで:%PluginID%
は、<tns:obiplugin>
要素のid属性で指定したプラグインIDに置き換える必要があります。%ModuleName%
は、データ・アクションが含まれるJavaScriptファイルの<tns:resource>
要素のid属性で指定したリソースIDに置き換える必要があります。
- resourceBundle - これは、このデータ・アクションのローカライズされたリソースが含まれるリソース・ファイルへのネイティブ言語サポート・パスです。リソース・ファイルがmessages.jsという名前で所定の
nls
ディレクトリ構造に正しく格納されている場合、このプロパティを%PluginID%/nls/messages
に設定します(ここで、%PluginID%
は、plugin.xml
ファイルの先頭にある<tns:obiplugin>
要素のid属性で指定したプラグインIDに置き換える必要があります)。 - properties.className - これは、登録するデータ・アクションに割り当てられる完全修飾クラス名です。この完全修飾クラス名は、
%PluginID%/%ModuleName%.%ClassName%
という書式で示されます。ここで:%PluginID%
は、<tns:obiplugin>
要素のid属性で指定したプラグインIDに置き換える必要があります。%ModuleName%
は、データ・アクションが含まれるJavaScriptファイルの<tns:resource>
要素のid属性で指定したリソースIDに置き換える必要があります。%ClassName%
は、JavaScriptファイルでデータ・アクション・クラスに割り当てた名前に置き換える必要があります。
- properties.displayName - このプロパティには、1つのオブジェクトと2つの追加プロパティが含まれます:
- keyは、指定された
resourceBundle
内からデータ・アクションのローカライズされた表示名を検索するために使用できるネイティブ言語サポートのメッセージ・キーです。 - defaultは、なんらかの理由でローカライズされたバージョンの表示名を検出できない場合に使用されるデフォルトの表示名です。
- keyは、指定された
- properties.order - このプロパティによって、データ・アクションのリストが表示されるときに、データ・アクションの表示位置を決定するためのヒントを提供できます。orderプロパティで小さい数値を持つデータ・アクションは、大きい数値を持つデータ・アクションより前に表示されます。同じ数値の場合、データ・アクションは、システムにロードされた順序で表示されます。