Workflow Release 1.43

First release of Workflow in a long time, but luckily I received a pull request from Oliver Welter

Oliver Welter has earlier offered patches implementing custom workflows (1.35 and 1.37) and factory subclassing (1.35) and now improvements in logging for condition validation with the latest release 1.43 – thanks Oliver, you make me look lazy 🙂

During the testing of the release I ran into an issue with the Dist::Zilla plugin: Dist::Zilla::Plugins::CJM. Related to failing tests due to deprecation. David Golden has offered a pull request, but the author Christopher J. Madsen seems unresponsive and his activity level on Github has flatlined :-/

Changed configuration to an alternative by Dave Rolsky and everything seems to be running as expected.

Release should be available on CPAN shortly – have a nice weekend,


Workflow Release 1.43

Stranded in migration

My personal projects and code have lived a long life. I have been using RCS locally, CVS and SVN. My first public repositories was in my local Perl user group Copenhagen Perl Mongers, where we shared a central repository. It started out as CVS, but was migrated to SVN about the same time as I started uploading distributions to CPAN.

In parallel I also set up a few projects at SourceForge and later at Google Code, both using SVN (SourceForge started out as CVS for me, but migration had taken place at some point). Actually the most important project of mine there was Workflow, which was migrated from a closed SVN repository from the original author Chris Winters to SourceForge.

Anyway – for a long time I worked as a freelancer, dreaming of doing my own software instead of others. So I decided to go for a hosted solution with Versionshelf, I later changed to Atlassian, which at that time had nice product consisting of Jira, Confluence, Fisheye and Subversion (it was actually Fisheye, which let me to this, metadata on code has always intrigued me). All my new projects public and non-public got hosted here, but I still had a legacy stuck at the Copenhagen Perl Mongers Subversion server.

I got Google Code migrated to the Atlassian platform, but stayed with SourceForge because of the project organisation. The repos was a dead end, due to the structure, several attempts at getting the projects extracted properly was unsuccessful.

Then came Github a long and a completely new trend in VCS systems. Not always being a first mover I decided to stay put. I still wanted to migrate my old codebase, but could not find the time to sit down and do it.

Michael Schwern created Gitpan, which seemed like a nice solution, but it was based solely on the releases and a lot of history would be lost (to me a serious loss of meta data). There was even some nice blog posts on how to get the most out of Gitpan.

Workflow got migrated from SourceForge to Github, even though SourceForge hosted Git. I had experienced some issues with the administrative interfaces, which rendered the platform useless in a confusing redirect hell (this has been addressed now).

Atlassian then announced the end of life for their Subversion hosting and migration to Git (Bitbucket/Github) was possible. This was the push I needed and all of my code hosted with Atlassian got migrated, well almost all of it I still have some old customer projects still in a Subversion dump. But all of my open source projects got migrated to Github.

All my new projects now start up on Github. But still I looked at my legacy of distributions on CPAN, which I did not have active repositories for and it haunted me.

The in the summer of 2014 (this summer), I fell over Tony Bowden’s Business::Tax::VAT. I have used Business::Tax::VAT::Validation for some projects and never discovered this module, so I checked it out and it seemed that it had not had any releases in a long time and 3 our of 4 RTs was low-hanging fruit, but no Git repo.

So I mailed Tony Bowden and got COMAINT on PAUSE, we wrote back and forth about Github and we investigated the Gitpan version. Luckily the latest version on CPAN was aligned with Gitpan, so I could pick up from there. Fork, Fix and Free. Got the 3 tickets closed and shipped a release, I had to do additional release when it got picked up by the CPAN testers, but that was nothing when it was hosted on Github.

This struck me as a marvellous situation, so I went back to Gitpan and compared it’s versions of my legacy distributions which was not on Github and I was able to create forks of all of them. Yes, this would mean loss of history, but again I would much rather be able to code and maintain, than not being able to do anything.

So now all of my open source Perl projects are on Gitpan and I am a very happy camper. Maintenance releases will start to go out for most of the legacy and some will be deleted (completely) from CPAN, since they are of no value, but they will still be on BackPAN, Gitpan and for me on Github.

My legacy is under control and I am no longer stranded in migration.

jonasbn, Copenhagen

Stranded in migration

Summer releases: Workflow 1.36 and Business::DK::Postalcode 0.04

