Dev : Extensions : install.rdf: Difference between revisions
mNo edit summary |
(Extension developer's extension) |
||
Line 2: | Line 2: | ||
==Creating install.rdf for your extension using tools== | ==Creating install.rdf for your extension using tools== | ||
You can use any of these tools: [http://ted.mielczarek.org/code/mozilla/ | You can use any of these tools: | ||
*[http://ted.mielczarek.org/code/mozilla/extensiondev/ Extension developer's extension] has Extension Builder functionality. | |||
*Ted Mielczarek's [http://ted.mielczarek.org/code/mozilla/ffinstall/ webapp for install.rdf creation]. | |||
*[http://willbert.unserious.com/?go=extenzilla Extenzilla] - Windows-only install.rdf and XPI generator by Will Ryan ([http://forums.mozillazine.org/viewtopic.php?t=96578 disscussion thread at MZ forums]). | |||
==Creating from a template== | ==Creating from a template== |
Revision as of 20:34, 6 December 2004
A new Extension Manager is used in Firefox 0.9 and Thunderbird 0.7 upwards. In order to be supported by the new EM you have to package your extensions as described in this mozilla.org document.
Creating install.rdf for your extension using tools
You can use any of these tools:
- Extension developer's extension has Extension Builder functionality.
- Ted Mielczarek's webapp for install.rdf creation.
- Extenzilla - Windows-only install.rdf and XPI generator by Will Ryan (disscussion thread at MZ forums).
Creating from a template
Alternatively you can create it from template below.
<?xml version="1.0"?> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <Description about="urn:mozilla:install-manifest"> <em:id>{XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}</em:id> <em:name>Sample Extension</em:name> <em:version>1.0</em:version> <em:description>A sample extension with advanced features</em:description> <em:creator>Your Name Here</em:creator> <!-- optional items --> <em:contributor>A person who helped you</em:contributor> <em:contributor>Another one</em:contributor> <em:homepageURL>http://sampleextension.mozdev.org/</em:homepageURL> <em:optionsURL>chrome://sampleext/content/settings.xul</em:optionsURL> <em:aboutURL>chrome://sampleext/content/about.xul</em:aboutURL> <em:iconURL>chrome://sampleext/skin/mainicon.png</em:iconURL> <em:updateURL>http://sampleextension.mozdev.org/update.rdf</em:updateURL> <em:file> <Description about="urn:mozilla:extension:file:sampleext.jar"> <em:package>content/</em:package> <!-- optional items --> <em:skin>skin/classic/</em:skin> <em:locale>locale/en-US/</em:locale> <em:locale>locale/ru-RU/</em:locale> </Description> </em:file> <em:targetApplication> <!-- Firefox --> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>0.9</em:minVersion> <em:maxVersion>1.0</em:maxVersion> </Description> </em:targetApplication> <em:targetApplication> <!-- Thunderbird --> <Description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minVersion>0.7</em:minVersion> <em:maxVersion>1.0</em:maxVersion> </Description> </em:targetApplication> </Description> </RDF>
Generating a GUID
You’ll have to generate a GUID for each extension you create and put it inside the <em:id> tag. You can either download MS guidgen (a Windows GUID generator), use uuidgen (for *nix), or go to irc://irc.mozilla.org/#botbot and say 'botbot uuid'.
As Firefox/Thunderbird install each extension in a folder with name taken from <em:id> in install.rdf, some people (e.g. clav) are using human-readable strings as ID for their extensions. However, extensions with such IDs are reported to be rejected by update.mozilla.org, so you need to use a 'real' GUID for your extension if you're going to submit it to u.m.o. (discussion thread)
Extension versioning
As stated in the official documentation on mozilla.org, extension versions must be of form major.minor.release.build[+]. Old-style versions like 0.5pre are now invalid.