Thomas Lange - Sun Germany - ham02 - Hamburg, 28-01-2009 09:31:
I do not consider the implementation of a maximum version to be a fix
for not being able to uninstall/upgrade extensions, even though the API
incompatibility has happened.

If it is about updating the Office: If on the next start, after the
office update, incompatible extensions are found those should be
automatically disabled before the office gets started. Or at least they
should be disabled and then the Office automatically restarted once more
if necessary.
Firefox and Thunderbird for example seem to be able to do that...

They disable the extensions based on the maximum version defined. The maximum version is defined within a range where Mozilla assures it won't break anything within extensions. If some bug is introduced somewhere and is not found until the time of the release, the extension will run and behave incorrectly.

They release another version to fix the regression. But in the meantime, the user have to disable the extension manually. In this case, they have an option to launch the application without any kind of extension or theme loading, so it's guaranteed it will startup properly.

Then they enforce the developer to test and update the maximum version field - compatible versions, more specifically. They allow the developer to change it within the site they use to manage extensions - no need from the developer to upload it again. Also the extensions are checked for updates and updated automatically - even tough it's just to update the compatible versions field.



So... comparing with Mozilla, they grant the possibility to uninstall/upgrade by using the compatible versions field and enforcing the update. They require not bogus version numbers on the extensions hosted on addons.mozilla.org. Of course this solution won't work if someone uses "3.*", or "4.*" or "10.*". But we should make the extension developers aware of the possibility of API changes and make them use right value.

The other part of the solution is a politic of API changes. Mozilla does not change its existing API within a major version. Most API are frozen and only will be allowed to change within Gecko branch 2 (Firefox 4 or possible Firefox 5).

If we are allowed to make incompatible changes to the API within "3.*", we should allow the maximum version field to specify at least the minor version. So the extensions would have to be tested and updated for 3.2, 3.3, etc. No extension would be allowed to tell it's compatible with every 3.x release. This way, we wouldn't have such incompatibilities, except by the extension's developer fault - by not testing properly and updating the field.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to