On Jun 22, 2009, at 9:50 AM, Josh French wrote:

Not obvious, but Josh French has committed changes for the next
release that will allow extension developers to configure dependencies
from the extension which might help with the installation process as
far as things like error messages go. There will be more development
on this in the future.

One thing that we don't have is a way of ensuring that the proper version of an extension is installed from the get-go. I'm in the arguably bad habit of manually installing everything, so I was unaware of some of the problems that occur when trying to install extensions via script/extension or ray.

To wit, using an installer to install a 0.8-style extension will fail if your base Radiant install is 0.7 or earlier. Because the extension is checked out at its head, the environment fails and neither rake:migrate nor rake:update can be run until the extension is frozen to a compatible tag/version. This could be solved by adding a version argument to the install method, or by baking knowledge of the current Radiant version into the installer.

I've been tagging the extensions I'm involved with for compatibility at versions 0.7.1 and 0.8.0, but I've also been wondering if it wouldn't be better to maintain those via branches instead of tags -- have a 0.7 branch to hold bugfixes, but continue new development in 0.8 and so on.

My thoughts exactly. Tags are fine for small things, but either branches or version-checking methods are the way to go for more advanced support.

Thoughts on how best to manage extensions across multiple, possibly incompatible, versions of Radiant?

The biggest problem as I see it is that many extensions are graciously released to the world for use, but that doesn't mean the author will be everyone's tech support. So they are released at version X and by the time version Y comes around many people are using it but the author is off doing something else (and not busy updating his/her extension). I think it would be nice if Radiant had some way to check for features that were added in different versions. An example being some extension that changes defaults in ResponseCache (which no longer exists in 0.8.0) and Radiant catching the undefined constant and reporting back an appropriate error or ... something.

It would need to happen much like the move from Shards to the core, where extensions check admin.respond_to? :page

Stats on version usage would be good too. It might be nice to have that infamous radiantcms.org/button.png image actually work in the filter reference, but be upgraded with each release so that we could track the number of referrers to radiantcms.org/button.0.8.0.png Who needs to worry about release 0.5.2 if nobody is using it. What's considered old?


Jim Gay
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