PFS: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
PFS stands for the Plugin Finder Service and is used to serve up RDF files that describe plugins for a given mime-type and client.
PFS stands for the Plugin Finder Service and is used to serve up RDF files that describe plugins for a given mime-type and client.
= URL Format =


The client requests the RDF at pfs.datasource.url:
The client requests the RDF at pfs.datasource.url:
Line 6: Line 8:
An example of the Flash RDF:
An example of the Flash RDF:
  https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=application/x-shockwave-flash&appID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}&appVersion=2007032403&clientOS=Windowsxp&chromeLocale=en-US
  https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=application/x-shockwave-flash&appID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}&appVersion=2007032403&clientOS=Windowsxp&chromeLocale=en-US
= RDF Format =


The RDF format looks like this:
The RDF format looks like this:
Line 37: Line 41:
   
   
  </RDF:RDF>
  </RDF:RDF>
= Script Variables =


In the service itself, there are variables that need to be defined in order to add a new plugin.  These are:
In the service itself, there are variables that need to be defined in order to add a new plugin.  These are:
Line 48: Line 54:
  $licenseURL = '';              // License information, if needed.
  $licenseURL = '';              // License information, if needed.
  $needsRestart = 'false';      // Does it require a browser restart?
  $needsRestart = 'false';      // Does it require a browser restart?
= New Plugin Checklist =


If you are thinking of listing a new add-on on PFS, you'll need the above info.  Here is an easier to copy/paste list:
If you are thinking of listing a new add-on on PFS, you'll need the above info.  Here is an easier to copy/paste list:

Revision as of 01:05, 27 March 2007

PFS stands for the Plugin Finder Service and is used to serve up RDF files that describe plugins for a given mime-type and client.

URL Format

The client requests the RDF at pfs.datasource.url:

https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=%PLUGIN_MIMETYPE%&appID=%APP_ID%&appVersion=%APP_VERSION%&clientOS=%CLIENT_OS%&chromeLocale=%CHROME_LOCALE%

An example of the Flash RDF:

https://pfs.mozilla.org/plugins/PluginFinderService.php?mimetype=application/x-shockwave-flash&appID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}&appVersion=2007032403&clientOS=Windowsxp&chromeLocale=en-US

RDF Format

The RDF format looks like this:

<?xml version="1.0"?>
<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pfs="http://www.mozilla.org/2004/pfs-rdf#">

<RDF:Description about="urn:mozilla:plugin-results:application/x-shockwave-flash">
 <pfs:plugins><RDF:Seq>
  <RDF:li resource="urn:mozilla:plugin:{4cfaef8a-a6c9-41a0-8e6f-967eb8f49143}"/>
 </RDF:Seq></pfs:plugins>
</RDF:Description>

<RDF:Description about="urn:mozilla:plugin:{4cfaef8a-a6c9-41a0-8e6f-967eb8f49143}">
 <pfs:updates><RDF:Seq>
  <RDF:li resource="urn:mozilla:plugin:{4cfaef8a-a6c9-41a0-8e6f-967eb8f49143}:"/>
 </RDF:Seq></pfs:updates>
</RDF:Description>

<RDF:Description about="urn:mozilla:plugin:{4cfaef8a-a6c9-41a0-8e6f-967eb8f49143}:">
 <pfs:name>Adobe Flash Player</pfs:name>
 <pfs:requestedMimetype>application/x-shockwave-flash</pfs:requestedMimetype>
 <pfs:guid>{4cfaef8a-a6c9-41a0-8e6f-967eb8f49143}</pfs:guid>
 <pfs:version></pfs:version>
 <pfs:IconUrl></pfs:IconUrl>
 <pfs:XPILocation>http://fpdownload.macromedia.com/get/flashplayer/xpi/current/flashplayer-win.xpi</pfs:XPILocation>
 <pfs:InstallerShowsUI>false</pfs:InstallerShowsUI>
 <pfs:manualInstallationURL>http://www.adobe.com/go/getflashplayer</pfs:manualInstallationURL>
 <pfs:licenseURL>http://www.adobe.com/go/eula_flashplayer</pfs:licenseURL>
 <pfs:needsRestart>false</pfs:needsRestart>
</RDF:Description>

</RDF:RDF>

Script Variables

In the service itself, there are variables that need to be defined in order to add a new plugin. These are:

$name = ;                    // Name of the plugin, used in UI.
$guid = '-1';                  // GUID to uniquely identify this plugin.
$version = ;                 // Version string.
$iconUrl = ;                 // URL of the icon for this plugin, used in UI.
$XPILocation = ;             // Location of the XPI the browser should install.
$installerShowsUI = 'true';    // Does the installer show a UI?  If no, chrome is used.
$manualInstallationURL = ;   // URL to go to if auto-install fails.
$licenseURL = ;              // License information, if needed.
$needsRestart = 'false';       // Does it require a browser restart?

New Plugin Checklist

If you are thinking of listing a new add-on on PFS, you'll need the above info. Here is an easier to copy/paste list:

  • Name of the plugin (Windows Media Player 11/Vista)?
  • GUID
  • Version string
  • URL of the icon to be used for the plugin installer UI
  • Location of the XPI that the browser should install.
  • Does the installer show its own UI?
  • URL for manual installation if the auto-install fails.
  • License URL
  • Does it require a browser restart post-installation?