각 데이터 작업 플러그인에는 plugin.xml 파일이 필요하며 각 plugin.xml 파일에는 여러 개의 데이터 작업이 포함될 수 있습니다.
plugin.xml 파일에는 세 가지 주요 섹션인 tns:obiplugin
, tns:resources
및 tns:extension
이 있습니다.
plugin.xml 예
이 예에서는 하나의 데이터 작업에 대한 일반적인 plugin.xml 파일을 보여줍니다.
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
섹션은 모든 유형의 플러그인에 공통되는 속성을 정의합니다.
플러그인 속성
tns:obiplugin
섹션은 모든 유형의 플러그인에 공통되는 속성을 정의합니다.
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
네임스페이스에 대한 선언입니다.tns:resources
섹션은 플러그인에 영향을 주는 모든 파일을 등록합니다.
리소스
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>
여기서 각 JavaScript, CSS, 이미지 및 번역 리소스 파일을 등록해야 합니다. 섹션이 <tns:resources>
요소에 포함되며 수 제한 없이 다음 요소를 포함합니다.
<tns:resource>
해당 요소는 단일 파일(예: JavaScript 또는 CSS 파일) 등록에 사용됩니다.
<tns:resource-folder>
해당 요소는 지정된 폴더의 모든 파일을 동시에 등록하는 데 사용됩니다. 기본 언어 지원에 대한 리소스 파일을 포함하는 폴더 또는 이미지 폴더를 예로 들 수 있습니다.
유형별 파일 등록 방법에 대한 자세한 내용은 다음 섹션에서 제공됩니다.
JavaScript 파일
플러그인의 각 JavaScript 파일은 아래 표시된 것과 유사한 행에 등록되어야 합니다.
<tns:resource id="currencyconversion" path="scripts/currencyconversion.js" type="script" optimizedGroup="base"/>
설명:
.js 확장자 없이 JavaScript 파일 이름과 일치하도록 ID를 설정합니다.
scripts
디렉토리에 저장되어야 합니다.
특수 문자(예: 밑줄, 하이픈) 없이 JavaScript 파일에 대해 모두 소문자를 사용합니다.
script
로 설정해야 합니다.base
로 설정된 상태로 유지해야 합니다.CSS 파일
플러그인의 각 CSS 파일은 아래 표시된 것과 유사한 행에 등록되어야 합니다.
<tns:resource id="currencyconversionstyles" path="resources/currencyconversion.css" type="css"/>
설명:
.css 확장자 없이 CSS 파일 이름과 일치하도록 ID를 설정합니다.
resources
디렉토리에 저장되어야 합니다.
특수 문자(예: 밑줄, 하이픈) 없이 CSS 파일에 대해 모두 소문자를 사용합니다.
css
로 설정해야 합니다.이미지 폴더
플러그인에 JavaScript 코드 내에서 참조해야 할 이미지가 있을 경우 다음과 같이 플러그인의 디렉토리 구조에 있는 resources/images
디렉토리에 해당 이미지를 넣고 <tns:resource-folder>
요소를 plugin.xml
에 추가합니다.
<tns:resource-folder id="images" path="resources/images" optimizable="false"/>
이미지가 CSS 파일에서만 참조되는 경우 이 <tns:resource-folder>
요소를 plugin.xml
파일에 추가하지 않아도 됩니다. 이 경우 CSS 파일에서 상대 경로를 사용하여 참조할 수 있도록 resources/images
디렉토리에 해당 이미지를 추가해야 합니다.
기본 언어 지원 리소스 폴더
Oracle Analytics는 기본 언어 지원을 구현합니다. 이를 위해서는 개발자가 사용자 인터페이스에 표시할 문자열을 별도의 JSON 리소스 파일로 외부화해야 합니다. 그러면 미리 정해진 디렉토리 구조에서 해당 파일의 지역화된 여러 버전을 제공할 수 있으며 이 경우 Oracle Analytics가 자동으로 사용자의 선택된 언어에 대해 올바른 파일을 사용합니다. 리소스 파일의 번역 버전을 필요에 따라 여러 개 제공할 수 있습니다. 기본 언어 지원 리소스 폴더는 Oracle Analytics에 플러그인에 사용되는 미리 정해진 기본 언어 지원 디렉토리 구조의 루트를 가리킵니다. 기본 언어 지원 리소스 파일을 사용하는 모든 플러그인에는 아래 예와 동일한 <tns:resource-folder>
항목이 있어야 합니다.
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>
따라야 하는 미리 정해진 디렉토리 구조와 파일 콘텐츠에 대한 자세한 내용은 생성된 폴더 및 파일을(를) 참조하십시오.
플러그인이 각 데이터 작업을 제공하도록 하려면 다음과 유사한 <tns:extension>
요소를 사용하여 데이터 작업 확장을 등록해야 합니다.
<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>
설명:
oracle.bi.tech.plugin.dataaction
으로 설정해야 합니다.<tns:configuration>
요소에는 다음을 정의하는 JSON 문자열이 포함됩니다.
%PluginID%/%ModuleName%
으로 공식화됩니다.
%PluginID%
는 <tns:obiplugin>
요소의 id 속성에서 지정한 플러그인 ID로 바꿔야 합니다.%ModuleName%
는 데이터 작업을 포함하는 JavaScript 파일에 대한 <tns:resource>
요소의 id 속성에 지정된 리소스 ID로 바꿔야 합니다.nls
디렉토리 구조에 올바르게 저장된 경우 이 속성을 %PluginID%/nls/messages
로 설정합니다. 여기서 %PluginID%
는 plugin.xml
파일의 위쪽에 있는 <tns:obiplugin>
요소의 id 속성에 지정된 플러그인 ID로 바꿔야 합니다.%PluginID%/%ModuleName%.%ClassName%
로 공식화됩니다.
%PluginID%
는 <tns:obiplugin>
요소의 id 속성에서 지정한 플러그인 ID로 바꿔야 합니다.%ModuleName%
는 데이터 작업을 포함하는 JavaScript 파일에 대한 <tns:resource>
요소의 id 속성에 지정된 리소스 ID로 바꿔야 합니다.%ClassName%
는 JavaScript 파일에서 데이터 작업 클래스에 지정한 이름으로 바꿔야 합니다.resourceBundle
내에서 데이터 작업의 지역화된 표시 이름을 조회하는 데 사용 가능한 기본 언어 지원 메시지 키입니다.