extensions
|
Subject | .oxt, .uno.pkg, .zip |
---|
Standard display | Raw display |
---|
From: Stephan Bergmann <stephan.bergmann@sun.com> Date: Fri, 07 Jul 2006 15:02:59 +0200 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Subject: .oxt, .uno.pkg, .zip
Hi all, To summarize the recent discussion (here and offline) about extension formats: In OOo 2.0.3 and earlier, - .zip is supported by recursively processing all included files based on their filename extensions. An included /META-INF/manifest.xml or /description.xml are effectively ignored. - .uno.pkg is supported by processing only what is specified in /META-INF/manifest.xml. A missing /META-INF/manifest.xml is treated like an empty one. Should /META-INF/manifest.xml contain an entry with an unknown media type, a warning is displayed. An included /description.xml is effectively ignored. - .oxt is not supported. In OOo 2.0.4 and later, - .zip is supported by recursively processing all included files based on their filename extensions. An included /META-INF/manifest.xml is effectively ignored. An included /description.xml is processed. - .uno.pkg and .oxt are supported by processing only what is specified in /META-INF/manifest.xml. A missing /META-INF/manifest.xml is treated like an empty one. An included /description.xml is processed. Rationale for introducing .oxt: To allow for inclusion of new features (/description.xml) that are only known and processed in OOo 2.0.4 and later. (Any future introduction of further features that are only known and processed in OOo x.y.z and later will not require the introduction of yet another filename extension, as the /description.xml <dependencies> feature is then available.) Rationale for processing /description.xml in .zip and .uno.pkg: To not make it too easy for a user to suppress /description.xml processing by renaming from .oxt to .uno.pkg. An open question is whether an included /description.xml should be mentioned in /META-INF/manifest.xml (with media type application/xml?). The current design of the package manager is to only process files listed in /META-INF/manifest.xml and just unpack the rest; thus, semantically, as /description.xml is "processed" (and not "unpacked"), it should be mentioned. Also, there might be other conventions or standards that dictate that a /META-INF/manifest.xml within a zip file should mention every included file (but I do not know; and the package manager design would already violate that, anyway). However, as /description.xml is processed in a special way (conceptually, before the other content of the zip file is even looked at), it would be redundant to have it mentioned. In the current implementation (CWS jsc7), /description.xml is not intended to be mentioned in /META-INF/manifest.xml. For reference purposes, the following experiment shows what happens when various extensions are installed in OOo 2.0.3 and OOo 2.0.4 (CWS jsc7). Each extension includes two dummy type libraries /t1.rdb and /t2.rdb. nom"/"m" indicates that the extension does not/does include a /META-INF/manifest.xml, which if present only contains an entry for /t1.rdb, not for /t2.rdb. Similarly, "nod"/"d" indicates that the enxtension does not/does include a /description.xml, which if present contains an unsatisfied dependency (see <http://specs.openoffice.org/appwide/packagemanager/extensiondependencies1.odt>). "mx" indicates that the extension includes a /META-INF/manifest.xml that additionally contains an entry for /description.xml with media type application/xml. nom-nod.zip: OOo 2.0.3: installs both t1, t2 OOo 2.0.4: installs both t1, t2 nom-nod.uno.pkg: OOo 2.0.3: installs empty extension OOo 2.0.4: installs empty extension nom-nod.oxt: OOo 2.0.3: error "Cannot detect media-type," not installed OOo 2.0.4: install empty extension nom-d.zip: OOo 2.0.3: installs both t1, t2 OOo 2.0.4: error "Unsatisfied Dependencies," not installed nom-d.uno.pkg: OOo 2.0.3: installs empty extension OOo 2.0.4: error "Unsatisfied Dependencies," not installed nom-d.oxt: OOo 2.0.3: error "Cannot detect media-type," not installed OOo 2.0.4: error "Unsatisfied Dependencies," not installed m-nod.zip: OOo 2.0.3: installs both t1, t2 OOo 2.0.4: installs both t1, t2 m-nod.uno.pkg: OOo 2.0.3: installs only t1 OOo 2.0.4: installs only t1 m-nod.oxt: OOo 2.0.3: error "Cannot detect media-type," not installed OOo 2.0.4: installs only t1 m-d.zip: OOo 2.0.3: installs both t1, t2 OOo 2.0.4: error "Unsatisfied Dependencies," not installed m-d.uno.pkg: OOo 2.0.3: installs only t1 OOo 2.0.4: error "Unsatisfied Dependencies," not installed m-d.oxt: OOo 2.0.3: error "Cannot detect media-type," not installed OOo 2.0.4: error "Unsatisfied Dependencies," not installed mx-d.zip: OOo 2.0.3: installs both t1, t2 OOo 2.0.4: error "Unsatisfied Dependencies," not installed mx-d.uno.pkg: OOo 2.0.3: warning "This media-type is not supported," installs only t1 OOo 2.0.4: warning "This media-type is not supported," error "Unsatisfied Dependencies," not installed mx-d.oxt: OOo 2.0.3: error "Cannot detect media-type," not installed OOo 2.0.4: warning "This media-type is not supported," error "Unsatisfied Dependencies," not installed -Stephan
Responses
Date | Author | Subject |
---|