developing themes with extjs?

Hello gents,

I’ve been stewing this discussion that branched into themes for a couple days in my brain.

What really struck me was the need for abstraction between the virtualmin logic and the presentation. With that realization, I immediately started looking at tools available that can manage the entire UI without help from virtualmin, like extjs and flex.

Both of these tools provide all the libraries to generate trees, forms, dropdowns, dynamic server lookup of data, suggest and auto-complete on forms, sortable/scrollable/dynamic tables, and about everything else that could bring the VM interface alive.

And, most importantly, they can both do dynamic http requests to get all that data. So it seems to me that, rather than rewriting all the virtualmin modules from the ground up, maybe expanding the remote http API could be a better solution.

Then we’d be able to build any sort of interface on top of it without interfering with VM code development at all.

Let me know what sort of road blocks and limitations you forsee in this approach. If it sounds useful and possible, I’ll throw together a proof of concept.<br><br>Post edited by: kato, at: 2008/08/06 12:49

Hehehe…I’ve been working on an ExtJS based theme for several months. Great minds think alike. Or something. :wink:

Part of that work is providing a JSON request type for many types of data. But, as with any theming in Webmin, it has to take into account all of the hundreds of modules, and many of them do not expose everything via API. In fact, very few expose the same thing you see in the UI. Virtualmin does mostly…but we need the whole enchilada, or we lose huge swaths of functionality.

BTW-I’ll contact you off-list, and get you access to the development version of the new theme. It’ll probably just scare the enthusiasm right out of you, but if I’m lucky when you see it “almost working” it might be inspiring enough to overcome the fear of all the work still remaining.

Sure, use the email from my user profile. I’d be happy to check it out.

One note on the use of extjs… they recently switched to a GPL license. Sadly, it’s not even an LGPL, which means all libs and software that ship with it have to be GPL too, or you have to buy an expensive developer license (an org I work for recently went through this).

I’m guessing that is incompatible with the Virtualmin Pro license, since users aren’t allowed to redistribute it freely.

However, when they switched the license, someone branched off and put one on sourceforge which was an LGPL or BSD license, can’t quite remember. So that’s a possible angle for using extjs.

We have a commercial license and support agreement, though we will probably be releasing the theme under the GPL, anyway (because I don’t think we want to keep Virtualmin GPL users out in the cold from the awesome new theme). It’s not that expensive. Just a few hundred bucks per developer.

It's not that expensive.
Well, that may be true if you're not a cheapskate like me :(

And yay, commercial license solves all those worries.

BTW-I'll contact you off-list
Haven't got that contact yet. But I am definitely interested.

I realized when I was writing up what you need to checkout, that it’s actually rather complicated to make it work from an SVN checkout, so I’m writing a script to run after the checkout to make it a little more sane (I need such a script anyway, as I keep running into problems with the process myself). You and Eric both want to tinker with it, so I’m going to try to avoid wasting too much of your time poking at it. :wink:

I’ll try to wrap it up today.

Hi Guys - I would love to join in on these development talks regarding extjs and theme developments.

Joe, can you get in touch with me via my email on this profile, I have resources I could make available for developments. I would also love to check out the theme you guys are talking about.


Interested in finding out how the development of this theme went, I haven’t heard any more about it since this original post. Look forward to your reply.