I normally find the time to catch up on some of my open source projects over the summer.

My summer holiday have only just started and I have nothing planned for coding, not that I lack projects, but I would much rather do some blogging.

Anyway, I managed to get two releases done.

Just before I left for holiday Oliver Welter punked me with an issue in Workflow, I had forgotten about. So Workflow 1.36 has been released to CPAN.

My monitor of PostDanmark notified me with a change to the danish postal codes, so a new release of Business::DK::Postalcode (0.04) has also been released to CPAN.

I hope to be able to do some more coding over the summer, since I have both the projects and the bugs to address, but I had sort of planned to do more blogging, researching and reading.

Have a nice summer – I know I will,

jonasbn, Silkeborg

Summer releases: Workflow 1.36 and Business::DK::Postalcode 0.04

CPAN Release Workflow 1.35

This release has been way too long underway, but I finally succeeded in getting it to CPAN.

The release is primarily focused in a number of patches received from Steven van der Vegt, Scott Hardin and Oliver Welter – as before the OpenXPKI project contributes with patches lifting Workflow to a new level.

Now remains a lot of work on getting the distribution stabilized. The documentation needs an overhaul. I would like to migrate the test-suite to Test::Class.

The RT queue is down to 3 issues and it would be magnificent to get the last feature requests implemented.

The following information is lifted from the Changes file:

– Applied patches from Scott Hardin implementing lazy evaluation of conditions

– Applied patch from Oliver Welter implementing support for multiple factories:

– Added patch from Oliver Welter implementing the feature of creating custom workflow classes, in addition a patch to silence some warning emitted during test from Workflow::Validator

– Added patch from Scott Hardin implementing nested conditions

– Added patch from Steven van der Vegt RT #52841 implementing auto run for the INITIAL state:

– Added patch from Steven van der Vegt RT #52862 improving the reporting on validation exceptions:

– Eliminated README and migrated information into the main POD and introduced INSTALL file for the installation relevant information. README is now generated from the main POD by Build.PL

CPAN Release Workflow 1.35

CPAN Release Workflow 1.34

I have implemented a workaround for the issues with failing tests for newer perls for version 1.33.

From the Changes file:
– Implemented work-around for RT #53909

The issue demonstrated here, which can be observed in perl versions newer
than 5.10.0 seems to be related to a issue mentioned here:

RT #53909 is based on blead perl, in which also a fix has now been
implemented, but we still have issues with a lot of perl releases currently
out there, see:

So this work-around seems to fix the issue, since I can no longer replicate
the error. The problem seem to be the clearing of a package scoped variable,
the array @observations in t/

CPAN Release Workflow 1.34

YAPC::Europe 2010 Pisa, Italy – Day Two

Started the day doing my presentation on Workflow – a CPAN module I currently maintain. I felt the presentation went okay. It was a 20-minute presentation aiming at outlining the general aspects of Workflow (presentation available on Slideshare).

This was the first time I brought my laptop to the actual conference. All of the first day I left it in my room, which I found out was a good idea. Since I got to pay much more attention to the talks and I got to talk to a lot more people as soon as my presentation was over I went to leave it in my room, well I had one stop at Tim Bunce’s talk (TIMB) on Devel::NYTProf, but after that and not getting the most out of the talk due to laptop distractions I was once again able to move freely around the venue, without having to worry about power outlets and wifi connectivity.

Well I did worry a little about wifi connectivity since I brought my iphone showing the conference schedule – another good call.

I got to talk to some people about Workflow afterwards on topic of standardized XML formats for expressing workflows, seems there are some interesting stuff on CPAN (thanks MARKOV). I also talked to Jose Luis Martinez (JLMARTIN) who has a running implementation of Workflow using Catalyst as the front-end and Workflow as the model. He showed me the code and it looks like it will be put on CPAN at some point.

After some poking around I went to see Jon Allen’s (JONALLEN) talk on CouchDB a really interesting talk. I have not had time to look at CouchDB, but Jon’s talk was really an eye-opener, so I am thinking about doing some projects using CouchDB – well if I can get a round to it.

The rest of the day was eventful, talking to people, eating and excellent Italian coffee.

Ended the evening eating pasta and playing Martian Fluxx with Anton, Erik and R Geoffrey Avery, who always brings interesting cards games to these conferences.

YAPC::Europe 2010 Pisa, Italy – Day Two