web2project Status Update: v1.2

web2project homepageIt’s been a while since the last update, so I thought I should let everyone know what’s going on towards the v1.2 release (eta December ’09).  As of this week, we’re approximately halfway there.

  • A small number of bugs – so far none critical or major – made it into the release, these are on the agenda currently.  It’s satisfying to have none so far.
  • As a result of such a small number of bugs, we’ve been making this a cleanup pass:
    • I submitted web2project for Code Review at the CodeWorks 2009 conference and got some great feedback from Sebastian Bergmann, Arne Blankerts, and Stefan Priebsch identifying a number of places for improvements.  Some of them ranged from simple coding constructs to major refactorings of the Models and Controllers.
    • We’ve begun to take a strict Fat Model/Skinny Controller philosophy. The Companies module is complete and we were able to drop a significant amount of code and further centralize and simplify ACL’s as a result.  While the end user is unlikely to see immediate benefits from these changes, it makes our API’s and Unit Tests easier and cleaner.  The Links module is next on the agenda, due to its simplicity
  • On the process/infrastructure front, there are a number of things happening:
    • Our Unit Tests are increasing giving nearly 100% code coverage to a couple modules.  This will increase further as time goes on.
    • We’re further improving our Phing build script to auto-create the tar and zip
      files for us in addition to auto-creation of the Changelog.
    • We’re working on cross database compatibility.  While this has always been on the todo list, the random embedding of SQL statements in pages along with inconsistent use of the data layer effectively made it impossible to tackle.  We’ve gotten some major support to make this happen… more on this one later.
  • We’re working to establish and codify standards for what the percent on the Task Assignment actually means.  We’ve had some great input from the community on this and continue to work to firm this up and make sure the code and documentation support it.
  • Finally, on the Permissions front, Pedro implemented a brilliant yet simple way of duplicating a Role.
    • Previously, the most common way of building permissions was to create a Role, apply it to a person, and then add the specific permissions to the individual.  While this worked, it was a pain if you had numerous people with similar but slightly different permissions because you had to apply it to each and every person.  Copy Role allows this tweaking to happen at a Role level, so it’s easier and faster and requires less tweaking.

And of course, people are starting to become aware of the project.  We’re dealing with fewer and fewer “what is web2project?” questions and more “what are best practices?” types of questions.  We still have a long way to go before we’re as recognized as other projects but things are getting better every day.

Other than that, we haven’t been doing much…