Multiple Item Package는 사용자에 의해 다운로드하고 설치될수 있거나, 제공된 응용프로그램과 함께 또는 외부 프로그램에 의해 미리 package된 여러 Installable Bundle을 package할 수 있는 능력을 제공한다. 각 Multiple Item Package는 install.rdf file (예전 스타일의 install.js가 아님!)을 제공해야하고 다음에 나오는 내용을 제외하고는 Extension과 같은 사항들이 요구된다.
현재로선, extension의 이전버전을 설치할 때 사용자들에게 예방하거나 경고하는 장치가 없다.
Multiple Item Package File Layout
Multiple Item Package file layout은 Installable Bundle의 단순화된 형태이고 xpi file 확장자를 요구한다. Multiple Item Package는 아마 extensions(예를 들면, xpi
file 확장자) 와 themes (예를 들면, jar
file 확장자) 둘 다 갖을 것이다. 그 기본 구조는 다음과 같다.
/install.rdf Install Manifest /extension1.xpi Extension /extension2.xpi Extension /theme1.jar Theme /theme2.jar Theme ...
확장기능 관리자는 Extension이 Multiple Item Package 라면 그 것이 갖고 있는 개별 package들의 설치를 자동적으로 시작하는지를 결정하기 위해 install.rdf Install Manifest
를 읽을 것이다. install.rdf 가 아닌 다른 파일들과 jar와 xpi file extension을 갖는 다른 파일들은 압축이 풀리거나 이용될 것이다.
install.rdf
Multiple Item Package Extension로서 그것의 install.rdf에 대해 같은 요구사항들을 갖지 않는다. 요구되는 항목들은 오직 em:id
, em:targetApplication
, 그리고 em:type
.
Firefox와 Thunderbird 1.5 Extension Manager에서 이 package가 Multiple Item Package인지 결정하기 위해 install.rdf em:type
이 32
이고, <em:type NC:parseType="Integer">32</em:type> 이처럼 명세한다
. XML namespace xmlns:NC="https://home.netscape.com/NC-rdf#"
또한 install.rdf 에서 다음과 같이 정의되야 한다.
... <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:NC="https://home.netscape.com/NC-rdf#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <!-- nsIUpdateItem type for a Multiple Item Package --> <em:type NC:parseType="Integer">32</em:type> ...
Firefox 와 Thunderbird 2.0 Extension Manager에서 이전 구문이나 다음처럼 <em:type>32</em:type>
로 사용할 수도 있다.
... <RDF xmlns="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="https://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <!-- nsIUpdateItem type for a Multiple Item Package --> <em:type>32</em:type> ...
em:targetApplication
를 명세할 때 그 Multiple Item Package에 의해 담겨진 모든 Installable Bundles로부터 명세된 minVersion
은 가장 높은 minVersion
, 그리고 명세된 maxVersion
은 가장 낮은 maxVersion
이어야 할 것이다. 만약 이렇게 되지 않으면 호환성 문제가 발생할 수 있다.
Installation
Installation은 extension들과 theme들 설치에 사용되는 방법과 같은 user interface로 Multiple Item Package가 설치된다. (Multiple Item Package안에 있는 개별 Package들은 목록에 들어가지 않는다.). 이것은 또한 Multiple Item Package에 대한 서명 정보의 표시를 허가한다.
If a manager (e.g. Extension / Theme Manager) is displayed then after the download of the Multiple Item Package completes the manager will display the individual items contained by the Multiple Item Package in the same manner that it would if the user had chosen to install multiple items simultaneously. 그 manager는 Multiple item Package의 다운로드가 완료된 후에 item들의 목록안에 Multiple Item Package를 보여주지 않을 것이다.
Official References for Toolkit API
- Structure of an Installable Bundle: describes the common structure of installable bundles, including extensions, themes, and XULRunner applications
- Extension Packaging: specific information about how to package extensions
- Theme Packaging: specific information about how to package themes
- Multiple-item Extension Packaging: specific information about multiple-item extension XPIs
- XUL Application Packaging: specific information about how to package XULRunner applications
- Chrome Registration