AjaxTK: The Ajax Toolkit from Zimbra

Zimbra LogoZimbra released the AjaxTK JavaScript development library last year. Running under the Mozilla Public License (MPL) developers can use this toolkit in their browser-based applications. The toolkit is actively used by Zimbra in developing the Zimbra Collaboration Suite, one of the most full-featured AJAX applications I have ever seen. Because of it's development in conjunction with a real-world application, and because of the number of widgets and JavaScript utilities included, AjaxTK may well be one of the most advanced JavaScript toolkits available at the moment.

There is a problem however – there is basically no documentation for using AjaxTK, other than an extremely technical overview of the framework in PDF format. There are currrently no online examples of the widgets being used (other than the demo of the Zimbra Collaboration Suite itself). And while you can download the toolkit from Zimbra, their examples are heavily tied into JSP which is a major problem for me because I have no intention of using JSP.

So – here is a small step toward helping the community to get started. Full credit goes to Xiris, Chouser, Zuser and especially Smies for their posts on the Zimbra AjaxTK Forums.

AjaxTK Tree ExampleZimbra AjaxTK Tree Example

open example here

This is a standard DHTML tree, but it also demonstrates Drag 'n' Drop and custom Tooltips. Try dragging a contact from the top branch onto the label of the second branch.

AjaxTK Grid ExampleZimbra AjaxTK Grid Example

open example here

This is an extremely full-featured example. It demonstrates tabs and a grid that has resizable columns, movable columns and column sorting. You can filter the listings on the left (which is fully client-side). And the grid listings are paginated, allowing you to open 3 pages of listings in the grid.

Download Examples and AjaxTK Library

The above examples and the full source code are available for download in a ZIP file (466kb). Once again, thanks to Smies for getting this working.

 

So … what do you think? How does this compare to other AJAX libraries in your opinion? To be fair to Zimbra, they have only fairly recently released this toolkit to the community and it is yet early days (like most AJAX projects). They have some very positive thoughts on what AJAX libraries should be able to acheive in the future, so hopefully this is an indication of where they will take AjaxTK…

If you liked this post you can digg it here.

Share:
  • Digg
  • Twitter
  • StumbleUpon
  • LinkedIn
  • del.icio.us
  • Reddit
  • Facebook
  • MySpace
  • Add to favorites
  • Google Bookmarks
  • Yahoo! Buzz

10 Responses to “AjaxTK: The Ajax Toolkit from Zimbra”

  1. digg / digall Says:

    [...] Matthew Delmarter posted a good write-up of our AjaxTk. Best I’ve seen outside of Zimbra so far. Includes online demos of our examples. [...]

  2. Smies Says:

    Thanks for the credits.

  3. Ryan Says:

    It seems like everyone is really excited about Zimbra, but they’re also frustrated by the lack of documentation. I’ve been able to figure a few things out by reading the comments that Zimbra has put in the code. Luckily, they used JavaDoc-style comments and there’s a SourceForge project called JSDoc that might be helpful.

  4. Sandeep Says:

    The examples take a long long time to load on a DSL, so did the zimbra online demo.
    Also after the first example loaded, next worked in a small time (caching kicked in)
    Does zimbra have a very large initial network footprint?

  5. Web Herder » Zimbra AJAX Tool Kit Mixing 2 Example boostrapped to PHP and HTML Says:

    [...] I based what I was doing on Matthew Delmarters work here , except the one thing that I did notice is that the examples that I downloaded from his site use the older version of the library with some crucial files missing. I went and downloaded the latest /js folder from the CVS and dug through the code and finally managed to breath life into it. Note that the default download DOES NOT CREATE the much need file /js/confi/msgs/AJxMsg_en.js and its required functions. I have added this folder to this code base and it works fine on my machine so it should do on yours also. [...]

  6. Luke Byrne Says:

    Hi Matthew,

    I have managed to bootstrap the mixing2 example to HTML and PHP.

    See here for more info.

    http://webherder.com/blog/2006/03/15/zimbra-ajax-tool-kit-mixing-2-example-boostrapped-to-php-and-html/

    I did run into some problems with the Tree Menu style sheets though.

    Kind regards,

    Luke Byrne

  7. Abba Bryant Says:

    Not sure if it is the ‘console’ loading that takes forever.. but on any machine I that anyone I have told to view either this demo or the forum posts and even the main site’s live demo the initial js load and cacheing is taking forever.

    Not a light weight solution for sure.

  8. Matheus Von Der Kerkhoff Says:

    Hi, can you add my gmail for we talk about AjaxTK?

    I want to develop some kind of my softwares in browser-based versio.

    Thanx, and congratulations for this post.

  9. David Barker Says:

    Thanks for the examples. I tried to create my own page using the DataViewer as a jumping off point.

    One point of confusion for me is that it looks like the directory examples/common contains many of the same things that are in the js directory. By replacing the line in DataViewer/FlightInfo.html:
    @import url(../common/img/hiRes/dwtimgs.css);
    with:
    @import url(../../js/dwt/config/img/hiRes/dwtimgs.css);
    Then copying dwtimgs.css into the directory js/dwt/config/img/hiRes, I was able to use the images without having two copies of them on my website.

  10. Vytas Says:

    Nice examples, indeed. However could anybody explain meaning of calendar object in the grid example source code? I see no icon to activate the object.

Leave a Reply