chanders said: Actually I wasnt talking about the setup scripts, I was talking about diaplaying information in USP in general...
The setup scripts would be run in a wizard fashion (I think this is best)...
I like where these ideas are going... If we can get someone to outline a frame work we could branch the project...
Ideas anyone?
That should be easy enough. I think the tasks should be a hidden pane myself, but thats really up to you. As far as the wizards go, they should launch in seperate windows, be written in shell, and maintain a consistant feel from one wizard to the next (reasoning for shell as mentioned before is to make the scripts easy to understand for all involved, this can be a learning tool for new users too). I am open to pygtk if that is what you really want, but I feel that may end up reducing the educational value for new users (plus shell is so natural for this sort of thing)
Proposed Wizard Guidelines:
-- GUI Frontend: Zenity -- Wizard Layout: -- Page 1: Welcome page with overview of tasks -- Middle pages: Set all the options -- Last Page: Overview selected options and present option to start over
Other considerations:
Ease of use: Autodetection should occur for any and everything possible, this is not terribly difficult to acheive. Everything else should have a default answer, so that simply clicking ok through the entire wizard (even if this behavior is not desired) should result in at least a working configuration.
Logging: Logging of any system wide changes should occur. Logs should be verbose all go to the same file, use a standard format, and be verbose enough to troubleshoot potential issues.
Security: Usage of root privelidges is strictly not needed for most tasks. In situations where root is needs (such as configuring a firewall or the network) a message should display to the user explaining what is about to happen, and where logs can be found. After the root execution has finished, and undo option should be present (even after closing and relaunching the wizard) so that a user doesnt end up in without net access to gain support.
Range of Tasks: Tasks can and should cover a range of things, from simple to advanced, and probably should be categorized as such. Simple tasks could including setting a new password, while more complex ones (as I have mentioned several times) may be configuring a proper IPtables firewall.
There, that about covers my thoughts.
As for why I keep coming back to the firewall, well, that will be my first contribution to this project. USP will gain its own task for configuring a secure, yet accessable firewall. I have already been working on this for a bit, so its mostly done. The idea behind the project is to make a firewall easier to configure than even firestarter is (you dont need to know what a port is to configure anything). It runs out of the box and requires no monitoring, sports several modes to configure (ranging from beginner to advanced), can manage remote computers (still highly experimental and buggy), read a standard file to add additional rules and so on (extensible). It is programmed in shell, so its a bit of a pain, but shell was chosen again so new users can play and toy with it too (common theme with me). I myself have been using it for a while now, so it DOES work, but the code is still very sloppy, using if elif elif instead of case... I was tired... and so on.
Just a bit of warning, it is a LARGE script, over 5,000 lines to be exact, but a lot of that is fairly redundant (once again with the sloppy code). Once the project gets an official greenlight from chanders, and guidelines have been layed out for tasks, I will release an updated version that conforms to the guidelines.