User Tools

Site Tools


porting_songbird_addons

Note : This applies starting in Nightingale 1.11.x branch.

This is a quick overview about porting Songbird add-ons to Nightingale. It should work in most cases, as there are only minor API differences.

Unpacking the XPI

To get access to the add-ons data, just rename the .xpi file to .zip or directly open it with a ZIP-Archive program. You will see a few folders (defaults, chrome, skin or similar) and a few files on the top level. Only one file is relevant, the install.rdf. After you modified it according to the next section, remember to copy it back into the archive and rename it back to .xpi, if needed.

install.rdf

Inside the <Description> tag, add a compatibility section:

<!-- Nightingale -->
<em:targetApplication>
  <Description>
    <em:id>nightingale@getnightingale.com</em:id>
    <em:minVersion>1.11.0a</em:minVersion>
    <em:maxVersion>2.0a</em:maxVersion>
  </Description>
</em:targetApplication>

We want the add-on to be compatible starting with the first 1.11 builds and up to 2.0a (alpha builds of the next nightingale, which does not yet build).

For more information about install.rdf, refer to this article.

Testing the Add-on

You can put the add-on into a folder within your profile directory so you don't have to zip changes everytime, the Building an Extension Article describes the process a bit.

Uploading the Add-on

  • Port the add-on as above, then test it. If you can, fix issues related to it.
  • If there are still major issues, ask in the forums or IRC for help at porting the add-on.
  • Alternatively, if the add-on is usable in its core features, it might be worth uploading it with a description of what works and doesn't work.
  • Login at Nightingale's wiki, navigate to the add-on page and select “Edit”.
  • Use the “Media Files” link to upload the modified add-on, and create the add-on's entry. Please match the style and add a suitable edit description.
  • Save the page.
porting_songbird_addons.txt · Last modified: 2013/11/30 07:14 by freaktechnik