Her bir veri eylemi eklentisi bir plugin.xml dosyası gerektirir ve her plugin.xml dosyasında herhangi bir sayıda veri eylemi bulunabilir.
plugin.xml dosyasında üç ana bölüm vardır, tns:obiplugin
, tns:resources
ve tns:extension
.
Örnek plugin.xml
Bu örnek, bir veri eylemine yönelik tipik bir plugin.xml dosyası göstermektedir.
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>
tns:obiplugin
bölümü, tüm eklenti tipleri için ortak olan nitelikleri tanımlar.
Eklenti Nitelikleri
tns:obiplugin
bölümü, tüm eklenti tipleri için ortak olan nitelikleri tanımlar.
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
ad alanı beyanı.tns:resources
bölümü, eklentinize katkıda bulunan tüm dosyaları kaydeder.
Kaynaklar
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>
Her JavaScript, CSS, Resim ve Çeviri Kaynağı Dosyasını burada kaydetmeniz gerekir. Bölüm <tns:resources>
öğesinde yer alır ve aşağıdakiler arasından herhangi sayıda öğe içerebilir:
<tns:resource>
Bu öğeler tek dosya kaydetmek için kullanılır (örneğin JavaScript veya CSS dosyası).
<tns:resource-folder>
Bu öğeler, belirli bir klasördeki tüm dosyaları aynı anda kaydetmek için kullanılır. Örneğin, bir resim klasörü veya Yerel Dil Desteği için kaynak dosyalarını içeren klasör.
Aşağıdaki bölümlerde, her dosya tipini kaydetme hakkında daha fazla bilgi verilmektedir.
JavaScript Dosyaları
Eklentinizdeki her JavaScript dosyası, aşağıda gösterilenle benzer bir satırla kaydedilmelidir.
<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
Bu ifadelerin anlamı şudur:
JavaScript dosya adını .js uzantısı olmadan eşleştirmek için no'yu ayarlayın.
scripts
dizini altında depolanmalıdır.
JavaScript dosyalarınızda özel karakterler olmadan (alt çizgi, kısa çizgi gibi) küçük harfler kullanın.
script
olarak ayarlanmalıdır.base
olarak ayarlanmış şekilde bırakmalıdır.CSS Dosyaları
Eklentinizdeki her CSS dosyası, aşağıda gösterilenle benzer bir satırla kaydedilmelidir.
<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>
Bu ifadelerin anlamı şudur:
CSS dosya adını .css uzantısı olmadan eşleştirmek için no'yu ayarlayın.
resources
dizini altında depolanmalıdır.
CSS dosyalarınızda özel karakterler olmadan (alt çizgi, kısa çizgi gibi) küçük harfler kullanın.
css
olarak ayarlanmalıdır.Resim Klasörleri
Eklentinizde JavaScript kodunuzdan referans almanız gereken resimler varsa bunları eklentinizin dizin yapısında resources/images
dizinine yerleştirin ve plugin.xml
dosyanıza şu şekilde bir <tns:resource-folder>
öğesi ekleyin:
<tns:resource-folder id="images" path="resources/images" optimizable="false"/>
Resimlerinizi sadece CSS dosyaları referans alıyorsa, bu <tns:resource-folder>
öğesini plugin.xml
dosyasına eklemenize gerek yoktur. Bu durumda, CSS dosyanızdaki görece bir dizin yolu kullanarak bunları referans alabilmeniz için bunları yine de resources/images
dizinine eklemeniz gerekir.
Yerel Dil Desteği Kaynak Klasörleri
Oracle Analitik, Yerel Dil Desteği uygular. Bu, geliştiricilerin kullanıcı arayüzlerinde görüntülediği dizeleri ayrı JSON kaynak dosyalarında haricileştirmelerini gerektirir. Bunun ardından, bu dosyaların yerelleştirilmiş farklı sürümlerini belirlenmiş bir dizin yapısında sağlayabilirsiniz. Oracle Analitik, otomatik olarak kullanıcının seçtiği dil için doğru dosyayı kullanır. Kaynak dosyalarının gereken sayıda çevrilmiş sürümünü sağlayabilirsiniz. Yerel Dil Desteği kaynak klasörü, Oracle Analitik'i eklentinizin kullandığı belirlenmiş Yerel Dil Desteği dizin yapısının köküne yönlendirir. Yerel Dil Desteği kaynak dosyalarını kullanan tüm eklentilerin aşağıdaki örnekle tamamen aynı görünen bir <tns:resource-folder>
girişi kullanmaları gerekir.
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>
Dosyaların içerikleri ve izlemeniz gereken belirlenmiş dizin yapısı hakkında detaylı bilgi için bkz. Oluşturulan Klasörler ve Dosyalar.
Eklentinizin sağlamasını istediğiniz her veri eylemi için şuna benzer bir <tns:extension>
öğesi kullanarak bir veri eylemi uzantısı kaydetmelisiniz:
<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>
Bu ifadelerin anlamı şudur:
oracle.bi.tech.plugin.dataaction
olarak ayarlanmalıdır.<tns:configuration>
öğesi şunu tanımlayan bir JSON dizesi içerir:
%PluginID%/%ModuleName%
şeklinde belirtilir. Burada:
%PluginID%
, <tns:obiplugin>
öğesinin no özelliğinde belirttiğiniz eklenti no ile değiştirilmelidir.%ModuleName%
, veri eyleminizi içeren JavaScript dosyası için <tns:resource>
öğesinin no özelliğinde belirttiğiniz kaynak no ile değiştirilmelidir.nls
dizin yapısında doğru şekilde depolanıyorsa bu niteliği %PluginID%/nls/messages
olarak ayarlayın (burada %PluginID%
, plugin.xml
dosyasının en üstündeki <tns:obiplugin>
öğesinin no özelliğinde belirttiğiniz eklenti no ile değiştirilmelidir).%PluginID%/%ModuleName%.%ClassName%
şeklinde belirtilir. Burada:
%PluginID%
, <tns:obiplugin>
öğesinin no özelliğinde belirttiğiniz eklenti no ile değiştirilmelidir.%ModuleName%
, veri eyleminizi içeren JavaScript dosyası için <tns:resource>
öğesinin no özelliğinde belirttiğiniz kaynak no ile değiştirilmelidir.%ClassName%
JavaScript dosyanızdaki veri eylemi sınıfına verdiğiniz adla değiştirilmelidir.resourceBundle
içerisinde veri eyleminin yerelleştirilmiş görünen adını aramak için kullanılabilecek Yerel Dil Desteği mesaj anahtarıdır.