Drupal project part two
Previously, I complained about the instability of the Drupal project module. The last days, I have been working on and off to analyze where the problems are and to solve some of them. It is now possible to see the list of releases on the project page and most pages do not return errors anymore.
The project module has been created primarily to use on the Drupal site itself. It has therefore several features which are Drupal-specific. The most important one is the notion of a vocabulary (taxonomy) associated with project releases which helps to have concurrent branches for different Drupal versions (6.x, 7.x, 8.x, etc.). There is support for running without such a vocabulary, but it is obviously not as well tested.
It turns out that all important problems are caused by the project release submodule in combination with not defining the above mentioned vocabulary. Some are just warnings, because the code expects an integer but an empty string is provided when no vocabulary has been defined. These were easy to solve. Others are caused by some code expecting a NULL and other code expecting an empty string when no vocabulary has been defined. That one was more tricky. Finally, the release module defines a new relationship type for views. That resulted in an empty list of releases when no vocabulary was defined. My somewhat hacky solution actually makes that relationship do different things depending on the existence of the vocabulary. As the releationship can obviously only be used by the project modules this should be safe too.
So now it seems to be working a lot nicer. Of course, I have created a Drupal issue for this. I hope it will be committed, but it seems activity on the project module is currently low.