User Customization for WWW-Interfaces

Warning: This entire thing here is PURE Javascript. You won't see a thing when it's disabled in your browser. And don't tell me you don't like Javascript, I don't give a ... (to those religious anti-everything-but-html-2.0 guys out there). Anything but the defaults won't let you log in. It's senseless here in this demo, I added it to simulate the behaviour of the application as closely as possible.
One huge difference to the original: in this demo/simulation I store the interface data on the client (Javascript), while in the real app I store it in the database, where it's available for ever.

How to get to the customization dialogue: click the icon (looks like a house) in the upper left corner (menu frame) to see the version info; lower right corner of right frame: click the button "Customize!".

Explanation: I did this (in my spare time) for a database-web frontend I made for my employer, Siemens, as part of a project, just for fun. At the beginning a user has to login with an Oracle id/password/host. Since I'm connected to the db anyway I store all these config data you can play with here right there. When the user logs on the next time he/she'll get the exact same user interface (colors, table settings, background images).
Adding new background images is extremely simple, because I didn't hard code it but used server side scripting to generate JavaScript code for all images found in the background images directory.

Attention: demo may be slow because all the images (e.g. backgrounds) are loaded on demand, and that slows things down since this server shares the bandwidth with many students and university staff.

Originally I used IGL for server side scripting, a Siemens product (my department owns it) that is similar to PHP3 and has some advantages and disadvantages over PHP (advantage: SAP R/3 interface, DIACOS interface (something we wrote to access a proprietary database in a hospital project), support for transactions, i.e. variables declared as global are available in later calls to the same or other scripts). I converted the few lines of server side scripting code in the main page to PHP3, but you're on your own for the page that saves the data into the database. This is very easy, however, especially with the example of my IGL code.

I found the color cube gif and a basic version of a customization dialogue at http://javascript.internet.com/, under http://javascript.internet.com/miscellaneous/color-cube.html