Référence de fichier de module d'extension d'action de données

Chaque module d'extension d'action de données nécessite un fichier plugin.xml et chaque fichier plugin.xml peut contenir un nombre indéfini d'actions de données.

Exemple de fichier plugin.xml d'action de données

Le fichier plugin.xml comporte trois sections principales : tns:obiplugin, tns:resources et tns:extension.

Exemple de fichier plugin.xml

Cet exemple présente un fichier plugin.xml standard pour une action de données.

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>

Fichier plugin.xml d'action de données - Section des propriétés - tns:obiplugin

La section tns:obiplugin définit des propriétés communes à tous les types de module d'extension.

Propriétés de module d'extension

La section tns:obiplugin définit des propriétés communes à tous les types de module d'extension.

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">
  • Ligne 1 : déclaration XML.
  • Ligne 2 : balise de début de l'élément XMLElement racine du module d'extension et déclaration relative à l'espace de noms tns utilisé dans les fichiers plugin.xml.
  • Ligne 3 : ID unique du module d'extension.
  • Ligne 4 : nom d'affichage par défaut du module d'extension (utilisé si aucune version localisée n'est disponible).
  • Ligne 5 : numéro de version du module d'extension.
  • Ligne 6 : valeur booléenne indiquant si le fichier JS/CSS peut être optimisé (compressé).
  • Ligne 7 : valeur booléenne indiquant si le fichier JS/CSS a été optimisé (compressé).

Fichier plugin.xml d'action de données - Section des ressources - tns:resources

La section tns:resources inscrit tous les fichiers qui contribuent au module d'extension.

Ressources

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>

Vous devez inscrire ici chaque fichier JavaScript, CSS, d'image et de ressource de traduction. La section est contenue dans l'élément <tns:resources>. Elle contient un nombre indéfini des éléments suivants :

  • <tns:resource>

    Ces éléments servent à inscrire un fichier unique (par exemple, un fichier JavaScript ou CSS).

  • <tns:resource-folder>

    Ces éléments servent à inscrire simultanément tous les fichiers d'un dossier donné. Par exemple, un dossier d'images ou le dossier contenant les fichiers de ressources de prise en charge Native Language Support.

Les sections suivantes fournissent plus d'informations sur la manière d'inscrire chaque type de fichier.

Fichiers JavaScript

Chaque fichier JavaScript du module d'extension doit être inscrit avec une ligne semblable à celle ci-après.

<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>

Où :

  • id est l'ID attribué au fichier.

    Définissez l'ID de sorte qu'il corresponde au nom du fichier JavaScript sans l'extension .js.

  • path est le chemin relatif vers le fichier JavaScript à partir du fichier plugin.xml. Les fichiers JavaScript doivent être stockés sous le répertoire scripts du module d'extension.

    Le nom des fichiers JavaScript doit être écrit en minuscules et ne pas comporter de caractère spécial (par exemple, trait de soulignement, tiret).

  • type est le type de fichier inscrit. Il doit être défini sur script pour les fichiers JavaScript.
  • optimizedGroup regroupe plusieurs fichiers JavaScript en un seul et même fichier compressé. Cet élément doit rester défini sur base avec les modules d'extension tiers.

Fichiers CSS

Chaque fichier CSS du module d'extension doit être inscrit avec une ligne semblable à celle ci-après.

<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>

Où :

  • id est l'ID attribué au fichier.

    Définissez l'ID de sorte qu'il corresponde au nom du fichier CSS sans l'extension .css.

  • path est le chemin relatif vers le fichier CSS à partir du fichier plugin.xml. Les fichiers CSS doivent être stockés sous le répertoire resources du module d'extension.

    Le nom des fichiers CSS doit être écrit en minuscules et ne pas comporter de caractère spécial (par exemple, trait de soulignement, tiret).

  • type est le type de fichier inscrit. Il doit toujours être défini sur css pour les fichiers CSS.

Dossiers d'images

Si le module d'extension comporte des images auxquelles vous devez faire référence à partir du code JavaScript, placez-les dans un répertoire resources/images au sein de la structure de répertoires du module d'extension et ajoutez un élément <tns:resource-folder> au fichier plugin.xml, comme suit :

<tns:resource-folder id="images" path="resources/images" optimizable="false"/>

Si les images ne sont référencées que par les fichiers CSS, vous n'avez pas besoin d'ajouter l'élément <tns:resource-folder> au fichier plugin.xml. Néanmoins, vous devez les ajouter au répertoire resources/images de façon à pouvoir ensuite y faire référence via un chemin relatif à partir du fichier CSS.

Dossiers de ressources de prise en charge Native Language Support

Oracle Analytics implémente la prise en charge Native Language Support. A cette fin, les développeurs doivent externaliser les chaînes affichées dans l'interface utilisateur dans des fichiers de ressources JSON distincts. Vous pouvez ensuite fournir diverses versions localisées des fichiers dans une structure de répertoires recommandée. Oracle Analytics utilise automatiquement le fichier correct pour la langue choisie par l'utilisateur. Vous pouvez fournir autant de versions traduites des fichiers de ressources que nécessaire. Les dossiers de ressources de prise en charge Native Language Support renvoient Oracle Analytics vers la racine de la structure de répertoires de prise en charge Native Language Support recommandée utilisée par le module d'extension. Tous les modules d'extension utilisant des fichiers de ressources de prise en charge Native Language Support doivent comporter une entrée <tns:resource-folder> en tout point semblable à l'exemple ci-après.

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>

Reportez-vous à Dossiers et fichiers générés pour obtenir des détails sur le contenu des fichiers et la structure de répertoires recommandée.

Fichier plugin.xml d'action de données - Section des extensions - tns:extension

Pour chaque action de données que le module d'extension doit fournir, vous devez inscrire une extension d'action de données à l'aide d'un élément <tns:extension> semblable à celui-ci :

<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>

Où :

  • id est l'ID unique attribué à l'action de données.
  • point-id est le type d'extension à inscrire. Pour les extensions d'action de données, il doit être défini sur oracle.bi.tech.plugin.dataaction.
  • version est la version d'API d'extension utilisée par la définition d'extension (laissez cet élément défini sur 1.0.0).

L'élément <tns:configuration> contient une chaîne JSON qui définit les éléments suivants :

  • host.module : nom qualifié complet du module contenant l'action de données. Le nom de module qualifié complet est formulé sous la forme %PluginID%/%ModuleName%, où :
    • %PluginID% doit être remplacé par l'ID de module d'extension indiqué dans l'attribut id de l'élément <tns:obiplugin>.
    • %ModuleName% doit être remplacé par l'ID de ressource indiqué dans l'attribut id de l'élément <tns:resource> pour le fichier JavaScript contenant l'action de données.
  • resourceBundle : chemin de prise en charge Native Language Support menant au fichier de ressources contenant les ressources localisées de l'action de données. Si les fichiers de ressources sont nommés messages.js et stockés correctement dans la structure de répertoires nls recommandée, définissez cette propriété sur %PluginID%/nls/messages (où %PluginID% doit être remplacé par l'ID de module d'extension indiqué dans l'attribut id de l'élément <tns:obiplugin> en haut du fichier plugin.xml).
  • properties.className : nom de classe qualifié complet attribué à l'action de données en cours d'inscription. Le nom de classe qualifié complet est formulé sous la forme %PluginID%/%ModuleName%.%ClassName%, où :
    • %PluginID% doit être remplacé par l'ID de module d'extension indiqué dans l'attribut id de l'élément <tns:obiplugin>.
    • %ModuleName% doit être remplacé par l'ID de ressource indiqué dans l'attribut id de l'élément <tns:resource> pour le fichier JavaScript contenant l'action de données.
    • %ClassName% doit être remplacé par le nom attribué à la classe d'action de données dans le fichier JavaScript.
  • properties.displayName : cette propriété contient un objet et deux autres propriétés :
    • key est la clé de message de prise en charge Native Language Support pouvant être utilisée pour rechercher le nom d'affichage localisé de l'action de données dans le regroupement de ressources (resourceBundle) indiqué.
    • default est le nom d'affichage par défaut à utiliser si, pour une raison quelconque, la version localisée est introuvable.
  • properties.order : cette propriété vous permet de fournir une indication qui sert à déterminer à quelle position l'action de données doit apparaître si elle figure dans une liste. Les actions de données dont la propriété order indique une valeur faible apparaissent avant celles indiquant une valeur élevée. En cas de valeur identique, les actions de données s'affichent dans leur ordre de chargement par le système.