Bluprints 0.4 released

Bluprints 0.4 is released. The website has a lot more information about how to use it and it also has the JavaDoc available for those that want to code directly against the API.

This release has a bunch of new features including namespacing and multiple files and much more. You can read up about it at the project page

I’m still completely astonished at how simple this API is and yet how powerful it is. PLUS there are still no dependencies at all. This means if you want to use it in a web application, just drop in the JAR file. The XML parsing is done via SAX and the entire project is probably only a few hundred lines of code or so. We haven’t had any exceptional cases in production using it as compared to the random 10 exceptions a day we got from Tiles. Overall this is just a rock solid framework with good test coverage and lot of great features. Plus it gets the job done and is really simple. Anyways, enough raving. Enjoy version 0.4.

I stand corrected

I stand corrected with respect to the SubVersion support. I did go to the second page previously, but can be slow at times and the page did not completely load (honestly), so I assumed the option didn’t exist. Here’s a snapshot of the option:

SubVersion option

But, since I had been monkeying around with it so much, I think I broke it. When I tried to sign up with the same project name I had previously been testing I got this really nasty error message:

Error message

This project is already hosted at SourceForge, so I won’t be moving it, but this error message definitely is a bug considering if you do a project search, no project exists with the name bluprints. None the less, I’m looking forward to how CollabNet and SourceForge and Google Code start competing. I know that Google claims it doesn’t want to detract from SourceForge, but I’m hoping that Google Code at least forces the issue on CollabNet and SourceForge that their model is horribly inefficient and cumbersome. We’ll see. I’m excited.

Google Code

Dan Moore posted about my Google Projects idea and apparently Google is already doing this. It’s called Google Code and is available at

Naturally I needed to see what they had done with it. First off they decided not to tag it as beta like they do so many other things they release. Here’s the logo without the beta:

Google Code Logo

Second, this product is really more like alpha, but has some good stuff. Here’s what I did:

  1. Logged into my gmail account
  2. Hit Google Code
  3. Tried to make a project named “Bluprints”
  4. Google code told me this was a SourceForge project and sent an email to that project owner to ask if I could use the same name. Since I’m also the source forge owner, I allowed it (this time)
  5. Unfortunately after I agreed to release the name I had to re-enter the project info into Google Code. This sucked and they need to fix that issue.
  6. I re-entered everything and went to the project homepage.

Okay, now here’s what they got:

  • Project home page with nothing on it and not much control. You can add links to other project pages, blogs, etc.
  • Issue tracking
  • SubVersion
  • And minimal admin for the content

This isn’t bad for a first release. I do like that you can tag everything, even bugs, for easy searching. This is really going to help the open source search that Dan has been talking about. I also love the simple design that shows you the information you need without any crap like ads or the like.

As far as I could tell you can only use SubVersion and issue tracking and nothing else. For the most part this is okay because you can easily link to a Google Group for mailing list and discussion, and you could link to a Blogger account for blogging. No wiki or forums yet either.

The largest missing feature that makes this unusable is you cannot release project files unless they are on other servers somewhere and you put a link to them in your project description. This is really a deal breaker for me. In fact unless they step up to the plate and offer me a way to release files on Google servers using a simple API (so I can do it from Ant/Maven/Savant), it just another project hosting site and I probably wouldn’t invest the effort in moving my projects over. I’ll definitely send them this link and hopefully they can add these features. If they do I can guarentee everyone you’ll be downloading Savant, Bluprints, and Verge from Google in the future.

Bluprints 0.1

I finally got fed up with Tiles and wrote something new. Naymz had a bunch of random exceptions in the logs and almost all of them were caused by Tiles. I started digging and eventually just got mad at the whole situation. WebWork had repackaged tiles and apache was still supporting the Struts tiles. I didn’t want to spend all day fixing WebWork to use the Struts tiles and I also didn’t want to figure out if there were major differences between these two that could be causing the problem. Plus, tiles uses the digester for parsing XML, which seemed to fail at random. This code was quite thick and I knew it could be done in a much lighter weight and concise manner.

So, I threw out a simple XSD for the format and then implemented the parser and tag lib and 7 hours later I had Bluprints 0.1 up and running. This thing is pretty suite. It supports nesting, extensions, parameters, page references, and a bunch of other little cool features. It’s really simple to learn and I’m hoping to write some docs for it this coming week. I’m also hoping that because it is so simple and lightweight that folks start using it and helping to test and develop it. We’ll see about that though. Plus, it has no dependencies except on the J2EE libraries and WebWork, but only if you use WebWork. Lastly, it is running on a live production site already

Anyways, feel free to check it out over at Source Forge. Here’s the link to the project.