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
http://github.com/jfrench/radiant/commit/73f9cfc9b3caf62080d2b1b6b3a5fc4e42d01a49

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 be managed).

5.) Easy upgrades. One command to upgrade Radiant and all my extensions.

Discuss.

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.

Jason

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 overdue. 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.

-Jim

Jim Gay
http://www.saturnflyer.com

_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to