MozillaZine

Dev : Extensions : install.rdf

From MozillaZine Knowledge Base

(Difference between revisions)
Revision as of 02:04, 8 December 2004
Asqueella (Talk | contribs)
(add Mozilla Suite GUID)
<-- Previous diff
Revision as of 02:05, 8 December 2004
Asqueella (Talk | contribs)
(irc)
Next diff -->
Line 71: Line 71:
==Generating a GUID== ==Generating a GUID==
-You&rsquo;ll have to generate a GUID for each extension you create and put it inside the &lt;em:id&gt; tag. You can either download [http://www.microsoft.com/downloads/details.aspx?FamilyId=94551F58-484F-4A8C-BB39-ADB270833AFC&displaylang=en MS guidgen] (a Windows GUID generator), use uuidgen (for *nix), or go to ''irc://irc.mozilla.org/#botbot'' and say 'botbot uuid'.+You&rsquo;ll have to generate a GUID for each extension you create and put it inside the &lt;em:id&gt; tag. You can either download [http://www.microsoft.com/downloads/details.aspx?FamilyId=94551F58-484F-4A8C-BB39-ADB270833AFC&displaylang=en MS guidgen] (a Windows GUID generator), use uuidgen (for *nix), or open your [[IRC]] client, go to ''irc://irc.mozilla.org/#botbot'' and say 'botbot uuid'.
As Firefox/Thunderbird install each extension in a folder with name taken from &lt;em:id&gt; 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. ([http://forums.mozillazine.org/viewtopic.php?t=157579 discussion thread]) As Firefox/Thunderbird install each extension in a folder with name taken from &lt;em:id&gt; 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. ([http://forums.mozillazine.org/viewtopic.php?t=157579 discussion thread])

Revision as of 02:05, 8 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.

Contents

Creating install.rdf for your extension using tools

You can use any of these tools:

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>
 		<em:targetApplication> <!-- Mozilla Suite -->
			<Description>
				<em:id>{86c18b42-e466-45a9-ae7a-9b95ba6f5640}</em:id>
				<em:minVersion>1.7</em:minVersion>
				<em:maxVersion>1.8</em:maxVersion>
			</Description>
		</em:targetApplication>

	</Description>

</RDF>

Mozilla Suite currently ignores install.rdf, but you ought to include corresponding targetApplication item in install.rdf if you support The Suite and are going to submit your extension to update.mozilla.org, see this thread. You must include an install.js file if you support Mozilla Suite.

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 open your IRC client, 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.