Changes

Jump to: navigation, search

PFS

2,757 bytes added, 00:57, 27 March 2007
no edit summary
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.

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

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>

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?
3,035
edits

Navigation menu