Доброго времени суток.

Делаю расширение для внутренних нужд компании. По причине внутреннего использования, обновляться оно должно с сервера компании. SSL-сертификат есть только самоподписанный, поэтому для обновлений решил использовать updateKey/updateHash.

1. Для пробы было сделано две версии расширения: 1.0 и 2.0. (go3w-1.0.xpi и go3w-2.0.xpi)
2. При помощи McCoy был сгенерирован ключ и вставлен в install.rdf
3. Был создан upadate.rdf, содержащий информацию только об одной версии - 2.0
4. В нём в updateHash указан sha1-хэш файла go3w-2.0.xpi
5. После этого update.rdf был подписан и проверен при помощи McCoy
6. Всё это было выложено на сервер

После этого в Firefox была установлена версия 1.0 расширения и произведена попытака обновить его. Однако Firefox утверждает что "Обновления не найдены".

При этом в консоле пишет следующее

Выделить код

Код:

Datasource: Update Started
 ----------
Datasource: Addon Update Started: go@3wstyle.ru
 ----------
RDFItemUpdater:checkForUpdates sending a request to server for: http://files.3wstyle.ru/mozilla/go3w/update.rdf, item = ({id:"go@3wstyle.ru", version:"1.0", installLocationKey:"app-profile", minAppVersion:"3.0.0", maxAppVersion:"3.0.*", name:"Go@3wStyle", xpiURL:"", xpiHash:"", iconURL:"chrome://go3w/skin/icon.png", updateRDF:"http://files.3wstyle.ru/mozilla/go3w/update.rdf", updateKey:"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDd0Q7nBJ03\n\tcEu/htXtnmedvTQsDOkVybd0ug5PaO1WQo8lKj30Z9fj3e0z\n\tMt17Lq839T081TZcCgHJ6s93LIkpISmrM8vOqRfIAy0BnhxS\n\tGRWYc/hItxVNXQqOB6TQlxizpwk2AVy7fr7WBHyWbFysgoHW\n\tqkbBV2kH3vTiY/R4bwIDAQAB", type:2, targetAppID:"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"})
 ----------
urn:mozilla:extension:go@3wstyle.ru
 ----------
Datasource: Addon Update Ended: go@3wstyle.ru, status: 8
 ----------
Datasource: Update Ended

Сайми файлы расширения и манифест доступны тут: http://files.3wstyle.ru/mozilla/go3w/

Содержимое update.rdf:

Выделить код

Код:

<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
         xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="urn:mozilla:extension:go@3wstyle.ru"
                   em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4GBAJOzaVHnOVU3PCszkUB/9MqwjGP0ytxb6Qxo06w13J3XkIJQc8wypeTXl5n7+myRp0a3HNajYQRgErP0OlLGw1kShegjTmg8p+iGchTI13Jd9eywwUhWGcEWFWrA/+l66WK5RxmToH69KLR26y3eFO0tHjdKgKRAfIpOcQQhtZPM">
    <em:updates RDF:resource="rdf:#$.3OaB1"/>
  </RDF:Description>
  <RDF:Seq RDF:about="rdf:#$.3OaB1">
    <RDF:li RDF:resource="rdf:#$+3OaB1"/>
  </RDF:Seq>
  <RDF:Description RDF:about="rdf:#$24OaB1"
                   em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
                   em:minVersion="3.0.0"
                   em:maxVersion="3.0.0.*"
                   em:updateLink="http://files.3wstyle.ru/mozilla/go3w/go3w-2.0.xpi"
                   em:updateHash="sha1:0de177bdb808e4c4febb1923713706af1900ad7e" />
  <RDF:Description RDF:about="rdf:#$+3OaB1"
                   em:version="1.0">

    <em:targetApplication RDF:resource="rdf:#$24OaB1"/>
  </RDF:Description>
</RDF:RDF>

Пробовал на FF 3.0.7 на двух разных машинах (Linux, Windows), результат одинаков.

Что я делаю не так?

Выделить код

Код:

<RDF:Description RDF:about="rdf:#$+3OaB1"
                   em:version="1.0">

По-моему, тут должно быть version="2.0" ?

p.s. Хотя, похоже что нет - смена версии на 0.9 не помогает. Может быть, дело в mime update.rdf ? application/rdf+xml вместо text/xml ?

Да. Впрочем, до этого версии были 0.1 и 1.0, эффект был тот же. Сейчас исправил на 2.0, по прежнему "Обновлений не найдено".

MK

Выделить код

Код:

em:minVersion="3.0.0"
          em:maxVersion="3.0.0.*"

Вероятно проблема в этих строках. Должно быть:

Выделить код

Код:

em:minVersion="3.0"
          em:maxVersion="3.0.*"

Есть небольшая проблема - обновление расширений. Суть вот в чём. В ФФ включены автоматическое обновление и установка для всего (сижу на ночнушках). Сам ФФ, а точнее [shiretoko] и [minefield], обновляются как положено. А вот с обновлением расширений происходит что-то непонятное. Пример - читаю сегодня этот пост. Т.к. я человек ленивый, то просто открываю список дополнений и кликаю "найти обновления". Эффект нулевой - "Обновления не найдены". Захожу на АМО - новая версия есть! :angry: То же самое происходит и другими аддонами. Подписан на ленту RSS "Новейшие дополнения" и получаю новости о новых аддонах и обновлениях. Но проверка обновлений из ФФ их не находит. Точнее говоря, находит иногда через полдня, иногда через день. История повторяется всегда и во всех 5-ти профилях (наборы аддонов разные, кроме основных). Почему так? Это конечно не "страшный баг" и "особо на скорость не влияет", т.е. дискомфорта не создаёт, но любопытно - отчего так? Никто не замечал такого?

Duble3
Поддерживаю ваш вопрос. Мне тоже приходится ежевечерне просматривать АМО, так как даже Update Notifier не находит некоторые обновления. Прежде всего это касается экспериментальных расширений, в частности - "Scrapbook+" и "Paste and Go 3".

Экспериментальные расширения с АМО не обновляются...
И обновления сразу после добавления обычно тоже считаются экспериментальными.

Infocatcher
Баааальшая глупость и неудобство. Если я уже поставил рисковый аддон, то все риски уже принял на себя. Может мне срочно нужно обновление на вновь обнаруженный баг, а мне значить ручками его искать?

George Yves, а Вы это выскажите руководству AMO :)

Я думаю, не обновляются они из соображений нагрузки на сервер. И чтобы все, кому не лень, не хостили там свои левые расширения. =)
А с точки зрения пользователей – ни разу не удобно, ага.