CAT (CipUX Administration Tool)
Most administration tools are written by programmers/admins for admins. They look like LDAP browsers and they are LDAP browsers. What makes CAT different is that it was not written to show an LDAP tree, even if the database is a LDAP server. It was written and rewritten with the goal to make user, group, room, machine administration easy for teachers or others who do not want to spend their lives as network administrators. As well, discussions with teachers helped in designing and implementing CAT to cater for the special needs of administators with non-technical backgrounds.
One of the key concepts of CAT is, let the person who knows the subject do the job. This could be the teacher, but it does not have to be the teacher.
Here is an example from a German university. The local admin does not know who is joining what course (before CAT he spent hours finding that out), and believe it or not, most secretaries of the student administration did not know either. Even the professors did not know -- at least in some cases. The only person who knows the 150 people attending the course is usually the tutor. So, the tutor can log into the CAT module tutoradmin, and add students to the course.
CAT is driven by a role based concept, the idea being that there should be a module for each task, which can then be assigned by the administrator.
CAT version 3.2.8 to 3.2.10 was webmin based frontend called cat-webmin. However, it does not need to remain a webmin application. In fact, the first version was an apache CGI, and it could support any type of GUI, web-based like the French moodle plugins in PHP, or a full-blown desktop application written in low level languages such as C.
CAT version 3.4.0 will be a CGI driven GUI for Apache. Full locale aware and template driven.
The current CAT modules
useradmin: user support service
groupadmin: group admininistration
tutoradmin: group joining, leaving
printaccountmanager: manage money for printing
roleadmin: changing roles
examadmin: examination environment administration (terminal server)
internetadmin: internet access on terminal server
applicationform: application form
apply_applicationform: apply application
userselfadmin: user self administration
clientadmin: computer accounts
hardwareadmin: hardware types
imageadmin: software standards
roomadmin: room manager
cipuxadmin: CipUX admin
skeladmin: administration of skel directories
transferadmin: transfer pupils at the end of the term
Version 3.0.0 cat-guide-de.pdf (German)
A CAT for Debian-Edu 3.x and Debian Etch using Apache as a webserver and CipUX RPC server as back end for access control.
CAT-web is written in Perl by ChristianKuelker and ?BenediktWildenhain with the aim of using a non priveleged webserver like Apache. CAT-web uses the hole CipUX XML-RPC server API. It is full theme-able and language aware.
This CAT for Debian-Edu 2.x and 3.x is written by ?JeanCharlesSiegel in PHP for the French schools and is also called cipuxPHP. It is a moodle plugin an can be accessed via moodle. It uses CipUX-RPC.
A CAT for Debian-Edu 1.x and 2.x using webmin as a webserver and the webmin library for access control, translation and theming. It uses CipUX::CAT.
cat-web function cipux_task cat-webmin cat-moodle 3.4.0 3.4.2 ================================================================================== useradmin x o o o add user (student) o o o o add user (teacher) o o o o add user (guest) o o o o delete user o o o o change user password o o o o reset homedir o o x o restore homedir o o x o disable samba account o o x - enable samba account o o x - disable Linux account o o x - enable Linux account o o x - manage quota o o x - sort A-Z o o ? - groupadmin x o o o add group o o o o delete group o o o o change group password o o ? o create samba share o x ? o create automount x x x - tutoradmin x o o o list groups o o o o add member to group o o o o remove member from group o o o o roleadmin x o x o change role of user o o x o skeladmin x o x o add skel o o x o delete skel o o x o change skel password o o x o import x o ? o import user (teacher) x o ? o import user (student) x o ? o import user (guest) x o ? o import group x o ? o import with empty fields x o ? - cipadmin x o ? - switch on CAT module x o ? - switch off CAT module x o ? - change config value o o ? - userserlfadmin x o ? - change own password ? o ? - netgroups x x x - add_domain_to_ng o x x - add_machine_to_ng o x x - add_triple_to_ng o x x o add_user_to_ng o x x - create_ng o x x o delete_ng o x x o list_domain_memb_of_ng o x x - list_machine_memb_of_ng o x x - list_netgroups o x x - list_triple_memb_of_ng o x x - list_user_memb_of_ng o x x - remove_domain_from_ng o x x - remove_machine_from_ng o x x - remove_triple_from_ng o x x o remove_user_from_ng o x x - internetadmin x o x x examadmin x o x x transferadmin x o x x usersearch x o x x groupserach x o x x backup x o x x printaccountmanager x o x # application_form x o x # apply_application_form x o x # setup x o x # clientadmin x o x # roomadmin x o x # softwareadmin x o x # hardwareadmin x o x # expiresystem x x x # ------------------------------------------------------------------------------ x = not existent o = implemented - = not implemented jet # = will probably not implemented for this version ? = not known
Future works on CAT
Today webmin is not a part of Debian, so there is a need to replace CAT-webmin. This section collects some ideas to enhance or continue CAT:
CAT-web: write a Graphical User Interface (GUI) as CGI for apache
- The work on cat-web has started
CAT-desktop: write a CAT desktop GUI in python, perl, C, ...
Userselfadmin-desktop: write a GUI for channging user data and passwords to be used by pupils
CAT-moodle: Some CipUX tasks in Moodle, where needed. (French team works on this)
- A new CAT module for squidguard
A new CAT module for collecting files (teacher <--> pupil)
- A new CAT module for syncing the skel directories
- A new CAT module for expire dates
- A new CAT module for sending mails to users
- A new CAT module for managing the public HTML folders of pupils
- Themes in CAT
- A new CAT module for managing surfers (guests)
- A new CAT module for the export of data
- A new CAT module to adminster credits