Project status: abandoned. This isn't compatible with recent versions of Ruby On Rails and there are now many other options that work better.
Developed: 2006
LiveTree implements a JavaScript/DHTML tree (hierarchical list) widget that loads data asynchronously as-needed (using AJAX). This makes it ideal for cases where the dataset is too large to load to the browser all at once. Data can be provided in the HTML page as well, in which case no asynchronous loading is needed, making this widget suitable for standalone client-side use.
This project was started to learn Ruby, Ruby on Rails, and dynamic HTML techniques. I went on to refine it for general use, but then started a new job that prevented me from spending any more time on it.
Note: I'm afraid that this project is essentially abandoned. While I would love to do more work on LiveTree and with Rails in general, my life has gotten busier and there just isn't time. I won't be much use answering questions about using it either because it's been so long since I've looked at the code. If anyone would be interested in taking over the project, I have some half-finished and buggy code for some new features, as well as a few patches that users have sent, that I would be happy to provide. Also, if anyone has good suggestions for alternative tree controls for Rails that I can link to here, please send them in.
LiveTree consists of two components: client-side JavaScript code that runs in the user’s browser which displays and allows the user to navigate the tree, and a server component that provides data to the client. The client-server protocol is very simple, which means server components can be easily created for just about any web server configuration with minimal effort. Presently, the only existing server component is for Ruby On Rails.
See the RDocs for more information. In particular:
You candownload the source code for a demo, for complete working examples. See the enclosed README.live_tree_demo for setup instructions: