데이터 작업 플러그인 파일 참조

각 데이터 작업 플러그인에는 plugin.xml 파일이 필요하며 각 plugin.xml 파일에는 여러 개의 데이터 작업이 포함될 수 있습니다.

데이터 작업 plugin.xml 파일 예

plugin.xml 파일에는 세 가지 주요 섹션인 tns:obiplugin, tns:resourcestns: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>

데이터 작업 plugin.xml 파일 속성 섹션 - 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">
  • 행 1: XML 선언입니다.
  • 행 2: 플러그인의 루트 XMLElement에 대한 열기 태그 및 plugin.xml 파일 전체에서 사용되는 tns 네임스페이스에 대한 선언입니다.
  • 행 3: 플러그인의 고유 ID입니다.
  • 행 4: 플러그인의 기본 표시 이름(지역화된 버전을 사용할 수 없는 경우 사용)입니다.
  • 행 5: 플러그인의 버전 번호입니다.
  • 행 6: JS/CSS를 최적화(압축)할 수 있는지 여부를 나타내는 부울입니다.
  • 행 7: JS/CSS가 최적화(압축)되었는지 여부를 나타내는 부울입니다.

데이터 작업 plugin.xml 파일 리소스 섹션 - tns:resources

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

설명:

  • id는 파일에 지정되는 ID입니다.

    .js 확장자 없이 JavaScript 파일 이름과 일치하도록 ID를 설정합니다.

  • path는 plugin.xml 파일에서 JavaScript 파일에 대한 상대 경로입니다. JavaScript 파일은 플러그인의 scripts 디렉토리에 저장되어야 합니다.

    특수 문자(예: 밑줄, 하이픈) 없이 JavaScript 파일에 대해 모두 소문자를 사용합니다.

  • type은 등록하려는 파일의 유형입니다. JavaScript 파일에 대해 script로 설정해야 합니다.
  • optimizedGroup은 여러 JavaScript 파일을 단일 압축 파일로 그룹화합니다. 타사 플러그인은 이 속성을 base로 설정된 상태로 유지해야 합니다.

CSS 파일

플러그인의 각 CSS 파일은 아래 표시된 것과 유사한 행에 등록되어야 합니다.

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

설명:

  • id는 파일에 지정되는 ID입니다.

    .css 확장자 없이 CSS 파일 이름과 일치하도록 ID를 설정합니다.

  • path는 plugin.xml 파일에서 CSS 파일에 대한 상대 경로입니다. CSS 파일은 플러그인의 resources 디렉토리에 저장되어야 합니다.

    특수 문자(예: 밑줄, 하이픈) 없이 CSS 파일에 대해 모두 소문자를 사용합니다.

  • type은 등록하려는 파일의 유형입니다. 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>

따라야 하는 미리 정해진 디렉토리 구조와 파일 콘텐츠에 대한 자세한 내용은 생성된 폴더 및 파일을(를) 참조하십시오.

데이터 작업 plugin.xml 파일 확장 섹션 - tns:extension

플러그인이 각 데이터 작업을 제공하도록 하려면 다음과 유사한 <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>

설명:

  • id는 데이터 작업에 지정하는 고유 ID입니다.
  • point-id는 등록할 확장의 유형입니다. 데이터 작업 확장의 경우 oracle.bi.tech.plugin.dataaction으로 설정해야 합니다.
  • version은 확장 정의가 사용하는 확장 API 버전입니다(1.0.0으로 설정된 상태로 유지).

<tns:configuration> 요소에는 다음을 정의하는 JSON 문자열이 포함됩니다.

  • host.module - 데이터 작업을 포함하는 모듈의 전체 이름입니다. 이 전체 모듈 이름은 %PluginID%/%ModuleName%으로 공식화됩니다.
    • 여기서 %PluginID%<tns:obiplugin> 요소의 id 속성에서 지정한 플러그인 ID로 바꿔야 합니다.
    • %ModuleName%는 데이터 작업을 포함하는 JavaScript 파일에 대한 <tns:resource> 요소의 id 속성에 지정된 리소스 ID로 바꿔야 합니다.
  • resourceBundle - 이 데이터 작업의 지역화된 리소스를 포함하는 리소스 파일에 대한 기본 언어 지원 경로입니다. 리소스 파일이 messages.js로 명명되고 미리 정해진 nls 디렉토리 구조에 올바르게 저장된 경우 이 속성을 %PluginID%/nls/messages로 설정합니다. 여기서 %PluginID%plugin.xml 파일의 위쪽에 있는 <tns:obiplugin> 요소의 id 속성에 지정된 플러그인 ID로 바꿔야 합니다.
  • properties.className - 등록하려는 데이터 작업에 지정되는 전체 클래스 이름입니다. 이 전체 클래스 이름은 %PluginID%/%ModuleName%.%ClassName%로 공식화됩니다.
    • 여기서 %PluginID%<tns:obiplugin> 요소의 id 속성에서 지정한 플러그인 ID로 바꿔야 합니다.
    • %ModuleName%는 데이터 작업을 포함하는 JavaScript 파일에 대한 <tns:resource> 요소의 id 속성에 지정된 리소스 ID로 바꿔야 합니다.
    • 여기서 %ClassName%는 JavaScript 파일에서 데이터 작업 클래스에 지정한 이름으로 바꿔야 합니다.
  • properties.displayName - 이 속성에는 하나의 객체와 두 개의 추가 속성이 포함됩니다.
    • key는 지정된 resourceBundle 내에서 데이터 작업의 지역화된 표시 이름을 조회하는 데 사용 가능한 기본 언어 지원 메시지 키입니다.
    • default는 특정 이유로 표시 이름의 지역화된 버전을 찾을 수 없는 경우 사용할 기본 표시 이름입니다.
  • properties.order - 이 속성을 통해 데이터 작업 목록에 표시될 때 해당 데이터 작업이 나타나야 할 위치를 결정하는 데 사용되는 힌트를 제공할 수 있습니다. 순서 속성에서 번호가 보다 낮은 데이터 작업이 번호가 보다 높은 데이터 작업 앞에 나타납니다. 순서 번호가 동일한 데이터 작업(있을 경우)은 시스템에서 로드된 순서대로 표시됩니다.