Každý modul plugin akce s daty vyžaduje soubor plugin.xml a každý soubor plugin.xml může obsahovat libovolný počet akcí s daty.
Soubor plugin.xml obsahuje tři hlavní části, tns:obiplugin
, tns:resources
a tns:extension
.
Příklad souboru plugin.xml
Tento příklad ukazuje typický soubor plugin.xml pro jednu akci s daty.
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>
V části tns:obiplugin
jsou definovány vlastnosti, které jsou společné pro všechny typy modulů plugin.
Vlastnosti modulu plugin
V části tns:obiplugin
jsou definovány vlastnosti, které jsou společné pro všechny typy modulů plugin.
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">
tns
používaný v souborech plugin.xml.V části tns:resources
jsou registrovány všechny soubory, které se podílejí na modulu plugin.
Zdroje
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>
Zde je nutné registrovat všechny soubory JavaScript , CSS, obrázků a zdrojového textu pro překlad. Tato část je obsažena v prvku <tns:resources>
a obsahuje libovolný počet následujících prvků:
<tns:resource>
Tyto prvky se používají k registraci jednoho souboru (například souboru JavaScript nebo CSS).
<tns:resource-folder>
Tyto prvky se používají k současné registraci všech souborů v zadané složce. Může se například jednat o složku s obrázky nebo složku obsahující zdrojové soubory pro podporu mateřského jazyka.
Další informace o postupu registrace jednotlivých typů souborů jsou uvedeny v následujících částech.
Soubory JavaScript
Každý soubor JavaScript v modulu plugin musí být registrován prostřednictvím řádky, která je podobná níže uvedené řádce.
<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
Kde:
Nastavte identifikátor tak, aby odpovídal názvu souboru JavaScript bez přípony .js.
scripts
modulu plugin.
Pro soubory JavaScript můžete používat všechna malá písmena bez speciálních znaků (například podtržítko, spojovník).
script
.base
.Soubory CSS
Každý soubor CSS v modulu plugin musí být registrován prostřednictvím řádky, která je podobná níže uvedené řádce.
<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>
Kde:
Nastavte identifikátor tak, aby odpovídal názvu souboru CSS bez přípony .css.
resources
modulu plugin.
Pro soubory CSS můžete používat všechna malá písmena bez speciálních znaků (například podtržítko, spojovník).
css
.Složky obrázků
Pokud modul plugin obsahuje obrázky, na které je nutné odkazovat z kódu JavaScript, pak je vložte do adresáře resources/images
v adresářové struktuře modulu plugin a následně přidejte prvek <tns:resource-folder>
do souboru plugin.xml
:
<tns:resource-folder id="images" path="resources/images" optimizable="false"/>
Pokud na obrázky odkazují pouze vaše soubory CSS, není nutné přidávat tento prvek <tns:resource-folder>
do souboru plugin.xml
. V tomto případě je však stále musíte přidat do adresáře resources/images
, abyste na ně mohli odkazovat pomocí relativní cesty ze souboru CSS.
Složky zdrojů pro podporu mateřského jazyka
Služba Oracle Analytics implementuje podporu mateřského jazyka. To vyžaduje, aby vývojáři externalizovali řetězce, které se zobrazují v jejich uživatelském rozhraní, do samostatných zdrojových souborů JSON. Poté můžete poskytnout různé lokalizované verze těchto souborů v předepsané struktuře adresářů a služba Oracle Analytics automaticky použije správný soubor pro zvolený jazyk uživatele. Můžete poskytnout tolik přeložených verzí zdrojových souborů, kolik jich potřebujete. Zdrojová složka podpory mateřského jazyka nasměruje službu Oracle Analytics do kořenové složky předepsané struktury adresářů podpory mateřského jazyka používané modulem plugin. Všechny moduly plugin, které používají zdrojové soubory podpory mateřského jazyka, musí mít položku <tns:resource-folder>
, která vypadá přesně jako níže uvedený příklad.
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>
Podrobnosti o obsahu souborů a předepsané struktuře adresářů, kterou byste měli dodržovat, najdete v tématu Generované složky a soubory.
Pro každou akci s daty, pro kterou chcete poskytnout modul plugin, musíte registrovat rozšíření akce s daty pomocí podobného prvku <tns:extension>
, jako je tento:
<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>
Kde:
oracle.bi.tech.plugin.dataaction
.Prvek <tns:configuration>
obsahuje řetězec JSON, který definuje:
%ID_pluginu%/%Název_modulu%
, kde:
%ID_pluginu%
musí být nahrazena identifikátorem modulu plugin, který je zadán v atributu id elementu <tns:obiplugin>
.%Název_modulu%
musí být nahrazen identifikátorem zdroje, zadaným v atributu id elementu <tns:resource>
pro soubor JavaScriptu obsahující akci s daty.nls
, pak nastavte tuto vlastnost na %PluginID%/nls/messages
(kde %PluginID%
je nutné nahradit za identifikátor modulu plugin, který jste zadali prostřednictvím atributu id prvku <tns:obiplugin>
na začátku souboru plugin.xml
).%ID_pluginu%/%Název_modulu%.%Název_třídy%
, kde:
%ID_pluginu%
musí být nahrazena identifikátorem modulu plugin, který je zadán v atributu id elementu <tns:obiplugin>
.%Název_modulu%
musí být nahrazen identifikátorem zdroje, zadaným v atributu id elementu <tns:resource>
pro soubor JavaScriptu obsahující akci s daty.%Název_třídy%
musí být nahrazen názvem třídy akce s daty, zadaným v souboru JavaScriptu.resourceBundle
.