Tuesday, October 27, 2009

Atlassian Dragon Quest, Day 1 (Or how to make Crowd work in Resin 3.1.9)

Today I decided to start the Atlassian Dragon Quest in a modified version (don’t worry, it’s a challenge, not an ego trip). I’ll call it Dragon Quest ^ 2 (read squared): place as much as possible of these into a single webapp container. Maybe it won’t earn me a TShirt, but at least I am going to try and share some experiences on my quest.

This is day 1, and unfortunately I got stuck in my quest starting with base integration software piece “Crowd”. Given that I had a container up and running that I always wanted to try out with Atlassian, I decided to squeeze everthing into Resin 3.1.9 (made by Caucho).

After the initial steps, I was stuck without any log traces. Everything worked out, but the login didn’t work, and it didn’t report any problems. Time for reading some documentation...which led me to: Can't login into Crowd

However, entering my database, there was no domain set at all.

Another install cycle, same problem. Back to reading the docs...man sometimes it would be good to read the System Requirements before installing, right?

Resin versions 3.1.x and later are not compatible with Crowd. Please refer to CWD-1192.

Being a brave adventurer, there is no turning back once the quest has started, so I set out to find a fix for this problem.

Long story, short, Crowd uses XFire, XFire uses StAX and prefers WoodStox.....good that this is right in my field; it’s not just Xerces and Xalan we need to set, but also the correct factories for StAX, and voila! ;)

I left the workaround for the problem on CWD-1192, but unfortunately there were other problems lurking:
http://bugs.caucho.com/view.php?id=1530linkext7.yHw9doZrGRyK.jpg

So the struggle had to continue; fortunately the workaround is relatively easy. Large JSP’s can be split and imported. Doing so dynamically, will split the code and work around the problem of the Caucho JSP Compiler (well they say it’s a JDK limitation). So far the files that I split down are:
  1. /console/secure/principal/view_principal.jsp
  2. /console/secure/directory/add_directorydelegated.jsp
  3. /console/secure/directory.add_directoryconnector.jsp
I have also left these on CWD-1192 so others can enjoy Crowd on Resin 3.1.x ☺

It’s getting late, so I will call it a night, and continue my quest tomorrow. I hope that Atlassian follows up with a full QA to make Resin a better supported platform for Crowd (at the moment, lets see what more I can get up and running ☺).

Farewell to all the Dragon Quest participants...may the force be with you.

0 comments:

Post a Comment