[Catalyst] Alien-Dojo / HTML-Dojo merger suggestions

Carl Franks fireartist at gmail.com
Wed Jun 14 18:19:58 CEST 2006


message cc'd to Dominique in case you're not still on the cat list.

Further to the discussion a couple of weeks ago, I suggest deprecating
HTML-Dojo (of which I'm the author), and merging it's functionality
into Alien-Dojo, with the following changes.

Backwards compatabilty shouldn't be an issue, as there's only been 1
release of Alien-Dojo, and it's broken as it doesn't include all files
necessary for the dojo JS to work. So I'm pretty sure no-one's using
it ;)

Currently, HTML-Dojo comes with the dojo distro bundled. Alien-Dojo
doesn't include the dojo code at all, it downloads it from the
internet.
I suggest Alien-Dojo includes the dojo code, but is capable of
downloading and installing other versions from the internet.
Advantages:
  The Alien-Dojo distro can be updated with each dojo release, meaning
cpan clients will know of the upgrade.
  We'll have a permanent archive of dojo versions on cpan.
  The Alien-Dojo distro number will match the dojo version number,
meaning the `use Alien::Dojo 0.3` idiom to ensure a minimum working
version will work.

Alien-Dojo currently isn't aware of the different dojo "editions"
(customized builds) available. This capability will have to be added.
By default, we should use the "ajax" edition, as that's the prefered
dojo edition.

Alien-Dojo should include all files from the dojo distrobution, not
just the src directory.

Alien-Dojo->new() allows a single argument, interpreted as the minimum
version of dojo required.
I suggest it's changed to be a named argument, to allow for expansion.
Also, with experience of using dojo, I suggest it should instead mean
the *exact* version you want, rather than minimum. (the dojo library
changes a lot between releases).
If you really want a minimum version, you can do `use Alien::Dojo x.x`

Also, rather than dumping the js library directory into perl/site_lib,
I'd rather the library is dumped into a single .pm file such as
HTML-Dojo does.
Like HTML-Dojo, the intended use is that the module is used by
something such as Catalyst-Helper-Dojo to dump the library into an
application directory, and so Alien-Dojo should not be used by general
programs (such as for serving files live).

To handle versions not already installed, I'm thinking it should first
try using CPAN.pm, and if the version/edition isn't available there,
to try downloading the library from the dojo website, building a .pm
from it, and then installing it with ExtUtils::Install.
Does that sound sane?

Cheers,
Carl



More information about the Catalyst mailing list