The Road to OpenPSA 9
The state of the codebase and the road ahead.
It has been nearly a year since the OpenPSA 8.09.9 release, but that doesn't mean that development has slowed down, in fact, it was quite the opposite: There was so much coding to be done that there simply was no time to write about it, but let's start at the beginning:
Right after the 8.09.9 release, the performance work in the MidCOM core ACL and NAP systems continued, leading to nice performance improvements, while new features like a generic object journal continued landing in OpenPSA, and existing ones like the jqGrid integration for displaying tabular information in a more interactive and useful way where rolled out all over the openpsa tree. Also, the usual refactorings and the grand UI overhaul continued.
Soon, it became apparent that the rate of change became too much for the MidCOM Ragnaroek branch, which was, after all, in stable maintenance mode. So at the Midgard Gathering in November 2010 it was decided to move OpenPSA into it's own repository. Since then, all development is done on github.
Along with OpenPSA, all the necessary dependencies were forked out, which provided the opportunity to work on evolving the MidCOM framework to OpenPSA's benefit without having to worry about the API compatibility requirements of a stable release series too much. This effort has been ongoing for quite some time and has resulted in the removal lots of legacy, unmaintained, unused, duplicated or otherwise unnecessary code.
Also, the framework's PHP usage has been brought a bit more up-to-date: At long last, exceptions were introduced into the codebase to replace the PHP4 era generate_error logic, abstract classes and interfaces are used a bit more widely now, and visibility keywords are actually declared instead of just written in the phpdoc block. There are even the beginnings of a unittest suite, which has a pretty good coverage of the invoicing workflow already
It's clear that the refactoring of the framework will still be ongoing for a long while, but there has been significant progress already, and existing deployments of the system work quite well, so the time might be soon right for a first public release.
The current thinking is that the first beta might be released this summer, so approximately two months from now. But you don't have to wait that long if you don't want to: OpenPSA is free software and can be forked on github.
Unfortunately, the documentation is a bit sparse and outdated right now (except for the API documentation perhaps), but for questions, you can reach us on the Qaiku channel or the midgard user mailing list.
There have been no comments so far.