BlueOnyx 520XR milestone reached
Another update on the development of the new BlueOnyx 5207R/5208R GUI.
Over the weekend I finished the coding of the last missing BlueOnyx GUI page that was needed to get the new GUI to the same level of functionality as the old GUI: The web based setup wizard got finished.
It's a page that people usually don't see that often, as it's only accessible when the server is freshly set up and in an unconfigured state. Still: It is the first GUI page a new BlueOnyx server administrator will see. If that page doesn't look good or has has errors, he might get dissapointed enough to not bother to go any further. So I spent several days on this to get it look right and to make sure to squish any bugs that might have cropped up during coding.
In the old GUI the whole setup wizard (as provided by base-wizard.mod) was a mubo-jumbo of different pages. A static HTML page had a button that (sneakily) logged you into CCEd as "admin" with the default password of "blueonyx". From there one page's form handed you off to the next pages form and eventually after a few clicks you might get a blank page, which (after a few confusing seconds) eventually did lead to the GUI.
Now *that* was certainly not the best "first impression". So we can do that differently now.
Here is how the new setup-wizard works: When you access the GUI first time around, then the URL doesn't really matter. May it be http(s)://<ip>/ or http(s)://<ip>/login or http(s)://<ip>/wizard: As long as the initial setup has not been completed, you land at the setup-wizard. If the "admin" password is still the default "blueonyx", the wizard starts automatically. If the "admin" password has already been changed, then you'll land at the login page first, where you can enter it. Afterwards it'll hand you off to the setup-wizard again.
The setup wizard now also checks your browser locale. If your browser is set to one of the supported languages, then the setup-wizard will already show all text in your own language and the language selector in the pulldown will be set to that language as well. So normally this will be the first page you'll see:
From there either a click on the tabs above or the "Next" button at the bottom take you through the wizard.
Here the license is shown and must be accepted in order to proceed. The next tab handles the basic configuration such as hostname, domain name and DNS. The screenshot below is from an OpenVZ VPS, where the IP, Netmask and Gateway can't be configured from within the VPS. If the wizard runs on a "real" server or a VPS which has ethX-style interfaces, then you can fully configure the network interfaces here. But only the one(s) that the shell based setup activated. No need to overburned the admin during his first tentative steps in the GUI. The whole network can be configured later on in the correct GUI pages for that purpose. At this point in the setup-wizard less is actually more.
Lastly you can set up a new "admin" password and can configure date, time and timezone. After that there is only one more page:
Once you get to this stage and click on "Done", the changes will be applied. If there are errors during that, you get redirected to the setup-wizard again to correct your input. If there are no errors, then you get automatically redirected to the first GUI page.
In terms of usability and first impression this should do a much better job than the old setup-wizard.
In technical terms it was one of the more complex pages due to the juggling with authentication, localization and the way the data is presented in the browser. It doesn't use getPagedBlock() for the form elements, but uses simpleBlock() instead, which can render single form fields (or anything else) into an existing form or page. Also, as this page is not shown inside the usual GUI layout with menus and such, it has its own HTML template into which the page controller fills in the blanks.
So what's left to do until the new GUI is ready for public Beta-testing?
There is still a list of new features that I want to go through and add them to the GUI, too. Last week I finalized the Reseller management, which now allows to disable certain features such as Shell access or AnonFTP for Reseller users. You now have a wide range of leverage about the features that you can grant an admin.
While I was at it, I also overhauled the "adminUser" accounts in general. It is now possible to create "adminUser" accounts that have totally equal rights as the regular "admin" account. The *only* difference with them: They cannot delete or modify their own account through the "Server Administrator" menu entry in the GUI. Other than that: They can do everything that the user "admin" can do, too. Provided you grant them that many rights to begin with, which is totally optional.
Other than that, my list of unfinished but planned enhancements includes stuff such as SSH key/certificate management, IMAP-Sync user and email import from other servers and a support module that allows to generate diagnostic dumps and (optionally) allows to file support tickets with BlueOnyx or your ISP or server-hoster. Realistically speaking it'll take about two weeks until I have that wrapped up as well.
So a tentative release date of the BlueOnyx 5207R/5208R Beta might be in three weeks.