Modern Theme: Progress report
This is yet another progress report about the work on the re-themed BlueOnyx 5207R/5208R.
Well, three months have passed since the last progress report. So I think it's time to wrap up another report on how it is comming along.
If you want to take a look right away, then here are the login details to the demo, which I just updated to reflect the latest changes:
BlueOnyx Demo:
URL: http://demo.blueonyx.it:444/login
Username: admin
Passsword: demo123
I'm still working my way through the "Server Management" tab. Everything there under "Network Services", "Security" and "Programs" is done. Under "System Settings" I have so far tackled most items, leaving only "TCP/IP" and "IP address allocation" untouched. The category "Maintenance" has "Server Desktop" done, but it's other menu entry "API" isn't finished yet.
All in all that's about 45 pages - give or take some.
The two modules that caused the most hair loss were the bloody DNS management and the SSL management. They consist of various sub pages and their code base goes straight back to the Cobalt Network days. Even the initial Cobalt guys probably did these pages first, as they're done in a style and form that predates most of the other GUI pages.
The DNS stuff was particularly complicated to port to the new GUI style, as it uses legacy coding for form fields which just has a very limited subset of UI classes available. So I had to code them all from scratch and merged some of the individual sub-pages together for sake of simplicity of later code maintenance. I think I spent about two months on the DNS stuff alone, but that also included a longer interruption.
You see, I've been working on the new GUI for a year now. On almost every day of the week and many weekends. To put it simply: I had to take a break, as I was seriously getting burned out. As slick as the new GUI looks, after a year of tangling with it's innards it can look as neat as you like, but eventually I got sick and tired of it. It took some major effort to get back into the mood and since then work has progressed even more rapidly than ever.
There are only nine UIFC Classes that still await their transition to the new GUI format. Of these I'll probably need only two or three and the rest aren't used by anything else in the GUI - as far as I can tell now.
While I was at it, I also prettied up some of the existing GUI pages. This becomes especially evident on the DNS management pages, where the DNS records are now listed in searchable DataTables. But also "SSL" / "Manage Certificate Authorities" received a major overhaul.
In the old GUI the display of the various CA-Certs was merged into an Options-Block and that display never looked right. I switched that to a DataTable as well, which simply looks prettier.
Something that really had me stumped was "System Settings" / "Time Zone". You see, in the old GUI we had these three pulldows. First selects the Continent, second the Country and last selects the City. All good and neat. But these pulldowns were dynamically populated by a two-part JavaScript. One part was in the actual page, the other one in the frameset. I tried to do this without Java-Script. With jQuery I could potentially replicate that behaviour. But wasn't there a better way? Well, there are around 450 different TimeZone locations in "tzdata". There aren't that many timezones, but if you figure the various cities and countries in, it quickly gets that much by covering all the redundancies.
In the end I could boil it down to just using a single pulldown without loosing too much readability or ease of usage.
While we are at it, try "System Settings" / "Power" and go through a "Reboot" and "Shutdown". No worries, in Demo mode this won't do a reboot or halt, but it'll show you exactly how the GUI will behave in that way. This did lead to a point where I also discovered that the actual message for a GUI initiated shutdown required a major overhaul.
Also all new is "Security" / "Logfiles". I reworked that old feature extensively to show the logfiles in prettier and more accessible way. Likewise "Security" / "Logins" and "Security" / "Processes" now uses searchable DataTables, too.
That's the quick run down of the work progress so far. By the end of November I hope to be done with "Server Management" entirely, which also includes "Active Monitor". Sometime in December "Software Updates" and the "Setup Wizard") should be wrapped up entirely and - if time permits - I'll then get started on the main dish: "Site Management".
Having said that: I predict that within three months time I'll have a 1:1 copy of the old BlueOnyx GUI ported to the new GUI. With identical functionality, but a hell of a lot prettier looking. The question then is: Add all the planned and entirely new features as well? Which there are:
- Accounts of type "Reseller" for management of multiple Vsites up to certain limits.
- New sub-domain management more in line with the Vsite management.
- GUI pages for direct editing of the files for the GUI translations.
- On the fly migration of email accounts via "imapsync".
- Better GUI based import/export of sites and users.
Well, I think we all waited long enough for this to be done. Having said that, I think that a few of these new features can wait. I'll probably include the new sub-domain management as it will be tricky to implement it later on via an update. But anything else can easily be added to BlueOnyx at a later time past the release of 5207R/5208R.
If things go really, really well, then I think there is a good chance that we see a Beta-Version of 5207R/5208R sometime near the end of January/February 2014.
← Return