Archive for the ‘What I did...’ Category

Simple-JNDI 0.11.3 released

Tuesday, April 8th, 2008

I know… you’re shocked. Just released a set of bugfixes for Simple-JNDI, along with the ability to pass parameters down to DBCP.

Here’s the google group announcement.

Download the release here, and read the release notes here.

Legal session

Tuesday, March 25th, 2008

Went to a legal session earlier by Larry Rosen. He included a piece on the ethics of the license rather than just the license. We’ve been calling that the intent at Apache recently. Anyway - seemed to be well received. Understand the community, don’t nitpick the license text.

Flying down

Tuesday, March 25th, 2008

Laptop behaved oddly on the flight down, it decided to start crashing for no reason. Not something I feel like spending money on right now, a new PC laptop, a entertainment centre computer, a Wii and a PS3 are all ahead of it on the to-purchase list.

Also sat and listened to the iPod as usual. Beautiful moment when the plane ascended, things were at an angle and said iPod slipped out of my trouser pocket and started its smooth chrome ride down the plane. That sense of utter helplessness as you watch it going made me laugh. Fortunatley someone grabbed it and it quickly found its way back to me.

I don’t recall what songs I listend to, but one mentioned “roses”. That reminded me of the roses outside my house growing up. That reminds me of the T-junction, the car always parked on the other side in front of the farmer’s field and the loose gravel that was always accumulated like scree by the side of the road. I can’t remember the colour of the electric (or was it waterworks?) box by the field. Shift scene by 500m to the playschool building down the road. 45 degree slabs of concrete, grass overgrowing the concrete and a church nextdoor with an iron fence of some kind - but what colour was the fence? Was it black, or just a dark green? I don’t recall.

It seems that colour is the first thing to go. Odd.

At least it’s one of the first things to go. People also are - Facebook has been educating me in the people who have vanished into the unseen clouds at the edges of my memory. What else is lost in memory. Songs are a nice way to dig into the hidden spaces in your head; as I’ve mentioned before, sunlight is also a nice way to dig in. Sit in a sunbeam, close your eyes, let your expectation of where you actually are change. I wonder what else is.

OSBC bound

Monday, March 24th, 2008

Heading off to the Open Source Business Conference (OSBC) soon. Should be interesting, and hopefully I’ll get online and be able to blog a bit.

First fishbowl - Charles Stross

Thursday, October 11th, 2007

I went to my first Amazon fishbowl the other day - these are internal events with singers or authors discussing their works for an hour at lunch. Think brown bag, but with content creators not coders.

This one was with sci-fi author Charles Stross - and despite prevaricating a bit (I had work to do), I ended up going down and enjoyed it immensely. Mr Stross read from his new book, Halting State; a 2nd-person mystery novel, set a few years in the future, and then answered questions. I really enjoyed the reading, and it all ended well when I was one of the winners of a raffle to get a free copy of the book (subsequently signed).

Many thanks to Bjorn at SourceLabs for poking me to go - he’s a big Stross fan and knew about the Amazon event before I did as he was in contact with the author for another event he was doing.

ProjectList plugin for JIRA 1.0.2 released

Wednesday, June 27th, 2007

Released yesterday thanks to the nudgings of a user - the 1.0.2 of my ProjectList for JIRA. You can see it at work on the Apache JIRA (who are using a snapshot version between 1.0.1 and 1.0.2 currently). It provides the lists of projects in a more succinct way than the default JIRA portlets can do.

This release sorted categories and took care of errors when there were no project or category descriptions.

Simple-JNDI 0.11.2 released

Wednesday, June 27th, 2007

Thanks to the nudgings of a user, I’ve released Simple-JNDI 0.11.2. It contains a few changes:

  • Maven2 build added
  • Removed debug from SJDataSource
  • Updated to latest dbcp/pool

Simple-JNDI is an in-memory implementation of JNDI, useful for unit tests and also as a configuration system behind gj-config.

Other JIRA migration alternatives

Monday, June 25th, 2007

There were a couple of comments on my JIRA migration summary. One was that there is a CSV import. I’ve only used this the once, and from the bug reports on its page it does seem to cover comments in some way or other. I’m not sure how you get the CSV though - JIRA’s issue navigator page has an Excel option but that seems to return a HTML (read Office ‘XML’) version. Not something I want to be trying to parse and munge back into CSV. Also, the Excel option does not include the comments.

