Pale Moon Add-ons Site

The Pale Moon Add-ons Site is a service provided by the Pale Moon Project. The intent of the service is to facilitate indexing and hosting of extensions, themes, and search plugins for use in the Pale Moon browser.

Pale Moon Add-ons Team

The Add-ons Team performs the day to day administration and coordination of the Add-ons Site.

Members

Alumni

  • Andrew Gilbertson aka AndyTheAbsurd
  • Antonius32
  • Matt A. Tobin now mostly known as the New Tobin Paradigm

Submitting your Add-on

So, you decided to bring your add-on to Pale Moon officially, have forked your own version for us, or have simply been awesome and created something new? That is fantastic. You have (or will) let the community chew it up a bit and think it is ready for a proper release.. So what do you do?

Well, you have a couple options but each one must be considered carefully.

Hosting your Add-on

The Pale Moon Add-ons Site hosts the following add-on types:

  • Extensions
    • Toolkit
    • Bootstrap
    • PMKit (modified for Pale Moon Jetpack/SDK-style)
  • Themes (Complete themes)

The service will provide full hosting of your add-on, a dedicated page, and automatic update services.

You should submit a request to the Add-ons Team (via the forum's PM system) with the following information:

  • Add-ons Name
  • A 64x64 alpha transparent icon in the PNG format (we can use the generic green puzzle piece if you simply don't have one)
  • Author Name (as you want it on the page)
  • A slug version of your extensions name to be used for internal identification and url generation (This would be like Adblock Latitude being 'adblock-latitude' -- it is meant to be unique). No spaces are allowed, only (lower case) letters, numbers and dashes are allowed!
  • Short Description for the category listing (~100 character limit)
  • Category to be listed on (only one per add-on is allowed at this time; additionally, themes do not use categories)
  • Long Description for the actual add-on's page (if applicable otherwise Short Description will be used)
  • The Initial XPI for review and initial setup
  • A user name for FTP access so that you can update your add-on later. We will assign you a lengthy (25 chars or so) random alpha-numeric password which will be promptly forgotten by us.

Optionally, you could also provide the following, to be shown on the add-on listing:

  • License - both OSI-approved licenses and custom licenses are allowed here.
  • Homepage URL
  • Code repository URL (e.g. GitHub repo)
  • Support URL
  • Support email address
  • Preview image - note that currently only one preview image can be shown for each listing

NOTE: Please do not use the "em:updateURL" in your install.rdf. If you want to use this you should choose the next option.

Indexing your Add-on

This is known informally as an External. Indexing is available to both extensions and themes will list your extension to the category of your choosing and will link to where users can obtain your extension.

This solution is a great choice for maintaining your independence and choice of infrastructure and distribution. You may, for example, want to host your extension on your own website or source code repository's downloads section.

For the Add-ons Manager's Automatic Update Service you must include in your install.rdf file an "em:updateURL" tag to a well formed xml (rdf) file on your own service. You must also take into account that you must not set any cache headers on XPI files if you use HTTPS because cached items do not contain the original security information and will cause issues and therefore will be rejected by the XPInstall routine as insecure.

You should submit a request to the Add-ons Team (via the forum's PM system) with the following information:

  • Add-ons Name
  • A 64x64 alpha transparent icon in the PNG format (we can use the generic green puzzle piece if you simply don't have one)
  • Short Description for the category listing (~100 character limit)
  • URL to where you host your add-on

NOTE: For those of you who wish to use AMO (Mozilla's Add-ons Site) you may do this and we will index it but issues at AMO have been identified that have caused problems in the past with updates and one instance of a mass issue affecting all updates from AMO to Pale Moon. We CANNOT accept indexing on AMO for add-ons which would not otherwise support the corresponding Firefox versions we advertise as (24.9 for Pale Moon 25.x/26.x; 27.9 for Pale Moon 27.x); such add-ons must either self-host or host with us.

Additionally, it is expected that eventually Mozilla's service will become unusable for purposes of providing updates to Firefox add-ons for Pale Moon users as they change how their service works. At any time we may discontinue sending unknown (to the Pale Moon Add-ons Site) update requests to Mozilla's Add-ons Site.

At this time the Pale Moon Add-ons Team considers Mozilla's Add-ons Site and services to be legacy at best.

Understanding phoebus.manifest, phoebus.content and phoebus.license

Metadata for add-ons hosted on the Pale Moon Add-ons Site is split into three files: phoebus.manifest, phoebus.content and phoebus.license. While phoebus.content is used for the content of the add-on listing, and is optional, phoebus.manifest contains metadata of the add-on in question for automatic update purposes, as well as providing enough data to give the add-on a listing. Use of phoebus.license is primarily for custom code licenses, as official licenses will link to the official OSI definition.

phoebus.manifest

This points to the latest version of an add-on, and allows users to download the respective XPI. It is split into several sections, namely, add-on data, metadata, and file data.

Add-on data: This is listed under the addon header. It contains the following sections: type, id, release, unstable. For type, this is the extension type (extension or theme). For id, this is the add-on's GUID. For release, this is the FULL filename of the add-on's latest version (e.g. example-1.0.xpi), and must be changed every time the add-on is updated to reflect the latest file. Note that unstable is currently unused.

Metadata: This is listed under the metadata header. It contains the following sections: name, slug, author, shortDescription, license, homepageURL, repository, supportURL, supportEmail. For name, this is the add-on's name. For slug, this is the add-on slug provided with the initial hosting request. For author, this is the add-on's author. For shortDescription, this is the summary text seen on the extensions categories pages; as it is meant to be short, this must be under 120 characters. For license, this is the license that the add-on is given. If your license is OSI-approved, it will link to the official OSI description; if your license is custom however you do not need to include this, and should instead place your license text into phoebus.license directly. For homepageURL and supportURL, these are external links of the author's choosing for their homepage and support page respectively. If you host your code online, for example on GitHub, you may use the tag repository to provide a link to it, if you wish. Additionally, if you would like users to email you directly, such an email address can be entered into the supportEmail tag.

File data: This is listed under the header using the same filename as every XPI file available for the add-on. One file data section should exist for each XPI file present. This contains the following sub-sections: version, minVersion, maxVersion. For version, this is the version of the add-on specific to a particular XPI file. For minVersion, this is the minimum supported Pale Moon version for a particular XPI file. For maxVersion, this is the maximum supported Pale Moon version for a particular XPI file.

phoebus.content

This is the content of the add-on listing, shown when a user visits an add-on's page directly. This can be written as normal text, with BBcode-alike syntax used to add styling. If this file is not present, the add-on listing will use the shortDescription provided in phoebus.manifest instead. The specific syntax used is shown below.

[b] and [/b]: Bold text
[i] and [/i]: Italic text
[u] and [/u]: Underlined text
[ul] and [/ul]: Unordered list (combine with [li] as below to create a bulleted list)
[li] and [/li]: List item
[section] and [/section]: Denotes individual sections
[url] and [/url]: Provides links. Also accepted is [url="http://example.com]Example Test[/url]

Please note that if you wish to provide a preview image for your extension or theme, please create a file named preview.png in the relevant FTP folder. This will then be automatically shown on the add-on listing.

Categories: Add-ons
Firefox, Mozilla Firefox and Mozilla are registered trademarks of the Mozilla Corporation.
Site design and Branding © 2016 Moonchild Productions - All rights reserved
Any other content is copyright or trademark to their respective owners.
This site uses Cookies - Your usage indicates your consent to their use.

The Pale Moon Developer Wiki is powered by Enano