Friday, April 22nd, 2005

Confluence gives us nice Ajax usage

Category: Ajax, Java, XmlHttpRequest

Atlassian has added a few new features to their new versions of Confluence, a quality Wiki.

One item to show is their component which lists all pages in a nice tree. The Ajax approach now means that ALL of the data doesn’t have to get loaded at once (which could grow to be very large). Only the high level nodes get loaded, and then ajax lazily loads any that the user actually navigates too.

This shows that Ajax can help with page loading, and server load, as well as UI items.

View the example of List Pages

And Mike Cannon-Brookes of Atlassian has posted about various Ajax additions to Confluence, and more.

Posted by Dion Almaer at 1:35 am

4.1 rating from 7 votes


Comments feed

Sweet! Very slick looking and responsive. As someone that uses Atlassians products every day I’m really appreciating any enhancements to the user experience.

I’m glad you’re getting on the Ajax bandwagon, Mike, I can’t believe only two weeks ago you said: “Nah, we probably won’t add any of that Ajax stuff to our products. It’s just a hype.” What’s the next step? Jira ported to Ruby on Rails? ;-)

Comment by Jon Tirsen — April 22, 2005

We’ve also implemented an ajax-y progress bar, but it’s only used for administrative tasks so we can’t really show it off the same way.

On one hand it’s a nice technology, and solves a lot of problems in a useful way. On the other hand, you have to put a lot of effort into making sure it degrades cleanly (essentially writing many features twice), and we haven’t got a clue how we’d write regression tests for it.

Comment by Charles Miller — April 22, 2005

Yeah, ok.

But it doesn’t cache sub nodes once it gets them. I’d like to see that.

Comment by Adarsh Bhat — April 22, 2005

and you can’t close a node after opening it either.

Comment by nev — April 22, 2005

I just started using a dynamic javascript tree component called XLoadTree: . I was quite happy to stumble upon this component as it solved exactly the problem we were facing. It performs lazy loading as the user drills down into the tree. It also caches the results, though its API does allow you to reload a specified node. Great stuff!

Comment by John N. Underwood — April 22, 2005

It shouldn’t be too hard to cache the nodes once they have been fetched from the server. Just make sure you call the ajax function only once. Since the node has already been inserted into the DOM, there is no need to fetch it again using Ajax.

As for the xloadtree component. Its nice, but its written entirely in JS. Doesn’t degrade too nice. But if thats not an issue, then its def. a nice component.

Comment by Ramin — April 22, 2005

xLoadTree is nice, but has a really bad API.

It doesn’t lazy-load, but I prefer Andrew Gregory’s Explorer Tree:

Comment by Daniel Serodio — April 25, 2005

Leave a comment

You must be logged in to post a comment.