The other suggestion was to use SOAP. Personally I’m far more a fan of an XMLRPC style API than a SOAP style API, so I tend to avoid SOAP APIs. Mostly when in Java - SOAP in Python was very nice when doing the Commons Bugzilla->JIRA migration. It would have taken more time than the quick RSS restyling to Jelly I was doing, and I doubt it would have helped much beyond being able to create fuller versions with release dates and descriptions.

It would be useful for one of the flaws of the mig4jira script. Currently it doesn’t handle multiple components, affects versions or fix versions. I very rarely ever set multiples, so was pretty confident my data didn’t need me to deal with those. Originally I would have considered Jelly the better choice as it’s a lowest common denominator and makes for a more decoupled process; however Jelly is now deactivated by default in JIRA and you have to modify catalina.sh and restart to turn it on.

Migrating JIRA issues

Monday, June 25th, 2007

I’ve needed to move some JIRA issues from one issue tracker to another. There are a few options available currently for this, and I’ll explain why each one doesn’t work before mentioning how I’ve solved this.

  • The simplest is to copy them by hand. There are too many for me to want to do that, and you can’t set some of the data.
  • Another simple one (in terms of design) is to write some sql scripts. This is a notoriously painful thing in JIRA so I avoided that.
  • One option is to backup the JIRA, bring the new one up on top of the backup and delete the bits you don’t want. This obviously fails if you want to move to an existing JIRA, and it’s a pain if you only want a small 0.1% of an existing JIRA. Plus the paranoid in me would not trust that the deleted issues are really gone.
  • A recent option is to move the issues one at a time from JIRA to JIRA using the Fedex V - Move Issues project from Atlassian. Sadly it’s not released, I suspect it’s something we’ll see in JIRA someday rather than as a plugin, and it’s limited currently to an issue at a time.
  • The last option is to use the Swizzle Jira Report jira-to-jira ‘report’. It takes a public JIRA and xmlrpc connection and generates Jelly to migrate a project. There-in are its limitations currently; your JIRA needs to be public and it migrates projects.

My requirements are to migrate from a private JIRA to a public JIRA, and to migrate specific components from a project and not a project.

Here’s my solution. Okay, here’s my hack. It’s inspired by the Swizzle jira-to-jira.vm. I take an RSS file and run a pair of xsl’s over it to get two Jelly scripts. The first one creates necessary versions and components. It’ll warn when you run it in the JIRA as it doesn’t try to enforce uniqueness, but it’s not an error. The second creates the issues. It dies on error (and you have to delete the ones already imported and try again). Typical errors were a non-existent user and a non-existent resolution.

Here’s the script - I call it mig4jira. I still had to go in manually and release the JIRA versions, but otherwise it worked very nicely.

Ideally the ultimate solution will be to change Swizzle to support private JIRAs and to write a jira-to-jira script that works off of a user specified RSS script.

Poll Plugin for JIRA released

Sunday, May 13th, 2007

Atlassian’s Codegeist II competition is up tomorrow. What with being ill and being at JavaOne (much in the way of blogging from JavaOne notes to do over the next few days) the end of the competition did not so much sneak up on me as ambush me out of the blue. I had the barely started prototype of a new portlet sitting on my laptop and after earning some computer time by looking after Nathan through the day I was able to sit down and pip in under the wire.

The plugin, if you didn’t read the title, is a poll portlet for the front page of JIRA. It lets you setup a way for people to vote on an issue from a group of issues, and see the comparative results. Users can either have 1 vote to share amongst each issue, or they can apply 1 vote to each issue. The easiest way to use it, is to create an issue whose summary is the question, add subtasks whose summaries are the answers and then configure the portlet with just the first issue’s key.

I used the JIRA Servlet plugin for the first time on this; however after bashing my head against how to get at things in the environment for two hours and getting it working; I then realized I needed more and so it’s sitting there as a memento of the hours of pain at the moment, unused. Basically, getting a VoteManager statically is a pain in the arse.

I’m pretty happy with it. It’s been a solid evening’s work, and it is exactly what I was envisioning when I thought of the idea a month ago.