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

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.

Flight down….

Tuesday, May 8th, 2007

Flight to JavaOne went well. Whisked through security, read Forty Signs of Rain and played Football Manager 2006, and then gambled on the BART train from the airport to San Francisco and comfortably found the hotel - though having “The Westin St Francis” a block before “The Sir Francis Drake” is confusing for the tired traveller. Fortunately my gut told me to continue.

Interesting problems at the hotel - burst pipes had wiped out my room so I was given a larger room on another floor. Only catch? No bed, instead they’d set up a sofa bed. Either it’s half of a larger room still, or it’s a meeting room. Impressively large for a hotel room, we lived in a smaller place for a month when we got to Seattle.

No wifi in the room - or rather many options but none of them work and none look like they belong to the hotel. Nice bath - then time to think about bed as my neighbours get back and start what I hope won’t be an N hour chat on their balcony. It’s sounding like it’s going to be one of those though.

The sofa bed didn’t look very attractive, so I pulled the mattress off onto the floor and took up camp there. Much more comfortable. In fact, better than the beds usually are. Oddly noisy bathroom is going to irritate, along with said neighbours. However - it’s all an adventure.

Back to the usual, then JavaOne

Friday, May 4th, 2007

Back to the work this week and getting back in the habit. I started work on a branched version of Lang that aims to be Java 5 specific and throws away the deprecations and pre-Java 5 style classes. It’s an interesting bit of experimentation [LangTwo-1.x ] and has been fun so far.

I got back up to speed on Quartz and working on Quartz 1.6.1. There are 22 open issues and 26 that have been resolved - so we’re passed the halfway point. Looking back, my first ever blog entry a little under five years ago was on Quartz, so it’s very satisfying to be committing to Quartz. The 1.6.1 release is all about tortoise development, slowly plodding through the issues and getting them checked off before realizing on some future happy day that it’s time to consider a release.

Of course work stuff happens too. We’re at fifty-eight backports in SASH 2.0 and I tweaked the meta-build system such that rather than trying to use the upstream project builds for javadoc, we now just identify where the source is and our system takes care of javadoc and source jar building. This means we can then put said jars into our Maven repository; previously src and javadoc were at the project level and not the artifact level - which sucks if a project produces multiple artifacts.

I did a little JIRA hacking - but nothing major. I’m working on a portlet to do with voting, but it’s still in the prototype phase and I didn’t get much further with it. I did knock out a portlet to show random issues from a filter, but it’s not quite what the JIRA wishlist page was asking for and I’m unsure on how to get what that request wanted. Cool though because it’s involved discussion on the jira-dev mailing list rather than just hacking privately.

Lastly - I’m off to JavaOne next week for the first time. Irritating as it probably is to many, I’ve enjoyed the JavaOne Schedule Builder software. It’s slow and not the best visualization, but thinking on my schedule in advance has been good and I can see how that allows the conference to better juggle their resources. My only clash was in choosing between a few hours using Project Darkstar to work on a MUD, or going to a BOF about the new Java Time API. I’ve opted for the latter because I strongly suspect said MUD is going to suck in comparison to an LPMUD (most importantly, I suspect it won’t be modifiable at runtime but will involve the lame option of working on a turned off version of the MUD).

I fly in on Monday night (I always forget that I can use the day to travel) and out again on Friday night. I’m not looking forward to being away from the family, but I am looking forward to a host of interesting sessions and to meeting people for the first and nth times.

JIRA HTML portlet plugin

Thursday, March 1st, 2007

One idea I’d noted down recently to work on was a JIRA plugin for putting static HTML on the front of a JIRA. It seemed like a pretty useful thing to have - a versatile way for an admin to hack a solution on quickly rather than coding something. I scribbled down my notes…

* HTML portlet. Let's you put bits of hardcoded HTML onto the page.
This allows for adding nice links to things, and pretty much anything
else you want. It could be done as a bookmark system a la Roller, but
that would mean doing webwork in the admin screen I think.

“Yes”, I thought, “the Introduction portlet could be used for that, but that doesn’t make much semantic sense and you’d be limited to just the one”. “Such a simple idea”, thought I, “it’s a wonder it’s not been done before. “.

Obviously that should have been a great big warning sign right there. Fortunately I didn’t spend anymore time on it… then while doing a JIRA upgrade last night I happened to click on the Portlets Plugin and saw that accompanying the 16 enabled plugins was a lonely disabled plugin named “Text (text)”, with a description of “Display any text, formatted as HTML.”.

So, if, at the beginning of this post, the idea of a HTML portlet sounded good for whatever hackish need you have, go and enable this plugin and have at it.

Metasyntactic variables

Monday, February 19th, 2007

This weekend a Terry Pratchett book taught me the term Metasyntactic Variable - ie: wossname, thingamebob, doodah - though Wikipedia seems to think the correct term for these is Placeholder Name. The former sounds much better, the latter is just a wossname.

Committing to Struts

Wednesday, February 7th, 2007

Yep, I’m a Struts committer now! Fear me.

So today saw a few JIRA issues closed and a couple of commits made to the Struts 1.x trunk. My aim will be to spend a bit of time each week looking at the 1.x issues and working on them. But first….

I need to get the Jakarta Standard Taglib released. We’re getting close to having all the issues tidied away. I’ve got a request in for the TCK, no idea what to expect there. It’s an interesting exercise in making the least amount of change to have the most amount of impact. I hacked in a caching SPI today, but I think it’s probably a bit too much change.

The Lang release failed its RC2. The legal files were missing from the Maven2 -sources/-javadoc jars. Bugger. Drawing board etc.

I’m definitely feeling the urge to do some coding rather than bugfixing/releasing. JIRA customizations are top of the list - just some simple things, like having a drop down selection list of your filters to conserve space, and being able to hardcode a list of filters. I’d also like to reverse engineer some rules from our triage process at work for use in a JBoss Rule engine somehow - seems like fun, time permitting.

Bugfixing libraries

Tuesday, February 6th, 2007

A couple of days of doing little bugfixes to libraries. Along with work bits, yesterday I went through a list of Quartz issues that I’d identified as interesting and uploaded patches and tests to their JIRA, then today I’ve worked on a couple of outstanding Commons Lang 2.3 issues and built the 2.3-RC2 build for the community to weigh in on. Hopefully it’ll be good and I can get that released.

It’s 2 weeks ’til the next board meeting, so I’ve created the board agenda file. Now that I grok what goes on etc, I’m trying to help out where I can with the organizing. Dull boring stuff that I’m usually good at remembering to do.