Saturday, March 17, 2007

Keeping busy -- or... announcing a delay in QVCSE 2.1

The 2.1 release of QVCS-Enterprise will not happen until sometime in the 2nd quarter -- likely sometime in June, though it's too soon to predict an actual date.

I had earlier thought 2.1 would be out by now... but events conspired to delay its release.

The first element of the delay conspiracy: 2.1 will have more in it than I had originally planned. Initially, 2.1 was going to focus on the rename, file move, directory rename, directory move problem. However, as I got deeper into the problem, it became apparent that to do rename right, I had to add support for what I've come to call 'views'. The basic problem is how to preserve project history in the case of rename, especially when you go to create a patch build for a file that had a different name and/or location in the past. To do it right, I'm adding support for a 'view' so that you can see the project as it was at a time of interest.... and provided you've done you're labeling correctly, you'll be able to use views to make a patch build, and things will look just like they did at the time the original label was applied.... at least that's the plan. Adding view support is a lot of work -- though the ultimate client behavior will be very similar to what it is today.

The 2nd element of the delay conspiracy: I've taken on a short term consulting gig that should finish up some time in April. The consulting work necessarily distracts from development work on QVCS. I do the consulting several reasons. It helps keep me fresh technically -- I'm the sole developer on QVCS, and it helps to pick my head up from that familiar environment and get exposed to different technologies. For example, for this current engagement, I've learned how to use EJB3 entity beans, backed by the Hibernate relational persistence layer.... cool stuff.... In an earlier consulting engagement, I worked with the JBoss app server, using message beans, and JMS, etc. Doing the consulting also means I get to work with other developers, instead of working alone. This teamwork helps prime me with ideas for product improvements -- On my current engagement, we're using QVCS-Enterprise as the version control tool for our source code. That's cool, but it also helps me understand other areas of the product that need my attention... So while taking on consulting assignments involves tradeoffs, I think, on balance, it's worthwhile to do when the assignment is a good fit.

A 3rd element that will delay the 2.1 release: I'll be having an extended beta period. The 2.1 release (maybe I should call it 3.0 instead?) has a lot of changes already. It will take some time to shake it and get all the rattles out.

Technorati tags:

Monday, March 12, 2007

QVCS-Enterprise 2.0.20 available

I posted the 2.0.20 release over the weekend. It fixes a problem I introduced in the 2.0.19 build -- so if you are using 2.0.19 and you are using IDE integration, you will need to update to the 2.0.20 release.

The path to the 2.0.20 build is one of those embarassing moments in product development -- the 2.0.19 build was a broken build, and reaffirms a lesson in building releases that I almost always follow: always build a release in a clean directory. The 2.0.19 build was broken, not because of any coding error, but because some 2.1 code was included in the 2.0.19 build by mistake. Had I followed my own advice (always build a release in a clean directory), the problem with 2.0.19 would not have occurred.

The more basic problem I have with building releases is that the IDE portion of the build is not automated, whereas the Java portion of the build process is automated. I'll be changing that so that the entire build is automated. Oops.