mozilla
Your Search Results

    XPI


    XPI, XPInstall, Bundles, Extensions, Extension Manager CONFUSION

    The problem

    As I understand it, XPIs are handled today not only by XPInstall, but also by the Toolkit's Extension Manager. We need someone to have a look at this page and make sure it's correct. Same comment applies to the XPInstall page. --Nickolay 01:27, 13 February 2006 (PST)

    See User talk:Andreas Wuest#XPI Error. Should I flag them NeedsTechnicalReview? --Andreas Wuest 07:23, 13 February 2006 (PST)
    Copied from User talk:Andreas Wuest#XPI Error:
    xpi's are in-fact installer modules. However in the case(s) where install.rdf is used, it does not utilize XPInstall. It is managed entirely by the extension manager. And that install method should also be encouraged in apps that support it. --Callek 23:39, 11 February 2006 (PST)
    Thanks, Callek. I'll modify XPI accordingly. -- Andreas Wuest 13:12, 12 February 2006 (PST)
    After re-reading my text, I'd verify that XPInstall is truely not used, (I do not know enough about it). Though I do know for sure the install.js is not used, which is what I think uses XPInstall. sorry for any potential misleading. --Callek 14:14, 12 February 2006 (PST)
    As I said on Talk:XPI that page needs to be looked at by someone who knows what XPInstall is nowadays. I believe both XPInstall and Extension Manager are used when installing extensions/themes. Much work is done by the extension manager, though. --Nickolay 01:45, 13 February 2006 (PST)

    http://kb.mozillazine.org/Install.rdf and http://kb.mozillazine.org/Install.js provide some more insight, but nothing conclusive. --Andreas Wuest 08:34, 13 February 2006 (PST)

    From Talk:Window icons#XPInstall Category:

    I don't think XPInstall category is appropriate here. Not sure though. --Nickolay 05:09, 13 February 2006 (PST)

    Hmmm, yes. But it affects packages (aka Bundles, aka XPI), so I thought some users might be interested in it when they've started reading from XPInstall onwards. --Andreas Wuest 07:47, 13 February 2006 (PST)
    I don't think Bundles are "aka XPI". We need to figure out terminology here. Someone should consult with bsmedberg (who I think brought the term "bundles" in mozilla-land), dveditz and rob_strong, who should know what work does XPInstall and EM do today.
    I think the category you're talking about should be called otherwise. Perhaps "Bundles" or something? --Nickolay 09:12, 13 February 2006 (PST)
    There seems to be some serious confusion regarding Bundles, XPI, XPInstall, Extension Packaging, the Extension Manager, etc. Maybe we should make Talk:XPI the starting point of this discussion? --Andreas Wuest 09:18, 13 February 2006 (PST)

    Contacted bsmedberg and dveditz. Couldn't reach rob_strong (554 Sorry, no mailbox here by that name). --Andreas Wuest 09:49, 13 February 2006 (PST)

    Expert insights

    Following some excerpts from my discussion with Benjamin Smedberg:

    XPIs are ZIP files served with a special mimetype. They take two forms
    
    1) new-style XPIs with an "install.rdf" file in the root are extensions or
    themes. They are installed to appear in the Extension Manager (or Theme
    manager). They are a form of bundle. Seamonkey doesn't know anything about
    these yet.
    
    2) old-style XPIs served with an "install.js" file in the root which are
    processed using the JavaScript XPInstall APIs. They don't appear in the
    extension/theme manager. They are not a "bundle" in the sense of
    http://developer.mozilla.org/en/docs/Bundle
    
    XULRunner applications are also packaged as Bundles (with an application.ini
    in the root), and may end up being served as XPIs, but there is currently no
    code in Firefox which automatically supports that mode of operation.
    
    >> XPIs are ZIP files served with a special mimetype. They take two forms
    >>
    >> 1) new-style XPIs with an "install.rdf" file in the root are extensions or
    >> themes. They are installed to appear in the Extension Manager (or Theme
    >> manager). They are a form of bundle. Seamonkey doesn't know anything about
    >> these yet.
    >
    > So 2) are not bundles, but form 1 is a bundle?
    
    Correct, at least for my definition of "bundle".
    
    >> 2) old-style XPIs served with an "install.js" file in the root which are
    >> processed using the JavaScript XPInstall APIs. They don't appear in the
    >> extension/theme manager. They are not a "bundle" in the sense of
    >> http://developer.mozilla.org/en/docs/Bundle
    >
    > But are these two processed by the Extension Manager or by XPInstall?
    
    Why does it matter? If somebody wants to write a detailed description of how
    XPInstall and EM interact that's important to know, but for ordinary
    extension developers it's an implementation detail: what's important is
    whether install.rdf or install.js is processed, not how it's done.
    
    In reality XPIs are processed by XPInstall, which looks for an "install.rdf"
    and if it is present hands the XPI off to the extension manager code. If no
    install.rdf is present then the XPInstall code which handles install.js is
    activated.
    
    > * "I don't think Bundles are "aka XPI". We need to figure out
    > terminology here. Someone should consult with bsmedberg (who I think
    > brought the term "bundles" in mozilla-land), dveditz and rob_strong,
    > who should know what work does XPInstall and EM do today."
    
    As states on the bundles page, bundles are a generic structure shared
    between themes, extensions, and xulrunner apps.
    
    > * "Firefox 0.9, Thunderbird 0.7, Nvu 0.? and all subsequent versions
    > of these products use the Extension Manager ("the EM") for managing
    > extensions and themes."
    
    We don't/shouldn't care about documenting stuff for Firefox/Thunderbird/NVU
    pre-1.0. A simple "to install in Ffox/tbird/other toolkit applications use
    install.rdf and to install into seamonkey use install.js" should be sufficient.
    

    Ok, that's the material I could gather during my discussion with User:Benjamin Smedberg. Should we set up a topic page to distinguish things clearly? --Andreas Wuest 21:35, 20 February 2006 (PST)

    See also

    Document Tags and Contributors

    Contributors to this page: Andreas Wuest, Nickolay
    Last updated by: Andreas Wuest,