О совместимости версий
Oct. 24th, 2009 08:09С того момента, как к программам «Мозиллы» стали разрабатываться расширения (extensions, они же add-ons), появилась и проблема совместимости между основной программой и расширением.
Случалось, что какое-то расширение начинало глючить, а то и вовсе не давало работать программе после обновления. Те же проблемы иногда возникали, если установить рассчитанное на последнюю версию программы расширение на программу не самой свежей версии.
В какой-то момент авторы решили «прекратить бардак», и встроили систему проверки совместимых версий: в расширении автор явно писал, с какими версиями программы расширение будет работать. А основная программа при установке сравнивала свою версию с прописанной в расширении, и отказывалась устанавливать те, у кого себя в списке совместимости не увидела. Аналогично, при каждом запуске проверяет совместимость уже установленных расширений, и запрещает «не совместимые».
На первый взгляд, всё хорошо.
Но есть недостаток и у этой методики: при каждом обновлении версии основной программы нужно обновлять и все расширения, меняя в них информацию о совместимости.
Как правило, авторы большинства расширений делают это с опозданием. А ведь заменой частью расширений их авторы занимаются только от случая к случаю, а то и вовсе «забрасывают». Вот и выходит, что расширение есть, и работает хорошо, а пользоваться нельзя — автор не уследил за выходом очередного багфикса главной программы, или просто поленился поправить несколько цифр в своём детище, да заново перепаковать, да на сайт перезалить…
При этом на самом деле совместимость теряется редко.
Теоретически, в расширении можно указать номера как «*» — но центральный сайт всех расширений https://addons.mozilla.org/ не позволяет закачать расширение, совместимое с версией более старшей, чем текущая «альфа».
В общем, лично мне кажется, что от этой системы проверок вреда больше, чем пользы. Хуже, пожалуй, только требование сертификации поставщиком основной программы, как это делает Microsoft для драйверов, а Nokia и Apple — для программ в смартфонах.
Лично я эту проверку у себя в мозиллах отключаю, устанавливая специальное расширение. Кстати, забавно бывает, когда само это расширение с новой версией не совместимо и перестаёт работать — отключается всё. Хорошо, что можно отключить проверку сменой одного параметра в настройках.
В общем, чтобы облегчить авторам расширений их нелёгкий труд по постоянному обновлению номера версии своих изделий, создан «Add-on Compatibility Reporter 0.1».
Это, как ни странно, тоже add-on.

Оно позволяет любому желающему каждому из установленных расширений в индивидуальном порядке установить, что оно с текущей версией основной программы совместимо, а затем, убедившись, что оно и в самом деле работает нормально, одним нажатием кнопки отослать эту информацию на страничку расширения, автору.
Случалось, что какое-то расширение начинало глючить, а то и вовсе не давало работать программе после обновления. Те же проблемы иногда возникали, если установить рассчитанное на последнюю версию программы расширение на программу не самой свежей версии.
В какой-то момент авторы решили «прекратить бардак», и встроили систему проверки совместимых версий: в расширении автор явно писал, с какими версиями программы расширение будет работать. А основная программа при установке сравнивала свою версию с прописанной в расширении, и отказывалась устанавливать те, у кого себя в списке совместимости не увидела. Аналогично, при каждом запуске проверяет совместимость уже установленных расширений, и запрещает «не совместимые».
На первый взгляд, всё хорошо.
Но есть недостаток и у этой методики: при каждом обновлении версии основной программы нужно обновлять и все расширения, меняя в них информацию о совместимости.
Как правило, авторы большинства расширений делают это с опозданием. А ведь заменой частью расширений их авторы занимаются только от случая к случаю, а то и вовсе «забрасывают». Вот и выходит, что расширение есть, и работает хорошо, а пользоваться нельзя — автор не уследил за выходом очередного багфикса главной программы, или просто поленился поправить несколько цифр в своём детище, да заново перепаковать, да на сайт перезалить…
При этом на самом деле совместимость теряется редко.
Теоретически, в расширении можно указать номера как «*» — но центральный сайт всех расширений https://addons.mozilla.org/ не позволяет закачать расширение, совместимое с версией более старшей, чем текущая «альфа».
В общем, лично мне кажется, что от этой системы проверок вреда больше, чем пользы. Хуже, пожалуй, только требование сертификации поставщиком основной программы, как это делает Microsoft для драйверов, а Nokia и Apple — для программ в смартфонах.
Лично я эту проверку у себя в мозиллах отключаю, устанавливая специальное расширение. Кстати, забавно бывает, когда само это расширение с новой версией не совместимо и перестаёт работать — отключается всё. Хорошо, что можно отключить проверку сменой одного параметра в настройках.
В общем, чтобы облегчить авторам расширений их нелёгкий труд по постоянному обновлению номера версии своих изделий, создан «Add-on Compatibility Reporter 0.1».
Это, как ни странно, тоже add-on.

Оно позволяет любому желающему каждому из установленных расширений в индивидуальном порядке установить, что оно с текущей версией основной программы совместимо, а затем, убедившись, что оно и в самом деле работает нормально, одним нажатием кнопки отослать эту информацию на страничку расширения, автору.