Confirmed users
920
edits
LesOrchard (talk | contribs) |
LesOrchard (talk | contribs) |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
Building a service to help | Building a service to help identify plugins in need of upgrades is complicated. In a nutshell, the process consists of: | ||
* browser identification; | |||
* a local client plugin scan; | |||
* requests to a plugin directory search service; | |||
* and a local comparison of versions. | |||
This page seeks to provide details on how each of these steps work, as well as identifying shortcomings and oddities along the way. | |||
__TOC__ | __TOC__ | ||
| Line 39: | Line 46: | ||
=== No reliable GUIDs or UUIDs === | === No reliable GUIDs or UUIDs === | ||
Across all plugins, there is no single reliable unique identifier - such as a GUID or UUID. | |||
This means that we'll need to use a combination of all of the above properties | This means that we'll need to use a combination of all of the above properties | ||
| Line 54: | Line 61: | ||
<code>navigator.plugins</code>. | <code>navigator.plugins</code>. | ||
Luckily, most plugins include some expression of a version in the name or | |||
description. But, this version does not always exactly match the | description. But, this version does not always exactly match the | ||
'''fully qualified version number''' of the plugin. Thus, there can be some | '''fully qualified version number''' of the plugin. Thus, there can be some | ||
| Line 65: | Line 72: | ||
However, this version is not usually available via | However, this version is not usually available via | ||
<code>navigator.plugins</code>. Instead, client-side detection code has to | <code>navigator.plugins</code>. Instead, client-side detection code has to | ||
inspect the description. On Windows, this reads "''Adobe Shockwave for Director Netscape plug-in, version 11.5''". We can extract the version "''11.5''" from that text. | inspect the description. [https://bug546727.bugzilla.mozilla.org/attachment.cgi?id=427718 On Windows, this reads "''Adobe Shockwave for Director Netscape plug-in, version 11.5''".] We can extract the version "''11.5''" from that text. | ||
Now, suppose that there were two releases of Shockwave for Director - say, versions 11.5.6.606 and | Now, suppose that there were two releases of Shockwave for Director - say, versions 11.5.6.606 and | ||