Skip to content

You are not logged in. Register orLog In

extensions
Mail reader

View mailing list archive | Search mailing list archive

start:

dev@extensions.openoffice.org

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