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.
Rubriques :
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>
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">
tns
utilisé dans les fichiers plugin.xml.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ù :
Définissez l'ID de sorte qu'il corresponde au nom du fichier JavaScript sans l'extension .js.
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).
script
pour les fichiers JavaScript.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ù :
Définissez l'ID de sorte qu'il corresponde au nom du fichier CSS sans l'extension .css.
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).
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.
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ù :
oracle.bi.tech.plugin.dataaction
.L'élément <tns:configuration>
contient une chaîne JSON qui définit les éléments suivants :
%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.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
).%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.resourceBundle
) indiqué.