Replacement for install.rdf property "requires"

Showing 1-8 of 8 messages
Replacement for install.rdf property "requires" Sebastian Zartner 12/13/11 4:40 AM
I thought I already asked here, but I can't find any thread.

According to https://developer.mozilla.org/en/install.rdf#requires the "requires" property is not supported anymore since Firefox 4.0.
Is there any replacement for that? Firebug extensions could need it. E.g. see http://code.google.com/p/fbug/issues/detail?id=3576.

Sebastian
Re: Replacement for install.rdf property "requires" Benjamin Smedberg 12/13/11 5:36 AM
No, we do not plan on implementing any extension dependency feature. We
looked at this closely, and the UI required to implement extension
dependencies "properly" would be hugely complex and require some very
advanced features from AMO. We've decided that the use case you describe
(sub-addons to Firebug) would be better handled in your own addon code.
You could for example try importing a Firebug module, and if you detect
that Firebug is not installed (or that an incompatible version of
Firebug is installed), don't perform any more actions. This does require
cooperation between Firebug and your addon, but avoids the UI complexity
in the addons manager itself.

--BDS

Re: Replacement for install.rdf property "requires" Sebastian Zartner 12/13/11 6:33 AM
Thanks for the fast reply.

> No, we do not plan on implementing any extension dependency feature. We
> looked at this closely, and the UI required to implement extension
> dependencies "properly" would be hugely complex and require some very
> advanced features from AMO.
That quite disappoints me. With "requires" you already had a simple system for checking version dependencies. Why was the feature dropped?
You should at least explain that step at https://developer.mozilla.org/en/install.rdf#requires, because I am sure I am not the only one asking that question.
The "requires" property would also have been useful for us, the Firebug Working Group, to automate compatibility checking at http://getfirebug.com/releases/swarms.

> We've decided that the use case you describe
> (sub-addons to Firebug) would be better handled in your own addon code.
> You could for example try importing a Firebug module, and if you detect
> that Firebug is not installed (or that an incompatible version of
> Firebug is installed), don't perform any more actions.
> This does require cooperation between Firebug and your addon, but avoids the
> UI complexity in the addons manager itself.
As I am seeing it, every Firebug extension will now have to check via the addons manager API, if Firebug is installed and if the version is supported.
So this means every extension developer has to put a huge overhead into version checking just to get the feature back, that was already integrated into the toolkit.

Sebastian
Re: Replacement for install.rdf property "requires" Benjamin Smedberg 12/13/11 6:42 AM
On 12/13/2011 9:33 AM, Sebastian Zartner wrote:
> Thanks for the fast reply.
>
>> No, we do not plan on implementing any extension dependency feature. We
>> looked at this closely, and the UI required to implement extension
>> dependencies "properly" would be hugely complex and require some very
>> advanced features from AMO.
> That quite disappoints me. With "requires" you already had a simple system for checking version dependencies. Why was the feature dropped?
I thought I just explained this: the feature didn't work well, didn't
meet most extension author's needs (because it didn't check version
ranges), and supporting it with the new extension UI would have
introduced significant complexity which we don't believe is warranted.


> As I am seeing it, every Firebug extension will now have to check via the addons manager API, if Firebug is installed and if the version is supported.
I don't think you should use the extension manager API for this. Just
expose a JS module or a service (implemented by firebug), and have the
firebug addons do the version checking. If the JS module/service is
missing, then Firebug isn't installed. This is a small code pattern you
can promote with the Firebug extension community.

--BDS

Re: Replacement for install.rdf property "requires" Sebastian Zartner 12/13/11 7:03 AM
> I thought I just explained this: the feature didn't work well, didn't
> meet most extension author's needs (because it didn't check version
> ranges), and supporting it with the new extension UI would have
> introduced significant complexity which we don't believe is warranted.
Now it's clear. Thanks for the explanation.


> > As I am seeing it, every Firebug extension will now have to check via the addons manager API, if Firebug is installed and if the version is supported.
> I don't think you should use the extension manager API for this. Just
> expose a JS module or a service (implemented by firebug), and have the
> firebug addons do the version checking. If the JS module/service is
> missing, then Firebug isn't installed.
Ok. So this still means some effort for us. And unfortunately it will just work as soon as Firebug has such a module.

Anyway, thanks for the feedback. You brought some light into the darkness.

Sebastian
Re: Replacement for install.rdf property "requires" Jorge Villalobos 12/13/11 7:25 AM
An add-on dependency system was implemented on AMO, but it hasn't been
turned on yet: https://bugzilla.mozilla.org/show_bug.cgi?id=678650. I
don't know what its limitations are, but it might be worth looking into.

- Jorge
Re: Replacement for install.rdf property "requires" Jorge Villalobos 12/13/11 7:25 AM
On 12/13/11 9:03 AM, Sebastian Zartner wrote:
Re: Replacement for install.rdf property "requires" Sebastian Zartner 12/13/11 9:16 PM
Thanks for the hint, Jorge!

Sebastian