Preferred Ajax Framework

I’m looking to being doing some work on making some Virtualmin core changes during the upcoming holiday season. For the UI, I’m considering using a pre-made Javascript library. Of course, I wouldn’t want to spend the time doing this unless the core developers agree on a particular framework.

I’m considering jQuery (because of it’s extensible plug-in architecture).

Thoughts?

I’ve actually done a huge amount of work with ExtJS…but there have been some issues with its “drink the Kool-aid” approach (anything that isn’t written explicitly for ExtJS is really, really hard to make fit into the ExtJS way of doing things…for example working with existing markup is laughably difficult for most ExtJS widgets). I’ve basically given up on that work for now, because some of the things that have to happen to make it all work are huge projects, and require major changes to the way Webmin works and builds interfaces. And, frankly, I’m not convinced those changes would be for the better from an architectural perspective.

So, I’ve lately been working on putting jQuery to use in the current theme. You should ping me via email before you start working, and I’ll set you up with SVN access so you can see what I’ve been doing with it. I expect to release one last version of the theme before integrating any jQuery changes, but converted to using the YUI CSS reset, base and fonts frameworks (we have a lot of areas that need work in the UI of Webmin and Virtualmin, and the inconsistency of styles and somewhat old-fashioned HTML usage are among my priorities for things to fix, so that adding AJAX and other cool stuff via jQuery is easier).

The cool thing about jQuery is that it’s designed to work with markup, almost exclusively. Unlike ExtJS, it pretty much expects that the UI is built primarily in HTML and CSS, and jQuery is just there to make things nicer to use. And, if you’ve got some experience with jQuery, I’d be happy to have some help.

Just sent an e-mail. Hope it went to the right address! :slight_smile: