On Jun 9, 2009, at 6:51 AM, Jason Garber wrote:
Extension management has come a long way... we now have a registry
and install/uninstall scripts, but it still leaves a lot to be
desired in terms of keeping track of what extensions work with a
given version of Radiant and at what point. Generally things are
okay and you can just install an extension and be pretty sure it
will work, but there's always a time around Radiant releases when
extensions are in limbo. I'd like to have us articulate a plan for
conquering this sooner rather than later.
My suggestions for requirements:
1.) Extension authors have a way of specifying a minimum Radiant
version with each release/revision of the extension.
I chatted with John Muhl about this and I believe he implemented a
minimum/maximum Radiant version requirement in Ray ( in addition to
the way it handles dependencies).
And Josh French implemented a "config.extension 'my_extension'" here
2.) Extensions not be dependent on authors to specify compatibility
with newer versions of Radiant. If the extension was last updated
in 2008 but it works for 0.8 without changes, you don't have to do a
thing. I want to avoid the Firefox Add-ons problem where I upgrade
FF and my extensions are disabled because their authors are behind
the curve. Too pessimistic for my tastes.
I agree, but there may be a problem where an author is no longer
active and an extension-breaking change came out in Radiant
unbeknownst to him/her and we'd need the registry to be able to change
the active author or active fork on github... or....
3.) Perhaps some way of the community saying, "this extension needs
fixing before it will work with 0.8." And a way for the extension
maintainer to clear that note once they make the upgrade. (Maybe
just an all-users-writable text field per extension in the registry)
Hopefully, once we hit 1.0, we'll have fewer extension breaking
changes. The new UI will be coming and that'll require some developers
to change their extensions too.
4.) The extension install script installs the latest compatible
version of an extension.
Definitely needed. Currently the registry only provides a compatible
Radiant version as an FYI and it's totally flat (only one version can
5.) Easy upgrades. One command to upgrade Radiant and all my
Sean, you mentioned you had an idea about how extension gems might
work. I'd love to hear it when you're ready. I think gems could
help solve many of the above requirements.
In addition, I think it would make complete sense to remove this page
from the wiki http://wiki.github.com/radiant/radiant/thirdparty-extensions
Encouraging authors to put their content into the registry is long
I've been meaning to, but haven't had time, add a feature to the
registry where you can add an extension to the registry without an
author (because you might find an extension on github but the author
hasn't signed up at the registry), and later claim an orphaned
extension as your own.
This would consolidate the info from Github, the Wiki, the Registry,
the Ray extension, and who knows where else.
Radiant mailing list