Referenz zur Datenaktions-Plug-in-Datei

Jedes Datenaktions-Plug-in erfordert eine plugin.xml-Datei. Dabei kann jede plugin.xml-Datei beliebig viele Datenaktionen enthalten.

Beispiel für Datei plugin.xml für Datenaktionen

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>

Datei plugin.xml für Datenaktionen - Abschnitt mit Dateieigenschaften "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">
  • Zeile 1: Die XML-Deklaration.
  • Zeile 2: Das öffnende Tag für das Root-XMLElement des Plug-ins und die Deklaration für den tns-Namespace, der in plugin.xml-Dateien verwendet wird.
  • Zeile 3: Die eindeutige ID des Plug-ins.
  • Zeile 4: Der Standardanzeigename des Plug-ins (wird verwendet, wenn keine lokalisierte Version verfügbar ist).
  • Zeile 5: Die Versionsnummer des Plug-ins.
  • Zeile 6: Ein boolescher Wert, der angibt, ob der JS/CSS-Code optimiert (komprimiert) werden kann.
  • Zeile 7: Ein boolescher Wert, der angibt, ob der JS/CSS-Code optimiert (komprimiert) wurde.

Datei plugin.xml für Datenaktionen - Abschnitt mit Dateiressourcen "tns:resources"

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:

  • id ist die ID der Datei.

    Die ID muss mit dem JavaScript-Dateinamen ohne JS-Erweiterung übereinstimmen.

  • path ist der relative Pfad zur JavaScript-Datei von der plugin.xml-Datei. JavaScript-Dateien müssen unter dem Verzeichnis scripts des Plug-ins gespeichert sein.

    Verwenden Sie ausschließlich Kleinbuchstaben ohne Sonderzeichen (z.B. Unterstrich, Bindestrich) für JavaScript-Dateien.

  • type ist der Typ der zu registrierenden Datei. Er muss für JavaScript-Dateien auf script gesetzt werden.
  • optimizedGroup fasst mehrere JavaScript-Dateien in einer einzelnen komprimierten Datei zusammen. Für Drittanbieter-Plug-ins muss dies auf 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:

  • id ist die ID der Datei.

    Die ID muss mit dem CSS-Dateinamen ohne CSS-Erweiterung übereinstimmen.

  • path ist der relative Pfad zur CSS-Datei von der plugin.xml-Datei. CSS-Dateien müssen unter dem Verzeichnis resources des Plug-ins gespeichert sein.

    Verwenden Sie ausschließlich Kleinbuchstaben ohne Sonderzeichen (z.B. Unterstrich, Bindestrich) für CSS-Dateien.

  • type ist der Typ der zu registrierenden Datei. Er muss für CSS-Dateien immer auf 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.

Datei plugin.xml für Datenaktionen - Abschnitt mit Dateierweiterungen "tns:extension"

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:

  • id ist die eindeutige ID der Datenaktion.
  • point-id ist der Typ der zu registrierenden Erweiterung. Dieser muss für Datenaktionserweiterungen auf oracle.bi.tech.plugin.dataaction gesetzt sein.
  • version ist die Erweiterungs-API-Version in der Erweiterungsdefinition (behalten Sie hier 1.0.0 bei).

Das <tns:configuration>-Element enthält eine JSON-Zeichenfolge, die Folgendes definiert:

  • host.module: Der vollqualifizierte Name des Moduls mit der Datenaktion. Dieser vollqualifizierte Modulname hat das Format %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.
  • resourceBundle: Der Native Language Support-Pfad zur Ressourcendatei mit den lokalisierten Ressourcen dieser Datenaktion. Wenn Ihre Ressourcendateien den Namen messages.js haben und korrekt in der vorgeschriebenennls-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).
  • properties.className: Der vollqualifizierte Klassenname der zu registrierenden Datenaktion. Dieser vollqualifizierte Klassenname hat das Format %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.
  • properties.displayName: Diese Eigenschaft enthält ein Objekt und zwei weitere Eigenschaften:
    • key ist der Native Language Support-Meldungsschlüssel, mit dem der lokalisierte Anzeigename der Datenaktion im angegebenen resourceBundle gesucht werden kann.
    • default ist der Standardanzeigename, wenn die lokalisierte Version des Anzeigenamens aus irgendeinem Grund nicht gefunden werden kann.
  • properties.order: Mit dieser Eigenschaft können Sie einen Hinweis angeben, mit dem bestimmt wird, an welcher Position diese Datenaktion in einer Liste von Datenaktionen angezeigt werden soll. Datenaktionen mit niedrigeren Zahlen in der order-Eigenschaft werden vor Datenaktion mit höheren Zahlen angezeigt. Bei gleichem Rang werden die Datenaktionen in der vom System geladenen Reihenfolge angezeigt.