Continuing XPages Progress and some lessons learned

Well we're now 9 days into the porting of IdeaJam to run in XPages:
IdeaJam in XPages Progress
The screenshot hasn't changed an enormous amount but you can see that voting is working properly now and I have added the view filtering so that you can look at individual IdeaSpaces. All of those bits were surprisingly easy once I had worked around a couple of bugs. And these are my lessons learned for the week...

Firstly, the new server side @DbLookup() javascript function does not work in conjunction with the @DbName() function if your database is in a sub directory. THis is obviously a bug which will be fixed before 8.5 goes Gold but it took me a while to work out. Anyway, there are two current workarounds, first just work in the root of the server (which is what I'm doing) or you can hard code your database path using the following format: @DbLookup("xpages//DbLookup.nsf", "RefData", "Test", "Value").

My second problem took a while longer to track down and I'm sure it's an edge case but it's a doozie - I have a custom control which contains a <tr&gr; element that gets repeated in another custom control. What I learned is that you do not set styles on the html element directly, you must assign a class name to the element and define the style in CSS otherwise the Designer client hangs while trying to rebuild the project. It's a better way of doing things I guess, but I wanted to be lazy!

So those two are the downsides so far, and they're going to be fixed, but on the upside I have still not written *any* client side javascript myself and I've only had to write 2 agents (to handle voting requirements which can't run under the rights of the authenticated user). That is hugely impressive when compared to the "classic" IdeaJam which can amount to 100kb of Javascript... read big performance improvements for the user. I've also managed to reduce the number of views required to run IdeaJam from 15 to 5 due to the different ways that you can apply filtering and reuse views for different tasks... read server side performance improvements.

There is still a lot to do but real progress is being made, and (as Bruce will tell you) I am enjoying this so much that I can be found playing with XPages most of the time now!