[OLPC-GSoC] GSoC graphical administrator interface
Michal Sciubidlo
michal.sciubidlo at gmail.com
Thu Mar 27 14:06:29 EDT 2008
Hello
Before submitting my application i'm posting it here. Your feedback is
valuable, please provide your suggestions.
I can't be sure if my list of tasks in this project is complete. Do you think
that something is missing or something isn't needed?
There is nothing about tunelling in this proposal. That's because i'm not sure
is it about VPN (Hamachi) or IPv6 over IPv4 or something else. Could somebody
explain it to me?
Project topic
Graphical admin interface for school server
Project details
-= Wizard =-
Base wizard used to configure key server components. This page will not be
used too often but it has to be easily accessible to allow fast start. It'll
show few pages that will create basic working server setup.
-= DHCP / RADVD=-
- Turn On/Off/Restart service.
- Range of ip addresses that are assigned to clients (from/to value). It
should warn if range would cross subnet range or alter subnet mask.
- Lease time - probably drop down menu with few alternatives.
- gateway address - maybe use ip of this server ?
- dns address - maybe just use dns that this server uses?
- Defining static configuration:
- name field
- ip address (should check if it is in use now)
- mac address field
- button that will clone mac/computer name from admin computer
- maybe drop down list with current dhcp clients - selecting one would work
as "clone mac" button, this could be also feature of dynamic dhcp clients list
- List of Static Clients List
- columns: name, ip address, mac address, ping?
- shows defined static clients and which of them are active
- Dynamic DHCP Clients List
- as static clients list but there is no need to show if client is active
-= LAN =-
- ip Address - used by dhcp to assign gateway
- subnet mask - used by dhcp
- domain name
-= WAN =-
- Radio buttons for choosing connection type:
- PPP
- Static IP Address
- Dynamic IP Address
- more
After selection lower part of screen should be changed to show specific ptions
(e.g. username, password, ip address, mask, dns, MTU...).
-= Admin =-
Used for resetting admin password.
3 Fields: Old password, new one, once more new one.
- Defining external IPs that can connect to this web interface.
- List of external IPs, each element on list can be disabled/enabled with one
click.
-= Time =-
Choice to use time server or manual time/date setting.
Option to select time difference from GMT time.
-= Settings Save =-
- Save settings to local file
- Load settings from local file (this will be tricky to check if everything is
ok)
- Reset setting - "factory" settings
-= Status =-
- LAN settings
- WAN settings
- Free disk space
- Free RAM
- Services status
- packets send/received on interfaces
- etc.
-= Log Settings =-
Check boxes describing what logs should be shown
- standard information
- debug information
- errors
- ,,,
- Button to save log on current computer
- Setting up remote logging server.
-= Logs =-
Logs splitted to pages, buttons to move to next/previous/first/last page.
-= Proxy =-
- On/Off/Restart (On/Off have to alter iptables rules)
Options to configure:
- Cache size
- Max element size
- List of domains that shouldn't be cached
- List of elements that shouldn't be cached (*.avi)
- List of domains that have to be blocked.
- Cache algorithm
- Clear cache
- Cache peer list
- Add cache peer server.
- Remove cache peer server.
-= School Identity Manager =-
- On/Off/Restart
- Setting up BACKUP and PRESENCE path.
- List of registered computers
- Remove from list (requires stop/modify/start service, it should also delete
a user account from server)
-= Network Time =-
On/Off/Restart
-= Presence Server (Jabber) =-
there is no need for it because there is a separate ejabberd's web admin
interface, this page provides link to it
-= SSH =-
- I'm not sure if this page is necessary in current state.
- On/Off/Restart
- Block/unblock root login.
- Port knocking(?)
-= Help =-
Index of help pages.
Authentification will allow to configure server options. Normal users will
be allowed just to view server status information and help system. Each page
will have "Help"button which will lead to information about current page and
it's contents. Buttons "Apply" and "Cancel" will be present on all pages that
allows configuration. Application should detect if configuration files are
changed (inotify) to update pages status. Pages can't be too complicated. If
there is no enough space it should be slitted to "standard" and "advanced"
pages. This project will be written using python and one of python
frameworks. Pylons and Django are very good but also very large. There are
some smaller solutions like CherryPy or Paste that could be right for this
task.
--
Michal Sciubidlo
More information about the Gsoc
mailing list