Search completed in 1.25 seconds.
install.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "
install.rdf": <?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>author@oftheme.com</em:id> <em:version>2.0b1</em:version> <!-- seamonkey --> <em:targetapplication> <description> <em:id>{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}</em:id> <em:minversion>2.0b1pre</em:minversion> <em:maxversion>2.0b2pre</em:maxversion> </description> </em:targetapplication> <!-- front end metadata --> <em:name>my_theme</em:name> <em:description>my first theme</em:description> <!-- front end integration hooks (used by theme ma...
install.rdf - Archive of obsolete content
copy the following text and paste it into a text file, then save that file as "
install.rdf": <?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>{themes_uuid}</em:id> <em:version>themes_version</em:version> <!-- target application this extension can install into, with minimum and maximum supported versions.
package.json - Archive of obsolete content
this value will be used as the add-on's em:creator element in the
install.rdf file generated by cfx.
... these values will be used as the add-on's em:contributor elements in its
install.rdf.
... this value will be used as the add-on's em:description element in its
install.rdf.
...And 12 more matches
Extension Versioning, Update and Compatibility - Archive of obsolete content
how applications determine compatibility when installing add-ons applications look at the targetapplication entries in the add-on's
install.rdf.
... if the
install.rdf contains any targetplatform entries then the platform of the currently running application must be listed or the installation will be rejected.
...this means that if your update manifest contains an entry for the currently installed version of the add-on, and the entry's targetapplication entry specifies a larger maxversion then the application will use this value instead of that specified in the add-on's
install.rdf.
...And 6 more matches
Multiple item extension packaging - Archive of obsolete content
every multiple item package must provide an
install.rdf file (not old-style install.js!) and has the same requirements as an extension except as noted below.
...the basic structure is shown below: /
install.rdf install manifest /extension1.xpi extension /extension2.xpi extension /theme1.jar theme /theme2.jar theme ...
... the extension manager will read the
install.rdf install manifest to determine if this is a multiple item package and then start the installation of the individual packages it contains automatically.
...And 4 more matches
Chapter 5: Let's build a Firefox extension - Archive of obsolete content
figure 4: folder structure used in phase 1 c:/ └───extensions └───helloworld │ chrome.manifest │
install.rdf │ └───content clock.js clock.xul overlay.xul table 2: how files are used in phase 1 fixme: make the table cleaner file name role
install.rdf called the install manifest, this gives basic information about the extension, and is required in order for the extension to be installed in firefox...
... create install manifest fill in the
install.rdf file as shown in listing 1.
... listing 1: content for
install.rdf <?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"> <!-- unique id for extension.
...And 4 more matches
The Essentials of an Extension - Archive of obsolete content
« previousnext » the
install.rdf file in the last section we looked at the contents of the hello world extension.
... now we'll look into its files and code, starting with the
install.rdf file.
...the full specification of the
install.rdf file has all the details.
...And 3 more matches
Building a Theme - Archive of obsolete content
an example of the content within a typical xpi file for a theme: example.xpi: /
install.rdf /chrome.manifest /preview.png /icon.png /chrome/ browser/ communicator/ global/ mozapps/ we'll want to create a file structure similar to the one above for our tutorial, so let's begin by creating a folder for your theme somewhere on your hard disk (e.g.
...inside your new theme folder, create two new empty text files, one called chrome.manifest and the other called
install.rdf.
... browser to chrome/browser/ communicator to chrome/communicator/ you should end up with this directory structure: <ext path>/ /
install.rdf /chrome.manifest /chrome/ browser/ communicator/ global/ mozapps/ after this, it would be a good idea to read the article setting up extension development environment and follow the directions there.
...And 3 more matches
Creating custom Firefox extensions with the Mozilla build system - Archive of obsolete content
topsrcdir = @top_srcdir@ srcdir = @srcdir@ vpath = @srcdir@ include $(depth)/config/autoconf.mk module = myextension dirs = public src xpi_name = myextension install_extension_id = myextension@mycompany.com xpi_pkgname = myextension dist_files =
install.rdf include $(topsrcdir)/config/rules.mk a detailed description of the make process, describing the key features of this makefile, can be found here.
... every extension must include an
install.rdf file that tells firefox how to install it.
...xversion>1.0+</em:maxversion> </description> </em:targetapplication> <!-- front-end metadata --> <em:name>my first extension</em:name> <em:description>just an example.</em:description> <em:creator>allpeers.com</em:creator> <em:homepageurl>http://www.allpeers.com/blog/</em:homepageurl> </description> </rdf> there's a detailed description of the format of the
install.rdf file.
...And 2 more matches
Install Manifests - Archive of obsolete content
the file must be called
install.rdf and live at the top level of an add-on's xpi file.
...however, while <em:maxversion> is a required property, it is ignored unless you also set <em:strictcompatibility> in the main <description> of your
install.rdf (i.e.
...accepted values are: 1 opens optionsurl in a dialog box 2 options are displayed inside the add-on manager 3 opens optionsurl in a new tab (if the application supports that), or a dialog box optionstype defaults to 1 if there is an optionsurl included in
install.rdf or 2 if there is no optionsurl and the file options.xul exists in the root of the add-on.
...And 2 more matches
Signing an XPI - Archive of obsolete content
c:\projects\codesigning\> cd signed c:\projects\codesigning\signed> unzip fsb.xpi archive: fsb.xpi creating: chrome/ inflating: chrome.manifest inflating: chrome/fsb.jar inflating:
install.rdf c:\projects\codesigning\signed> del fsb.xpi c:\projects\codesigning\signed> cd ..
...--> chrome/fsb.jar --> chrome.manifest -->
install.rdf generating zigbert.sf file..
...\projects\certs\> cd signed c:\projects\codesigning\signed\> zip fsb.xpi meta-inf/zigbert.rsa adding: meta-inf/zigbert.rsa (deflated 35%) c:\projects\codesigning\signed> zip -r -d fsb.xpi * -x meta-inf/zigbert.rsa adding: meta-inf/manifest.mf (deflated 37%) adding: meta-inf/zigbert.sf (deflated 40%) adding: chrome/fsb.jar (deflated 74%) adding: chrome.manifest (deflated 69%) adding:
install.rdf (deflated 62%) test your certificate to test your certificate, install it into your browser, and attempt to load the signed extension by following these steps: 1.
...And 2 more matches
Creating a spell check dictionary add-on
to create a dictionary add-on, simply create a zip file which contains the following files and folders: my-dictionary.xpi
install.rdf dictionaries/ locale-code.dic locale-code.aff the .dic and .aff files must be placed in a subfolder named dictionaries within the zip file.
...you also have to add a file named
install.rdf to the root of the zip file.
... here is an example of the
install.rdf file.
...And 2 more matches
McCoy
once you have a key you need to add its public part to your add-on's
install.rdf file.
...you must then locate your
install.rdf for mccoy and the public part of the key will be added directly to the file.
... you can then include this
install.rdf in your add-on's xpi and release it.
...And 2 more matches
Theme Packaging
theme file layout thunderbird themes are packaged in an xpi file with the following structure: theme.xpi:
install.rdf preview.png icon.png chrome/ browser/files communicator/files global/files mozapps/files ...
... you must have a top-level chrome.manifest file which registers the chrome for the theme (as before) and also an
install.rdf manifest that specifies metadata that is displayed in the appearance section of the add-ons manager.
...
install.rdf your
install.rdf manifest will look something like this: <?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:type>4</em:type> more properties </description> </rdf> required
install.rdf properties your
install.rdf file must have the following properties.
...And 2 more matches
cfx to jpm - Archive of obsolete content
in a built xpi, it's the id field in the add-on's install manifest (
install.rdf) file.
... so: if you never did anything with ids when using cfx, then the value in your add-on's package.json will be something like "jid1-f3boogbjqje67a", and the corresponding id in the
install.rdf will be "jid1-f3boogbjqje67a@jetpack".
... id handling with jpm when you create an xpi with jpm xpi: if the package.json does not include an id field, then the id written into the
install.rdf is the value of the name field prepended with "@".
... if the package.json does include an id field, and it contains "@", then this is written into the
install.rdf as the add-on id.
Bootstrapped extensions - Archive of obsolete content
a sibling of the
install.rdf) is loaded automatically.
... creating a bootstrapped extension to mark an extension as bootstrappable, you need to add the following element to its install manifest: <em:bootstrap>true</em:bootstrap> then you need to add a bootstrap.js file that contains the required functions; this should be alongside the
install.rdf file in the extension's package.
... the absolute minimum needed here is: file:
install.rdf file: chrome.manifest file: bootstrap.js folder: locale folder: valid_locale_here file: anything.properties in the locale folder you must have folders for each of the languages you want to provide; each folder must be named a valid locale (ex: en-us).
... you have to change the html file's extension to be .xhtml the doctype must be defined point to a dtd file in your locale folder such as: <!doctype html system "chrome://l10n/locale/mozilla.dtd"> must add xmlns attribute to html tag for example: <html xmlns="http://www.w3.org/1999/xhtml"> if you have multiple dtd files read on here: using multiple dtds the bare minimum needed is: file:
install.rdf file: chrome.manifest file: bootstrap.js folder: locale folder: valid_locale_here file: anything.dtd the chrome.manifest file must include a definition for content for example: content name_of_your_addon ./ the chrome.manifest file must also include a line pointing to the locale, just like in the above property section, if you had a folder named en-us in locale...
Deploying a Plugin as an Extension - Archive of obsolete content
rhapsodyplayerengine_inst_win.xpi
install.rdf plugins/ license.rtf nprhapengine.dll the important file here is the
install.rdf file.
...here's what a basic
install.rdf file looks like: <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>rhapsodyplayerengine@rhapsody.com</em:id> <em:name>rhapsody player engine</em:name> <em:version>1.0.0.487</em:version> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>1.5.0.*</em:maxversion> </description> </em:targetapplication> </description> </rdf> you can get more detailed information about this file at
install.rdf.
...now that we have an
install.rdf file, we can actually package the xpi.
...one of the additional things that can be placed in the
install.rdf is called an updateurl.
How to convert an overlay extension to restartless - Archive of obsolete content
an old-style add-on installer is packaged something like this: myaddon.xpi file (glorified zip) └─ chrome.manifest └─
install.rdf └─ chrome folder └─ myaddon folder └─ content.jar file └─ content folder (most files go here) └─ locale folder (your locale files go here) in versions of firefox prior to 4.0 (gecko 2.0), the xpi would be extracted into a folder in your profile's extensions folder.
...opting-out to extractionlessness is done via the "unpack" flag in
install.rdf.
... step 9: bootstrap.js a bootstrap.js file in the root of your xpi, next to your chrome.manifest and
install.rdf, will be the heart of your restartless add-on.
...this is all assuming a minimum version of firefox 17+ (or other gecko 17+ application) which you should remember to state explicitly in your
install.rdf.
Custom toolbar button - Archive of obsolete content
create a plain text file named
install.rdf.
... use your new extension id to rename the directory, and specify the same id in your
install.rdf file.
... in your
install.rdf file, remove the sections for applications where your button does not work.
... optionally change: the button image or images the extension icon, icon.png the version and home page in your
install.rdf file use a jar tool or zip tool to pack the contents of the directory.
XULRunner tips - Archive of obsolete content
an extension: (if you already have inspector installed for another application you can skip to the next step) follow the instructions above through "unzip the package." create a file in the extensions directory of your application with the same name as the dom inspector id (inspector@mozilla.org) containing one line of text -- the exact path to the root directory of dom inspector (where the
install.rdf is) like this one: /home/username/.mozilla/firefox/numbersandletters/extensions/inspector@mozilla.org/ now create a javascript file with the following code and include it in the main window of your application: function startdomi() { // load the window datasource so that browser windows opened subsequent to dom // inspector show up in the dom inspector's window list.
...to install the extension into your application you'll need to hack its
install.rdf (see above).
... troubleshooting window title missing if the title of your xul <window> is blank, even though you specified a title attribute, make sure the extension on your xul file is .xul rather than .xml default theme to create a default theme you need to create a folder in the extensions folder with an
install.rdf in it.
... \myapp\extensions{972ce4c6-7e08-4474-a285-3208198ce6fd}\
install.rdf it should also have an <em:internalname>classic/1.0</em:internalname> as that is the default theme in firefox.
Extension Packaging - Archive of obsolete content
every extension must provide an
install.rdf file, which contains metadata about the extension, such as its unique id, version, author, and compatibility information.
... after the extension files and
install.rdf have been prepared, there are several ways to prepare an extension for installation: zip the extension directory into a user-installable xpi (xpinstall) file, unpack the extension directly into the user's application or profile directory, or register the extension in the windows registry.
... making an extension xpi an xpi (xpinstall) file is simply a zip file, containing the extension files, with the
install.rdf file at the root of the zip.
Inline options - Archive of obsolete content
locating the options file there are two ways to let the add-on manager find your options file: method 1 name the file options.xul and put it in the extension's root folder (alongside
install.rdf).
...this method does not require you to specify optionstype in
install.rdf.
... method 2 use
install.rdf to identify the xul file used for displaying the options.
Setting up an extension development environment - Archive of obsolete content
maxversion needs to be set in
install.rdf javascript.options.showinconsole = true.
... get the extension id from the extension's
install.rdf file.
... the contents of this file should be the path to the directory that contains your
install.rdf file, for example /full/path/to/yourextension/ on mac and linux, and c:\full\path\to\yourextension\ on windows.
Index - Archive of obsolete content
every multiple item package must provide an
install.rdf file (not old-style install.js!) and has the same requirements as an extension except as noted below.
... 410 chrome.manifest copy the following text and paste it into a text file, then save that file as "chrome.manifest": 411
install.rdf copy the following text and paste it into a text file, then save that file as "
install.rdf": 412 creating a hybrid cd developing mozilla, outdated_articles no summary!
... 3785 contents.rdf add-ons, themes copy the following text and paste it into a text file, then save that file as "contents.rdf": 3786
install.rdf add-ons, themes copy the following text and paste it into a text file, then save that file as "
install.rdf": 3787 making sure your theme works with rtl locales add-ons, right-to-left, themes some languages are written from right to left.
Install.js - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an
install.rdf manifest.
...if you want your extension to install in firefox 0.9 and later and/or thunderbird 0.7 and later only, you don't need install.js, you need an
install.rdf instead.
... install.js
install.rdf (optional -- see above) code // install.js // xpiinstaller // by pike (heavily inspired by code from henrik gemal and stephen clavering) var xpiinstaller = { // --- editable items begin --- extfullname: 'sample extension', // the name displayed to the user (don't include the version) extshortname: 'sampleext', // the leafname of the jar file (without the .jar part) extversion: '1.0', extau...
Creating a Firefox sidebar extension - Archive of obsolete content
the first is
install.rdf, the install manifest.
...
install.rdf <?xml version="1.0" encoding="utf-8"?> <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>emptysidebar@yourdomain.com</em:id> <em:name>emptysidebar extension</em:name> <em:version>1.0</em:version> <em:creator>your name</em:creator> <em:description>example extension for creation and registration of a sidebar.</em:description> <em:targetapplication> <description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <!-- firefox --> <em:minversion>1.5</em:minversion> <em:maxversio...
...~/src/emptysidebar$ zip emptysidebar.xpi
install.rdf chrome.manifest chrome/emptysidebar.jar open firefox and browse to the folder containing emptysidebar.xpi.
Getting Started - Archive of obsolete content
install.rdf make a copy of
install.rdf and place it in the my_theme directory, then open it up in your text editor.
...see install manifests for the reference information about the
install.rdf file.
... jar file with the following directory structure, using your favorite archive manager to create a zip archive: /chrome/my_theme.jar!/communicator/* /chrome/my_theme.jar!/editor/* /chrome/my_theme.jar!/global/* /chrome/my_theme.jar!/help/* /chrome/my_theme.jar!/messenger/* /chrome/my_theme.jar!/messenger-newsblog/* /chrome/my_theme.jar!/mozapps/* /chrome/my_theme.jar!/navigator/* /chrome.manifest /
install.rdf /icon.png /preview.png make sure not to just zip up the my_theme parent directory since that will cause the drag and drop install in the next section to fail without error messages.
Creating a Skin for Firefox/Getting Started - Archive of obsolete content
install.rdf make a copy of
install.rdf and place it in the my_theme directory, then open it up in your text editor.
... see install manifests for the reference information about the
install.rdf file.
... repackaging jar now all you need to do is repackage a jar file with the following directory structure, using your favorite archive manager to create a zip archive: /browser/* /communicator/* /global/* /help/* /mozapps/* /contents.rdf /
install.rdf /icon.png /preview.png make sure not to just zip up the my_theme parent directory since that will cause the drag and drop install in the next section to fail without error messages.
Makefile.mozextension.2 - Archive of obsolete content
xit 1; } @echo $(mkdir) $(project) $(mkdir) $(project)/content $(project)/locale $(project)/locale/en-us $(project)/components/ $(project)/defaults/ $(project)/defaults/preferences/ $(project)/locale/de-de $(project)/skin make_xpi: $(mkdir) $(project)/chrome && \ cd $(project) && \ $(zipprog) -r chrome/$(project).jar content locale skin && \ $(zipprog) -r $(project).xpi chrome.manifest
install.rdf components defaults chrome && cd ..
... make_files: chrome.manifest
install.rdf overlay.xul overlay.js overlay.dtd $(noecho) $(noop) make_clean: rm -rf $(project) # this may be a bit too old ?!
.../about.xul</abouturl> <iconurl>chrome://$(project)/skin/mainicon.png</iconurl> <updateurl>http://$(project).mozdev.org/update.rdf</updateurl> <type>2</type> <targetapplication> <description> <id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</id> <minversion>2.0</minversion> <maxversion>9.0</maxversion> </description> </targetapplication> </description> </rdf> endef export install_rdf
install.rdf: @echo generating $(project)/
install.rdf @echo "$$install_rdf" > $(project)/
install.rdf ###### define overlay_xul <overlay id="$(project)-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"><script src="overlay.js"/></overlay> ...
Complete - Archive of obsolete content
the xpi contains:
install.rdf information about the extension chrome.manifest registration data for firefox etc.
...these version checks depend on the version numbers specified in the
install.rdf file.
...the description in
install.rdf is the default.
Theme changes in Firefox 4 - Archive of obsolete content
then copy all of icon.png,
install.rdf and preview.png from <firefox-app-bundle>/contents/macos/extensions/{...} into my_theme.
... classic/1.0 chrome/browser/ skin communicator classic/1.0 chrome/communicator/ skin global classic/1.0 chrome/global/ skin mozapps classic/1.0 chrome/mozapps/ this results in the following structure : /my_theme/chrome/browser/* /my_theme/chrome/communicator/* /my_theme/chrome/global/* /my_theme/chrome/mozapps/* /my_theme/chrome.manifest /my_theme/icon.png /my_theme/
install.rdf /my_theme/preview.png note: for more information (and how to package into a jar) consult creating a skin for firefox which still mostly applies.
... most likely you must replace all occurences of classic/1.0 in chrome.manifest and
install.rdf with some other name.
Localizing extension descriptions
all of the different descriptions now appear in the
install.rdf file using em:localized properties.
... add the following line to each of your localization properties files (where extension_id matches your extension id (<em:id> from
install.rdf) and localized_description is the description of your extension that you want to appear in the given language): extensions.extension_id.description=localized_description if you do not currently have one, create a default preferences file.
... add the following line to it (where extension_id matches your application id from
install.rdf and path_to_localization_file is the chrome path to the localization file you added to earlier): pref("extensions.extension_id.description", "path_to_localization_file"); localizable strings the following add-on metadata can be localized using this process: name description creator homepageurl localizable lists in cases where multiple values can exist, a numeric index is appended to the end of the preference name: extensions.extension_id.contributor.1=first_localized_contributor_name extensions.extension_id.contributor.2=second_localized_contributor_name extensions.extension_id.contributor.3=thrid_localized_contributor_name pref("extensions.extension_id.contributor.1", "path_to_localizati...
Building a Thunderbird extension 3: install manifest
the
install.rdf file is an xml file that provides general information about the extension.
... open the file called
install.rdf that you created at the top of your extension's directory hierarchy and paste the following text into the file: <?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>myfirstext@jen.zed</em:id> <em:name>my first extension</em:name> <em:version>1.0</em:version> <em:creator>jenzed</em:creator> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>5.0.*</em:maxversion> </description> </em:targetapplication> </description> </rdf> the following items (shown in bold) should be custo...
... there are more optional elements that can be specified in
install.rdf.
customDBHeaders Preference
building the extension for this extension, i used a directory tree exactly like this: superfluous/ chrome.manifest
install.rdf makefile chrome/ content/ superfluous.js superfluous_overlay.xul here's the makefile: deps:= chrome/ \ chrome.manifest \ chrome/content/ \ chrome/content/superfluous.js \ chrome/content/superfluous_overlay.xul \
install.rdf superfluous.xpi: ${deps} zi...
...p $@ ${deps} chrome.manifest: content superfluous chrome/content/ overlay chrome://messenger/content/messenger.xul chrome://superfluous/content/superfluous_overlay.xul
install.rdf: <?xml version='1.0' encoding='utf-8'?> <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>superfluous@yoursite.com</em:id> <em:version>0.1.1</em:version> <em:type>2</em:type> <!-- 2 is type 'extension' --> <em:targetapplication> <description> <!-- this next line identifies tbird as target --> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>2*</em:minversion> <em:maxversion>3.0.0.*</em:maxversion> <...
...ation> <em:name>superfluous</em:name> <em:description>test superfluous extension</em:description> <em:creator>garrett comeaux</em:creator> </description> </rdf> build process: [gcomeaux@kyle tbird-ext]$ cd superfluous/ [gcomeaux@kyle superfluous]$ make zip superfluous.xpi chrome/ chrome.manifest chrome/content/ chrome/content/superfluous.js chrome/content/superfluous_overlay.xul
install.rdf adding: chrome/ (stored 0%) adding: chrome.manifest (deflated 44%) adding: chrome/content/ (stored 0%) adding: chrome/content/superfluous.js (deflated 57%) adding: chrome/content/superfluous_overlay.xul (deflated 44%) adding:
install.rdf (deflated 50%) end result ultimately, you want to be able to compose a message like this: and see the superfluous column displayed in your inbo...
Program ID - Archive of obsolete content
when you create an xpi with jpm xpi: if the package.json does not include an id field, then the id written into the
install.rdf is the value of the name field prepended with "@".
... if the package.json does include an id field, and it contains "@", then this is written into the
install.rdf as the add-on id.
jpmignore - Archive of obsolete content
for example: .* * !/data/** !/lib/** !/locale/** !/node_modules/** !/package.json !/icon.png !/icon64.png !/copying !/bootstrap.js !/
install.rdf this would include all editor backup files and similar in the whitelisted subdirectories, to avoid that you can append another blacklist after the whitelist.
... this one would work for xemacs: .* * !/data/** !/lib/** !/locale/** !/node_modules/** !/package.json !/icon.png !/icon64.png !/copying !/bootstrap.js !/
install.rdf *~ \#* ...
Enhanced Extension Installation - Archive of obsolete content
installation initiation when an item is installed from the web, xpinstall is invoked and it calls into the extension system when it discovers that the xpi file contains an
install.rdf manifest.
... item type
install.rdf install manifests should now specify a <em:type> property which tells the extension system what their type is.
Setting Up a Development Environment - Archive of obsolete content
these define the extension name, the extension id (as specified in
install.rdf) and the name of the profile directory where the extension will be installed during development and testing.
... adding:
install.rdf (deflated 50%) adding: chrome.manifest (deflated 50%) adding: content/browseroverlay.js (deflated 42%) adding: content/browseroverlay.xul (deflated 69%) adding: skin/browseroverlay.css (stored 0%) adding: locale/browseroverlay.dtd (deflated 52%) adding: locale/browseroverlay.properties (stored 0%) creating xpi file.
Adding preferences to an extension - Archive of obsolete content
however, we do need to add one new line to the
install.rdf file: <em:optionsurl>chrome://stockwatcher2/content/options.xul</em:optionsurl> this line establishes the url of the xul file that describes the options dialog.
... you must set em:optionstype to 2 in your
install.rdf.
Index of archived content - Archive of obsolete content
ing a skin for firefox/getting started creating a skin for mozilla faq getting started in-depth links contents.rdf toolbarbindings.xml creating a skin for seamonkey 2.x getting started chrome.manifest
install.rdf creating a hybrid cd creating regular expressions for a microsummary generator dtrace dehydra dehydra frequently asked questions dehydra function reference dehydra object reference installing dehydra using dehydra devel...
...laris 10 build prerequisites sunbird theme tutorial table reflow internals tamarin tracing build documentation the basics of web services themes building a theme common firefox theme issues and solutions creating a skin for firefox uuid contents.rdf
install.rdf making sure your theme works with rtl locales theme changes in firefox 2 theme changes in firefox 3 theme changes in firefox 3.5 theme changes in firefox 4 updating an extension to support multiple mozilla applications using firebug and jquery (screencast) using io timeout and inter...
Repackaging Firefox - Archive of obsolete content
this xpi has the following contents chrome.manifest components/partnerbookmarks.js defaults/preferences/partner.js
install.rdf locale/ar/partner.properties locale/cs/partner.properties locale/da/partner.properties locale/de/partner.properties locale/el/partner.properties locale/en-gb/partner.properties locale/partner.properties locale/es-ar/partner.properties locale/es-es/partner.properties locale/fi/partner.properties locale/fr/partner.properties locale/he/partner.properties locale/hu/partner.properties locale/it/partne...
...
install.rdf meta-information about your extension, such as the creator (your organization), a unique id, and which versions of firefox are supported.
Extensions - Archive of obsolete content
to support prism specifically, you'll need to add prism to the list of target applications in the extension's
install.rdf file.
...this usually means extracting and editing the
install.rdf file to add prism as a target application.
XPInstall - Archive of obsolete content
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an
install.rdf manifest.
...an xpi (pronounced "zippy" and derived from xpinstall) installer module is a zip file that contains an install script or manifest (entitled install.js or
install.rdf) at the root of the file.
ant script to assemble an extension - Archive of obsolete content
r "chrome/blogmark.jar" is created, which is then stuffed into "blogmark.xpi" <target name="createxpi" depends="createjar" description="assemble the final build blogmark.xpi"> <zip destfile="blogmark-${version}.xpi"> <zipfileset dir="." includes="chrome/blogmark.jar" /> <zipfileset dir="." includes="
install.rdf" /> </zip> </target> everything inside the chrome directory is zipped into chrome/blogmark.jar <target name="createjar" depends="templates" description="assemble the jar"> <jar destfile="chrome/blogmark.jar"> <fileset dir="chrome/"> <include name="**/*"/> <ex...
... tofile="chrome/content/blogmark/about.xul" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> </replacetokens> </filterchain> </copy> <copy file="
install.rdf.tpl.xml" tofile="
install.rdf" overwrite="true"> <filterchain> <replacetokens> <token key="version" value="${version}"/> <token key="description" value="${description}"/> </replacetokens> ...
Index
at a minimum, they contain an
install.rdf, the chrome.manifest and a chrome/ folder.
...when this tutorial is finished, our extension will look like this: 76 building a thunderbird extension 3: install manifest extensions, thunderbird the
install.rdf file is an xml file that provides general information about the extension.
Building a Thunderbird extension 2: extension file layout
at a minimum, they contain an
install.rdf, the chrome.manifest and a chrome/ folder.
...when this tutorial is finished, our extension will look like this: myfirstext.xpi: //created in step 8 /
install.rdf //created in step 3 /chrome.manifest //created in step 4 /chrome/ /content/ /content/myhelloworld.xul //created in step 5 /content/overlay.js //created in step 6 /chrome/locale/* //building an extension# localization /chrome/skin/ /defaults/preferences/ //building an extension# defaults files the following tut...
Miscellaneous - Archive of obsolete content
var osstring = services.appinfo.os; detecting the host application and version // get the name of the application running us services.appinfo.name; // returns "firefox" for firefox services.appinfo.version; // returns "2.0.0.1" for firefox version 2.0.0.1 retrieving the version of an extension as specified in the extension's
install.rdf components.utils.import("resource://gre/modules/addonmanager.jsm"); addonmanager.getaddonbyid("extension-guid@example.org", function(addon) { // this is an asynchronous callback function that might not be called immediately alert("my extension's version is " + addon.version); }); restarting firefox/thunderbird/seamonkey_2.0 for firefox 3 see onwizardfinish around here: http://mxr.mozilla...
Handling Preferences - Archive of obsolete content
in order to have this button enabled in your extension you need to add the following line to
install.rdf: <em:optionsurl>chrome://xulschoolhello/content/preferenceswindow.xul</em:optionsurl> if you want to open this window from a different place in the ui, such as a menu item or a button in a toolbar, you need to take into account that the opening behavior of a preferences window is different depending on the operating system.
Signing an extension - Archive of obsolete content
sign the basic usage of the signing tool is as follows: nss-signtool \ -d (path to the directory that contains your certificate database files) \ -k (your certificate nickname) \ -p (your certificate password) \ -x -z (output path/name of signed file) \ (path to your extension working directory that contains chrome directory, chrome.manifest file,
install.rdf file, etc.) writing your password directly in the script is dangerous.
Using Dependent Libraries In Extension Components - Archive of obsolete content
extension-directory/
install.rdf extension-directory/libraries/dependent1.dll extension-directory/libraries/dependent2.dll extension-directory/libraries/component.dll extension-directory/components/interface1.xpt extension-directory/components/interface2.xpt extension-directory/components/bsmedberg_stub.dll extensions/stub/makefile.in # copyright (c) 2005 benjamin smedberg <benjamin@smedbergs.us> depth = ../..
Localizing an extension - Archive of obsolete content
then we replace any occurrences of the literal strings with the appropriate variables: samplepanel.tooltiptext = changestring + fieldarray[4] + " | " + openstring + fieldarray[5] + " | " + lowstring + fieldarray[6] + " | " + highstring + fieldarray[7] + " | " + volumestring + fieldarray[8]; localizing the description in
install.rdf see localizing extension descriptions.
Structure of an installable bundle - Archive of obsolete content
basic structure of a bundle a bundle may include any of the following files: path from the root of the bundle description version information /
install.rdf extension/theme install manifest /application.ini application launch manifest /bootstrap.js the bootstrap script for extensions not requiring a restart (those with <em:bootstrap>true</em:bootstrap> in their
install.rdf).
Manifest Files - Archive of obsolete content
for extensions, you will need to create an install file
install.rdf which describes what will be installed, the author of the extension and which versions of the browser or other applications it is compatible with.
Themes - Archive of obsolete content
building a themecommon firefox theme issues and solutionscreating a skin for firefoxuuidcontents.rdf
install.rdfmaking sure your theme works with rtl localestheme changes in firefox 2theme changes in firefox 3theme changes in firefox 3.5theme changes in firefox 4 ...
Updating an extension to support multiple Mozilla applications - Archive of obsolete content
this is done by adding new <targetapplication> tags to the
install.rdf file, like this: <!-- describe the thunderbird versions we support --> <em:targetapplication> <description> <em:id>{3550f703-e582-4d05-9a08-453d09bdfdc6}</em:id> <em:minversion>1.5</em:minversion> <em:maxversion>2.0.0.*</em:maxversion> </description> </em:targetapplication> <!-- describe the sunbird versions we support --> <em:targetappli...
Building Mozilla XForms - Archive of obsolete content
if you are sure that older or newer firefox versions are compatible with your extension, you can unzip the xpi file (it's a regular zip file), edit the
install.rdf and change the minversion and maxversion entries.
Obsolete
creating a skin for firefox uuid contents.rdf
install.rdf theme changes in firefox 2 theme changes in firefox 3 theme changes in firefox 3.5 theme changes in firefox 4 building a theme common theme issues and their solutions making sure your theme works with rtl locales creating a skin for seamonkey 2 dom inspector inspectorwidget force rtl yet another theme tutorial ...
How test harnesses work
invokes the binary (mozrunner) it is the job of the shim extension to shut down the browser logging (mozlog, in theory) (run tests, accrue results) cleanup: shutdown the browser check for crashes (mozcrash) reporting (moztest) marionette tests list of testing extensions pageloader (talos) mochitest: //github.com/realityripple/uxp/blob/master/testing/mochitest/
install.rdf (mochitest) ...
Using JavaScript code modules
using chrome.manifest the easiest way for extensions and xul applications to add custom aliases is by registering an alias in the chrome manifest using a line like this: resource aliasname uri/to/files/ for example, if the xpi for your foo extension includes a top-level modules/directory containing the bar.js module (that is, the modules/directory is a sibling to chrome.manifest and
install.rdf), you could create an alias to that directory via the instruction: resource foo modules/ (don't forget the trailing slash!) you could then import the module into your javascript code via the statement: components.utils.import("resource://foo/bar.js"); programmatically adding aliases custom aliases to paths that can be represented as an nsilocalfile can be programmatically added as well.
Building a Thunderbird extension 1: introduction
the tutorial has the following pages: introduction (this page) the extension filesystem (setting up your local system) install manifest (the
install.rdf file that contains meta-information about the extension) chrome manifest (list of packages and overlays) xul (the xml user interface language that is used to modify the thunderbird user interface) adding javascript (explains how to add some simple javascript to your thunderbird extension) installing locally (enabling the extension on your local thunderbird instance) packaging (making a distr...
XPI
an xpi contains installation instructions (install.js or
install.rdf) as well as the actual software to install, which is often itself packaged as a jar file.
ctypes.open
if addon is packed, this will be addon xpi } this can then be joined with your file name to obtain it's path like this: function startup(adata, areason) { var jarpath_folder = 'jar:' + os.path.tofileuri(adata.installpath.path) + '!/'; // if unpacked is false in
install.rdf this will look like: "jar:file:///c:/users/vayeate/appdata/roaming/mozilla/firefox/profiles/aksozfjt.unnamed%20profile%2010/extensions/asynczip@jetpack!/" var filepath_folder = adata.installpath.path; // if unpacked is set to false in
install.rdf this will look like: "c:\users\vayeate\appdata\roaming\mozilla\firefox\profiles\aksozfjt.unnamed profile 10\extensions\asynczip@jetpack" var fi...
DOM Inspector internals - Firefox Developer Tools
source code organization the contents of the top-level directory for the dom inspector repository should look like base/ js/ inspector-cmdline.js makefile.in build/ install.js makefile.in resources/ content/ … locale/ … skin/ … makefile.in
install.rdf jar.mn makefile.in makefiles.sh almost all the interesting stuff is in resources/content/.
compareVersion - Web APIs
extension, theme, and plug-in developers must switch away from install.js based packages to the new packaging scheme with an
install.rdf manifest.