Cada plugin de acción de datos requiere un archivo plugin.xml y cada archivo plugin.xml puede contener cualquier número de acciones de datos.
El archivo plugin.xml consta de tres secciones principales, tns:obiplugin
, tns:resources
y tns:extension
.
Archivo plugin.xml de ejemplo
En este ejemplo se muestra un archivo plugin.xml típico para una acción de datos.
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 sección tns:obiplugin
define las propiedades comunes en todos los tipos de plugins.
Propiedades de plugin
La sección tns:obiplugin
define las propiedades comunes en todos los tipos de plugins.
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
que se utiliza en los archivos plugin.xml.En la sección tns:resources
se registran todos los archivos que se incluyen en el plugin.
Recursos
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>
Aquí necesita registrar todos los archivos JavaScript, CSS, de imagen y de recursos de traducción. La sección se incluye en el elemento <tns:resources>
y contiene cualquier cantidad de los elementos siguientes:
<tns:resource>
Estos elementos se usan para registrar un solo archivo (por ejemplo, un archivo JavaScript o CSS).
<tns:resource-folder>
Estos elementos se usan para registrar todos los archivos de una carpeta especificada a la vez. Por ejemplo, una carpeta de imagen o la carpeta que contiene los archivos de recursos para Soporte de idioma nativo.
En las siguientes secciones se proporciona información adicional sobre cómo registrar cada tipo de archivo.
Archivos JavaScript
Cada archivo JavaScript de su plugin se debe registrar con una línea similar a la que se muestra a continuación.
<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
Dónde:
Defina el ID con el que hacer coincidir el nombre de archivo JavaScript sin la extensión .js.
scripts
del plugin.
Use siempre minúsculas para los archivos JavaScript sin caracteres especiales (por ejemplo, caracteres de subrayado, guiones).
script
para los archivos JavaScript.base
.Archivos CSS
Cada archivo CSS del plugin se debe registrar con una línea similar a la que se muestra a continuación.
<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>
Dónde:
Defina el ID con el que hacer coincidir el nombre de archivo CSS sin la extensión .css.
resources
del plugin.
Use siempre minúsculas para los archivos CSS si caracteres especiales (por ejemplo, caracteres de subrayado, guiones).
css
con archivos CSS.Carpeta de imágenes
Si el plugin incluye imágenes a las que debe hace referencia desde el código JavaScript, colóquelas en un directorio resources/images
en la estructura de directorios del plugin y agregue un elemento <tns:resource-folder>
al archivo plugin.xml
como se muestra a continuación:
<tns:resource-folder id="images" path="resources/images" optimizable="false"/>
Si a las imágenes solo se les hace referencia en los archivos CSS, no es necesario que agregue este elemento <tns:resource-folder>
a su archivo plugin.xml
. En este caso, aún tendrá que agregarlos al directorio resources/images
para que, posteriormente, pueda hacer referencia a ellos con una ruta relativa desde el archivo CSS.
Carpetas de recursos del soporte de idioma nativo
Oracle Analytics implanta el soporte de idioma nativo. Esto exige a los desarrolladores externalizar las cadenas que muestran en su interfaz de usuario en distintos archivos de recursos JSON. A continuación, puede proporcionar distintas versiones localizadas de esos archivos en una estructura de directorios indicada y Oracle Analytics usa automáticamente el archivo correcto para el idioma elegido del usuario. Puede proporcionar tantas versiones traducidas de los archivos de recursos como desee. Una carpeta de recursos Soporte de idioma nativo hace que Oracle Analytics apunte a la raíz de la estructura de directorios del Soporte de idioma nativo indicada que use su plugin. Todos los plugins que usen los archivos de recursos de Soporte de idioma nativo deben tener una entrada <tns:resource-folder>
que tenga exactamente el siguiente aspecto.
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>
Consulte Carpetas y archivos generados para obtener información sobre el contenido de los archivos y la estructura de directorios indicada que debe seguir.
Para cada acción de datos que desee que proporcione su plugin, debe registrar una extensión de acción de datos mediante un elemento <tns:extension>
similar a esto:
<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>
Dónde:
oracle.bi.tech.plugin.dataaction
.El elemento <tns:configuration>
contiene una cadena JSON que define:
%PluginID%/%ModuleName%
, donde:
%PluginID%
se debe sustituir por el ID de plugin especificado en el atributo id del elemento <tns:obiplugin>
.%ModuleName%
se debe sustituir por el ID de recurso especificado en el atributo id del elemento <tns:resource>
para el archivo JavaScript que contiene la acción de datos.nls
indicada, defina esta propiedad en %PluginID%/nls/messages
(donde %PluginID%
se debe sustituir por el ID del ID plugin especificado en el atributo id del elemento <tns:obiplugin>
en la parte superior del archivo plugin.xml
).%PluginID%/%ModuleName%.%ClassName%
, donde:
%PluginID%
se debe sustituir por el ID de plugin especificado en el atributo id del elemento <tns:obiplugin>
.%ModuleName%
se debe sustituir por el ID de recurso especificado en el atributo id del elemento <tns:resource>
para el archivo JavaScript que contiene la acción de datos.%ClassName%
se debe sustituir por el nombre que asigne a la clase de acción de datos en su archivo JavaScript.resourceBundle
especificado.