MozillaZine

Dev : Extensions : install.rdf

From MozillaZine Knowledge Base

(Difference between revisions)
Revision as of 20:44, 26 July 2004
Asqueella (Talk | contribs)

<-- Previous diff
Revision as of 08:09, 27 July 2004
Asqueella (Talk | contribs)
(They change specs too often)
Next diff -->
Line 66: Line 66:
===Extension versioning=== ===Extension versioning===
-According to [http://www.mozilla.org/projects/firefox/extensions/update.html] extension version '''must''' be of form ''major.minor.subminor''. No more 5.0pre or 0.5c or 0.1.20040708+ :(+According to [http://www.mozilla.org/projects/firefox/extensions/update.html] extension version '''must''' be of form ''major.minor.release.build[+]''. Versions like 0.5pre are now invalid.

Revision as of 08:09, 27 July 2004

Not sure if it should be here, and not at Dev : install.rdf. Most (maybe all) of information below applies also to themes Asqueella 13:44, 26 Jul 2004 (PDT)


From Firefox 0.9 and Thunderbird 0.7 on, the new Extension Manager is used. In order to be supported by the new EM you have to package your extensions as described in this mozilla.org document by Ben Goodger.

Jed Brown also has a tutorial on repackaging old extension for the new EM.

Contents

Creating install.rdf for your extension using tools

You can use any of these tools: Ted Mielczarek's webapp for install.rdf creation or 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 using the text editor of your choice. See notes 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 GUID

You'll have to generate GUID for each extension you create and put it inside tag. You can either download MS guidgen (Windows), use uuidgen (*nix) or go to irc://irc.mozilla.org/#botbot and say 'botbot uuid'.

Extension versioning

According to [1] extension version must be of form major.minor.release.build[+]. Versions like 0.5pre are now invalid.