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?
j
Jim Gay
http://www.saturnflyer.com
_______________________________________________
Radiant mailing list
Post: [email protected]
Search: http://radiantcms.org/mailing-list/search/
Site: http://lists.radiantcms.org/mailman/listinfo/radiant