Friday, April 20, 2012

Release testing? We don't need no release testing.

A schoolboy error not completing the pre-release testing for the latest Citrus Perl resulted in me inflicting broken Windows releases on a few folks.

Release 14a fixes the problems.

Probably...

Thursday, April 19, 2012

New Citrus Perl keeping ahead of the $->MainLoop

I've been putting some effort into improving the user experience when installing and using Citrus Perl and I've taken the opportunity to add a couple of features that may make the distributions more attractive as a platform for application distribution.

The latest releases also come in two flavours with wxWidgets 2.8.12 stable or development wxWidgets 2.9.3. It is probably time for existing users of wxPerl to think about looking how their code works under the development version and also time to take a look at the many new features and controls in the development version.

First time users should probably stick with the stable version for now. There are still one or two issues with 2.9.3 that could leave a new user scratching their head wondering why oh why the code doesn't work like the docs say.

It is a distribution to support GUI development in the main so it has, at last, grown some GUI tools and installation methods.

A Citrus Utilities Application helps you set up ( relocate ) Perl and carry out some platform specific tasks.

Citrus Utilities Management Tab

Citrus Perl also allows you to create new distributions. To make this more obvious and simpler to do, this feature gets a tab in the utilities application too. All the essential stuff is covered like "What shall I call it?" and "Can I have my own splash logo?". As an added bonus it actually works too.

This is, I think, a particularly interesting feature if you wanted to put together a distribution of something like BioPerl and your end users would not be able to successfully put together all the dependencies themselves.

Citrus Utilities Distribution Tab

And finally on the feature front, if you feel that your end users should be able to point and click everything, the utilities app will create dependent executables for you that you can ship and relocate with your custom distribution.

Citrus Utilities Executable Tab

I haven't got around to adding features for creating desktop and application menu icons yet - but the code's open and has a hook already  for a post installation script so you can always write this yourself.

As always, the distributions include Tk to help Tk applications developers with migration of code to wxPerl. It really is time you all did this :-)

The Utilities Application works with a set of modules I've called "CP::Wx" which is showing mild signs of developing into a sort of mini Wx framework.

my $obj = CP::Wx::Widget->new($prnt, style => wxSTYLE_I_WANT);

is something I've been wanting to do for a while.

Full source for everything is included in the distribution so you can stare aghast at the quality of code I'm willing to distribute.