Jedes Datenaktions-Plug-in erfordert eine plugin.xml-Datei. Dabei kann jede plugin.xml-Datei beliebig viele Datenaktionen enthalten.
Die Datei plugin.xml enthält drei Hauptabschnitte tns:obiplugin
, tns:resources
und tns:extension
.
Beispiel für plugin.xml
Dieses Beispiel zeigt eine typische plugin.xml-Datei für eine Datenaktion.
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>
Im Abschnitt tns:obiplugin
werden allgemeine Eigenschaften für alle Plug-in-Typen definiert.
Plug-in-Eigenschaften
Im Abschnitt tns:obiplugin
werden allgemeine Eigenschaften für alle Plug-in-Typen definiert.
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
-Namespace, der in plugin.xml-Dateien verwendet wird.Im Abschnitt tns:resources
werden alle Dateien für das Plug-in registriert.
Ressourcen
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>
Hier müssen Sie jede JavaScript-, CSS-, Bild- und Übersetzungsressourcendatei registrieren. Der Abschnitt ist im <tns:resources>
-Element eingeschlossen und enthält die folgenden Elemente beliebig oft:
<tns:resource>
Mit diesen Elementen werden einzelne Dateien registriert (z.B. JavaScript- oder CSS-Dateien).
<tns:resource-folder>
Mit diesen Elementen werden alle Dateien unter einem angegebenen Ordner gleichzeitig registriert. Beispiel: Ein Bildordner oder der Ordner mit den Ressourcendateien für Native Language Support.
Weitere Informationen zum Registrieren der einzelnen Dateitypen finden Sie in den folgenden Abschnitten.
JavaScript-Dateien
Jede JavaScript-Datei in Ihrem Plug-in muss mit einer ähnlichen Zeile wie der unten gezeigten registriert werden.
<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
Hierbei gilt:
Die ID muss mit dem JavaScript-Dateinamen ohne JS-Erweiterung übereinstimmen.
scripts
des Plug-ins gespeichert sein.
Verwenden Sie ausschließlich Kleinbuchstaben ohne Sonderzeichen (z.B. Unterstrich, Bindestrich) für JavaScript-Dateien.
script
gesetzt werden.base
belassen werden.CSS-Dateien
Jede CSS-Datei in Ihrem Plug-in muss mit einer ähnlichen Zeile wie der unten gezeigten registriert werden.
<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>
Hierbei gilt:
Die ID muss mit dem CSS-Dateinamen ohne CSS-Erweiterung übereinstimmen.
resources
des Plug-ins gespeichert sein.
Verwenden Sie ausschließlich Kleinbuchstaben ohne Sonderzeichen (z.B. Unterstrich, Bindestrich) für CSS-Dateien.
css
gesetzt werden.Bildordner
Wenn Ihr Plug-in Bilder enthält, die Sie aus dem JavaScript-Code referenzieren müssen, legen Sie diese im Verzeichnis resources/images
innerhalb der Verzeichnisstruktur des Plug-ins ab, und fügen Sie wie folgt ein <tns:resource-folder>
-Element zu plugin.xml
hinzu:
<tns:resource-folder id="images" path="resources/images" optimizable="false"/>
Wenn die Bilder nur von den CSS-Dateien referenziert werden, müssen Sie dieses <tns:resource-folder>
-Element nicht zur Datei plugin.xml
hinzufügen. Sie müssen sie in diesem Fall aber dennoch zum Verzeichnis resources/images
hinzufügen, damit Sie sie dann über einen relativen Pfad aus der CSS-Datei referenzieren können.
Ordner für Native Language Support-Ressourcen
Oracle Analytics implementiert Native Language Support. Dafür müssen Entwickler die in der Benutzeroberfläche angezeigten Zeichenfolgen in separaten JSON-Ressourcendateien externalisieren. Anschließend können Sie verschiedene lokalisierte Versionen dieser Dateien in einer vorgeschriebenen Verzeichnisstruktur bereitstellen. Oracle Analytics verwendet dann automatisch die richtige Datei für die vom Benutzer ausgewählte Sprache. Sie können beliebig viele übersetzte Versionen der Ressourcendateien bereitstellen. Ein Native-Language-Support-Ressourcenordner verweist Oracle Analytics auf die Root der vorgeschriebenen Native-Language-Support-Verzeichnisstruktur für Ihr Plug-in. Alle Plug-ins, die Native Language Support-Ressourcendateien verwenden, müssen einen <tns:resource-folder>
-Eintrag enthalten, der genauso wie das unten stehende Beispiel aussieht.
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>
Details zum Inhalt der Dateien und zur vorgeschriebenen Verzeichnisstruktur finden Sie unter Generierte Ordner und Dateien.
Für jede Datenaktion, die Ihr Plug-in bereitstellen soll, müssen Sie eine Datenaktionserweiterung mit einem <tns:extension>
-Element ähnlich dem Folgenden registrieren:
<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>
Hierbei gilt:
oracle.bi.tech.plugin.dataaction
gesetzt sein.Das <tns:configuration>
-Element enthält eine JSON-Zeichenfolge, die Folgendes definiert:
%PluginID%/%ModuleName%
, wobei:
%PluginID%
durch die Plug-in-ID ersetzt werden muss, die Sie im id-Attribut des <tns:obiplugin>
-Elements angegeben haben.%ModuleName%
durch die Ressourcen-ID ersetzt werden muss, die Sie im id-Attribut des <tns:resource>
-Elements für die JavaScript-Datei mit der Datenaktion angegeben haben.nls
-Verzeichnisstruktur gespeichert sind, setzen Sie diese Eigenschaft auf %PluginID%/nls/messages
(wobei %PluginID%
durch die Plug-in-ID ersetzt werden muss, die Sie im id-Attribut des <tns:obiplugin>
-Elements oben in der Datei plugin.xml
angegeben haben).%PluginID%/%ModuleName%.%ClassName%
, wobei:
%PluginID%
durch die Plug-in-ID ersetzt werden muss, die Sie im id-Attribut des <tns:obiplugin>
-Elements angegeben haben.%ModuleName%
durch die Ressourcen-ID ersetzt werden muss, die Sie im id-Attribut des <tns:resource>
-Elements für die JavaScript-Datei mit der Datenaktion angegeben haben.%ClassName%
durch den Namen ersetzt werden muss, den Sie der Datenaktionsklasse in der JavaScript-Datei gegeben haben.resourceBundle
gesucht werden kann.